@seed-ship/mcp-ui-spec 3.1.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,59 @@ 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.0] - 2026-04-14
9
+
10
+ ### Major release — synchronized with `@seed-ship/mcp-ui-solid` 5.0.0
11
+
12
+ No schema breaking changes in this package. The major bump aligns the three
13
+ monorepo packages on a single version line so consumers can pin a single major.
14
+
15
+ ### Changed
16
+ - Version bump 3.2.0 → 5.0.0 (synchronized with `@seed-ship/mcp-ui-solid` v5.0.0 and `@seed-ship/mcp-ui-cli` v5.0.0).
17
+
18
+ ## [3.2.0] - 2026-04-11
19
+
20
+ ### Added — Prefill Enhancements (Phase B)
21
+ - `FormFieldSchema.prefillMode` — `'exact' | 'resolve'` for autocomplete client-side resolution.
22
+ - `FormFieldSchema.valueFormat` — optional regex pattern for strict value format validation.
23
+ - `FormFieldSchema.valueFormatHint` — human-readable error message for `valueFormat` failures.
24
+
25
+ ## [3.1.0] - 2026-04-11
26
+
27
+ ### Added — Prefilled Forms (Phase A)
28
+ - `PrefillSourceSchema` enum (`user | detected | inferred | default`).
29
+ - `FormFieldSchema.prefill` (string | string[]) — pre-populated value.
30
+ - `FormFieldSchema.displayHint` — human-readable caption below the field.
31
+ - `FormFieldSchema.source` — tracks how the value was obtained, drives source badges.
32
+ - `FormFieldSchema.muted` — compact styling hint for high-confidence prefills.
33
+ - `FormComponentParamsSchema.autoSubmitDelay` — countdown in ms (1000–30000).
34
+
35
+ ## [3.0.0] - 2026-04-06
36
+
37
+ ### Major release — synchronized with `@seed-ship/mcp-ui-solid` 3.0.0
38
+
39
+ All three packages bumped to 3.0.0 to mark the "complete HITL chat toolkit"
40
+ milestone. Spec additions over the 2.x series:
41
+ - Form field types: `range`, `tags`, `toggle`, `fieldset` alongside existing 14 types.
42
+ - `fieldStatus` (`required | optional | unsupported | unknown`) + `statusReason`.
43
+ - `showWhen` conditional visibility with 13 operators.
44
+ - `dependsOn` reactive field options.
45
+ - `preview` live-refresh config on form components.
46
+ - Multi-select (`multiple: true`) on `select` fields.
47
+ - Autocomplete schema (`apiUrl`, `searchParam`, `labelField`, `valueField`, `extraParams`, `minChars`, `debounceMs`).
48
+
49
+ ## [2.2.0] - 2026-04-06
50
+
51
+ ### Added
52
+ - `fieldStatus` and `statusReason` on `FormFieldSchema` — per-field API capability indicator aligned with `mcp-ui-solid` v2.12.0.
53
+
54
+ ## [2.0.0] - 2026-03-31
55
+
56
+ ### Major release — synchronized with `mcp-ui-solid` v2.0.0
57
+ - Expanded `ComponentTypeSchema` to cover 19 component types (added `code`, `map`, `form`, `modal`, `action-group`, `image-gallery`, `video` among others).
58
+ - Per-component schema definitions aligned with the `@seed-ship/mcp-ui-cli` registry validator.
59
+ - Scatter/bubble/time-series chart validation — labels optional for point-based charts.
60
+
8
61
  ## [1.2.0] - 2025-11-25
9
62
 
10
63
  ### Changed - Phase 5.0 Quick Wins
