import type { HookRegistry } from '../hooks.js'; import type { AnthropicToolDef } from '../providers/anthropic-direct/types.js'; import type { ToolCall, ToolResult } from '../providers/anthropic-direct/types.js'; import type { SubagentExecutor } from './subagent-executor.js'; import type { SkillExecutor } from './skill-executor.js'; import type { ComposeExecutor } from './compose-executor.js'; import type { ToolHandler, ToolHandlerContext } from './types.js'; import type { TraceSink } from '../trace/index.js'; import type { GrantManager } from './grant-manager.js'; import type { PreDispatchGateDeps } from './dispatcher.pre-dispatch-gates.js'; export interface CoreExecDeps { handlers: Map; hookRegistry: HookRegistry | undefined; sessionId: string | undefined; parentSessionId: string | undefined; sessionGrantManager: GrantManager | undefined; traceWriter: TraceSink | undefined; maxOutputBytes: number | undefined; subagentExecutor: SubagentExecutor | undefined; skillExecutor: SkillExecutor | undefined; composeExecutor: ComposeExecutor | undefined; callHandlerContext: (call: ToolCall) => ToolHandlerContext; gateDeps: () => PreDispatchGateDeps; toolDefs: readonly AnthropicToolDef[]; } export declare function isRegisteredTool(toolName: string, deps: CoreExecDeps): boolean; export declare function unknownToolMessage(toolName: string, deps: CoreExecDeps): string; export declare function denialReason(toolName: string, permissionReason: string | undefined, deps: CoreExecDeps): string; export declare function firePostToolUse(toolName: string, output: string, signal: AbortSignal, deps: CoreExecDeps, input?: unknown, resultFlags?: Pick): void; export declare function firePostToolUseFailure(toolName: string, errorMessage: string, signal: AbortSignal, deps: CoreExecDeps, input?: unknown): void; export declare function applyOutputCap(result: ToolResult, deps: CoreExecDeps): ToolResult; export declare function executeCompose(call: ToolCall, deps: CoreExecDeps): Promise; export declare function executeCoreInner(call: ToolCall, deps: CoreExecDeps): Promise; export declare function executeCore(call: ToolCall, deps: CoreExecDeps): Promise;