/** * Tool execute hooks for task session manager. * * Handles `tool.execute.before` (task tool: pending call creation, * reusable/recoverable task_id resolution) and `tool.execute.after` * (read context tracking, task launch registration/update from output). */ import type { BackgroundJobStore, ContextFile } from '../../utils'; import type { PendingTaskCall } from './pending-call-tracker'; export declare function handleToolExecuteBefore(input: { tool: string; sessionID?: string; callID?: string; }, output: { args?: unknown; }, deps: { shouldManageSession: (sessionID: string) => boolean; registerSessionAsOrchestrator?: (sessionID: string) => void; backgroundJobBoard: BackgroundJobStore; pendingCallTracker: { add(call: PendingTaskCall): void; pendingCallId(sessionID?: string, callID?: string): string; }; taskContextTracker: { pendingManagedTaskIds: Set; }; }): Promise; export declare function handleToolExecuteAfter(input: { tool: string; sessionID?: string; callID?: string; }, output: { output: unknown; metadata?: unknown; }, deps: { directory: string; backgroundJobBoard: BackgroundJobStore; pendingCallTracker: { take(callID?: string, sessionID?: string): PendingTaskCall | undefined; }; taskContextTracker: { pendingManagedTaskIds: Set; addContext(taskId: string, files: ContextFile[]): void; contextFilesForPrompt(taskId: string): ContextFile[]; prune(board: { taskIDs(): Set; }): void; }; }): Promise;