@seed-ship/mcp-ui-solid 6.4.0 → 6.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +230 -0
- package/README.md +37 -0
- package/dist/adapters/connector.cjs +112 -0
- package/dist/adapters/connector.cjs.map +1 -0
- package/dist/adapters/connector.d.ts +71 -0
- package/dist/adapters/connector.d.ts.map +1 -0
- package/dist/adapters/connector.js +112 -0
- package/dist/adapters/connector.js.map +1 -0
- package/dist/adapters/index.d.ts +18 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters.cjs +6 -0
- package/dist/adapters.cjs.map +1 -0
- package/dist/adapters.d.cts +18 -0
- package/dist/adapters.d.ts +18 -0
- package/dist/adapters.js +6 -0
- package/dist/adapters.js.map +1 -0
- package/dist/components/ExpandableWrapper.cjs +24 -6
- package/dist/components/ExpandableWrapper.cjs.map +1 -1
- package/dist/components/ExpandableWrapper.d.ts.map +1 -1
- package/dist/components/ExpandableWrapper.js +24 -6
- package/dist/components/ExpandableWrapper.js.map +1 -1
- package/dist/components/FeedbackInline.cjs +6 -2
- package/dist/components/FeedbackInline.cjs.map +1 -1
- package/dist/components/FeedbackInline.d.ts +2 -2
- package/dist/components/FeedbackInline.d.ts.map +1 -1
- package/dist/components/FeedbackInline.js +7 -3
- package/dist/components/FeedbackInline.js.map +1 -1
- package/dist/components/PresentationFeedback.cjs +207 -0
- package/dist/components/PresentationFeedback.cjs.map +1 -0
- package/dist/components/PresentationFeedback.d.ts +113 -0
- package/dist/components/PresentationFeedback.d.ts.map +1 -0
- package/dist/components/PresentationFeedback.js +207 -0
- package/dist/components/PresentationFeedback.js.map +1 -0
- package/dist/components/StreamingUIRenderer.cjs +82 -195
- package/dist/components/StreamingUIRenderer.cjs.map +1 -1
- package/dist/components/StreamingUIRenderer.d.ts +25 -5
- package/dist/components/StreamingUIRenderer.d.ts.map +1 -1
- package/dist/components/StreamingUIRenderer.js +84 -197
- package/dist/components/StreamingUIRenderer.js.map +1 -1
- package/dist/components/UIResourceRenderer.cjs +40 -10
- package/dist/components/UIResourceRenderer.cjs.map +1 -1
- package/dist/components/UIResourceRenderer.d.ts +20 -0
- package/dist/components/UIResourceRenderer.d.ts.map +1 -1
- package/dist/components/UIResourceRenderer.js +42 -12
- package/dist/components/UIResourceRenderer.js.map +1 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components.cjs +3 -0
- package/dist/components.cjs.map +1 -1
- package/dist/components.d.cts +2 -0
- package/dist/components.d.ts +2 -0
- package/dist/components.js +3 -0
- package/dist/components.js.map +1 -1
- package/dist/context/MCPUIStringsContext.cjs +38 -0
- package/dist/context/MCPUIStringsContext.cjs.map +1 -0
- package/dist/context/MCPUIStringsContext.d.ts +95 -0
- package/dist/context/MCPUIStringsContext.d.ts.map +1 -0
- package/dist/context/MCPUIStringsContext.js +38 -0
- package/dist/context/MCPUIStringsContext.js.map +1 -0
- package/dist/index.cjs +12 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +8 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp-ui-spec/dist/schemas.cjs +103 -0
- package/dist/mcp-ui-spec/dist/schemas.cjs.map +1 -1
- package/dist/mcp-ui-spec/dist/schemas.js +103 -0
- package/dist/mcp-ui-spec/dist/schemas.js.map +1 -1
- package/dist/utils/duplicate-mount-registry.cjs +27 -0
- package/dist/utils/duplicate-mount-registry.cjs.map +1 -0
- package/dist/utils/duplicate-mount-registry.d.ts +84 -0
- package/dist/utils/duplicate-mount-registry.d.ts.map +1 -0
- package/dist/utils/duplicate-mount-registry.js +27 -0
- package/dist/utils/duplicate-mount-registry.js.map +1 -0
- package/dist/utils/stable-key.cjs +41 -0
- package/dist/utils/stable-key.cjs.map +1 -0
- package/dist/utils/stable-key.d.ts +33 -0
- package/dist/utils/stable-key.d.ts.map +1 -0
- package/dist/utils/stable-key.js +41 -0
- package/dist/utils/stable-key.js.map +1 -0
- package/docs/briefs/ROADMAP-opendata-macro-mcpui.md +912 -0
- package/package.json +17 -5
- package/src/adapters/connector.test.ts +165 -0
- package/src/adapters/connector.ts +234 -0
- package/src/adapters/index.ts +24 -0
- package/src/components/ExpandableWrapper.test.tsx +5 -2
- package/src/components/ExpandableWrapper.tsx +8 -6
- package/src/components/FeedbackInline.test.tsx +6 -3
- package/src/components/FeedbackInline.tsx +8 -6
- package/src/components/PresentationFeedback.test.tsx +163 -0
- package/src/components/PresentationFeedback.tsx +326 -0
- package/src/components/StreamingUIRenderer.parity.test.tsx +158 -0
- package/src/components/StreamingUIRenderer.tsx +42 -166
- package/src/components/UIResourceRenderer.identity.test.tsx +161 -0
- package/src/components/UIResourceRenderer.tsx +63 -2
- package/src/components/index.ts +10 -0
- package/src/context/MCPUIStringsContext.test.tsx +116 -0
- package/src/context/MCPUIStringsContext.tsx +128 -0
- package/src/index.ts +35 -0
- package/src/utils/duplicate-mount-registry.test.ts +82 -0
- package/src/utils/duplicate-mount-registry.ts +113 -0
- package/src/utils/stable-key.test.ts +96 -0
- package/src/utils/stable-key.ts +91 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/vite.config.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.cjs","sources":["../../../../mcp-ui-spec/dist/schemas.js"],"sourcesContent":["import { z } from \"zod\";\nconst GridPositionSchema = z.object({\n colStart: z.number().int().min(1).max(12),\n colSpan: z.number().int().min(1).max(12),\n rowStart: z.number().int().min(1).optional(),\n rowSpan: z.number().int().min(1).default(1).optional()\n});\nconst ComponentTypeSchema = z.enum([\n \"chart\",\n \"table\",\n \"metric\",\n \"text\",\n \"composite\",\n \"grid\",\n // Phase 5.0: Nested grid layouts\n \"iframe\",\n \"image\",\n \"link\",\n \"action\",\n // Phase 5.0: Tool call actions\n \"footer\",\n // Phase 5.0: Metadata footer\n \"carousel\",\n \"artifact\",\n \"form\",\n // Sprint 1: Form component\n \"modal\",\n // Sprint 3: Modal/dialog component\n \"action-group\",\n // Sprint 3: Action grouping component\n \"image-gallery\",\n // Sprint 5: Image gallery with lightbox\n \"video\",\n // Sprint 5: Video embed (YouTube, Vimeo, direct)\n \"code\",\n // Sprint 6: Syntax highlighted code block\n \"map\",\n // Sprint 6: Interactive map (Leaflet)\n \"graph\"\n // v5.0.4: node-link graph (peer @antv/g6)\n]);\nconst FormFieldOptionSchema = z.object({\n label: z.string().min(1),\n value: z.string(),\n disabled: z.boolean().optional()\n});\nconst FormFieldTypeSchema = z.enum([\n \"text\",\n \"email\",\n \"password\",\n \"number\",\n \"date\",\n \"textarea\",\n \"select\",\n \"checkbox\",\n \"radio\",\n \"autocomplete\",\n \"range\",\n \"tags\",\n \"toggle\",\n \"fieldset\"\n]);\nconst ShowWhenOperatorSchema = z.enum([\n \"equals\",\n \"notEquals\",\n \"in\",\n \"notIn\",\n \"contains\",\n \"startsWith\",\n \"endsWith\",\n \"greaterThan\",\n \"lessThan\",\n \"isEmpty\",\n \"isNotEmpty\",\n \"isTrue\",\n \"isFalse\"\n]);\nconst ShowWhenConditionSchema = z.object({\n field: z.string().min(1),\n operator: ShowWhenOperatorSchema,\n value: z.any().optional()\n});\nconst PrefillSourceSchema = z.enum([\"user\", \"detected\", \"inferred\", \"default\"]);\nconst FormFieldSchema = z.object({\n name: z.string().regex(/^[a-zA-Z][\\w.-]*$/),\n type: FormFieldTypeSchema,\n label: z.string().optional(),\n placeholder: z.string().optional(),\n helpText: z.string().optional(),\n required: z.boolean().optional(),\n disabled: z.boolean().optional(),\n defaultValue: z.any().optional(),\n // Prefill — pre-populated value with source tracking (v4.2.0)\n prefill: z.union([z.string(), z.array(z.string())]).optional(),\n displayHint: z.string().optional(),\n source: PrefillSourceSchema.optional(),\n muted: z.boolean().optional(),\n // Prefill mode for autocomplete fields (v4.3.0)\n prefillMode: z.enum([\"exact\", \"resolve\"]).optional(),\n // Value format validation (v4.3.0)\n valueFormat: z.string().optional(),\n valueFormatHint: z.string().optional(),\n // Text/textarea specific\n minLength: z.number().int().min(0).optional(),\n maxLength: z.number().int().min(1).optional(),\n pattern: z.string().optional(),\n // Number specific\n min: z.number().optional(),\n max: z.number().optional(),\n step: z.number().optional(),\n // Date specific\n minDate: z.string().optional(),\n maxDate: z.string().optional(),\n // Select/Radio specific\n options: z.array(FormFieldOptionSchema).optional(),\n // Multi-select (v2.6.0)\n multiple: z.boolean().optional(),\n // Autocomplete specific (v2.6.0)\n apiUrl: z.string().url().optional(),\n searchParam: z.string().optional(),\n labelField: z.string().optional(),\n valueField: z.string().optional(),\n extraParams: z.record(z.string()).optional(),\n minChars: z.number().int().min(0).optional(),\n debounceMs: z.number().int().min(0).optional(),\n // Dependent field (v2.7.0)\n dependsOn: z.object({\n field: z.string(),\n apiUrl: z.string(),\n labelField: z.string(),\n valueField: z.string(),\n extraParams: z.record(z.string()).optional()\n }).optional(),\n // Field status — API capability indicator (v2.11.0)\n fieldStatus: z.enum([\"required\", \"optional\", \"unsupported\", \"unknown\"]).optional(),\n statusReason: z.string().optional(),\n // Checkbox specific\n checkboxLabel: z.string().optional(),\n // Textarea specific\n rows: z.number().int().min(1).max(20).optional(),\n // Conditional visibility\n showWhen: ShowWhenConditionSchema.optional()\n});\nconst FormSubmitActionSchema = z.object({\n toolName: z.string().min(1),\n params: z.record(z.unknown()).optional()\n});\nconst FormComponentParamsSchema = z.object({\n title: z.string().optional(),\n fields: z.array(FormFieldSchema).min(1),\n submitLabel: z.string().optional(),\n showReset: z.boolean().optional(),\n submitAction: FormSubmitActionSchema.optional(),\n // Persistence options (Sprint 4)\n persistKey: z.string().optional(),\n excludeFromPersistence: z.array(z.string()).optional(),\n persistExpiresIn: z.number().int().positive().optional(),\n layout: z.enum([\"vertical\", \"horizontal\", \"inline\"]).optional(),\n // Auto-submit countdown in ms when all required fields are prefilled (v4.2.0)\n autoSubmitDelay: z.number().int().min(1e3).max(3e4).optional()\n});\nconst ModalSizeSchema = z.enum([\"sm\", \"md\", \"lg\", \"xl\", \"full\"]);\nconst ModalComponentParamsSchema = z.object({\n title: z.string().optional(),\n size: ModalSizeSchema.optional(),\n showClose: z.boolean().optional(),\n closeOnEscape: z.boolean().optional(),\n closeOnBackdrop: z.boolean().optional(),\n maxHeight: z.string().optional()\n // Note: content and footer are UIComponent references, validated separately\n});\nconst ActionGroupLayoutSchema = z.enum([\n \"horizontal\",\n \"vertical\",\n \"space-between\",\n \"end\",\n \"center\"\n]);\nconst ActionGroupGapSchema = z.enum([\"none\", \"sm\", \"md\", \"lg\"]);\nconst ActionParamsSchema = z.object({\n label: z.string().min(1),\n type: z.enum([\"button\", \"link\"]).optional(),\n action: z.enum([\"tool-call\", \"link\", \"submit\"]).optional(),\n toolName: z.string().optional(),\n params: z.record(z.unknown()).optional(),\n url: z.string().optional(),\n variant: z.enum([\"primary\", \"secondary\", \"outline\", \"ghost\", \"danger\"]).optional(),\n size: z.enum([\"sm\", \"md\", \"lg\"]).optional(),\n icon: z.string().optional(),\n disabled: z.boolean().optional()\n});\nconst ActionGroupParamsSchema = z.object({\n actions: z.array(ActionParamsSchema).min(1),\n layout: ActionGroupLayoutSchema.optional(),\n gap: ActionGroupGapSchema.optional(),\n fullWidth: z.boolean().optional(),\n label: z.string().optional()\n});\nconst GalleryImageSchema = z.object({\n url: z.string().url(),\n thumbnail: z.string().url().optional(),\n alt: z.string().optional(),\n caption: z.string().optional(),\n srcset: z.string().optional(),\n sizes: z.string().optional()\n});\nconst ImageGalleryColumnsSchema = z.enum([\"2\", \"3\", \"4\", \"5\"]).transform(Number);\nconst ImageGalleryGapSchema = z.enum([\"none\", \"sm\", \"md\", \"lg\"]);\nconst ImageGalleryAspectRatioSchema = z.enum([\"1:1\", \"16:9\", \"4:3\", \"auto\"]);\nconst ImageGalleryParamsSchema = z.object({\n title: z.string().optional(),\n images: z.array(GalleryImageSchema).min(1),\n columns: z.union([z.literal(2), z.literal(3), z.literal(4), z.literal(5)]).optional(),\n gap: ImageGalleryGapSchema.optional(),\n aspectRatio: ImageGalleryAspectRatioSchema.optional(),\n lightbox: z.boolean().optional(),\n showCaptions: z.boolean().optional()\n});\nconst VideoAspectRatioSchema = z.enum([\"16:9\", \"4:3\", \"1:1\", \"21:9\"]);\nconst VideoComponentParamsSchema = z.object({\n url: z.string().url(),\n title: z.string().optional(),\n caption: z.string().optional(),\n poster: z.string().url().optional(),\n aspectRatio: VideoAspectRatioSchema.optional(),\n autoplay: z.boolean().optional(),\n controls: z.boolean().optional(),\n loop: z.boolean().optional(),\n muted: z.boolean().optional(),\n startTime: z.number().int().min(0).optional()\n});\nconst CodeComponentParamsSchema = z.object({\n code: z.string(),\n language: z.string().optional(),\n filename: z.string().optional(),\n showLineNumbers: z.boolean().optional(),\n startLine: z.number().optional(),\n highlightLines: z.array(z.number()).optional(),\n maxHeight: z.string().optional(),\n theme: z.enum([\"light\", \"dark\"]).optional()\n});\nconst LatLngObjectSchema = z.object({\n lat: z.number(),\n lng: z.number()\n});\nconst LatLngTupleSchema = z.tuple([z.number(), z.number()]);\nconst LatLngPointSchema = z.union([LatLngTupleSchema, LatLngObjectSchema]);\nconst MapMarkerSchema = z.object({\n position: LatLngPointSchema,\n tooltip: z.string().optional(),\n popup: z.string().optional()\n});\nconst MapComponentParamsSchema = z.object({\n center: LatLngPointSchema.optional(),\n zoom: z.number().optional(),\n markers: z.array(MapMarkerSchema).optional(),\n height: z.string().optional(),\n fitBounds: z.boolean().optional(),\n zoomControl: z.boolean().optional(),\n scrollWheelZoom: z.boolean().optional(),\n tileLayer: z.string().optional(),\n attribution: z.string().optional()\n});\nconst GraphNodeSchema = z.object({\n id: z.string().min(1),\n label: z.string().optional(),\n type: z.string().optional(),\n // G6 node type: 'circle' | 'rect' | 'image' | …\n size: z.union([z.number(), z.tuple([z.number(), z.number()])]).optional(),\n /**\n * Generic ranking / importance signal. Drives default node size when\n * `size` is omitted, and acts as the sort key for the `concentric`\n * layout (highest weight at center). Domain semantics opaque to the lib.\n */\n weight: z.number().optional(),\n style: z.record(z.unknown()).optional(),\n // passthrough G6 NodeStyle\n data: z.record(z.unknown()).optional()\n // arbitrary metadata for tooltips / click handlers\n});\nconst GraphEdgeSchema = z.object({\n source: z.string().min(1),\n // must match a node.id\n target: z.string().min(1),\n // must match a node.id\n label: z.string().optional(),\n type: z.string().optional(),\n // G6 edge type: 'line' | 'arc' | 'cubic' | 'polyline' | …\n /**\n * Generic strength signal. Drives default edge stroke width and acts\n * as attractive force in `force` layouts. Domain semantics opaque.\n */\n weight: z.number().optional(),\n style: z.record(z.unknown()).optional(),\n data: z.record(z.unknown()).optional()\n});\nconst GraphLayoutNameSchema = z.enum([\n \"force\",\n \"dagre\",\n \"mindmap\",\n \"tree\",\n \"circular\",\n \"grid\",\n \"concentric\"\n]);\nconst GraphLayoutSchema = z.union([\n GraphLayoutNameSchema,\n z.object({\n type: GraphLayoutNameSchema,\n options: z.record(z.unknown()).optional()\n })\n]);\nconst GraphComponentParamsSchema = z.object({\n title: z.string().optional(),\n nodes: z.array(GraphNodeSchema).min(1),\n edges: z.array(GraphEdgeSchema).optional(),\n /**\n * Layout shorthand string OR object form. When omitted, the renderer\n * picks a sensible default: `'force'` if edges are present, `'circular'`\n * otherwise.\n */\n layout: GraphLayoutSchema.optional(),\n height: z.string().optional(),\n // CSS length, default '400px'\n width: z.string().optional(),\n // CSS length, default '100%'\n rendererPref: z.enum([\"canvas\", \"svg\"]).optional(),\n // default 'canvas'\n fitView: z.boolean().optional(),\n // default true\n enableZoom: z.boolean().optional(),\n // default true\n enableDrag: z.boolean().optional(),\n // default true (drag nodes)\n enableSelect: z.boolean().optional(),\n // default true (click-select highlight)\n tooltip: z.boolean().optional(),\n // default true (label + data summary on hover)\n className: z.string().optional()\n});\nconst ChartTypeSchema = z.enum([\n \"bar\",\n \"line\",\n \"pie\",\n \"doughnut\",\n \"radar\",\n \"scatter\",\n \"bubble\",\n \"polarArea\"\n]);\nconst ChartDatasetSchema = z.object({\n label: z.string(),\n // Either an array of numbers or an array of {x, y} points (Chart.js shapes)\n data: z.union([\n z.array(z.number()),\n z.array(\n z.object({\n x: z.union([z.string(), z.number()]),\n y: z.number()\n })\n )\n ]),\n backgroundColor: z.union([z.string(), z.array(z.string())]).optional(),\n borderColor: z.union([z.string(), z.array(z.string())]).optional(),\n borderWidth: z.number().optional(),\n fill: z.union([z.boolean(), z.string()]).optional(),\n tension: z.number().optional()\n});\nconst ChartTimeAxisSchema = z.object({\n parser: z.string().optional(),\n unit: z.enum([\"day\", \"week\", \"month\", \"quarter\", \"year\"]).optional(),\n tooltipFormat: z.string().optional(),\n min: z.string().optional(),\n max: z.string().optional()\n});\nconst ChartComponentParamsSchema = z.object({\n type: ChartTypeSchema,\n title: z.string().optional(),\n data: z.object({\n labels: z.array(z.string()),\n datasets: z.array(ChartDatasetSchema)\n }),\n options: z.object({\n responsive: z.boolean().optional(),\n maintainAspectRatio: z.boolean().optional(),\n tension: z.number().optional(),\n // `scales` and `plugins` are Chart.js opaque config objects — kept loose\n scales: z.unknown().optional(),\n plugins: z.unknown().optional()\n }).optional(),\n renderer: z.enum([\"native\", \"iframe\", \"auto\"]).optional(),\n exportable: z.boolean().optional(),\n timeAxis: ChartTimeAxisSchema.optional(),\n height: z.string().optional(),\n className: z.string().optional()\n});\nconst TableColumnSchema = z.object({\n key: z.string().min(1),\n label: z.string(),\n sortable: z.boolean().optional(),\n width: z.string().optional()\n});\nconst TablePaginationSchema = z.object({\n currentPage: z.number().int().min(1),\n pageSize: z.number().int().min(1),\n totalRows: z.number().int().min(0)\n});\nconst TableVirtualizeOptionsSchema = z.object({\n enabled: z.boolean().optional(),\n rowHeight: z.number().int().min(1).optional(),\n overscan: z.number().int().min(0).optional(),\n threshold: z.number().int().min(1).optional()\n});\nconst TableExportableSchema = z.union([\n z.boolean(),\n z.object({\n formats: z.array(z.enum([\"csv\", \"tsv\", \"json\"])).optional(),\n filename: z.string().optional()\n })\n]);\nconst CitationEntrySchema = z.object({\n page: z.union([z.number(), z.string()]),\n file: z.string().optional(),\n file_id: z.union([z.number(), z.string()]).optional()\n});\nconst TableComponentParamsSchema = z.object({\n title: z.string().optional(),\n columns: z.array(TableColumnSchema).min(1),\n rows: z.array(z.record(z.unknown())),\n pagination: TablePaginationSchema.optional(),\n virtualize: z.union([z.boolean(), TableVirtualizeOptionsSchema]).optional(),\n exportable: TableExportableSchema.optional(),\n className: z.string().optional(),\n // v5.0.3 — opt-in citation chip rendering inside cells\n citationMap: z.record(z.string(), CitationEntrySchema).optional(),\n // v5.0.5 — opt-out of the inline-mode max-height cap. The library defaults\n // a `max-height: 400px` (or 500px when virtualizing) on tables with > 8\n // rows so they don't blow out a chat-stream layout. Pass `'auto'` to\n // disable the cap (when the consumer's wrapping container handles\n // overflow), a number (interpreted as `${n}px`), or any CSS length string\n // to override the value.\n maxHeight: z.union([z.literal(\"auto\"), z.number(), z.string()]).optional()\n});\nconst MetricTrendSchema = z.object({\n value: z.number(),\n direction: z.enum([\"up\", \"down\", \"neutral\"])\n});\nconst MetricComponentParamsSchema = z.object({\n title: z.string().min(1),\n value: z.union([z.string(), z.number()]),\n unit: z.string().optional(),\n trend: MetricTrendSchema.optional(),\n subtitle: z.string().optional(),\n icon: z.string().optional(),\n className: z.string().optional()\n});\nconst TextComponentParamsSchema = z.object({\n content: z.string().min(1),\n markdown: z.boolean().optional(),\n className: z.string().optional()\n});\nconst IframeComponentParamsSchema = z.object({\n url: z.string().min(1),\n title: z.string().optional(),\n height: z.string().optional(),\n className: z.string().optional()\n});\nconst ImageComponentParamsSchema = z.object({\n url: z.string().min(1),\n alt: z.string().optional(),\n caption: z.string().optional(),\n className: z.string().optional()\n});\nconst LinkComponentParamsSchema = z.object({\n url: z.string().min(1),\n label: z.string().optional(),\n description: z.string().optional(),\n className: z.string().optional()\n});\nconst CarouselComponentParamsSchema = z.object({\n items: z.array(z.unknown()).min(1),\n height: z.string().optional(),\n className: z.string().optional()\n});\nconst ArtifactComponentParamsSchema = z.object({\n url: z.string().min(1),\n filename: z.string().min(1),\n mimeType: z.string().min(1),\n size: z.number().int().min(0).optional(),\n description: z.string().optional()\n});\nconst SandboxFlagSchema = z.enum([\n \"allow-scripts\",\n \"allow-same-origin\",\n \"allow-forms\",\n \"allow-popups\",\n \"allow-modals\"\n]);\nconst SecurityConstraintsSchema = z.object({\n requiresAuth: z.boolean().default(false).optional(),\n allowedDomains: z.array(z.string()).optional(),\n maxIframeDepth: z.number().int().min(0).max(3).default(1).optional(),\n sandboxFlags: z.array(SandboxFlagSchema).optional()\n});\nconst PerformanceConstraintsSchema = z.object({\n maxRenderTime: z.number().int().min(100).default(5e3).optional(),\n maxDataSize: z.number().int().min(1024).default(102400).optional()\n});\nconst ComponentSchemaSchema = z.object({\n type: z.literal(\"object\"),\n required: z.array(z.string()).optional(),\n properties: z.record(z.unknown()),\n additionalProperties: z.boolean().optional()\n});\nconst ComponentExampleSchema = z.object({\n name: z.string().min(1),\n description: z.string().optional(),\n params: z.record(z.unknown()),\n position: GridPositionSchema.optional()\n});\nconst ComponentSchema = z.object({\n id: z.string().regex(/^[a-z0-9-]+$/),\n type: ComponentTypeSchema,\n name: z.string().min(1),\n description: z.string().optional(),\n schema: ComponentSchemaSchema,\n examples: z.array(ComponentExampleSchema).min(1),\n security: SecurityConstraintsSchema.optional(),\n performance: PerformanceConstraintsSchema.optional(),\n tags: z.array(z.string().regex(/^[a-z0-9-]+$/)).optional(),\n version: z.string().regex(/^\\d+\\.\\d+\\.\\d+$/).optional(),\n deprecated: z.boolean().default(false).optional(),\n deprecationMessage: z.string().optional()\n});\nconst RegistryMetadataSchema = z.object({\n name: z.string().optional(),\n description: z.string().optional(),\n author: z.string().optional(),\n repository: z.string().url().optional()\n});\nconst ComponentRegistrySchema = z.object({\n version: z.literal(\"1.0.0\"),\n metadata: RegistryMetadataSchema.optional(),\n components: z.array(ComponentSchema).min(1)\n});\nexport {\n ActionGroupGapSchema,\n ActionGroupLayoutSchema,\n ActionGroupParamsSchema,\n ActionParamsSchema,\n ArtifactComponentParamsSchema,\n CarouselComponentParamsSchema,\n ChartComponentParamsSchema,\n ChartDatasetSchema,\n ChartTimeAxisSchema,\n ChartTypeSchema,\n CitationEntrySchema,\n CodeComponentParamsSchema,\n ComponentExampleSchema,\n ComponentRegistrySchema,\n ComponentSchema,\n ComponentSchemaSchema,\n ComponentTypeSchema,\n FormComponentParamsSchema,\n FormFieldOptionSchema,\n FormFieldSchema,\n FormFieldTypeSchema,\n FormSubmitActionSchema,\n GalleryImageSchema,\n GraphComponentParamsSchema,\n GraphEdgeSchema,\n GraphLayoutNameSchema,\n GraphLayoutSchema,\n GraphNodeSchema,\n GridPositionSchema,\n IframeComponentParamsSchema,\n ImageComponentParamsSchema,\n ImageGalleryAspectRatioSchema,\n ImageGalleryColumnsSchema,\n ImageGalleryGapSchema,\n ImageGalleryParamsSchema,\n LatLngObjectSchema,\n LatLngPointSchema,\n LatLngTupleSchema,\n LinkComponentParamsSchema,\n MapComponentParamsSchema,\n MapMarkerSchema,\n MetricComponentParamsSchema,\n MetricTrendSchema,\n ModalComponentParamsSchema,\n ModalSizeSchema,\n PerformanceConstraintsSchema,\n PrefillSourceSchema,\n RegistryMetadataSchema,\n SandboxFlagSchema,\n SecurityConstraintsSchema,\n ShowWhenConditionSchema,\n ShowWhenOperatorSchema,\n TableColumnSchema,\n TableComponentParamsSchema,\n TableExportableSchema,\n TablePaginationSchema,\n TableVirtualizeOptionsSchema,\n TextComponentParamsSchema,\n VideoAspectRatioSchema,\n VideoComponentParamsSchema\n};\n//# sourceMappingURL=schemas.js.map\n"],"names":["z.object","z.number","z.enum","z.string","z.boolean","z.any","z.union","z.array","z.record","z.unknown","z.literal","z.tuple"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schemas.cjs","sources":["../../../../mcp-ui-spec/dist/schemas.js"],"sourcesContent":["import { z } from \"zod\";\nconst GridPositionSchema = z.object({\n colStart: z.number().int().min(1).max(12),\n colSpan: z.number().int().min(1).max(12),\n rowStart: z.number().int().min(1).optional(),\n rowSpan: z.number().int().min(1).default(1).optional()\n});\nconst ComponentTypeSchema = z.enum([\n \"chart\",\n \"table\",\n \"metric\",\n \"text\",\n \"composite\",\n \"grid\",\n // Phase 5.0: Nested grid layouts\n \"iframe\",\n \"image\",\n \"link\",\n \"action\",\n // Phase 5.0: Tool call actions\n \"footer\",\n // Phase 5.0: Metadata footer\n \"carousel\",\n \"artifact\",\n \"form\",\n // Sprint 1: Form component\n \"modal\",\n // Sprint 3: Modal/dialog component\n \"action-group\",\n // Sprint 3: Action grouping component\n \"image-gallery\",\n // Sprint 5: Image gallery with lightbox\n \"video\",\n // Sprint 5: Video embed (YouTube, Vimeo, direct)\n \"code\",\n // Sprint 6: Syntax highlighted code block\n \"map\",\n // Sprint 6: Interactive map (Leaflet)\n \"graph\"\n // v5.0.4: node-link graph (peer @antv/g6)\n]);\nconst FormFieldOptionSchema = z.object({\n label: z.string().min(1),\n value: z.string(),\n disabled: z.boolean().optional()\n});\nconst FormFieldTypeSchema = z.enum([\n \"text\",\n \"email\",\n \"password\",\n \"number\",\n \"date\",\n \"textarea\",\n \"select\",\n \"checkbox\",\n \"radio\",\n \"autocomplete\",\n \"range\",\n \"tags\",\n \"toggle\",\n \"fieldset\"\n]);\nconst ShowWhenOperatorSchema = z.enum([\n \"equals\",\n \"notEquals\",\n \"in\",\n \"notIn\",\n \"contains\",\n \"startsWith\",\n \"endsWith\",\n \"greaterThan\",\n \"lessThan\",\n \"isEmpty\",\n \"isNotEmpty\",\n \"isTrue\",\n \"isFalse\"\n]);\nconst ShowWhenConditionSchema = z.object({\n field: z.string().min(1),\n operator: ShowWhenOperatorSchema,\n value: z.any().optional()\n});\nconst PrefillSourceSchema = z.enum([\"user\", \"detected\", \"inferred\", \"default\"]);\nconst FormFieldSchema = z.object({\n name: z.string().regex(/^[a-zA-Z][\\w.-]*$/),\n type: FormFieldTypeSchema,\n label: z.string().optional(),\n placeholder: z.string().optional(),\n helpText: z.string().optional(),\n required: z.boolean().optional(),\n disabled: z.boolean().optional(),\n defaultValue: z.any().optional(),\n // Prefill — pre-populated value with source tracking (v4.2.0)\n prefill: z.union([z.string(), z.array(z.string())]).optional(),\n displayHint: z.string().optional(),\n source: PrefillSourceSchema.optional(),\n muted: z.boolean().optional(),\n // Prefill mode for autocomplete fields (v4.3.0)\n prefillMode: z.enum([\"exact\", \"resolve\"]).optional(),\n // Value format validation (v4.3.0)\n valueFormat: z.string().optional(),\n valueFormatHint: z.string().optional(),\n // Text/textarea specific\n minLength: z.number().int().min(0).optional(),\n maxLength: z.number().int().min(1).optional(),\n pattern: z.string().optional(),\n // Number specific\n min: z.number().optional(),\n max: z.number().optional(),\n step: z.number().optional(),\n // Date specific\n minDate: z.string().optional(),\n maxDate: z.string().optional(),\n // Select/Radio specific\n options: z.array(FormFieldOptionSchema).optional(),\n // Multi-select (v2.6.0)\n multiple: z.boolean().optional(),\n // Autocomplete specific (v2.6.0)\n apiUrl: z.string().url().optional(),\n searchParam: z.string().optional(),\n labelField: z.string().optional(),\n valueField: z.string().optional(),\n extraParams: z.record(z.string()).optional(),\n minChars: z.number().int().min(0).optional(),\n debounceMs: z.number().int().min(0).optional(),\n // Dependent field (v2.7.0)\n dependsOn: z.object({\n field: z.string(),\n apiUrl: z.string(),\n labelField: z.string(),\n valueField: z.string(),\n extraParams: z.record(z.string()).optional()\n }).optional(),\n // Field status — API capability indicator (v2.11.0)\n fieldStatus: z.enum([\"required\", \"optional\", \"unsupported\", \"unknown\"]).optional(),\n statusReason: z.string().optional(),\n // Checkbox specific\n checkboxLabel: z.string().optional(),\n // Textarea specific\n rows: z.number().int().min(1).max(20).optional(),\n // Conditional visibility\n showWhen: ShowWhenConditionSchema.optional()\n});\nconst FormSubmitActionSchema = z.object({\n toolName: z.string().min(1),\n params: z.record(z.unknown()).optional()\n});\nconst FormComponentParamsSchema = z.object({\n title: z.string().optional(),\n fields: z.array(FormFieldSchema).min(1),\n submitLabel: z.string().optional(),\n showReset: z.boolean().optional(),\n submitAction: FormSubmitActionSchema.optional(),\n // Persistence options (Sprint 4)\n persistKey: z.string().optional(),\n excludeFromPersistence: z.array(z.string()).optional(),\n persistExpiresIn: z.number().int().positive().optional(),\n layout: z.enum([\"vertical\", \"horizontal\", \"inline\"]).optional(),\n // Auto-submit countdown in ms when all required fields are prefilled (v4.2.0)\n autoSubmitDelay: z.number().int().min(1e3).max(3e4).optional()\n});\nconst ModalSizeSchema = z.enum([\"sm\", \"md\", \"lg\", \"xl\", \"full\"]);\nconst ModalComponentParamsSchema = z.object({\n title: z.string().optional(),\n size: ModalSizeSchema.optional(),\n showClose: z.boolean().optional(),\n closeOnEscape: z.boolean().optional(),\n closeOnBackdrop: z.boolean().optional(),\n maxHeight: z.string().optional()\n // Note: content and footer are UIComponent references, validated separately\n});\nconst ActionGroupLayoutSchema = z.enum([\n \"horizontal\",\n \"vertical\",\n \"space-between\",\n \"end\",\n \"center\"\n]);\nconst ActionGroupGapSchema = z.enum([\"none\", \"sm\", \"md\", \"lg\"]);\nconst ActionParamsSchema = z.object({\n label: z.string().min(1),\n type: z.enum([\"button\", \"link\"]).optional(),\n action: z.enum([\"tool-call\", \"link\", \"submit\"]).optional(),\n toolName: z.string().optional(),\n params: z.record(z.unknown()).optional(),\n url: z.string().optional(),\n variant: z.enum([\"primary\", \"secondary\", \"outline\", \"ghost\", \"danger\"]).optional(),\n size: z.enum([\"sm\", \"md\", \"lg\"]).optional(),\n icon: z.string().optional(),\n disabled: z.boolean().optional()\n});\nconst ActionGroupParamsSchema = z.object({\n actions: z.array(ActionParamsSchema).min(1),\n layout: ActionGroupLayoutSchema.optional(),\n gap: ActionGroupGapSchema.optional(),\n fullWidth: z.boolean().optional(),\n label: z.string().optional()\n});\nconst GalleryImageSchema = z.object({\n url: z.string().url(),\n thumbnail: z.string().url().optional(),\n alt: z.string().optional(),\n caption: z.string().optional(),\n srcset: z.string().optional(),\n sizes: z.string().optional()\n});\nconst ImageGalleryColumnsSchema = z.enum([\"2\", \"3\", \"4\", \"5\"]).transform(Number);\nconst ImageGalleryGapSchema = z.enum([\"none\", \"sm\", \"md\", \"lg\"]);\nconst ImageGalleryAspectRatioSchema = z.enum([\"1:1\", \"16:9\", \"4:3\", \"auto\"]);\nconst ImageGalleryParamsSchema = z.object({\n title: z.string().optional(),\n images: z.array(GalleryImageSchema).min(1),\n columns: z.union([z.literal(2), z.literal(3), z.literal(4), z.literal(5)]).optional(),\n gap: ImageGalleryGapSchema.optional(),\n aspectRatio: ImageGalleryAspectRatioSchema.optional(),\n lightbox: z.boolean().optional(),\n showCaptions: z.boolean().optional()\n});\nconst VideoAspectRatioSchema = z.enum([\"16:9\", \"4:3\", \"1:1\", \"21:9\"]);\nconst VideoComponentParamsSchema = z.object({\n url: z.string().url(),\n title: z.string().optional(),\n caption: z.string().optional(),\n poster: z.string().url().optional(),\n aspectRatio: VideoAspectRatioSchema.optional(),\n autoplay: z.boolean().optional(),\n controls: z.boolean().optional(),\n loop: z.boolean().optional(),\n muted: z.boolean().optional(),\n startTime: z.number().int().min(0).optional()\n});\nconst CodeComponentParamsSchema = z.object({\n code: z.string(),\n language: z.string().optional(),\n filename: z.string().optional(),\n showLineNumbers: z.boolean().optional(),\n startLine: z.number().optional(),\n highlightLines: z.array(z.number()).optional(),\n maxHeight: z.string().optional(),\n theme: z.enum([\"light\", \"dark\"]).optional()\n});\nconst LatLngObjectSchema = z.object({\n lat: z.number(),\n lng: z.number()\n});\nconst LatLngTupleSchema = z.tuple([z.number(), z.number()]);\nconst LatLngPointSchema = z.union([LatLngTupleSchema, LatLngObjectSchema]);\nconst MapMarkerSchema = z.object({\n position: LatLngPointSchema,\n tooltip: z.string().optional(),\n popup: z.string().optional()\n});\nconst MapComponentParamsSchema = z.object({\n center: LatLngPointSchema.optional(),\n zoom: z.number().optional(),\n markers: z.array(MapMarkerSchema).optional(),\n height: z.string().optional(),\n fitBounds: z.boolean().optional(),\n zoomControl: z.boolean().optional(),\n scrollWheelZoom: z.boolean().optional(),\n tileLayer: z.string().optional(),\n attribution: z.string().optional()\n});\nconst GraphNodeSchema = z.object({\n id: z.string().min(1),\n label: z.string().optional(),\n type: z.string().optional(),\n // G6 node type: 'circle' | 'rect' | 'image' | …\n size: z.union([z.number(), z.tuple([z.number(), z.number()])]).optional(),\n /**\n * Generic ranking / importance signal. Drives default node size when\n * `size` is omitted, and acts as the sort key for the `concentric`\n * layout (highest weight at center). Domain semantics opaque to the lib.\n */\n weight: z.number().optional(),\n style: z.record(z.unknown()).optional(),\n // passthrough G6 NodeStyle\n data: z.record(z.unknown()).optional()\n // arbitrary metadata for tooltips / click handlers\n});\nconst GraphEdgeSchema = z.object({\n source: z.string().min(1),\n // must match a node.id\n target: z.string().min(1),\n // must match a node.id\n label: z.string().optional(),\n type: z.string().optional(),\n // G6 edge type: 'line' | 'arc' | 'cubic' | 'polyline' | …\n /**\n * Generic strength signal. Drives default edge stroke width and acts\n * as attractive force in `force` layouts. Domain semantics opaque.\n */\n weight: z.number().optional(),\n style: z.record(z.unknown()).optional(),\n data: z.record(z.unknown()).optional()\n});\nconst GraphLayoutNameSchema = z.enum([\n \"force\",\n \"dagre\",\n \"mindmap\",\n \"tree\",\n \"circular\",\n \"grid\",\n \"concentric\"\n]);\nconst GraphLayoutSchema = z.union([\n GraphLayoutNameSchema,\n z.object({\n type: GraphLayoutNameSchema,\n options: z.record(z.unknown()).optional()\n })\n]);\nconst GraphComponentParamsSchema = z.object({\n title: z.string().optional(),\n nodes: z.array(GraphNodeSchema).min(1),\n edges: z.array(GraphEdgeSchema).optional(),\n /**\n * Layout shorthand string OR object form. When omitted, the renderer\n * picks a sensible default: `'force'` if edges are present, `'circular'`\n * otherwise.\n */\n layout: GraphLayoutSchema.optional(),\n height: z.string().optional(),\n // CSS length, default '400px'\n width: z.string().optional(),\n // CSS length, default '100%'\n rendererPref: z.enum([\"canvas\", \"svg\"]).optional(),\n // default 'canvas'\n fitView: z.boolean().optional(),\n // default true\n enableZoom: z.boolean().optional(),\n // default true\n enableDrag: z.boolean().optional(),\n // default true (drag nodes)\n enableSelect: z.boolean().optional(),\n // default true (click-select highlight)\n tooltip: z.boolean().optional(),\n // default true (label + data summary on hover)\n className: z.string().optional()\n});\nconst ChartTypeSchema = z.enum([\n \"bar\",\n \"line\",\n \"pie\",\n \"doughnut\",\n \"radar\",\n \"scatter\",\n \"bubble\",\n \"polarArea\"\n]);\nconst ChartDatasetSchema = z.object({\n label: z.string(),\n // Either an array of numbers or an array of {x, y} points (Chart.js shapes)\n data: z.union([\n z.array(z.number()),\n z.array(\n z.object({\n x: z.union([z.string(), z.number()]),\n y: z.number()\n })\n )\n ]),\n backgroundColor: z.union([z.string(), z.array(z.string())]).optional(),\n borderColor: z.union([z.string(), z.array(z.string())]).optional(),\n borderWidth: z.number().optional(),\n fill: z.union([z.boolean(), z.string()]).optional(),\n tension: z.number().optional()\n});\nconst ChartTimeAxisSchema = z.object({\n parser: z.string().optional(),\n unit: z.enum([\"day\", \"week\", \"month\", \"quarter\", \"year\"]).optional(),\n tooltipFormat: z.string().optional(),\n min: z.string().optional(),\n max: z.string().optional()\n});\nconst ChartComponentParamsSchema = z.object({\n type: ChartTypeSchema,\n title: z.string().optional(),\n data: z.object({\n labels: z.array(z.string()),\n datasets: z.array(ChartDatasetSchema)\n }),\n options: z.object({\n responsive: z.boolean().optional(),\n maintainAspectRatio: z.boolean().optional(),\n tension: z.number().optional(),\n // `scales` and `plugins` are Chart.js opaque config objects — kept loose\n scales: z.unknown().optional(),\n plugins: z.unknown().optional()\n }).optional(),\n renderer: z.enum([\"native\", \"iframe\", \"auto\"]).optional(),\n exportable: z.boolean().optional(),\n timeAxis: ChartTimeAxisSchema.optional(),\n height: z.string().optional(),\n className: z.string().optional()\n});\nconst TableColumnSchema = z.object({\n key: z.string().min(1),\n label: z.string(),\n sortable: z.boolean().optional(),\n width: z.string().optional()\n});\nconst TablePaginationSchema = z.object({\n currentPage: z.number().int().min(1),\n pageSize: z.number().int().min(1),\n totalRows: z.number().int().min(0)\n});\nconst TableVirtualizeOptionsSchema = z.object({\n enabled: z.boolean().optional(),\n rowHeight: z.number().int().min(1).optional(),\n overscan: z.number().int().min(0).optional(),\n threshold: z.number().int().min(1).optional()\n});\nconst TableExportableSchema = z.union([\n z.boolean(),\n z.object({\n formats: z.array(z.enum([\"csv\", \"tsv\", \"json\"])).optional(),\n filename: z.string().optional()\n })\n]);\nconst CitationEntrySchema = z.object({\n page: z.union([z.number(), z.string()]),\n file: z.string().optional(),\n file_id: z.union([z.number(), z.string()]).optional()\n});\nconst TableComponentParamsSchema = z.object({\n title: z.string().optional(),\n columns: z.array(TableColumnSchema).min(1),\n rows: z.array(z.record(z.unknown())),\n pagination: TablePaginationSchema.optional(),\n virtualize: z.union([z.boolean(), TableVirtualizeOptionsSchema]).optional(),\n exportable: TableExportableSchema.optional(),\n className: z.string().optional(),\n // v5.0.3 — opt-in citation chip rendering inside cells\n citationMap: z.record(z.string(), CitationEntrySchema).optional(),\n // v5.0.5 — opt-out of the inline-mode max-height cap. The library defaults\n // a `max-height: 400px` (or 500px when virtualizing) on tables with > 8\n // rows so they don't blow out a chat-stream layout. Pass `'auto'` to\n // disable the cap (when the consumer's wrapping container handles\n // overflow), a number (interpreted as `${n}px`), or any CSS length string\n // to override the value.\n maxHeight: z.union([z.literal(\"auto\"), z.number(), z.string()]).optional()\n});\nconst MetricTrendSchema = z.object({\n value: z.number(),\n direction: z.enum([\"up\", \"down\", \"neutral\"])\n});\nconst MetricComponentParamsSchema = z.object({\n title: z.string().min(1),\n value: z.union([z.string(), z.number()]),\n unit: z.string().optional(),\n trend: MetricTrendSchema.optional(),\n subtitle: z.string().optional(),\n icon: z.string().optional(),\n className: z.string().optional()\n});\nconst TextComponentParamsSchema = z.object({\n content: z.string().min(1),\n markdown: z.boolean().optional(),\n className: z.string().optional()\n});\nconst IframeComponentParamsSchema = z.object({\n url: z.string().min(1),\n title: z.string().optional(),\n height: z.string().optional(),\n className: z.string().optional()\n});\nconst ImageComponentParamsSchema = z.object({\n url: z.string().min(1),\n alt: z.string().optional(),\n caption: z.string().optional(),\n className: z.string().optional()\n});\nconst LinkComponentParamsSchema = z.object({\n url: z.string().min(1),\n label: z.string().optional(),\n description: z.string().optional(),\n className: z.string().optional()\n});\nconst CarouselComponentParamsSchema = z.object({\n items: z.array(z.unknown()).min(1),\n height: z.string().optional(),\n className: z.string().optional()\n});\nconst ArtifactComponentParamsSchema = z.object({\n url: z.string().min(1),\n filename: z.string().min(1),\n mimeType: z.string().min(1),\n size: z.number().int().min(0).optional(),\n description: z.string().optional()\n});\nconst SandboxFlagSchema = z.enum([\n \"allow-scripts\",\n \"allow-same-origin\",\n \"allow-forms\",\n \"allow-popups\",\n \"allow-modals\"\n]);\nconst SecurityConstraintsSchema = z.object({\n requiresAuth: z.boolean().default(false).optional(),\n allowedDomains: z.array(z.string()).optional(),\n maxIframeDepth: z.number().int().min(0).max(3).default(1).optional(),\n sandboxFlags: z.array(SandboxFlagSchema).optional()\n});\nconst PerformanceConstraintsSchema = z.object({\n maxRenderTime: z.number().int().min(100).default(5e3).optional(),\n maxDataSize: z.number().int().min(1024).default(102400).optional()\n});\nconst ComponentSchemaSchema = z.object({\n type: z.literal(\"object\"),\n required: z.array(z.string()).optional(),\n properties: z.record(z.unknown()),\n additionalProperties: z.boolean().optional()\n});\nconst ComponentExampleSchema = z.object({\n name: z.string().min(1),\n description: z.string().optional(),\n params: z.record(z.unknown()),\n position: GridPositionSchema.optional()\n});\nconst ComponentSchema = z.object({\n id: z.string().regex(/^[a-z0-9-]+$/),\n type: ComponentTypeSchema,\n name: z.string().min(1),\n description: z.string().optional(),\n schema: ComponentSchemaSchema,\n examples: z.array(ComponentExampleSchema).min(1),\n security: SecurityConstraintsSchema.optional(),\n performance: PerformanceConstraintsSchema.optional(),\n tags: z.array(z.string().regex(/^[a-z0-9-]+$/)).optional(),\n version: z.string().regex(/^\\d+\\.\\d+\\.\\d+$/).optional(),\n deprecated: z.boolean().default(false).optional(),\n deprecationMessage: z.string().optional()\n});\nconst RegistryMetadataSchema = z.object({\n name: z.string().optional(),\n description: z.string().optional(),\n author: z.string().optional(),\n repository: z.string().url().optional()\n});\nconst ComponentRegistrySchema = z.object({\n version: z.literal(\"1.0.0\"),\n metadata: RegistryMetadataSchema.optional(),\n components: z.array(ComponentSchema).min(1)\n});\nconst ConnectorFollowupSchema = z.object({\n /** Display text of the suggestion. */\n label: z.string().min(1),\n /** The follow-up query to run when the suggestion is picked. */\n query: z.string().optional(),\n /** Normalized intent of the follow-up query. */\n intent: z.string().optional(),\n /** What kind of follow-up this is — drives grouping / iconography. */\n kind: z.enum([\"refine\", \"compare\", \"expand\", \"clarify\"]).optional()\n});\nconst ConnectorActionSchema = ActionParamsSchema;\nconst ConnectorPreferredLayoutSchema = z.enum([\n \"table\",\n \"cards\",\n \"bar\",\n \"line\",\n \"doughnut\",\n \"map\",\n \"metric\"\n]);\nconst ConnectorRenderHintsSchema = z.object({\n /** Preferred top-level layout for `primary`. */\n preferredLayout: ConnectorPreferredLayoutSchema.optional(),\n /** Data domain — drives presets/examples, NOT the same axis as `intent`. */\n domain: z.enum([\"real_estate\", \"dpe\", \"pollution\", \"employment\", \"education\", \"health\", \"generic\"]).optional(),\n /** Connector's confidence in the result, 0..1. */\n confidence: z.number().min(0).max(1).optional()\n});\nconst CONNECTOR_DYNAMIC_RESULT_V1 = \"connector-dynamic-result/v1\";\nconst ConnectorDynamicResultV1Schema = z.object({\n /** Version discriminant — REQUIRED. */\n schemaVersion: z.literal(CONNECTOR_DYNAMIC_RESULT_V1),\n /** Stable id of the connector that produced this result. */\n connectorId: z.string().min(1),\n /** MCP tool that was invoked. */\n toolName: z.string().min(1),\n /** The raw user query. */\n query: z.string(),\n /**\n * Stable key for storing / retrieving persisted presentation feedback.\n * Optional in the payload, but REQUIRED once a feedback entry is\n * persisted against this result. Recommended derivation :\n * `hash(connectorId + toolName + normalizedIntent)` — NOT the raw query,\n * so two close phrasings of the same ask share the key.\n */\n queryHash: z.string().optional(),\n /** Normalized user intent (e.g. `real_estate_city`, `dpe_city`). */\n intent: z.string().optional(),\n /** Primary result — a `UIComponent` or `UILayout` (passthrough, see header). */\n primary: z.record(z.unknown()),\n /** Supplemental components — related datasets, source cards, etc. */\n supplemental: z.array(z.record(z.unknown())).optional(),\n /** Follow-up actions (tool calls / links) the user can trigger. */\n actions: z.array(ConnectorActionSchema).optional(),\n /** Suggested follow-up queries. */\n followups: z.array(ConnectorFollowupSchema).optional(),\n /** Non-binding rendering hints. */\n renderHints: ConnectorRenderHintsSchema.optional()\n});\nconst ConnectorRenderProblemSchema = z.enum([\n \"too_raw\",\n \"wrong_columns\",\n \"wrong_chart\",\n \"missing_context\",\n \"wrong_unit\",\n \"bad_grouping\",\n \"missing_dataset_context\"\n]);\nconst ConnectorRenderFeedbackSchema = z.object({\n /** Connector whose result is being rated. */\n connectorId: z.string().min(1),\n /** Tool that produced the result. */\n toolName: z.string().min(1),\n /** Stable key tying this feedback to a `ConnectorDynamicResultV1.queryHash`. */\n queryHash: z.string().optional(),\n /** What was rated (e.g. `'primary'`, `'supplemental'`). */\n renderKind: z.string().optional(),\n /** The layout type that was shown (e.g. `'table'`, `'bar'`). */\n layoutType: z.string().optional(),\n /** Overall judgement — REQUIRED. */\n verdict: z.enum([\"readable\", \"not_readable\"]),\n /** Zero or more precise problems (refines a `not_readable` verdict). */\n problems: z.array(ConnectorRenderProblemSchema).optional(),\n /** Layout the user would prefer instead. */\n preferredLayout: ConnectorPreferredLayoutSchema.optional(),\n /** Fields the user says are missing from the render. */\n missingFields: z.array(z.string()).optional(),\n /** Columns the user wishes were shown. */\n selectedColumns: z.array(z.string()).optional(),\n /** A unit the user flags as wrong. */\n wrongUnit: z.string().optional(),\n /** A grouping the user flags as wrong. */\n wrongGrouping: z.string().optional(),\n /** Free-text comment. */\n comment: z.string().optional()\n});\nexport {\n ActionGroupGapSchema,\n ActionGroupLayoutSchema,\n ActionGroupParamsSchema,\n ActionParamsSchema,\n ArtifactComponentParamsSchema,\n CONNECTOR_DYNAMIC_RESULT_V1,\n CarouselComponentParamsSchema,\n ChartComponentParamsSchema,\n ChartDatasetSchema,\n ChartTimeAxisSchema,\n ChartTypeSchema,\n CitationEntrySchema,\n CodeComponentParamsSchema,\n ComponentExampleSchema,\n ComponentRegistrySchema,\n ComponentSchema,\n ComponentSchemaSchema,\n ComponentTypeSchema,\n ConnectorActionSchema,\n ConnectorDynamicResultV1Schema,\n ConnectorFollowupSchema,\n ConnectorPreferredLayoutSchema,\n ConnectorRenderFeedbackSchema,\n ConnectorRenderHintsSchema,\n ConnectorRenderProblemSchema,\n FormComponentParamsSchema,\n FormFieldOptionSchema,\n FormFieldSchema,\n FormFieldTypeSchema,\n FormSubmitActionSchema,\n GalleryImageSchema,\n GraphComponentParamsSchema,\n GraphEdgeSchema,\n GraphLayoutNameSchema,\n GraphLayoutSchema,\n GraphNodeSchema,\n GridPositionSchema,\n IframeComponentParamsSchema,\n ImageComponentParamsSchema,\n ImageGalleryAspectRatioSchema,\n ImageGalleryColumnsSchema,\n ImageGalleryGapSchema,\n ImageGalleryParamsSchema,\n LatLngObjectSchema,\n LatLngPointSchema,\n LatLngTupleSchema,\n LinkComponentParamsSchema,\n MapComponentParamsSchema,\n MapMarkerSchema,\n MetricComponentParamsSchema,\n MetricTrendSchema,\n ModalComponentParamsSchema,\n ModalSizeSchema,\n PerformanceConstraintsSchema,\n PrefillSourceSchema,\n RegistryMetadataSchema,\n SandboxFlagSchema,\n SecurityConstraintsSchema,\n ShowWhenConditionSchema,\n ShowWhenOperatorSchema,\n TableColumnSchema,\n TableComponentParamsSchema,\n TableExportableSchema,\n TablePaginationSchema,\n TableVirtualizeOptionsSchema,\n TextComponentParamsSchema,\n VideoAspectRatioSchema,\n VideoComponentParamsSchema\n};\n//# sourceMappingURL=schemas.js.map\n"],"names":["z.object","z.number","z.enum","z.string","z.boolean","z.any","z.union","z.array","z.record","z.unknown","z.literal","z.tuple"],"mappings":"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"}
|
|
@@ -543,12 +543,109 @@ objectType({
|
|
|
543
543
|
metadata: RegistryMetadataSchema.optional(),
|
|
544
544
|
components: arrayType(ComponentSchema).min(1)
|
|
545
545
|
});
|
|
546
|
+
const ConnectorFollowupSchema = objectType({
|
|
547
|
+
/** Display text of the suggestion. */
|
|
548
|
+
label: stringType().min(1),
|
|
549
|
+
/** The follow-up query to run when the suggestion is picked. */
|
|
550
|
+
query: stringType().optional(),
|
|
551
|
+
/** Normalized intent of the follow-up query. */
|
|
552
|
+
intent: stringType().optional(),
|
|
553
|
+
/** What kind of follow-up this is — drives grouping / iconography. */
|
|
554
|
+
kind: enumType(["refine", "compare", "expand", "clarify"]).optional()
|
|
555
|
+
});
|
|
556
|
+
const ConnectorActionSchema = ActionParamsSchema;
|
|
557
|
+
const ConnectorPreferredLayoutSchema = enumType([
|
|
558
|
+
"table",
|
|
559
|
+
"cards",
|
|
560
|
+
"bar",
|
|
561
|
+
"line",
|
|
562
|
+
"doughnut",
|
|
563
|
+
"map",
|
|
564
|
+
"metric"
|
|
565
|
+
]);
|
|
566
|
+
const ConnectorRenderHintsSchema = objectType({
|
|
567
|
+
/** Preferred top-level layout for `primary`. */
|
|
568
|
+
preferredLayout: ConnectorPreferredLayoutSchema.optional(),
|
|
569
|
+
/** Data domain — drives presets/examples, NOT the same axis as `intent`. */
|
|
570
|
+
domain: enumType(["real_estate", "dpe", "pollution", "employment", "education", "health", "generic"]).optional(),
|
|
571
|
+
/** Connector's confidence in the result, 0..1. */
|
|
572
|
+
confidence: numberType().min(0).max(1).optional()
|
|
573
|
+
});
|
|
574
|
+
const CONNECTOR_DYNAMIC_RESULT_V1 = "connector-dynamic-result/v1";
|
|
575
|
+
const ConnectorDynamicResultV1Schema = objectType({
|
|
576
|
+
/** Version discriminant — REQUIRED. */
|
|
577
|
+
schemaVersion: literalType(CONNECTOR_DYNAMIC_RESULT_V1),
|
|
578
|
+
/** Stable id of the connector that produced this result. */
|
|
579
|
+
connectorId: stringType().min(1),
|
|
580
|
+
/** MCP tool that was invoked. */
|
|
581
|
+
toolName: stringType().min(1),
|
|
582
|
+
/** The raw user query. */
|
|
583
|
+
query: stringType(),
|
|
584
|
+
/**
|
|
585
|
+
* Stable key for storing / retrieving persisted presentation feedback.
|
|
586
|
+
* Optional in the payload, but REQUIRED once a feedback entry is
|
|
587
|
+
* persisted against this result. Recommended derivation :
|
|
588
|
+
* `hash(connectorId + toolName + normalizedIntent)` — NOT the raw query,
|
|
589
|
+
* so two close phrasings of the same ask share the key.
|
|
590
|
+
*/
|
|
591
|
+
queryHash: stringType().optional(),
|
|
592
|
+
/** Normalized user intent (e.g. `real_estate_city`, `dpe_city`). */
|
|
593
|
+
intent: stringType().optional(),
|
|
594
|
+
/** Primary result — a `UIComponent` or `UILayout` (passthrough, see header). */
|
|
595
|
+
primary: recordType(unknownType()),
|
|
596
|
+
/** Supplemental components — related datasets, source cards, etc. */
|
|
597
|
+
supplemental: arrayType(recordType(unknownType())).optional(),
|
|
598
|
+
/** Follow-up actions (tool calls / links) the user can trigger. */
|
|
599
|
+
actions: arrayType(ConnectorActionSchema).optional(),
|
|
600
|
+
/** Suggested follow-up queries. */
|
|
601
|
+
followups: arrayType(ConnectorFollowupSchema).optional(),
|
|
602
|
+
/** Non-binding rendering hints. */
|
|
603
|
+
renderHints: ConnectorRenderHintsSchema.optional()
|
|
604
|
+
});
|
|
605
|
+
const ConnectorRenderProblemSchema = enumType([
|
|
606
|
+
"too_raw",
|
|
607
|
+
"wrong_columns",
|
|
608
|
+
"wrong_chart",
|
|
609
|
+
"missing_context",
|
|
610
|
+
"wrong_unit",
|
|
611
|
+
"bad_grouping",
|
|
612
|
+
"missing_dataset_context"
|
|
613
|
+
]);
|
|
614
|
+
objectType({
|
|
615
|
+
/** Connector whose result is being rated. */
|
|
616
|
+
connectorId: stringType().min(1),
|
|
617
|
+
/** Tool that produced the result. */
|
|
618
|
+
toolName: stringType().min(1),
|
|
619
|
+
/** Stable key tying this feedback to a `ConnectorDynamicResultV1.queryHash`. */
|
|
620
|
+
queryHash: stringType().optional(),
|
|
621
|
+
/** What was rated (e.g. `'primary'`, `'supplemental'`). */
|
|
622
|
+
renderKind: stringType().optional(),
|
|
623
|
+
/** The layout type that was shown (e.g. `'table'`, `'bar'`). */
|
|
624
|
+
layoutType: stringType().optional(),
|
|
625
|
+
/** Overall judgement — REQUIRED. */
|
|
626
|
+
verdict: enumType(["readable", "not_readable"]),
|
|
627
|
+
/** Zero or more precise problems (refines a `not_readable` verdict). */
|
|
628
|
+
problems: arrayType(ConnectorRenderProblemSchema).optional(),
|
|
629
|
+
/** Layout the user would prefer instead. */
|
|
630
|
+
preferredLayout: ConnectorPreferredLayoutSchema.optional(),
|
|
631
|
+
/** Fields the user says are missing from the render. */
|
|
632
|
+
missingFields: arrayType(stringType()).optional(),
|
|
633
|
+
/** Columns the user wishes were shown. */
|
|
634
|
+
selectedColumns: arrayType(stringType()).optional(),
|
|
635
|
+
/** A unit the user flags as wrong. */
|
|
636
|
+
wrongUnit: stringType().optional(),
|
|
637
|
+
/** A grouping the user flags as wrong. */
|
|
638
|
+
wrongGrouping: stringType().optional(),
|
|
639
|
+
/** Free-text comment. */
|
|
640
|
+
comment: stringType().optional()
|
|
641
|
+
});
|
|
546
642
|
export {
|
|
547
643
|
ActionGroupGapSchema,
|
|
548
644
|
ActionGroupLayoutSchema,
|
|
549
645
|
ActionGroupParamsSchema,
|
|
550
646
|
ActionParamsSchema,
|
|
551
647
|
ArtifactComponentParamsSchema,
|
|
648
|
+
CONNECTOR_DYNAMIC_RESULT_V1,
|
|
552
649
|
CarouselComponentParamsSchema,
|
|
553
650
|
ChartDatasetSchema,
|
|
554
651
|
ChartTimeAxisSchema,
|
|
@@ -559,6 +656,12 @@ export {
|
|
|
559
656
|
ComponentSchema,
|
|
560
657
|
ComponentSchemaSchema,
|
|
561
658
|
ComponentTypeSchema,
|
|
659
|
+
ConnectorActionSchema,
|
|
660
|
+
ConnectorDynamicResultV1Schema,
|
|
661
|
+
ConnectorFollowupSchema,
|
|
662
|
+
ConnectorPreferredLayoutSchema,
|
|
663
|
+
ConnectorRenderHintsSchema,
|
|
664
|
+
ConnectorRenderProblemSchema,
|
|
562
665
|
FormComponentParamsSchema,
|
|
563
666
|
FormFieldOptionSchema,
|
|
564
667
|
FormFieldSchema,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sources":["../../../../mcp-ui-spec/dist/schemas.js"],"sourcesContent":["import { z } from \"zod\";\nconst GridPositionSchema = z.object({\n colStart: z.number().int().min(1).max(12),\n colSpan: z.number().int().min(1).max(12),\n rowStart: z.number().int().min(1).optional(),\n rowSpan: z.number().int().min(1).default(1).optional()\n});\nconst ComponentTypeSchema = z.enum([\n \"chart\",\n \"table\",\n \"metric\",\n \"text\",\n \"composite\",\n \"grid\",\n // Phase 5.0: Nested grid layouts\n \"iframe\",\n \"image\",\n \"link\",\n \"action\",\n // Phase 5.0: Tool call actions\n \"footer\",\n // Phase 5.0: Metadata footer\n \"carousel\",\n \"artifact\",\n \"form\",\n // Sprint 1: Form component\n \"modal\",\n // Sprint 3: Modal/dialog component\n \"action-group\",\n // Sprint 3: Action grouping component\n \"image-gallery\",\n // Sprint 5: Image gallery with lightbox\n \"video\",\n // Sprint 5: Video embed (YouTube, Vimeo, direct)\n \"code\",\n // Sprint 6: Syntax highlighted code block\n \"map\",\n // Sprint 6: Interactive map (Leaflet)\n \"graph\"\n // v5.0.4: node-link graph (peer @antv/g6)\n]);\nconst FormFieldOptionSchema = z.object({\n label: z.string().min(1),\n value: z.string(),\n disabled: z.boolean().optional()\n});\nconst FormFieldTypeSchema = z.enum([\n \"text\",\n \"email\",\n \"password\",\n \"number\",\n \"date\",\n \"textarea\",\n \"select\",\n \"checkbox\",\n \"radio\",\n \"autocomplete\",\n \"range\",\n \"tags\",\n \"toggle\",\n \"fieldset\"\n]);\nconst ShowWhenOperatorSchema = z.enum([\n \"equals\",\n \"notEquals\",\n \"in\",\n \"notIn\",\n \"contains\",\n \"startsWith\",\n \"endsWith\",\n \"greaterThan\",\n \"lessThan\",\n \"isEmpty\",\n \"isNotEmpty\",\n \"isTrue\",\n \"isFalse\"\n]);\nconst ShowWhenConditionSchema = z.object({\n field: z.string().min(1),\n operator: ShowWhenOperatorSchema,\n value: z.any().optional()\n});\nconst PrefillSourceSchema = z.enum([\"user\", \"detected\", \"inferred\", \"default\"]);\nconst FormFieldSchema = z.object({\n name: z.string().regex(/^[a-zA-Z][\\w.-]*$/),\n type: FormFieldTypeSchema,\n label: z.string().optional(),\n placeholder: z.string().optional(),\n helpText: z.string().optional(),\n required: z.boolean().optional(),\n disabled: z.boolean().optional(),\n defaultValue: z.any().optional(),\n // Prefill — pre-populated value with source tracking (v4.2.0)\n prefill: z.union([z.string(), z.array(z.string())]).optional(),\n displayHint: z.string().optional(),\n source: PrefillSourceSchema.optional(),\n muted: z.boolean().optional(),\n // Prefill mode for autocomplete fields (v4.3.0)\n prefillMode: z.enum([\"exact\", \"resolve\"]).optional(),\n // Value format validation (v4.3.0)\n valueFormat: z.string().optional(),\n valueFormatHint: z.string().optional(),\n // Text/textarea specific\n minLength: z.number().int().min(0).optional(),\n maxLength: z.number().int().min(1).optional(),\n pattern: z.string().optional(),\n // Number specific\n min: z.number().optional(),\n max: z.number().optional(),\n step: z.number().optional(),\n // Date specific\n minDate: z.string().optional(),\n maxDate: z.string().optional(),\n // Select/Radio specific\n options: z.array(FormFieldOptionSchema).optional(),\n // Multi-select (v2.6.0)\n multiple: z.boolean().optional(),\n // Autocomplete specific (v2.6.0)\n apiUrl: z.string().url().optional(),\n searchParam: z.string().optional(),\n labelField: z.string().optional(),\n valueField: z.string().optional(),\n extraParams: z.record(z.string()).optional(),\n minChars: z.number().int().min(0).optional(),\n debounceMs: z.number().int().min(0).optional(),\n // Dependent field (v2.7.0)\n dependsOn: z.object({\n field: z.string(),\n apiUrl: z.string(),\n labelField: z.string(),\n valueField: z.string(),\n extraParams: z.record(z.string()).optional()\n }).optional(),\n // Field status — API capability indicator (v2.11.0)\n fieldStatus: z.enum([\"required\", \"optional\", \"unsupported\", \"unknown\"]).optional(),\n statusReason: z.string().optional(),\n // Checkbox specific\n checkboxLabel: z.string().optional(),\n // Textarea specific\n rows: z.number().int().min(1).max(20).optional(),\n // Conditional visibility\n showWhen: ShowWhenConditionSchema.optional()\n});\nconst FormSubmitActionSchema = z.object({\n toolName: z.string().min(1),\n params: z.record(z.unknown()).optional()\n});\nconst FormComponentParamsSchema = z.object({\n title: z.string().optional(),\n fields: z.array(FormFieldSchema).min(1),\n submitLabel: z.string().optional(),\n showReset: z.boolean().optional(),\n submitAction: FormSubmitActionSchema.optional(),\n // Persistence options (Sprint 4)\n persistKey: z.string().optional(),\n excludeFromPersistence: z.array(z.string()).optional(),\n persistExpiresIn: z.number().int().positive().optional(),\n layout: z.enum([\"vertical\", \"horizontal\", \"inline\"]).optional(),\n // Auto-submit countdown in ms when all required fields are prefilled (v4.2.0)\n autoSubmitDelay: z.number().int().min(1e3).max(3e4).optional()\n});\nconst ModalSizeSchema = z.enum([\"sm\", \"md\", \"lg\", \"xl\", \"full\"]);\nconst ModalComponentParamsSchema = z.object({\n title: z.string().optional(),\n size: ModalSizeSchema.optional(),\n showClose: z.boolean().optional(),\n closeOnEscape: z.boolean().optional(),\n closeOnBackdrop: z.boolean().optional(),\n maxHeight: z.string().optional()\n // Note: content and footer are UIComponent references, validated separately\n});\nconst ActionGroupLayoutSchema = z.enum([\n \"horizontal\",\n \"vertical\",\n \"space-between\",\n \"end\",\n \"center\"\n]);\nconst ActionGroupGapSchema = z.enum([\"none\", \"sm\", \"md\", \"lg\"]);\nconst ActionParamsSchema = z.object({\n label: z.string().min(1),\n type: z.enum([\"button\", \"link\"]).optional(),\n action: z.enum([\"tool-call\", \"link\", \"submit\"]).optional(),\n toolName: z.string().optional(),\n params: z.record(z.unknown()).optional(),\n url: z.string().optional(),\n variant: z.enum([\"primary\", \"secondary\", \"outline\", \"ghost\", \"danger\"]).optional(),\n size: z.enum([\"sm\", \"md\", \"lg\"]).optional(),\n icon: z.string().optional(),\n disabled: z.boolean().optional()\n});\nconst ActionGroupParamsSchema = z.object({\n actions: z.array(ActionParamsSchema).min(1),\n layout: ActionGroupLayoutSchema.optional(),\n gap: ActionGroupGapSchema.optional(),\n fullWidth: z.boolean().optional(),\n label: z.string().optional()\n});\nconst GalleryImageSchema = z.object({\n url: z.string().url(),\n thumbnail: z.string().url().optional(),\n alt: z.string().optional(),\n caption: z.string().optional(),\n srcset: z.string().optional(),\n sizes: z.string().optional()\n});\nconst ImageGalleryColumnsSchema = z.enum([\"2\", \"3\", \"4\", \"5\"]).transform(Number);\nconst ImageGalleryGapSchema = z.enum([\"none\", \"sm\", \"md\", \"lg\"]);\nconst ImageGalleryAspectRatioSchema = z.enum([\"1:1\", \"16:9\", \"4:3\", \"auto\"]);\nconst ImageGalleryParamsSchema = z.object({\n title: z.string().optional(),\n images: z.array(GalleryImageSchema).min(1),\n columns: z.union([z.literal(2), z.literal(3), z.literal(4), z.literal(5)]).optional(),\n gap: ImageGalleryGapSchema.optional(),\n aspectRatio: ImageGalleryAspectRatioSchema.optional(),\n lightbox: z.boolean().optional(),\n showCaptions: z.boolean().optional()\n});\nconst VideoAspectRatioSchema = z.enum([\"16:9\", \"4:3\", \"1:1\", \"21:9\"]);\nconst VideoComponentParamsSchema = z.object({\n url: z.string().url(),\n title: z.string().optional(),\n caption: z.string().optional(),\n poster: z.string().url().optional(),\n aspectRatio: VideoAspectRatioSchema.optional(),\n autoplay: z.boolean().optional(),\n controls: z.boolean().optional(),\n loop: z.boolean().optional(),\n muted: z.boolean().optional(),\n startTime: z.number().int().min(0).optional()\n});\nconst CodeComponentParamsSchema = z.object({\n code: z.string(),\n language: z.string().optional(),\n filename: z.string().optional(),\n showLineNumbers: z.boolean().optional(),\n startLine: z.number().optional(),\n highlightLines: z.array(z.number()).optional(),\n maxHeight: z.string().optional(),\n theme: z.enum([\"light\", \"dark\"]).optional()\n});\nconst LatLngObjectSchema = z.object({\n lat: z.number(),\n lng: z.number()\n});\nconst LatLngTupleSchema = z.tuple([z.number(), z.number()]);\nconst LatLngPointSchema = z.union([LatLngTupleSchema, LatLngObjectSchema]);\nconst MapMarkerSchema = z.object({\n position: LatLngPointSchema,\n tooltip: z.string().optional(),\n popup: z.string().optional()\n});\nconst MapComponentParamsSchema = z.object({\n center: LatLngPointSchema.optional(),\n zoom: z.number().optional(),\n markers: z.array(MapMarkerSchema).optional(),\n height: z.string().optional(),\n fitBounds: z.boolean().optional(),\n zoomControl: z.boolean().optional(),\n scrollWheelZoom: z.boolean().optional(),\n tileLayer: z.string().optional(),\n attribution: z.string().optional()\n});\nconst GraphNodeSchema = z.object({\n id: z.string().min(1),\n label: z.string().optional(),\n type: z.string().optional(),\n // G6 node type: 'circle' | 'rect' | 'image' | …\n size: z.union([z.number(), z.tuple([z.number(), z.number()])]).optional(),\n /**\n * Generic ranking / importance signal. Drives default node size when\n * `size` is omitted, and acts as the sort key for the `concentric`\n * layout (highest weight at center). Domain semantics opaque to the lib.\n */\n weight: z.number().optional(),\n style: z.record(z.unknown()).optional(),\n // passthrough G6 NodeStyle\n data: z.record(z.unknown()).optional()\n // arbitrary metadata for tooltips / click handlers\n});\nconst GraphEdgeSchema = z.object({\n source: z.string().min(1),\n // must match a node.id\n target: z.string().min(1),\n // must match a node.id\n label: z.string().optional(),\n type: z.string().optional(),\n // G6 edge type: 'line' | 'arc' | 'cubic' | 'polyline' | …\n /**\n * Generic strength signal. Drives default edge stroke width and acts\n * as attractive force in `force` layouts. Domain semantics opaque.\n */\n weight: z.number().optional(),\n style: z.record(z.unknown()).optional(),\n data: z.record(z.unknown()).optional()\n});\nconst GraphLayoutNameSchema = z.enum([\n \"force\",\n \"dagre\",\n \"mindmap\",\n \"tree\",\n \"circular\",\n \"grid\",\n \"concentric\"\n]);\nconst GraphLayoutSchema = z.union([\n GraphLayoutNameSchema,\n z.object({\n type: GraphLayoutNameSchema,\n options: z.record(z.unknown()).optional()\n })\n]);\nconst GraphComponentParamsSchema = z.object({\n title: z.string().optional(),\n nodes: z.array(GraphNodeSchema).min(1),\n edges: z.array(GraphEdgeSchema).optional(),\n /**\n * Layout shorthand string OR object form. When omitted, the renderer\n * picks a sensible default: `'force'` if edges are present, `'circular'`\n * otherwise.\n */\n layout: GraphLayoutSchema.optional(),\n height: z.string().optional(),\n // CSS length, default '400px'\n width: z.string().optional(),\n // CSS length, default '100%'\n rendererPref: z.enum([\"canvas\", \"svg\"]).optional(),\n // default 'canvas'\n fitView: z.boolean().optional(),\n // default true\n enableZoom: z.boolean().optional(),\n // default true\n enableDrag: z.boolean().optional(),\n // default true (drag nodes)\n enableSelect: z.boolean().optional(),\n // default true (click-select highlight)\n tooltip: z.boolean().optional(),\n // default true (label + data summary on hover)\n className: z.string().optional()\n});\nconst ChartTypeSchema = z.enum([\n \"bar\",\n \"line\",\n \"pie\",\n \"doughnut\",\n \"radar\",\n \"scatter\",\n \"bubble\",\n \"polarArea\"\n]);\nconst ChartDatasetSchema = z.object({\n label: z.string(),\n // Either an array of numbers or an array of {x, y} points (Chart.js shapes)\n data: z.union([\n z.array(z.number()),\n z.array(\n z.object({\n x: z.union([z.string(), z.number()]),\n y: z.number()\n })\n )\n ]),\n backgroundColor: z.union([z.string(), z.array(z.string())]).optional(),\n borderColor: z.union([z.string(), z.array(z.string())]).optional(),\n borderWidth: z.number().optional(),\n fill: z.union([z.boolean(), z.string()]).optional(),\n tension: z.number().optional()\n});\nconst ChartTimeAxisSchema = z.object({\n parser: z.string().optional(),\n unit: z.enum([\"day\", \"week\", \"month\", \"quarter\", \"year\"]).optional(),\n tooltipFormat: z.string().optional(),\n min: z.string().optional(),\n max: z.string().optional()\n});\nconst ChartComponentParamsSchema = z.object({\n type: ChartTypeSchema,\n title: z.string().optional(),\n data: z.object({\n labels: z.array(z.string()),\n datasets: z.array(ChartDatasetSchema)\n }),\n options: z.object({\n responsive: z.boolean().optional(),\n maintainAspectRatio: z.boolean().optional(),\n tension: z.number().optional(),\n // `scales` and `plugins` are Chart.js opaque config objects — kept loose\n scales: z.unknown().optional(),\n plugins: z.unknown().optional()\n }).optional(),\n renderer: z.enum([\"native\", \"iframe\", \"auto\"]).optional(),\n exportable: z.boolean().optional(),\n timeAxis: ChartTimeAxisSchema.optional(),\n height: z.string().optional(),\n className: z.string().optional()\n});\nconst TableColumnSchema = z.object({\n key: z.string().min(1),\n label: z.string(),\n sortable: z.boolean().optional(),\n width: z.string().optional()\n});\nconst TablePaginationSchema = z.object({\n currentPage: z.number().int().min(1),\n pageSize: z.number().int().min(1),\n totalRows: z.number().int().min(0)\n});\nconst TableVirtualizeOptionsSchema = z.object({\n enabled: z.boolean().optional(),\n rowHeight: z.number().int().min(1).optional(),\n overscan: z.number().int().min(0).optional(),\n threshold: z.number().int().min(1).optional()\n});\nconst TableExportableSchema = z.union([\n z.boolean(),\n z.object({\n formats: z.array(z.enum([\"csv\", \"tsv\", \"json\"])).optional(),\n filename: z.string().optional()\n })\n]);\nconst CitationEntrySchema = z.object({\n page: z.union([z.number(), z.string()]),\n file: z.string().optional(),\n file_id: z.union([z.number(), z.string()]).optional()\n});\nconst TableComponentParamsSchema = z.object({\n title: z.string().optional(),\n columns: z.array(TableColumnSchema).min(1),\n rows: z.array(z.record(z.unknown())),\n pagination: TablePaginationSchema.optional(),\n virtualize: z.union([z.boolean(), TableVirtualizeOptionsSchema]).optional(),\n exportable: TableExportableSchema.optional(),\n className: z.string().optional(),\n // v5.0.3 — opt-in citation chip rendering inside cells\n citationMap: z.record(z.string(), CitationEntrySchema).optional(),\n // v5.0.5 — opt-out of the inline-mode max-height cap. The library defaults\n // a `max-height: 400px` (or 500px when virtualizing) on tables with > 8\n // rows so they don't blow out a chat-stream layout. Pass `'auto'` to\n // disable the cap (when the consumer's wrapping container handles\n // overflow), a number (interpreted as `${n}px`), or any CSS length string\n // to override the value.\n maxHeight: z.union([z.literal(\"auto\"), z.number(), z.string()]).optional()\n});\nconst MetricTrendSchema = z.object({\n value: z.number(),\n direction: z.enum([\"up\", \"down\", \"neutral\"])\n});\nconst MetricComponentParamsSchema = z.object({\n title: z.string().min(1),\n value: z.union([z.string(), z.number()]),\n unit: z.string().optional(),\n trend: MetricTrendSchema.optional(),\n subtitle: z.string().optional(),\n icon: z.string().optional(),\n className: z.string().optional()\n});\nconst TextComponentParamsSchema = z.object({\n content: z.string().min(1),\n markdown: z.boolean().optional(),\n className: z.string().optional()\n});\nconst IframeComponentParamsSchema = z.object({\n url: z.string().min(1),\n title: z.string().optional(),\n height: z.string().optional(),\n className: z.string().optional()\n});\nconst ImageComponentParamsSchema = z.object({\n url: z.string().min(1),\n alt: z.string().optional(),\n caption: z.string().optional(),\n className: z.string().optional()\n});\nconst LinkComponentParamsSchema = z.object({\n url: z.string().min(1),\n label: z.string().optional(),\n description: z.string().optional(),\n className: z.string().optional()\n});\nconst CarouselComponentParamsSchema = z.object({\n items: z.array(z.unknown()).min(1),\n height: z.string().optional(),\n className: z.string().optional()\n});\nconst ArtifactComponentParamsSchema = z.object({\n url: z.string().min(1),\n filename: z.string().min(1),\n mimeType: z.string().min(1),\n size: z.number().int().min(0).optional(),\n description: z.string().optional()\n});\nconst SandboxFlagSchema = z.enum([\n \"allow-scripts\",\n \"allow-same-origin\",\n \"allow-forms\",\n \"allow-popups\",\n \"allow-modals\"\n]);\nconst SecurityConstraintsSchema = z.object({\n requiresAuth: z.boolean().default(false).optional(),\n allowedDomains: z.array(z.string()).optional(),\n maxIframeDepth: z.number().int().min(0).max(3).default(1).optional(),\n sandboxFlags: z.array(SandboxFlagSchema).optional()\n});\nconst PerformanceConstraintsSchema = z.object({\n maxRenderTime: z.number().int().min(100).default(5e3).optional(),\n maxDataSize: z.number().int().min(1024).default(102400).optional()\n});\nconst ComponentSchemaSchema = z.object({\n type: z.literal(\"object\"),\n required: z.array(z.string()).optional(),\n properties: z.record(z.unknown()),\n additionalProperties: z.boolean().optional()\n});\nconst ComponentExampleSchema = z.object({\n name: z.string().min(1),\n description: z.string().optional(),\n params: z.record(z.unknown()),\n position: GridPositionSchema.optional()\n});\nconst ComponentSchema = z.object({\n id: z.string().regex(/^[a-z0-9-]+$/),\n type: ComponentTypeSchema,\n name: z.string().min(1),\n description: z.string().optional(),\n schema: ComponentSchemaSchema,\n examples: z.array(ComponentExampleSchema).min(1),\n security: SecurityConstraintsSchema.optional(),\n performance: PerformanceConstraintsSchema.optional(),\n tags: z.array(z.string().regex(/^[a-z0-9-]+$/)).optional(),\n version: z.string().regex(/^\\d+\\.\\d+\\.\\d+$/).optional(),\n deprecated: z.boolean().default(false).optional(),\n deprecationMessage: z.string().optional()\n});\nconst RegistryMetadataSchema = z.object({\n name: z.string().optional(),\n description: z.string().optional(),\n author: z.string().optional(),\n repository: z.string().url().optional()\n});\nconst ComponentRegistrySchema = z.object({\n version: z.literal(\"1.0.0\"),\n metadata: RegistryMetadataSchema.optional(),\n components: z.array(ComponentSchema).min(1)\n});\nexport {\n ActionGroupGapSchema,\n ActionGroupLayoutSchema,\n ActionGroupParamsSchema,\n ActionParamsSchema,\n ArtifactComponentParamsSchema,\n CarouselComponentParamsSchema,\n ChartComponentParamsSchema,\n ChartDatasetSchema,\n ChartTimeAxisSchema,\n ChartTypeSchema,\n CitationEntrySchema,\n CodeComponentParamsSchema,\n ComponentExampleSchema,\n ComponentRegistrySchema,\n ComponentSchema,\n ComponentSchemaSchema,\n ComponentTypeSchema,\n FormComponentParamsSchema,\n FormFieldOptionSchema,\n FormFieldSchema,\n FormFieldTypeSchema,\n FormSubmitActionSchema,\n GalleryImageSchema,\n GraphComponentParamsSchema,\n GraphEdgeSchema,\n GraphLayoutNameSchema,\n GraphLayoutSchema,\n GraphNodeSchema,\n GridPositionSchema,\n IframeComponentParamsSchema,\n ImageComponentParamsSchema,\n ImageGalleryAspectRatioSchema,\n ImageGalleryColumnsSchema,\n ImageGalleryGapSchema,\n ImageGalleryParamsSchema,\n LatLngObjectSchema,\n LatLngPointSchema,\n LatLngTupleSchema,\n LinkComponentParamsSchema,\n MapComponentParamsSchema,\n MapMarkerSchema,\n MetricComponentParamsSchema,\n MetricTrendSchema,\n ModalComponentParamsSchema,\n ModalSizeSchema,\n PerformanceConstraintsSchema,\n PrefillSourceSchema,\n RegistryMetadataSchema,\n SandboxFlagSchema,\n SecurityConstraintsSchema,\n ShowWhenConditionSchema,\n ShowWhenOperatorSchema,\n TableColumnSchema,\n TableComponentParamsSchema,\n TableExportableSchema,\n TablePaginationSchema,\n TableVirtualizeOptionsSchema,\n TextComponentParamsSchema,\n VideoAspectRatioSchema,\n VideoComponentParamsSchema\n};\n//# sourceMappingURL=schemas.js.map\n"],"names":["z.object","z.number","z.enum","z.string","z.boolean","z.any","z.union","z.array","z.record","z.unknown","z.literal","z.tuple"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schemas.js","sources":["../../../../mcp-ui-spec/dist/schemas.js"],"sourcesContent":["import { z } from \"zod\";\nconst GridPositionSchema = z.object({\n colStart: z.number().int().min(1).max(12),\n colSpan: z.number().int().min(1).max(12),\n rowStart: z.number().int().min(1).optional(),\n rowSpan: z.number().int().min(1).default(1).optional()\n});\nconst ComponentTypeSchema = z.enum([\n \"chart\",\n \"table\",\n \"metric\",\n \"text\",\n \"composite\",\n \"grid\",\n // Phase 5.0: Nested grid layouts\n \"iframe\",\n \"image\",\n \"link\",\n \"action\",\n // Phase 5.0: Tool call actions\n \"footer\",\n // Phase 5.0: Metadata footer\n \"carousel\",\n \"artifact\",\n \"form\",\n // Sprint 1: Form component\n \"modal\",\n // Sprint 3: Modal/dialog component\n \"action-group\",\n // Sprint 3: Action grouping component\n \"image-gallery\",\n // Sprint 5: Image gallery with lightbox\n \"video\",\n // Sprint 5: Video embed (YouTube, Vimeo, direct)\n \"code\",\n // Sprint 6: Syntax highlighted code block\n \"map\",\n // Sprint 6: Interactive map (Leaflet)\n \"graph\"\n // v5.0.4: node-link graph (peer @antv/g6)\n]);\nconst FormFieldOptionSchema = z.object({\n label: z.string().min(1),\n value: z.string(),\n disabled: z.boolean().optional()\n});\nconst FormFieldTypeSchema = z.enum([\n \"text\",\n \"email\",\n \"password\",\n \"number\",\n \"date\",\n \"textarea\",\n \"select\",\n \"checkbox\",\n \"radio\",\n \"autocomplete\",\n \"range\",\n \"tags\",\n \"toggle\",\n \"fieldset\"\n]);\nconst ShowWhenOperatorSchema = z.enum([\n \"equals\",\n \"notEquals\",\n \"in\",\n \"notIn\",\n \"contains\",\n \"startsWith\",\n \"endsWith\",\n \"greaterThan\",\n \"lessThan\",\n \"isEmpty\",\n \"isNotEmpty\",\n \"isTrue\",\n \"isFalse\"\n]);\nconst ShowWhenConditionSchema = z.object({\n field: z.string().min(1),\n operator: ShowWhenOperatorSchema,\n value: z.any().optional()\n});\nconst PrefillSourceSchema = z.enum([\"user\", \"detected\", \"inferred\", \"default\"]);\nconst FormFieldSchema = z.object({\n name: z.string().regex(/^[a-zA-Z][\\w.-]*$/),\n type: FormFieldTypeSchema,\n label: z.string().optional(),\n placeholder: z.string().optional(),\n helpText: z.string().optional(),\n required: z.boolean().optional(),\n disabled: z.boolean().optional(),\n defaultValue: z.any().optional(),\n // Prefill — pre-populated value with source tracking (v4.2.0)\n prefill: z.union([z.string(), z.array(z.string())]).optional(),\n displayHint: z.string().optional(),\n source: PrefillSourceSchema.optional(),\n muted: z.boolean().optional(),\n // Prefill mode for autocomplete fields (v4.3.0)\n prefillMode: z.enum([\"exact\", \"resolve\"]).optional(),\n // Value format validation (v4.3.0)\n valueFormat: z.string().optional(),\n valueFormatHint: z.string().optional(),\n // Text/textarea specific\n minLength: z.number().int().min(0).optional(),\n maxLength: z.number().int().min(1).optional(),\n pattern: z.string().optional(),\n // Number specific\n min: z.number().optional(),\n max: z.number().optional(),\n step: z.number().optional(),\n // Date specific\n minDate: z.string().optional(),\n maxDate: z.string().optional(),\n // Select/Radio specific\n options: z.array(FormFieldOptionSchema).optional(),\n // Multi-select (v2.6.0)\n multiple: z.boolean().optional(),\n // Autocomplete specific (v2.6.0)\n apiUrl: z.string().url().optional(),\n searchParam: z.string().optional(),\n labelField: z.string().optional(),\n valueField: z.string().optional(),\n extraParams: z.record(z.string()).optional(),\n minChars: z.number().int().min(0).optional(),\n debounceMs: z.number().int().min(0).optional(),\n // Dependent field (v2.7.0)\n dependsOn: z.object({\n field: z.string(),\n apiUrl: z.string(),\n labelField: z.string(),\n valueField: z.string(),\n extraParams: z.record(z.string()).optional()\n }).optional(),\n // Field status — API capability indicator (v2.11.0)\n fieldStatus: z.enum([\"required\", \"optional\", \"unsupported\", \"unknown\"]).optional(),\n statusReason: z.string().optional(),\n // Checkbox specific\n checkboxLabel: z.string().optional(),\n // Textarea specific\n rows: z.number().int().min(1).max(20).optional(),\n // Conditional visibility\n showWhen: ShowWhenConditionSchema.optional()\n});\nconst FormSubmitActionSchema = z.object({\n toolName: z.string().min(1),\n params: z.record(z.unknown()).optional()\n});\nconst FormComponentParamsSchema = z.object({\n title: z.string().optional(),\n fields: z.array(FormFieldSchema).min(1),\n submitLabel: z.string().optional(),\n showReset: z.boolean().optional(),\n submitAction: FormSubmitActionSchema.optional(),\n // Persistence options (Sprint 4)\n persistKey: z.string().optional(),\n excludeFromPersistence: z.array(z.string()).optional(),\n persistExpiresIn: z.number().int().positive().optional(),\n layout: z.enum([\"vertical\", \"horizontal\", \"inline\"]).optional(),\n // Auto-submit countdown in ms when all required fields are prefilled (v4.2.0)\n autoSubmitDelay: z.number().int().min(1e3).max(3e4).optional()\n});\nconst ModalSizeSchema = z.enum([\"sm\", \"md\", \"lg\", \"xl\", \"full\"]);\nconst ModalComponentParamsSchema = z.object({\n title: z.string().optional(),\n size: ModalSizeSchema.optional(),\n showClose: z.boolean().optional(),\n closeOnEscape: z.boolean().optional(),\n closeOnBackdrop: z.boolean().optional(),\n maxHeight: z.string().optional()\n // Note: content and footer are UIComponent references, validated separately\n});\nconst ActionGroupLayoutSchema = z.enum([\n \"horizontal\",\n \"vertical\",\n \"space-between\",\n \"end\",\n \"center\"\n]);\nconst ActionGroupGapSchema = z.enum([\"none\", \"sm\", \"md\", \"lg\"]);\nconst ActionParamsSchema = z.object({\n label: z.string().min(1),\n type: z.enum([\"button\", \"link\"]).optional(),\n action: z.enum([\"tool-call\", \"link\", \"submit\"]).optional(),\n toolName: z.string().optional(),\n params: z.record(z.unknown()).optional(),\n url: z.string().optional(),\n variant: z.enum([\"primary\", \"secondary\", \"outline\", \"ghost\", \"danger\"]).optional(),\n size: z.enum([\"sm\", \"md\", \"lg\"]).optional(),\n icon: z.string().optional(),\n disabled: z.boolean().optional()\n});\nconst ActionGroupParamsSchema = z.object({\n actions: z.array(ActionParamsSchema).min(1),\n layout: ActionGroupLayoutSchema.optional(),\n gap: ActionGroupGapSchema.optional(),\n fullWidth: z.boolean().optional(),\n label: z.string().optional()\n});\nconst GalleryImageSchema = z.object({\n url: z.string().url(),\n thumbnail: z.string().url().optional(),\n alt: z.string().optional(),\n caption: z.string().optional(),\n srcset: z.string().optional(),\n sizes: z.string().optional()\n});\nconst ImageGalleryColumnsSchema = z.enum([\"2\", \"3\", \"4\", \"5\"]).transform(Number);\nconst ImageGalleryGapSchema = z.enum([\"none\", \"sm\", \"md\", \"lg\"]);\nconst ImageGalleryAspectRatioSchema = z.enum([\"1:1\", \"16:9\", \"4:3\", \"auto\"]);\nconst ImageGalleryParamsSchema = z.object({\n title: z.string().optional(),\n images: z.array(GalleryImageSchema).min(1),\n columns: z.union([z.literal(2), z.literal(3), z.literal(4), z.literal(5)]).optional(),\n gap: ImageGalleryGapSchema.optional(),\n aspectRatio: ImageGalleryAspectRatioSchema.optional(),\n lightbox: z.boolean().optional(),\n showCaptions: z.boolean().optional()\n});\nconst VideoAspectRatioSchema = z.enum([\"16:9\", \"4:3\", \"1:1\", \"21:9\"]);\nconst VideoComponentParamsSchema = z.object({\n url: z.string().url(),\n title: z.string().optional(),\n caption: z.string().optional(),\n poster: z.string().url().optional(),\n aspectRatio: VideoAspectRatioSchema.optional(),\n autoplay: z.boolean().optional(),\n controls: z.boolean().optional(),\n loop: z.boolean().optional(),\n muted: z.boolean().optional(),\n startTime: z.number().int().min(0).optional()\n});\nconst CodeComponentParamsSchema = z.object({\n code: z.string(),\n language: z.string().optional(),\n filename: z.string().optional(),\n showLineNumbers: z.boolean().optional(),\n startLine: z.number().optional(),\n highlightLines: z.array(z.number()).optional(),\n maxHeight: z.string().optional(),\n theme: z.enum([\"light\", \"dark\"]).optional()\n});\nconst LatLngObjectSchema = z.object({\n lat: z.number(),\n lng: z.number()\n});\nconst LatLngTupleSchema = z.tuple([z.number(), z.number()]);\nconst LatLngPointSchema = z.union([LatLngTupleSchema, LatLngObjectSchema]);\nconst MapMarkerSchema = z.object({\n position: LatLngPointSchema,\n tooltip: z.string().optional(),\n popup: z.string().optional()\n});\nconst MapComponentParamsSchema = z.object({\n center: LatLngPointSchema.optional(),\n zoom: z.number().optional(),\n markers: z.array(MapMarkerSchema).optional(),\n height: z.string().optional(),\n fitBounds: z.boolean().optional(),\n zoomControl: z.boolean().optional(),\n scrollWheelZoom: z.boolean().optional(),\n tileLayer: z.string().optional(),\n attribution: z.string().optional()\n});\nconst GraphNodeSchema = z.object({\n id: z.string().min(1),\n label: z.string().optional(),\n type: z.string().optional(),\n // G6 node type: 'circle' | 'rect' | 'image' | …\n size: z.union([z.number(), z.tuple([z.number(), z.number()])]).optional(),\n /**\n * Generic ranking / importance signal. Drives default node size when\n * `size` is omitted, and acts as the sort key for the `concentric`\n * layout (highest weight at center). Domain semantics opaque to the lib.\n */\n weight: z.number().optional(),\n style: z.record(z.unknown()).optional(),\n // passthrough G6 NodeStyle\n data: z.record(z.unknown()).optional()\n // arbitrary metadata for tooltips / click handlers\n});\nconst GraphEdgeSchema = z.object({\n source: z.string().min(1),\n // must match a node.id\n target: z.string().min(1),\n // must match a node.id\n label: z.string().optional(),\n type: z.string().optional(),\n // G6 edge type: 'line' | 'arc' | 'cubic' | 'polyline' | …\n /**\n * Generic strength signal. Drives default edge stroke width and acts\n * as attractive force in `force` layouts. Domain semantics opaque.\n */\n weight: z.number().optional(),\n style: z.record(z.unknown()).optional(),\n data: z.record(z.unknown()).optional()\n});\nconst GraphLayoutNameSchema = z.enum([\n \"force\",\n \"dagre\",\n \"mindmap\",\n \"tree\",\n \"circular\",\n \"grid\",\n \"concentric\"\n]);\nconst GraphLayoutSchema = z.union([\n GraphLayoutNameSchema,\n z.object({\n type: GraphLayoutNameSchema,\n options: z.record(z.unknown()).optional()\n })\n]);\nconst GraphComponentParamsSchema = z.object({\n title: z.string().optional(),\n nodes: z.array(GraphNodeSchema).min(1),\n edges: z.array(GraphEdgeSchema).optional(),\n /**\n * Layout shorthand string OR object form. When omitted, the renderer\n * picks a sensible default: `'force'` if edges are present, `'circular'`\n * otherwise.\n */\n layout: GraphLayoutSchema.optional(),\n height: z.string().optional(),\n // CSS length, default '400px'\n width: z.string().optional(),\n // CSS length, default '100%'\n rendererPref: z.enum([\"canvas\", \"svg\"]).optional(),\n // default 'canvas'\n fitView: z.boolean().optional(),\n // default true\n enableZoom: z.boolean().optional(),\n // default true\n enableDrag: z.boolean().optional(),\n // default true (drag nodes)\n enableSelect: z.boolean().optional(),\n // default true (click-select highlight)\n tooltip: z.boolean().optional(),\n // default true (label + data summary on hover)\n className: z.string().optional()\n});\nconst ChartTypeSchema = z.enum([\n \"bar\",\n \"line\",\n \"pie\",\n \"doughnut\",\n \"radar\",\n \"scatter\",\n \"bubble\",\n \"polarArea\"\n]);\nconst ChartDatasetSchema = z.object({\n label: z.string(),\n // Either an array of numbers or an array of {x, y} points (Chart.js shapes)\n data: z.union([\n z.array(z.number()),\n z.array(\n z.object({\n x: z.union([z.string(), z.number()]),\n y: z.number()\n })\n )\n ]),\n backgroundColor: z.union([z.string(), z.array(z.string())]).optional(),\n borderColor: z.union([z.string(), z.array(z.string())]).optional(),\n borderWidth: z.number().optional(),\n fill: z.union([z.boolean(), z.string()]).optional(),\n tension: z.number().optional()\n});\nconst ChartTimeAxisSchema = z.object({\n parser: z.string().optional(),\n unit: z.enum([\"day\", \"week\", \"month\", \"quarter\", \"year\"]).optional(),\n tooltipFormat: z.string().optional(),\n min: z.string().optional(),\n max: z.string().optional()\n});\nconst ChartComponentParamsSchema = z.object({\n type: ChartTypeSchema,\n title: z.string().optional(),\n data: z.object({\n labels: z.array(z.string()),\n datasets: z.array(ChartDatasetSchema)\n }),\n options: z.object({\n responsive: z.boolean().optional(),\n maintainAspectRatio: z.boolean().optional(),\n tension: z.number().optional(),\n // `scales` and `plugins` are Chart.js opaque config objects — kept loose\n scales: z.unknown().optional(),\n plugins: z.unknown().optional()\n }).optional(),\n renderer: z.enum([\"native\", \"iframe\", \"auto\"]).optional(),\n exportable: z.boolean().optional(),\n timeAxis: ChartTimeAxisSchema.optional(),\n height: z.string().optional(),\n className: z.string().optional()\n});\nconst TableColumnSchema = z.object({\n key: z.string().min(1),\n label: z.string(),\n sortable: z.boolean().optional(),\n width: z.string().optional()\n});\nconst TablePaginationSchema = z.object({\n currentPage: z.number().int().min(1),\n pageSize: z.number().int().min(1),\n totalRows: z.number().int().min(0)\n});\nconst TableVirtualizeOptionsSchema = z.object({\n enabled: z.boolean().optional(),\n rowHeight: z.number().int().min(1).optional(),\n overscan: z.number().int().min(0).optional(),\n threshold: z.number().int().min(1).optional()\n});\nconst TableExportableSchema = z.union([\n z.boolean(),\n z.object({\n formats: z.array(z.enum([\"csv\", \"tsv\", \"json\"])).optional(),\n filename: z.string().optional()\n })\n]);\nconst CitationEntrySchema = z.object({\n page: z.union([z.number(), z.string()]),\n file: z.string().optional(),\n file_id: z.union([z.number(), z.string()]).optional()\n});\nconst TableComponentParamsSchema = z.object({\n title: z.string().optional(),\n columns: z.array(TableColumnSchema).min(1),\n rows: z.array(z.record(z.unknown())),\n pagination: TablePaginationSchema.optional(),\n virtualize: z.union([z.boolean(), TableVirtualizeOptionsSchema]).optional(),\n exportable: TableExportableSchema.optional(),\n className: z.string().optional(),\n // v5.0.3 — opt-in citation chip rendering inside cells\n citationMap: z.record(z.string(), CitationEntrySchema).optional(),\n // v5.0.5 — opt-out of the inline-mode max-height cap. The library defaults\n // a `max-height: 400px` (or 500px when virtualizing) on tables with > 8\n // rows so they don't blow out a chat-stream layout. Pass `'auto'` to\n // disable the cap (when the consumer's wrapping container handles\n // overflow), a number (interpreted as `${n}px`), or any CSS length string\n // to override the value.\n maxHeight: z.union([z.literal(\"auto\"), z.number(), z.string()]).optional()\n});\nconst MetricTrendSchema = z.object({\n value: z.number(),\n direction: z.enum([\"up\", \"down\", \"neutral\"])\n});\nconst MetricComponentParamsSchema = z.object({\n title: z.string().min(1),\n value: z.union([z.string(), z.number()]),\n unit: z.string().optional(),\n trend: MetricTrendSchema.optional(),\n subtitle: z.string().optional(),\n icon: z.string().optional(),\n className: z.string().optional()\n});\nconst TextComponentParamsSchema = z.object({\n content: z.string().min(1),\n markdown: z.boolean().optional(),\n className: z.string().optional()\n});\nconst IframeComponentParamsSchema = z.object({\n url: z.string().min(1),\n title: z.string().optional(),\n height: z.string().optional(),\n className: z.string().optional()\n});\nconst ImageComponentParamsSchema = z.object({\n url: z.string().min(1),\n alt: z.string().optional(),\n caption: z.string().optional(),\n className: z.string().optional()\n});\nconst LinkComponentParamsSchema = z.object({\n url: z.string().min(1),\n label: z.string().optional(),\n description: z.string().optional(),\n className: z.string().optional()\n});\nconst CarouselComponentParamsSchema = z.object({\n items: z.array(z.unknown()).min(1),\n height: z.string().optional(),\n className: z.string().optional()\n});\nconst ArtifactComponentParamsSchema = z.object({\n url: z.string().min(1),\n filename: z.string().min(1),\n mimeType: z.string().min(1),\n size: z.number().int().min(0).optional(),\n description: z.string().optional()\n});\nconst SandboxFlagSchema = z.enum([\n \"allow-scripts\",\n \"allow-same-origin\",\n \"allow-forms\",\n \"allow-popups\",\n \"allow-modals\"\n]);\nconst SecurityConstraintsSchema = z.object({\n requiresAuth: z.boolean().default(false).optional(),\n allowedDomains: z.array(z.string()).optional(),\n maxIframeDepth: z.number().int().min(0).max(3).default(1).optional(),\n sandboxFlags: z.array(SandboxFlagSchema).optional()\n});\nconst PerformanceConstraintsSchema = z.object({\n maxRenderTime: z.number().int().min(100).default(5e3).optional(),\n maxDataSize: z.number().int().min(1024).default(102400).optional()\n});\nconst ComponentSchemaSchema = z.object({\n type: z.literal(\"object\"),\n required: z.array(z.string()).optional(),\n properties: z.record(z.unknown()),\n additionalProperties: z.boolean().optional()\n});\nconst ComponentExampleSchema = z.object({\n name: z.string().min(1),\n description: z.string().optional(),\n params: z.record(z.unknown()),\n position: GridPositionSchema.optional()\n});\nconst ComponentSchema = z.object({\n id: z.string().regex(/^[a-z0-9-]+$/),\n type: ComponentTypeSchema,\n name: z.string().min(1),\n description: z.string().optional(),\n schema: ComponentSchemaSchema,\n examples: z.array(ComponentExampleSchema).min(1),\n security: SecurityConstraintsSchema.optional(),\n performance: PerformanceConstraintsSchema.optional(),\n tags: z.array(z.string().regex(/^[a-z0-9-]+$/)).optional(),\n version: z.string().regex(/^\\d+\\.\\d+\\.\\d+$/).optional(),\n deprecated: z.boolean().default(false).optional(),\n deprecationMessage: z.string().optional()\n});\nconst RegistryMetadataSchema = z.object({\n name: z.string().optional(),\n description: z.string().optional(),\n author: z.string().optional(),\n repository: z.string().url().optional()\n});\nconst ComponentRegistrySchema = z.object({\n version: z.literal(\"1.0.0\"),\n metadata: RegistryMetadataSchema.optional(),\n components: z.array(ComponentSchema).min(1)\n});\nconst ConnectorFollowupSchema = z.object({\n /** Display text of the suggestion. */\n label: z.string().min(1),\n /** The follow-up query to run when the suggestion is picked. */\n query: z.string().optional(),\n /** Normalized intent of the follow-up query. */\n intent: z.string().optional(),\n /** What kind of follow-up this is — drives grouping / iconography. */\n kind: z.enum([\"refine\", \"compare\", \"expand\", \"clarify\"]).optional()\n});\nconst ConnectorActionSchema = ActionParamsSchema;\nconst ConnectorPreferredLayoutSchema = z.enum([\n \"table\",\n \"cards\",\n \"bar\",\n \"line\",\n \"doughnut\",\n \"map\",\n \"metric\"\n]);\nconst ConnectorRenderHintsSchema = z.object({\n /** Preferred top-level layout for `primary`. */\n preferredLayout: ConnectorPreferredLayoutSchema.optional(),\n /** Data domain — drives presets/examples, NOT the same axis as `intent`. */\n domain: z.enum([\"real_estate\", \"dpe\", \"pollution\", \"employment\", \"education\", \"health\", \"generic\"]).optional(),\n /** Connector's confidence in the result, 0..1. */\n confidence: z.number().min(0).max(1).optional()\n});\nconst CONNECTOR_DYNAMIC_RESULT_V1 = \"connector-dynamic-result/v1\";\nconst ConnectorDynamicResultV1Schema = z.object({\n /** Version discriminant — REQUIRED. */\n schemaVersion: z.literal(CONNECTOR_DYNAMIC_RESULT_V1),\n /** Stable id of the connector that produced this result. */\n connectorId: z.string().min(1),\n /** MCP tool that was invoked. */\n toolName: z.string().min(1),\n /** The raw user query. */\n query: z.string(),\n /**\n * Stable key for storing / retrieving persisted presentation feedback.\n * Optional in the payload, but REQUIRED once a feedback entry is\n * persisted against this result. Recommended derivation :\n * `hash(connectorId + toolName + normalizedIntent)` — NOT the raw query,\n * so two close phrasings of the same ask share the key.\n */\n queryHash: z.string().optional(),\n /** Normalized user intent (e.g. `real_estate_city`, `dpe_city`). */\n intent: z.string().optional(),\n /** Primary result — a `UIComponent` or `UILayout` (passthrough, see header). */\n primary: z.record(z.unknown()),\n /** Supplemental components — related datasets, source cards, etc. */\n supplemental: z.array(z.record(z.unknown())).optional(),\n /** Follow-up actions (tool calls / links) the user can trigger. */\n actions: z.array(ConnectorActionSchema).optional(),\n /** Suggested follow-up queries. */\n followups: z.array(ConnectorFollowupSchema).optional(),\n /** Non-binding rendering hints. */\n renderHints: ConnectorRenderHintsSchema.optional()\n});\nconst ConnectorRenderProblemSchema = z.enum([\n \"too_raw\",\n \"wrong_columns\",\n \"wrong_chart\",\n \"missing_context\",\n \"wrong_unit\",\n \"bad_grouping\",\n \"missing_dataset_context\"\n]);\nconst ConnectorRenderFeedbackSchema = z.object({\n /** Connector whose result is being rated. */\n connectorId: z.string().min(1),\n /** Tool that produced the result. */\n toolName: z.string().min(1),\n /** Stable key tying this feedback to a `ConnectorDynamicResultV1.queryHash`. */\n queryHash: z.string().optional(),\n /** What was rated (e.g. `'primary'`, `'supplemental'`). */\n renderKind: z.string().optional(),\n /** The layout type that was shown (e.g. `'table'`, `'bar'`). */\n layoutType: z.string().optional(),\n /** Overall judgement — REQUIRED. */\n verdict: z.enum([\"readable\", \"not_readable\"]),\n /** Zero or more precise problems (refines a `not_readable` verdict). */\n problems: z.array(ConnectorRenderProblemSchema).optional(),\n /** Layout the user would prefer instead. */\n preferredLayout: ConnectorPreferredLayoutSchema.optional(),\n /** Fields the user says are missing from the render. */\n missingFields: z.array(z.string()).optional(),\n /** Columns the user wishes were shown. */\n selectedColumns: z.array(z.string()).optional(),\n /** A unit the user flags as wrong. */\n wrongUnit: z.string().optional(),\n /** A grouping the user flags as wrong. */\n wrongGrouping: z.string().optional(),\n /** Free-text comment. */\n comment: z.string().optional()\n});\nexport {\n ActionGroupGapSchema,\n ActionGroupLayoutSchema,\n ActionGroupParamsSchema,\n ActionParamsSchema,\n ArtifactComponentParamsSchema,\n CONNECTOR_DYNAMIC_RESULT_V1,\n CarouselComponentParamsSchema,\n ChartComponentParamsSchema,\n ChartDatasetSchema,\n ChartTimeAxisSchema,\n ChartTypeSchema,\n CitationEntrySchema,\n CodeComponentParamsSchema,\n ComponentExampleSchema,\n ComponentRegistrySchema,\n ComponentSchema,\n ComponentSchemaSchema,\n ComponentTypeSchema,\n ConnectorActionSchema,\n ConnectorDynamicResultV1Schema,\n ConnectorFollowupSchema,\n ConnectorPreferredLayoutSchema,\n ConnectorRenderFeedbackSchema,\n ConnectorRenderHintsSchema,\n ConnectorRenderProblemSchema,\n FormComponentParamsSchema,\n FormFieldOptionSchema,\n FormFieldSchema,\n FormFieldTypeSchema,\n FormSubmitActionSchema,\n GalleryImageSchema,\n GraphComponentParamsSchema,\n GraphEdgeSchema,\n GraphLayoutNameSchema,\n GraphLayoutSchema,\n GraphNodeSchema,\n GridPositionSchema,\n IframeComponentParamsSchema,\n ImageComponentParamsSchema,\n ImageGalleryAspectRatioSchema,\n ImageGalleryColumnsSchema,\n ImageGalleryGapSchema,\n ImageGalleryParamsSchema,\n LatLngObjectSchema,\n LatLngPointSchema,\n LatLngTupleSchema,\n LinkComponentParamsSchema,\n MapComponentParamsSchema,\n MapMarkerSchema,\n MetricComponentParamsSchema,\n MetricTrendSchema,\n ModalComponentParamsSchema,\n ModalSizeSchema,\n PerformanceConstraintsSchema,\n PrefillSourceSchema,\n RegistryMetadataSchema,\n SandboxFlagSchema,\n SecurityConstraintsSchema,\n ShowWhenConditionSchema,\n ShowWhenOperatorSchema,\n TableColumnSchema,\n TableComponentParamsSchema,\n TableExportableSchema,\n TablePaginationSchema,\n TableVirtualizeOptionsSchema,\n TextComponentParamsSchema,\n VideoAspectRatioSchema,\n VideoComponentParamsSchema\n};\n//# sourceMappingURL=schemas.js.map\n"],"names":["z.object","z.number","z.enum","z.string","z.boolean","z.any","z.union","z.array","z.record","z.unknown","z.literal","z.tuple"],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const registry = /* @__PURE__ */ new Map();
|
|
4
|
+
let moduleReporter = null;
|
|
5
|
+
function setDuplicateMountReporter(reporter) {
|
|
6
|
+
moduleReporter = reporter;
|
|
7
|
+
}
|
|
8
|
+
function getDuplicateMountReporter() {
|
|
9
|
+
return moduleReporter;
|
|
10
|
+
}
|
|
11
|
+
function _registerMount(key) {
|
|
12
|
+
const entry = registry.get(key) ?? { count: 0, firstMountedAt: Date.now() };
|
|
13
|
+
entry.count += 1;
|
|
14
|
+
registry.set(key, entry);
|
|
15
|
+
return { key, count: entry.count, firstMountedAt: entry.firstMountedAt };
|
|
16
|
+
}
|
|
17
|
+
function _unregisterMount(key) {
|
|
18
|
+
const entry = registry.get(key);
|
|
19
|
+
if (!entry) return;
|
|
20
|
+
entry.count -= 1;
|
|
21
|
+
if (entry.count <= 0) registry.delete(key);
|
|
22
|
+
}
|
|
23
|
+
exports._registerMount = _registerMount;
|
|
24
|
+
exports._unregisterMount = _unregisterMount;
|
|
25
|
+
exports.getDuplicateMountReporter = getDuplicateMountReporter;
|
|
26
|
+
exports.setDuplicateMountReporter = setDuplicateMountReporter;
|
|
27
|
+
//# sourceMappingURL=duplicate-mount-registry.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"duplicate-mount-registry.cjs","sources":["../../src/utils/duplicate-mount-registry.ts"],"sourcesContent":["/**\n * Opt-in duplicate-mount registry (v6.5.0).\n *\n * Tracks how many times each `getUiResourceStableKey()` has been mounted\n * concurrently across all `<UIResourceRenderer>` instances. When the same\n * key is mounted more than once, registered reporters fire so consumers\n * can detect double-render bugs in their parent framework.\n *\n * **Opt-in by design** : the registry is always populated (cheap), but\n * notifications only fire when a consumer has wired one of the two opt-in\n * paths :\n * - module-level `setDuplicateMountReporter(fn)` (app-wide telemetry)\n * - per-instance `<UIResourceRenderer onMountDuplicate={fn}>` prop\n *\n * **What this does NOT do** : visual deduplication. The renderer never\n * hides or replaces a duplicate mount automatically — that would mask\n * parent-framework bugs and could remove legitimate co-mounts (e.g. drawer\n * + main panel showing the same card). Consumers who want dedup implement\n * it on top of the reported events.\n */\n\nexport interface DuplicateMountInfo {\n /** Stable key from `getUiResourceStableKey(content)`. */\n key: string\n /**\n * Current concurrent mount count. The reporter fires whenever this\n * crosses 2 (i.e. on the 2nd, 3rd, etc. mount of the same key while\n * earlier mounts are still alive).\n */\n count: number\n /** `Date.now()` of the FIRST mount of this key (telemetry, not identity). */\n firstMountedAt: number\n}\n\nexport type DuplicateMountReporter = (info: DuplicateMountInfo) => void\n\nconst registry = new Map<string, { count: number; firstMountedAt: number }>()\nlet moduleReporter: DuplicateMountReporter | null = null\n\n/**\n * Wire a module-level reporter for duplicate mount events. Pass `null` to\n * unwire. Only one module reporter at a time (replaces any previous one).\n *\n * @example\n * ```ts\n * import { setDuplicateMountReporter } from '@seed-ship/mcp-ui-solid'\n *\n * setDuplicateMountReporter(({ key, count }) => {\n * telemetry.warn('mcp-ui.duplicate-mount', { key, count })\n * })\n * ```\n */\nexport function setDuplicateMountReporter(reporter: DuplicateMountReporter | null): void {\n moduleReporter = reporter\n}\n\n/**\n * Internal — read by `<UIResourceRenderer>` to dispatch on mount. Not part\n * of the public API.\n *\n * @internal\n */\nexport function getDuplicateMountReporter(): DuplicateMountReporter | null {\n return moduleReporter\n}\n\n/**\n * Internal — registers a mount for `key` and returns the resulting state.\n * The caller decides whether to surface a notification based on `count > 1`.\n *\n * @internal\n */\nexport function _registerMount(key: string): DuplicateMountInfo {\n const entry = registry.get(key) ?? { count: 0, firstMountedAt: Date.now() }\n entry.count += 1\n registry.set(key, entry)\n return { key, count: entry.count, firstMountedAt: entry.firstMountedAt }\n}\n\n/**\n * Internal — undoes a prior `_registerMount(key)`. Removes the entry when\n * the count reaches zero so the registry never leaks across mount/unmount\n * cycles of unique keys.\n *\n * @internal\n */\nexport function _unregisterMount(key: string): void {\n const entry = registry.get(key)\n if (!entry) return\n entry.count -= 1\n if (entry.count <= 0) registry.delete(key)\n}\n\n/**\n * Internal — clears the registry and unwires any module reporter. Used by\n * tests to ensure isolation between cases.\n *\n * @internal\n */\nexport function _resetRegistry(): void {\n registry.clear()\n moduleReporter = null\n}\n\n/**\n * Internal — read the current count for a key (0 if not mounted). Useful\n * for tests and for consumers building their own debug overlays.\n *\n * @internal\n */\nexport function _getMountCount(key: string): number {\n return registry.get(key)?.count ?? 0\n}\n"],"names":[],"mappings":";;AAoCA,MAAM,+BAAe,IAAA;AACrB,IAAI,iBAAgD;AAe7C,SAAS,0BAA0B,UAA+C;AACvF,mBAAiB;AACnB;AAQO,SAAS,4BAA2D;AACzE,SAAO;AACT;AAQO,SAAS,eAAe,KAAiC;AAC9D,QAAM,QAAQ,SAAS,IAAI,GAAG,KAAK,EAAE,OAAO,GAAG,gBAAgB,KAAK,IAAA,EAAI;AACxE,QAAM,SAAS;AACf,WAAS,IAAI,KAAK,KAAK;AACvB,SAAO,EAAE,KAAK,OAAO,MAAM,OAAO,gBAAgB,MAAM,eAAA;AAC1D;AASO,SAAS,iBAAiB,KAAmB;AAClD,QAAM,QAAQ,SAAS,IAAI,GAAG;AAC9B,MAAI,CAAC,MAAO;AACZ,QAAM,SAAS;AACf,MAAI,MAAM,SAAS,EAAG,UAAS,OAAO,GAAG;AAC3C;;;;;"}
|