import type { ProviderRegistry } from '../../providers/registry.js'; import type { ConfigManager } from '../../config/manager.js'; import type { FeatureFlagManager } from '../feature-flags/index.js'; import type { PermissionPromptDecision, PermissionPromptRequest } from '../../permissions/prompt.js'; /** The boolean escalation handler the exec sandbox invokes per command. */ export type ExecSandboxEscalationHandler = (input: { readonly command: string; readonly escalations: readonly string[]; readonly boundary: string; readonly policyReasons: readonly string[]; readonly workingDirectory?: string | undefined; }) => Promise; /** The broker seam this wiring routes through. */ export interface EscalationWiringDeps { readonly requestApproval: (input: { readonly request: PermissionPromptRequest; readonly routeId?: string | undefined; readonly metadata?: Record | undefined; }) => Promise; readonly providerRegistry: Pick; readonly configManager: Pick; readonly featureFlags: Pick; } /** * Build the exec-sandbox escalation handler: escalations ride the approval * broker, and, while the `sandbox.judgment` setting is annotate or * auto-approve, the judgment tier annotates the ask (annotate, the default) * or additionally auto-approves a looks-safe verdict (auto-approve, an * explicit opt-in). Every judgment leaves a receipt. */ export declare function buildSandboxEscalationHandler(deps: EscalationWiringDeps): ExecSandboxEscalationHandler; //# sourceMappingURL=sandbox-escalation-wiring.d.ts.map