import type { Hook, HookContext, HookResult } from '../hooks/types.js'; import type { Middleware, MiddlewareContext } from '../middleware/types.js'; import type { ObservabilityManager } from './sink.js'; export interface ObservabilityMiddlewareOptions { captureInput?: boolean; captureOutput?: boolean; } export declare class ObservabilityMiddleware implements Middleware { private readonly manager; private readonly options; readonly name = "observability"; private iterationSpans; private toolSpans; /** 孤儿条目清理间隔(5 分钟) */ private static readonly CLEANUP_INTERVAL_MS; /** 条目最大存活时间(30 分钟,超时自动清理防止内存泄漏) */ private static readonly MAX_ENTRY_TTL_MS; private lastCleanup; constructor(manager: ObservabilityManager, options?: ObservabilityMiddlewareOptions); /** 定期清理孤儿条目,防止因异常未触发 after 回调导致内存泄漏 */ private maybeCleanup; before(ctx: MiddlewareContext): Promise; after(ctx: MiddlewareContext): Promise; onToolBefore(ctx: HookContext): Promise; onToolAfter(ctx: HookContext): Promise; } export declare function createObservabilityHooks(manager: ObservabilityManager, options?: ObservabilityMiddlewareOptions): Hook[]; //# sourceMappingURL=middleware.d.ts.map