@seed-ship/mcp-ui-solid 6.6.1 → 6.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/dist/adapters/index.d.ts +2 -1
  3. package/dist/adapters/index.d.ts.map +1 -1
  4. package/dist/adapters/macro-run.cjs +226 -0
  5. package/dist/adapters/macro-run.cjs.map +1 -0
  6. package/dist/adapters/macro-run.d.ts +65 -0
  7. package/dist/adapters/macro-run.d.ts.map +1 -0
  8. package/dist/adapters/macro-run.js +226 -0
  9. package/dist/adapters/macro-run.js.map +1 -0
  10. package/dist/adapters.cjs +3 -0
  11. package/dist/adapters.cjs.map +1 -1
  12. package/dist/adapters.d.cts +2 -1
  13. package/dist/adapters.d.ts +2 -1
  14. package/dist/adapters.js +4 -1
  15. package/dist/adapters.js.map +1 -1
  16. package/dist/mcp-ui-spec/dist/schemas.cjs +250 -1
  17. package/dist/mcp-ui-spec/dist/schemas.cjs.map +1 -1
  18. package/dist/mcp-ui-spec/dist/schemas.js +251 -2
  19. package/dist/mcp-ui-spec/dist/schemas.js.map +1 -1
  20. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.cjs +2 -0
  21. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.cjs.map +1 -1
  22. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js +2 -0
  23. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js.map +1 -1
  24. package/dist/services/validation.cjs +11 -2
  25. package/dist/services/validation.cjs.map +1 -1
  26. package/dist/services/validation.d.ts.map +1 -1
  27. package/dist/services/validation.js +11 -2
  28. package/dist/services/validation.js.map +1 -1
  29. package/dist/types/index.d.ts +1 -1
  30. package/dist/types.d.cts +1 -1
  31. package/dist/types.d.ts +1 -1
  32. package/package.json +2 -2
  33. package/src/adapters/index.ts +4 -5
  34. package/src/adapters/macro-run.test.ts +293 -0
  35. package/src/adapters/macro-run.ts +362 -0
  36. package/src/services/validation.test.ts +79 -1
  37. package/src/services/validation.ts +10 -1
  38. package/src/types/index.ts +1 -1
  39. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"macro-run.js","sources":["../../src/adapters/macro-run.ts"],"sourcesContent":["/**\n * MacroRun adapters — `MacroRunV1` / `MacroInterrogationV1` → MCP-UI render\n * primitives.\n *\n * @since v6.7.0 (MacroRun Phase 2 — contract consolidated in deposium_MCPs\n * `docs/2026/briefs/2026-05-22-macro-run-runtime-contract-consolidation.md`)\n *\n * ## Opt-in, pure\n *\n * Published under the dedicated subpath `@seed-ship/mcp-ui-solid/adapters` —\n * never imported by the core renderer path. Every function here is a **pure\n * function**: same input → same output, no `fetch`, no SSE listener, no\n * persistence, no global state, no clock, no randomness.\n *\n * ## Scope boundary\n *\n * These adapters only translate the agnostic `MacroRunV1` contract (defined\n * in `@seed-ship/mcp-ui-spec`) into existing MCP-UI primitives — a\n * `ScratchpadState` and a `ChatPromptConfig`. They do NOT:\n *\n * - emit or consume any SSE event (a `macro_run_snapshot` producer is a\n * separate, later goal on the producing runtime repo);\n * - perform any fetch, persistence or resume;\n * - know anything about a specific runtime, host, corpus or domain;\n * - touch the `action:'submit'` executors, nor mix MacroRun with the\n * existing tool-call action path.\n *\n * The host owns all of the above — it feeds a `MacroRunV1` snapshot in and\n * decides where to render the result.\n */\n\nimport type { MacroRunV1, MacroStepV1, MacroInterrogationV1 } from '@seed-ship/mcp-ui-spec';\nimport type {\n ScratchpadState,\n ScratchpadSection,\n ChatPromptConfig,\n ChoiceOption,\n ConfirmPromptConfig,\n AgentCardContent,\n SplitStepperContent,\n ElicitationRequestedSchema,\n FormPromptConfig,\n} from '../types/chat-bus';\nimport { elicitationToPromptConfig } from '../services/chat-bus';\n\n// ─── Status mappings ─────────────────────────────────────────\n\n/**\n * Run status → top-level `ScratchpadState` status. `aborted` and `failed`\n * both surface as `error` (an aborted run is additionally non-retryable —\n * see `buildError`).\n */\nconst RUN_STATUS_TO_SCRATCHPAD: Record<MacroRunV1['status'], ScratchpadState['status']> = {\n pending: 'loading',\n running: 'processing',\n awaiting_input: 'waiting_human',\n completed: 'complete',\n failed: 'error',\n aborted: 'error',\n};\n\n/** Run status → `AgentCardContent` status, used when the run carries no agent. */\nfunction runStatusToAgentStatus(status: MacroRunV1['status']): AgentCardContent['status'] {\n switch (status) {\n case 'pending':\n return 'idle';\n case 'running':\n return 'running';\n case 'awaiting_input':\n return 'waiting';\n case 'completed':\n return 'done';\n case 'failed':\n case 'aborted':\n return 'error';\n }\n}\n\n/**\n * Step status → stepper status. The MCP-UI stepper primitive renders\n * `failed` as `error`; every other value passes through unchanged.\n */\nfunction stepToStepperStatus(\n status: MacroStepV1['status']\n): 'pending' | 'active' | 'done' | 'skipped' | 'error' {\n return status === 'failed' ? 'error' : status;\n}\n\n// ─── Section builders ────────────────────────────────────────\n\ninterface StepperSectionContent {\n steps: Array<{\n id: string;\n label: string;\n status: 'pending' | 'active' | 'done' | 'skipped' | 'error';\n summary?: string;\n duration_ms?: number;\n }>;\n orientation: 'horizontal' | 'vertical';\n}\n\nfunction buildAgentCard(run: MacroRunV1): AgentCardContent {\n const agent = run.agent;\n const card: AgentCardContent = {\n agentId: agent?.id ?? run.macroId,\n name: agent?.name ?? run.macroName ?? run.macroId,\n status: agent?.status ?? runStatusToAgentStatus(run.status),\n };\n if (agent?.avatar) card.avatar = agent.avatar;\n if (agent?.capabilities) card.capabilities = agent.capabilities;\n if (agent?.currentStep) card.currentStep = agent.currentStep;\n return card;\n}\n\nfunction buildStepperContent(steps: MacroStepV1[]): StepperSectionContent {\n return {\n orientation: 'horizontal',\n steps: steps.map((step) => {\n const out: StepperSectionContent['steps'][number] = {\n id: step.id,\n label: step.label,\n status: stepToStepperStatus(step.status),\n };\n if (step.summary) out.summary = step.summary;\n if (typeof step.durationMs === 'number') out.duration_ms = step.durationMs;\n return out;\n }),\n };\n}\n\n/** Collapse a set of sub-step statuses into a single parallel-lane status. */\nfunction laneStatus(subSteps: MacroStepV1[]): 'done' | 'active' | 'pending' | 'error' {\n if (subSteps.some((s) => s.status === 'failed')) return 'error';\n if (subSteps.some((s) => s.status === 'active')) return 'active';\n if (subSteps.length > 0 && subSteps.every((s) => s.status === 'done' || s.status === 'skipped'))\n return 'done';\n return 'pending';\n}\n\n/**\n * Build a `split_stepper` content from steps that carry `parallel` branches.\n * Each top-level step becomes a lane: a step with `parallel` sub-steps shows\n * those sub-steps; a step without falls back to a single-step lane.\n */\nfunction buildSplitStepperContent(steps: MacroStepV1[]): SplitStepperContent {\n return {\n agents: steps.map((step) => {\n const subSteps = step.parallel && step.parallel.length > 0 ? step.parallel : [step];\n return {\n id: step.id,\n name: step.label,\n status: laneStatus(subSteps),\n steps: subSteps.map((sub) => ({\n id: sub.id,\n label: sub.label,\n status: stepToStepperStatus(sub.status),\n })),\n };\n }),\n };\n}\n\n/** Component `type` → the closest `ScratchpadSection` type for a result. */\nfunction resultSectionType(componentType: unknown): ScratchpadSection['type'] {\n switch (componentType) {\n case 'chart':\n return 'chart';\n case 'map':\n return 'map';\n case 'table':\n return 'data_preview';\n default:\n return 'data';\n }\n}\n\nfunction buildError(run: MacroRunV1): ScratchpadState['error'] | undefined {\n if (run.status !== 'failed' && run.status !== 'aborted') return undefined;\n const aborted = run.status === 'aborted';\n if (run.error) {\n const err: NonNullable<ScratchpadState['error']> = {\n message: run.error.message,\n // An aborted run is never retryable, regardless of the producer flag.\n retryable: aborted ? false : (run.error.retryable ?? false),\n };\n if (run.error.code) err.code = run.error.code;\n return err;\n }\n return {\n message: aborted ? 'Macro run aborted.' : 'Macro run failed.',\n retryable: false,\n };\n}\n\n// ─── macroRunToScratchpadState ───────────────────────────────\n\n/**\n * Convert a `MacroRunV1` snapshot into a `ScratchpadState`.\n *\n * Sections produced, in order:\n * 1. `agent_card` — always (derived from `run.agent`, or from the macro\n * identity when the run carries no agent, e.g. a non-interactive macro).\n * 2. `stepper` — when the run has steps and none carry `parallel` branches.\n * `split_stepper` instead when any step carries `parallel` (future model).\n * 3. `prompt` — when `run.pendingInterrogation` is set; its content is the\n * `ChatPromptConfig` produced by {@link macroInterrogationToChatPromptConfig}.\n * 4. one section per `run.results` entry (`chart` / `map` / `data_preview` /\n * `data`, by component type). Optional — the adapter works without results.\n *\n * Pure: no fetch, no SSE, no persistence. The host owns all wiring.\n */\nexport function macroRunToScratchpadState(run: MacroRunV1): ScratchpadState {\n const sections: ScratchpadSection[] = [];\n\n // 1. Agent card — always present.\n sections.push({\n id: 'macro-agent',\n title: 'Agent',\n type: 'agent_card',\n content: buildAgentCard(run),\n editable: false,\n source: 'agent',\n });\n\n // 2. Stepper / split_stepper — when there are steps.\n if (run.steps.length > 0) {\n const hasParallel = run.steps.some((s) => Array.isArray(s.parallel) && s.parallel.length > 0);\n sections.push(\n hasParallel\n ? {\n id: 'macro-split-stepper',\n title: 'Progress',\n type: 'split_stepper',\n content: buildSplitStepperContent(run.steps),\n editable: false,\n source: 'agent',\n }\n : {\n id: 'macro-stepper',\n title: 'Progress',\n type: 'stepper',\n content: buildStepperContent(run.steps),\n editable: false,\n source: 'agent',\n }\n );\n }\n\n // 3. Pending interrogation → a `prompt` section.\n if (run.pendingInterrogation) {\n sections.push({\n id: 'macro-prompt',\n title: run.pendingInterrogation.title,\n type: 'prompt',\n content: macroInterrogationToChatPromptConfig(run.pendingInterrogation),\n editable: false,\n source: 'agent',\n });\n }\n\n // 4. Result components → one section each (results are optional). A result\n // is a `UIComponent`-shaped object — passthrough, read loosely (the spec\n // validates the run envelope, the renderer validates each component).\n const results = run.results ?? [];\n results.forEach((component, index) => {\n sections.push({\n id: `macro-result-${String(component?.id ?? index)}`,\n title: 'Result',\n type: resultSectionType(component?.type),\n content: component,\n editable: false,\n source: 'agent',\n });\n });\n\n const state: ScratchpadState = {\n id: run.runId,\n title: run.title ?? run.macroName ?? run.macroId,\n sections,\n filters: {},\n agentMessages: [],\n status: RUN_STATUS_TO_SCRATCHPAD[run.status],\n };\n\n const error = buildError(run);\n if (error) state.error = error;\n\n return state;\n}\n\n// ─── macroInterrogationToChatPromptConfig ────────────────────\n\nfunction isElicitationSchema(value: unknown): value is ElicitationRequestedSchema {\n if (typeof value !== 'object' || value === null) return false;\n const v = value as { type?: unknown; properties?: unknown };\n return v.type === 'object' && typeof v.properties === 'object' && v.properties !== null;\n}\n\n/**\n * Convert a `MacroInterrogationV1` into a `ChatPromptConfig`.\n *\n * - `choice` → `{ type: 'choice' }` (vertical layout).\n * - `confirm` → `{ type: 'confirm' }`.\n * - `form` → `{ type: 'form' }` (the opaque `fields` are passed through).\n * - `elicitation` → routed through the existing `elicitationToPromptConfig()`\n * helper. If the interrogation carries no usable elicitation JSON Schema,\n * it degrades to a `confirm` prompt rather than throwing.\n *\n * Always returns a `ChatPromptConfig` — never an `ElicitationEvent` — so the\n * host has a single entry point. Usable standalone or via\n * {@link macroRunToScratchpadState} (which calls it for an embedded\n * `pendingInterrogation`).\n */\nexport function macroInterrogationToChatPromptConfig(q: MacroInterrogationV1): ChatPromptConfig {\n switch (q.kind) {\n case 'choice': {\n const options: ChoiceOption[] = (q.options ?? []).map((o) => {\n const opt: ChoiceOption = { value: o.value, label: o.label };\n if (o.icon) opt.icon = o.icon;\n if (o.description) opt.description = o.description;\n if (o.metadata) opt.metadata = o.metadata;\n return opt;\n });\n return {\n type: 'choice',\n title: q.title,\n config: { options, layout: 'vertical' },\n };\n }\n\n case 'confirm': {\n const config: ConfirmPromptConfig = {};\n if (q.message) config.message = q.message;\n if (q.confirm?.confirmLabel) config.confirmLabel = q.confirm.confirmLabel;\n if (q.confirm?.cancelLabel) config.cancelLabel = q.confirm.cancelLabel;\n if (q.confirm?.variant) config.variant = q.confirm.variant;\n return { type: 'confirm', title: q.title, config };\n }\n\n case 'form':\n return {\n type: 'form',\n title: q.title,\n config: { fields: (q.fields ?? []) as FormPromptConfig['fields'] },\n };\n\n case 'elicitation': {\n if (isElicitationSchema(q.elicitationSchema)) {\n return elicitationToPromptConfig({\n message: q.message ?? q.title,\n requestedSchema: q.elicitationSchema,\n });\n }\n // No usable schema — degrade gracefully instead of crashing.\n return {\n type: 'confirm',\n title: q.title,\n config: { message: q.message ?? 'Please confirm to continue.' },\n };\n }\n }\n}\n"],"names":[],"mappings":"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"}
