@seed-ship/mcp-ui-spec 2.2.0 → 3.1.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/dist/index.cjs CHANGED
@@ -27,6 +27,7 @@ exports.MapMarkerSchema = schemas.MapMarkerSchema;
27
27
  exports.ModalComponentParamsSchema = schemas.ModalComponentParamsSchema;
28
28
  exports.ModalSizeSchema = schemas.ModalSizeSchema;
29
29
  exports.PerformanceConstraintsSchema = schemas.PerformanceConstraintsSchema;
30
+ exports.PrefillSourceSchema = schemas.PrefillSourceSchema;
30
31
  exports.RegistryMetadataSchema = schemas.RegistryMetadataSchema;
31
32
  exports.SandboxFlagSchema = schemas.SandboxFlagSchema;
32
33
  exports.SecurityConstraintsSchema = schemas.SecurityConstraintsSchema;
@@ -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, CodeComponentParamsSchema, ComponentExampleSchema, ComponentRegistrySchema, ComponentSchema, ComponentSchemaSchema, ComponentTypeSchema, FormComponentParamsSchema, FormFieldOptionSchema, FormFieldSchema, FormFieldTypeSchema, FormSubmitActionSchema, GalleryImageSchema, GridPositionSchema, ImageGalleryAspectRatioSchema, ImageGalleryColumnsSchema, ImageGalleryGapSchema, ImageGalleryParamsSchema, MapComponentParamsSchema, MapMarkerSchema, ModalComponentParamsSchema, ModalSizeSchema, PerformanceConstraintsSchema, RegistryMetadataSchema, SandboxFlagSchema, SecurityConstraintsSchema, ShowWhenConditionSchema, ShowWhenOperatorSchema, VideoAspectRatioSchema, VideoComponentParamsSchema } from "./schemas.js";
1
+ import { ActionGroupGapSchema, ActionGroupLayoutSchema, ActionGroupParamsSchema, ActionParamsSchema, CodeComponentParamsSchema, ComponentExampleSchema, ComponentRegistrySchema, ComponentSchema, ComponentSchemaSchema, ComponentTypeSchema, FormComponentParamsSchema, FormFieldOptionSchema, FormFieldSchema, FormFieldTypeSchema, FormSubmitActionSchema, GalleryImageSchema, GridPositionSchema, ImageGalleryAspectRatioSchema, ImageGalleryColumnsSchema, ImageGalleryGapSchema, ImageGalleryParamsSchema, MapComponentParamsSchema, MapMarkerSchema, ModalComponentParamsSchema, ModalSizeSchema, PerformanceConstraintsSchema, PrefillSourceSchema, RegistryMetadataSchema, SandboxFlagSchema, SecurityConstraintsSchema, ShowWhenConditionSchema, ShowWhenOperatorSchema, VideoAspectRatioSchema, VideoComponentParamsSchema } from "./schemas.js";
2
2
  export {
3
3
  ActionGroupGapSchema,
4
4
  ActionGroupLayoutSchema,
@@ -26,6 +26,7 @@ export {
26
26
  ModalComponentParamsSchema,
27
27
  ModalSizeSchema,
28
28
  PerformanceConstraintsSchema,
29
+ PrefillSourceSchema,
29
30
  RegistryMetadataSchema,
30
31
  SandboxFlagSchema,
31
32
  SecurityConstraintsSchema,
package/dist/schemas.cjs CHANGED
@@ -54,7 +54,11 @@ const FormFieldTypeSchema = zod.z.enum([
54
54
  "select",
55
55
  "checkbox",
56
56
  "radio",
57
- "autocomplete"
57
+ "autocomplete",
58
+ "range",
59
+ "tags",
60
+ "toggle",
61
+ "fieldset"
58
62
  ]);
59
63
  const ShowWhenOperatorSchema = zod.z.enum([
60
64
  "equals",
@@ -76,6 +80,7 @@ const ShowWhenConditionSchema = zod.z.object({
76
80
  operator: ShowWhenOperatorSchema,
77
81
  value: zod.z.any().optional()
78
82
  });
83
+ const PrefillSourceSchema = zod.z.enum(["user", "detected", "inferred", "default"]);
79
84
  const FormFieldSchema = zod.z.object({
80
85
  name: zod.z.string().regex(/^[a-zA-Z][a-zA-Z0-9_]*$/),
81
86
  type: FormFieldTypeSchema,
@@ -85,6 +90,11 @@ const FormFieldSchema = zod.z.object({
85
90
  required: zod.z.boolean().optional(),
86
91
  disabled: zod.z.boolean().optional(),
87
92
  defaultValue: zod.z.any().optional(),
93
+ // Prefill — pre-populated value with source tracking (v4.2.0)
94
+ prefill: zod.z.union([zod.z.string(), zod.z.array(zod.z.string())]).optional(),
95
+ displayHint: zod.z.string().optional(),
96
+ source: PrefillSourceSchema.optional(),
97
+ muted: zod.z.boolean().optional(),
88
98
  // Text/textarea specific
89
99
  minLength: zod.z.number().int().min(0).optional(),
90
100
  maxLength: zod.z.number().int().min(1).optional(),
@@ -140,7 +150,9 @@ const FormComponentParamsSchema = zod.z.object({
140
150
  persistKey: zod.z.string().optional(),
141
151
  excludeFromPersistence: zod.z.array(zod.z.string()).optional(),
142
152
  persistExpiresIn: zod.z.number().int().positive().optional(),
143
- layout: zod.z.enum(["vertical", "horizontal", "inline"]).optional()
153
+ layout: zod.z.enum(["vertical", "horizontal", "inline"]).optional(),
154
+ // Auto-submit countdown in ms when all required fields are prefilled (v4.2.0)
155
+ autoSubmitDelay: zod.z.number().int().min(1e3).max(3e4).optional()
144
156
  });
145
157
  const ModalSizeSchema = zod.z.enum(["sm", "md", "lg", "xl", "full"]);
146
158
  const ModalComponentParamsSchema = zod.z.object({
@@ -318,6 +330,7 @@ exports.MapMarkerSchema = MapMarkerSchema;
318
330
  exports.ModalComponentParamsSchema = ModalComponentParamsSchema;
319
331
  exports.ModalSizeSchema = ModalSizeSchema;
320
332
  exports.PerformanceConstraintsSchema = PerformanceConstraintsSchema;
333
+ exports.PrefillSourceSchema = PrefillSourceSchema;
321
334
  exports.RegistryMetadataSchema = RegistryMetadataSchema;
322
335
  exports.SandboxFlagSchema = SandboxFlagSchema;
323
336
  exports.SecurityConstraintsSchema = SecurityConstraintsSchema;
@@ -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])\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// 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 // 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})\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>\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 // 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
@@ -52,7 +52,11 @@ const FormFieldTypeSchema = z.enum([
52
52
  "select",
53
53
  "checkbox",
54
54
  "radio",
55
- "autocomplete"
55
+ "autocomplete",
56
+ "range",
57
+ "tags",
58
+ "toggle",
59
+ "fieldset"
56
60
  ]);
57
61
  const ShowWhenOperatorSchema = z.enum([
58
62
  "equals",
@@ -74,6 +78,7 @@ const ShowWhenConditionSchema = z.object({
74
78
  operator: ShowWhenOperatorSchema,
75
79
  value: z.any().optional()
76
80
  });
81
+ const PrefillSourceSchema = z.enum(["user", "detected", "inferred", "default"]);
77
82
  const FormFieldSchema = z.object({
78
83
  name: z.string().regex(/^[a-zA-Z][a-zA-Z0-9_]*$/),
79
84
  type: FormFieldTypeSchema,
@@ -83,6 +88,11 @@ const FormFieldSchema = z.object({
83
88
  required: z.boolean().optional(),
84
89
  disabled: z.boolean().optional(),
85
90
  defaultValue: z.any().optional(),
91
+ // Prefill — pre-populated value with source tracking (v4.2.0)
92
+ prefill: z.union([z.string(), z.array(z.string())]).optional(),
93
+ displayHint: z.string().optional(),
94
+ source: PrefillSourceSchema.optional(),
95
+ muted: z.boolean().optional(),
86
96
  // Text/textarea specific
87
97
  minLength: z.number().int().min(0).optional(),
88
98
  maxLength: z.number().int().min(1).optional(),
@@ -138,7 +148,9 @@ const FormComponentParamsSchema = z.object({
138
148
  persistKey: z.string().optional(),
139
149
  excludeFromPersistence: z.array(z.string()).optional(),
140
150
  persistExpiresIn: z.number().int().positive().optional(),
141
- layout: z.enum(["vertical", "horizontal", "inline"]).optional()
151
+ layout: z.enum(["vertical", "horizontal", "inline"]).optional(),
152
+ // Auto-submit countdown in ms when all required fields are prefilled (v4.2.0)
153
+ autoSubmitDelay: z.number().int().min(1e3).max(3e4).optional()
142
154
  });
143
155
  const ModalSizeSchema = z.enum(["sm", "md", "lg", "xl", "full"]);
144
156
  const ModalComponentParamsSchema = z.object({
@@ -317,6 +329,7 @@ export {
317
329
  ModalComponentParamsSchema,
318
330
  ModalSizeSchema,
319
331
  PerformanceConstraintsSchema,
332
+ PrefillSourceSchema,
320
333
  RegistryMetadataSchema,
321
334
  SandboxFlagSchema,
322
335
  SecurityConstraintsSchema,
@@ -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])\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// 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 // 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})\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>\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 // 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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seed-ship/mcp-ui-spec",
3
- "version": "2.2.0",
3
+ "version": "3.1.0",
4
4
  "description": "Component registry specification and JSON Schemas for MCP UI",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",