import type { ResolvedRole } from '../config.js'; import { CodexAppServerSession } from '../session/codex-app-server.js'; import type { AcpMcpServer, SessionPrep } from './types.js'; import type { AgentSessionAdapter, AgentSessionStartOptions, PreparedAgentSessionLaunch } from './agent-session.js'; import { type AcpSessionTransport } from './acp-session-transport.js'; export interface CodexSessionStrategy { resolveBrain: AgentSessionAdapter['resolveBrain']; modelEnvironmentVariable: AgentSessionAdapter['modelEnvironmentVariable']; prepareLaunch(role: ResolvedRole, prep: SessionPrep): PreparedAgentSessionLaunch; sessionConfigSelections(role: ResolvedRole): ReturnType; permissionModeId(role: ResolvedRole): string | undefined; mcpServers(role: ResolvedRole): AcpMcpServer[] | undefined; sessionMeta(role: ResolvedRole, prep: SessionPrep): Record | undefined; approvalPolicy(role: ResolvedRole): string; sandbox(role: ResolvedRole): string; nativeConfig(role: ResolvedRole): Record | undefined; addDirs(role: ResolvedRole): string[] | undefined; } export type CodexAppServerSessionTransport = typeof CodexAppServerSession.start; /** Explicit Codex implementation of Fleet's shared agent-session factory. */ export declare class CodexAgentSessionAdapter implements AgentSessionAdapter { private readonly strategy; private readonly transport; private readonly nativeTransport; constructor(strategy: CodexSessionStrategy, transport?: AcpSessionTransport, nativeTransport?: CodexAppServerSessionTransport); resolveBrain(brain: Parameters[0]): import("./agent-session.js").ResolvedBrainSelection; modelEnvironmentVariable(): string | undefined; prepareLaunch(role: ResolvedRole, prep: SessionPrep): PreparedAgentSessionLaunch; sessionConfigSelections(role: ResolvedRole): import("./agent-session.js").AgentSessionConfigSelection[]; start(options: AgentSessionStartOptions): Promise | Promise; }