import * as fs from 'node:fs'; import type { ResolvedAgentConfig } from '../../../agents/config/types'; export interface CodexRuntimeProjection { codexHome: string; baseUrl?: string; apiKey?: string; wireApi?: 'responses' | 'chat'; model?: string; agentConfig?: ResolvedAgentConfig; } export interface CodexRuntimeFileSystemPort { mkdirSync(path: string, options: { recursive: true; }): unknown; writeFileSync(path: fs.PathOrFileDescriptor, data: string, options: { encoding: BufferEncoding; }): unknown; } /** * Projects Xpod's Pod-hosted Agent Profile into Codex's native local runtime * files. The Pod profile remains the source of truth; these files are an * invocation-scoped compatibility view for codex-acp. */ export declare class CodexRuntimeProjector { private readonly filesystem; private readonly logger; constructor(filesystem?: CodexRuntimeFileSystemPort); project(options: CodexRuntimeProjection): void; private writeConfigAndAuth; private renderConfigToml; private projectSkills; private renderMcpServers; private codexMcpServerType; private renderTomlInlineTable; private tomlBareKey; private sanitizeFileSegment; private ensureRequiredDir; private ensureOptionalDir; private writeRequiredFile; private errorMessage; }