import type { AgentHarnessRuntimeOptionsExtension, AgentHarnessRuntimeOptionsInput } from "@mono-agent/agent-harness"; import { type RuntimeModelReference, type SandboxPolicy } from "@mono-agent/runtime-adapter"; export type RuntimeOptionsExtension = (input: AgentHarnessRuntimeOptionsInput) => AgentHarnessRuntimeOptionsExtension | Promise; export interface RuntimeOptionsCompositionOptions { /** * Internal extensions whose request-scoped MCP servers remain available * inside a later authoritative tool-policy override. This is deliberately * extension-identity based: an arbitrary caller cannot preserve a server by * merely reusing a trusted server name. */ readonly preserveMcpServersUnderOverride?: readonly RuntimeOptionsExtension[]; } export interface ClearSessionsRuntimeBoundaryOptions { readonly cwd: string; readonly workspace: string; readonly baseModel: RuntimeModelReference; readonly fallbackModels?: readonly RuntimeModelReference[]; readonly sandboxPolicy?: SandboxPolicy; /** @internal App-validated trusted-host posture; recovery attestation remains mandatory. */ readonly suppressSyntheticSandbox?: boolean; /** Test seam; production always uses the sessions-owned attestation. */ readonly assertRecoveryResolved?: (cwd: string) => Promise; /** Test seam; production always uses the stable sessions-owned registry root. */ readonly registryRoot?: (cwd: string) => string; } /** * Run the recovery attestation before any sibling extension/provider work, * then protect the stable registry whenever a reachable attempt can execute * Pi-native host tools. Per-route-native routing removes this policy from * non-Pi attempts; a genuinely non-Pi-only route stays policy-free here. */ export declare function createClearSessionsRuntimeExtension(next: RuntimeOptionsExtension | undefined, options: ClearSessionsRuntimeBoundaryOptions): RuntimeOptionsExtension; /** Build the stable tool-context half of the clear-sessions boundary. */ export declare function clearSessionsSandboxPolicy(options: ClearSessionsRuntimeBoundaryOptions, effectiveModel?: RuntimeModelReference): SandboxPolicy | undefined; /** Compose request-scoped runtime extensions without dropping tools or cleanup hooks. */ export declare function composeRuntimeOptionExtensions(extensions: ReadonlyArray, options?: RuntimeOptionsCompositionOptions): RuntimeOptionsExtension | undefined; //# sourceMappingURL=runtime-option-extensions.d.ts.map