/** * Canonical component palette — the single source of truth for which Meissa * component types exist, what their primary/required props are, and which accept * children. The renderer registry (`src/renderer/components/index.ts`), the * validator (`validator.ts`), the repair pass (`sanitize.ts`), and the system * prompt all derive from this so they can never drift apart. * * Keep the keys of RENDERABLE in lock-step with COMPONENT_REGISTRY. */ export type PaletteGroup = "layout" | "content" | "data" | "interactive"; export interface PaletteEntry { /** Prop that receives the tuple's second element when it's a bare primitive. */ primary?: string; /** True if the component renders a `children` array (a layout/container). */ container?: boolean; /** One-line prop summary shown in the system prompt. */ props: string; /** Grouping used to organize the prompt's component reference. */ group: PaletteGroup; } /** * Every component the React renderer can actually draw, with prompt-facing prop * hints. Mirrors COMPONENT_REGISTRY exactly. */ export declare const COMPONENT_PALETTE: Record; /** Pseudo-components that are structural (not drawn directly) but valid — never drop these. */ export declare const STRUCTURAL_TYPES: ReadonlySet; /** Types the renderer can draw. */ export declare const RENDERABLE_TYPES: ReadonlySet; /** Container types that carry a children array. */ export declare const CONTAINER_TYPES: ReadonlySet; /** * The set the validator accepts: everything renderable, the structural * pseudo-types, plus `toggle`/`accordion` which the spec + markdown fallback * still recognize even though the React renderer has no widget for them. */ export declare const VALIDATOR_TYPES: ReadonlySet; export declare const MAX_NESTING_DEPTH = 10; export declare const MAX_COMPONENT_COUNT = 500; export declare const MAX_SCHEMA_SIZE_BYTES: number;