package/dist/adapters.cjs CHANGED
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const connector = require("./adapters/connector.cjs");
4
+ const macroRun = require("./adapters/macro-run.cjs");
4
5
  exports.connectorActionsToActionGroup = connector.connectorActionsToActionGroup;
5
6
  exports.connectorResultToUILayout = connector.connectorResultToUILayout;
7
+ exports.macroInterrogationToChatPromptConfig = macroRun.macroInterrogationToChatPromptConfig;
8
+ exports.macroRunToScratchpadState = macroRun.macroRunToScratchpadState;
6
9
  //# sourceMappingURL=adapters.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapters.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
1
+ {"version":3,"file":"adapters.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -13,6 +13,7 @@
13
13
  * // → <UIResourceRenderer content={layout} />
14
14
  * ```
15
15
  */
16
- export { connectorResultToUILayout, connectorActionsToActionGroup, } from './connector';
16
+ export { connectorResultToUILayout, connectorActionsToActionGroup } from './connector';
17
17
  export type { ConnectorResultToUILayoutOptions, ConnectorActionsToActionGroupOptions, } from './connector';
18
+ export { macroRunToScratchpadState, macroInterrogationToChatPromptConfig } from './macro-run';
18
19
  //# sourceMappingURL=index.d.ts.map
@@ -13,6 +13,7 @@
13
13
  * // → <UIResourceRenderer content={layout} />
14
14
  * ```
15
15
  */
16
- export { connectorResultToUILayout, connectorActionsToActionGroup, } from './connector';
16
+ export { connectorResultToUILayout, connectorActionsToActionGroup } from './connector';
17
17
  export type { ConnectorResultToUILayoutOptions, ConnectorActionsToActionGroupOptions, } from './connector';
18
+ export { macroRunToScratchpadState, macroInterrogationToChatPromptConfig } from './macro-run';
18
19
  //# sourceMappingURL=index.d.ts.map
package/dist/adapters.js CHANGED
@@ -1,6 +1,9 @@
1
1
  import { connectorActionsToActionGroup, connectorResultToUILayout } from "./adapters/connector.js";
2
+ import { macroInterrogationToChatPromptConfig, macroRunToScratchpadState } from "./adapters/macro-run.js";
2
3
  export {
3
4
  connectorActionsToActionGroup,
4
- connectorResultToUILayout
5
+ connectorResultToUILayout,
6
+ macroInterrogationToChatPromptConfig,
7
+ macroRunToScratchpadState
5
8
  };
6
9
  //# sourceMappingURL=adapters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapters.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"adapters.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -252,6 +252,99 @@ const MapMarkerSchema = types.object({
252
252
  tooltip: types.string().optional(),
253
253
  popup: types.string().optional()
254
254
  });
