@seed-ship/mcp-ui-spec 3.2.0 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +99 -0
- package/dist/index.cjs +17 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +18 -1
- package/dist/schemas.cjs +154 -0
- package/dist/schemas.cjs.map +1 -1
- package/dist/schemas.js +154 -0
- package/dist/schemas.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,105 @@ 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.1] - 2026-04-27
|
|
9
|
+
|
|
10
|
+
### Added — 9 primitive component params schemas (B.1 PR1)
|
|
11
|
+
|
|
12
|
+
Prépare le refactor de `mcp-ui-solid/src/services/validation.ts` (B.1 — voir
|
|
13
|
+
`MCP-UI-AUDIT-2026-04-26.md` §I) en exposant des Zod schemas pour les 9
|
|
14
|
+
ComponentTypes qui n'en avaient pas encore. Les 8 existants
|
|
15
|
+
(`action`, `action-group`, `video`, `image-gallery`, `form`, `modal`,
|
|
16
|
+
`code`, `map`) sont inchangés.
|
|
17
|
+
|
|
18
|
+
- **`ChartComponentParamsSchema`** + `ChartTypeSchema` (8 chart types) +
|
|
19
|
+
`ChartDatasetSchema` (datasets number[] OU {x,y}[]) + `ChartTimeAxisSchema`.
|
|
20
|
+
- **`TableComponentParamsSchema`** + `TableColumnSchema` + `TablePaginationSchema`
|
|
21
|
+
+ `TableVirtualizeOptionsSchema` + `TableExportableSchema` (boolean OU `{formats, filename}`).
|
|
22
|
+
- **`MetricComponentParamsSchema`** + `MetricTrendSchema` (`up | down | neutral`).
|
|
23
|
+
`title` + `value` requis (matche le check impératif actuel).
|
|
24
|
+
- **`TextComponentParamsSchema`** — `content` requis.
|
|
25
|
+
- **`IframeComponentParamsSchema`** — `url` requis. **Le whitelist domain
|
|
26
|
+
reste impératif** côté `mcp-ui-solid` (`validateIframeDomain`).
|
|
27
|
+
- **`ImageComponentParamsSchema`** — `url` requis.
|
|
28
|
+
- **`LinkComponentParamsSchema`** — `url` requis.
|
|
29
|
+
- **`CarouselComponentParamsSchema`** — `items` non-vide, items kept opaque
|
|
30
|
+
(validés récursivement par le renderer pour éviter une référence circulaire).
|
|
31
|
+
- **`ArtifactComponentParamsSchema`** — `url` + `filename` + `mimeType` requis,
|
|
32
|
+
`size` >= 0 si présent.
|
|
33
|
+
|
|
34
|
+
### Choix de design
|
|
35
|
+
|
|
36
|
+
- URL fields utilisent `z.string().min(1)` (pas `.url()`) pour matcher le
|
|
37
|
+
comportement actuel de `validation.ts` (juste truthy check). `.url()`
|
|
38
|
+
rejetterait les paths relatifs et `localhost:3000`. Le whitelist sécurité
|
|
39
|
+
reste séparé.
|
|
40
|
+
- Tous les types inférés exportés via `z.infer<>` (pour cross-stack consumption
|
|
41
|
+
par deposium notamment — cf. `MCP-UI-AUDIT-2026-04-26.md` §J.2).
|
|
42
|
+
|
|
43
|
+
### Tests
|
|
44
|
+
|
|
45
|
+
- `src/schemas-params-v5.0.1.test.ts` — **30 nouveaux tests** (parse OK +
|
|
46
|
+
parse fail sur path attendu pour chaque schema). Suite totale : 34/34 verts.
|
|
47
|
+
|
|
48
|
+
### Non-breaking
|
|
49
|
+
|
|
50
|
+
- Aucun schema existant modifié. PR2 (mcp-ui-solid `5.5.0`) consommera ces
|
|
51
|
+
schemas + ajoutera un mapper `ZodIssue → ValidationError` pour préserver la
|
|
52
|
+
shape externe de `validateComponent()` — non-breaking pour les consumers.
|
|
53
|
+
|
|
54
|
+
## [5.0.0] - 2026-04-14
|
|
55
|
+
|
|
56
|
+
### Major release — synchronized with `@seed-ship/mcp-ui-solid` 5.0.0
|
|
57
|
+
|
|
58
|
+
No schema breaking changes in this package. The major bump aligns the three
|
|
59
|
+
monorepo packages on a single version line so consumers can pin a single major.
|
|
60
|
+
|
|
61
|
+
### Changed
|
|
62
|
+
- 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).
|
|
63
|
+
|
|
64
|
+
## [3.2.0] - 2026-04-11
|
|
65
|
+
|
|
66
|
+
### Added — Prefill Enhancements (Phase B)
|
|
67
|
+
- `FormFieldSchema.prefillMode` — `'exact' | 'resolve'` for autocomplete client-side resolution.
|
|
68
|
+
- `FormFieldSchema.valueFormat` — optional regex pattern for strict value format validation.
|
|
69
|
+
- `FormFieldSchema.valueFormatHint` — human-readable error message for `valueFormat` failures.
|
|
70
|
+
|
|
71
|
+
## [3.1.0] - 2026-04-11
|
|
72
|
+
|
|
73
|
+
### Added — Prefilled Forms (Phase A)
|
|
74
|
+
- `PrefillSourceSchema` enum (`user | detected | inferred | default`).
|
|
75
|
+
- `FormFieldSchema.prefill` (string | string[]) — pre-populated value.
|
|
76
|
+
- `FormFieldSchema.displayHint` — human-readable caption below the field.
|
|
77
|
+
- `FormFieldSchema.source` — tracks how the value was obtained, drives source badges.
|
|
78
|
+
- `FormFieldSchema.muted` — compact styling hint for high-confidence prefills.
|
|
79
|
+
- `FormComponentParamsSchema.autoSubmitDelay` — countdown in ms (1000–30000).
|
|
80
|
+
|
|
81
|
+
## [3.0.0] - 2026-04-06
|
|
82
|
+
|
|
83
|
+
### Major release — synchronized with `@seed-ship/mcp-ui-solid` 3.0.0
|
|
84
|
+
|
|
85
|
+
All three packages bumped to 3.0.0 to mark the "complete HITL chat toolkit"
|
|
86
|
+
milestone. Spec additions over the 2.x series:
|
|
87
|
+
- Form field types: `range`, `tags`, `toggle`, `fieldset` alongside existing 14 types.
|
|
88
|
+
- `fieldStatus` (`required | optional | unsupported | unknown`) + `statusReason`.
|
|
89
|
+
- `showWhen` conditional visibility with 13 operators.
|
|
90
|
+
- `dependsOn` reactive field options.
|
|
91
|
+
- `preview` live-refresh config on form components.
|
|
92
|
+
- Multi-select (`multiple: true`) on `select` fields.
|
|
93
|
+
- Autocomplete schema (`apiUrl`, `searchParam`, `labelField`, `valueField`, `extraParams`, `minChars`, `debounceMs`).
|
|
94
|
+
|
|
95
|
+
## [2.2.0] - 2026-04-06
|
|
96
|
+
|
|
97
|
+
### Added
|
|
98
|
+
- `fieldStatus` and `statusReason` on `FormFieldSchema` — per-field API capability indicator aligned with `mcp-ui-solid` v2.12.0.
|
|
99
|
+
|
|
100
|
+
## [2.0.0] - 2026-03-31
|
|
101
|
+
|
|
102
|
+
### Major release — synchronized with `mcp-ui-solid` v2.0.0
|
|
103
|
+
- Expanded `ComponentTypeSchema` to cover 19 component types (added `code`, `map`, `form`, `modal`, `action-group`, `image-gallery`, `video` among others).
|
|
104
|
+
- Per-component schema definitions aligned with the `@seed-ship/mcp-ui-cli` registry validator.
|
|
105
|
+
- Scatter/bubble/time-series chart validation — labels optional for point-based charts.
|
|
106
|
+
|
|
8
107
|
## [1.2.0] - 2025-11-25
|
|
9
108
|
|
|
10
109
|
### Changed - Phase 5.0 Quick Wins
|
package/dist/index.cjs
CHANGED
|
@@ -5,6 +5,12 @@ exports.ActionGroupGapSchema = schemas.ActionGroupGapSchema;
|
|
|
5
5
|
exports.ActionGroupLayoutSchema = schemas.ActionGroupLayoutSchema;
|
|
6
6
|
exports.ActionGroupParamsSchema = schemas.ActionGroupParamsSchema;
|
|
7
7
|
exports.ActionParamsSchema = schemas.ActionParamsSchema;
|
|
8
|
+
exports.ArtifactComponentParamsSchema = schemas.ArtifactComponentParamsSchema;
|
|
9
|
+
exports.CarouselComponentParamsSchema = schemas.CarouselComponentParamsSchema;
|
|
10
|
+
exports.ChartComponentParamsSchema = schemas.ChartComponentParamsSchema;
|
|
11
|
+
exports.ChartDatasetSchema = schemas.ChartDatasetSchema;
|
|
12
|
+
exports.ChartTimeAxisSchema = schemas.ChartTimeAxisSchema;
|
|
13
|
+
exports.ChartTypeSchema = schemas.ChartTypeSchema;
|
|
8
14
|
exports.CodeComponentParamsSchema = schemas.CodeComponentParamsSchema;
|
|
9
15
|
exports.ComponentExampleSchema = schemas.ComponentExampleSchema;
|
|
10
16
|
exports.ComponentRegistrySchema = schemas.ComponentRegistrySchema;
|
|
@@ -18,12 +24,17 @@ exports.FormFieldTypeSchema = schemas.FormFieldTypeSchema;
|
|
|
18
24
|
exports.FormSubmitActionSchema = schemas.FormSubmitActionSchema;
|
|
19
25
|
exports.GalleryImageSchema = schemas.GalleryImageSchema;
|
|
20
26
|
exports.GridPositionSchema = schemas.GridPositionSchema;
|
|
27
|
+
exports.IframeComponentParamsSchema = schemas.IframeComponentParamsSchema;
|
|
28
|
+
exports.ImageComponentParamsSchema = schemas.ImageComponentParamsSchema;
|
|
21
29
|
exports.ImageGalleryAspectRatioSchema = schemas.ImageGalleryAspectRatioSchema;
|
|
22
30
|
exports.ImageGalleryColumnsSchema = schemas.ImageGalleryColumnsSchema;
|
|
23
31
|
exports.ImageGalleryGapSchema = schemas.ImageGalleryGapSchema;
|
|
24
32
|
exports.ImageGalleryParamsSchema = schemas.ImageGalleryParamsSchema;
|
|
33
|
+
exports.LinkComponentParamsSchema = schemas.LinkComponentParamsSchema;
|
|
25
34
|
exports.MapComponentParamsSchema = schemas.MapComponentParamsSchema;
|
|
26
35
|
exports.MapMarkerSchema = schemas.MapMarkerSchema;
|
|
36
|
+
exports.MetricComponentParamsSchema = schemas.MetricComponentParamsSchema;
|
|
37
|
+
exports.MetricTrendSchema = schemas.MetricTrendSchema;
|
|
27
38
|
exports.ModalComponentParamsSchema = schemas.ModalComponentParamsSchema;
|
|
28
39
|
exports.ModalSizeSchema = schemas.ModalSizeSchema;
|
|
29
40
|
exports.PerformanceConstraintsSchema = schemas.PerformanceConstraintsSchema;
|
|
@@ -33,6 +44,12 @@ exports.SandboxFlagSchema = schemas.SandboxFlagSchema;
|
|
|
33
44
|
exports.SecurityConstraintsSchema = schemas.SecurityConstraintsSchema;
|
|
34
45
|
exports.ShowWhenConditionSchema = schemas.ShowWhenConditionSchema;
|
|
35
46
|
exports.ShowWhenOperatorSchema = schemas.ShowWhenOperatorSchema;
|
|
47
|
+
exports.TableColumnSchema = schemas.TableColumnSchema;
|
|
48
|
+
exports.TableComponentParamsSchema = schemas.TableComponentParamsSchema;
|
|
49
|
+
exports.TableExportableSchema = schemas.TableExportableSchema;
|
|
50
|
+
exports.TablePaginationSchema = schemas.TablePaginationSchema;
|
|
51
|
+
exports.TableVirtualizeOptionsSchema = schemas.TableVirtualizeOptionsSchema;
|
|
52
|
+
exports.TextComponentParamsSchema = schemas.TextComponentParamsSchema;
|
|
36
53
|
exports.VideoAspectRatioSchema = schemas.VideoAspectRatioSchema;
|
|
37
54
|
exports.VideoComponentParamsSchema = schemas.VideoComponentParamsSchema;
|
|
38
55
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
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";
|
|
1
|
+
import { ActionGroupGapSchema, ActionGroupLayoutSchema, ActionGroupParamsSchema, ActionParamsSchema, ArtifactComponentParamsSchema, CarouselComponentParamsSchema, ChartComponentParamsSchema, ChartDatasetSchema, ChartTimeAxisSchema, ChartTypeSchema, CodeComponentParamsSchema, ComponentExampleSchema, ComponentRegistrySchema, ComponentSchema, ComponentSchemaSchema, ComponentTypeSchema, FormComponentParamsSchema, FormFieldOptionSchema, FormFieldSchema, FormFieldTypeSchema, FormSubmitActionSchema, GalleryImageSchema, GridPositionSchema, IframeComponentParamsSchema, ImageComponentParamsSchema, ImageGalleryAspectRatioSchema, ImageGalleryColumnsSchema, ImageGalleryGapSchema, ImageGalleryParamsSchema, LinkComponentParamsSchema, MapComponentParamsSchema, MapMarkerSchema, MetricComponentParamsSchema, MetricTrendSchema, ModalComponentParamsSchema, ModalSizeSchema, PerformanceConstraintsSchema, PrefillSourceSchema, RegistryMetadataSchema, SandboxFlagSchema, SecurityConstraintsSchema, ShowWhenConditionSchema, ShowWhenOperatorSchema, TableColumnSchema, TableComponentParamsSchema, TableExportableSchema, TablePaginationSchema, TableVirtualizeOptionsSchema, TextComponentParamsSchema, VideoAspectRatioSchema, VideoComponentParamsSchema } from "./schemas.js";
|
|
2
2
|
export {
|
|
3
3
|
ActionGroupGapSchema,
|
|
4
4
|
ActionGroupLayoutSchema,
|
|
5
5
|
ActionGroupParamsSchema,
|
|
6
6
|
ActionParamsSchema,
|
|
7
|
+
ArtifactComponentParamsSchema,
|
|
8
|
+
CarouselComponentParamsSchema,
|
|
9
|
+
ChartComponentParamsSchema,
|
|
10
|
+
ChartDatasetSchema,
|
|
11
|
+
ChartTimeAxisSchema,
|
|
12
|
+
ChartTypeSchema,
|
|
7
13
|
CodeComponentParamsSchema,
|
|
8
14
|
ComponentExampleSchema,
|
|
9
15
|
ComponentRegistrySchema,
|
|
@@ -17,12 +23,17 @@ export {
|
|
|
17
23
|
FormSubmitActionSchema,
|
|
18
24
|
GalleryImageSchema,
|
|
19
25
|
GridPositionSchema,
|
|
26
|
+
IframeComponentParamsSchema,
|
|
27
|
+
ImageComponentParamsSchema,
|
|
20
28
|
ImageGalleryAspectRatioSchema,
|
|
21
29
|
ImageGalleryColumnsSchema,
|
|
22
30
|
ImageGalleryGapSchema,
|
|
23
31
|
ImageGalleryParamsSchema,
|
|
32
|
+
LinkComponentParamsSchema,
|
|
24
33
|
MapComponentParamsSchema,
|
|
25
34
|
MapMarkerSchema,
|
|
35
|
+
MetricComponentParamsSchema,
|
|
36
|
+
MetricTrendSchema,
|
|
26
37
|
ModalComponentParamsSchema,
|
|
27
38
|
ModalSizeSchema,
|
|
28
39
|
PerformanceConstraintsSchema,
|
|
@@ -32,6 +43,12 @@ export {
|
|
|
32
43
|
SecurityConstraintsSchema,
|
|
33
44
|
ShowWhenConditionSchema,
|
|
34
45
|
ShowWhenOperatorSchema,
|
|
46
|
+
TableColumnSchema,
|
|
47
|
+
TableComponentParamsSchema,
|
|
48
|
+
TableExportableSchema,
|
|
49
|
+
TablePaginationSchema,
|
|
50
|
+
TableVirtualizeOptionsSchema,
|
|
51
|
+
TextComponentParamsSchema,
|
|
35
52
|
VideoAspectRatioSchema,
|
|
36
53
|
VideoComponentParamsSchema
|
|
37
54
|
};
|
package/dist/schemas.cjs
CHANGED
|
@@ -255,6 +255,143 @@ const MapComponentParamsSchema = zod.z.object({
|
|
|
255
255
|
tileLayer: zod.z.string().optional(),
|
|
256
256
|
attribution: zod.z.string().optional()
|
|
257
257
|
});
|
|
258
|
+
const ChartTypeSchema = zod.z.enum([
|
|
259
|
+
"bar",
|
|
260
|
+
"line",
|
|
261
|
+
"pie",
|
|
262
|
+
"doughnut",
|
|
263
|
+
"radar",
|
|
264
|
+
"scatter",
|
|
265
|
+
"bubble",
|
|
266
|
+
"polarArea"
|
|
267
|
+
]);
|
|
268
|
+
const ChartDatasetSchema = zod.z.object({
|
|
269
|
+
label: zod.z.string(),
|
|
270
|
+
// Either an array of numbers or an array of {x, y} points (Chart.js shapes)
|
|
271
|
+
data: zod.z.union([
|
|
272
|
+
zod.z.array(zod.z.number()),
|
|
273
|
+
zod.z.array(
|
|
274
|
+
zod.z.object({
|
|
275
|
+
x: zod.z.union([zod.z.string(), zod.z.number()]),
|
|
276
|
+
y: zod.z.number()
|
|
277
|
+
})
|
|
278
|
+
)
|
|
279
|
+
]),
|
|
280
|
+
backgroundColor: zod.z.union([zod.z.string(), zod.z.array(zod.z.string())]).optional(),
|
|
281
|
+
borderColor: zod.z.union([zod.z.string(), zod.z.array(zod.z.string())]).optional(),
|
|
282
|
+
borderWidth: zod.z.number().optional(),
|
|
283
|
+
fill: zod.z.union([zod.z.boolean(), zod.z.string()]).optional(),
|
|
284
|
+
tension: zod.z.number().optional()
|
|
285
|
+
});
|
|
286
|
+
const ChartTimeAxisSchema = zod.z.object({
|
|
287
|
+
parser: zod.z.string().optional(),
|
|
288
|
+
unit: zod.z.enum(["day", "week", "month", "quarter", "year"]).optional(),
|
|
289
|
+
tooltipFormat: zod.z.string().optional(),
|
|
290
|
+
min: zod.z.string().optional(),
|
|
291
|
+
max: zod.z.string().optional()
|
|
292
|
+
});
|
|
293
|
+
const ChartComponentParamsSchema = zod.z.object({
|
|
294
|
+
type: ChartTypeSchema,
|
|
295
|
+
title: zod.z.string().optional(),
|
|
296
|
+
data: zod.z.object({
|
|
297
|
+
labels: zod.z.array(zod.z.string()),
|
|
298
|
+
datasets: zod.z.array(ChartDatasetSchema)
|
|
299
|
+
}),
|
|
300
|
+
options: zod.z.object({
|
|
301
|
+
responsive: zod.z.boolean().optional(),
|
|
302
|
+
maintainAspectRatio: zod.z.boolean().optional(),
|
|
303
|
+
tension: zod.z.number().optional(),
|
|
304
|
+
// `scales` and `plugins` are Chart.js opaque config objects — kept loose
|
|
305
|
+
scales: zod.z.unknown().optional(),
|
|
306
|
+
plugins: zod.z.unknown().optional()
|
|
307
|
+
}).optional(),
|
|
308
|
+
renderer: zod.z.enum(["native", "iframe", "auto"]).optional(),
|
|
309
|
+
exportable: zod.z.boolean().optional(),
|
|
310
|
+
timeAxis: ChartTimeAxisSchema.optional(),
|
|
311
|
+
height: zod.z.string().optional(),
|
|
312
|
+
className: zod.z.string().optional()
|
|
313
|
+
});
|
|
314
|
+
const TableColumnSchema = zod.z.object({
|
|
315
|
+
key: zod.z.string().min(1),
|
|
316
|
+
label: zod.z.string(),
|
|
317
|
+
sortable: zod.z.boolean().optional(),
|
|
318
|
+
width: zod.z.string().optional()
|
|
319
|
+
});
|
|
320
|
+
const TablePaginationSchema = zod.z.object({
|
|
321
|
+
currentPage: zod.z.number().int().min(1),
|
|
322
|
+
pageSize: zod.z.number().int().min(1),
|
|
323
|
+
totalRows: zod.z.number().int().min(0)
|
|
324
|
+
});
|
|
325
|
+
const TableVirtualizeOptionsSchema = zod.z.object({
|
|
326
|
+
enabled: zod.z.boolean().optional(),
|
|
327
|
+
rowHeight: zod.z.number().int().min(1).optional(),
|
|
328
|
+
overscan: zod.z.number().int().min(0).optional(),
|
|
329
|
+
threshold: zod.z.number().int().min(1).optional()
|
|
330
|
+
});
|
|
331
|
+
const TableExportableSchema = zod.z.union([
|
|
332
|
+
zod.z.boolean(),
|
|
333
|
+
zod.z.object({
|
|
334
|
+
formats: zod.z.array(zod.z.enum(["csv", "tsv", "json"])).optional(),
|
|
335
|
+
filename: zod.z.string().optional()
|
|
336
|
+
})
|
|
337
|
+
]);
|
|
338
|
+
const TableComponentParamsSchema = zod.z.object({
|
|
339
|
+
title: zod.z.string().optional(),
|
|
340
|
+
columns: zod.z.array(TableColumnSchema).min(1),
|
|
341
|
+
rows: zod.z.array(zod.z.record(zod.z.unknown())),
|
|
342
|
+
pagination: TablePaginationSchema.optional(),
|
|
343
|
+
virtualize: zod.z.union([zod.z.boolean(), TableVirtualizeOptionsSchema]).optional(),
|
|
344
|
+
exportable: TableExportableSchema.optional(),
|
|
345
|
+
className: zod.z.string().optional()
|
|
346
|
+
});
|
|
347
|
+
const MetricTrendSchema = zod.z.object({
|
|
348
|
+
value: zod.z.number(),
|
|
349
|
+
direction: zod.z.enum(["up", "down", "neutral"])
|
|
350
|
+
});
|
|
351
|
+
const MetricComponentParamsSchema = zod.z.object({
|
|
352
|
+
title: zod.z.string().min(1),
|
|
353
|
+
value: zod.z.union([zod.z.string(), zod.z.number()]),
|
|
354
|
+
unit: zod.z.string().optional(),
|
|
355
|
+
trend: MetricTrendSchema.optional(),
|
|
356
|
+
subtitle: zod.z.string().optional(),
|
|
357
|
+
icon: zod.z.string().optional(),
|
|
358
|
+
className: zod.z.string().optional()
|
|
359
|
+
});
|
|
360
|
+
const TextComponentParamsSchema = zod.z.object({
|
|
361
|
+
content: zod.z.string().min(1),
|
|
362
|
+
markdown: zod.z.boolean().optional(),
|
|
363
|
+
className: zod.z.string().optional()
|
|
364
|
+
});
|
|
365
|
+
const IframeComponentParamsSchema = zod.z.object({
|
|
366
|
+
url: zod.z.string().min(1),
|
|
367
|
+
title: zod.z.string().optional(),
|
|
368
|
+
height: zod.z.string().optional(),
|
|
369
|
+
className: zod.z.string().optional()
|
|
370
|
+
});
|
|
371
|
+
const ImageComponentParamsSchema = zod.z.object({
|
|
372
|
+
url: zod.z.string().min(1),
|
|
373
|
+
alt: zod.z.string().optional(),
|
|
374
|
+
caption: zod.z.string().optional(),
|
|
375
|
+
className: zod.z.string().optional()
|
|
376
|
+
});
|
|
377
|
+
const LinkComponentParamsSchema = zod.z.object({
|
|
378
|
+
url: zod.z.string().min(1),
|
|
379
|
+
label: zod.z.string().optional(),
|
|
380
|
+
description: zod.z.string().optional(),
|
|
381
|
+
className: zod.z.string().optional()
|
|
382
|
+
});
|
|
383
|
+
const CarouselComponentParamsSchema = zod.z.object({
|
|
384
|
+
items: zod.z.array(zod.z.unknown()).min(1),
|
|
385
|
+
height: zod.z.string().optional(),
|
|
386
|
+
className: zod.z.string().optional()
|
|
387
|
+
});
|
|
388
|
+
const ArtifactComponentParamsSchema = zod.z.object({
|
|
389
|
+
url: zod.z.string().min(1),
|
|
390
|
+
filename: zod.z.string().min(1),
|
|
391
|
+
mimeType: zod.z.string().min(1),
|
|
392
|
+
size: zod.z.number().int().min(0).optional(),
|
|
393
|
+
description: zod.z.string().optional()
|
|
394
|
+
});
|
|
258
395
|
const SandboxFlagSchema = zod.z.enum([
|
|
259
396
|
"allow-scripts",
|
|
260
397
|
"allow-same-origin",
|
|
@@ -313,6 +450,12 @@ exports.ActionGroupGapSchema = ActionGroupGapSchema;
|
|
|
313
450
|
exports.ActionGroupLayoutSchema = ActionGroupLayoutSchema;
|
|
314
451
|
exports.ActionGroupParamsSchema = ActionGroupParamsSchema;
|
|
315
452
|
exports.ActionParamsSchema = ActionParamsSchema;
|
|
453
|
+
exports.ArtifactComponentParamsSchema = ArtifactComponentParamsSchema;
|
|
454
|
+
exports.CarouselComponentParamsSchema = CarouselComponentParamsSchema;
|
|
455
|
+
exports.ChartComponentParamsSchema = ChartComponentParamsSchema;
|
|
456
|
+
exports.ChartDatasetSchema = ChartDatasetSchema;
|
|
457
|
+
exports.ChartTimeAxisSchema = ChartTimeAxisSchema;
|
|
458
|
+
exports.ChartTypeSchema = ChartTypeSchema;
|
|
316
459
|
exports.CodeComponentParamsSchema = CodeComponentParamsSchema;
|
|
317
460
|
exports.ComponentExampleSchema = ComponentExampleSchema;
|
|
318
461
|
exports.ComponentRegistrySchema = ComponentRegistrySchema;
|
|
@@ -326,12 +469,17 @@ exports.FormFieldTypeSchema = FormFieldTypeSchema;
|
|
|
326
469
|
exports.FormSubmitActionSchema = FormSubmitActionSchema;
|
|
327
470
|
exports.GalleryImageSchema = GalleryImageSchema;
|
|
328
471
|
exports.GridPositionSchema = GridPositionSchema;
|
|
472
|
+
exports.IframeComponentParamsSchema = IframeComponentParamsSchema;
|
|
473
|
+
exports.ImageComponentParamsSchema = ImageComponentParamsSchema;
|
|
329
474
|
exports.ImageGalleryAspectRatioSchema = ImageGalleryAspectRatioSchema;
|
|
330
475
|
exports.ImageGalleryColumnsSchema = ImageGalleryColumnsSchema;
|
|
331
476
|
exports.ImageGalleryGapSchema = ImageGalleryGapSchema;
|
|
332
477
|
exports.ImageGalleryParamsSchema = ImageGalleryParamsSchema;
|
|
478
|
+
exports.LinkComponentParamsSchema = LinkComponentParamsSchema;
|
|
333
479
|
exports.MapComponentParamsSchema = MapComponentParamsSchema;
|
|
334
480
|
exports.MapMarkerSchema = MapMarkerSchema;
|
|
481
|
+
exports.MetricComponentParamsSchema = MetricComponentParamsSchema;
|
|
482
|
+
exports.MetricTrendSchema = MetricTrendSchema;
|
|
335
483
|
exports.ModalComponentParamsSchema = ModalComponentParamsSchema;
|
|
336
484
|
exports.ModalSizeSchema = ModalSizeSchema;
|
|
337
485
|
exports.PerformanceConstraintsSchema = PerformanceConstraintsSchema;
|
|
@@ -341,6 +489,12 @@ exports.SandboxFlagSchema = SandboxFlagSchema;
|
|
|
341
489
|
exports.SecurityConstraintsSchema = SecurityConstraintsSchema;
|
|
342
490
|
exports.ShowWhenConditionSchema = ShowWhenConditionSchema;
|
|
343
491
|
exports.ShowWhenOperatorSchema = ShowWhenOperatorSchema;
|
|
492
|
+
exports.TableColumnSchema = TableColumnSchema;
|
|
493
|
+
exports.TableComponentParamsSchema = TableComponentParamsSchema;
|
|
494
|
+
exports.TableExportableSchema = TableExportableSchema;
|
|
495
|
+
exports.TablePaginationSchema = TablePaginationSchema;
|
|
496
|
+
exports.TableVirtualizeOptionsSchema = TableVirtualizeOptionsSchema;
|
|
497
|
+
exports.TextComponentParamsSchema = TextComponentParamsSchema;
|
|
344
498
|
exports.VideoAspectRatioSchema = VideoAspectRatioSchema;
|
|
345
499
|
exports.VideoComponentParamsSchema = VideoComponentParamsSchema;
|
|
346
500
|
//# sourceMappingURL=schemas.cjs.map
|
package/dist/schemas.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.cjs","sources":["../src/schemas/index.ts"],"sourcesContent":["/**\n * Zod validation schemas for component registry\n */\n\nimport { z } from 'zod'\n\n// Grid position schema\nexport const GridPositionSchema = z.object({\n colStart: z.number().int().min(1).max(12),\n colSpan: z.number().int().min(1).max(12),\n rowStart: z.number().int().min(1).optional(),\n rowSpan: z.number().int().min(1).default(1).optional(),\n})\n\n// Component types (synced with mcp-ui-solid v1.2.6)\nexport const ComponentTypeSchema = z.enum([\n 'chart',\n 'table',\n 'metric',\n 'text',\n 'composite',\n 'grid', // Phase 5.0: Nested grid layouts\n 'iframe',\n 'image',\n 'link',\n 'action', // Phase 5.0: Tool call actions\n 'footer', // Phase 5.0: Metadata footer\n 'carousel',\n 'artifact',\n 'form', // Sprint 1: Form component\n 'modal', // Sprint 3: Modal/dialog component\n 'action-group', // Sprint 3: Action grouping component\n 'image-gallery', // Sprint 5: Image gallery with lightbox\n 'video', // Sprint 5: Video embed (YouTube, Vimeo, direct)\n 'code', // Sprint 6: Syntax highlighted code block\n 'map', // Sprint 6: Interactive map (Leaflet)\n])\n\n// Form field option schema (for select, radio)\nexport const FormFieldOptionSchema = z.object({\n label: z.string().min(1),\n value: z.string(),\n disabled: z.boolean().optional(),\n})\n\n// Form field type schema\nexport const FormFieldTypeSchema = z.enum([\n 'text',\n 'email',\n 'password',\n 'number',\n 'date',\n 'textarea',\n 'select',\n 'checkbox',\n 'radio',\n 'autocomplete',\n 'range',\n 'tags',\n 'toggle',\n 'fieldset',\n])\n\n// Show when operator schema\nexport const ShowWhenOperatorSchema = z.enum([\n 'equals',\n 'notEquals',\n 'in',\n 'notIn',\n 'contains',\n 'startsWith',\n 'endsWith',\n 'greaterThan',\n 'lessThan',\n 'isEmpty',\n 'isNotEmpty',\n 'isTrue',\n 'isFalse',\n])\n\n// Show when condition schema\nexport const ShowWhenConditionSchema = z.object({\n field: z.string().min(1),\n operator: ShowWhenOperatorSchema,\n value: z.any().optional(),\n})\n\n// Prefill source schema (v4.2.0)\nexport const PrefillSourceSchema = z.enum(['user', 'detected', 'inferred', 'default'])\n\n// Form field schema\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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"}
|
|
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// =============================================================================\n// Primitive component params schemas (v5.0.1)\n//\n// These mirror the runtime types declared in `@seed-ship/mcp-ui-solid/types`\n// and the imperative checks in `mcp-ui-solid/src/services/validation.ts`.\n// They prepare B.1 — `validation.ts` migration to spec-driven Zod parsing\n// without losing the existing imperative resource-limits / iframe-domain\n// whitelist layers (see MCP-UI-AUDIT-2026-04-26.md §I).\n//\n// URL-bearing fields use `z.string().min(1)` (not `.url()`) on purpose —\n// validation.ts currently just truthy-checks them, and `.url()` would\n// reject relative paths and `localhost`-style dev URLs.\n// =============================================================================\n\n// Chart component (v5.0.1)\nexport const ChartTypeSchema = z.enum([\n 'bar',\n 'line',\n 'pie',\n 'doughnut',\n 'radar',\n 'scatter',\n 'bubble',\n 'polarArea',\n])\n\nexport const ChartDatasetSchema = z.object({\n label: z.string(),\n // Either an array of numbers or an array of {x, y} points (Chart.js shapes)\n data: z.union([\n z.array(z.number()),\n z.array(\n z.object({\n x: z.union([z.string(), z.number()]),\n y: z.number(),\n })\n ),\n ]),\n backgroundColor: z.union([z.string(), z.array(z.string())]).optional(),\n borderColor: z.union([z.string(), z.array(z.string())]).optional(),\n borderWidth: z.number().optional(),\n fill: z.union([z.boolean(), z.string()]).optional(),\n tension: z.number().optional(),\n})\n\nexport const ChartTimeAxisSchema = z.object({\n parser: z.string().optional(),\n unit: z.enum(['day', 'week', 'month', 'quarter', 'year']).optional(),\n tooltipFormat: z.string().optional(),\n min: z.string().optional(),\n max: z.string().optional(),\n})\n\nexport const ChartComponentParamsSchema = z.object({\n type: ChartTypeSchema,\n title: z.string().optional(),\n data: z.object({\n labels: z.array(z.string()),\n datasets: z.array(ChartDatasetSchema),\n }),\n options: z\n .object({\n responsive: z.boolean().optional(),\n maintainAspectRatio: z.boolean().optional(),\n tension: z.number().optional(),\n // `scales` and `plugins` are Chart.js opaque config objects — kept loose\n scales: z.unknown().optional(),\n plugins: z.unknown().optional(),\n })\n .optional(),\n renderer: z.enum(['native', 'iframe', 'auto']).optional(),\n exportable: z.boolean().optional(),\n timeAxis: ChartTimeAxisSchema.optional(),\n height: z.string().optional(),\n className: z.string().optional(),\n})\n\n// Table component (v5.0.1)\nexport const TableColumnSchema = z.object({\n key: z.string().min(1),\n label: z.string(),\n sortable: z.boolean().optional(),\n width: z.string().optional(),\n})\n\nexport const TablePaginationSchema = z.object({\n currentPage: z.number().int().min(1),\n pageSize: z.number().int().min(1),\n totalRows: z.number().int().min(0),\n})\n\nexport const TableVirtualizeOptionsSchema = z.object({\n enabled: z.boolean().optional(),\n rowHeight: z.number().int().min(1).optional(),\n overscan: z.number().int().min(0).optional(),\n threshold: z.number().int().min(1).optional(),\n})\n\nexport const TableExportableSchema = z.union([\n z.boolean(),\n z.object({\n formats: z.array(z.enum(['csv', 'tsv', 'json'])).optional(),\n filename: z.string().optional(),\n }),\n])\n\nexport const TableComponentParamsSchema = z.object({\n title: z.string().optional(),\n columns: z.array(TableColumnSchema).min(1),\n rows: z.array(z.record(z.unknown())),\n pagination: TablePaginationSchema.optional(),\n virtualize: z.union([z.boolean(), TableVirtualizeOptionsSchema]).optional(),\n exportable: TableExportableSchema.optional(),\n className: z.string().optional(),\n})\n\n// Metric component (v5.0.1)\nexport const MetricTrendSchema = z.object({\n value: z.number(),\n direction: z.enum(['up', 'down', 'neutral']),\n})\n\nexport const MetricComponentParamsSchema = z.object({\n title: z.string().min(1),\n value: z.union([z.string(), z.number()]),\n unit: z.string().optional(),\n trend: MetricTrendSchema.optional(),\n subtitle: z.string().optional(),\n icon: z.string().optional(),\n className: z.string().optional(),\n})\n\n// Text component (v5.0.1)\nexport const TextComponentParamsSchema = z.object({\n content: z.string().min(1),\n markdown: z.boolean().optional(),\n className: z.string().optional(),\n})\n\n// Iframe component (v5.0.1) — domain whitelist stays in mcp-ui-solid (security)\nexport const IframeComponentParamsSchema = z.object({\n url: z.string().min(1),\n title: z.string().optional(),\n height: z.string().optional(),\n className: z.string().optional(),\n})\n\n// Image component (v5.0.1)\nexport const ImageComponentParamsSchema = z.object({\n url: z.string().min(1),\n alt: z.string().optional(),\n caption: z.string().optional(),\n className: z.string().optional(),\n})\n\n// Link component (v5.0.1)\nexport const LinkComponentParamsSchema = z.object({\n url: z.string().min(1),\n label: z.string().optional(),\n description: z.string().optional(),\n className: z.string().optional(),\n})\n\n// Carousel component (v5.0.1)\n// `items` are UIComponent values that are validated recursively by the\n// renderer — kept opaque here to avoid a circular schema reference.\nexport const CarouselComponentParamsSchema = z.object({\n items: z.array(z.unknown()).min(1),\n height: z.string().optional(),\n className: z.string().optional(),\n})\n\n// Artifact component (v5.0.1)\nexport const ArtifactComponentParamsSchema = z.object({\n url: z.string().min(1),\n filename: z.string().min(1),\n mimeType: z.string().min(1),\n size: z.number().int().min(0).optional(),\n description: z.string().optional(),\n})\n\n// Sandbox flags\nexport const SandboxFlagSchema = z.enum([\n 'allow-scripts',\n 'allow-same-origin',\n 'allow-forms',\n 'allow-popups',\n 'allow-modals',\n])\n\n// Security constraints\nexport const SecurityConstraintsSchema = z.object({\n requiresAuth: z.boolean().default(false).optional(),\n allowedDomains: z.array(z.string()).optional(),\n maxIframeDepth: z.number().int().min(0).max(3).default(1).optional(),\n sandboxFlags: z.array(SandboxFlagSchema).optional(),\n})\n\n// Performance constraints\nexport const PerformanceConstraintsSchema = z.object({\n maxRenderTime: z.number().int().min(100).default(5000).optional(),\n maxDataSize: z.number().int().min(1024).default(102400).optional(),\n})\n\n// Component schema (JSON Schema definition)\nexport const ComponentSchemaSchema = z.object({\n type: z.literal('object'),\n required: z.array(z.string()).optional(),\n properties: z.record(z.unknown()),\n additionalProperties: z.boolean().optional(),\n})\n\n// Component example\nexport const ComponentExampleSchema = z.object({\n name: z.string().min(1),\n description: z.string().optional(),\n params: z.record(z.unknown()),\n position: GridPositionSchema.optional(),\n})\n\n// Component definition\nexport const ComponentSchema = z.object({\n id: z.string().regex(/^[a-z0-9-]+$/),\n type: ComponentTypeSchema,\n name: z.string().min(1),\n description: z.string().optional(),\n schema: ComponentSchemaSchema,\n examples: z.array(ComponentExampleSchema).min(1),\n security: SecurityConstraintsSchema.optional(),\n performance: PerformanceConstraintsSchema.optional(),\n tags: z.array(z.string().regex(/^[a-z0-9-]+$/)).optional(),\n version: z\n .string()\n .regex(/^\\d+\\.\\d+\\.\\d+$/)\n .optional(),\n deprecated: z.boolean().default(false).optional(),\n deprecationMessage: z.string().optional(),\n})\n\n// Registry metadata\nexport const RegistryMetadataSchema = z.object({\n name: z.string().optional(),\n description: z.string().optional(),\n author: z.string().optional(),\n repository: z.string().url().optional(),\n})\n\n// Component registry\nexport const ComponentRegistrySchema = z.object({\n version: z.literal('1.0.0'),\n metadata: RegistryMetadataSchema.optional(),\n components: z.array(ComponentSchema).min(1),\n})\n\n// Export types inferred from schemas\nexport type ComponentRegistry = z.infer<typeof ComponentRegistrySchema>\nexport type Component = z.infer<typeof ComponentSchema>\nexport type ComponentExample = z.infer<typeof ComponentExampleSchema>\nexport type GridPosition = z.infer<typeof GridPositionSchema>\nexport type SecurityConstraints = z.infer<typeof SecurityConstraintsSchema>\nexport type PerformanceConstraints = z.infer<typeof PerformanceConstraintsSchema>\nexport type ComponentType = z.infer<typeof ComponentTypeSchema>\nexport type SandboxFlag = z.infer<typeof SandboxFlagSchema>\n\n// Form types (Sprint 1)\nexport type FormFieldOption = z.infer<typeof FormFieldOptionSchema>\nexport type FormFieldType = z.infer<typeof FormFieldTypeSchema>\nexport type FormField = z.infer<typeof FormFieldSchema>\nexport type FormSubmitAction = z.infer<typeof FormSubmitActionSchema>\nexport type FormComponentParams = z.infer<typeof FormComponentParamsSchema>\nexport type PrefillSource = z.infer<typeof PrefillSourceSchema>\n\n// Conditional field types (Sprint 2)\nexport type ShowWhenOperator = z.infer<typeof ShowWhenOperatorSchema>\nexport type ShowWhenCondition = z.infer<typeof ShowWhenConditionSchema>\n\n// Modal types (Sprint 3)\nexport type ModalSize = z.infer<typeof ModalSizeSchema>\nexport type ModalComponentParams = z.infer<typeof ModalComponentParamsSchema>\n\n// Action group types (Sprint 3)\nexport type ActionGroupLayout = z.infer<typeof ActionGroupLayoutSchema>\nexport type ActionGroupGap = z.infer<typeof ActionGroupGapSchema>\nexport type ActionParams = z.infer<typeof ActionParamsSchema>\nexport type ActionGroupParams = z.infer<typeof ActionGroupParamsSchema>\n\n// Image gallery types (Sprint 5)\nexport type GalleryImage = z.infer<typeof GalleryImageSchema>\nexport type ImageGalleryGap = z.infer<typeof ImageGalleryGapSchema>\nexport type ImageGalleryAspectRatio = z.infer<typeof ImageGalleryAspectRatioSchema>\nexport type ImageGalleryParams = z.infer<typeof ImageGalleryParamsSchema>\n\n// Video types (Sprint 5)\nexport type VideoAspectRatio = z.infer<typeof VideoAspectRatioSchema>\nexport type VideoComponentParams = z.infer<typeof VideoComponentParamsSchema>\n\n// Code types (Sprint 6)\nexport type CodeComponentParams = z.infer<typeof CodeComponentParamsSchema>\n\n// Map types (Sprint 6)\nexport type MapMarker = z.infer<typeof MapMarkerSchema>\nexport type MapComponentParams = z.infer<typeof MapComponentParamsSchema>\n\n// Primitive component params types (v5.0.1)\nexport type ChartType = z.infer<typeof ChartTypeSchema>\nexport type ChartDataset = z.infer<typeof ChartDatasetSchema>\nexport type ChartTimeAxis = z.infer<typeof ChartTimeAxisSchema>\nexport type ChartComponentParams = z.infer<typeof ChartComponentParamsSchema>\nexport type TableColumn = z.infer<typeof TableColumnSchema>\nexport type TablePagination = z.infer<typeof TablePaginationSchema>\nexport type TableVirtualizeOptions = z.infer<typeof TableVirtualizeOptionsSchema>\nexport type TableExportable = z.infer<typeof TableExportableSchema>\nexport type TableComponentParams = z.infer<typeof TableComponentParamsSchema>\nexport type MetricTrend = z.infer<typeof MetricTrendSchema>\nexport type MetricComponentParams = z.infer<typeof MetricComponentParamsSchema>\nexport type TextComponentParams = z.infer<typeof TextComponentParamsSchema>\nexport type IframeComponentParams = z.infer<typeof IframeComponentParamsSchema>\nexport type ImageComponentParams = z.infer<typeof ImageComponentParamsSchema>\nexport type LinkComponentParams = z.infer<typeof LinkComponentParamsSchema>\nexport type CarouselComponentParams = z.infer<typeof CarouselComponentParamsSchema>\nexport type ArtifactComponentParams = z.infer<typeof ArtifactComponentParamsSchema>\n"],"names":["z"],"mappings":"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"}
|
package/dist/schemas.js
CHANGED
|
@@ -253,6 +253,143 @@ const MapComponentParamsSchema = z.object({
|
|
|
253
253
|
tileLayer: z.string().optional(),
|
|
254
254
|
attribution: z.string().optional()
|
|
255
255
|
});
|
|
256
|
+
const ChartTypeSchema = z.enum([
|
|
257
|
+
"bar",
|
|
258
|
+
"line",
|
|
259
|
+
"pie",
|
|
260
|
+
"doughnut",
|
|
261
|
+
"radar",
|
|
262
|
+
"scatter",
|
|
263
|
+
"bubble",
|
|
264
|
+
"polarArea"
|
|
265
|
+
]);
|
|
266
|
+
const ChartDatasetSchema = z.object({
|
|
267
|
+
label: z.string(),
|
|
268
|
+
// Either an array of numbers or an array of {x, y} points (Chart.js shapes)
|
|
269
|
+
data: z.union([
|
|
270
|
+
z.array(z.number()),
|
|
271
|
+
z.array(
|
|
272
|
+
z.object({
|
|
273
|
+
x: z.union([z.string(), z.number()]),
|
|
274
|
+
y: z.number()
|
|
275
|
+
})
|
|
276
|
+
)
|
|
277
|
+
]),
|
|
278
|
+
backgroundColor: z.union([z.string(), z.array(z.string())]).optional(),
|
|
279
|
+
borderColor: z.union([z.string(), z.array(z.string())]).optional(),
|
|
280
|
+
borderWidth: z.number().optional(),
|
|
281
|
+
fill: z.union([z.boolean(), z.string()]).optional(),
|
|
282
|
+
tension: z.number().optional()
|
|
283
|
+
});
|
|
284
|
+
const ChartTimeAxisSchema = z.object({
|
|
285
|
+
parser: z.string().optional(),
|
|
286
|
+
unit: z.enum(["day", "week", "month", "quarter", "year"]).optional(),
|
|
287
|
+
tooltipFormat: z.string().optional(),
|
|
288
|
+
min: z.string().optional(),
|
|
289
|
+
max: z.string().optional()
|
|
290
|
+
});
|
|
291
|
+
const ChartComponentParamsSchema = z.object({
|
|
292
|
+
type: ChartTypeSchema,
|
|
293
|
+
title: z.string().optional(),
|
|
294
|
+
data: z.object({
|
|
295
|
+
labels: z.array(z.string()),
|
|
296
|
+
datasets: z.array(ChartDatasetSchema)
|
|
297
|
+
}),
|
|
298
|
+
options: z.object({
|
|
299
|
+
responsive: z.boolean().optional(),
|
|
300
|
+
maintainAspectRatio: z.boolean().optional(),
|
|
301
|
+
tension: z.number().optional(),
|
|
302
|
+
// `scales` and `plugins` are Chart.js opaque config objects — kept loose
|
|
303
|
+
scales: z.unknown().optional(),
|
|
304
|
+
plugins: z.unknown().optional()
|
|
305
|
+
}).optional(),
|
|
306
|
+
renderer: z.enum(["native", "iframe", "auto"]).optional(),
|
|
307
|
+
exportable: z.boolean().optional(),
|
|
308
|
+
timeAxis: ChartTimeAxisSchema.optional(),
|
|
309
|
+
height: z.string().optional(),
|
|
310
|
+
className: z.string().optional()
|
|
311
|
+
});
|
|
312
|
+
const TableColumnSchema = z.object({
|
|
313
|
+
key: z.string().min(1),
|
|
314
|
+
label: z.string(),
|
|
315
|
+
sortable: z.boolean().optional(),
|
|
316
|
+
width: z.string().optional()
|
|
317
|
+
});
|
|
318
|
+
const TablePaginationSchema = z.object({
|
|
319
|
+
currentPage: z.number().int().min(1),
|
|
320
|
+
pageSize: z.number().int().min(1),
|
|
321
|
+
totalRows: z.number().int().min(0)
|
|
322
|
+
});
|
|
323
|
+
const TableVirtualizeOptionsSchema = z.object({
|
|
324
|
+
enabled: z.boolean().optional(),
|
|
325
|
+
rowHeight: z.number().int().min(1).optional(),
|
|
326
|
+
overscan: z.number().int().min(0).optional(),
|
|
327
|
+
threshold: z.number().int().min(1).optional()
|
|
328
|
+
});
|
|
329
|
+
const TableExportableSchema = z.union([
|
|
330
|
+
z.boolean(),
|
|
331
|
+
z.object({
|
|
332
|
+
formats: z.array(z.enum(["csv", "tsv", "json"])).optional(),
|
|
333
|
+
filename: z.string().optional()
|
|
334
|
+
})
|
|
335
|
+
]);
|
|
336
|
+
const TableComponentParamsSchema = z.object({
|
|
337
|
+
title: z.string().optional(),
|
|
338
|
+
columns: z.array(TableColumnSchema).min(1),
|
|
339
|
+
rows: z.array(z.record(z.unknown())),
|
|
340
|
+
pagination: TablePaginationSchema.optional(),
|
|
341
|
+
virtualize: z.union([z.boolean(), TableVirtualizeOptionsSchema]).optional(),
|
|
342
|
+
exportable: TableExportableSchema.optional(),
|
|
343
|
+
className: z.string().optional()
|
|
344
|
+
});
|
|
345
|
+
const MetricTrendSchema = z.object({
|
|
346
|
+
value: z.number(),
|
|
347
|
+
direction: z.enum(["up", "down", "neutral"])
|
|
348
|
+
});
|
|
349
|
+
const MetricComponentParamsSchema = z.object({
|
|
350
|
+
title: z.string().min(1),
|
|
351
|
+
value: z.union([z.string(), z.number()]),
|
|
352
|
+
unit: z.string().optional(),
|
|
353
|
+
trend: MetricTrendSchema.optional(),
|
|
354
|
+
subtitle: z.string().optional(),
|
|
355
|
+
icon: z.string().optional(),
|
|
356
|
+
className: z.string().optional()
|
|
357
|
+
});
|
|
358
|
+
const TextComponentParamsSchema = z.object({
|
|
359
|
+
content: z.string().min(1),
|
|
360
|
+
markdown: z.boolean().optional(),
|
|
361
|
+
className: z.string().optional()
|
|
362
|
+
});
|
|
363
|
+
const IframeComponentParamsSchema = z.object({
|
|
364
|
+
url: z.string().min(1),
|
|
365
|
+
title: z.string().optional(),
|
|
366
|
+
height: z.string().optional(),
|
|
367
|
+
className: z.string().optional()
|
|
368
|
+
});
|
|
369
|
+
const ImageComponentParamsSchema = z.object({
|
|
370
|
+
url: z.string().min(1),
|
|
371
|
+
alt: z.string().optional(),
|
|
372
|
+
caption: z.string().optional(),
|
|
373
|
+
className: z.string().optional()
|
|
374
|
+
});
|
|
375
|
+
const LinkComponentParamsSchema = z.object({
|
|
376
|
+
url: z.string().min(1),
|
|
377
|
+
label: z.string().optional(),
|
|
378
|
+
description: z.string().optional(),
|
|
379
|
+
className: z.string().optional()
|
|
380
|
+
});
|
|
381
|
+
const CarouselComponentParamsSchema = z.object({
|
|
382
|
+
items: z.array(z.unknown()).min(1),
|
|
383
|
+
height: z.string().optional(),
|
|
384
|
+
className: z.string().optional()
|
|
385
|
+
});
|
|
386
|
+
const ArtifactComponentParamsSchema = z.object({
|
|
387
|
+
url: z.string().min(1),
|
|
388
|
+
filename: z.string().min(1),
|
|
389
|
+
mimeType: z.string().min(1),
|
|
390
|
+
size: z.number().int().min(0).optional(),
|
|
391
|
+
description: z.string().optional()
|
|
392
|
+
});
|
|
256
393
|
const SandboxFlagSchema = z.enum([
|
|
257
394
|
"allow-scripts",
|
|
258
395
|
"allow-same-origin",
|
|
@@ -312,6 +449,12 @@ export {
|
|
|
312
449
|
ActionGroupLayoutSchema,
|
|
313
450
|
ActionGroupParamsSchema,
|
|
314
451
|
ActionParamsSchema,
|
|
452
|
+
ArtifactComponentParamsSchema,
|
|
453
|
+
CarouselComponentParamsSchema,
|
|
454
|
+
ChartComponentParamsSchema,
|
|
455
|
+
ChartDatasetSchema,
|
|
456
|
+
ChartTimeAxisSchema,
|
|
457
|
+
ChartTypeSchema,
|
|
315
458
|
CodeComponentParamsSchema,
|
|
316
459
|
ComponentExampleSchema,
|
|
317
460
|
ComponentRegistrySchema,
|
|
@@ -325,12 +468,17 @@ export {
|
|
|
325
468
|
FormSubmitActionSchema,
|
|
326
469
|
GalleryImageSchema,
|
|
327
470
|
GridPositionSchema,
|
|
471
|
+
IframeComponentParamsSchema,
|
|
472
|
+
ImageComponentParamsSchema,
|
|
328
473
|
ImageGalleryAspectRatioSchema,
|
|
329
474
|
ImageGalleryColumnsSchema,
|
|
330
475
|
ImageGalleryGapSchema,
|
|
331
476
|
ImageGalleryParamsSchema,
|
|
477
|
+
LinkComponentParamsSchema,
|
|
332
478
|
MapComponentParamsSchema,
|
|
333
479
|
MapMarkerSchema,
|
|
480
|
+
MetricComponentParamsSchema,
|
|
481
|
+
MetricTrendSchema,
|
|
334
482
|
ModalComponentParamsSchema,
|
|
335
483
|
ModalSizeSchema,
|
|
336
484
|
PerformanceConstraintsSchema,
|
|
@@ -340,6 +488,12 @@ export {
|
|
|
340
488
|
SecurityConstraintsSchema,
|
|
341
489
|
ShowWhenConditionSchema,
|
|
342
490
|
ShowWhenOperatorSchema,
|
|
491
|
+
TableColumnSchema,
|
|
492
|
+
TableComponentParamsSchema,
|
|
493
|
+
TableExportableSchema,
|
|
494
|
+
TablePaginationSchema,
|
|
495
|
+
TableVirtualizeOptionsSchema,
|
|
496
|
+
TextComponentParamsSchema,
|
|
343
497
|
VideoAspectRatioSchema,
|
|
344
498
|
VideoComponentParamsSchema
|
|
345
499
|
};
|
package/dist/schemas.js.map
CHANGED
|
@@ -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 // 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":"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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// =============================================================================\n// Primitive component params schemas (v5.0.1)\n//\n// These mirror the runtime types declared in `@seed-ship/mcp-ui-solid/types`\n// and the imperative checks in `mcp-ui-solid/src/services/validation.ts`.\n// They prepare B.1 — `validation.ts` migration to spec-driven Zod parsing\n// without losing the existing imperative resource-limits / iframe-domain\n// whitelist layers (see MCP-UI-AUDIT-2026-04-26.md §I).\n//\n// URL-bearing fields use `z.string().min(1)` (not `.url()`) on purpose —\n// validation.ts currently just truthy-checks them, and `.url()` would\n// reject relative paths and `localhost`-style dev URLs.\n// =============================================================================\n\n// Chart component (v5.0.1)\nexport const ChartTypeSchema = z.enum([\n 'bar',\n 'line',\n 'pie',\n 'doughnut',\n 'radar',\n 'scatter',\n 'bubble',\n 'polarArea',\n])\n\nexport const ChartDatasetSchema = z.object({\n label: z.string(),\n // Either an array of numbers or an array of {x, y} points (Chart.js shapes)\n data: z.union([\n z.array(z.number()),\n z.array(\n z.object({\n x: z.union([z.string(), z.number()]),\n y: z.number(),\n })\n ),\n ]),\n backgroundColor: z.union([z.string(), z.array(z.string())]).optional(),\n borderColor: z.union([z.string(), z.array(z.string())]).optional(),\n borderWidth: z.number().optional(),\n fill: z.union([z.boolean(), z.string()]).optional(),\n tension: z.number().optional(),\n})\n\nexport const ChartTimeAxisSchema = z.object({\n parser: z.string().optional(),\n unit: z.enum(['day', 'week', 'month', 'quarter', 'year']).optional(),\n tooltipFormat: z.string().optional(),\n min: z.string().optional(),\n max: z.string().optional(),\n})\n\nexport const ChartComponentParamsSchema = z.object({\n type: ChartTypeSchema,\n title: z.string().optional(),\n data: z.object({\n labels: z.array(z.string()),\n datasets: z.array(ChartDatasetSchema),\n }),\n options: z\n .object({\n responsive: z.boolean().optional(),\n maintainAspectRatio: z.boolean().optional(),\n tension: z.number().optional(),\n // `scales` and `plugins` are Chart.js opaque config objects — kept loose\n scales: z.unknown().optional(),\n plugins: z.unknown().optional(),\n })\n .optional(),\n renderer: z.enum(['native', 'iframe', 'auto']).optional(),\n exportable: z.boolean().optional(),\n timeAxis: ChartTimeAxisSchema.optional(),\n height: z.string().optional(),\n className: z.string().optional(),\n})\n\n// Table component (v5.0.1)\nexport const TableColumnSchema = z.object({\n key: z.string().min(1),\n label: z.string(),\n sortable: z.boolean().optional(),\n width: z.string().optional(),\n})\n\nexport const TablePaginationSchema = z.object({\n currentPage: z.number().int().min(1),\n pageSize: z.number().int().min(1),\n totalRows: z.number().int().min(0),\n})\n\nexport const TableVirtualizeOptionsSchema = z.object({\n enabled: z.boolean().optional(),\n rowHeight: z.number().int().min(1).optional(),\n overscan: z.number().int().min(0).optional(),\n threshold: z.number().int().min(1).optional(),\n})\n\nexport const TableExportableSchema = z.union([\n z.boolean(),\n z.object({\n formats: z.array(z.enum(['csv', 'tsv', 'json'])).optional(),\n filename: z.string().optional(),\n }),\n])\n\nexport const TableComponentParamsSchema = z.object({\n title: z.string().optional(),\n columns: z.array(TableColumnSchema).min(1),\n rows: z.array(z.record(z.unknown())),\n pagination: TablePaginationSchema.optional(),\n virtualize: z.union([z.boolean(), TableVirtualizeOptionsSchema]).optional(),\n exportable: TableExportableSchema.optional(),\n className: z.string().optional(),\n})\n\n// Metric component (v5.0.1)\nexport const MetricTrendSchema = z.object({\n value: z.number(),\n direction: z.enum(['up', 'down', 'neutral']),\n})\n\nexport const MetricComponentParamsSchema = z.object({\n title: z.string().min(1),\n value: z.union([z.string(), z.number()]),\n unit: z.string().optional(),\n trend: MetricTrendSchema.optional(),\n subtitle: z.string().optional(),\n icon: z.string().optional(),\n className: z.string().optional(),\n})\n\n// Text component (v5.0.1)\nexport const TextComponentParamsSchema = z.object({\n content: z.string().min(1),\n markdown: z.boolean().optional(),\n className: z.string().optional(),\n})\n\n// Iframe component (v5.0.1) — domain whitelist stays in mcp-ui-solid (security)\nexport const IframeComponentParamsSchema = z.object({\n url: z.string().min(1),\n title: z.string().optional(),\n height: z.string().optional(),\n className: z.string().optional(),\n})\n\n// Image component (v5.0.1)\nexport const ImageComponentParamsSchema = z.object({\n url: z.string().min(1),\n alt: z.string().optional(),\n caption: z.string().optional(),\n className: z.string().optional(),\n})\n\n// Link component (v5.0.1)\nexport const LinkComponentParamsSchema = z.object({\n url: z.string().min(1),\n label: z.string().optional(),\n description: z.string().optional(),\n className: z.string().optional(),\n})\n\n// Carousel component (v5.0.1)\n// `items` are UIComponent values that are validated recursively by the\n// renderer — kept opaque here to avoid a circular schema reference.\nexport const CarouselComponentParamsSchema = z.object({\n items: z.array(z.unknown()).min(1),\n height: z.string().optional(),\n className: z.string().optional(),\n})\n\n// Artifact component (v5.0.1)\nexport const ArtifactComponentParamsSchema = z.object({\n url: z.string().min(1),\n filename: z.string().min(1),\n mimeType: z.string().min(1),\n size: z.number().int().min(0).optional(),\n description: z.string().optional(),\n})\n\n// Sandbox flags\nexport const SandboxFlagSchema = z.enum([\n 'allow-scripts',\n 'allow-same-origin',\n 'allow-forms',\n 'allow-popups',\n 'allow-modals',\n])\n\n// Security constraints\nexport const SecurityConstraintsSchema = z.object({\n requiresAuth: z.boolean().default(false).optional(),\n allowedDomains: z.array(z.string()).optional(),\n maxIframeDepth: z.number().int().min(0).max(3).default(1).optional(),\n sandboxFlags: z.array(SandboxFlagSchema).optional(),\n})\n\n// Performance constraints\nexport const PerformanceConstraintsSchema = z.object({\n maxRenderTime: z.number().int().min(100).default(5000).optional(),\n maxDataSize: z.number().int().min(1024).default(102400).optional(),\n})\n\n// Component schema (JSON Schema definition)\nexport const ComponentSchemaSchema = z.object({\n type: z.literal('object'),\n required: z.array(z.string()).optional(),\n properties: z.record(z.unknown()),\n additionalProperties: z.boolean().optional(),\n})\n\n// Component example\nexport const ComponentExampleSchema = z.object({\n name: z.string().min(1),\n description: z.string().optional(),\n params: z.record(z.unknown()),\n position: GridPositionSchema.optional(),\n})\n\n// Component definition\nexport const ComponentSchema = z.object({\n id: z.string().regex(/^[a-z0-9-]+$/),\n type: ComponentTypeSchema,\n name: z.string().min(1),\n description: z.string().optional(),\n schema: ComponentSchemaSchema,\n examples: z.array(ComponentExampleSchema).min(1),\n security: SecurityConstraintsSchema.optional(),\n performance: PerformanceConstraintsSchema.optional(),\n tags: z.array(z.string().regex(/^[a-z0-9-]+$/)).optional(),\n version: z\n .string()\n .regex(/^\\d+\\.\\d+\\.\\d+$/)\n .optional(),\n deprecated: z.boolean().default(false).optional(),\n deprecationMessage: z.string().optional(),\n})\n\n// Registry metadata\nexport const RegistryMetadataSchema = z.object({\n name: z.string().optional(),\n description: z.string().optional(),\n author: z.string().optional(),\n repository: z.string().url().optional(),\n})\n\n// Component registry\nexport const ComponentRegistrySchema = z.object({\n version: z.literal('1.0.0'),\n metadata: RegistryMetadataSchema.optional(),\n components: z.array(ComponentSchema).min(1),\n})\n\n// Export types inferred from schemas\nexport type ComponentRegistry = z.infer<typeof ComponentRegistrySchema>\nexport type Component = z.infer<typeof ComponentSchema>\nexport type ComponentExample = z.infer<typeof ComponentExampleSchema>\nexport type GridPosition = z.infer<typeof GridPositionSchema>\nexport type SecurityConstraints = z.infer<typeof SecurityConstraintsSchema>\nexport type PerformanceConstraints = z.infer<typeof PerformanceConstraintsSchema>\nexport type ComponentType = z.infer<typeof ComponentTypeSchema>\nexport type SandboxFlag = z.infer<typeof SandboxFlagSchema>\n\n// Form types (Sprint 1)\nexport type FormFieldOption = z.infer<typeof FormFieldOptionSchema>\nexport type FormFieldType = z.infer<typeof FormFieldTypeSchema>\nexport type FormField = z.infer<typeof FormFieldSchema>\nexport type FormSubmitAction = z.infer<typeof FormSubmitActionSchema>\nexport type FormComponentParams = z.infer<typeof FormComponentParamsSchema>\nexport type PrefillSource = z.infer<typeof PrefillSourceSchema>\n\n// Conditional field types (Sprint 2)\nexport type ShowWhenOperator = z.infer<typeof ShowWhenOperatorSchema>\nexport type ShowWhenCondition = z.infer<typeof ShowWhenConditionSchema>\n\n// Modal types (Sprint 3)\nexport type ModalSize = z.infer<typeof ModalSizeSchema>\nexport type ModalComponentParams = z.infer<typeof ModalComponentParamsSchema>\n\n// Action group types (Sprint 3)\nexport type ActionGroupLayout = z.infer<typeof ActionGroupLayoutSchema>\nexport type ActionGroupGap = z.infer<typeof ActionGroupGapSchema>\nexport type ActionParams = z.infer<typeof ActionParamsSchema>\nexport type ActionGroupParams = z.infer<typeof ActionGroupParamsSchema>\n\n// Image gallery types (Sprint 5)\nexport type GalleryImage = z.infer<typeof GalleryImageSchema>\nexport type ImageGalleryGap = z.infer<typeof ImageGalleryGapSchema>\nexport type ImageGalleryAspectRatio = z.infer<typeof ImageGalleryAspectRatioSchema>\nexport type ImageGalleryParams = z.infer<typeof ImageGalleryParamsSchema>\n\n// Video types (Sprint 5)\nexport type VideoAspectRatio = z.infer<typeof VideoAspectRatioSchema>\nexport type VideoComponentParams = z.infer<typeof VideoComponentParamsSchema>\n\n// Code types (Sprint 6)\nexport type CodeComponentParams = z.infer<typeof CodeComponentParamsSchema>\n\n// Map types (Sprint 6)\nexport type MapMarker = z.infer<typeof MapMarkerSchema>\nexport type MapComponentParams = z.infer<typeof MapComponentParamsSchema>\n\n// Primitive component params types (v5.0.1)\nexport type ChartType = z.infer<typeof ChartTypeSchema>\nexport type ChartDataset = z.infer<typeof ChartDatasetSchema>\nexport type ChartTimeAxis = z.infer<typeof ChartTimeAxisSchema>\nexport type ChartComponentParams = z.infer<typeof ChartComponentParamsSchema>\nexport type TableColumn = z.infer<typeof TableColumnSchema>\nexport type TablePagination = z.infer<typeof TablePaginationSchema>\nexport type TableVirtualizeOptions = z.infer<typeof TableVirtualizeOptionsSchema>\nexport type TableExportable = z.infer<typeof TableExportableSchema>\nexport type TableComponentParams = z.infer<typeof TableComponentParamsSchema>\nexport type MetricTrend = z.infer<typeof MetricTrendSchema>\nexport type MetricComponentParams = z.infer<typeof MetricComponentParamsSchema>\nexport type TextComponentParams = z.infer<typeof TextComponentParamsSchema>\nexport type IframeComponentParams = z.infer<typeof IframeComponentParamsSchema>\nexport type ImageComponentParams = z.infer<typeof ImageComponentParamsSchema>\nexport type LinkComponentParams = z.infer<typeof LinkComponentParamsSchema>\nexport type CarouselComponentParams = z.infer<typeof CarouselComponentParamsSchema>\nexport type ArtifactComponentParams = z.infer<typeof ArtifactComponentParamsSchema>\n"],"names":[],"mappings":"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"}
|