@seed-ship/mcp-ui-solid 6.5.0 → 6.6.1

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.
Files changed (104) hide show
  1. package/CHANGELOG.md +161 -0
  2. package/README.md +37 -0
  3. package/dist/adapters/connector.cjs +112 -0
  4. package/dist/adapters/connector.cjs.map +1 -0
  5. package/dist/adapters/connector.d.ts +71 -0
  6. package/dist/adapters/connector.d.ts.map +1 -0
  7. package/dist/adapters/connector.js +112 -0
  8. package/dist/adapters/connector.js.map +1 -0
  9. package/dist/adapters/index.d.ts +18 -0
  10. package/dist/adapters/index.d.ts.map +1 -0
  11. package/dist/adapters.cjs +6 -0
  12. package/dist/adapters.cjs.map +1 -0
  13. package/dist/adapters.d.cts +18 -0
  14. package/dist/adapters.d.ts +18 -0
  15. package/dist/adapters.js +6 -0
  16. package/dist/adapters.js.map +1 -0
  17. package/dist/components/ActionGroupRenderer.cjs +12 -3
  18. package/dist/components/ActionGroupRenderer.cjs.map +1 -1
  19. package/dist/components/ActionGroupRenderer.d.ts.map +1 -1
  20. package/dist/components/ActionGroupRenderer.js +12 -3
  21. package/dist/components/ActionGroupRenderer.js.map +1 -1
  22. package/dist/components/ExpandableWrapper.cjs +24 -6
  23. package/dist/components/ExpandableWrapper.cjs.map +1 -1
  24. package/dist/components/ExpandableWrapper.d.ts.map +1 -1
  25. package/dist/components/ExpandableWrapper.js +24 -6
  26. package/dist/components/ExpandableWrapper.js.map +1 -1
  27. package/dist/components/FeedbackInline.cjs +6 -2
  28. package/dist/components/FeedbackInline.cjs.map +1 -1
  29. package/dist/components/FeedbackInline.d.ts +2 -2
  30. package/dist/components/FeedbackInline.d.ts.map +1 -1
  31. package/dist/components/FeedbackInline.js +7 -3
  32. package/dist/components/FeedbackInline.js.map +1 -1
  33. package/dist/components/PresentationFeedback.cjs +207 -0
  34. package/dist/components/PresentationFeedback.cjs.map +1 -0
  35. package/dist/components/PresentationFeedback.d.ts +113 -0
  36. package/dist/components/PresentationFeedback.d.ts.map +1 -0
  37. package/dist/components/PresentationFeedback.js +207 -0
  38. package/dist/components/PresentationFeedback.js.map +1 -0
  39. package/dist/components/StreamingUIRenderer.cjs +82 -195
  40. package/dist/components/StreamingUIRenderer.cjs.map +1 -1
  41. package/dist/components/StreamingUIRenderer.d.ts +25 -5
  42. package/dist/components/StreamingUIRenderer.d.ts.map +1 -1
  43. package/dist/components/StreamingUIRenderer.js +84 -197
  44. package/dist/components/StreamingUIRenderer.js.map +1 -1
  45. package/dist/components/UIResourceRenderer.cjs +22 -15
  46. package/dist/components/UIResourceRenderer.cjs.map +1 -1
  47. package/dist/components/UIResourceRenderer.d.ts.map +1 -1
  48. package/dist/components/UIResourceRenderer.js +22 -15
  49. package/dist/components/UIResourceRenderer.js.map +1 -1
  50. package/dist/components/index.d.ts +2 -0
  51. package/dist/components/index.d.ts.map +1 -1
  52. package/dist/components.cjs +3 -0
  53. package/dist/components.cjs.map +1 -1
  54. package/dist/components.d.cts +2 -0
  55. package/dist/components.d.ts +2 -0
  56. package/dist/components.js +3 -0
  57. package/dist/components.js.map +1 -1
  58. package/dist/context/MCPActionContext.cjs +4 -1
  59. package/dist/context/MCPActionContext.cjs.map +1 -1
  60. package/dist/context/MCPActionContext.d.ts +13 -1
  61. package/dist/context/MCPActionContext.d.ts.map +1 -1
  62. package/dist/context/MCPActionContext.js +4 -1
  63. package/dist/context/MCPActionContext.js.map +1 -1
  64. package/dist/context/MCPUIStringsContext.cjs +38 -0
  65. package/dist/context/MCPUIStringsContext.cjs.map +1 -0
  66. package/dist/context/MCPUIStringsContext.d.ts +95 -0
  67. package/dist/context/MCPUIStringsContext.d.ts.map +1 -0
  68. package/dist/context/MCPUIStringsContext.js +38 -0
  69. package/dist/context/MCPUIStringsContext.js.map +1 -0
  70. package/dist/index.cjs +8 -0
  71. package/dist/index.cjs.map +1 -1
  72. package/dist/index.d.cts +5 -0
  73. package/dist/index.d.ts +5 -0
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +8 -0
  76. package/dist/index.js.map +1 -1
  77. package/dist/mcp-ui-spec/dist/schemas.cjs +103 -0
  78. package/dist/mcp-ui-spec/dist/schemas.cjs.map +1 -1
  79. package/dist/mcp-ui-spec/dist/schemas.js +103 -0
  80. package/dist/mcp-ui-spec/dist/schemas.js.map +1 -1
  81. package/docs/briefs/ROADMAP-opendata-macro-mcpui.md +912 -0
  82. package/package.json +17 -5
  83. package/src/adapters/connector.test.ts +165 -0
  84. package/src/adapters/connector.ts +234 -0
  85. package/src/adapters/index.ts +24 -0
  86. package/src/components/ActionGroupRenderer.test.tsx +1 -0
  87. package/src/components/ActionGroupRenderer.tsx +19 -4
  88. package/src/components/ActionSubmit.test.tsx +188 -0
  89. package/src/components/ExpandableWrapper.test.tsx +5 -2
  90. package/src/components/ExpandableWrapper.tsx +8 -6
  91. package/src/components/FeedbackInline.test.tsx +6 -3
  92. package/src/components/FeedbackInline.tsx +8 -6
  93. package/src/components/PresentationFeedback.test.tsx +163 -0
  94. package/src/components/PresentationFeedback.tsx +326 -0
  95. package/src/components/StreamingUIRenderer.parity.test.tsx +158 -0
  96. package/src/components/StreamingUIRenderer.tsx +42 -166
  97. package/src/components/UIResourceRenderer.tsx +19 -6
  98. package/src/components/index.ts +10 -0
  99. package/src/context/MCPActionContext.tsx +17 -1
  100. package/src/context/MCPUIStringsContext.test.tsx +116 -0
  101. package/src/context/MCPUIStringsContext.tsx +128 -0
  102. package/src/index.ts +27 -0
  103. package/tsconfig.tsbuildinfo +1 -1
  104. package/vite.config.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { UIResourceRenderer, renderCellValue } from "./components/UIResourceRenderer.js";
