/** * Frozen snapshot of the three demo prompts, hand-authored as typed TypeScript. * * Source of truth for `respan demo`. Each entry is the live/deployed version body * of a prompt in the owner's account, captured byte-for-byte (Jinja conditionals, * JSON schemas, tool definitions, and template variables preserved verbatim). * * This is a frozen snapshot: if the source prompts change, this file does NOT * update until someone re-snapshots and ships a new build. There is no build-time * codegen step — this data is static and imported directly by the seeder. * * Field set mirrors what `client.prompts.createPromptVersion` accepts, so a fixture * version can be spread straight into the create call. */ /** A single message in a prompt version. `content` is either a plain string or an * array of typed content blocks (e.g. `{ type: 'text', text: '...' }`), preserved * exactly as stored. */ export interface DemoPromptMessage { role: string; content: string | Record[]; [key: string]: unknown; } /** The live version body of a demo prompt. Optional fields are present only when * the source version set them. Shape is a subset of `CreatePromptVersionRequest`. */ export interface DemoPromptVersion { messages: DemoPromptMessage[]; model: string; description?: string; temperature?: number; max_tokens?: number; top_p?: number; frequency_penalty?: number; presence_penalty?: number; reasoning_effort?: string; verbosity?: string; seed?: number; stream?: boolean; thinking?: Record; variables?: Record; fallback_models?: string[]; load_balance_models?: Record[]; tools?: Record[]; tool_choice?: string | Record; response_format?: Record; json_schema?: Record; is_enforcing_response_format?: boolean; } /** One demo prompt: its name/description plus the single live version to recreate. */ export interface DemoPromptFixture { name: string; description?: string; version: DemoPromptVersion; } export declare const DEMO_PROMPTS: DemoPromptFixture[];