1import {
2 PROVIDER_THREAD_RESUME_FIRST_PROMPT,
3 PROVIDER_THREAD_RESUME_SECOND_PROMPT,
4 type OrchestratorFixtureInput,
5} from "../shared.ts";
6
7/**
8 * The idle gap outlasts ProviderSessionManager's 30-minute idle timeout, which
9 * releases the provider session. The second message therefore starts a fresh
10 * provider process that must resume the recorded native thread, and its prompt
11 * only succeeds if the resumed thread kept the first turn's history.
12 */
13export function providerThreadResumeInput(): OrchestratorFixtureInput {
14 return {
15 steps: [
16 { type: "message", text: PROVIDER_THREAD_RESUME_FIRST_PROMPT },
17 { type: "advance_clock", duration: "31 minutes" },
18 { type: "message", text: PROVIDER_THREAD_RESUME_SECOND_PROMPT },
19 ],
20 };
21}