export type CallSurface = 'mcp' | 'rpc'; export type CallOutcome = { ok: true; } | { ok: false; code: string; }; export type CallEvent = { surface: CallSurface; /** Route key (RPC) or MCP tool name. */ route: string; durationMs: number; outcome: 'ok' | 'error'; /** Present when `outcome` is `error` (builtin/domain code or synthetic tool error). */ code?: string; }; /** Extension point for Logfox or custom sinks. */ export type OnCall = (event: CallEvent) => void; export declare function toCallEvent(input: { surface: CallSurface; route: string; durationMs: number; outcome: CallOutcome; }): CallEvent; /** Default sink — structured jsout info line. Does not replace HTTP access logs. */ export declare function defaultLogCall(event: CallEvent): void; export declare function notifyCall(onCall: OnCall | undefined, input: { surface: CallSurface; route: string; startedAt: number; outcome: CallOutcome; }): void;