/** * `openlore error-propagation` — the error-propagation tool's CLI surface * (change: add-error-propagation-graph). * * Prints the exceptions that can escape a function and which are caught within it * (the same conclusion the `analyze_error_propagation` MCP tool returns) so a * developer can ask "what can throw out of here, and is it handled?" without an * MCP client. Read-only, deterministic, offline, never blocks. * * openlore error-propagation --symbol handleRequest * openlore error-propagation --symbol handleRequest::src/api/handler.ts --max-depth 5 * openlore error-propagation --symbol parseConfig --json */ import { Command } from 'commander'; interface EscapeView { type?: string; value?: string; kind: 'direct' | 'declared' | 'propagated' | 'returned_error' | 'propagated_error' | 'panic'; originFunction: string; originFile: string; originLine: number; path: string[]; } interface HandledView { type?: string; value?: string; kind?: 'checked_error' | 'recovered_panic'; caughtIn?: string; caughtAtLine?: number; handledIn?: string; handledAtLine?: number; fromCallee?: string; } export interface ErrorPropagationView { error?: string; candidates?: string[]; hint?: string; unsupported?: boolean; errorModel?: 'go-value'; query?: Record; summary?: { escapes: number; direct?: number; propagated: number; dynamic?: number; declared?: number; handledInternally: number; functionsAnalyzed: number; unresolvedSelfCalls?: number; untypedReceiverCalls?: number; returnedErrors?: number; panics?: number; }; escapes?: EscapeView[]; handledInternally?: HandledView[]; boundaries?: string[]; note?: string; } export declare function renderHuman(r: ErrorPropagationView): string; export interface ErrorPropagationCliOptions { cwd?: string; symbol?: string; maxDepth?: number; json?: boolean; } export declare function runErrorPropagationCli(opts: ErrorPropagationCliOptions): Promise; export declare const errorPropagationCommand: Command; export {}; //# sourceMappingURL=error-propagation.d.ts.map