export type ScenarioExpectations = {
  skillsRead?: string[];
  skillsReadSoft?: string[];
  skillsNotRead?: string[];
  skillsNotReadSoft?: string[];
  toolsCalled?: string[];
  toolsCalledSoft?: string[];
  toolsNotCalled?: string[];
  toolsNotCalledSoft?: string[];
  responseContains?: string[];
  responseContainsSoft?: string[];
  responseNotContains?: string[];
  maxLatencyMs?: number;
  maxTotalTokens?: number;
  maxEstimatedCostUsd?: number;
};

export type ScenarioInput = {
  message: string;
  focusedNodeId?: number;
  focusedNodeQuery?: {
    titleContains?: string;
    titleEquals?: string;
  };
  mode?: 'easy' | 'hard';
};

export type Scenario = {
  id: string;
  name: string;
  input: ScenarioInput;
  expect?: ScenarioExpectations;
  description?: string;
  tools?: string[];
  suites?: string[];
  enabled?: boolean;
  notes?: string;
};
