Open History to see the last commit
1export type ClaudeRecordingQueryMode =
2 | "streaming"
3 | "restart"
4 | "resume_at_cursor"
5 | "fork_session"
6 | "fork_session_prior_turn"
7 | "fork_session_merge_back_siblings"
8 | "active_steering"
9 | "interrupt"
10 | "interrupt_restart";
11
12export function validateClaudeReplayRecordingSelection(input: {
13 readonly scenario: string;
14 readonly configuredQueryMode: ClaudeRecordingQueryMode;
15 readonly selectedQueryMode: ClaudeRecordingQueryMode;
16 readonly configuredPromptCount: number;
17 readonly selectedPromptCount: number;
18}): void {
19 if (input.selectedQueryMode !== input.configuredQueryMode) {
20 throw new Error(
21 `Claude replay fixture '${input.scenario}' uses query mode '${input.configuredQueryMode}', not '${input.selectedQueryMode}'. Select a scenario configured for the requested query mode.`,
22 );
23 }
24 if (input.selectedPromptCount !== input.configuredPromptCount) {
25 throw new Error(
26 `Claude replay fixture '${input.scenario}' requires exactly ${input.configuredPromptCount} prompt(s) for query mode '${input.configuredQueryMode}', but received ${input.selectedPromptCount}.`,
27 );
28 }
29}