1import {
2 OPENCODE2_CANCELLED_PROMPT,
3 OPENCODE2_QUEUED_PROMPT,
4 OPENCODE2_STEER_PROMPT,
5 OPENCODE2_STEER_TEXT,
6 type OrchestratorFixtureInput,
7} from "../shared.ts";
8
9/**
10 * While the recorded shell call runs, two messages are queued (the second is
11 * cancelled) and one is steered in. OpenCode reads the steer at the call's
12 * step boundary; the queued message then runs as its own turn.
13 */
14export function openCode2InboxInput(): OrchestratorFixtureInput {
15 return {
16 steps: [
17 { type: "message", text: OPENCODE2_STEER_PROMPT },
18 { type: "queue_message", text: OPENCODE2_QUEUED_PROMPT },
19 { type: "queue_message", text: OPENCODE2_CANCELLED_PROMPT },
20 { type: "cancel_queued_run", targetRunIndex: 3 },
21 { type: "steer", text: OPENCODE2_STEER_TEXT, targetRunIndex: 1 },
22 ],
23 };
24}