import type { RunStatusEvent, RunToolCallEvent, RunToolResultEvent } from "@hmbown/kytchen-protocol"; import type { ToolRegistry, ToolExecutionResult } from "./registry.js"; import type { PolicyEngine, PolicyDecision } from "./policy.js"; import type { SandboxEnforcer } from "./sandbox.js"; export interface ToolExecutionContext { runId: string; turnId?: string; } export interface ToolExecutionOutcome { callId: string; toolName: string; decision: PolicyDecision; result?: ToolExecutionResult; /** Protocol events generated during execution. */ events: Array; } /** * Executes tool calls through the full policy → sandbox → execution pipeline. * Every invocation passes through: * 1. Policy engine (allow/ask/deny) * 2. Sandbox enforcer (profile-level constraints) * 3. Actual handler execution with timeout * 4. Output normalization */ export declare class ToolExecutor { private readonly registry; private readonly policy; private readonly sandbox; constructor(registry: ToolRegistry, policy: PolicyEngine, sandbox: SandboxEnforcer); execute(callId: string, toolName: string, args: Record, ctx: ToolExecutionContext): Promise; } //# sourceMappingURL=executor.d.ts.map