/** Always-on structured-bridge CLIs (including SQLite-backed hermes/mtr). */ export declare const STRUCTURED_BRIDGE_ALWAYS_CLI_IDS: readonly ["codex", "traex", "coco", "hermes", "mtr", "pi", "oh-my-pi", "grok"]; /** Adopt must forward pid/cwd/cliSessionId for these (CLIs whose worker * adopt branch consumes them, plus cursor's store.db fd probe). * * hermes is deliberately NOT here despite being ALWAYS: it has no adopt * transcript branch (its bridge attaches via the timer's dedicated hermes * path), and forwarding adoptCliPid would silently switch its tmux adopt * from pane-only to pid liveness (TmuxPipeBackend.watchCliPid polls the * pid and detaches on exit) — a behavior change that belongs to the * driver-table follow-up, not this convergence PR. Matches the historical * worker-pool allowlist. */ export declare const STRUCTURED_BRIDGE_ADOPT_CLI_IDS: readonly ["codex", "traex", "coco", "mtr", "pi", "grok", "cursor"]; /** Drivers whose transcript contract exposes every terminal edge needed for a * strong started-turn status gate. Codex has final_answer plus explicit * turn_aborted parsing. Pi's drainPiTranscript closes a turn on * stop/length-without-toolcall and on the hard error/aborted edges (verified * against pi 0.84.2: `terminate:true` is still not persisted and the newer * pending/deferred StopReasons never reach the session JSONL), so a started * Pi turn may suppress the screen-ready heuristic. OMP additionally retains * terminal records provisionally until a decisive record or guarded quiet * tick proves no plugin continuation follows. Accepted gap: a custom * tool returning `terminate:true` leaves a started turn with no on-disk * terminal — the card stays working until the NEXT user turn's transcript * user event HOL-drops the unclosed head (botmux ships no such tool; same * bounded-recovery shape Codex accepts for lost rollout finals). Grok's * updates.jsonl exposes an authoritative user_message_chunk → turn_completed * lifecycle; the parser maps end_turn, cancelled, error, and unknown stop * reasons to explicit terminal outcomes, while worker exit owns the remaining * ambiguous boundary. Keep a transient TUI prompt from publishing idle until * that structured terminal settles the turn. Other structured drivers still * use the queue for attribution, but their interrupted/error shapes are not * yet complete enough to let a started turn suppress screen-ready forever. */ export declare const STRUCTURED_BRIDGE_LIFECYCLE_BLOCKING_CLI_IDS: readonly ["codex", "pi", "oh-my-pi", "grok"]; export declare function isStructuredBridgeLifecycleBlockingCli(cliId: string | undefined): boolean; /** Worker `codexBridgeFallbackActive` — cursor only when adoptMode. */ export declare function isStructuredBridgeFallbackActive(cliId: string | undefined, adoptMode?: boolean): boolean; /** Daemon adopt path — forward transcript bind fields. */ export declare function isStructuredBridgeAdoptCli(cliId: string | undefined): boolean; /** * Idle-adapter / adopt input-adapter: CLIs whose adapter should be used for * idle detection / writeInput during adopt (excludes cursor's special baseline * path and hermes which uses its own attach). Matches historical * `adoptIdleAdapter` allowlist: codex/traex/coco/mtr/pi/grok. */ export declare const STRUCTURED_BRIDGE_ADOPT_IDLE_CLI_IDS: readonly ["codex", "traex", "coco", "mtr", "pi", "grok"]; export declare function isStructuredBridgeAdoptIdleCli(cliId: string | undefined): boolean; /** Adopt input adapter: needs writeInput for local pane typing. */ export declare const STRUCTURED_BRIDGE_ADOPT_INPUT_CLI_IDS: readonly ["codex", "traex", "coco", "pi", "grok", "mtr"]; export declare function isStructuredBridgeAdoptInputCli(cliId: string | undefined): boolean; //# sourceMappingURL=structured-bridge-clis.d.ts.map