@seed-ship/mcp-ui-spec 5.0.3 → 5.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +66 -0
- package/dist/index.cjs +5 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +6 -1
- package/dist/schemas.cjs +93 -2
- package/dist/schemas.cjs.map +1 -1
- package/dist/schemas.d.ts +259 -21
- package/dist/schemas.js +93 -2
- package/dist/schemas.js.map +1 -1
- package/package.json +1 -1
- package/schemas/component-registry-v1.json +24 -2
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,72 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [5.0.5] - 2026-05-03
|
|
9
|
+
|
|
10
|
+
### Added — `TableComponentParamsSchema.maxHeight`
|
|
11
|
+
|
|
12
|
+
Driven by deposium handoff (axe 1) — the lib hardcodes a
|
|
13
|
+
`max-height: 400px` (500px virtualizing) cap on tables with > 8 rows
|
|
14
|
+
in inline mode, which forces an internal scroll even when the consumer's
|
|
15
|
+
wrapping container has plenty of room.
|
|
16
|
+
|
|
17
|
+
- New optional field `maxHeight: 'auto' | number | string`.
|
|
18
|
+
- `'auto'` → no cap, the parent container's overflow handles it.
|
|
19
|
+
- number → interpreted as `${n}px`.
|
|
20
|
+
- string → used as-is (CSS length).
|
|
21
|
+
- undefined → existing behavior unchanged (400/500px caps).
|
|
22
|
+
|
|
23
|
+
Renderer support ships in `@seed-ship/mcp-ui-solid@6.3.0`.
|
|
24
|
+
Backward compatible — purely additive.
|
|
25
|
+
|
|
26
|
+
## [5.0.4] - 2026-05-02
|
|
27
|
+
|
|
28
|
+
### Added — `'graph'` ComponentType + Graph schemas
|
|
29
|
+
|
|
30
|
+
Generic node-link visualization primitive. Domain-neutral by design — the
|
|
31
|
+
`weight` field on both nodes and edges is a generic ranking signal whose
|
|
32
|
+
semantics (rerank score, frequency, criticality, contribution, etc.) are
|
|
33
|
+
opaque to the lib and decided by the consumer.
|
|
34
|
+
|
|
35
|
+
- **`'graph'`** added to `ComponentTypeSchema` enum.
|
|
36
|
+
- **`GraphNodeSchema`** : `id` (required), `label`, `type`, `size`,
|
|
37
|
+
`weight`, `style`, `data` (all optional). `weight` drives default node
|
|
38
|
+
size when `size` is omitted, and acts as the sort key for the
|
|
39
|
+
`concentric` layout.
|
|
40
|
+
- **`GraphEdgeSchema`** : `source` + `target` (required, must match node
|
|
41
|
+
ids), `label`, `type`, `weight`, `style`, `data` (all optional).
|
|
42
|
+
`weight` drives default stroke width and the attractive force in
|
|
43
|
+
`force` layouts.
|
|
44
|
+
- **`GraphLayoutNameSchema`** : enum of 7 layouts — `force`, `dagre`,
|
|
45
|
+
`mindmap`, `tree`, `circular`, `grid`, `concentric`. Power users opt
|
|
46
|
+
into other G6 layouts via the object form
|
|
47
|
+
`{ type: 'force', options: { ... } }` — `options` is a passthrough.
|
|
48
|
+
- **`GraphLayoutSchema`** : union of shorthand string OR
|
|
49
|
+
`{ type, options? }` object.
|
|
50
|
+
- **`GraphComponentParamsSchema`** : `nodes` (required, min 1), `edges`,
|
|
51
|
+
`layout`, `title`, `height`, `width`, `rendererPref` (`canvas`|`svg`),
|
|
52
|
+
`fitView`, `enableZoom`, `enableDrag`, `enableSelect`, `tooltip`,
|
|
53
|
+
`className`. Sensible defaults applied at render time.
|
|
54
|
+
- Inferred types : `GraphNode`, `GraphEdge`, `GraphLayoutName`,
|
|
55
|
+
`GraphLayout`, `GraphComponentParams`.
|
|
56
|
+
|
|
57
|
+
Renderer support ships in `@seed-ship/mcp-ui-solid` (lazy-loads
|
|
58
|
+
`@antv/g6 ^5` as peer-optional). Apps without the peer installed see an
|
|
59
|
+
informative fallback instead of a crash.
|
|
60
|
+
|
|
61
|
+
### Tests
|
|
62
|
+
|
|
63
|
+
- `src/schemas-graph-v5.0.4.test.ts` — **+26 tests** (node minimal +
|
|
64
|
+
rich, edge minimal + rich, all 7 layout shorthand names, layout object
|
|
65
|
+
form with passthrough options, params with weights + concentric
|
|
66
|
+
ordering, empty-edges acceptance, rejection paths). Total spec :
|
|
67
|
+
77/77 pass.
|
|
68
|
+
|
|
69
|
+
### Non-breaking
|
|
70
|
+
|
|
71
|
+
- All previously valid payloads remain valid. `'graph'` is purely
|
|
72
|
+
additive.
|
|
73
|
+
|
|
8
74
|
## [5.0.3] - 2026-05-02
|
|
9
75
|
|
|
10
76
|
### Added — citation chip support in table cells (prep for solid@5.7.0)
|
package/dist/index.cjs
CHANGED
|
@@ -24,6 +24,11 @@ exports.FormFieldSchema = schemas.FormFieldSchema;
|
|
|
24
24
|
exports.FormFieldTypeSchema = schemas.FormFieldTypeSchema;
|
|
25
25
|
exports.FormSubmitActionSchema = schemas.FormSubmitActionSchema;
|
|
26
26
|
exports.GalleryImageSchema = schemas.GalleryImageSchema;
|
|
27
|
+
exports.GraphComponentParamsSchema = schemas.GraphComponentParamsSchema;
|
|
28
|
+
exports.GraphEdgeSchema = schemas.GraphEdgeSchema;
|
|
29
|
+
exports.GraphLayoutNameSchema = schemas.GraphLayoutNameSchema;
|
|
30
|
+
exports.GraphLayoutSchema = schemas.GraphLayoutSchema;
|
|
31
|
+
exports.GraphNodeSchema = schemas.GraphNodeSchema;
|
|
27
32
|
exports.GridPositionSchema = schemas.GridPositionSchema;
|
|
28
33
|
exports.IframeComponentParamsSchema = schemas.IframeComponentParamsSchema;
|
|
29
34
|
exports.ImageComponentParamsSchema = schemas.ImageComponentParamsSchema;
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ActionGroupGapSchema, ActionGroupLayoutSchema, ActionGroupParamsSchema, ActionParamsSchema, ArtifactComponentParamsSchema, CarouselComponentParamsSchema, ChartComponentParamsSchema, ChartDatasetSchema, ChartTimeAxisSchema, ChartTypeSchema, CitationEntrySchema, CodeComponentParamsSchema, ComponentExampleSchema, ComponentRegistrySchema, ComponentSchema, ComponentSchemaSchema, ComponentTypeSchema, FormComponentParamsSchema, FormFieldOptionSchema, FormFieldSchema, FormFieldTypeSchema, FormSubmitActionSchema, GalleryImageSchema, GridPositionSchema, IframeComponentParamsSchema, ImageComponentParamsSchema, ImageGalleryAspectRatioSchema, ImageGalleryColumnsSchema, ImageGalleryGapSchema, ImageGalleryParamsSchema, LatLngObjectSchema, LatLngPointSchema, LatLngTupleSchema, LinkComponentParamsSchema, MapComponentParamsSchema, MapMarkerSchema, MetricComponentParamsSchema, MetricTrendSchema, ModalComponentParamsSchema, ModalSizeSchema, PerformanceConstraintsSchema, PrefillSourceSchema, RegistryMetadataSchema, SandboxFlagSchema, SecurityConstraintsSchema, ShowWhenConditionSchema, ShowWhenOperatorSchema, TableColumnSchema, TableComponentParamsSchema, TableExportableSchema, TablePaginationSchema, TableVirtualizeOptionsSchema, TextComponentParamsSchema, VideoAspectRatioSchema, VideoComponentParamsSchema } from "./schemas.js";
|
|
1
|
+
import { ActionGroupGapSchema, ActionGroupLayoutSchema, ActionGroupParamsSchema, ActionParamsSchema, ArtifactComponentParamsSchema, CarouselComponentParamsSchema, ChartComponentParamsSchema, ChartDatasetSchema, ChartTimeAxisSchema, ChartTypeSchema, CitationEntrySchema, CodeComponentParamsSchema, ComponentExampleSchema, ComponentRegistrySchema, ComponentSchema, ComponentSchemaSchema, ComponentTypeSchema, FormComponentParamsSchema, FormFieldOptionSchema, FormFieldSchema, FormFieldTypeSchema, FormSubmitActionSchema, GalleryImageSchema, GraphComponentParamsSchema, GraphEdgeSchema, GraphLayoutNameSchema, GraphLayoutSchema, GraphNodeSchema, GridPositionSchema, IframeComponentParamsSchema, ImageComponentParamsSchema, ImageGalleryAspectRatioSchema, ImageGalleryColumnsSchema, ImageGalleryGapSchema, ImageGalleryParamsSchema, LatLngObjectSchema, LatLngPointSchema, LatLngTupleSchema, LinkComponentParamsSchema, MapComponentParamsSchema, MapMarkerSchema, MetricComponentParamsSchema, MetricTrendSchema, ModalComponentParamsSchema, ModalSizeSchema, PerformanceConstraintsSchema, PrefillSourceSchema, RegistryMetadataSchema, SandboxFlagSchema, SecurityConstraintsSchema, ShowWhenConditionSchema, ShowWhenOperatorSchema, TableColumnSchema, TableComponentParamsSchema, TableExportableSchema, TablePaginationSchema, TableVirtualizeOptionsSchema, TextComponentParamsSchema, VideoAspectRatioSchema, VideoComponentParamsSchema } from "./schemas.js";
|
|
2
2
|
export {
|
|
3
3
|
ActionGroupGapSchema,
|
|
4
4
|
ActionGroupLayoutSchema,
|
|
@@ -23,6 +23,11 @@ export {
|
|
|
23
23
|
FormFieldTypeSchema,
|
|
24
24
|
FormSubmitActionSchema,
|
|
25
25
|
GalleryImageSchema,
|
|
26
|
+
GraphComponentParamsSchema,
|
|
27
|
+
GraphEdgeSchema,
|
|
28
|
+
GraphLayoutNameSchema,
|
|
29
|
+
GraphLayoutSchema,
|
|
30
|
+
GraphNodeSchema,
|
|
26
31
|
GridPositionSchema,
|
|
27
32
|
IframeComponentParamsSchema,
|
|
28
33
|
ImageComponentParamsSchema,
|
package/dist/schemas.cjs
CHANGED
|
@@ -36,8 +36,10 @@ const ComponentTypeSchema = zod.z.enum([
|
|
|
36
36
|
// Sprint 5: Video embed (YouTube, Vimeo, direct)
|
|
37
37
|
"code",
|
|
38
38
|
// Sprint 6: Syntax highlighted code block
|
|
39
|
-
"map"
|
|
39
|
+
"map",
|
|
40
40
|
// Sprint 6: Interactive map (Leaflet)
|
|
41
|
+
"graph"
|
|
42
|
+
// v5.0.4: node-link graph (peer @antv/g6)
|
|
41
43
|
]);
|
|
42
44
|
const FormFieldOptionSchema = zod.z.object({
|
|
43
45
|
label: zod.z.string().min(1),
|
|
@@ -261,6 +263,83 @@ const MapComponentParamsSchema = zod.z.object({
|
|
|
261
263
|
tileLayer: zod.z.string().optional(),
|
|
262
264
|
attribution: zod.z.string().optional()
|
|
263
265
|
});
|
|
266
|
+
const GraphNodeSchema = zod.z.object({
|
|
267
|
+
id: zod.z.string().min(1),
|
|
268
|
+
label: zod.z.string().optional(),
|
|
269
|
+
type: zod.z.string().optional(),
|
|
270
|
+
// G6 node type: 'circle' | 'rect' | 'image' | …
|
|
271
|
+
size: zod.z.union([zod.z.number(), zod.z.tuple([zod.z.number(), zod.z.number()])]).optional(),
|
|
272
|
+
/**
|
|
273
|
+
* Generic ranking / importance signal. Drives default node size when
|
|
274
|
+
* `size` is omitted, and acts as the sort key for the `concentric`
|
|
275
|
+
* layout (highest weight at center). Domain semantics opaque to the lib.
|
|
276
|
+
*/
|
|
277
|
+
weight: zod.z.number().optional(),
|
|
278
|
+
style: zod.z.record(zod.z.unknown()).optional(),
|
|
279
|
+
// passthrough G6 NodeStyle
|
|
280
|
+
data: zod.z.record(zod.z.unknown()).optional()
|
|
281
|
+
// arbitrary metadata for tooltips / click handlers
|
|
282
|
+
});
|
|
283
|
+
const GraphEdgeSchema = zod.z.object({
|
|
284
|
+
source: zod.z.string().min(1),
|
|
285
|
+
// must match a node.id
|
|
286
|
+
target: zod.z.string().min(1),
|
|
287
|
+
// must match a node.id
|
|
288
|
+
label: zod.z.string().optional(),
|
|
289
|
+
type: zod.z.string().optional(),
|
|
290
|
+
// G6 edge type: 'line' | 'arc' | 'cubic' | 'polyline' | …
|
|
291
|
+
/**
|
|
292
|
+
* Generic strength signal. Drives default edge stroke width and acts
|
|
293
|
+
* as attractive force in `force` layouts. Domain semantics opaque.
|
|
294
|
+
*/
|
|
295
|
+
weight: zod.z.number().optional(),
|
|
296
|
+
style: zod.z.record(zod.z.unknown()).optional(),
|
|
297
|
+
data: zod.z.record(zod.z.unknown()).optional()
|
|
298
|
+
});
|
|
299
|
+
const GraphLayoutNameSchema = zod.z.enum([
|
|
300
|
+
"force",
|
|
301
|
+
"dagre",
|
|
302
|
+
"mindmap",
|
|
303
|
+
"tree",
|
|
304
|
+
"circular",
|
|
305
|
+
"grid",
|
|
306
|
+
"concentric"
|
|
307
|
+
]);
|
|
308
|
+
const GraphLayoutSchema = zod.z.union([
|
|
309
|
+
GraphLayoutNameSchema,
|
|
310
|
+
zod.z.object({
|
|
311
|
+
type: GraphLayoutNameSchema,
|
|
312
|
+
options: zod.z.record(zod.z.unknown()).optional()
|
|
313
|
+
})
|
|
314
|
+
]);
|
|
315
|
+
const GraphComponentParamsSchema = zod.z.object({
|
|
316
|
+
title: zod.z.string().optional(),
|
|
317
|
+
nodes: zod.z.array(GraphNodeSchema).min(1),
|
|
318
|
+
edges: zod.z.array(GraphEdgeSchema).optional(),
|
|
319
|
+
/**
|
|
320
|
+
* Layout shorthand string OR object form. When omitted, the renderer
|
|
321
|
+
* picks a sensible default: `'force'` if edges are present, `'circular'`
|
|
322
|
+
* otherwise.
|
|
323
|
+
*/
|
|
324
|
+
layout: GraphLayoutSchema.optional(),
|
|
325
|
+
height: zod.z.string().optional(),
|
|
326
|
+
// CSS length, default '400px'
|
|
327
|
+
width: zod.z.string().optional(),
|
|
328
|
+
// CSS length, default '100%'
|
|
329
|
+
rendererPref: zod.z.enum(["canvas", "svg"]).optional(),
|
|
330
|
+
// default 'canvas'
|
|
331
|
+
fitView: zod.z.boolean().optional(),
|
|
332
|
+
// default true
|
|
333
|
+
enableZoom: zod.z.boolean().optional(),
|
|
334
|
+
// default true
|
|
335
|
+
enableDrag: zod.z.boolean().optional(),
|
|
336
|
+
// default true (drag nodes)
|
|
337
|
+
enableSelect: zod.z.boolean().optional(),
|
|
338
|
+
// default true (click-select highlight)
|
|
339
|
+
tooltip: zod.z.boolean().optional(),
|
|
340
|
+
// default true (label + data summary on hover)
|
|
341
|
+
className: zod.z.string().optional()
|
|
342
|
+
});
|
|
264
343
|
const ChartTypeSchema = zod.z.enum([
|
|
265
344
|
"bar",
|
|
266
345
|
"line",
|
|
@@ -355,7 +434,14 @@ const TableComponentParamsSchema = zod.z.object({
|
|
|
355
434
|
exportable: TableExportableSchema.optional(),
|
|
356
435
|
className: zod.z.string().optional(),
|
|
357
436
|
// v5.0.3 — opt-in citation chip rendering inside cells
|
|
358
|
-
citationMap: zod.z.record(zod.z.string(), CitationEntrySchema).optional()
|
|
437
|
+
citationMap: zod.z.record(zod.z.string(), CitationEntrySchema).optional(),
|
|
438
|
+
// v5.0.5 — opt-out of the inline-mode max-height cap. The library defaults
|
|
439
|
+
// a `max-height: 400px` (or 500px when virtualizing) on tables with > 8
|
|
440
|
+
// rows so they don't blow out a chat-stream layout. Pass `'auto'` to
|
|
441
|
+
// disable the cap (when the consumer's wrapping container handles
|
|
442
|
+
// overflow), a number (interpreted as `${n}px`), or any CSS length string
|
|
443
|
+
// to override the value.
|
|
444
|
+
maxHeight: zod.z.union([zod.z.literal("auto"), zod.z.number(), zod.z.string()]).optional()
|
|
359
445
|
});
|
|
360
446
|
const MetricTrendSchema = zod.z.object({
|
|
361
447
|
value: zod.z.number(),
|
|
@@ -482,6 +568,11 @@ exports.FormFieldSchema = FormFieldSchema;
|
|
|
482
568
|
exports.FormFieldTypeSchema = FormFieldTypeSchema;
|
|
483
569
|
exports.FormSubmitActionSchema = FormSubmitActionSchema;
|
|
484
570
|
exports.GalleryImageSchema = GalleryImageSchema;
|
|
571
|
+
exports.GraphComponentParamsSchema = GraphComponentParamsSchema;
|
|
572
|
+
exports.GraphEdgeSchema = GraphEdgeSchema;
|
|
573
|
+
exports.GraphLayoutNameSchema = GraphLayoutNameSchema;
|
|
574
|
+
exports.GraphLayoutSchema = GraphLayoutSchema;
|
|
575
|
+
exports.GraphNodeSchema = GraphNodeSchema;
|
|
485
576
|
exports.GridPositionSchema = GridPositionSchema;
|
|
486
577
|
exports.IframeComponentParamsSchema = IframeComponentParamsSchema;
|
|
487
578
|
exports.ImageComponentParamsSchema = ImageComponentParamsSchema;
|
package/dist/schemas.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.cjs","sources":["../src/schemas/index.ts"],"sourcesContent":["/**\n * Zod validation schemas for component registry\n */\n\nimport { z } from 'zod'\n\n// Grid position schema\nexport const 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})\n\n// Component types (synced with mcp-ui-solid v1.2.6)\nexport const ComponentTypeSchema = z.enum([\n 'chart',\n 'table',\n 'metric',\n 'text',\n 'composite',\n 'grid', // Phase 5.0: Nested grid layouts\n 'iframe',\n 'image',\n 'link',\n 'action', // Phase 5.0: Tool call actions\n 'footer', // Phase 5.0: Metadata footer\n 'carousel',\n 'artifact',\n 'form', // Sprint 1: Form component\n 'modal', // Sprint 3: Modal/dialog component\n 'action-group', // Sprint 3: Action grouping component\n 'image-gallery', // Sprint 5: Image gallery with lightbox\n 'video', // Sprint 5: Video embed (YouTube, Vimeo, direct)\n 'code', // Sprint 6: Syntax highlighted code block\n 'map', // Sprint 6: Interactive map (Leaflet)\n])\n\n// Form field option schema (for select, radio)\nexport const FormFieldOptionSchema = z.object({\n label: z.string().min(1),\n value: z.string(),\n disabled: z.boolean().optional(),\n})\n\n// Form field type schema\nexport const 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])\n\n// Show when operator schema\nexport const 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])\n\n// Show when condition schema\nexport const ShowWhenConditionSchema = z.object({\n field: z.string().min(1),\n operator: ShowWhenOperatorSchema,\n value: z.any().optional(),\n})\n\n// Prefill source schema (v4.2.0)\nexport const PrefillSourceSchema = z.enum(['user', 'detected', 'inferred', 'default'])\n\n// Form field schema\n//\n// NAME REGEX (relaxed in v5.0.2 per audit MCP-UI-AUDIT-2026-04-26.md §L.2)\n// — allows `_`, `.`, `-` after the first letter (kebab-case for URL params,\n// dot-paths for nested forms). Still requires a leading letter to keep the\n// value usable as a CSS selector / JS access key.\nexport const 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})\n\n// Form submit action schema\nexport const FormSubmitActionSchema = z.object({\n toolName: z.string().min(1),\n params: z.record(z.unknown()).optional(),\n})\n\n// Form component params schema\nexport const 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(1000).max(30000).optional(),\n})\n\n// Modal size schema (Sprint 3)\nexport const ModalSizeSchema = z.enum(['sm', 'md', 'lg', 'xl', 'full'])\n\n// Modal component params schema (Sprint 3)\nexport const 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})\n\n// Action group layout schema (Sprint 3)\nexport const ActionGroupLayoutSchema = z.enum([\n 'horizontal',\n 'vertical',\n 'space-between',\n 'end',\n 'center',\n])\n\n// Action group gap schema (Sprint 3)\nexport const ActionGroupGapSchema = z.enum(['none', 'sm', 'md', 'lg'])\n\n// Action component params schema (for action-group)\nexport const 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})\n\n// Action group component params schema (Sprint 3)\nexport const 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})\n\n// Gallery image schema (Sprint 5)\nexport const 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})\n\n// Image gallery columns schema (Sprint 5)\nexport const ImageGalleryColumnsSchema = z.enum(['2', '3', '4', '5']).transform(Number) as unknown as z.ZodType<2 | 3 | 4 | 5>\n\n// Image gallery gap schema (Sprint 5)\nexport const ImageGalleryGapSchema = z.enum(['none', 'sm', 'md', 'lg'])\n\n// Image gallery aspect ratio schema (Sprint 5)\nexport const ImageGalleryAspectRatioSchema = z.enum(['1:1', '16:9', '4:3', 'auto'])\n\n// Image gallery params schema (Sprint 5)\nexport const 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})\n\n// Video aspect ratio schema (Sprint 5)\nexport const VideoAspectRatioSchema = z.enum(['16:9', '4:3', '1:1', '21:9'])\n\n// Video component params schema (Sprint 5)\nexport const 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})\n\n// Code component params schema (Sprint 6)\nexport const 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})\n\n// Lat/Lng point — Leaflet-compatible polymorphic shape (v5.0.2)\n//\n// Leaflet's own LatLng API accepts either a `[lat, lng]` tuple OR a\n// `{ lat, lng }` object literal natively. Mirroring that here lets MCP\n// servers emit either shape without forcing normalization (per audit\n// MCP-UI-AUDIT-2026-04-26.md §L.1).\nexport const LatLngObjectSchema = z.object({\n lat: z.number(),\n lng: z.number(),\n})\nexport const LatLngTupleSchema = z.tuple([z.number(), z.number()])\nexport const LatLngPointSchema = z.union([LatLngTupleSchema, LatLngObjectSchema])\n\n// Map marker schema (Sprint 6, position relaxed to LatLngPoint in v5.0.2)\nexport const MapMarkerSchema = z.object({\n position: LatLngPointSchema,\n tooltip: z.string().optional(),\n popup: z.string().optional(),\n})\n\n// Map component params schema (Sprint 6, center relaxed to LatLngPoint in v5.0.2)\nexport const 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})\n\n// =============================================================================\n// Primitive component params schemas (v5.0.1)\n//\n// These mirror the runtime types declared in `@seed-ship/mcp-ui-solid/types`\n// and the imperative checks in `mcp-ui-solid/src/services/validation.ts`.\n// They prepare B.1 — `validation.ts` migration to spec-driven Zod parsing\n// without losing the existing imperative resource-limits / iframe-domain\n// whitelist layers (see MCP-UI-AUDIT-2026-04-26.md §I).\n//\n// URL-bearing fields use `z.string().min(1)` (not `.url()`) on purpose —\n// validation.ts currently just truthy-checks them, and `.url()` would\n// reject relative paths and `localhost`-style dev URLs.\n// =============================================================================\n\n// Chart component (v5.0.1)\nexport const ChartTypeSchema = z.enum([\n 'bar',\n 'line',\n 'pie',\n 'doughnut',\n 'radar',\n 'scatter',\n 'bubble',\n 'polarArea',\n])\n\nexport const 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})\n\nexport const 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})\n\nexport const 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\n .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 })\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})\n\n// Table component (v5.0.1)\nexport const TableColumnSchema = z.object({\n key: z.string().min(1),\n label: z.string(),\n sortable: z.boolean().optional(),\n width: z.string().optional(),\n})\n\nexport const 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})\n\nexport const 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})\n\nexport const 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])\n\n// Citation entry — source of a `[N]` marker rendered inside table cells (v5.0.3)\n// Used by `<TableRenderer>` when `params.citationMap` is set, to turn LLM\n// `[📄 CITATION N]` markers into clickable chips. See\n// `mcp-ui-solid/docs/briefs/BRIEF-citations-in-table-cells.md` for context.\nexport const 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})\n\nexport const 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})\n\n// Metric component (v5.0.1)\nexport const MetricTrendSchema = z.object({\n value: z.number(),\n direction: z.enum(['up', 'down', 'neutral']),\n})\n\nexport const 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})\n\n// Text component (v5.0.1)\nexport const TextComponentParamsSchema = z.object({\n content: z.string().min(1),\n markdown: z.boolean().optional(),\n className: z.string().optional(),\n})\n\n// Iframe component (v5.0.1) — domain whitelist stays in mcp-ui-solid (security)\nexport const 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})\n\n// Image component (v5.0.1)\nexport const 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})\n\n// Link component (v5.0.1)\nexport const 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})\n\n// Carousel component (v5.0.1)\n// `items` are UIComponent values that are validated recursively by the\n// renderer — kept opaque here to avoid a circular schema reference.\nexport const CarouselComponentParamsSchema = z.object({\n items: z.array(z.unknown()).min(1),\n height: z.string().optional(),\n className: z.string().optional(),\n})\n\n// Artifact component (v5.0.1)\nexport const 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})\n\n// Sandbox flags\nexport const SandboxFlagSchema = z.enum([\n 'allow-scripts',\n 'allow-same-origin',\n 'allow-forms',\n 'allow-popups',\n 'allow-modals',\n])\n\n// Security constraints\nexport const 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})\n\n// Performance constraints\nexport const PerformanceConstraintsSchema = z.object({\n maxRenderTime: z.number().int().min(100).default(5000).optional(),\n maxDataSize: z.number().int().min(1024).default(102400).optional(),\n})\n\n// Component schema (JSON Schema definition)\nexport const 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})\n\n// Component example\nexport const 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})\n\n// Component definition\nexport const 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\n .string()\n .regex(/^\\d+\\.\\d+\\.\\d+$/)\n .optional(),\n deprecated: z.boolean().default(false).optional(),\n deprecationMessage: z.string().optional(),\n})\n\n// Registry metadata\nexport const 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})\n\n// Component registry\nexport const ComponentRegistrySchema = z.object({\n version: z.literal('1.0.0'),\n metadata: RegistryMetadataSchema.optional(),\n components: z.array(ComponentSchema).min(1),\n})\n\n// Export types inferred from schemas\nexport type ComponentRegistry = z.infer<typeof ComponentRegistrySchema>\nexport type Component = z.infer<typeof ComponentSchema>\nexport type ComponentExample = z.infer<typeof ComponentExampleSchema>\nexport type GridPosition = z.infer<typeof GridPositionSchema>\nexport type SecurityConstraints = z.infer<typeof SecurityConstraintsSchema>\nexport type PerformanceConstraints = z.infer<typeof PerformanceConstraintsSchema>\nexport type ComponentType = z.infer<typeof ComponentTypeSchema>\nexport type SandboxFlag = z.infer<typeof SandboxFlagSchema>\n\n// Form types (Sprint 1)\nexport type FormFieldOption = z.infer<typeof FormFieldOptionSchema>\nexport type FormFieldType = z.infer<typeof FormFieldTypeSchema>\nexport type FormField = z.infer<typeof FormFieldSchema>\nexport type FormSubmitAction = z.infer<typeof FormSubmitActionSchema>\nexport type FormComponentParams = z.infer<typeof FormComponentParamsSchema>\nexport type PrefillSource = z.infer<typeof PrefillSourceSchema>\n\n// Conditional field types (Sprint 2)\nexport type ShowWhenOperator = z.infer<typeof ShowWhenOperatorSchema>\nexport type ShowWhenCondition = z.infer<typeof ShowWhenConditionSchema>\n\n// Modal types (Sprint 3)\nexport type ModalSize = z.infer<typeof ModalSizeSchema>\nexport type ModalComponentParams = z.infer<typeof ModalComponentParamsSchema>\n\n// Action group types (Sprint 3)\nexport type ActionGroupLayout = z.infer<typeof ActionGroupLayoutSchema>\nexport type ActionGroupGap = z.infer<typeof ActionGroupGapSchema>\nexport type ActionParams = z.infer<typeof ActionParamsSchema>\nexport type ActionGroupParams = z.infer<typeof ActionGroupParamsSchema>\n\n// Image gallery types (Sprint 5)\nexport type GalleryImage = z.infer<typeof GalleryImageSchema>\nexport type ImageGalleryGap = z.infer<typeof ImageGalleryGapSchema>\nexport type ImageGalleryAspectRatio = z.infer<typeof ImageGalleryAspectRatioSchema>\nexport type ImageGalleryParams = z.infer<typeof ImageGalleryParamsSchema>\n\n// Video types (Sprint 5)\nexport type VideoAspectRatio = z.infer<typeof VideoAspectRatioSchema>\nexport type VideoComponentParams = z.infer<typeof VideoComponentParamsSchema>\n\n// Code types (Sprint 6)\nexport type CodeComponentParams = z.infer<typeof CodeComponentParamsSchema>\n\n// Map types (Sprint 6 + v5.0.2 LatLngPoint relaxation)\nexport type LatLngObject = z.infer<typeof LatLngObjectSchema>\nexport type LatLngTuple = z.infer<typeof LatLngTupleSchema>\nexport type LatLngPoint = z.infer<typeof LatLngPointSchema>\nexport type MapMarker = z.infer<typeof MapMarkerSchema>\nexport type MapComponentParams = z.infer<typeof MapComponentParamsSchema>\n\n// Primitive component params types (v5.0.1)\nexport type ChartType = z.infer<typeof ChartTypeSchema>\nexport type ChartDataset = z.infer<typeof ChartDatasetSchema>\nexport type ChartTimeAxis = z.infer<typeof ChartTimeAxisSchema>\nexport type ChartComponentParams = z.infer<typeof ChartComponentParamsSchema>\nexport type TableColumn = z.infer<typeof TableColumnSchema>\nexport type TablePagination = z.infer<typeof TablePaginationSchema>\nexport type TableVirtualizeOptions = z.infer<typeof TableVirtualizeOptionsSchema>\nexport type TableExportable = z.infer<typeof TableExportableSchema>\nexport type CitationEntry = z.infer<typeof CitationEntrySchema>\nexport type TableComponentParams = z.infer<typeof TableComponentParamsSchema>\nexport type MetricTrend = z.infer<typeof MetricTrendSchema>\nexport type MetricComponentParams = z.infer<typeof MetricComponentParamsSchema>\nexport type TextComponentParams = z.infer<typeof TextComponentParamsSchema>\nexport type IframeComponentParams = z.infer<typeof IframeComponentParamsSchema>\nexport type ImageComponentParams = z.infer<typeof ImageComponentParamsSchema>\nexport type LinkComponentParams = z.infer<typeof LinkComponentParamsSchema>\nexport type CarouselComponentParams = z.infer<typeof CarouselComponentParamsSchema>\nexport type ArtifactComponentParams = z.infer<typeof ArtifactComponentParamsSchema>\n"],"names":["z"],"mappings":";;;AAOO,MAAM,qBAAqBA,IAAAA,EAAE,OAAO;AAAA,EACzC,UAAUA,IAAAA,EAAE,OAAA,EAAS,IAAA,EAAM,IAAI,CAAC,EAAE,IAAI,EAAE;AAAA,EACxC,SAASA,IAAAA,EAAE,OAAA,EAAS,IAAA,EAAM,IAAI,CAAC,EAAE,IAAI,EAAE;AAAA,EACvC,UAAUA,IAAAA,EAAE,SAAS,MAAM,IAAI,CAAC,EAAE,SAAA;AAAA,EAClC,SAASA,IAAAA,EAAE,OAAA,EAAS,IAAA,EAAM,IAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,SAAA;AAC9C,CAAC;AAGM,MAAM,sBAAsBA,IAAAA,EAAE,KAAK;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AACF,CAAC;AAGM,MAAM,wBAAwBA,IAAAA,EAAE,OAAO;AAAA,EAC5C,OAAOA,IAAAA,EAAE,SAAS,IAAI,CAAC;AAAA,EACvB,OAAOA,IAAAA,EAAE,OAAA;AAAA,EACT,UAAUA,IAAAA,EAAE,QAAA,EAAU,SAAA;AACxB,CAAC;AAGM,MAAM,sBAAsBA,IAAAA,EAAE,KAAK;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAGM,MAAM,yBAAyBA,IAAAA,EAAE,KAAK;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAGM,MAAM,0BAA0BA,IAAAA,EAAE,OAAO;AAAA,EAC9C,OAAOA,IAAAA,EAAE,SAAS,IAAI,CAAC;AAAA,EACvB,UAAU;AAAA,EACV,OAAOA,IAAAA,EAAE,IAAA,EAAM,SAAA;AACjB,CAAC;AAGM,MAAM,sBAAsBA,IAAAA,EAAE,KAAK,CAAC,QAAQ,YAAY,YAAY,SAAS,CAAC;AAQ9E,MAAM,kBAAkBA,IAAAA,EAAE,OAAO;AAAA,EACtC,MAAMA,IAAAA,EAAE,SAAS,MAAM,mBAAmB;AAAA,EAC1C,MAAM;AAAA,EACN,OAAOA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EAClB,aAAaA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACxB,UAAUA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACrB,UAAUA,IAAAA,EAAE,QAAA,EAAU,SAAA;AAAA,EACtB,UAAUA,IAAAA,EAAE,QAAA,EAAU,SAAA;AAAA,EACtB,cAAcA,IAAAA,EAAE,IAAA,EAAM,SAAA;AAAA;AAAA,EAEtB,SAASA,IAAAA,EAAE,MAAM,CAACA,IAAAA,EAAE,OAAA,GAAUA,MAAE,MAAMA,IAAAA,EAAE,OAAA,CAAQ,CAAC,CAAC,EAAE,SAAA;AAAA,EACpD,aAAaA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACxB,QAAQ,oBAAoB,SAAA;AAAA,EAC5B,OAAOA,IAAAA,EAAE,QAAA,EAAU,SAAA;AAAA;AAAA,EAEnB,aAAaA,IAAAA,EAAE,KAAK,CAAC,SAAS,SAAS,CAAC,EAAE,SAAA;AAAA;AAAA,EAE1C,aAAaA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACxB,iBAAiBA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA;AAAA,EAE5B,WAAWA,IAAAA,EAAE,SAAS,MAAM,IAAI,CAAC,EAAE,SAAA;AAAA,EACnC,WAAWA,IAAAA,EAAE,SAAS,MAAM,IAAI,CAAC,EAAE,SAAA;AAAA,EACnC,SAASA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA;AAAA,EAEpB,KAAKA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EAChB,KAAKA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EAChB,MAAMA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA;AAAA,EAEjB,SAASA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACpB,SAASA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA;AAAA,EAEpB,SAASA,IAAAA,EAAE,MAAM,qBAAqB,EAAE,SAAA;AAAA;AAAA,EAExC,UAAUA,IAAAA,EAAE,QAAA,EAAU,SAAA;AAAA;AAAA,EAEtB,QAAQA,IAAAA,EAAE,OAAA,EAAS,IAAA,EAAM,SAAA;AAAA,EACzB,aAAaA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACxB,YAAYA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACvB,YAAYA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACvB,aAAaA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAA,CAAQ,EAAE,SAAA;AAAA,EAClC,UAAUA,IAAAA,EAAE,SAAS,MAAM,IAAI,CAAC,EAAE,SAAA;AAAA,EAClC,YAAYA,IAAAA,EAAE,SAAS,MAAM,IAAI,CAAC,EAAE,SAAA;AAAA;AAAA,EAEpC,WAAWA,IAAAA,EAAE,OAAO;AAAA,IAClB,OAAOA,IAAAA,EAAE,OAAA;AAAA,IACT,QAAQA,IAAAA,EAAE,OAAA;AAAA,IACV,YAAYA,IAAAA,EAAE,OAAA;AAAA,IACd,YAAYA,IAAAA,EAAE,OAAA;AAAA,IACd,aAAaA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAA,CAAQ,EAAE,SAAA;AAAA,EAAS,CAC5C,EAAE,SAAA;AAAA;AAAA,EAEH,aAAaA,IAAAA,EAAE,KAAK,CAAC,YAAY,YAAY,eAAe,SAAS,CAAC,EAAE,SAAA;AAAA,EACxE,cAAcA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA;AAAA,EAEzB,eAAeA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA;AAAA,EAE1B,MAAMA,IAAAA,EAAE,OAAA,EAAS,IAAA,EAAM,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,SAAA;AAAA;AAAA,EAEtC,UAAU,wBAAwB,SAAA;AACpC,CAAC;AAGM,MAAM,yBAAyBA,IAAAA,EAAE,OAAO;AAAA,EAC7C,UAAUA,IAAAA,EAAE,SAAS,IAAI,CAAC;AAAA,EAC1B,QAAQA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,QAAA,CAAS,EAAE,SAAA;AAChC,CAAC;AAGM,MAAM,4BAA4BA,IAAAA,EAAE,OAAO;AAAA,EAChD,OAAOA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EAClB,QAAQA,IAAAA,EAAE,MAAM,eAAe,EAAE,IAAI,CAAC;AAAA,EACtC,aAAaA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACxB,WAAWA,IAAAA,EAAE,QAAA,EAAU,SAAA;AAAA,EACvB,cAAc,uBAAuB,SAAA;AAAA;AAAA,EAErC,YAAYA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACvB,wBAAwBA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAA,CAAQ,EAAE,SAAA;AAAA,EAC5C,kBAAkBA,IAAAA,EAAE,OAAA,EAAS,MAAM,SAAA,EAAW,SAAA;AAAA,EAC9C,QAAQA,IAAAA,EAAE,KAAK,CAAC,YAAY,cAAc,QAAQ,CAAC,EAAE,SAAA;AAAA;AAAA,EAErD,iBAAiBA,IAAAA,EAAE,OAAA,EAAS,IAAA,EAAM,IAAI,GAAI,EAAE,IAAI,GAAK,EAAE,SAAA;AACzD,CAAC;AAGM,MAAM,kBAAkBA,IAAAA,EAAE,KAAK,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,CAAC;AAG/D,MAAM,6BAA6BA,IAAAA,EAAE,OAAO;AAAA,EACjD,OAAOA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EAClB,MAAM,gBAAgB,SAAA;AAAA,EACtB,WAAWA,IAAAA,EAAE,QAAA,EAAU,SAAA;AAAA,EACvB,eAAeA,IAAAA,EAAE,QAAA,EAAU,SAAA;AAAA,EAC3B,iBAAiBA,IAAAA,EAAE,QAAA,EAAU,SAAA;AAAA,EAC7B,WAAWA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA;AAExB,CAAC;AAGM,MAAM,0BAA0BA,IAAAA,EAAE,KAAK;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAGM,MAAM,uBAAuBA,IAAAA,EAAE,KAAK,CAAC,QAAQ,MAAM,MAAM,IAAI,CAAC;AAG9D,MAAM,qBAAqBA,IAAAA,EAAE,OAAO;AAAA,EACzC,OAAOA,IAAAA,EAAE,SAAS,IAAI,CAAC;AAAA,EACvB,MAAMA,IAAAA,EAAE,KAAK,CAAC,UAAU,MAAM,CAAC,EAAE,SAAA;AAAA,EACjC,QAAQA,IAAAA,EAAE,KAAK,CAAC,aAAa,QAAQ,QAAQ,CAAC,EAAE,SAAA;AAAA,EAChD,UAAUA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACrB,QAAQA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,QAAA,CAAS,EAAE,SAAA;AAAA,EAC9B,KAAKA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EAChB,SAASA,IAAAA,EAAE,KAAK,CAAC,WAAW,aAAa,WAAW,SAAS,QAAQ,CAAC,EAAE,SAAA;AAAA,EACxE,MAAMA,IAAAA,EAAE,KAAK,CAAC,MAAM,MAAM,IAAI,CAAC,EAAE,SAAA;AAAA,EACjC,MAAMA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACjB,UAAUA,IAAAA,EAAE,QAAA,EAAU,SAAA;AACxB,CAAC;AAGM,MAAM,0BAA0BA,IAAAA,EAAE,OAAO;AAAA,EAC9C,SAASA,IAAAA,EAAE,MAAM,kBAAkB,EAAE,IAAI,CAAC;AAAA,EAC1C,QAAQ,wBAAwB,SAAA;AAAA,EAChC,KAAK,qBAAqB,SAAA;AAAA,EAC1B,WAAWA,IAAAA,EAAE,QAAA,EAAU,SAAA;AAAA,EACvB,OAAOA,IAAAA,EAAE,OAAA,EAAS,SAAA;AACpB,CAAC;AAGM,MAAM,qBAAqBA,IAAAA,EAAE,OAAO;AAAA,EACzC,KAAKA,IAAAA,EAAE,OAAA,EAAS,IAAA;AAAA,EAChB,WAAWA,IAAAA,EAAE,OAAA,EAAS,IAAA,EAAM,SAAA;AAAA,EAC5B,KAAKA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EAChB,SAASA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACpB,QAAQA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACnB,OAAOA,IAAAA,EAAE,OAAA,EAAS,SAAA;AACpB,CAAC;AAGM,MAAM,4BAA4BA,IAAAA,EAAE,KAAK,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,EAAE,UAAU,MAAM;AAG/E,MAAM,wBAAwBA,IAAAA,EAAE,KAAK,CAAC,QAAQ,MAAM,MAAM,IAAI,CAAC;AAG/D,MAAM,gCAAgCA,IAAAA,EAAE,KAAK,CAAC,OAAO,QAAQ,OAAO,MAAM,CAAC;AAG3E,MAAM,2BAA2BA,IAAAA,EAAE,OAAO;AAAA,EAC/C,OAAOA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EAClB,QAAQA,IAAAA,EAAE,MAAM,kBAAkB,EAAE,IAAI,CAAC;AAAA,EACzC,SAASA,IAAAA,EAAE,MAAM,CAACA,IAAAA,EAAE,QAAQ,CAAC,GAAGA,IAAAA,EAAE,QAAQ,CAAC,GAAGA,MAAE,QAAQ,CAAC,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAA;AAAA,EAC3E,KAAK,sBAAsB,SAAA;AAAA,EAC3B,aAAa,8BAA8B,SAAA;AAAA,EAC3C,UAAUA,IAAAA,EAAE,QAAA,EAAU,SAAA;AAAA,EACtB,cAAcA,IAAAA,EAAE,QAAA,EAAU,SAAA;AAC5B,CAAC;AAGM,MAAM,yBAAyBA,IAAAA,EAAE,KAAK,CAAC,QAAQ,OAAO,OAAO,MAAM,CAAC;AAGpE,MAAM,6BAA6BA,IAAAA,EAAE,OAAO;AAAA,EACjD,KAAKA,IAAAA,EAAE,OAAA,EAAS,IAAA;AAAA,EAChB,OAAOA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EAClB,SAASA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACpB,QAAQA,IAAAA,EAAE,OAAA,EAAS,IAAA,EAAM,SAAA;AAAA,EACzB,aAAa,uBAAuB,SAAA;AAAA,EACpC,UAAUA,IAAAA,EAAE,QAAA,EAAU,SAAA;AAAA,EACtB,UAAUA,IAAAA,EAAE,QAAA,EAAU,SAAA;AAAA,EACtB,MAAMA,IAAAA,EAAE,QAAA,EAAU,SAAA;AAAA,EAClB,OAAOA,IAAAA,EAAE,QAAA,EAAU,SAAA;AAAA,EACnB,WAAWA,IAAAA,EAAE,OAAA,EAAS,MAAM,IAAI,CAAC,EAAE,SAAA;AACrC,CAAC;AAGM,MAAM,4BAA4BA,IAAAA,EAAE,OAAO;AAAA,EAChD,MAAMA,IAAAA,EAAE,OAAA;AAAA,EACR,UAAUA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACrB,UAAUA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACrB,iBAAiBA,IAAAA,EAAE,QAAA,EAAU,SAAA;AAAA,EAC7B,WAAWA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACtB,gBAAgBA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAA,CAAQ,EAAE,SAAA;AAAA,EACpC,WAAWA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACtB,OAAOA,IAAAA,EAAE,KAAK,CAAC,SAAS,MAAM,CAAC,EAAE,SAAA;AACnC,CAAC;AAQM,MAAM,qBAAqBA,IAAAA,EAAE,OAAO;AAAA,EACzC,KAAKA,IAAAA,EAAE,OAAA;AAAA,EACP,KAAKA,IAAAA,EAAE,OAAA;AACT,CAAC;AACM,MAAM,oBAAoBA,IAAAA,EAAE,MAAM,CAACA,IAAAA,EAAE,UAAUA,IAAAA,EAAE,QAAQ,CAAC;AAC1D,MAAM,oBAAoBA,IAAAA,EAAE,MAAM,CAAC,mBAAmB,kBAAkB,CAAC;AAGzE,MAAM,kBAAkBA,IAAAA,EAAE,OAAO;AAAA,EACtC,UAAU;AAAA,EACV,SAASA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACpB,OAAOA,IAAAA,EAAE,OAAA,EAAS,SAAA;AACpB,CAAC;AAGM,MAAM,2BAA2BA,IAAAA,EAAE,OAAO;AAAA,EAC/C,QAAQ,kBAAkB,SAAA;AAAA,EAC1B,MAAMA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACjB,SAASA,IAAAA,EAAE,MAAM,eAAe,EAAE,SAAA;AAAA,EAClC,QAAQA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACnB,WAAWA,IAAAA,EAAE,QAAA,EAAU,SAAA;AAAA,EACvB,aAAaA,IAAAA,EAAE,QAAA,EAAU,SAAA;AAAA,EACzB,iBAAiBA,IAAAA,EAAE,QAAA,EAAU,SAAA;AAAA,EAC7B,WAAWA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACtB,aAAaA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAC1B,CAAC;AAiBM,MAAM,kBAAkBA,IAAAA,EAAE,KAAK;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAEM,MAAM,qBAAqBA,IAAAA,EAAE,OAAO;AAAA,EACzC,OAAOA,IAAAA,EAAE,OAAA;AAAA;AAAA,EAET,MAAMA,IAAAA,EAAE,MAAM;AAAA,IACZA,IAAAA,EAAE,MAAMA,MAAE,QAAQ;AAAA,IAClBA,IAAAA,EAAE;AAAA,MACAA,IAAAA,EAAE,OAAO;AAAA,QACP,GAAGA,IAAAA,EAAE,MAAM,CAACA,IAAAA,EAAE,UAAUA,IAAAA,EAAE,OAAA,CAAQ,CAAC;AAAA,QACnC,GAAGA,IAAAA,EAAE,OAAA;AAAA,MAAO,CACb;AAAA,IAAA;AAAA,EACH,CACD;AAAA,EACD,iBAAiBA,IAAAA,EAAE,MAAM,CAACA,IAAAA,EAAE,OAAA,GAAUA,MAAE,MAAMA,IAAAA,EAAE,OAAA,CAAQ,CAAC,CAAC,EAAE,SAAA;AAAA,EAC5D,aAAaA,IAAAA,EAAE,MAAM,CAACA,IAAAA,EAAE,OAAA,GAAUA,MAAE,MAAMA,IAAAA,EAAE,OAAA,CAAQ,CAAC,CAAC,EAAE,SAAA;AAAA,EACxD,aAAaA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACxB,MAAMA,IAAAA,EAAE,MAAM,CAACA,MAAE,WAAWA,IAAAA,EAAE,OAAA,CAAQ,CAAC,EAAE,SAAA;AAAA,EACzC,SAASA,IAAAA,EAAE,OAAA,EAAS,SAAA;AACtB,CAAC;AAEM,MAAM,sBAAsBA,IAAAA,EAAE,OAAO;AAAA,EAC1C,QAAQA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACnB,MAAMA,IAAAA,EAAE,KAAK,CAAC,OAAO,QAAQ,SAAS,WAAW,MAAM,CAAC,EAAE,SAAA;AAAA,EAC1D,eAAeA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EAC1B,KAAKA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EAChB,KAAKA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAClB,CAAC;AAEM,MAAM,6BAA6BA,IAAAA,EAAE,OAAO;AAAA,EACjD,MAAM;AAAA,EACN,OAAOA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EAClB,MAAMA,IAAAA,EAAE,OAAO;AAAA,IACb,QAAQA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,QAAQ;AAAA,IAC1B,UAAUA,IAAAA,EAAE,MAAM,kBAAkB;AAAA,EAAA,CACrC;AAAA,EACD,SAASA,IAAAA,EACN,OAAO;AAAA,IACN,YAAYA,IAAAA,EAAE,QAAA,EAAU,SAAA;AAAA,IACxB,qBAAqBA,IAAAA,EAAE,QAAA,EAAU,SAAA;AAAA,IACjC,SAASA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA;AAAA,IAEpB,QAAQA,IAAAA,EAAE,QAAA,EAAU,SAAA;AAAA,IACpB,SAASA,IAAAA,EAAE,QAAA,EAAU,SAAA;AAAA,EAAS,CAC/B,EACA,SAAA;AAAA,EACH,UAAUA,IAAAA,EAAE,KAAK,CAAC,UAAU,UAAU,MAAM,CAAC,EAAE,SAAA;AAAA,EAC/C,YAAYA,IAAAA,EAAE,QAAA,EAAU,SAAA;AAAA,EACxB,UAAU,oBAAoB,SAAA;AAAA,EAC9B,QAAQA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACnB,WAAWA,IAAAA,EAAE,OAAA,EAAS,SAAA;AACxB,CAAC;AAGM,MAAM,oBAAoBA,IAAAA,EAAE,OAAO;AAAA,EACxC,KAAKA,IAAAA,EAAE,SAAS,IAAI,CAAC;AAAA,EACrB,OAAOA,IAAAA,EAAE,OAAA;AAAA,EACT,UAAUA,IAAAA,EAAE,QAAA,EAAU,SAAA;AAAA,EACtB,OAAOA,IAAAA,EAAE,OAAA,EAAS,SAAA;AACpB,CAAC;AAEM,MAAM,wBAAwBA,IAAAA,EAAE,OAAO;AAAA,EAC5C,aAAaA,IAAAA,EAAE,OAAA,EAAS,IAAA,EAAM,IAAI,CAAC;AAAA,EACnC,UAAUA,IAAAA,EAAE,OAAA,EAAS,IAAA,EAAM,IAAI,CAAC;AAAA,EAChC,WAAWA,IAAAA,EAAE,OAAA,EAAS,IAAA,EAAM,IAAI,CAAC;AACnC,CAAC;AAEM,MAAM,+BAA+BA,IAAAA,EAAE,OAAO;AAAA,EACnD,SAASA,IAAAA,EAAE,QAAA,EAAU,SAAA;AAAA,EACrB,WAAWA,IAAAA,EAAE,SAAS,MAAM,IAAI,CAAC,EAAE,SAAA;AAAA,EACnC,UAAUA,IAAAA,EAAE,SAAS,MAAM,IAAI,CAAC,EAAE,SAAA;AAAA,EAClC,WAAWA,IAAAA,EAAE,OAAA,EAAS,MAAM,IAAI,CAAC,EAAE,SAAA;AACrC,CAAC;AAEM,MAAM,wBAAwBA,IAAAA,EAAE,MAAM;AAAA,EAC3CA,IAAAA,EAAE,QAAA;AAAA,EACFA,IAAAA,EAAE,OAAO;AAAA,IACP,SAASA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,KAAK,CAAC,OAAO,OAAO,MAAM,CAAC,CAAC,EAAE,SAAA;AAAA,IACjD,UAAUA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EAAS,CAC/B;AACH,CAAC;AAMM,MAAM,sBAAsBA,IAAAA,EAAE,OAAO;AAAA,EAC1C,MAAMA,IAAAA,EAAE,MAAM,CAACA,IAAAA,EAAE,UAAUA,IAAAA,EAAE,OAAA,CAAQ,CAAC;AAAA,EACtC,MAAMA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACjB,SAASA,IAAAA,EAAE,MAAM,CAACA,IAAAA,EAAE,OAAA,GAAUA,MAAE,QAAQ,CAAC,EAAE,SAAA;AAC7C,CAAC;AAEM,MAAM,6BAA6BA,IAAAA,EAAE,OAAO;AAAA,EACjD,OAAOA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EAClB,SAASA,IAAAA,EAAE,MAAM,iBAAiB,EAAE,IAAI,CAAC;AAAA,EACzC,MAAMA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,QAAA,CAAS,CAAC;AAAA,EACnC,YAAY,sBAAsB,SAAA;AAAA,EAClC,YAAYA,IAAAA,EAAE,MAAM,CAACA,IAAAA,EAAE,WAAW,4BAA4B,CAAC,EAAE,SAAA;AAAA,EACjE,YAAY,sBAAsB,SAAA;AAAA,EAClC,WAAWA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA;AAAA,EAEtB,aAAaA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,UAAU,mBAAmB,EAAE,SAAA;AACzD,CAAC;AAGM,MAAM,oBAAoBA,IAAAA,EAAE,OAAO;AAAA,EACxC,OAAOA,IAAAA,EAAE,OAAA;AAAA,EACT,WAAWA,IAAAA,EAAE,KAAK,CAAC,MAAM,QAAQ,SAAS,CAAC;AAC7C,CAAC;AAEM,MAAM,8BAA8BA,IAAAA,EAAE,OAAO;AAAA,EAClD,OAAOA,IAAAA,EAAE,SAAS,IAAI,CAAC;AAAA,EACvB,OAAOA,IAAAA,EAAE,MAAM,CAACA,IAAAA,EAAE,UAAUA,IAAAA,EAAE,OAAA,CAAQ,CAAC;AAAA,EACvC,MAAMA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACjB,OAAO,kBAAkB,SAAA;AAAA,EACzB,UAAUA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACrB,MAAMA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACjB,WAAWA,IAAAA,EAAE,OAAA,EAAS,SAAA;AACxB,CAAC;AAGM,MAAM,4BAA4BA,IAAAA,EAAE,OAAO;AAAA,EAChD,SAASA,IAAAA,EAAE,SAAS,IAAI,CAAC;AAAA,EACzB,UAAUA,IAAAA,EAAE,QAAA,EAAU,SAAA;AAAA,EACtB,WAAWA,IAAAA,EAAE,OAAA,EAAS,SAAA;AACxB,CAAC;AAGM,MAAM,8BAA8BA,IAAAA,EAAE,OAAO;AAAA,EAClD,KAAKA,IAAAA,EAAE,SAAS,IAAI,CAAC;AAAA,EACrB,OAAOA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EAClB,QAAQA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACnB,WAAWA,IAAAA,EAAE,OAAA,EAAS,SAAA;AACxB,CAAC;AAGM,MAAM,6BAA6BA,IAAAA,EAAE,OAAO;AAAA,EACjD,KAAKA,IAAAA,EAAE,SAAS,IAAI,CAAC;AAAA,EACrB,KAAKA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EAChB,SAASA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACpB,WAAWA,IAAAA,EAAE,OAAA,EAAS,SAAA;AACxB,CAAC;AAGM,MAAM,4BAA4BA,IAAAA,EAAE,OAAO;AAAA,EAChD,KAAKA,IAAAA,EAAE,SAAS,IAAI,CAAC;AAAA,EACrB,OAAOA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EAClB,aAAaA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACxB,WAAWA,IAAAA,EAAE,OAAA,EAAS,SAAA;AACxB,CAAC;AAKM,MAAM,gCAAgCA,IAAAA,EAAE,OAAO;AAAA,EACpD,OAAOA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,SAAS,EAAE,IAAI,CAAC;AAAA,EACjC,QAAQA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACnB,WAAWA,IAAAA,EAAE,OAAA,EAAS,SAAA;AACxB,CAAC;AAGM,MAAM,gCAAgCA,IAAAA,EAAE,OAAO;AAAA,EACpD,KAAKA,IAAAA,EAAE,SAAS,IAAI,CAAC;AAAA,EACrB,UAAUA,IAAAA,EAAE,SAAS,IAAI,CAAC;AAAA,EAC1B,UAAUA,IAAAA,EAAE,SAAS,IAAI,CAAC;AAAA,EAC1B,MAAMA,IAAAA,EAAE,SAAS,MAAM,IAAI,CAAC,EAAE,SAAA;AAAA,EAC9B,aAAaA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAC1B,CAAC;AAGM,MAAM,oBAAoBA,IAAAA,EAAE,KAAK;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAGM,MAAM,4BAA4BA,IAAAA,EAAE,OAAO;AAAA,EAChD,cAAcA,IAAAA,EAAE,QAAA,EAAU,QAAQ,KAAK,EAAE,SAAA;AAAA,EACzC,gBAAgBA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAA,CAAQ,EAAE,SAAA;AAAA,EACpC,gBAAgBA,IAAAA,EAAE,OAAA,EAAS,MAAM,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,SAAA;AAAA,EAC1D,cAAcA,IAAAA,EAAE,MAAM,iBAAiB,EAAE,SAAA;AAC3C,CAAC;AAGM,MAAM,+BAA+BA,IAAAA,EAAE,OAAO;AAAA,EACnD,eAAeA,IAAAA,EAAE,OAAA,EAAS,IAAA,EAAM,IAAI,GAAG,EAAE,QAAQ,GAAI,EAAE,SAAA;AAAA,EACvD,aAAaA,IAAAA,EAAE,OAAA,EAAS,IAAA,EAAM,IAAI,IAAI,EAAE,QAAQ,MAAM,EAAE,SAAA;AAC1D,CAAC;AAGM,MAAM,wBAAwBA,IAAAA,EAAE,OAAO;AAAA,EAC5C,MAAMA,IAAAA,EAAE,QAAQ,QAAQ;AAAA,EACxB,UAAUA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAA,CAAQ,EAAE,SAAA;AAAA,EAC9B,YAAYA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,SAAS;AAAA,EAChC,sBAAsBA,IAAAA,EAAE,QAAA,EAAU,SAAA;AACpC,CAAC;AAGM,MAAM,yBAAyBA,IAAAA,EAAE,OAAO;AAAA,EAC7C,MAAMA,IAAAA,EAAE,SAAS,IAAI,CAAC;AAAA,EACtB,aAAaA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACxB,QAAQA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,SAAS;AAAA,EAC5B,UAAU,mBAAmB,SAAA;AAC/B,CAAC;AAGM,MAAM,kBAAkBA,IAAAA,EAAE,OAAO;AAAA,EACtC,IAAIA,IAAAA,EAAE,SAAS,MAAM,cAAc;AAAA,EACnC,MAAM;AAAA,EACN,MAAMA,IAAAA,EAAE,SAAS,IAAI,CAAC;AAAA,EACtB,aAAaA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACxB,QAAQ;AAAA,EACR,UAAUA,IAAAA,EAAE,MAAM,sBAAsB,EAAE,IAAI,CAAC;AAAA,EAC/C,UAAU,0BAA0B,SAAA;AAAA,EACpC,aAAa,6BAA6B,SAAA;AAAA,EAC1C,MAAMA,IAAAA,EAAE,MAAMA,MAAE,OAAA,EAAS,MAAM,cAAc,CAAC,EAAE,SAAA;AAAA,EAChD,SAASA,IAAAA,EACN,OAAA,EACA,MAAM,iBAAiB,EACvB,SAAA;AAAA,EACH,YAAYA,IAAAA,EAAE,QAAA,EAAU,QAAQ,KAAK,EAAE,SAAA;AAAA,EACvC,oBAAoBA,IAAAA,EAAE,OAAA,EAAS,SAAA;AACjC,CAAC;AAGM,MAAM,yBAAyBA,IAAAA,EAAE,OAAO;AAAA,EAC7C,MAAMA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACjB,aAAaA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACxB,QAAQA,IAAAA,EAAE,OAAA,EAAS,SAAA;AAAA,EACnB,YAAYA,IAAAA,EAAE,SAAS,IAAA,EAAM,SAAA;AAC/B,CAAC;AAGM,MAAM,0BAA0BA,IAAAA,EAAE,OAAO;AAAA,EAC9C,SAASA,IAAAA,EAAE,QAAQ,OAAO;AAAA,EAC1B,UAAU,uBAAuB,SAAA;AAAA,EACjC,YAAYA,IAAAA,EAAE,MAAM,eAAe,EAAE,IAAI,CAAC;AAC5C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"schemas.cjs","sources":["../src/schemas/index.ts"],"sourcesContent":["/**\n * Zod validation schemas for component registry\n */\n\nimport { z } from 'zod'\n\n// Grid position schema\nexport const 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})\n\n// Component types (synced with mcp-ui-solid v1.2.6)\nexport const ComponentTypeSchema = z.enum([\n 'chart',\n 'table',\n 'metric',\n 'text',\n 'composite',\n 'grid', // Phase 5.0: Nested grid layouts\n 'iframe',\n 'image',\n 'link',\n 'action', // Phase 5.0: Tool call actions\n 'footer', // Phase 5.0: Metadata footer\n 'carousel',\n 'artifact',\n 'form', // Sprint 1: Form component\n 'modal', // Sprint 3: Modal/dialog component\n 'action-group', // Sprint 3: Action grouping component\n 'image-gallery', // Sprint 5: Image gallery with lightbox\n 'video', // Sprint 5: Video embed (YouTube, Vimeo, direct)\n 'code', // Sprint 6: Syntax highlighted code block\n 'map', // Sprint 6: Interactive map (Leaflet)\n 'graph', // v5.0.4: node-link graph (peer @antv/g6)\n])\n\n// Form field option schema (for select, radio)\nexport const FormFieldOptionSchema = z.object({\n label: z.string().min(1),\n value: z.string(),\n disabled: z.boolean().optional(),\n})\n\n// Form field type schema\nexport const 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])\n\n// Show when operator schema\nexport const 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])\n\n// Show when condition schema\nexport const ShowWhenConditionSchema = z.object({\n field: z.string().min(1),\n operator: ShowWhenOperatorSchema,\n value: z.any().optional(),\n})\n\n// Prefill source schema (v4.2.0)\nexport const PrefillSourceSchema = z.enum(['user', 'detected', 'inferred', 'default'])\n\n// Form field schema\n//\n// NAME REGEX (relaxed in v5.0.2 per audit MCP-UI-AUDIT-2026-04-26.md §L.2)\n// — allows `_`, `.`, `-` after the first letter (kebab-case for URL params,\n// dot-paths for nested forms). Still requires a leading letter to keep the\n// value usable as a CSS selector / JS access key.\nexport const 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})\n\n// Form submit action schema\nexport const FormSubmitActionSchema = z.object({\n toolName: z.string().min(1),\n params: z.record(z.unknown()).optional(),\n})\n\n// Form component params schema\nexport const 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(1000).max(30000).optional(),\n})\n\n// Modal size schema (Sprint 3)\nexport const ModalSizeSchema = z.enum(['sm', 'md', 'lg', 'xl', 'full'])\n\n// Modal component params schema (Sprint 3)\nexport const 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})\n\n// Action group layout schema (Sprint 3)\nexport const ActionGroupLayoutSchema = z.enum([\n 'horizontal',\n 'vertical',\n 'space-between',\n 'end',\n 'center',\n])\n\n// Action group gap schema (Sprint 3)\nexport const ActionGroupGapSchema = z.enum(['none', 'sm', 'md', 'lg'])\n\n// Action component params schema (for action-group)\nexport const 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})\n\n// Action group component params schema (Sprint 3)\nexport const 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})\n\n// Gallery image schema (Sprint 5)\nexport const 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})\n\n// Image gallery columns schema (Sprint 5)\nexport const ImageGalleryColumnsSchema = z.enum(['2', '3', '4', '5']).transform(Number) as unknown as z.ZodType<2 | 3 | 4 | 5>\n\n// Image gallery gap schema (Sprint 5)\nexport const ImageGalleryGapSchema = z.enum(['none', 'sm', 'md', 'lg'])\n\n// Image gallery aspect ratio schema (Sprint 5)\nexport const ImageGalleryAspectRatioSchema = z.enum(['1:1', '16:9', '4:3', 'auto'])\n\n// Image gallery params schema (Sprint 5)\nexport const 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})\n\n// Video aspect ratio schema (Sprint 5)\nexport const VideoAspectRatioSchema = z.enum(['16:9', '4:3', '1:1', '21:9'])\n\n// Video component params schema (Sprint 5)\nexport const 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})\n\n// Code component params schema (Sprint 6)\nexport const 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})\n\n// Lat/Lng point — Leaflet-compatible polymorphic shape (v5.0.2)\n//\n// Leaflet's own LatLng API accepts either a `[lat, lng]` tuple OR a\n// `{ lat, lng }` object literal natively. Mirroring that here lets MCP\n// servers emit either shape without forcing normalization (per audit\n// MCP-UI-AUDIT-2026-04-26.md §L.1).\nexport const LatLngObjectSchema = z.object({\n lat: z.number(),\n lng: z.number(),\n})\nexport const LatLngTupleSchema = z.tuple([z.number(), z.number()])\nexport const LatLngPointSchema = z.union([LatLngTupleSchema, LatLngObjectSchema])\n\n// Map marker schema (Sprint 6, position relaxed to LatLngPoint in v5.0.2)\nexport const MapMarkerSchema = z.object({\n position: LatLngPointSchema,\n tooltip: z.string().optional(),\n popup: z.string().optional(),\n})\n\n// Map component params schema (Sprint 6, center relaxed to LatLngPoint in v5.0.2)\nexport const 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})\n\n// =============================================================================\n// Graph component (v5.0.4) — generic node-link visualization\n//\n// The shape is intentionally domain-neutral: nodes have an id + optional\n// label/weight/style, edges have source+target+optional weight/style. The\n// `weight` field on both is a generic ranking signal — domain semantics\n// (rerank score / co-retrieval count / criticality / token contribution /\n// frequency / etc.) are opaque to the lib and decided by the consumer.\n//\n// Renderer support lives in `@seed-ship/mcp-ui-solid` and lazy-loads\n// `@antv/g6 ^5` as a peer-optional dependency. Apps that don't install\n// the peer see an informative fallback instead of a crash.\n// =============================================================================\n\nexport const GraphNodeSchema = z.object({\n id: z.string().min(1),\n label: z.string().optional(),\n type: z.string().optional(), // 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(), // passthrough G6 NodeStyle\n data: z.record(z.unknown()).optional(), // arbitrary metadata for tooltips / click handlers\n})\n\nexport const GraphEdgeSchema = z.object({\n source: z.string().min(1), // must match a node.id\n target: z.string().min(1), // must match a node.id\n label: z.string().optional(),\n type: z.string().optional(), // 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})\n\n/**\n * Layout names exposed in the spec. Narrow on purpose — `force` covers\n * generic networks, `dagre` covers DAGs, `concentric` covers\n * weight-ordered ring layouts, `mindmap` + `tree` cover hierarchical\n * fan-outs, `circular` + `grid` cover small-N ordered layouts. Power\n * users opt into other G6 layouts via the object form\n * `{ type: 'force', options: { ... } }` — `options` is a passthrough.\n */\nexport const GraphLayoutNameSchema = z.enum([\n 'force',\n 'dagre',\n 'mindmap',\n 'tree',\n 'circular',\n 'grid',\n 'concentric',\n])\n\nexport const GraphLayoutSchema = z.union([\n GraphLayoutNameSchema,\n z.object({\n type: GraphLayoutNameSchema,\n options: z.record(z.unknown()).optional(),\n }),\n])\n\nexport const 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(), // CSS length, default '400px'\n width: z.string().optional(), // CSS length, default '100%'\n rendererPref: z.enum(['canvas', 'svg']).optional(), // default 'canvas'\n fitView: z.boolean().optional(), // default true\n enableZoom: z.boolean().optional(), // default true\n enableDrag: z.boolean().optional(), // default true (drag nodes)\n enableSelect: z.boolean().optional(), // default true (click-select highlight)\n tooltip: z.boolean().optional(), // default true (label + data summary on hover)\n className: z.string().optional(),\n})\n\n// =============================================================================\n// Primitive component params schemas (v5.0.1)\n//\n// These mirror the runtime types declared in `@seed-ship/mcp-ui-solid/types`\n// and the imperative checks in `mcp-ui-solid/src/services/validation.ts`.\n// They prepare B.1 — `validation.ts` migration to spec-driven Zod parsing\n// without losing the existing imperative resource-limits / iframe-domain\n// whitelist layers (see MCP-UI-AUDIT-2026-04-26.md §I).\n//\n// URL-bearing fields use `z.string().min(1)` (not `.url()`) on purpose —\n// validation.ts currently just truthy-checks them, and `.url()` would\n// reject relative paths and `localhost`-style dev URLs.\n// =============================================================================\n\n// Chart component (v5.0.1)\nexport const ChartTypeSchema = z.enum([\n 'bar',\n 'line',\n 'pie',\n 'doughnut',\n 'radar',\n 'scatter',\n 'bubble',\n 'polarArea',\n])\n\nexport const 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})\n\nexport const 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})\n\nexport const 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\n .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 })\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})\n\n// Table component (v5.0.1)\nexport const TableColumnSchema = z.object({\n key: z.string().min(1),\n label: z.string(),\n sortable: z.boolean().optional(),\n width: z.string().optional(),\n})\n\nexport const 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})\n\nexport const 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})\n\nexport const 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])\n\n// Citation entry — source of a `[N]` marker rendered inside table cells (v5.0.3)\n// Used by `<TableRenderer>` when `params.citationMap` is set, to turn LLM\n// `[📄 CITATION N]` markers into clickable chips. See\n// `mcp-ui-solid/docs/briefs/BRIEF-citations-in-table-cells.md` for context.\nexport const 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})\n\nexport const 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})\n\n// Metric component (v5.0.1)\nexport const MetricTrendSchema = z.object({\n value: z.number(),\n direction: z.enum(['up', 'down', 'neutral']),\n})\n\nexport const 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})\n\n// Text component (v5.0.1)\nexport const TextComponentParamsSchema = z.object({\n content: z.string().min(1),\n markdown: z.boolean().optional(),\n className: z.string().optional(),\n})\n\n// Iframe component (v5.0.1) — domain whitelist stays in mcp-ui-solid (security)\nexport const 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})\n\n// Image component (v5.0.1)\nexport const 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})\n\n// Link component (v5.0.1)\nexport const 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})\n\n// Carousel component (v5.0.1)\n// `items` are UIComponent values that are validated recursively by the\n// renderer — kept opaque here to avoid a circular schema reference.\nexport const CarouselComponentParamsSchema = z.object({\n items: z.array(z.unknown()).min(1),\n height: z.string().optional(),\n className: z.string().optional(),\n})\n\n// Artifact component (v5.0.1)\nexport const 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})\n\n// Sandbox flags\nexport const SandboxFlagSchema = z.enum([\n 'allow-scripts',\n 'allow-same-origin',\n 'allow-forms',\n 'allow-popups',\n 'allow-modals',\n])\n\n// Security constraints\nexport const 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})\n\n// Performance constraints\nexport const PerformanceConstraintsSchema = z.object({\n maxRenderTime: z.number().int().min(100).default(5000).optional(),\n maxDataSize: z.number().int().min(1024).default(102400).optional(),\n})\n\n// Component schema (JSON Schema definition)\nexport const 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})\n\n// Component example\nexport const 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})\n\n// Component definition\nexport const 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\n .string()\n .regex(/^\\d+\\.\\d+\\.\\d+$/)\n .optional(),\n deprecated: z.boolean().default(false).optional(),\n deprecationMessage: z.string().optional(),\n})\n\n// Registry metadata\nexport const 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})\n\n// Component registry\nexport const ComponentRegistrySchema = z.object({\n version: z.literal('1.0.0'),\n metadata: RegistryMetadataSchema.optional(),\n components: z.array(ComponentSchema).min(1),\n})\n\n// Export types inferred from schemas\nexport type ComponentRegistry = z.infer<typeof ComponentRegistrySchema>\nexport type Component = z.infer<typeof ComponentSchema>\nexport type ComponentExample = z.infer<typeof ComponentExampleSchema>\nexport type GridPosition = z.infer<typeof GridPositionSchema>\nexport type SecurityConstraints = z.infer<typeof SecurityConstraintsSchema>\nexport type PerformanceConstraints = z.infer<typeof PerformanceConstraintsSchema>\nexport type ComponentType = z.infer<typeof ComponentTypeSchema>\nexport type SandboxFlag = z.infer<typeof SandboxFlagSchema>\n\n// Form types (Sprint 1)\nexport type FormFieldOption = z.infer<typeof FormFieldOptionSchema>\nexport type FormFieldType = z.infer<typeof FormFieldTypeSchema>\nexport type FormField = z.infer<typeof FormFieldSchema>\nexport type FormSubmitAction = z.infer<typeof FormSubmitActionSchema>\nexport type FormComponentParams = z.infer<typeof FormComponentParamsSchema>\nexport type PrefillSource = z.infer<typeof PrefillSourceSchema>\n\n// Conditional field types (Sprint 2)\nexport type ShowWhenOperator = z.infer<typeof ShowWhenOperatorSchema>\nexport type ShowWhenCondition = z.infer<typeof ShowWhenConditionSchema>\n\n// Modal types (Sprint 3)\nexport type ModalSize = z.infer<typeof ModalSizeSchema>\nexport type ModalComponentParams = z.infer<typeof ModalComponentParamsSchema>\n\n// Action group types (Sprint 3)\nexport type ActionGroupLayout = z.infer<typeof ActionGroupLayoutSchema>\nexport type ActionGroupGap = z.infer<typeof ActionGroupGapSchema>\nexport type ActionParams = z.infer<typeof ActionParamsSchema>\nexport type ActionGroupParams = z.infer<typeof ActionGroupParamsSchema>\n\n// Image gallery types (Sprint 5)\nexport type GalleryImage = z.infer<typeof GalleryImageSchema>\nexport type ImageGalleryGap = z.infer<typeof ImageGalleryGapSchema>\nexport type ImageGalleryAspectRatio = z.infer<typeof ImageGalleryAspectRatioSchema>\nexport type ImageGalleryParams = z.infer<typeof ImageGalleryParamsSchema>\n\n// Video types (Sprint 5)\nexport type VideoAspectRatio = z.infer<typeof VideoAspectRatioSchema>\nexport type VideoComponentParams = z.infer<typeof VideoComponentParamsSchema>\n\n// Code types (Sprint 6)\nexport type CodeComponentParams = z.infer<typeof CodeComponentParamsSchema>\n\n// Map types (Sprint 6 + v5.0.2 LatLngPoint relaxation)\nexport type LatLngObject = z.infer<typeof LatLngObjectSchema>\nexport type LatLngTuple = z.infer<typeof LatLngTupleSchema>\nexport type LatLngPoint = z.infer<typeof LatLngPointSchema>\nexport type MapMarker = z.infer<typeof MapMarkerSchema>\nexport type MapComponentParams = z.infer<typeof MapComponentParamsSchema>\n\n// Graph types (v5.0.4)\nexport type GraphNode = z.infer<typeof GraphNodeSchema>\nexport type GraphEdge = z.infer<typeof GraphEdgeSchema>\nexport type GraphLayoutName = z.infer<typeof GraphLayoutNameSchema>\nexport type GraphLayout = z.infer<typeof GraphLayoutSchema>\nexport type GraphComponentParams = z.infer<typeof GraphComponentParamsSchema>\n\n// Primitive component params types (v5.0.1)\nexport type ChartType = z.infer<typeof ChartTypeSchema>\nexport type ChartDataset = z.infer<typeof ChartDatasetSchema>\nexport type ChartTimeAxis = z.infer<typeof ChartTimeAxisSchema>\nexport type ChartComponentParams = z.infer<typeof ChartComponentParamsSchema>\nexport type TableColumn = z.infer<typeof TableColumnSchema>\nexport type TablePagination = z.infer<typeof TablePaginationSchema>\nexport type TableVirtualizeOptions = z.infer<typeof TableVirtualizeOptionsSchema>\nexport type TableExportable = z.infer<typeof TableExportableSchema>\nexport type CitationEntry = z.infer<typeof CitationEntrySchema>\nexport type TableComponentParams = z.infer<typeof TableComponentParamsSchema>\nexport type MetricTrend = z.infer<typeof MetricTrendSchema>\nexport type MetricComponentParams = z.infer<typeof MetricComponentParamsSchema>\nexport type TextComponentParams = z.infer<typeof TextComponentParamsSchema>\nexport type IframeComponentParams = z.infer<typeof IframeComponentParamsSchema>\nexport type ImageComponentParams = z.infer<typeof ImageComponentParamsSchema>\nexport type LinkComponentParams = z.infer<typeof LinkComponentParamsSchema>\nexport type CarouselComponentParams = z.infer<typeof CarouselComponentParamsSchema>\nexport type ArtifactComponentParams = z.infer<typeof ArtifactComponentParamsSchema>\n"],"names":["z"],"mappings":"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"}
|