/** 调用结果状态(成功 / 失败——含守卫拦截、角色拒绝、未知工具、执行异常) */ export type ToolCallStatus = 'ok' | 'error'; /** 遥测记录——一行 JSONL。⚠️ 字段集钉死:加字段 = schema 变更,须 bump schemaVersion */ export interface ToolUsageRecord { /** schema 版本(破坏性变更的迁移锚) */ schemaVersion: 1; /** tool 名(canonical 名——别名已在分派层归一) */ tool: string; /** ISO 8601 时间戳 */ ts: string; /** 会话标识(agent-identity 会话;不可达时 'unknown',不猜测) */ sessionId: string; /** 调用结果:ok = 正常返回;error = 守卫拦截 / 角色拒绝 / 未知工具 / 执行异常 */ status: ToolCallStatus; /** 调用耗时(毫秒,非负整数——分派点起止时钟差) */ durationMs: number; } /** 遥测 schema 版本(当前 1) */ export declare const TOOL_USAGE_SCHEMA_VERSION = 1; /** 遥测写入失败计数(静默——不抛错但可观测;测试与 doctor 消费) */ export declare const usageTrackerStats: { silentFailures: number; }; /** 遥测开关:默认开;SOFAGENT_USAGE_TRACKING=0 关闭(显式 '0' 才关,其余值含未设置=开) */ export declare function isUsageTrackingEnabled(): boolean; /** 遥测落盘路径:{dataDir}/tool-usage.jsonl(dataDir 经 loadEnvConfig 三级 fallback) */ export declare function resolveToolUsagePath(): string; /** * 记一次 tool 调用(追加一行 JSONL)。 * * 隐私纪律:入参只有 tool 名、sessionId 与两个**元数据**字段(status / durationMs)—— * **没有也不接受参数/结果内容**(接口签名层面杜绝内容字段进入遥测面)。 * 失败静默计数不抛错。 */ export declare function recordToolUsage(tool: string, sessionId: string, status?: ToolCallStatus, durationMs?: number): void; //# sourceMappingURL=usage-tracker.d.ts.map