import { type HumanReply } from '../elicitation.js'; import type { AgentRunner, AgentRunStartOptions } from '../spi/agent-runner.js'; import type { AgentStore } from '../spi/agent-store.js'; import type { AgentRunInput } from '../types.js'; import type { OpenCodeTurns } from './turns.js'; /** * Runs OpenCode turns in this process: `begin → prompt → [observe → wait for a person → reply]* → * settle`, with the waits on people held in memory. Like `InlineAgentRunner`, a run parked on a * person lives in this process, so deploy it single-replica — or use `openCodeDurable()` * (`@adonis-agora/agent/opencode/durable`), which checkpoints every step and waits on a durable * signal. */ export declare class OpenCodeAgentRunner implements AgentRunner { private readonly turns; private readonly store; private readonly live; private readonly cancelled; private readonly pending; constructor(turns: OpenCodeTurns, store: AgentStore); runIdFor(input: AgentRunInput): string; /** In-process, so exact: a run this process is not running is not running anywhere. */ isRunActive(runId: string): Promise; start(input: AgentRunInput, options?: AgentRunStartOptions): Promise<{ runId: string; }>; /** * Deliver a person's reply. Answers addressed at an approval are refused, as the inline runner * refuses them: they say nothing about whether the action should run. */ signal(runId: string, toolCallId: string, reply: HumanReply): Promise; /** * Stop the run: what it waits on a person for is dropped, and OpenCode is interrupted — it answers * `session.execution.interrupted`, which settles the run as cancelled. */ cancel(runId: string): Promise; private run; /** Wait for a person's answer; a lapsed approval answers itself as expired. */ private park; } //# sourceMappingURL=runner.d.ts.map