export type InspectionStepAction =
  | 'goto'
  | 'waitForSelector'
  | 'waitForLoadState'
  | 'click'
  | 'input'
  | 'assertText'
  | 'assertVisible'
  | 'assertUrlIncludes'
  | 'sleep'
  | 'screenshot';

export interface InspectionStep {
  action: InspectionStepAction;
  url?: string;
  selector?: string;
  value?: string;
  contains?: string;
  timeoutMs?: number;
}

export interface InspectionStepLog {
  index: number;
  action: InspectionStepAction;
  status: 'success' | 'failed';
  message: string;
  timestamp: string;
}

export interface InspectionExecutionResult {
  executor: 'browser' | 'agent-s';
  status: 'success' | 'failed' | 'partial';
  errorTag: string | null;
  failureReason: string | null;
  screenshotPaths: string[];
  stepLogs: InspectionStepLog[];
  pageUrl: string | null;
  domSummary: string | null;
  evidenceDir: string;
  resultJsonUrl: string;
}
