import { RuntimeAgentService, type KnownRuntimePrompt } from './runtime-agent.service.abstract.js'; import { SessionCommandHelper } from '../session/index.js'; import { type RuntimeType } from '../../constants.js'; /** * OpenAI Codex CLI specific runtime service implementation. * Handles Codex CLI initialization, detection, and interaction patterns. */ /** Codex start-up dialogs answered automatically. */ export declare const CODEX_KNOWN_PROMPTS: readonly KnownRuntimePrompt[]; export declare class CodexRuntimeService extends RuntimeAgentService { constructor(sessionHelper: SessionCommandHelper, projectRoot: string); protected getRuntimeType(): RuntimeType; /** * Codex CLI runtime detection. * * NOTE: Do not use active key probes (Ctrl+C, '/', etc.) here. Codex can * interpret those as shell input/cancel and drop back to zsh, which causes * false negatives and unintended exits during health checks. */ protected detectRuntimeSpecific(sessionName: string): Promise; /** * Start-up dialogs with one right answer for an unattended agent: the * `codex resume` working-directory picker, the first-run notice after * sign-in, folder trust, update-available and model-migration notices * (see {@link CODEX_KNOWN_PROMPTS}). * * @returns Codex's known start-up prompts */ protected getKnownPrompts(): readonly KnownRuntimePrompt[]; /** * Codex CLI specific ready patterns */ protected getRuntimeReadyPatterns(): string[]; /** * Codex paints its `›` prompt glyph before the model finishes loading * (`model: loading` in the header) and also on its sign-in screen, so a * bare prompt-line check is not enough — those markers veto readiness. * * @returns Codex-specific "not ready" markers */ protected getNotReadyMarkers(): readonly string[]; /** * Codex CLI specific exit patterns for runtime exit detection */ protected getRuntimeExitPatterns(): RegExp[]; /** * Codex CLI specific error patterns */ protected getRuntimeErrorPatterns(): string[]; /** * Check if Codex CLI is installed and configured */ checkCodexInstallation(): Promise<{ isInstalled: boolean; version?: string; message: string; }>; /** * Initialize Codex in an existing session */ initializeCodexInSession(sessionName: string): Promise<{ success: boolean; message: string; }>; } //# sourceMappingURL=codex-runtime.service.d.ts.map