/** * Frozen demo datasets for `respan demo`, hand-authored as typed TypeScript. * * Two datasets, numbered to match the demo prompt/evaluator they pair with: * - "Demo dataset 1: support messages" -> prompt 1 / evaluator 1 * Rows are customer messages that probe Lumen's refund/escalation policy * edges. No `expected_output` — evaluator 1 scores compliance from the * reply alone (it uses {{input}}/{{output}} only). * - "Demo dataset 3: call transcripts" -> prompt 3 / evaluator 3 * Rows are call transcripts, each with a gold-label classification in * `expected_output` (evaluator 3 compares against {{expected_output}}). * * `input` is an object of the prompt's template variables (`customer_message` / * `call_transcript`); it is stored stringified and parsed into the row's mapped * fields. `expected_output` is authored here as an object for readability and * JSON-stringified at seed time — passing a raw object makes the platform coerce * it to single-quoted python-repr (invalid JSON the grader would then see). */ /** One dataset row: template variables plus an optional gold label. */ export interface DemoDatasetRow { /** The prompt's template variables for this row. */ input: Record; /** Gold label (object; stringified to JSON at seed time). */ expected_output?: unknown; } /** One demo dataset: name/description plus its rows. */ export interface DemoDatasetFixture { name: string; description?: string; rows: DemoDatasetRow[]; } export declare const DEMO_DATASETS: DemoDatasetFixture[];