import type { Ai } from "@cargo-ai/api"; import type { Api } from "../../../api.js"; import { type LocalStreamOptions } from "./turn.js"; export type LocalHarness = { streamPrompt: (question: string, options?: LocalStreamOptions) => Promise; /** * When a turn last reached Anthropic, or undefined if none has. The proxy * token re-arms on every call it makes, so this — not the mint time — is * what its real expiry runs from. */ proxyLastUsedAtMs: () => number | undefined; /** Stops Claude Code and its bridge; the session is not resumable. */ close: () => Promise; }; export declare function createLocalHarness(input: { api: Api; /** * Cargo API origin (`config.baseUrl`). The Anthropic proxy is mounted on * the API as `/sandbox/anthropic` — same host the backend uses via * `config.app.url` (which is the API URL, not the web app). */ apiBaseUrl: string; dir: string; chatUuid: string; agentUuid?: string; /** * Deployed release of the selected agent. Applied the way `/stream` applies * a harness agent's release: prompt, actions, resources, MCP, capabilities. * Does not change the local harness or --dir. */ release?: Ai.Release; proxyToken: string; /** * Connector the mint picked for this session, plus the integration and * model it resolved. Sent with ingest so usage is attributed to the same * provider the proxy spent against — not reconstructed from the harness slug. */ connectorUuid: string; integrationSlug: string; languageModelSlug: string; /** * Earlier turns of this chat, from `loadChatHistoryPreamble`. The session is * always new, so this is the only thing that carries a `--continue` chat * across CLI runs. */ history?: string; /** * The id the caller claimed the chat with. Sent with the ingest so recording * a turn releases this session's claim and not one taken after it. */ turnOwnerId?: string; /** * Interactive Ask can run host tools and custom agent MCP unattended. * `--print` cannot: nobody is there to approve, and host tools never * prompt under `allow-reads`. */ allowWorkspaceMutations: boolean; }): Promise; //# sourceMappingURL=create.d.ts.map