2
2
  import { StreamingUIRenderer } from "./components/StreamingUIRenderer.js";
3
+ import { DEFAULT_PRESENTATION_FEEDBACK_LABELS, PresentationFeedback } from "./components/PresentationFeedback.js";
3
4
  import { GenerativeUIErrorBoundary } from "./components/GenerativeUIErrorBoundary.js";
4
5
  import "solid-js/web";
5
6
  import "solid-js";
@@ -41,6 +42,7 @@ import { isDebugEnabled, setDebugMode } from "./utils/logger.js";
41
42
  import { PERF_PREFIX, markRenderEnd, markRenderStart } from "./utils/perf.js";
42
43
  import { getUiResourceStableKey } from "./utils/stable-key.js";
43
44
  import { setDuplicateMountReporter } from "./utils/duplicate-mount-registry.js";
45
+ import { DEFAULT_MCPUI_STRINGS, MCPUIStringsContext, MCPUIStringsProvider, useMCPUIStrings } from "./context/MCPUIStringsContext.js";
44
46
  import { MCPUITelemetryContext, MCPUITelemetryProvider, useTelemetry } from "./context/MCPUITelemetryContext.js";
45
47
  import { createTelemetryDispatcher } from "./services/telemetry.js";
46
48
  import { useStreamingUI } from "./hooks/useStreamingUI.js";
