/** * Tool Contracts diagnostic panel data provider. * * Stores the contract verification results for all registered tools. * Results are loaded by calling `load()` with the full map from the * ToolContractVerifier, or incrementally via `upsert()` for live updates. * * No event bus subscription is used here: contract verification is a * registration-time operation, not a streaming lifecycle event. */ import type { ToolContractEntry, ComponentConfig } from '../types.js'; import type { ContractVerificationResult } from '../../tools/contract-verifier.js'; /** * ToolContractsPanel, diagnostics data provider for tool contract verification. * * Usage: * ```ts * const panel = new ToolContractsPanel(); * panel.load(verifier.verifyAll(registry.list())); * * const entry = panel.get('exec'); * const all = panel.getAll(); * const failures = panel.getFailures(); * ``` */ export declare class ToolContractsPanel { private readonly _config; /** All contract entries keyed by tool name. */ private readonly _entries; /** Subscribers to data changes. */ private readonly _subscribers; /** * Bounded history of entries from previous load() calls, for audit. */ private readonly _history; constructor(config?: ComponentConfig); /** * Load (or reload) all verification results. * Replaces all current entries with the provided map. * * @param results - Map of tool name → ContractVerificationResult from ToolContractVerifier. */ load(results: Map): void; /** * Upsert a single verification result. * Call this when a single tool is re-verified (e.g. after hot-reload). * * @param result - The updated ContractVerificationResult. */ upsert(result: ContractVerificationResult): void; /** * Get the contract entry for a specific tool. * * @param toolName - The tool name to look up. * @returns The entry or undefined if not yet verified. */ get(toolName: string): ToolContractEntry | undefined; /** * Get all contract entries, sorted by tool name. */ getAll(): ToolContractEntry[]; /** * Get only tools that failed their contract checks (have error-level violations). */ getFailures(): ToolContractEntry[]; /** * Get only tools that passed with warnings. */ getWarnings(): ToolContractEntry[]; /** * Get only tools that passed all checks cleanly. */ getClean(): ToolContractEntry[]; /** * Summary counts across all entries. */ getSummary(): { total: number; passed: number; passedWithWarnings: number; failed: number; totalViolations: number; totalErrors: number; totalWarnings: number; }; /** * Register a callback invoked whenever the data changes. * @returns An unsubscribe function. */ subscribe(callback: () => void): () => void; /** * Release all subscriptions and clear internal state. */ dispose(): void; private _toEntry; private _notify; } //# sourceMappingURL=tool-contracts.d.ts.map