255
+ const GeoJSONPositionSchema = types.array(types.number()).min(2);
256
+ const GeoJSONCoordinatesSchema = types.union([
257
+ GeoJSONPositionSchema,
258
+ types.array(GeoJSONPositionSchema),
259
+ types.array(types.array(GeoJSONPositionSchema)),
260
+ types.array(types.array(types.array(GeoJSONPositionSchema)))
261
+ ]);
262
+ const GeoJSONGeometryTypeSchema = types.enum([
263
+ "Point",
264
+ "MultiPoint",
265
+ "LineString",
266
+ "MultiLineString",
267
+ "Polygon",
268
+ "MultiPolygon",
269
+ "GeometryCollection"
270
+ ]);
271
+ const GeoJSONSimpleGeometrySchema = types.object({
272
+ type: GeoJSONGeometryTypeSchema,
273
+ coordinates: GeoJSONCoordinatesSchema.optional(),
274
+ bbox: types.array(types.number()).optional()
275
+ });
276
+ const GeoJSONGeometrySchema = types.object({
277
+ type: GeoJSONGeometryTypeSchema,
278
+ coordinates: GeoJSONCoordinatesSchema.optional(),
279
+ geometries: types.array(GeoJSONSimpleGeometrySchema).optional(),
280
+ bbox: types.array(types.number()).optional()
281
+ });
282
+ const GeoJSONFeatureSchema = types.object({
283
+ type: types.literal("Feature"),
284
+ geometry: GeoJSONGeometrySchema.nullable(),
285
+ properties: types.record(types.unknown()).nullable().optional(),
286
+ id: types.union([types.string(), types.number()]).optional(),
287
+ bbox: types.array(types.number()).optional()
288
+ });
289
+ const GeoJSONFeatureCollectionSchema = types.object({
290
+ type: types.literal("FeatureCollection"),
291
+ features: types.array(GeoJSONFeatureSchema),
292
+ bbox: types.array(types.number()).optional()
293
+ });
294
+ const GeoJSONSchema = types.union([
295
+ GeoJSONFeatureCollectionSchema,
296
+ GeoJSONFeatureSchema,
297
+ GeoJSONGeometrySchema
298
+ ]);
299
+ const MapGeoJSONStyleSchema = types.object({
300
+ fillColor: types.string().optional(),
301
+ fillOpacity: types.number().optional(),
302
+ strokeColor: types.string().optional(),
303
+ strokeWeight: types.number().optional(),
304
+ strokeOpacity: types.number().optional(),
305
+ choroplethField: types.string().optional(),
306
+ choroplethScale: types.array(types.tuple([types.number(), types.string()])).optional(),
307
+ choroplethFallback: types.string().optional()
308
+ });
309
+ const MapPopupConfigSchema = types.object({
310
+ titleField: types.string().optional(),
311
+ fields: types.array(types.string()).optional(),
312
+ template: types.string().optional()
313
+ });
314
+ const MapLayerSchema = types.object({
315
+ name: types.string().min(1),
316
+ visible: types.boolean().optional(),
317
+ geojson: GeoJSONSchema,
318
+ style: MapGeoJSONStyleSchema.optional(),
319
+ popup: MapPopupConfigSchema.optional()
320
+ });
321
+ const MapClusterOptionsSchema = types.object({
322
+ maxClusterRadius: types.number().optional(),
323
+ spiderfyOnMaxZoom: types.boolean().optional(),
324
+ showCoverageOnHover: types.boolean().optional(),
325
+ disableClusteringAtZoom: types.number().optional(),
326
+ animateAddingMarkers: types.boolean().optional()
327
+ });
328
+ const MapPMTilesPaintRuleSchema = types.object({
329
+ dataLayer: types.string(),
330
+ symbolizer: types.enum(["polygon", "line", "circle"]),
331
+ color: types.string().optional(),
332
+ width: types.number().optional(),
333
+ opacity: types.number().optional()
334
+ });
335
+ const MapPMTilesLabelRuleSchema = types.object({
336
+ dataLayer: types.string(),
337
+ textField: types.string(),
338
+ fontSize: types.number().optional()
339
+ });
340
+ const MapPMTilesConfigSchema = types.object({
341
+ url: types.string(),
342
+ attribution: types.string().optional(),
343
+ paintRules: types.array(MapPMTilesPaintRuleSchema).optional(),
344
+ labelRules: types.array(MapPMTilesLabelRuleSchema).optional(),
345
+ maxZoom: types.number().optional(),
346
+ minZoom: types.number().optional()
347
+ });
255
348
  const MapComponentParamsSchema = types.object({
256
349
  center: LatLngPointSchema.optional(),
257
350
  zoom: types.number().optional(),
@@ -261,7 +354,18 @@ const MapComponentParamsSchema = types.object({
261
354
  zoomControl: types.boolean().optional(),
262
355
  scrollWheelZoom: types.boolean().optional(),
263
356
  tileLayer: types.string().optional(),
264
- attribution: types.string().optional()
357
+ attribution: types.string().optional(),
358
+ className: types.string().optional(),
359
+ // GeoJSON layer (v5.2.0) — polygons / lines / points from structured data.
360
+ geojson: GeoJSONSchema.optional(),
361
+ geojsonStyle: MapGeoJSONStyleSchema.optional(),
362
+ popup: MapPopupConfigSchema.optional(),
363
+ // Multiple named GeoJSON overlays with a Leaflet layer control (v5.2.0).
364
+ layers: types.array(MapLayerSchema).optional(),
365
+ // Marker clustering — `true` for defaults, or an options object (v5.2.0).
366
+ clustering: types.union([types.boolean(), MapClusterOptionsSchema]).optional(),
367
+ // PMTiles vector-tile source for large datasets (v5.2.0).
368
+ pmtiles: MapPMTilesConfigSchema.optional()
265
369
  });
266
370
  const GraphNodeSchema = types.object({
267
371
  id: types.string().min(1),
@@ -641,6 +745,125 @@ types.object({
641
745
  /** Free-text comment. */
642
746
  comment: types.string().optional()
643
747
  });
748
+ const MACRO_RUN_V1 = "macro-run/v1";
749
+ const MACRO_INTERROGATION_V1 = "macro-interrogation/v1";
750
+ const MacroRunStatusSchema = types.enum([
751
+ "pending",
752
+ "running",
753
+ "awaiting_input",
754
+ "completed",
755
+ "failed",
756
+ "aborted"
757
+ ]);
758
+ const MacroStepStatusSchema = types.enum(["pending", "active", "done", "skipped", "failed"]);
759
+ const MacroInvocationTypeSchema = types.enum([
760
+ "slash_command",
761
+ "natural_language",
762
+ "api_direct",
763
+ "pipeline",
764
+ "chat_stream"
765
+ ]);
766
+ const MacroStepV1Schema = types.lazy(
767
+ () => types.object({
768
+ id: types.string().min(1),
769
+ label: types.string(),
770
+ toolName: types.string().optional(),
771
+ status: MacroStepStatusSchema,
772
+ summary: types.string().optional(),
773
+ durationMs: types.number().optional(),
774
+ error: types.string().optional(),
775
+ resultRef: types.string().optional(),
776
+ parallel: types.array(MacroStepV1Schema).optional()
777
+ })
778
+ );
779
+ const MacroInterrogationOptionSchema = types.object({
780
+ value: types.string(),
781
+ label: types.string(),
782
+ icon: types.string().optional(),
783
+ description: types.string().optional(),
784
+ metadata: types.record(types.unknown()).optional()
785
+ });
786
+ const MacroInterrogationKindSchema = types.enum(["choice", "confirm", "form", "elicitation"]);
787
+ const MacroInterrogationV1Schema = types.object({
788
+ schemaVersion: types.literal(MACRO_INTERROGATION_V1),
789
+ interrogationId: types.string().min(1),
790
+ runId: types.string().min(1),
791
+ correlationId: types.string().optional(),
792
+ stepId: types.string().optional(),
793
+ /** Free-form tag describing what the run is blocked on. */
794
+ waitingFor: types.string().optional(),
795
+ kind: MacroInterrogationKindSchema,
796
+ title: types.string(),
797
+ message: types.string().optional(),
798
+ /** Options for a `choice` interrogation. */
799
+ options: types.array(MacroInterrogationOptionSchema).optional(),
800
+ /** Labels / variant for a `confirm` interrogation. */
801
+ confirm: types.object({
802
+ confirmLabel: types.string().optional(),
803
+ cancelLabel: types.string().optional(),
804
+ variant: types.enum(["default", "danger"]).optional()
805
+ }).optional(),
806
+ /** Opaque field list for a `form` interrogation (renderer-side shape). */
807
+ fields: types.array(types.unknown()).optional(),
808
+ /** Opaque MCP elicitation JSON Schema for an `elicitation` interrogation. */
809
+ elicitationSchema: types.unknown().optional(),
810
+ /** A pre-selected default the host may surface (e.g. timeout fallback). */
811
+ defaultChoice: types.object({
812
+ value: types.string(),
813
+ reason: types.string().optional()
814
+ }).optional(),
815
+ /** How the host resumes the run once answered — host-side, opaque to the lib. */
816
+ resume: types.object({
817
+ endpoint: types.string(),
818
+ mode: types.enum(["agent_resume", "legacy_chat_prompt", "macro_resume"])
819
+ }).optional(),
820
+ metadata: types.record(types.unknown()).optional()
821
+ });
822
+ const MacroRunAgentSchema = types.object({
823
+ id: types.string(),
824
+ name: types.string(),
825
+ avatar: types.string().optional(),
826
+ capabilities: types.array(types.string()).optional(),
827
+ status: types.enum(["idle", "running", "waiting", "done", "error"]).optional(),
828
+ currentStep: types.object({ id: types.string(), label: types.string() }).optional()
829
+ });
830
+ const MacroRunErrorSchema = types.object({
831
+ message: types.string(),
832
+ code: types.string().optional(),
833
+ stepId: types.string().optional(),
834
+ retryable: types.boolean().optional()
835
+ });
836
+ const MacroRunOutcomeSchema = types.object({
837
+ kind: types.enum(["verified_text", "briefing_diff", "agent_result", "raw"]),
838
+ content: types.unknown()
839
+ });
840
+ types.object({
841
+ schemaVersion: types.literal(MACRO_RUN_V1),
842
+ // Identity
843
+ runId: types.string().min(1),
844
+ correlationId: types.string().optional(),
845
+ macroId: types.string().min(1),
846
+ macroName: types.string().optional(),
847
+ macroVersion: types.string().optional(),
848
+ title: types.string().optional(),
849
+ invocationType: MacroInvocationTypeSchema.optional(),
850
+ // State
851
+ status: MacroRunStatusSchema,
852
+ startedAt: types.string().optional(),
853
+ updatedAt: types.string().optional(),
854
+ completedAt: types.string().optional(),
855
+ // Presentation
856
+ agent: MacroRunAgentSchema.optional(),
857
+ // Execution
858
+ steps: types.array(MacroStepV1Schema),
859
+ /** `UIComponent`-shaped results (passthrough). Optional — see header. */
860
+ results: types.array(types.record(types.unknown())).optional(),
861
+ pendingInterrogation: MacroInterrogationV1Schema.optional(),
862
+ error: MacroRunErrorSchema.optional(),
863
+ outcome: MacroRunOutcomeSchema.optional(),
864
+ variables: types.record(types.unknown()).optional(),
865
+ metadata: types.record(types.unknown()).optional()
866
+ });
644
867
  exports.ActionGroupGapSchema = ActionGroupGapSchema;
645
868
  exports.ActionGroupLayoutSchema = ActionGroupLayoutSchema;
646
869
  exports.ActionGroupParamsSchema = ActionGroupParamsSchema;
@@ -669,6 +892,13 @@ exports.FormFieldSchema = FormFieldSchema;
669
892
  exports.FormFieldTypeSchema = FormFieldTypeSchema;
670
893
  exports.FormSubmitActionSchema = FormSubmitActionSchema;
671
894
  exports.GalleryImageSchema = GalleryImageSchema;
895
+ exports.GeoJSONCoordinatesSchema = GeoJSONCoordinatesSchema;
896
+ exports.GeoJSONFeatureCollectionSchema = GeoJSONFeatureCollectionSchema;
897
+ exports.GeoJSONFeatureSchema = GeoJSONFeatureSchema;
898
+ exports.GeoJSONGeometrySchema = GeoJSONGeometrySchema;
899
+ exports.GeoJSONGeometryTypeSchema = GeoJSONGeometryTypeSchema;
900
+ exports.GeoJSONPositionSchema = GeoJSONPositionSchema;
901
+ exports.GeoJSONSchema = GeoJSONSchema;
672
902
  exports.GraphComponentParamsSchema = GraphComponentParamsSchema;
673
903
  exports.GraphEdgeSchema = GraphEdgeSchema;
674
904
  exports.GraphLayoutNameSchema = GraphLayoutNameSchema;
@@ -684,8 +914,27 @@ exports.LatLngObjectSchema = LatLngObjectSchema;
684
914
  exports.LatLngPointSchema = LatLngPointSchema;
685
915
  exports.LatLngTupleSchema = LatLngTupleSchema;
686
916
  exports.LinkComponentParamsSchema = LinkComponentParamsSchema;
917
+ exports.MACRO_INTERROGATION_V1 = MACRO_INTERROGATION_V1;
918
+ exports.MACRO_RUN_V1 = MACRO_RUN_V1;
919
+ exports.MacroInterrogationKindSchema = MacroInterrogationKindSchema;
920
+ exports.MacroInterrogationOptionSchema = MacroInterrogationOptionSchema;
921
+ exports.MacroInterrogationV1Schema = MacroInterrogationV1Schema;
922
+ exports.MacroInvocationTypeSchema = MacroInvocationTypeSchema;
923
+ exports.MacroRunAgentSchema = MacroRunAgentSchema;
924
+ exports.MacroRunErrorSchema = MacroRunErrorSchema;
925
+ exports.MacroRunOutcomeSchema = MacroRunOutcomeSchema;
926
+ exports.MacroRunStatusSchema = MacroRunStatusSchema;
927
+ exports.MacroStepStatusSchema = MacroStepStatusSchema;
928
+ exports.MacroStepV1Schema = MacroStepV1Schema;
929
+ exports.MapClusterOptionsSchema = MapClusterOptionsSchema;
687
930
  exports.MapComponentParamsSchema = MapComponentParamsSchema;
931
+ exports.MapGeoJSONStyleSchema = MapGeoJSONStyleSchema;
932
+ exports.MapLayerSchema = MapLayerSchema;
688
933
  exports.MapMarkerSchema = MapMarkerSchema;
934
+ exports.MapPMTilesConfigSchema = MapPMTilesConfigSchema;
935
+ exports.MapPMTilesLabelRuleSchema = MapPMTilesLabelRuleSchema;
936
+ exports.MapPMTilesPaintRuleSchema = MapPMTilesPaintRuleSchema;
937
+ exports.MapPopupConfigSchema = MapPopupConfigSchema;
689
938
  exports.MetricComponentParamsSchema = MetricComponentParamsSchema;
690
939
  exports.MetricTrendSchema = MetricTrendSchema;
691
940
  exports.ModalSizeSchema = ModalSizeSchema;
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.cjs","sources":["../../../../mcp-ui-spec/dist/schemas.js"],"sourcesContent":["import { z } from \"zod\";\nconst GridPositionSchema = z.object({\n colStart: z.number().int().min(1).max(12),\n colSpan: z.number().int().min(1).max(12),\n rowStart: z.number().int().min(1).optional(),\n rowSpan: z.number().int().min(1).default(1).optional()\n});\nconst ComponentTypeSchema = z.enum([\n \"chart\",\n \"table\",\n \"metric\",\n \"text\",\n \"composite\",\n \"grid\",\n // Phase 5.0: Nested grid layouts\n \"iframe\",\n \"image\",\n \"link\",\n \"action\",\n // Phase 5.0: Tool call actions\n \"footer\",\n // Phase 5.0: Metadata footer\n \"carousel\",\n \"artifact\",\n \"form\",\n // Sprint 1: Form component\n \"modal\",\n // Sprint 3: Modal/dialog component\n \"action-group\",\n // Sprint 3: Action grouping component\n \"image-gallery\",\n // Sprint 5: Image gallery with lightbox\n \"video\",\n // Sprint 5: Video embed (YouTube, Vimeo, direct)\n \"code\",\n // Sprint 6: Syntax highlighted code block\n \"map\",\n // Sprint 6: Interactive map (Leaflet)\n \"graph\"\n // v5.0.4: node-link graph (peer @antv/g6)\n]);\nconst FormFieldOptionSchema = z.object({\n label: z.string().min(1),\n value: z.string(),\n disabled: z.boolean().optional()\n});\nconst FormFieldTypeSchema = z.enum([\n \"text\",\n \"email\",\n \"password\",\n \"number\",\n \"date\",\n \"textarea\",\n \"select\",\n \"checkbox\",\n \"radio\",\n \"autocomplete\",\n \"range\",\n \"tags\",\n \"toggle\",\n \"fieldset\"\n]);\nconst ShowWhenOperatorSchema = z.enum([\n \"equals\",\n \"notEquals\",\n \"in\",\n \"notIn\",\n \"contains\",\n \"startsWith\",\n \"endsWith\",\n \"greaterThan\",\n \"lessThan\",\n \"isEmpty\",\n \"isNotEmpty\",\n \"isTrue\",\n \"isFalse\"\n]);\nconst ShowWhenConditionSchema = z.object({\n field: z.string().min(1),\n operator: ShowWhenOperatorSchema,\n value: z.any().optional()\n});\nconst PrefillSourceSchema = z.enum([\"user\", \"detected\", \"inferred\", \"default\"]);\nconst FormFieldSchema = z.object({\n name: z.string().regex(/^[a-zA-Z][\\w.-]*$/),\n type: FormFieldTypeSchema,\n label: z.string().optional(),\n placeholder: z.string().optional(),\n helpText: z.string().optional(),\n required: z.boolean().optional(),\n disabled: z.boolean().optional(),\n defaultValue: z.any().optional(),\n // Prefill — pre-populated value with source tracking (v4.2.0)\n prefill: z.union([z.string(), z.array(z.string())]).optional(),\n displayHint: z.string().optional(),\n source: PrefillSourceSchema.optional(),\n muted: z.boolean().optional(),\n // Prefill mode for autocomplete fields (v4.3.0)\n prefillMode: z.enum([\"exact\", \"resolve\"]).optional(),\n // Value format validation (v4.3.0)\n valueFormat: z.string().optional(),\n valueFormatHint: z.string().optional(),\n // Text/textarea specific\n minLength: z.number().int().min(0).optional(),\n maxLength: z.number().int().min(1).optional(),\n pattern: z.string().optional(),\n // Number specific\n min: z.number().optional(),\n max: z.number().optional(),\n step: z.number().optional(),\n // Date specific\n minDate: z.string().optional(),\n maxDate: z.string().optional(),\n // Select/Radio specific\n options: z.array(FormFieldOptionSchema).optional(),\n // Multi-select (v2.6.0)\n multiple: z.boolean().optional(),\n // Autocomplete specific (v2.6.0)\n apiUrl: z.string().url().optional(),\n searchParam: z.string().optional(),\n labelField: z.string().optional(),\n valueField: z.string().optional(),\n extraParams: z.record(z.string()).optional(),\n minChars: z.number().int().min(0).optional(),\n debounceMs: z.number().int().min(0).optional(),\n // Dependent field (v2.7.0)\n dependsOn: z.object({\n field: z.string(),\n apiUrl: z.string(),\n labelField: z.string(),\n valueField: z.string(),\n extraParams: z.record(z.string()).optional()\n }).optional(),\n // Field status — API capability indicator (v2.11.0)\n fieldStatus: z.enum([\"required\", \"optional\", \"unsupported\", \"unknown\"]).optional(),\n statusReason: z.string().optional(),\n // Checkbox specific\n checkboxLabel: z.string().optional(),\n // Textarea specific\n rows: z.number().int().min(1).max(20).optional(),\n // Conditional visibility\n showWhen: ShowWhenConditionSchema.optional()\n});\nconst FormSubmitActionSchema = z.object({\n toolName: z.string().min(1),\n params: z.record(z.unknown()).optional()\n});\nconst FormComponentParamsSchema = z.object({\n title: z.string().optional(),\n fields: z.array(FormFieldSchema).min(1),\n submitLabel: z.string().optional(),\n showReset: z.boolean().optional(),\n submitAction: FormSubmitActionSchema.optional(),\n // Persistence options (Sprint 4)\n persistKey: z.string().optional(),\n excludeFromPersistence: z.array(z.string()).optional(),\n persistExpiresIn: z.number().int().positive().optional(),\n layout: z.enum([\"vertical\", \"horizontal\", \"inline\"]).optional(),\n // Auto-submit countdown in ms when all required fields are prefilled (v4.2.0)\n autoSubmitDelay: z.number().int().min(1e3).max(3e4).optional()\n});\nconst ModalSizeSchema = z.enum([\"sm\", \"md\", \"lg\", \"xl\", \"full\"]);\nconst ModalComponentParamsSchema = z.object({\n title: z.string().optional(),\n size: ModalSizeSchema.optional(),\n showClose: z.boolean().optional(),\n closeOnEscape: z.boolean().optional(),\n closeOnBackdrop: z.boolean().optional(),\n maxHeight: z.string().optional()\n // Note: content and footer are UIComponent references, validated separately\n});\nconst ActionGroupLayoutSchema = z.enum([\n \"horizontal\",\n \"vertical\",\n \"space-between\",\n \"end\",\n \"center\"\n]);\nconst ActionGroupGapSchema = z.enum([\"none\", \"sm\", \"md\", \"lg\"]);\nconst ActionParamsSchema = z.object({\n label: z.string().min(1),\n type: z.enum([\"button\", \"link\"]).optional(),\n action: z.enum([\"tool-call\", \"link\", \"submit\"]).optional(),\n toolName: z.string().optional(),\n params: z.record(z.unknown()).optional(),\n url: z.string().optional(),\n variant: z.enum([\"primary\", \"secondary\", \"outline\", \"ghost\", \"danger\"]).optional(),\n size: z.enum([\"sm\", \"md\", \"lg\"]).optional(),\n icon: z.string().optional(),\n disabled: z.boolean().optional()\n});\nconst ActionGroupParamsSchema = z.object({\n actions: z.array(ActionParamsSchema).min(1),\n layout: ActionGroupLayoutSchema.optional(),\n gap: ActionGroupGapSchema.optional(),\n fullWidth: z.boolean().optional(),\n label: z.string().optional()\n});\nconst GalleryImageSchema = z.object({\n url: z.string().url(),\n thumbnail: z.string().url().optional(),\n alt: z.string().optional(),\n caption: z.string().optional(),\n srcset: z.string().optional(),\n sizes: z.string().optional()\n});\nconst ImageGalleryColumnsSchema = z.enum([\"2\", \"3\", \"4\", \"5\"]).transform(Number);\nconst ImageGalleryGapSchema = z.enum([\"none\", \"sm\", \"md\", \"lg\"]);\nconst ImageGalleryAspectRatioSchema = z.enum([\"1:1\", \"16:9\", \"4:3\", \"auto\"]);\nconst ImageGalleryParamsSchema = z.object({\n title: z.string().optional(),\n images: z.array(GalleryImageSchema).min(1),\n columns: z.union([z.literal(2), z.literal(3), z.literal(4), z.literal(5)]).optional(),\n gap: ImageGalleryGapSchema.optional(),\n aspectRatio: ImageGalleryAspectRatioSchema.optional(),\n lightbox: z.boolean().optional(),\n showCaptions: z.boolean().optional()\n});\nconst VideoAspectRatioSchema = z.enum([\"16:9\", \"4:3\", \"1:1\", \"21:9\"]);\nconst VideoComponentParamsSchema = z.object({\n url: z.string().url(),\n title: z.string().optional(),\n caption: z.string().optional(),\n poster: z.string().url().optional(),\n aspectRatio: VideoAspectRatioSchema.optional(),\n autoplay: z.boolean().optional(),\n controls: z.boolean().optional(),\n loop: z.boolean().optional(),\n muted: z.boolean().optional(),\n startTime: z.number().int().min(0).optional()\n});\nconst CodeComponentParamsSchema = z.object({\n code: z.string(),\n language: z.string().optional(),\n filename: z.string().optional(),\n showLineNumbers: z.boolean().optional(),\n startLine: z.number().optional(),\n highlightLines: z.array(z.number()).optional(),\n maxHeight: z.string().optional(),\n theme: z.enum([\"light\", \"dark\"]).optional()\n});\nconst LatLngObjectSchema = z.object({\n lat: z.number(),\n lng: z.number()\n});\nconst LatLngTupleSchema = z.tuple([z.number(), z.number()]);\nconst LatLngPointSchema = z.union([LatLngTupleSchema, LatLngObjectSchema]);\nconst MapMarkerSchema = z.object({\n position: LatLngPointSchema,\n tooltip: z.string().optional(),\n popup: z.string().optional()\n});\nconst MapComponentParamsSchema = z.object({\n center: LatLngPointSchema.optional(),\n zoom: z.number().optional(),\n markers: z.array(MapMarkerSchema).optional(),\n height: z.string().optional(),\n fitBounds: z.boolean().optional(),\n zoomControl: z.boolean().optional(),\n scrollWheelZoom: z.boolean().optional(),\n tileLayer: z.string().optional(),\n attribution: z.string().optional()\n});\nconst GraphNodeSchema = z.object({\n id: z.string().min(1),\n label: z.string().optional(),\n type: z.string().optional(),\n // G6 node type: 'circle' | 'rect' | 'image' | …\n size: z.union([z.number(), z.tuple([z.number(), z.number()])]).optional(),\n /**\n * Generic ranking / importance signal. Drives default node size when\n * `size` is omitted, and acts as the sort key for the `concentric`\n * layout (highest weight at center). Domain semantics opaque to the lib.\n */\n weight: z.number().optional(),\n style: z.record(z.unknown()).optional(),\n // passthrough G6 NodeStyle\n data: z.record(z.unknown()).optional()\n // arbitrary metadata for tooltips / click handlers\n});\nconst GraphEdgeSchema = z.object({\n source: z.string().min(1),\n // must match a node.id\n target: z.string().min(1),\n // must match a node.id\n label: z.string().optional(),\n type: z.string().optional(),\n // G6 edge type: 'line' | 'arc' | 'cubic' | 'polyline' | …\n /**\n * Generic strength signal. Drives default edge stroke width and acts\n * as attractive force in `force` layouts. Domain semantics opaque.\n */\n weight: z.number().optional(),\n style: z.record(z.unknown()).optional(),\n data: z.record(z.unknown()).optional()\n});\nconst GraphLayoutNameSchema = z.enum([\n \"force\",\n \"dagre\",\n \"mindmap\",\n \"tree\",\n \"circular\",\n \"grid\",\n \"concentric\"\n]);\nconst GraphLayoutSchema = z.union([\n GraphLayoutNameSchema,\n z.object({\n type: GraphLayoutNameSchema,\n options: z.record(z.unknown()).optional()\n })\n]);\nconst GraphComponentParamsSchema = z.object({\n title: z.string().optional(),\n nodes: z.array(GraphNodeSchema).min(1),\n edges: z.array(GraphEdgeSchema).optional(),\n /**\n * Layout shorthand string OR object form. When omitted, the renderer\n * picks a sensible default: `'force'` if edges are present, `'circular'`\n * otherwise.\n */\n layout: GraphLayoutSchema.optional(),\n height: z.string().optional(),\n // CSS length, default '400px'\n width: z.string().optional(),\n // CSS length, default '100%'\n rendererPref: z.enum([\"canvas\", \"svg\"]).optional(),\n // default 'canvas'\n fitView: z.boolean().optional(),\n // default true\n enableZoom: z.boolean().optional(),\n // default true\n enableDrag: z.boolean().optional(),\n // default true (drag nodes)\n enableSelect: z.boolean().optional(),\n // default true (click-select highlight)\n tooltip: z.boolean().optional(),\n // default true (label + data summary on hover)\n className: z.string().optional()\n});\nconst ChartTypeSchema = z.enum([\n \"bar\",\n \"line\",\n \"pie\",\n \"doughnut\",\n \"radar\",\n \"scatter\",\n \"bubble\",\n \"polarArea\"\n]);\nconst ChartDatasetSchema = z.object({\n label: z.string(),\n // Either an array of numbers or an array of {x, y} points (Chart.js shapes)\n data: z.union([\n z.array(z.number()),\n z.array(\n z.object({\n x: z.union([z.string(), z.number()]),\n y: z.number()\n })\n )\n ]),\n backgroundColor: z.union([z.string(), z.array(z.string())]).optional(),\n borderColor: z.union([z.string(), z.array(z.string())]).optional(),\n borderWidth: z.number().optional(),\n fill: z.union([z.boolean(), z.string()]).optional(),\n tension: z.number().optional()\n});\nconst ChartTimeAxisSchema = z.object({\n parser: z.string().optional(),\n unit: z.enum([\"day\", \"week\", \"month\", \"quarter\", \"year\"]).optional(),\n tooltipFormat: z.string().optional(),\n min: z.string().optional(),\n max: z.string().optional()\n});\nconst ChartComponentParamsSchema = z.object({\n type: ChartTypeSchema,\n title: z.string().optional(),\n data: z.object({\n labels: z.array(z.string()),\n datasets: z.array(ChartDatasetSchema)\n }),\n options: z.object({\n responsive: z.boolean().optional(),\n maintainAspectRatio: z.boolean().optional(),\n tension: z.number().optional(),\n // `scales` and `plugins` are Chart.js opaque config objects — kept loose\n scales: z.unknown().optional(),\n plugins: z.unknown().optional()\n }).optional(),\n renderer: z.enum([\"native\", \"iframe\", \"auto\"]).optional(),\n exportable: z.boolean().optional(),\n timeAxis: ChartTimeAxisSchema.optional(),\n height: z.string().optional(),\n className: z.string().optional()\n});\nconst TableColumnSchema = z.object({\n key: z.string().min(1),\n label: z.string(),\n sortable: z.boolean().optional(),\n width: z.string().optional()\n});\nconst TablePaginationSchema = z.object({\n currentPage: z.number().int().min(1),\n pageSize: z.number().int().min(1),\n totalRows: z.number().int().min(0)\n});\nconst TableVirtualizeOptionsSchema = z.object({\n enabled: z.boolean().optional(),\n rowHeight: z.number().int().min(1).optional(),\n overscan: z.number().int().min(0).optional(),\n threshold: z.number().int().min(1).optional()\n});\nconst TableExportableSchema = z.union([\n z.boolean(),\n z.object({\n formats: z.array(z.enum([\"csv\", \"tsv\", \"json\"])).optional(),\n filename: z.string().optional()\n })\n]);\nconst CitationEntrySchema = z.object({\n page: z.union([z.number(), z.string()]),\n file: z.string().optional(),\n file_id: z.union([z.number(), z.string()]).optional()\n});\nconst TableComponentParamsSchema = z.object({\n title: z.string().optional(),\n columns: z.array(TableColumnSchema).min(1),\n rows: z.array(z.record(z.unknown())),\n pagination: TablePaginationSchema.optional(),\n virtualize: z.union([z.boolean(), TableVirtualizeOptionsSchema]).optional(),\n exportable: TableExportableSchema.optional(),\n className: z.string().optional(),\n // v5.0.3 — opt-in citation chip rendering inside cells\n citationMap: z.record(z.string(), CitationEntrySchema).optional(),\n // v5.0.5 — opt-out of the inline-mode max-height cap. The library defaults\n // a `max-height: 400px` (or 500px when virtualizing) on tables with > 8\n // rows so they don't blow out a chat-stream layout. Pass `'auto'` to\n // disable the cap (when the consumer's wrapping container handles\n // overflow), a number (interpreted as `${n}px`), or any CSS length string\n // to override the value.\n maxHeight: z.union([z.literal(\"auto\"), z.number(), z.string()]).optional()\n});\nconst MetricTrendSchema = z.object({\n value: z.number(),\n direction: z.enum([\"up\", \"down\", \"neutral\"])\n});\nconst MetricComponentParamsSchema = z.object({\n title: z.string().min(1),\n value: z.union([z.string(), z.number()]),\n unit: z.string().optional(),\n trend: MetricTrendSchema.optional(),\n subtitle: z.string().optional(),\n icon: z.string().optional(),\n className: z.string().optional()\n});\nconst TextComponentParamsSchema = z.object({\n content: z.string().min(1),\n markdown: z.boolean().optional(),\n className: z.string().optional()\n});\nconst IframeComponentParamsSchema = z.object({\n url: z.string().min(1),\n title: z.string().optional(),\n height: z.string().optional(),\n className: z.string().optional()\n});\nconst ImageComponentParamsSchema = z.object({\n url: z.string().min(1),\n alt: z.string().optional(),\n caption: z.string().optional(),\n className: z.string().optional()\n});\nconst LinkComponentParamsSchema = z.object({\n url: z.string().min(1),\n label: z.string().optional(),\n description: z.string().optional(),\n className: z.string().optional()\n});\nconst CarouselComponentParamsSchema = z.object({\n items: z.array(z.unknown()).min(1),\n height: z.string().optional(),\n className: z.string().optional()\n});\nconst ArtifactComponentParamsSchema = z.object({\n url: z.string().min(1),\n filename: z.string().min(1),\n mimeType: z.string().min(1),\n size: z.number().int().min(0).optional(),\n description: z.string().optional()\n});\nconst SandboxFlagSchema = z.enum([\n \"allow-scripts\",\n \"allow-same-origin\",\n \"allow-forms\",\n \"allow-popups\",\n \"allow-modals\"\n]);\nconst SecurityConstraintsSchema = z.object({\n requiresAuth: z.boolean().default(false).optional(),\n allowedDomains: z.array(z.string()).optional(),\n maxIframeDepth: z.number().int().min(0).max(3).default(1).optional(),\n sandboxFlags: z.array(SandboxFlagSchema).optional()\n});\nconst PerformanceConstraintsSchema = z.object({\n maxRenderTime: z.number().int().min(100).default(5e3).optional(),\n maxDataSize: z.number().int().min(1024).default(102400).optional()\n});\nconst ComponentSchemaSchema = z.object({\n type: z.literal(\"object\"),\n required: z.array(z.string()).optional(),\n properties: z.record(z.unknown()),\n additionalProperties: z.boolean().optional()\n});\nconst ComponentExampleSchema = z.object({\n name: z.string().min(1),\n description: z.string().optional(),\n params: z.record(z.unknown()),\n position: GridPositionSchema.optional()\n});\nconst ComponentSchema = z.object({\n id: z.string().regex(/^[a-z0-9-]+$/),\n type: ComponentTypeSchema,\n name: z.string().min(1),\n description: z.string().optional(),\n schema: ComponentSchemaSchema,\n examples: z.array(ComponentExampleSchema).min(1),\n security: SecurityConstraintsSchema.optional(),\n performance: PerformanceConstraintsSchema.optional(),\n tags: z.array(z.string().regex(/^[a-z0-9-]+$/)).optional(),\n version: z.string().regex(/^\\d+\\.\\d+\\.\\d+$/).optional(),\n deprecated: z.boolean().default(false).optional(),\n deprecationMessage: z.string().optional()\n});\nconst RegistryMetadataSchema = z.object({\n name: z.string().optional(),\n description: z.string().optional(),\n author: z.string().optional(),\n repository: z.string().url().optional()\n});\nconst ComponentRegistrySchema = z.object({\n version: z.literal(\"1.0.0\"),\n metadata: RegistryMetadataSchema.optional(),\n components: z.array(ComponentSchema).min(1)\n});\nconst ConnectorFollowupSchema = z.object({\n /** Display text of the suggestion. */\n label: z.string().min(1),\n /** The follow-up query to run when the suggestion is picked. */\n query: z.string().optional(),\n /** Normalized intent of the follow-up query. */\n intent: z.string().optional(),\n /** What kind of follow-up this is — drives grouping / iconography. */\n kind: z.enum([\"refine\", \"compare\", \"expand\", \"clarify\"]).optional()\n});\nconst ConnectorActionSchema = ActionParamsSchema;\nconst ConnectorPreferredLayoutSchema = z.enum([\n \"table\",\n \"cards\",\n \"bar\",\n \"line\",\n \"doughnut\",\n \"map\",\n \"metric\"\n]);\nconst ConnectorRenderHintsSchema = z.object({\n /** Preferred top-level layout for `primary`. */\n preferredLayout: ConnectorPreferredLayoutSchema.optional(),\n /** Data domain — drives presets/examples, NOT the same axis as `intent`. */\n domain: z.enum([\"real_estate\", \"dpe\", \"pollution\", \"employment\", \"education\", \"health\", \"generic\"]).optional(),\n /** Connector's confidence in the result, 0..1. */\n confidence: z.number().min(0).max(1).optional()\n});\nconst CONNECTOR_DYNAMIC_RESULT_V1 = \"connector-dynamic-result/v1\";\nconst ConnectorDynamicResultV1Schema = z.object({\n /** Version discriminant — REQUIRED. */\n schemaVersion: z.literal(CONNECTOR_DYNAMIC_RESULT_V1),\n /** Stable id of the connector that produced this result. */\n connectorId: z.string().min(1),\n /** MCP tool that was invoked. */\n toolName: z.string().min(1),\n /** The raw user query. */\n query: z.string(),\n /**\n * Stable key for storing / retrieving persisted presentation feedback.\n * Optional in the payload, but REQUIRED once a feedback entry is\n * persisted against this result. Recommended derivation :\n * `hash(connectorId + toolName + normalizedIntent)` — NOT the raw query,\n * so two close phrasings of the same ask share the key.\n */\n queryHash: z.string().optional(),\n /** Normalized user intent (e.g. `real_estate_city`, `dpe_city`). */\n intent: z.string().optional(),\n /** Primary result — a `UIComponent` or `UILayout` (passthrough, see header). */\n primary: z.record(z.unknown()),\n /** Supplemental components — related datasets, source cards, etc. */\n supplemental: z.array(z.record(z.unknown())).optional(),\n /** Follow-up actions (tool calls / links) the user can trigger. */\n actions: z.array(ConnectorActionSchema).optional(),\n /** Suggested follow-up queries. */\n followups: z.array(ConnectorFollowupSchema).optional(),\n /** Non-binding rendering hints. */\n renderHints: ConnectorRenderHintsSchema.optional()\n});\nconst ConnectorRenderProblemSchema = z.enum([\n \"too_raw\",\n \"wrong_columns\",\n \"wrong_chart\",\n \"missing_context\",\n \"wrong_unit\",\n \"bad_grouping\",\n \"missing_dataset_context\"\n]);\nconst ConnectorRenderFeedbackSchema = z.object({\n /** Connector whose result is being rated. */\n connectorId: z.string().min(1),\n /** Tool that produced the result. */\n toolName: z.string().min(1),\n /** Stable key tying this feedback to a `ConnectorDynamicResultV1.queryHash`. */\n queryHash: z.string().optional(),\n /** What was rated (e.g. `'primary'`, `'supplemental'`). */\n renderKind: z.string().optional(),\n /** The layout type that was shown (e.g. `'table'`, `'bar'`). */\n layoutType: z.string().optional(),\n /** Overall judgement — REQUIRED. */\n verdict: z.enum([\"readable\", \"not_readable\"]),\n /** Zero or more precise problems (refines a `not_readable` verdict). */\n problems: z.array(ConnectorRenderProblemSchema).optional(),\n /** Layout the user would prefer instead. */\n preferredLayout: ConnectorPreferredLayoutSchema.optional(),\n /** Fields the user says are missing from the render. */\n missingFields: z.array(z.string()).optional(),\n /** Columns the user wishes were shown. */\n selectedColumns: z.array(z.string()).optional(),\n /** A unit the user flags as wrong. */\n wrongUnit: z.string().optional(),\n /** A grouping the user flags as wrong. */\n wrongGrouping: z.string().optional(),\n /** Free-text comment. */\n comment: z.string().optional()\n});\nexport {\n ActionGroupGapSchema,\n ActionGroupLayoutSchema,\n ActionGroupParamsSchema,\n ActionParamsSchema,\n ArtifactComponentParamsSchema,\n CONNECTOR_DYNAMIC_RESULT_V1,\n CarouselComponentParamsSchema,\n ChartComponentParamsSchema,\n ChartDatasetSchema,\n ChartTimeAxisSchema,\n ChartTypeSchema,\n CitationEntrySchema,\n CodeComponentParamsSchema,\n ComponentExampleSchema,\n ComponentRegistrySchema,\n ComponentSchema,\n ComponentSchemaSchema,\n ComponentTypeSchema,\n ConnectorActionSchema,\n ConnectorDynamicResultV1Schema,\n ConnectorFollowupSchema,\n ConnectorPreferredLayoutSchema,\n ConnectorRenderFeedbackSchema,\n ConnectorRenderHintsSchema,\n ConnectorRenderProblemSchema,\n FormComponentParamsSchema,\n FormFieldOptionSchema,\n FormFieldSchema,\n FormFieldTypeSchema,\n FormSubmitActionSchema,\n GalleryImageSchema,\n GraphComponentParamsSchema,\n GraphEdgeSchema,\n GraphLayoutNameSchema,\n GraphLayoutSchema,\n GraphNodeSchema,\n GridPositionSchema,\n IframeComponentParamsSchema,\n ImageComponentParamsSchema,\n ImageGalleryAspectRatioSchema,\n ImageGalleryColumnsSchema,\n ImageGalleryGapSchema,\n ImageGalleryParamsSchema,\n LatLngObjectSchema,\n LatLngPointSchema,\n LatLngTupleSchema,\n LinkComponentParamsSchema,\n MapComponentParamsSchema,\n MapMarkerSchema,\n MetricComponentParamsSchema,\n MetricTrendSchema,\n ModalComponentParamsSchema,\n ModalSizeSchema,\n PerformanceConstraintsSchema,\n PrefillSourceSchema,\n RegistryMetadataSchema,\n SandboxFlagSchema,\n SecurityConstraintsSchema,\n ShowWhenConditionSchema,\n ShowWhenOperatorSchema,\n TableColumnSchema,\n TableComponentParamsSchema,\n TableExportableSchema,\n TablePaginationSchema,\n TableVirtualizeOptionsSchema,\n TextComponentParamsSchema,\n VideoAspectRatioSchema,\n VideoComponentParamsSchema\n};\n//# sourceMappingURL=schemas.js.map\n"],"names":["z.object","z.number","z.enum","z.string","z.boolean","z.any","z.union","z.array","z.record","z.unknown","z.literal","z.tuple"],"mappings":"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"}
1
+ {"version":3,"file":"schemas.cjs","sources":["../../../../mcp-ui-spec/dist/schemas.js"],"sourcesContent":["import { z } from \"zod\";\nconst GridPositionSchema = z.object({\n colStart: z.number().int().min(1).max(12),\n colSpan: z.number().int().min(1).max(12),\n rowStart: z.number().int().min(1).optional(),\n rowSpan: z.number().int().min(1).default(1).optional()\n});\nconst ComponentTypeSchema = z.enum([\n \"chart\",\n \"table\",\n \"metric\",\n \"text\",\n \"composite\",\n \"grid\",\n // Phase 5.0: Nested grid layouts\n \"iframe\",\n \"image\",\n \"link\",\n \"action\",\n // Phase 5.0: Tool call actions\n \"footer\",\n // Phase 5.0: Metadata footer\n \"carousel\",\n \"artifact\",\n \"form\",\n // Sprint 1: Form component\n \"modal\",\n // Sprint 3: Modal/dialog component\n \"action-group\",\n // Sprint 3: Action grouping component\n \"image-gallery\",\n // Sprint 5: Image gallery with lightbox\n \"video\",\n // Sprint 5: Video embed (YouTube, Vimeo, direct)\n \"code\",\n // Sprint 6: Syntax highlighted code block\n \"map\",\n // Sprint 6: Interactive map (Leaflet)\n \"graph\"\n // v5.0.4: node-link graph (peer @antv/g6)\n]);\nconst FormFieldOptionSchema = z.object({\n label: z.string().min(1),\n value: z.string(),\n disabled: z.boolean().optional()\n});\nconst FormFieldTypeSchema = z.enum([\n \"text\",\n \"email\",\n \"password\",\n \"number\",\n \"date\",\n \"textarea\",\n \"select\",\n \"checkbox\",\n \"radio\",\n \"autocomplete\",\n \"range\",\n \"tags\",\n \"toggle\",\n \"fieldset\"\n]);\nconst ShowWhenOperatorSchema = z.enum([\n \"equals\",\n \"notEquals\",\n \"in\",\n \"notIn\",\n \"contains\",\n \"startsWith\",\n \"endsWith\",\n \"greaterThan\",\n \"lessThan\",\n \"isEmpty\",\n \"isNotEmpty\",\n \"isTrue\",\n \"isFalse\"\n]);\nconst ShowWhenConditionSchema = z.object({\n field: z.string().min(1),\n operator: ShowWhenOperatorSchema,\n value: z.any().optional()\n});\nconst PrefillSourceSchema = z.enum([\"user\", \"detected\", \"inferred\", \"default\"]);\nconst FormFieldSchema = z.object({\n name: z.string().regex(/^[a-zA-Z][\\w.-]*$/),\n type: FormFieldTypeSchema,\n label: z.string().optional(),\n placeholder: z.string().optional(),\n helpText: z.string().optional(),\n required: z.boolean().optional(),\n disabled: z.boolean().optional(),\n defaultValue: z.any().optional(),\n // Prefill — pre-populated value with source tracking (v4.2.0)\n prefill: z.union([z.string(), z.array(z.string())]).optional(),\n displayHint: z.string().optional(),\n source: PrefillSourceSchema.optional(),\n muted: z.boolean().optional(),\n // Prefill mode for autocomplete fields (v4.3.0)\n prefillMode: z.enum([\"exact\", \"resolve\"]).optional(),\n // Value format validation (v4.3.0)\n valueFormat: z.string().optional(),\n valueFormatHint: z.string().optional(),\n // Text/textarea specific\n minLength: z.number().int().min(0).optional(),\n maxLength: z.number().int().min(1).optional(),\n pattern: z.string().optional(),\n // Number specific\n min: z.number().optional(),\n max: z.number().optional(),\n step: z.number().optional(),\n // Date specific\n minDate: z.string().optional(),\n maxDate: z.string().optional(),\n // Select/Radio specific\n options: z.array(FormFieldOptionSchema).optional(),\n // Multi-select (v2.6.0)\n multiple: z.boolean().optional(),\n // Autocomplete specific (v2.6.0)\n apiUrl: z.string().url().optional(),\n searchParam: z.string().optional(),\n labelField: z.string().optional(),\n valueField: z.string().optional(),\n extraParams: z.record(z.string()).optional(),\n minChars: z.number().int().min(0).optional(),\n debounceMs: z.number().int().min(0).optional(),\n // Dependent field (v2.7.0)\n dependsOn: z.object({\n field: z.string(),\n apiUrl: z.string(),\n labelField: z.string(),\n valueField: z.string(),\n extraParams: z.record(z.string()).optional()\n }).optional(),\n // Field status — API capability indicator (v2.11.0)\n fieldStatus: z.enum([\"required\", \"optional\", \"unsupported\", \"unknown\"]).optional(),\n statusReason: z.string().optional(),\n // Checkbox specific\n checkboxLabel: z.string().optional(),\n // Textarea specific\n rows: z.number().int().min(1).max(20).optional(),\n // Conditional visibility\n showWhen: ShowWhenConditionSchema.optional()\n});\nconst FormSubmitActionSchema = z.object({\n toolName: z.string().min(1),\n params: z.record(z.unknown()).optional()\n});\nconst FormComponentParamsSchema = z.object({\n title: z.string().optional(),\n fields: z.array(FormFieldSchema).min(1),\n submitLabel: z.string().optional(),\n showReset: z.boolean().optional(),\n submitAction: FormSubmitActionSchema.optional(),\n // Persistence options (Sprint 4)\n persistKey: z.string().optional(),\n excludeFromPersistence: z.array(z.string()).optional(),\n persistExpiresIn: z.number().int().positive().optional(),\n layout: z.enum([\"vertical\", \"horizontal\", \"inline\"]).optional(),\n // Auto-submit countdown in ms when all required fields are prefilled (v4.2.0)\n autoSubmitDelay: z.number().int().min(1e3).max(3e4).optional()\n});\nconst ModalSizeSchema = z.enum([\"sm\", \"md\", \"lg\", \"xl\", \"full\"]);\nconst ModalComponentParamsSchema = z.object({\n title: z.string().optional(),\n size: ModalSizeSchema.optional(),\n showClose: z.boolean().optional(),\n closeOnEscape: z.boolean().optional(),\n closeOnBackdrop: z.boolean().optional(),\n maxHeight: z.string().optional()\n // Note: content and footer are UIComponent references, validated separately\n});\nconst ActionGroupLayoutSchema = z.enum([\n \"horizontal\",\n \"vertical\",\n \"space-between\",\n \"end\",\n \"center\"\n]);\nconst ActionGroupGapSchema = z.enum([\"none\", \"sm\", \"md\", \"lg\"]);\nconst ActionParamsSchema = z.object({\n label: z.string().min(1),\n type: z.enum([\"button\", \"link\"]).optional(),\n action: z.enum([\"tool-call\", \"link\", \"submit\"]).optional(),\n toolName: z.string().optional(),\n params: z.record(z.unknown()).optional(),\n url: z.string().optional(),\n variant: z.enum([\"primary\", \"secondary\", \"outline\", \"ghost\", \"danger\"]).optional(),\n size: z.enum([\"sm\", \"md\", \"lg\"]).optional(),\n icon: z.string().optional(),\n disabled: z.boolean().optional()\n});\nconst ActionGroupParamsSchema = z.object({\n actions: z.array(ActionParamsSchema).min(1),\n layout: ActionGroupLayoutSchema.optional(),\n gap: ActionGroupGapSchema.optional(),\n fullWidth: z.boolean().optional(),\n label: z.string().optional()\n});\nconst GalleryImageSchema = z.object({\n url: z.string().url(),\n thumbnail: z.string().url().optional(),\n alt: z.string().optional(),\n caption: z.string().optional(),\n srcset: z.string().optional(),\n sizes: z.string().optional()\n});\nconst ImageGalleryColumnsSchema = z.enum([\"2\", \"3\", \"4\", \"5\"]).transform(Number);\nconst ImageGalleryGapSchema = z.enum([\"none\", \"sm\", \"md\", \"lg\"]);\nconst ImageGalleryAspectRatioSchema = z.enum([\"1:1\", \"16:9\", \"4:3\", \"auto\"]);\nconst ImageGalleryParamsSchema = z.object({\n title: z.string().optional(),\n images: z.array(GalleryImageSchema).min(1),\n columns: z.union([z.literal(2), z.literal(3), z.literal(4), z.literal(5)]).optional(),\n gap: ImageGalleryGapSchema.optional(),\n aspectRatio: ImageGalleryAspectRatioSchema.optional(),\n lightbox: z.boolean().optional(),\n showCaptions: z.boolean().optional()\n});\nconst VideoAspectRatioSchema = z.enum([\"16:9\", \"4:3\", \"1:1\", \"21:9\"]);\nconst VideoComponentParamsSchema = z.object({\n url: z.string().url(),\n title: z.string().optional(),\n caption: z.string().optional(),\n poster: z.string().url().optional(),\n aspectRatio: VideoAspectRatioSchema.optional(),\n autoplay: z.boolean().optional(),\n controls: z.boolean().optional(),\n loop: z.boolean().optional(),\n muted: z.boolean().optional(),\n startTime: z.number().int().min(0).optional()\n});\nconst CodeComponentParamsSchema = z.object({\n code: z.string(),\n language: z.string().optional(),\n filename: z.string().optional(),\n showLineNumbers: z.boolean().optional(),\n startLine: z.number().optional(),\n highlightLines: z.array(z.number()).optional(),\n maxHeight: z.string().optional(),\n theme: z.enum([\"light\", \"dark\"]).optional()\n});\nconst LatLngObjectSchema = z.object({\n lat: z.number(),\n lng: z.number()\n});\nconst LatLngTupleSchema = z.tuple([z.number(), z.number()]);\nconst LatLngPointSchema = z.union([LatLngTupleSchema, LatLngObjectSchema]);\nconst MapMarkerSchema = z.object({\n position: LatLngPointSchema,\n tooltip: z.string().optional(),\n popup: z.string().optional()\n});\nconst GeoJSONPositionSchema = z.array(z.number()).min(2);\nconst GeoJSONCoordinatesSchema = z.union([\n GeoJSONPositionSchema,\n z.array(GeoJSONPositionSchema),\n z.array(z.array(GeoJSONPositionSchema)),\n z.array(z.array(z.array(GeoJSONPositionSchema)))\n]);\nconst GeoJSONGeometryTypeSchema = z.enum([\n \"Point\",\n \"MultiPoint\",\n \"LineString\",\n \"MultiLineString\",\n \"Polygon\",\n \"MultiPolygon\",\n \"GeometryCollection\"\n]);\nconst GeoJSONSimpleGeometrySchema = z.object({\n type: GeoJSONGeometryTypeSchema,\n coordinates: GeoJSONCoordinatesSchema.optional(),\n bbox: z.array(z.number()).optional()\n});\nconst GeoJSONGeometrySchema = z.object({\n type: GeoJSONGeometryTypeSchema,\n coordinates: GeoJSONCoordinatesSchema.optional(),\n geometries: z.array(GeoJSONSimpleGeometrySchema).optional(),\n bbox: z.array(z.number()).optional()\n});\nconst GeoJSONFeatureSchema = z.object({\n type: z.literal(\"Feature\"),\n geometry: GeoJSONGeometrySchema.nullable(),\n properties: z.record(z.unknown()).nullable().optional(),\n id: z.union([z.string(), z.number()]).optional(),\n bbox: z.array(z.number()).optional()\n});\nconst GeoJSONFeatureCollectionSchema = z.object({\n type: z.literal(\"FeatureCollection\"),\n features: z.array(GeoJSONFeatureSchema),\n bbox: z.array(z.number()).optional()\n});\nconst GeoJSONSchema = z.union([\n GeoJSONFeatureCollectionSchema,\n GeoJSONFeatureSchema,\n GeoJSONGeometrySchema\n]);\nconst MapGeoJSONStyleSchema = z.object({\n fillColor: z.string().optional(),\n fillOpacity: z.number().optional(),\n strokeColor: z.string().optional(),\n strokeWeight: z.number().optional(),\n strokeOpacity: z.number().optional(),\n choroplethField: z.string().optional(),\n choroplethScale: z.array(z.tuple([z.number(), z.string()])).optional(),\n choroplethFallback: z.string().optional()\n});\nconst MapPopupConfigSchema = z.object({\n titleField: z.string().optional(),\n fields: z.array(z.string()).optional(),\n template: z.string().optional()\n});\nconst MapLayerSchema = z.object({\n name: z.string().min(1),\n visible: z.boolean().optional(),\n geojson: GeoJSONSchema,\n style: MapGeoJSONStyleSchema.optional(),\n popup: MapPopupConfigSchema.optional()\n});\nconst MapClusterOptionsSchema = z.object({\n maxClusterRadius: z.number().optional(),\n spiderfyOnMaxZoom: z.boolean().optional(),\n showCoverageOnHover: z.boolean().optional(),\n disableClusteringAtZoom: z.number().optional(),\n animateAddingMarkers: z.boolean().optional()\n});\nconst MapPMTilesPaintRuleSchema = z.object({\n dataLayer: z.string(),\n symbolizer: z.enum([\"polygon\", \"line\", \"circle\"]),\n color: z.string().optional(),\n width: z.number().optional(),\n opacity: z.number().optional()\n});\nconst MapPMTilesLabelRuleSchema = z.object({\n dataLayer: z.string(),\n textField: z.string(),\n fontSize: z.number().optional()\n});\nconst MapPMTilesConfigSchema = z.object({\n url: z.string(),\n attribution: z.string().optional(),\n paintRules: z.array(MapPMTilesPaintRuleSchema).optional(),\n labelRules: z.array(MapPMTilesLabelRuleSchema).optional(),\n maxZoom: z.number().optional(),\n minZoom: z.number().optional()\n});\nconst MapComponentParamsSchema = z.object({\n center: LatLngPointSchema.optional(),\n zoom: z.number().optional(),\n markers: z.array(MapMarkerSchema).optional(),\n height: z.string().optional(),\n fitBounds: z.boolean().optional(),\n zoomControl: z.boolean().optional(),\n scrollWheelZoom: z.boolean().optional(),\n tileLayer: z.string().optional(),\n attribution: z.string().optional(),\n className: z.string().optional(),\n // GeoJSON layer (v5.2.0) — polygons / lines / points from structured data.\n geojson: GeoJSONSchema.optional(),\n geojsonStyle: MapGeoJSONStyleSchema.optional(),\n popup: MapPopupConfigSchema.optional(),\n // Multiple named GeoJSON overlays with a Leaflet layer control (v5.2.0).\n layers: z.array(MapLayerSchema).optional(),\n // Marker clustering — `true` for defaults, or an options object (v5.2.0).\n clustering: z.union([z.boolean(), MapClusterOptionsSchema]).optional(),\n // PMTiles vector-tile source for large datasets (v5.2.0).\n pmtiles: MapPMTilesConfigSchema.optional()\n});\nconst GraphNodeSchema = z.object({\n id: z.string().min(1),\n label: z.string().optional(),\n type: z.string().optional(),\n // G6 node type: 'circle' | 'rect' | 'image' | …\n size: z.union([z.number(), z.tuple([z.number(), z.number()])]).optional(),\n /**\n * Generic ranking / importance signal. Drives default node size when\n * `size` is omitted, and acts as the sort key for the `concentric`\n * layout (highest weight at center). Domain semantics opaque to the lib.\n */\n weight: z.number().optional(),\n style: z.record(z.unknown()).optional(),\n // passthrough G6 NodeStyle\n data: z.record(z.unknown()).optional()\n // arbitrary metadata for tooltips / click handlers\n});\nconst GraphEdgeSchema = z.object({\n source: z.string().min(1),\n // must match a node.id\n target: z.string().min(1),\n // must match a node.id\n label: z.string().optional(),\n type: z.string().optional(),\n // G6 edge type: 'line' | 'arc' | 'cubic' | 'polyline' | …\n /**\n * Generic strength signal. Drives default edge stroke width and acts\n * as attractive force in `force` layouts. Domain semantics opaque.\n */\n weight: z.number().optional(),\n style: z.record(z.unknown()).optional(),\n data: z.record(z.unknown()).optional()\n});\nconst GraphLayoutNameSchema = z.enum([\n \"force\",\n \"dagre\",\n \"mindmap\",\n \"tree\",\n \"circular\",\n \"grid\",\n \"concentric\"\n]);\nconst GraphLayoutSchema = z.union([\n GraphLayoutNameSchema,\n z.object({\n type: GraphLayoutNameSchema,\n options: z.record(z.unknown()).optional()\n })\n]);\nconst GraphComponentParamsSchema = z.object({\n title: z.string().optional(),\n nodes: z.array(GraphNodeSchema).min(1),\n edges: z.array(GraphEdgeSchema).optional(),\n /**\n * Layout shorthand string OR object form. When omitted, the renderer\n * picks a sensible default: `'force'` if edges are present, `'circular'`\n * otherwise.\n */\n layout: GraphLayoutSchema.optional(),\n height: z.string().optional(),\n // CSS length, default '400px'\n width: z.string().optional(),\n // CSS length, default '100%'\n rendererPref: z.enum([\"canvas\", \"svg\"]).optional(),\n // default 'canvas'\n fitView: z.boolean().optional(),\n // default true\n enableZoom: z.boolean().optional(),\n // default true\n enableDrag: z.boolean().optional(),\n // default true (drag nodes)\n enableSelect: z.boolean().optional(),\n // default true (click-select highlight)\n tooltip: z.boolean().optional(),\n // default true (label + data summary on hover)\n className: z.string().optional()\n});\nconst ChartTypeSchema = z.enum([\n \"bar\",\n \"line\",\n \"pie\",\n \"doughnut\",\n \"radar\",\n \"scatter\",\n \"bubble\",\n \"polarArea\"\n]);\nconst ChartDatasetSchema = z.object({\n label: z.string(),\n // Either an array of numbers or an array of {x, y} points (Chart.js shapes)\n data: z.union([\n z.array(z.number()),\n z.array(\n z.object({\n x: z.union([z.string(), z.number()]),\n y: z.number()\n })\n )\n ]),\n backgroundColor: z.union([z.string(), z.array(z.string())]).optional(),\n borderColor: z.union([z.string(), z.array(z.string())]).optional(),\n borderWidth: z.number().optional(),\n fill: z.union([z.boolean(), z.string()]).optional(),\n tension: z.number().optional()\n});\nconst ChartTimeAxisSchema = z.object({\n parser: z.string().optional(),\n unit: z.enum([\"day\", \"week\", \"month\", \"quarter\", \"year\"]).optional(),\n tooltipFormat: z.string().optional(),\n min: z.string().optional(),\n max: z.string().optional()\n});\nconst ChartComponentParamsSchema = z.object({\n type: ChartTypeSchema,\n title: z.string().optional(),\n data: z.object({\n labels: z.array(z.string()),\n datasets: z.array(ChartDatasetSchema)\n }),\n options: z.object({\n responsive: z.boolean().optional(),\n maintainAspectRatio: z.boolean().optional(),\n tension: z.number().optional(),\n // `scales` and `plugins` are Chart.js opaque config objects — kept loose\n scales: z.unknown().optional(),\n plugins: z.unknown().optional()\n }).optional(),\n renderer: z.enum([\"native\", \"iframe\", \"auto\"]).optional(),\n exportable: z.boolean().optional(),\n timeAxis: ChartTimeAxisSchema.optional(),\n height: z.string().optional(),\n className: z.string().optional()\n});\nconst TableColumnSchema = z.object({\n key: z.string().min(1),\n label: z.string(),\n sortable: z.boolean().optional(),\n width: z.string().optional()\n});\nconst TablePaginationSchema = z.object({\n currentPage: z.number().int().min(1),\n pageSize: z.number().int().min(1),\n totalRows: z.number().int().min(0)\n});\nconst TableVirtualizeOptionsSchema = z.object({\n enabled: z.boolean().optional(),\n rowHeight: z.number().int().min(1).optional(),\n overscan: z.number().int().min(0).optional(),\n threshold: z.number().int().min(1).optional()\n});\nconst TableExportableSchema = z.union([\n z.boolean(),\n z.object({\n formats: z.array(z.enum([\"csv\", \"tsv\", \"json\"])).optional(),\n filename: z.string().optional()\n })\n]);\nconst CitationEntrySchema = z.object({\n page: z.union([z.number(), z.string()]),\n file: z.string().optional(),\n file_id: z.union([z.number(), z.string()]).optional()\n});\nconst TableComponentParamsSchema = z.object({\n title: z.string().optional(),\n columns: z.array(TableColumnSchema).min(1),\n rows: z.array(z.record(z.unknown())),\n pagination: TablePaginationSchema.optional(),\n virtualize: z.union([z.boolean(), TableVirtualizeOptionsSchema]).optional(),\n exportable: TableExportableSchema.optional(),\n className: z.string().optional(),\n // v5.0.3 — opt-in citation chip rendering inside cells\n citationMap: z.record(z.string(), CitationEntrySchema).optional(),\n // v5.0.5 — opt-out of the inline-mode max-height cap. The library defaults\n // a `max-height: 400px` (or 500px when virtualizing) on tables with > 8\n // rows so they don't blow out a chat-stream layout. Pass `'auto'` to\n // disable the cap (when the consumer's wrapping container handles\n // overflow), a number (interpreted as `${n}px`), or any CSS length string\n // to override the value.\n maxHeight: z.union([z.literal(\"auto\"), z.number(), z.string()]).optional()\n});\nconst MetricTrendSchema = z.object({\n value: z.number(),\n direction: z.enum([\"up\", \"down\", \"neutral\"])\n});\nconst MetricComponentParamsSchema = z.object({\n title: z.string().min(1),\n value: z.union([z.string(), z.number()]),\n unit: z.string().optional(),\n trend: MetricTrendSchema.optional(),\n subtitle: z.string().optional(),\n icon: z.string().optional(),\n className: z.string().optional()\n});\nconst TextComponentParamsSchema = z.object({\n content: z.string().min(1),\n markdown: z.boolean().optional(),\n className: z.string().optional()\n});\nconst IframeComponentParamsSchema = z.object({\n url: z.string().min(1),\n title: z.string().optional(),\n height: z.string().optional(),\n className: z.string().optional()\n});\nconst ImageComponentParamsSchema = z.object({\n url: z.string().min(1),\n alt: z.string().optional(),\n caption: z.string().optional(),\n className: z.string().optional()\n});\nconst LinkComponentParamsSchema = z.object({\n url: z.string().min(1),\n label: z.string().optional(),\n description: z.string().optional(),\n className: z.string().optional()\n});\nconst CarouselComponentParamsSchema = z.object({\n items: z.array(z.unknown()).min(1),\n height: z.string().optional(),\n className: z.string().optional()\n});\nconst ArtifactComponentParamsSchema = z.object({\n url: z.string().min(1),\n filename: z.string().min(1),\n mimeType: z.string().min(1),\n size: z.number().int().min(0).optional(),\n description: z.string().optional()\n});\nconst SandboxFlagSchema = z.enum([\n \"allow-scripts\",\n \"allow-same-origin\",\n \"allow-forms\",\n \"allow-popups\",\n \"allow-modals\"\n]);\nconst SecurityConstraintsSchema = z.object({\n requiresAuth: z.boolean().default(false).optional(),\n allowedDomains: z.array(z.string()).optional(),\n maxIframeDepth: z.number().int().min(0).max(3).default(1).optional(),\n sandboxFlags: z.array(SandboxFlagSchema).optional()\n});\nconst PerformanceConstraintsSchema = z.object({\n maxRenderTime: z.number().int().min(100).default(5e3).optional(),\n maxDataSize: z.number().int().min(1024).default(102400).optional()\n});\nconst ComponentSchemaSchema = z.object({\n type: z.literal(\"object\"),\n required: z.array(z.string()).optional(),\n properties: z.record(z.unknown()),\n additionalProperties: z.boolean().optional()\n});\nconst ComponentExampleSchema = z.object({\n name: z.string().min(1),\n description: z.string().optional(),\n params: z.record(z.unknown()),\n position: GridPositionSchema.optional()\n});\nconst ComponentSchema = z.object({\n id: z.string().regex(/^[a-z0-9-]+$/),\n type: ComponentTypeSchema,\n name: z.string().min(1),\n description: z.string().optional(),\n schema: ComponentSchemaSchema,\n examples: z.array(ComponentExampleSchema).min(1),\n security: SecurityConstraintsSchema.optional(),\n performance: PerformanceConstraintsSchema.optional(),\n tags: z.array(z.string().regex(/^[a-z0-9-]+$/)).optional(),\n version: z.string().regex(/^\\d+\\.\\d+\\.\\d+$/).optional(),\n deprecated: z.boolean().default(false).optional(),\n deprecationMessage: z.string().optional()\n});\nconst RegistryMetadataSchema = z.object({\n name: z.string().optional(),\n description: z.string().optional(),\n author: z.string().optional(),\n repository: z.string().url().optional()\n});\nconst ComponentRegistrySchema = z.object({\n version: z.literal(\"1.0.0\"),\n metadata: RegistryMetadataSchema.optional(),\n components: z.array(ComponentSchema).min(1)\n});\nconst ConnectorFollowupSchema = z.object({\n /** Display text of the suggestion. */\n label: z.string().min(1),\n /** The follow-up query to run when the suggestion is picked. */\n query: z.string().optional(),\n /** Normalized intent of the follow-up query. */\n intent: z.string().optional(),\n /** What kind of follow-up this is — drives grouping / iconography. */\n kind: z.enum([\"refine\", \"compare\", \"expand\", \"clarify\"]).optional()\n});\nconst ConnectorActionSchema = ActionParamsSchema;\nconst ConnectorPreferredLayoutSchema = z.enum([\n \"table\",\n \"cards\",\n \"bar\",\n \"line\",\n \"doughnut\",\n \"map\",\n \"metric\"\n]);\nconst ConnectorRenderHintsSchema = z.object({\n /** Preferred top-level layout for `primary`. */\n preferredLayout: ConnectorPreferredLayoutSchema.optional(),\n /** Data domain — drives presets/examples, NOT the same axis as `intent`. */\n domain: z.enum([\"real_estate\", \"dpe\", \"pollution\", \"employment\", \"education\", \"health\", \"generic\"]).optional(),\n /** Connector's confidence in the result, 0..1. */\n confidence: z.number().min(0).max(1).optional()\n});\nconst CONNECTOR_DYNAMIC_RESULT_V1 = \"connector-dynamic-result/v1\";\nconst ConnectorDynamicResultV1Schema = z.object({\n /** Version discriminant — REQUIRED. */\n schemaVersion: z.literal(CONNECTOR_DYNAMIC_RESULT_V1),\n /** Stable id of the connector that produced this result. */\n connectorId: z.string().min(1),\n /** MCP tool that was invoked. */\n toolName: z.string().min(1),\n /** The raw user query. */\n query: z.string(),\n /**\n * Stable key for storing / retrieving persisted presentation feedback.\n * Optional in the payload, but REQUIRED once a feedback entry is\n * persisted against this result. Recommended derivation :\n * `hash(connectorId + toolName + normalizedIntent)` — NOT the raw query,\n * so two close phrasings of the same ask share the key.\n */\n queryHash: z.string().optional(),\n /** Normalized user intent (e.g. `real_estate_city`, `dpe_city`). */\n intent: z.string().optional(),\n /** Primary result — a `UIComponent` or `UILayout` (passthrough, see header). */\n primary: z.record(z.unknown()),\n /** Supplemental components — related datasets, source cards, etc. */\n supplemental: z.array(z.record(z.unknown())).optional(),\n /** Follow-up actions (tool calls / links) the user can trigger. */\n actions: z.array(ConnectorActionSchema).optional(),\n /** Suggested follow-up queries. */\n followups: z.array(ConnectorFollowupSchema).optional(),\n /** Non-binding rendering hints. */\n renderHints: ConnectorRenderHintsSchema.optional()\n});\nconst ConnectorRenderProblemSchema = z.enum([\n \"too_raw\",\n \"wrong_columns\",\n \"wrong_chart\",\n \"missing_context\",\n \"wrong_unit\",\n \"bad_grouping\",\n \"missing_dataset_context\"\n]);\nconst ConnectorRenderFeedbackSchema = z.object({\n /** Connector whose result is being rated. */\n connectorId: z.string().min(1),\n /** Tool that produced the result. */\n toolName: z.string().min(1),\n /** Stable key tying this feedback to a `ConnectorDynamicResultV1.queryHash`. */\n queryHash: z.string().optional(),\n /** What was rated (e.g. `'primary'`, `'supplemental'`). */\n renderKind: z.string().optional(),\n /** The layout type that was shown (e.g. `'table'`, `'bar'`). */\n layoutType: z.string().optional(),\n /** Overall judgement — REQUIRED. */\n verdict: z.enum([\"readable\", \"not_readable\"]),\n /** Zero or more precise problems (refines a `not_readable` verdict). */\n problems: z.array(ConnectorRenderProblemSchema).optional(),\n /** Layout the user would prefer instead. */\n preferredLayout: ConnectorPreferredLayoutSchema.optional(),\n /** Fields the user says are missing from the render. */\n missingFields: z.array(z.string()).optional(),\n /** Columns the user wishes were shown. */\n selectedColumns: z.array(z.string()).optional(),\n /** A unit the user flags as wrong. */\n wrongUnit: z.string().optional(),\n /** A grouping the user flags as wrong. */\n wrongGrouping: z.string().optional(),\n /** Free-text comment. */\n comment: z.string().optional()\n});\nconst MACRO_RUN_V1 = \"macro-run/v1\";\nconst MACRO_INTERROGATION_V1 = \"macro-interrogation/v1\";\nconst MacroRunStatusSchema = z.enum([\n \"pending\",\n \"running\",\n \"awaiting_input\",\n \"completed\",\n \"failed\",\n \"aborted\"\n]);\nconst MacroStepStatusSchema = z.enum([\"pending\", \"active\", \"done\", \"skipped\", \"failed\"]);\nconst MacroInvocationTypeSchema = z.enum([\n \"slash_command\",\n \"natural_language\",\n \"api_direct\",\n \"pipeline\",\n \"chat_stream\"\n]);\nconst MacroStepV1Schema = z.lazy(\n () => z.object({\n id: z.string().min(1),\n label: z.string(),\n toolName: z.string().optional(),\n status: MacroStepStatusSchema,\n summary: z.string().optional(),\n durationMs: z.number().optional(),\n error: z.string().optional(),\n resultRef: z.string().optional(),\n parallel: z.array(MacroStepV1Schema).optional()\n })\n);\nconst MacroInterrogationOptionSchema = z.object({\n value: z.string(),\n label: z.string(),\n icon: z.string().optional(),\n description: z.string().optional(),\n metadata: z.record(z.unknown()).optional()\n});\nconst MacroInterrogationKindSchema = z.enum([\"choice\", \"confirm\", \"form\", \"elicitation\"]);\nconst MacroInterrogationV1Schema = z.object({\n schemaVersion: z.literal(MACRO_INTERROGATION_V1),\n interrogationId: z.string().min(1),\n runId: z.string().min(1),\n correlationId: z.string().optional(),\n stepId: z.string().optional(),\n /** Free-form tag describing what the run is blocked on. */\n waitingFor: z.string().optional(),\n kind: MacroInterrogationKindSchema,\n title: z.string(),\n message: z.string().optional(),\n /** Options for a `choice` interrogation. */\n options: z.array(MacroInterrogationOptionSchema).optional(),\n /** Labels / variant for a `confirm` interrogation. */\n confirm: z.object({\n confirmLabel: z.string().optional(),\n cancelLabel: z.string().optional(),\n variant: z.enum([\"default\", \"danger\"]).optional()\n }).optional(),\n /** Opaque field list for a `form` interrogation (renderer-side shape). */\n fields: z.array(z.unknown()).optional(),\n /** Opaque MCP elicitation JSON Schema for an `elicitation` interrogation. */\n elicitationSchema: z.unknown().optional(),\n /** A pre-selected default the host may surface (e.g. timeout fallback). */\n defaultChoice: z.object({\n value: z.string(),\n reason: z.string().optional()\n }).optional(),\n /** How the host resumes the run once answered — host-side, opaque to the lib. */\n resume: z.object({\n endpoint: z.string(),\n mode: z.enum([\"agent_resume\", \"legacy_chat_prompt\", \"macro_resume\"])\n }).optional(),\n metadata: z.record(z.unknown()).optional()\n});\nconst MacroRunAgentSchema = z.object({\n id: z.string(),\n name: z.string(),\n avatar: z.string().optional(),\n capabilities: z.array(z.string()).optional(),\n status: z.enum([\"idle\", \"running\", \"waiting\", \"done\", \"error\"]).optional(),\n currentStep: z.object({ id: z.string(), label: z.string() }).optional()\n});\nconst MacroRunErrorSchema = z.object({\n message: z.string(),\n code: z.string().optional(),\n stepId: z.string().optional(),\n retryable: z.boolean().optional()\n});\nconst MacroRunOutcomeSchema = z.object({\n kind: z.enum([\"verified_text\", \"briefing_diff\", \"agent_result\", \"raw\"]),\n content: z.unknown()\n});\nconst MacroRunV1Schema = z.object({\n schemaVersion: z.literal(MACRO_RUN_V1),\n // Identity\n runId: z.string().min(1),\n correlationId: z.string().optional(),\n macroId: z.string().min(1),\n macroName: z.string().optional(),\n macroVersion: z.string().optional(),\n title: z.string().optional(),\n invocationType: MacroInvocationTypeSchema.optional(),\n // State\n status: MacroRunStatusSchema,\n startedAt: z.string().optional(),\n updatedAt: z.string().optional(),\n completedAt: z.string().optional(),\n // Presentation\n agent: MacroRunAgentSchema.optional(),\n // Execution\n steps: z.array(MacroStepV1Schema),\n /** `UIComponent`-shaped results (passthrough). Optional — see header. */\n results: z.array(z.record(z.unknown())).optional(),\n pendingInterrogation: MacroInterrogationV1Schema.optional(),\n error: MacroRunErrorSchema.optional(),\n outcome: MacroRunOutcomeSchema.optional(),\n variables: z.record(z.unknown()).optional(),\n metadata: z.record(z.unknown()).optional()\n});\nexport {\n ActionGroupGapSchema,\n ActionGroupLayoutSchema,\n ActionGroupParamsSchema,\n ActionParamsSchema,\n ArtifactComponentParamsSchema,\n CONNECTOR_DYNAMIC_RESULT_V1,\n CarouselComponentParamsSchema,\n ChartComponentParamsSchema,\n ChartDatasetSchema,\n ChartTimeAxisSchema,\n ChartTypeSchema,\n CitationEntrySchema,\n CodeComponentParamsSchema,\n ComponentExampleSchema,\n ComponentRegistrySchema,\n ComponentSchema,\n ComponentSchemaSchema,\n ComponentTypeSchema,\n ConnectorActionSchema,\n ConnectorDynamicResultV1Schema,\n ConnectorFollowupSchema,\n ConnectorPreferredLayoutSchema,\n ConnectorRenderFeedbackSchema,\n ConnectorRenderHintsSchema,\n ConnectorRenderProblemSchema,\n FormComponentParamsSchema,\n FormFieldOptionSchema,\n FormFieldSchema,\n FormFieldTypeSchema,\n FormSubmitActionSchema,\n GalleryImageSchema,\n GeoJSONCoordinatesSchema,\n GeoJSONFeatureCollectionSchema,\n GeoJSONFeatureSchema,\n GeoJSONGeometrySchema,\n GeoJSONGeometryTypeSchema,\n GeoJSONPositionSchema,\n GeoJSONSchema,\n GraphComponentParamsSchema,\n GraphEdgeSchema,\n GraphLayoutNameSchema,\n GraphLayoutSchema,\n GraphNodeSchema,\n GridPositionSchema,\n IframeComponentParamsSchema,\n ImageComponentParamsSchema,\n ImageGalleryAspectRatioSchema,\n ImageGalleryColumnsSchema,\n ImageGalleryGapSchema,\n ImageGalleryParamsSchema,\n LatLngObjectSchema,\n LatLngPointSchema,\n LatLngTupleSchema,\n LinkComponentParamsSchema,\n MACRO_INTERROGATION_V1,\n MACRO_RUN_V1,\n MacroInterrogationKindSchema,\n MacroInterrogationOptionSchema,\n MacroInterrogationV1Schema,\n MacroInvocationTypeSchema,\n MacroRunAgentSchema,\n MacroRunErrorSchema,\n MacroRunOutcomeSchema,\n MacroRunStatusSchema,\n MacroRunV1Schema,\n MacroStepStatusSchema,\n MacroStepV1Schema,\n MapClusterOptionsSchema,\n MapComponentParamsSchema,\n MapGeoJSONStyleSchema,\n MapLayerSchema,\n MapMarkerSchema,\n MapPMTilesConfigSchema,\n MapPMTilesLabelRuleSchema,\n MapPMTilesPaintRuleSchema,\n MapPopupConfigSchema,\n MetricComponentParamsSchema,\n MetricTrendSchema,\n ModalComponentParamsSchema,\n ModalSizeSchema,\n PerformanceConstraintsSchema,\n PrefillSourceSchema,\n RegistryMetadataSchema,\n SandboxFlagSchema,\n SecurityConstraintsSchema,\n ShowWhenConditionSchema,\n ShowWhenOperatorSchema,\n TableColumnSchema,\n TableComponentParamsSchema,\n TableExportableSchema,\n TablePaginationSchema,\n TableVirtualizeOptionsSchema,\n TextComponentParamsSchema,\n VideoAspectRatioSchema,\n VideoComponentParamsSchema\n};\n//# sourceMappingURL=schemas.js.map\n"],"names":["z.object","z.number","z.enum","z.string","z.boolean","z.any","z.union","z.array","z.record","z.unknown","z.literal","z.tuple","z.lazy"],"mappings":"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"}