/** * System-prompt generator for an A2UI catalog. Renders the agent-facing catalog * description straight from the catalog's registry, so the prompt and the * validator can never drift (a drift-guard test asserts every component and enum * value is covered). Pure TS, no Svelte — a server building the prompt has no * DOM, and this module never imports catalog VALUE code from `urbicon/` (the * caller passes the spec), so it stays out of the Basic bundle. * * With no options the output is the Basic-catalog prompt, byte-identical to * before the catalog refactor. Pass `catalog` to render a richer catalog: when * its specs carry categories / shared axes (the Urbicon catalog), the prompt * grows a "Shared axes" section, groups components by category, compresses * shared-axis props, and adds catalog-specific don'ts — all gated on features * the Basic catalog does not have, so the default stays untouched. * * Deliberately excludes any TRANSPORT section (how envelopes reach the client) * and any data-schema section: those are app-specific and each app appends them * (the chat-demo appends its fenced `a2ui` protocol + `a2uiDataSchemaSection`). */ import { type A2uiCatalogSpec } from './a2ui-catalog.js'; /** * Build the A2UI system prompt. Pass `catalogId` to override the advertised * `createSurface` catalog id, and `catalog` to render a specific catalog's * components (defaults to the Basic catalog — byte-identical output). */ export declare function a2uiSystemPrompt(options?: { catalogId?: string; catalog?: A2uiCatalogSpec; }): string;