package/dist/schemas.cjs CHANGED
@@ -95,6 +95,11 @@ const FormFieldSchema = zod.z.object({
95
95
  displayHint: zod.z.string().optional(),
96
96
  source: PrefillSourceSchema.optional(),
97
97
  muted: zod.z.boolean().optional(),
98
+ // Prefill mode for autocomplete fields (v4.3.0)
99
+ prefillMode: zod.z.enum(["exact", "resolve"]).optional(),
100
+ // Value format validation (v4.3.0)
101
+ valueFormat: zod.z.string().optional(),
102
+ valueFormatHint: zod.z.string().optional(),
98
103
  // Text/textarea specific
99
104
  minLength: zod.z.number().int().min(0).optional(),
100
105
  maxLength: zod.z.number().int().min(1).optional(),
@@ -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\nexport const 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 // 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// Map marker schema (Sprint 6)\nexport const MapMarkerSchema = z.object({\n position: z.tuple([z.number(), z.number()]),\n tooltip: z.string().optional(),\n popup: z.string().optional(),\n})\n\n// Map component params schema (Sprint 6)\nexport const 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})\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)\nexport type MapMarker = z.infer<typeof MapMarkerSchema>\nexport type MapComponentParams = z.infer<typeof MapComponentParamsSchema>\n"],"names":["z"],"mappings":"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"}
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\nexport const 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})\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// Map marker schema (Sprint 6)\nexport const MapMarkerSchema = z.object({\n position: z.tuple([z.number(), z.number()]),\n tooltip: z.string().optional(),\n popup: z.string().optional(),\n})\n\n// Map component params schema (Sprint 6)\nexport const 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})\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)\nexport type MapMarker = z.infer<typeof MapMarkerSchema>\nexport type MapComponentParams = z.infer<typeof MapComponentParamsSchema>\n"],"names":["z"],"mappings":"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"}
package/dist/schemas.js CHANGED
@@ -93,6 +93,11 @@ const FormFieldSchema = z.object({
93
93
  displayHint: z.string().optional(),
94
94
  source: PrefillSourceSchema.optional(),
95
95
  muted: z.boolean().optional(),
96
+ // Prefill mode for autocomplete fields (v4.3.0)
97
+ prefillMode: z.enum(["exact", "resolve"]).optional(),
98
+ // Value format validation (v4.3.0)
99
+ valueFormat: z.string().optional(),
100
+ valueFormatHint: z.string().optional(),
96
101
  // Text/textarea specific
97
102
  minLength: z.number().int().min(0).optional(),
98
103
  maxLength: z.number().int().min(1).optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","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\nexport const 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 // 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// Map marker schema (Sprint 6)\nexport const MapMarkerSchema = z.object({\n position: z.tuple([z.number(), z.number()]),\n tooltip: z.string().optional(),\n popup: z.string().optional(),\n})\n\n// Map component params schema (Sprint 6)\nexport const 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})\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)\nexport type MapMarker = z.infer<typeof MapMarkerSchema>\nexport type MapComponentParams = z.infer<typeof MapComponentParamsSchema>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","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\nexport const 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})\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// Map marker schema (Sprint 6)\nexport const MapMarkerSchema = z.object({\n position: z.tuple([z.number(), z.number()]),\n tooltip: z.string().optional(),\n popup: z.string().optional(),\n})\n\n// Map component params schema (Sprint 6)\nexport const 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})\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)\nexport type MapMarker = z.infer<typeof MapMarkerSchema>\nexport type MapComponentParams = z.infer<typeof MapComponentParamsSchema>\n"],"names":[],"mappings":";AAOO,MAAM,qBAAqB,EAAE,OAAO;AAAA,EACzC,UAAU,EAAE,OAAA,EAAS,IAAA,EAAM,IAAI,CAAC,EAAE,IAAI,EAAE;AAAA,EACxC,SAAS,EAAE,OAAA,EAAS,IAAA,EAAM,IAAI,CAAC,EAAE,IAAI,EAAE;AAAA,EACvC,UAAU,EAAE,SAAS,MAAM,IAAI,CAAC,EAAE,SAAA;AAAA,EAClC,SAAS,EAAE,OAAA,EAAS,IAAA,EAAM,IAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,SAAA;AAC9C,CAAC;AAGM,MAAM,sBAAsB,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,wBAAwB,EAAE,OAAO;AAAA,EAC5C,OAAO,EAAE,SAAS,IAAI,CAAC;AAAA,EACvB,OAAO,EAAE,OAAA;AAAA,EACT,UAAU,EAAE,QAAA,EAAU,SAAA;AACxB,CAAC;AAGM,MAAM,sBAAsB,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,yBAAyB,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,0BAA0B,EAAE,OAAO;AAAA,EAC9C,OAAO,EAAE,SAAS,IAAI,CAAC;AAAA,EACvB,UAAU;AAAA,EACV,OAAO,EAAE,IAAA,EAAM,SAAA;AACjB,CAAC;AAGM,MAAM,sBAAsB,EAAE,KAAK,CAAC,QAAQ,YAAY,YAAY,SAAS,CAAC;AAG9E,MAAM,kBAAkB,EAAE,OAAO;AAAA,EACtC,MAAM,EAAE,SAAS,MAAM,yBAAyB;AAAA,EAChD,MAAM;AAAA,EACN,OAAO,EAAE,OAAA,EAAS,SAAA;AAAA,EAClB,aAAa,EAAE,OAAA,EAAS,SAAA;AAAA,EACxB,UAAU,EAAE,OAAA,EAAS,SAAA;AAAA,EACrB,UAAU,EAAE,QAAA,EAAU,SAAA;AAAA,EACtB,UAAU,EAAE,QAAA,EAAU,SAAA;AAAA,EACtB,cAAc,EAAE,IAAA,EAAM,SAAA;AAAA;AAAA,EAEtB,SAAS,EAAE,MAAM,CAAC,EAAE,OAAA,GAAU,EAAE,MAAM,EAAE,OAAA,CAAQ,CAAC,CAAC,EAAE,SAAA;AAAA,EACpD,aAAa,EAAE,OAAA,EAAS,SAAA;AAAA,EACxB,QAAQ,oBAAoB,SAAA;AAAA,EAC5B,OAAO,EAAE,QAAA,EAAU,SAAA;AAAA;AAAA,EAEnB,aAAa,EAAE,KAAK,CAAC,SAAS,SAAS,CAAC,EAAE,SAAA;AAAA;AAAA,EAE1C,aAAa,EAAE,OAAA,EAAS,SAAA;AAAA,EACxB,iBAAiB,EAAE,OAAA,EAAS,SAAA;AAAA;AAAA,EAE5B,WAAW,EAAE,SAAS,MAAM,IAAI,CAAC,EAAE,SAAA;AAAA,EACnC,WAAW,EAAE,SAAS,MAAM,IAAI,CAAC,EAAE,SAAA;AAAA,EACnC,SAAS,EAAE,OAAA,EAAS,SAAA;AAAA;AAAA,EAEpB,KAAK,EAAE,OAAA,EAAS,SAAA;AAAA,EAChB,KAAK,EAAE,OAAA,EAAS,SAAA;AAAA,EAChB,MAAM,EAAE,OAAA,EAAS,SAAA;AAAA;AAAA,EAEjB,SAAS,EAAE,OAAA,EAAS,SAAA;AAAA,EACpB,SAAS,EAAE,OAAA,EAAS,SAAA;AAAA;AAAA,EAEpB,SAAS,EAAE,MAAM,qBAAqB,EAAE,SAAA;AAAA;AAAA,EAExC,UAAU,EAAE,QAAA,EAAU,SAAA;AAAA;AAAA,EAEtB,QAAQ,EAAE,OAAA,EAAS,IAAA,EAAM,SAAA;AAAA,EACzB,aAAa,EAAE,OAAA,EAAS,SAAA;AAAA,EACxB,YAAY,EAAE,OAAA,EAAS,SAAA;AAAA,EACvB,YAAY,EAAE,OAAA,EAAS,SAAA;AAAA,EACvB,aAAa,EAAE,OAAO,EAAE,OAAA,CAAQ,EAAE,SAAA;AAAA,EAClC,UAAU,EAAE,SAAS,MAAM,IAAI,CAAC,EAAE,SAAA;AAAA,EAClC,YAAY,EAAE,SAAS,MAAM,IAAI,CAAC,EAAE,SAAA;AAAA;AAAA,EAEpC,WAAW,EAAE,OAAO;AAAA,IAClB,OAAO,EAAE,OAAA;AAAA,IACT,QAAQ,EAAE,OAAA;AAAA,IACV,YAAY,EAAE,OAAA;AAAA,IACd,YAAY,EAAE,OAAA;AAAA,IACd,aAAa,EAAE,OAAO,EAAE,OAAA,CAAQ,EAAE,SAAA;AAAA,EAAS,CAC5C,EAAE,SAAA;AAAA;AAAA,EAEH,aAAa,EAAE,KAAK,CAAC,YAAY,YAAY,eAAe,SAAS,CAAC,EAAE,SAAA;AAAA,EACxE,cAAc,EAAE,OAAA,EAAS,SAAA;AAAA;AAAA,EAEzB,eAAe,EAAE,OAAA,EAAS,SAAA;AAAA;AAAA,EAE1B,MAAM,EAAE,OAAA,EAAS,IAAA,EAAM,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,SAAA;AAAA;AAAA,EAEtC,UAAU,wBAAwB,SAAA;AACpC,CAAC;AAGM,MAAM,yBAAyB,EAAE,OAAO;AAAA,EAC7C,UAAU,EAAE,SAAS,IAAI,CAAC;AAAA,EAC1B,QAAQ,EAAE,OAAO,EAAE,QAAA,CAAS,EAAE,SAAA;AAChC,CAAC;AAGM,MAAM,4BAA4B,EAAE,OAAO;AAAA,EAChD,OAAO,EAAE,OAAA,EAAS,SAAA;AAAA,EAClB,QAAQ,EAAE,MAAM,eAAe,EAAE,IAAI,CAAC;AAAA,EACtC,aAAa,EAAE,OAAA,EAAS,SAAA;AAAA,EACxB,WAAW,EAAE,QAAA,EAAU,SAAA;AAAA,EACvB,cAAc,uBAAuB,SAAA;AAAA;AAAA,EAErC,YAAY,EAAE,OAAA,EAAS,SAAA;AAAA,EACvB,wBAAwB,EAAE,MAAM,EAAE,OAAA,CAAQ,EAAE,SAAA;AAAA,EAC5C,kBAAkB,EAAE,OAAA,EAAS,MAAM,SAAA,EAAW,SAAA;AAAA,EAC9C,QAAQ,EAAE,KAAK,CAAC,YAAY,cAAc,QAAQ,CAAC,EAAE,SAAA;AAAA;AAAA,EAErD,iBAAiB,EAAE,OAAA,EAAS,IAAA,EAAM,IAAI,GAAI,EAAE,IAAI,GAAK,EAAE,SAAA;AACzD,CAAC;AAGM,MAAM,kBAAkB,EAAE,KAAK,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,CAAC;AAG/D,MAAM,6BAA6B,EAAE,OAAO;AAAA,EACjD,OAAO,EAAE,OAAA,EAAS,SAAA;AAAA,EAClB,MAAM,gBAAgB,SAAA;AAAA,EACtB,WAAW,EAAE,QAAA,EAAU,SAAA;AAAA,EACvB,eAAe,EAAE,QAAA,EAAU,SAAA;AAAA,EAC3B,iBAAiB,EAAE,QAAA,EAAU,SAAA;AAAA,EAC7B,WAAW,EAAE,OAAA,EAAS,SAAA;AAAA;AAExB,CAAC;AAGM,MAAM,0BAA0B,EAAE,KAAK;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAGM,MAAM,uBAAuB,EAAE,KAAK,CAAC,QAAQ,MAAM,MAAM,IAAI,CAAC;AAG9D,MAAM,qBAAqB,EAAE,OAAO;AAAA,EACzC,OAAO,EAAE,SAAS,IAAI,CAAC;AAAA,EACvB,MAAM,EAAE,KAAK,CAAC,UAAU,MAAM,CAAC,EAAE,SAAA;AAAA,EACjC,QAAQ,EAAE,KAAK,CAAC,aAAa,QAAQ,QAAQ,CAAC,EAAE,SAAA;AAAA,EAChD,UAAU,EAAE,OAAA,EAAS,SAAA;AAAA,EACrB,QAAQ,EAAE,OAAO,EAAE,QAAA,CAAS,EAAE,SAAA;AAAA,EAC9B,KAAK,EAAE,OAAA,EAAS,SAAA;AAAA,EAChB,SAAS,EAAE,KAAK,CAAC,WAAW,aAAa,WAAW,SAAS,QAAQ,CAAC,EAAE,SAAA;AAAA,EACxE,MAAM,EAAE,KAAK,CAAC,MAAM,MAAM,IAAI,CAAC,EAAE,SAAA;AAAA,EACjC,MAAM,EAAE,OAAA,EAAS,SAAA;AAAA,EACjB,UAAU,EAAE,QAAA,EAAU,SAAA;AACxB,CAAC;AAGM,MAAM,0BAA0B,EAAE,OAAO;AAAA,EAC9C,SAAS,EAAE,MAAM,kBAAkB,EAAE,IAAI,CAAC;AAAA,EAC1C,QAAQ,wBAAwB,SAAA;AAAA,EAChC,KAAK,qBAAqB,SAAA;AAAA,EAC1B,WAAW,EAAE,QAAA,EAAU,SAAA;AAAA,EACvB,OAAO,EAAE,OAAA,EAAS,SAAA;AACpB,CAAC;AAGM,MAAM,qBAAqB,EAAE,OAAO;AAAA,EACzC,KAAK,EAAE,OAAA,EAAS,IAAA;AAAA,EAChB,WAAW,EAAE,OAAA,EAAS,IAAA,EAAM,SAAA;AAAA,EAC5B,KAAK,EAAE,OAAA,EAAS,SAAA;AAAA,EAChB,SAAS,EAAE,OAAA,EAAS,SAAA;AAAA,EACpB,QAAQ,EAAE,OAAA,EAAS,SAAA;AAAA,EACnB,OAAO,EAAE,OAAA,EAAS,SAAA;AACpB,CAAC;AAGM,MAAM,4BAA4B,EAAE,KAAK,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,EAAE,UAAU,MAAM;AAG/E,MAAM,wBAAwB,EAAE,KAAK,CAAC,QAAQ,MAAM,MAAM,IAAI,CAAC;AAG/D,MAAM,gCAAgC,EAAE,KAAK,CAAC,OAAO,QAAQ,OAAO,MAAM,CAAC;AAG3E,MAAM,2BAA2B,EAAE,OAAO;AAAA,EAC/C,OAAO,EAAE,OAAA,EAAS,SAAA;AAAA,EAClB,QAAQ,EAAE,MAAM,kBAAkB,EAAE,IAAI,CAAC;AAAA,EACzC,SAAS,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAA;AAAA,EAC3E,KAAK,sBAAsB,SAAA;AAAA,EAC3B,aAAa,8BAA8B,SAAA;AAAA,EAC3C,UAAU,EAAE,QAAA,EAAU,SAAA;AAAA,EACtB,cAAc,EAAE,QAAA,EAAU,SAAA;AAC5B,CAAC;AAGM,MAAM,yBAAyB,EAAE,KAAK,CAAC,QAAQ,OAAO,OAAO,MAAM,CAAC;AAGpE,MAAM,6BAA6B,EAAE,OAAO;AAAA,EACjD,KAAK,EAAE,OAAA,EAAS,IAAA;AAAA,EAChB,OAAO,EAAE,OAAA,EAAS,SAAA;AAAA,EAClB,SAAS,EAAE,OAAA,EAAS,SAAA;AAAA,EACpB,QAAQ,EAAE,OAAA,EAAS,IAAA,EAAM,SAAA;AAAA,EACzB,aAAa,uBAAuB,SAAA;AAAA,EACpC,UAAU,EAAE,QAAA,EAAU,SAAA;AAAA,EACtB,UAAU,EAAE,QAAA,EAAU,SAAA;AAAA,EACtB,MAAM,EAAE,QAAA,EAAU,SAAA;AAAA,EAClB,OAAO,EAAE,QAAA,EAAU,SAAA;AAAA,EACnB,WAAW,EAAE,OAAA,EAAS,MAAM,IAAI,CAAC,EAAE,SAAA;AACrC,CAAC;AAGM,MAAM,4BAA4B,EAAE,OAAO;AAAA,EAChD,MAAM,EAAE,OAAA;AAAA,EACR,UAAU,EAAE,OAAA,EAAS,SAAA;AAAA,EACrB,UAAU,EAAE,OAAA,EAAS,SAAA;AAAA,EACrB,iBAAiB,EAAE,QAAA,EAAU,SAAA;AAAA,EAC7B,WAAW,EAAE,OAAA,EAAS,SAAA;AAAA,EACtB,gBAAgB,EAAE,MAAM,EAAE,OAAA,CAAQ,EAAE,SAAA;AAAA,EACpC,WAAW,EAAE,OAAA,EAAS,SAAA;AAAA,EACtB,OAAO,EAAE,KAAK,CAAC,SAAS,MAAM,CAAC,EAAE,SAAA;AACnC,CAAC;AAGM,MAAM,kBAAkB,EAAE,OAAO;AAAA,EACtC,UAAU,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,OAAA,CAAQ,CAAC;AAAA,EAC1C,SAAS,EAAE,OAAA,EAAS,SAAA;AAAA,EACpB,OAAO,EAAE,OAAA,EAAS,SAAA;AACpB,CAAC;AAGM,MAAM,2BAA2B,EAAE,OAAO;AAAA,EAC/C,QAAQ,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,OAAA,CAAQ,CAAC,EAAE,SAAA;AAAA,EAC1C,MAAM,EAAE,OAAA,EAAS,SAAA;AAAA,EACjB,SAAS,EAAE,MAAM,eAAe,EAAE,SAAA;AAAA,EAClC,QAAQ,EAAE,OAAA,EAAS,SAAA;AAAA,EACnB,WAAW,EAAE,QAAA,EAAU,SAAA;AAAA,EACvB,aAAa,EAAE,QAAA,EAAU,SAAA;AAAA,EACzB,iBAAiB,EAAE,QAAA,EAAU,SAAA;AAAA,EAC7B,WAAW,EAAE,OAAA,EAAS,SAAA;AAAA,EACtB,aAAa,EAAE,OAAA,EAAS,SAAA;AAC1B,CAAC;AAGM,MAAM,oBAAoB,EAAE,KAAK;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAGM,MAAM,4BAA4B,EAAE,OAAO;AAAA,EAChD,cAAc,EAAE,QAAA,EAAU,QAAQ,KAAK,EAAE,SAAA;AAAA,EACzC,gBAAgB,EAAE,MAAM,EAAE,OAAA,CAAQ,EAAE,SAAA;AAAA,EACpC,gBAAgB,EAAE,OAAA,EAAS,MAAM,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,SAAA;AAAA,EAC1D,cAAc,EAAE,MAAM,iBAAiB,EAAE,SAAA;AAC3C,CAAC;AAGM,MAAM,+BAA+B,EAAE,OAAO;AAAA,EACnD,eAAe,EAAE,OAAA,EAAS,IAAA,EAAM,IAAI,GAAG,EAAE,QAAQ,GAAI,EAAE,SAAA;AAAA,EACvD,aAAa,EAAE,OAAA,EAAS,IAAA,EAAM,IAAI,IAAI,EAAE,QAAQ,MAAM,EAAE,SAAA;AAC1D,CAAC;AAGM,MAAM,wBAAwB,EAAE,OAAO;AAAA,EAC5C,MAAM,EAAE,QAAQ,QAAQ;AAAA,EACxB,UAAU,EAAE,MAAM,EAAE,OAAA,CAAQ,EAAE,SAAA;AAAA,EAC9B,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,sBAAsB,EAAE,QAAA,EAAU,SAAA;AACpC,CAAC;AAGM,MAAM,yBAAyB,EAAE,OAAO;AAAA,EAC7C,MAAM,EAAE,SAAS,IAAI,CAAC;AAAA,EACtB,aAAa,EAAE,OAAA,EAAS,SAAA;AAAA,EACxB,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,UAAU,mBAAmB,SAAA;AAC/B,CAAC;AAGM,MAAM,kBAAkB,EAAE,OAAO;AAAA,EACtC,IAAI,EAAE,SAAS,MAAM,cAAc;AAAA,EACnC,MAAM;AAAA,EACN,MAAM,EAAE,SAAS,IAAI,CAAC;AAAA,EACtB,aAAa,EAAE,OAAA,EAAS,SAAA;AAAA,EACxB,QAAQ;AAAA,EACR,UAAU,EAAE,MAAM,sBAAsB,EAAE,IAAI,CAAC;AAAA,EAC/C,UAAU,0BAA0B,SAAA;AAAA,EACpC,aAAa,6BAA6B,SAAA;AAAA,EAC1C,MAAM,EAAE,MAAM,EAAE,OAAA,EAAS,MAAM,cAAc,CAAC,EAAE,SAAA;AAAA,EAChD,SAAS,EACN,OAAA,EACA,MAAM,iBAAiB,EACvB,SAAA;AAAA,EACH,YAAY,EAAE,QAAA,EAAU,QAAQ,KAAK,EAAE,SAAA;AAAA,EACvC,oBAAoB,EAAE,OAAA,EAAS,SAAA;AACjC,CAAC;AAGM,MAAM,yBAAyB,EAAE,OAAO;AAAA,EAC7C,MAAM,EAAE,OAAA,EAAS,SAAA;AAAA,EACjB,aAAa,EAAE,OAAA,EAAS,SAAA;AAAA,EACxB,QAAQ,EAAE,OAAA,EAAS,SAAA;AAAA,EACnB,YAAY,EAAE,SAAS,IAAA,EAAM,SAAA;AAC/B,CAAC;AAGM,MAAM,0BAA0B,EAAE,OAAO;AAAA,EAC9C,SAAS,EAAE,QAAQ,OAAO;AAAA,EAC1B,UAAU,uBAAuB,SAAA;AAAA,EACjC,YAAY,EAAE,MAAM,eAAe,EAAE,IAAI,CAAC;AAC5C,CAAC;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seed-ship/mcp-ui-spec",
3
- "version": "3.1.0",
3
+ "version": "5.0.0",
4
4
  "description": "Component registry specification and JSON Schemas for MCP UI",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",