diff --git a/extensions/qa-lab/src/manual-lane.runtime.test.ts b/extensions/qa-lab/src/manual-lane.runtime.test.ts index 95b80cdd5da..65d5b33096a 100644 --- a/extensions/qa-lab/src/manual-lane.runtime.test.ts +++ b/extensions/qa-lab/src/manual-lane.runtime.test.ts @@ -86,6 +86,7 @@ describe("runQaManualLane", () => { alternateModel: "mock-openai/gpt-5.4-alt", message: "check the kickoff file", timeoutMs: 5_000, + replySettleMs: 0, }); expect(startQaProviderServer).toHaveBeenCalledWith("mock-openai"); @@ -114,6 +115,7 @@ describe("runQaManualLane", () => { alternateModel: "openai/gpt-5.4", message: "check the kickoff file", timeoutMs: 5_000, + replySettleMs: 0, }); expect(startQaProviderServer).toHaveBeenCalledWith("live-frontier"); diff --git a/extensions/qa-lab/src/manual-lane.runtime.ts b/extensions/qa-lab/src/manual-lane.runtime.ts index 6b98c7017f7..b76f1d857a3 100644 --- a/extensions/qa-lab/src/manual-lane.runtime.ts +++ b/extensions/qa-lab/src/manual-lane.runtime.ts @@ -19,6 +19,7 @@ type QaManualLaneParams = { thinkingDefault?: QaThinkingLevel; message: string; timeoutMs?: number; + replySettleMs?: number; }; function resolveManualLaneTimeoutMs(params: { @@ -108,7 +109,10 @@ export async function runQaManualLane(params: QaManualLaneParams) { { timeoutMs: timeoutMs + 5_000 }, )) as { status?: string; error?: string }; - await sleep(500); + const replySettleMs = params.replySettleMs ?? 500; + if (replySettleMs > 0) { + await sleep(replySettleMs); + } const reply = lab.state