import type { ToolResult } from '../types.js'; export interface CallRecord { tool: string; ok: boolean; ms: number; t: number; errorType?: string; msg?: string; } export interface CallStats { total: number; success: number; fail: number; topTools: Array<{ name: string; n: number; fail: number; }>; recentErrors: Array<{ tool: string; type: string; msg: string; ms: number; }>; } /** * CallRecorder — 进程内工具调用记录器(模块级单例)。 * * defect 标注:命中 module-level-mutable-state(open) 形态。同步操作无真实竞态, * 风险可接受;record/getStats 预留可选 instanceId 参数,为多实例 per-instance 扩展铺路(MVP 全局共享)。 */ declare class CallRecorder { private recent; private recentErrors; private byTool; private total; private success; private fail; private startTime; constructor(); record(tool: string, ok: boolean, ms: number, errorType?: string, msg?: string, _instanceId?: string): void; getRecent(n: number, _instanceId?: string): CallRecord[]; getStats(_instanceId?: string): CallStats; reset(): void; } export declare function getCallRecorder(): CallRecorder; /** 从工具 result 提取错误文本(截断 MSG_TRUNCATE 字符)。 */ export declare function extractErrorMessage(result: ToolResult): string; export {};