export type ClaudeRecordingQueryMode = | "streaming" | "restart" | "resume_at_cursor" | "fork_session" | "fork_session_prior_turn" | "fork_session_continue" | "fork_session_siblings" | "fork_session_merge_back" | "fork_session_merge_back_siblings" | "active_steering" | "interrupt" | "interrupt_restart"; export function validateClaudeReplayRecordingSelection(input: { readonly scenario: string; readonly configuredQueryMode: ClaudeRecordingQueryMode; readonly selectedQueryMode: ClaudeRecordingQueryMode; readonly configuredPromptCount: number; readonly selectedPromptCount: number;}): void { if (input.selectedQueryMode !== input.configuredQueryMode) { throw new Error( `Claude replay fixture '${input.scenario}' uses query mode '${input.configuredQueryMode}', not '${input.selectedQueryMode}'. Select a scenario configured for the requested query mode.`, ); } if (input.selectedPromptCount !== input.configuredPromptCount) { throw new Error( `Claude replay fixture '${input.scenario}' requires exactly ${input.configuredPromptCount} prompt(s) for query mode '${input.configuredQueryMode}', but received ${input.selectedPromptCount}.`, ); }}
export type ClaudeRecordingQueryMode =
| "streaming"
| "restart"
| "resume_at_cursor"
| "fork_session"
| "fork_session_prior_turn"
| "fork_session_continue"
| "fork_session_siblings"
| "fork_session_merge_back"
| "fork_session_merge_back_siblings"
| "active_steering"
| "interrupt"
| "interrupt_restart";
export function validateClaudeReplayRecordingSelection(input: {
readonly scenario: string;
readonly configuredQueryMode: ClaudeRecordingQueryMode;
readonly selectedQueryMode: ClaudeRecordingQueryMode;
readonly configuredPromptCount: number;
readonly selectedPromptCount: number;
}): void {
if (input.selectedQueryMode !== input.configuredQueryMode) {
throw new Error(
`Claude replay fixture '${input.scenario}' uses query mode '${input.configuredQueryMode}', not '${input.selectedQueryMode}'. Select a scenario configured for the requested query mode.`,
);
}
if (input.selectedPromptCount !== input.configuredPromptCount) {
throw new Error(
`Claude replay fixture '${input.scenario}' requires exactly ${input.configuredPromptCount} prompt(s) for query mode '${input.configuredQueryMode}', but received ${input.selectedPromptCount}.`,
);
}
}