@seed-ship/mcp-ui-solid 5.4.0 → 5.5.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.
Files changed (42) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/dist/mcp-ui-spec/dist/schemas.cjs +493 -0
  3. package/dist/mcp-ui-spec/dist/schemas.cjs.map +1 -0
  4. package/dist/mcp-ui-spec/dist/schemas.js +493 -0
  5. package/dist/mcp-ui-spec/dist/schemas.js.map +1 -0
  6. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.cjs +118 -0
  7. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.cjs.map +1 -0
  8. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.js +118 -0
  9. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.js.map +1 -0
  10. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.cjs +10 -0
  11. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.cjs.map +1 -0
  12. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.js +10 -0
  13. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.js.map +1 -0
  14. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.cjs +8 -0
  15. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.cjs.map +1 -0
  16. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js +9 -0
  17. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js.map +1 -0
  18. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.cjs +122 -0
  19. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.cjs.map +1 -0
  20. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js +122 -0
  21. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js.map +1 -0
  22. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.cjs +137 -0
  23. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.cjs.map +1 -0
  24. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.js +139 -0
  25. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.js.map +1 -0
  26. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.cjs +105 -0
  27. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.cjs.map +1 -0
  28. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.js +106 -0
  29. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.js.map +1 -0
  30. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.cjs +3229 -0
  31. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.cjs.map +1 -0
  32. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js +3230 -0
  33. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js.map +1 -0
  34. package/dist/services/validation.cjs +70 -152
  35. package/dist/services/validation.cjs.map +1 -1
  36. package/dist/services/validation.d.ts.map +1 -1
  37. package/dist/services/validation.js +70 -152
  38. package/dist/services/validation.js.map +1 -1
  39. package/package.json +3 -2
  40. package/src/services/validation.spec-migration.test.ts +207 -0
  41. package/src/services/validation.ts +132 -178
  42. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,493 @@