@@ -76,6 +78,8 @@ export {
76
78
  ComponentRegistry,
77
79
  ComponentToolbar,
78
80
  DEFAULT_IFRAME_DOMAINS,
81
+ DEFAULT_MCPUI_STRINGS,
82
+ DEFAULT_PRESENTATION_FEEDBACK_LABELS,
79
83
  DEFAULT_RESOURCE_LIMITS,
80
84
  DataPreviewSection,
81
85
  DraggableGridItem,
@@ -89,10 +93,13 @@ export {
89
93
  GraphRenderer,
90
94
  MCPActionContext,
91
95
  MCPActionProvider,
96
+ MCPUIStringsContext,
97
+ MCPUIStringsProvider,
92
98
  MCPUITelemetryContext,
93
99
  MCPUITelemetryProvider,
94
100
  PERF_PREFIX,
95
101
  PortalDropdownMenu,
102
+ PresentationFeedback,
96
103
  PromptReplacedError,
97
104
  ResizeHandle,
98
105
  ScratchpadPanel,
@@ -146,6 +153,7 @@ export {
146
153
  useFormPersistence,
147
154
  useMCPAction,
148
155
  useMCPActionSafe,
156
+ useMCPUIStrings,
149
157
  useModal,
150
158
  useResize,
151
159
  useScratchpadState,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -545,11 +545,108 @@ types.object({
545
545
  metadata: RegistryMetadataSchema.optional(),
546
546
  components: types.array(ComponentSchema).min(1)
547
547
  });
548
+ const ConnectorFollowupSchema = types.object({
549
+ /** Display text of the suggestion. */
550
+ label: types.string().min(1),
551
+ /** The follow-up query to run when the suggestion is picked. */
552
+ query: types.string().optional(),
553
+ /** Normalized intent of the follow-up query. */
554
+ intent: types.string().optional(),
555
+ /** What kind of follow-up this is — drives grouping / iconography. */
556
+ kind: types.enum(["refine", "compare", "expand", "clarify"]).optional()
557
+ });
558
+ const ConnectorActionSchema = ActionParamsSchema;
559
+ const ConnectorPreferredLayoutSchema = types.enum([
560
+ "table",
561
+ "cards",
562
+ "bar",
563
+ "line",
564
+ "doughnut",
565
+ "map",
566
+ "metric"
567
+ ]);
568
+ const ConnectorRenderHintsSchema = types.object({
569
+ /** Preferred top-level layout for `primary`. */
570
+ preferredLayout: ConnectorPreferredLayoutSchema.optional(),
571
+ /** Data domain — drives presets/examples, NOT the same axis as `intent`. */
572
+ domain: types.enum(["real_estate", "dpe", "pollution", "employment", "education", "health", "generic"]).optional(),
573
+ /** Connector's confidence in the result, 0..1. */
574
+ confidence: types.number().min(0).max(1).optional()
575
+ });
576
+ const CONNECTOR_DYNAMIC_RESULT_V1 = "connector-dynamic-result/v1";
577
+ const ConnectorDynamicResultV1Schema = types.object({
578
+ /** Version discriminant — REQUIRED. */
579
+ schemaVersion: types.literal(CONNECTOR_DYNAMIC_RESULT_V1),
580
+ /** Stable id of the connector that produced this result. */
581
+ connectorId: types.string().min(1),
582
+ /** MCP tool that was invoked. */
583
+ toolName: types.string().min(1),
584
+ /** The raw user query. */
585
+ query: types.string(),
586
+ /**
587
+ * Stable key for storing / retrieving persisted presentation feedback.
588
+ * Optional in the payload, but REQUIRED once a feedback entry is
589
+ * persisted against this result. Recommended derivation :
590
+ * `hash(connectorId + toolName + normalizedIntent)` — NOT the raw query,
591
+ * so two close phrasings of the same ask share the key.
592
+ */
593
+ queryHash: types.string().optional(),
594
+ /** Normalized user intent (e.g. `real_estate_city`, `dpe_city`). */
595
+ intent: types.string().optional(),
596
+ /** Primary result — a `UIComponent` or `UILayout` (passthrough, see header). */
597
+ primary: types.record(types.unknown()),
598
+ /** Supplemental components — related datasets, source cards, etc. */
599
+ supplemental: types.array(types.record(types.unknown())).optional(),
600
+ /** Follow-up actions (tool calls / links) the user can trigger. */
601
+ actions: types.array(ConnectorActionSchema).optional(),
602
+ /** Suggested follow-up queries. */
603
+ followups: types.array(ConnectorFollowupSchema).optional(),
604
+ /** Non-binding rendering hints. */
605
+ renderHints: ConnectorRenderHintsSchema.optional()
606
+ });
607
+ const ConnectorRenderProblemSchema = types.enum([
608
+ "too_raw",
609
+ "wrong_columns",
610
+ "wrong_chart",
611
+ "missing_context",
612
+ "wrong_unit",
613
+ "bad_grouping",
614
+ "missing_dataset_context"
615
+ ]);
616
+ types.object({
617
+ /** Connector whose result is being rated. */
618
+ connectorId: types.string().min(1),
619
+ /** Tool that produced the result. */
620
+ toolName: types.string().min(1),
621
+ /** Stable key tying this feedback to a `ConnectorDynamicResultV1.queryHash`. */
622
+ queryHash: types.string().optional(),
623
+ /** What was rated (e.g. `'primary'`, `'supplemental'`). */
624
+ renderKind: types.string().optional(),
625
+ /** The layout type that was shown (e.g. `'table'`, `'bar'`). */
626
+ layoutType: types.string().optional(),
627
+ /** Overall judgement — REQUIRED. */
628
+ verdict: types.enum(["readable", "not_readable"]),
629
+ /** Zero or more precise problems (refines a `not_readable` verdict). */
630
+ problems: types.array(ConnectorRenderProblemSchema).optional(),
631
+ /** Layout the user would prefer instead. */
632
+ preferredLayout: ConnectorPreferredLayoutSchema.optional(),
633
+ /** Fields the user says are missing from the render. */
634
+ missingFields: types.array(types.string()).optional(),
635
+ /** Columns the user wishes were shown. */
636
+ selectedColumns: types.array(types.string()).optional(),
637
+ /** A unit the user flags as wrong. */
638
+ wrongUnit: types.string().optional(),
639
+ /** A grouping the user flags as wrong. */
640
+ wrongGrouping: types.string().optional(),
641
+ /** Free-text comment. */
642
+ comment: types.string().optional()
643
+ });
548
644
  exports.ActionGroupGapSchema = ActionGroupGapSchema;
549
645
  exports.ActionGroupLayoutSchema = ActionGroupLayoutSchema;
550
646
  exports.ActionGroupParamsSchema = ActionGroupParamsSchema;
551
647
  exports.ActionParamsSchema = ActionParamsSchema;
552
648
  exports.ArtifactComponentParamsSchema = ArtifactComponentParamsSchema;
649
+ exports.CONNECTOR_DYNAMIC_RESULT_V1 = CONNECTOR_DYNAMIC_RESULT_V1;
553
650
  exports.CarouselComponentParamsSchema = CarouselComponentParamsSchema;
554
651
  exports.ChartDatasetSchema = ChartDatasetSchema;
555
652
  exports.ChartTimeAxisSchema = ChartTimeAxisSchema;
@@ -560,6 +657,12 @@ exports.ComponentExampleSchema = ComponentExampleSchema;
560
657
  exports.ComponentSchema = ComponentSchema;
561
658
  exports.ComponentSchemaSchema = ComponentSchemaSchema;
562
659
  exports.ComponentTypeSchema = ComponentTypeSchema;
660
+ exports.ConnectorActionSchema = ConnectorActionSchema;
661
+ exports.ConnectorDynamicResultV1Schema = ConnectorDynamicResultV1Schema;
662
+ exports.ConnectorFollowupSchema = ConnectorFollowupSchema;
663
+ exports.ConnectorPreferredLayoutSchema = ConnectorPreferredLayoutSchema;
664
+ exports.ConnectorRenderHintsSchema = ConnectorRenderHintsSchema;
665
+ exports.ConnectorRenderProblemSchema = ConnectorRenderProblemSchema;
563
666
  exports.FormComponentParamsSchema = FormComponentParamsSchema;
564
667
  exports.FormFieldOptionSchema = FormFieldOptionSchema;
565
668
  exports.FormFieldSchema = FormFieldSchema;
@@ -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,