import { type EventRecord } from "./store.js"; import type { CodexForegroundProofAuthority } from "./terminal-command-foreground-proof.js"; import type { TerminalCommandPortView } from "./terminal-command-cli-ports.js"; import { prepareTerminalControlSend, type TerminalDispatchPreparationDefaults, type TerminalDispatchPreparationPorts } from "./terminal-command-dispatch-preparation.js"; import type { TerminalControlSendRequest } from "./terminal-dispatch-composition.js"; export type TerminalDispatchTransportCliPorts = TerminalCommandPortView<"assertDeferredCodexForegroundBindingBoundary" | "assertNativeThreadHasExclusiveOwnership" | "assertObservedHandoffTransportBoundary" | "assertVerifiedEmptyCodexTransportBoundary" | "deferredForegroundApplication" | "deferredForegroundRecoveryAdapterPorts" | "managedSessionStoreDirForConversation" | "persistManagedSessionNativeIdentity" | "prepareManagedSessionNativeIdentityClaim" | "quarantineManagedSessionBinding" | "required" | "stallOtherTerminalBridgeConversationsForUncertainDispatch" | "startTerminalBridgeMonitorForConversation" | "terminalBindingLedgerFields" | "terminalBridgeRuntimeKey" | "terminalControlFromTakeover" | "terminalDispatchCapabilityRepositories" | "terminalRuntimeIdentityForConversation" | "withTerminalBridgeSubmission">; export interface TerminalDispatchTransportRuntime { appendEvent(logPath: string, event: EventRecord): void; env(): NodeJS.ProcessEnv; exit(code: number): never; now(): Date; pid(): number; log(level: "info" | "warn" | "error", event: string, fields: Record): void; } export interface TerminalDispatchTransportDependencies { ports: TerminalDispatchTransportCliPorts; prepare: typeof prepareTerminalControlSend; preparationPorts: TerminalDispatchPreparationPorts; defaults: TerminalDispatchPreparationDefaults & { acceptanceTimeoutMs: number; acceptancePollIntervalMs: number; }; foregroundProofs: CodexForegroundProofAuthority; runtime: TerminalDispatchTransportRuntime; } export type TerminalControlSendResult = { outcome: "replayed"; } | { outcome: "zero_input"; failure: unknown; } | { outcome: "input_started"; enterDispatched: boolean; }; export declare function runTerminalControlSend(request: TerminalControlSendRequest, dependencies: TerminalDispatchTransportDependencies): Promise;