import type { AgentHarnessAdapter, AgentHarnessCreateSessionOptions, AgentHarnessEvent } from "./types.js"; export type AiSdkHarnessRuntime = "claude-code" | "codex" | "pi"; export type CodexCliAuthConfig = boolean | { /** * Local Codex home to read auth from. Defaults to CODEX_HOME, then * ~/.codex. */ codexHome?: string; /** * Explicit local auth file path. Defaults to /auth.json. */ authJsonPath?: string; }; export interface AiSdkHarnessAdapterOptions { runtime: AiSdkHarnessRuntime; label?: string; description?: string; permissionMode?: AgentHarnessCreateSessionOptions["permissionMode"]; harnessOptions?: Record; agentOptions?: Record; /** * Opt in to copying the local Codex CLI auth file into the harness sandbox * before @ai-sdk/harness-codex starts. Use only with trusted/private * sandboxes: ChatGPT login tokens from ~/.codex/auth.json are copied into * the sandbox so the in-sandbox codex CLI can reuse `codex login`. */ codexCliAuth?: CodexCliAuthConfig; } type SandboxRunResult = { stdout?: string; stderr?: string; exitCode?: number; }; export type CodexCliAuthSandboxSession = { run(options: { command: string; abortSignal?: AbortSignal; }): PromiseLike; writeTextFile(options: { path: string; content: string; abortSignal?: AbortSignal; }): PromiseLike; }; export type CodexCliAuthSandboxHook = (opts: { session: CodexCliAuthSandboxSession; sessionWorkDir: string; abortSignal?: AbortSignal; }) => Promise | void; export declare function createAiSdkHarnessAdapter(options: AiSdkHarnessAdapterOptions): AgentHarnessAdapter; /** @internal */ export declare function createCodexCliAuthSandboxHook(config: CodexCliAuthConfig, existingHook?: CodexCliAuthSandboxHook): CodexCliAuthSandboxHook; /** @internal */ export declare function normalizeCodexCliAuthConfig(config: CodexCliAuthConfig): Required>; export declare function aiSdkHarnessPartToEvents(part: any): AgentHarnessEvent[]; export {}; //# sourceMappingURL=ai-sdk-adapter.d.ts.map