import type { SessionRepository } from "../db/sessions"; import type { QueueProcessor } from "../queue/processor"; import type { OpenMemConfig } from "../types"; export interface ToolCaptureInput { config: OpenMemConfig; queue: QueueProcessor; sessions: SessionRepository; projectPath: string; tool: string; sessionId: string; callId: string; toolOutput: string; } /** Shared capture path for any platform tool-execution event. */ export declare function enqueueToolCapture(input: ToolCaptureInput): boolean; /** * Factory for the `tool.execute.after` hook. * * On every tool execution the hook: * 1. Filters out ignored tools and short/empty outputs * 2. Redacts content matching sensitive patterns * 3. Strips `...` blocks * 4. Ensures the session exists in the DB * 5. Enqueues the output for async AI compression * * The handler NEVER throws — errors are caught and logged. */ export declare function createToolCaptureHook(config: OpenMemConfig, queue: QueueProcessor, sessions: SessionRepository, projectPath: string): (input: { tool: string; sessionID: string; callID: string; }, output: { title: string; output: string; metadata: Record; }) => Promise; //# sourceMappingURL=tool-capture.d.ts.map