/** * Harness factories. Each returns a thin `Harness` value: an id plus how to invoke it one-shot * against a prompt. * * NOTE — the one-shot invocation forms below (`opencode run `, `codex exec `, * `claude -p `) are the expected headless shapes but are PENDING live verification against * the baked workspace image (see the SDK plan's task #2, "verify harness one-shot CLI semantics"). * Until that is confirmed, only `opencode()` is exercised end-to-end; the others are provided for the * typed surface and adjusted once verified. */ import type { Harness } from "./types.js"; /** OpenCode — the harness used in the canonical hero example. */ export declare const opencode: () => Harness; /** OpenAI Codex CLI. */ export declare const codex: () => Harness; /** Anthropic Claude Code. */ export declare const claudeCode: (options?: { readonly profile?: string; } | undefined) => Harness; /** pi, the coding agent from earendil-works/pi. */ export declare const pi: () => Harness; /** * A bring-your-own harness. The caller supplies how to invoke it one-shot (`invoke`) and, optionally, * how to install and launch it. This is the harness-neutral escape hatch: any agent loop, CI worker, * or custom binary. */ export declare const customHarness: (options: { readonly id: string; readonly invoke: (prompt: string) => readonly string[]; readonly executable?: string; readonly install?: { readonly packages?: readonly string[]; readonly command?: string; }; readonly launchCommand?: string; }) => Harness;