import type { AssistantEvalBroadnessLevel, AssistantEvalQuestionType } from "./stage1Contracts";

export type EvalTarget = "normalizer" | "assistant_stage1";

export interface AssistantStage1SuiteCaseTurn {
  user_message: string;
}

export interface AssistantStage1ExpectedHints {
  expected_reply_type?: string;
  expected_degraded_to?: "partial" | "clarification" | null;
}

export interface AssistantStage1SuiteCase {
  case_id: string;
  scenario_tag: string;
  question_type: AssistantEvalQuestionType;
  broadness_level: AssistantEvalBroadnessLevel;
  turns: AssistantStage1SuiteCaseTurn[];
  expected_hints?: AssistantStage1ExpectedHints;
  notes?: string[];
}

export interface AssistantStage1SuiteFile {
  suite_id: string;
  suite_version: string;
  schema_version?: string;
  scenario_count: number;
  case_ids: string[];
  cases: AssistantStage1SuiteCase[];
}