1
+ import { object as objectType, number as numberType, enum as enumType, boolean as booleanType, string as stringType, any as anyType, record as recordType, array as arrayType, union as unionType, unknown as unknownType, literal as literalType, tuple as tupleType } from "../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js";
2
+ const GridPositionSchema = objectType({
3
+ colStart: numberType().int().min(1).max(12),
4
+ colSpan: numberType().int().min(1).max(12),
5
+ rowStart: numberType().int().min(1).optional(),
6
+ rowSpan: numberType().int().min(1).default(1).optional()
7
+ });
8
+ const ComponentTypeSchema = enumType([
9
+ "chart",
10
+ "table",
11
+ "metric",
12
+ "text",
13
+ "composite",
14
+ "grid",
15
+ // Phase 5.0: Nested grid layouts
16
+ "iframe",
17
+ "image",
18
+ "link",
19
+ "action",
20
+ // Phase 5.0: Tool call actions
21
+ "footer",
22
+ // Phase 5.0: Metadata footer
23
+ "carousel",
24
+ "artifact",
25
+ "form",
26
+ // Sprint 1: Form component
27
+ "modal",
28
+ // Sprint 3: Modal/dialog component
29
+ "action-group",
30
+ // Sprint 3: Action grouping component
31
+ "image-gallery",
32
+ // Sprint 5: Image gallery with lightbox
33
+ "video",
34
+ // Sprint 5: Video embed (YouTube, Vimeo, direct)
35
+ "code",
36
+ // Sprint 6: Syntax highlighted code block
37
+ "map"
38
+ // Sprint 6: Interactive map (Leaflet)
39
+ ]);
40
+ const FormFieldOptionSchema = objectType({
41
+ label: stringType().min(1),
42
+ value: stringType(),
43
+ disabled: booleanType().optional()
44
+ });
45
+ const FormFieldTypeSchema = enumType([
46
+ "text",
47
+ "email",
48
+ "password",
49
+ "number",
50
+ "date",
51
+ "textarea",
52
+ "select",
53
+ "checkbox",
54
+ "radio",
55
+ "autocomplete",
56
+ "range",
57
+ "tags",
58
+ "toggle",
59
+ "fieldset"
60
+ ]);
61
+ const ShowWhenOperatorSchema = enumType([
62
+ "equals",
63
+ "notEquals",
64
+ "in",
65
+ "notIn",
66
+ "contains",
67
+ "startsWith",
68
+ "endsWith",
69
+ "greaterThan",
70
+ "lessThan",
71
+ "isEmpty",
72
+ "isNotEmpty",
73
+ "isTrue",
74
+ "isFalse"
75
+ ]);
76
+ const ShowWhenConditionSchema = objectType({
77
+ field: stringType().min(1),
78
+ operator: ShowWhenOperatorSchema,
79
+ value: anyType().optional()
80
+ });
81
+ const PrefillSourceSchema = enumType(["user", "detected", "inferred", "default"]);
82
+ const FormFieldSchema = objectType({
83
+ name: stringType().regex(/^[a-zA-Z][a-zA-Z0-9_]*$/),
84
+ type: FormFieldTypeSchema,
85
+ label: stringType().optional(),
86
+ placeholder: stringType().optional(),
87
+ helpText: stringType().optional(),
88
+ required: booleanType().optional(),
89
+ disabled: booleanType().optional(),
90
+ defaultValue: anyType().optional(),
91
+ // Prefill — pre-populated value with source tracking (v4.2.0)
92
+ prefill: unionType([stringType(), arrayType(stringType())]).optional(),
93
+ displayHint: stringType().optional(),
94
+ source: PrefillSourceSchema.optional(),
95
+ muted: booleanType().optional(),
96
+ // Prefill mode for autocomplete fields (v4.3.0)
97
+ prefillMode: enumType(["exact", "resolve"]).optional(),
98
+ // Value format validation (v4.3.0)
99
+ valueFormat: stringType().optional(),
100
+ valueFormatHint: stringType().optional(),
101
+ // Text/textarea specific
102
+ minLength: numberType().int().min(0).optional(),
103
+ maxLength: numberType().int().min(1).optional(),
104
+ pattern: stringType().optional(),
105
+ // Number specific
106
+ min: numberType().optional(),
107
+ max: numberType().optional(),
108
+ step: numberType().optional(),
109
+ // Date specific
110
+ minDate: stringType().optional(),
111
+ maxDate: stringType().optional(),
112
+ // Select/Radio specific
113
+ options: arrayType(FormFieldOptionSchema).optional(),
114
+ // Multi-select (v2.6.0)
115
+ multiple: booleanType().optional(),
116
+ // Autocomplete specific (v2.6.0)
117
+ apiUrl: stringType().url().optional(),
118
+ searchParam: stringType().optional(),
119
+ labelField: stringType().optional(),
120
+ valueField: stringType().optional(),
121
+ extraParams: recordType(stringType()).optional(),
122
+ minChars: numberType().int().min(0).optional(),
123
+ debounceMs: numberType().int().min(0).optional(),
124
+ // Dependent field (v2.7.0)
125
+ dependsOn: objectType({
126
+ field: stringType(),
127
+ apiUrl: stringType(),
128
+ labelField: stringType(),
129
+ valueField: stringType(),
130
+ extraParams: recordType(stringType()).optional()
131
+ }).optional(),
132
+ // Field status — API capability indicator (v2.11.0)
133
+ fieldStatus: enumType(["required", "optional", "unsupported", "unknown"]).optional(),
134
+ statusReason: stringType().optional(),
135
+ // Checkbox specific
136
+ checkboxLabel: stringType().optional(),
137
+ // Textarea specific
138
+ rows: numberType().int().min(1).max(20).optional(),
139
+ // Conditional visibility
140
+ showWhen: ShowWhenConditionSchema.optional()
141
+ });
142
+ const FormSubmitActionSchema = objectType({
143
+ toolName: stringType().min(1),
144
+ params: recordType(unknownType()).optional()
145
+ });
146
+ objectType({
147
+ title: stringType().optional(),
148
+ fields: arrayType(FormFieldSchema).min(1),
149
+ submitLabel: stringType().optional(),
150
+ showReset: booleanType().optional(),
151
+ submitAction: FormSubmitActionSchema.optional(),
152
+ // Persistence options (Sprint 4)
153
+ persistKey: stringType().optional(),
154
+ excludeFromPersistence: arrayType(stringType()).optional(),
155
+ persistExpiresIn: numberType().int().positive().optional(),
156
+ layout: enumType(["vertical", "horizontal", "inline"]).optional(),
157
+ // Auto-submit countdown in ms when all required fields are prefilled (v4.2.0)
158
+ autoSubmitDelay: numberType().int().min(1e3).max(3e4).optional()
159
+ });
160
+ const ModalSizeSchema = enumType(["sm", "md", "lg", "xl", "full"]);
161
+ objectType({
162
+ title: stringType().optional(),
163
+ size: ModalSizeSchema.optional(),
164
+ showClose: booleanType().optional(),
165
+ closeOnEscape: booleanType().optional(),
166
+ closeOnBackdrop: booleanType().optional(),
167
+ maxHeight: stringType().optional()
168
+ // Note: content and footer are UIComponent references, validated separately
169
+ });
170
+ const ActionGroupLayoutSchema = enumType([
171
+ "horizontal",
172
+ "vertical",
173
+ "space-between",
174
+ "end",
175
+ "center"
176
+ ]);
177
+ const ActionGroupGapSchema = enumType(["none", "sm", "md", "lg"]);
178
+ const ActionParamsSchema = objectType({
179
+ label: stringType().min(1),
180
+ type: enumType(["button", "link"]).optional(),
181
+ action: enumType(["tool-call", "link", "submit"]).optional(),
182
+ toolName: stringType().optional(),
183
+ params: recordType(unknownType()).optional(),
184
+ url: stringType().optional(),
185
+ variant: enumType(["primary", "secondary", "outline", "ghost", "danger"]).optional(),
186
+ size: enumType(["sm", "md", "lg"]).optional(),
187
+ icon: stringType().optional(),
188
+ disabled: booleanType().optional()
189
+ });
190
+ const ActionGroupParamsSchema = objectType({
191
+ actions: arrayType(ActionParamsSchema).min(1),
192
+ layout: ActionGroupLayoutSchema.optional(),
193
+ gap: ActionGroupGapSchema.optional(),
194
+ fullWidth: booleanType().optional(),
195
+ label: stringType().optional()
196
+ });
197
+ const GalleryImageSchema = objectType({
198
+ url: stringType().url(),
199
+ thumbnail: stringType().url().optional(),
200
+ alt: stringType().optional(),
201
+ caption: stringType().optional(),
202
+ srcset: stringType().optional(),
203
+ sizes: stringType().optional()
204
+ });
205
+ enumType(["2", "3", "4", "5"]).transform(Number);
206
+ const ImageGalleryGapSchema = enumType(["none", "sm", "md", "lg"]);
207
+ const ImageGalleryAspectRatioSchema = enumType(["1:1", "16:9", "4:3", "auto"]);
208
+ const ImageGalleryParamsSchema = objectType({
209
+ title: stringType().optional(),
210
+ images: arrayType(GalleryImageSchema).min(1),
211
+ columns: unionType([literalType(2), literalType(3), literalType(4), literalType(5)]).optional(),
212
+ gap: ImageGalleryGapSchema.optional(),
213
+ aspectRatio: ImageGalleryAspectRatioSchema.optional(),
214
+ lightbox: booleanType().optional(),
215
+ showCaptions: booleanType().optional()
216
+ });
217
+ const VideoAspectRatioSchema = enumType(["16:9", "4:3", "1:1", "21:9"]);
218
+ const VideoComponentParamsSchema = objectType({
219
+ url: stringType().url(),
220
+ title: stringType().optional(),
221
+ caption: stringType().optional(),
222
+ poster: stringType().url().optional(),
223
+ aspectRatio: VideoAspectRatioSchema.optional(),
224
+ autoplay: booleanType().optional(),
225
+ controls: booleanType().optional(),
226
+ loop: booleanType().optional(),
227
+ muted: booleanType().optional(),
228
+ startTime: numberType().int().min(0).optional()
229
+ });
230
+ const CodeComponentParamsSchema = objectType({
231
+ code: stringType(),
232
+ language: stringType().optional(),
233
+ filename: stringType().optional(),
234
+ showLineNumbers: booleanType().optional(),
235
+ startLine: numberType().optional(),
236
+ highlightLines: arrayType(numberType()).optional(),
237
+ maxHeight: stringType().optional(),
238
+ theme: enumType(["light", "dark"]).optional()
239
+ });
240
+ const MapMarkerSchema = objectType({
241
+ position: tupleType([numberType(), numberType()]),
242
+ tooltip: stringType().optional(),
243
+ popup: stringType().optional()
244
+ });
245
+ objectType({
246
+ center: tupleType([numberType(), numberType()]).optional(),
247
+ zoom: numberType().optional(),
248
+ markers: arrayType(MapMarkerSchema).optional(),
249
+ height: stringType().optional(),
250
+ fitBounds: booleanType().optional(),
251
+ zoomControl: booleanType().optional(),
252
+ scrollWheelZoom: booleanType().optional(),
253
+ tileLayer: stringType().optional(),
254
+ attribution: stringType().optional()
255
+ });
256
+ const ChartTypeSchema = enumType([
257
+ "bar",
258
+ "line",
259
+ "pie",
260
+ "doughnut",
261
+ "radar",
262
+ "scatter",
263
+ "bubble",
264
+ "polarArea"
265
+ ]);
266
+ const ChartDatasetSchema = objectType({
267
+ label: stringType(),
268
+ // Either an array of numbers or an array of {x, y} points (Chart.js shapes)
269
+ data: unionType([
270
+ arrayType(numberType()),
271
+ arrayType(
272
+ objectType({
273
+ x: unionType([stringType(), numberType()]),
274
+ y: numberType()
275
+ })
276
+ )
277
+ ]),
278
+ backgroundColor: unionType([stringType(), arrayType(stringType())]).optional(),
279
+ borderColor: unionType([stringType(), arrayType(stringType())]).optional(),
280
+ borderWidth: numberType().optional(),
281
+ fill: unionType([booleanType(), stringType()]).optional(),
282
+ tension: numberType().optional()
283
+ });
284
+ const ChartTimeAxisSchema = objectType({
285
+ parser: stringType().optional(),
286
+ unit: enumType(["day", "week", "month", "quarter", "year"]).optional(),
287
+ tooltipFormat: stringType().optional(),
288
+ min: stringType().optional(),
289
+ max: stringType().optional()
290
+ });
291
+ objectType({
292
+ type: ChartTypeSchema,
293
+ title: stringType().optional(),
294
+ data: objectType({
295
+ labels: arrayType(stringType()),
296
+ datasets: arrayType(ChartDatasetSchema)
297
+ }),
298
+ options: objectType({
299
+ responsive: booleanType().optional(),
300
+ maintainAspectRatio: booleanType().optional(),
301
+ tension: numberType().optional(),
302
+ // `scales` and `plugins` are Chart.js opaque config objects — kept loose
303
+ scales: unknownType().optional(),
304
+ plugins: unknownType().optional()
305
+ }).optional(),
306
+ renderer: enumType(["native", "iframe", "auto"]).optional(),
307
+ exportable: booleanType().optional(),
308
+ timeAxis: ChartTimeAxisSchema.optional(),
309
+ height: stringType().optional(),
310
+ className: stringType().optional()
311
+ });
312
+ const TableColumnSchema = objectType({
313
+ key: stringType().min(1),
314
+ label: stringType(),
315
+ sortable: booleanType().optional(),
316
+ width: stringType().optional()
317
+ });
318
+ const TablePaginationSchema = objectType({
319
+ currentPage: numberType().int().min(1),
320
+ pageSize: numberType().int().min(1),
321
+ totalRows: numberType().int().min(0)
322
+ });
323
+ const TableVirtualizeOptionsSchema = objectType({
324
+ enabled: booleanType().optional(),
325
+ rowHeight: numberType().int().min(1).optional(),
326
+ overscan: numberType().int().min(0).optional(),
327
+ threshold: numberType().int().min(1).optional()
328
+ });
329
+ const TableExportableSchema = unionType([
330
+ booleanType(),
331
+ objectType({
332
+ formats: arrayType(enumType(["csv", "tsv", "json"])).optional(),
333
+ filename: stringType().optional()
334
+ })
335
+ ]);
336
+ objectType({
337
+ title: stringType().optional(),
338
+ columns: arrayType(TableColumnSchema).min(1),
339
+ rows: arrayType(recordType(unknownType())),
340
+ pagination: TablePaginationSchema.optional(),
341
+ virtualize: unionType([booleanType(), TableVirtualizeOptionsSchema]).optional(),
342
+ exportable: TableExportableSchema.optional(),
343
+ className: stringType().optional()
344
+ });
345
+ const MetricTrendSchema = objectType({
346
+ value: numberType(),
347
+ direction: enumType(["up", "down", "neutral"])
348
+ });
349
+ const MetricComponentParamsSchema = objectType({
350
+ title: stringType().min(1),
351
+ value: unionType([stringType(), numberType()]),
352
+ unit: stringType().optional(),
353
+ trend: MetricTrendSchema.optional(),
354
+ subtitle: stringType().optional(),
355
+ icon: stringType().optional(),
356
+ className: stringType().optional()
357
+ });
358
+ const TextComponentParamsSchema = objectType({
359
+ content: stringType().min(1),
360
+ markdown: booleanType().optional(),
361
+ className: stringType().optional()
362
+ });
363
+ const IframeComponentParamsSchema = objectType({
364
+ url: stringType().min(1),
365
+ title: stringType().optional(),
366
+ height: stringType().optional(),
367
+ className: stringType().optional()
368
+ });
369
+ const ImageComponentParamsSchema = objectType({
370
+ url: stringType().min(1),
371
+ alt: stringType().optional(),
372
+ caption: stringType().optional(),
373
+ className: stringType().optional()
374
+ });
375
+ const LinkComponentParamsSchema = objectType({
376
+ url: stringType().min(1),
377
+ label: stringType().optional(),
378
+ description: stringType().optional(),
379
+ className: stringType().optional()
380
+ });
381
+ const CarouselComponentParamsSchema = objectType({
382
+ items: arrayType(unknownType()).min(1),
383
+ height: stringType().optional(),
384
+ className: stringType().optional()
385
+ });
386
+ const ArtifactComponentParamsSchema = objectType({
387
+ url: stringType().min(1),
388
+ filename: stringType().min(1),
389
+ mimeType: stringType().min(1),
390
+ size: numberType().int().min(0).optional(),
391
+ description: stringType().optional()
392
+ });
393
+ const SandboxFlagSchema = enumType([
394
+ "allow-scripts",
395
+ "allow-same-origin",
396
+ "allow-forms",
397
+ "allow-popups",
398
+ "allow-modals"
399
+ ]);
400
+ const SecurityConstraintsSchema = objectType({
401
+ requiresAuth: booleanType().default(false).optional(),
402
+ allowedDomains: arrayType(stringType()).optional(),
403
+ maxIframeDepth: numberType().int().min(0).max(3).default(1).optional(),
404
+ sandboxFlags: arrayType(SandboxFlagSchema).optional()
405
+ });
406
+ const PerformanceConstraintsSchema = objectType({
407
+ maxRenderTime: numberType().int().min(100).default(5e3).optional(),
408
+ maxDataSize: numberType().int().min(1024).default(102400).optional()
409
+ });
410
+ const ComponentSchemaSchema = objectType({
411
+ type: literalType("object"),
412
+ required: arrayType(stringType()).optional(),
413
+ properties: recordType(unknownType()),
414
+ additionalProperties: booleanType().optional()
415
+ });
416
+ const ComponentExampleSchema = objectType({
417
+ name: stringType().min(1),
418
+ description: stringType().optional(),
419
+ params: recordType(unknownType()),
420
+ position: GridPositionSchema.optional()
421
+ });
422
+ const ComponentSchema = objectType({
423
+ id: stringType().regex(/^[a-z0-9-]+$/),
424
+ type: ComponentTypeSchema,
425
+ name: stringType().min(1),
426
+ description: stringType().optional(),
427
+ schema: ComponentSchemaSchema,
428
+ examples: arrayType(ComponentExampleSchema).min(1),
429
+ security: SecurityConstraintsSchema.optional(),
430
+ performance: PerformanceConstraintsSchema.optional(),
431
+ tags: arrayType(stringType().regex(/^[a-z0-9-]+$/)).optional(),
432
+ version: stringType().regex(/^\d+\.\d+\.\d+$/).optional(),
433
+ deprecated: booleanType().default(false).optional(),
434
+ deprecationMessage: stringType().optional()
435
+ });
436
+ const RegistryMetadataSchema = objectType({
437
+ name: stringType().optional(),
438
+ description: stringType().optional(),
439
+ author: stringType().optional(),
440
+ repository: stringType().url().optional()
441
+ });
442
+ objectType({
443
+ version: literalType("1.0.0"),
444
+ metadata: RegistryMetadataSchema.optional(),
445
+ components: arrayType(ComponentSchema).min(1)
446
+ });
447
+ export {
448
+ ActionGroupGapSchema,
449
+ ActionGroupLayoutSchema,
450
+ ActionGroupParamsSchema,
451
+ ActionParamsSchema,
452
+ ArtifactComponentParamsSchema,
453
+ CarouselComponentParamsSchema,
454
+ ChartDatasetSchema,
455
+ ChartTimeAxisSchema,
456
+ ChartTypeSchema,
457
+ CodeComponentParamsSchema,
458
+ ComponentExampleSchema,
459
+ ComponentSchema,
460
+ ComponentSchemaSchema,
461
+ ComponentTypeSchema,
462
+ FormFieldOptionSchema,
463
+ FormFieldSchema,
464
+ FormFieldTypeSchema,
465
+ FormSubmitActionSchema,
466
+ GalleryImageSchema,
467
+ GridPositionSchema,
468
+ IframeComponentParamsSchema,
469
+ ImageComponentParamsSchema,
470
+ ImageGalleryAspectRatioSchema,
471
+ ImageGalleryGapSchema,
472
+ ImageGalleryParamsSchema,
473
+ LinkComponentParamsSchema,
474
+ MapMarkerSchema,
475
+ MetricComponentParamsSchema,
476
+ MetricTrendSchema,
477
+ ModalSizeSchema,
478
+ PerformanceConstraintsSchema,
479
+ PrefillSourceSchema,
480
+ RegistryMetadataSchema,
481
+ SandboxFlagSchema,
482
+ SecurityConstraintsSchema,
483
+ ShowWhenConditionSchema,
484
+ ShowWhenOperatorSchema,
485
+ TableColumnSchema,
486
+ TableExportableSchema,
487
+ TablePaginationSchema,
488
+ TableVirtualizeOptionsSchema,
489
+ TextComponentParamsSchema,
490
+ VideoAspectRatioSchema,
491
+ VideoComponentParamsSchema
492
+ };
493
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +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]);\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][a-zA-Z0-9_]*$/),\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 MapMarkerSchema = z.object({\n position: z.tuple([z.number(), z.number()]),\n tooltip: z.string().optional(),\n popup: z.string().optional()\n});\nconst MapComponentParamsSchema = z.object({\n center: z.tuple([z.number(), z.number()]).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 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 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});\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 CodeComponentParamsSchema,\n ComponentExampleSchema,\n ComponentRegistrySchema,\n ComponentSchema,\n ComponentSchemaSchema,\n ComponentTypeSchema,\n FormComponentParamsSchema,\n FormFieldOptionSchema,\n FormFieldSchema,\n FormFieldTypeSchema,\n FormSubmitActionSchema,\n GalleryImageSchema,\n GridPositionSchema,\n IframeComponentParamsSchema,\n ImageComponentParamsSchema,\n ImageGalleryAspectRatioSchema,\n ImageGalleryColumnsSchema,\n ImageGalleryGapSchema,\n ImageGalleryParamsSchema,\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,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const util = require("./helpers/util.cjs");
4
+ const ZodIssueCode = util.util.arrayToEnum([
5
+ "invalid_type",
6
+ "invalid_literal",
7
+ "custom",
8
+ "invalid_union",
9
+ "invalid_union_discriminator",
10
+ "invalid_enum_value",
11
+ "unrecognized_keys",
12
+ "invalid_arguments",
13
+ "invalid_return_type",
14
+ "invalid_date",
15
+ "invalid_string",
16
+ "too_small",
17
+ "too_big",
18
+ "invalid_intersection_types",
19
+ "not_multiple_of",
20
+ "not_finite"
21
+ ]);
22
+ class ZodError extends Error {
23
+ get errors() {
24
+ return this.issues;
25
+ }
26
+ constructor(issues) {
27
+ super();
28
+ this.issues = [];
29
+ this.addIssue = (sub) => {
30
+ this.issues = [...this.issues, sub];
31
+ };
32
+ this.addIssues = (subs = []) => {
33
+ this.issues = [...this.issues, ...subs];
34
+ };
35
+ const actualProto = new.target.prototype;
36
+ if (Object.setPrototypeOf) {
37
+ Object.setPrototypeOf(this, actualProto);
38
+ } else {
39
+ this.__proto__ = actualProto;
40
+ }
41
+ this.name = "ZodError";
42
+ this.issues = issues;
43
+ }
44
+ format(_mapper) {
45
+ const mapper = _mapper || function(issue) {
46
+ return issue.message;
47
+ };
48
+ const fieldErrors = { _errors: [] };
49
+ const processError = (error) => {
50
+ for (const issue of error.issues) {
51
+ if (issue.code === "invalid_union") {
52
+ issue.unionErrors.map(processError);
53
+ } else if (issue.code === "invalid_return_type") {
54
+ processError(issue.returnTypeError);
55
+ } else if (issue.code === "invalid_arguments") {
56
+ processError(issue.argumentsError);
57
+ } else if (issue.path.length === 0) {
58
+ fieldErrors._errors.push(mapper(issue));
59
+ } else {
60
+ let curr = fieldErrors;
61
+ let i = 0;
62
+ while (i < issue.path.length) {
63
+ const el = issue.path[i];
64
+ const terminal = i === issue.path.length - 1;
65
+ if (!terminal) {
66
+ curr[el] = curr[el] || { _errors: [] };
67
+ } else {
68
+ curr[el] = curr[el] || { _errors: [] };
69
+ curr[el]._errors.push(mapper(issue));
70
+ }
71
+ curr = curr[el];
72
+ i++;
73
+ }
74
+ }
75
+ }
76
+ };
77
+ processError(this);
78
+ return fieldErrors;
79
+ }
80
+ static assert(value) {
81
+ if (!(value instanceof ZodError)) {
82
+ throw new Error(`Not a ZodError: ${value}`);
83
+ }
84
+ }
85
+ toString() {
86
+ return this.message;
87
+ }
88
+ get message() {
89
+ return JSON.stringify(this.issues, util.util.jsonStringifyReplacer, 2);
90
+ }
91
+ get isEmpty() {
92
+ return this.issues.length === 0;
93
+ }
94
+ flatten(mapper = (issue) => issue.message) {
95
+ const fieldErrors = {};
96
+ const formErrors = [];
97
+ for (const sub of this.issues) {
98
+ if (sub.path.length > 0) {
99
+ const firstEl = sub.path[0];
100
+ fieldErrors[firstEl] = fieldErrors[firstEl] || [];
101
+ fieldErrors[firstEl].push(mapper(sub));
102
+ } else {
103
+ formErrors.push(mapper(sub));
104
+ }
105
+ }
106
+ return { formErrors, fieldErrors };
107
+ }
108
+ get formErrors() {
109
+ return this.flatten();
110
+ }
111
+ }
112
+ ZodError.create = (issues) => {
113
+ const error = new ZodError(issues);
114
+ return error;
115
+ };
116
+ exports.ZodError = ZodError;
117
+ exports.ZodIssueCode = ZodIssueCode;
118
+ //# sourceMappingURL=ZodError.cjs.map