@seed-ship/mcp-ui-solid 5.5.1 → 5.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +47 -0
- package/dist/components/FormRenderer.cjs +13 -2
- package/dist/components/FormRenderer.cjs.map +1 -1
- package/dist/components/FormRenderer.d.ts.map +1 -1
- package/dist/components/FormRenderer.js +13 -2
- package/dist/components/FormRenderer.js.map +1 -1
- package/dist/components/GenerativeUIErrorBoundary.cjs +11 -0
- package/dist/components/GenerativeUIErrorBoundary.cjs.map +1 -1
- package/dist/components/GenerativeUIErrorBoundary.d.ts.map +1 -1
- package/dist/components/GenerativeUIErrorBoundary.js +11 -0
- package/dist/components/GenerativeUIErrorBoundary.js.map +1 -1
- package/dist/components/StreamingUIRenderer.cjs +49 -3
- package/dist/components/StreamingUIRenderer.cjs.map +1 -1
- package/dist/components/StreamingUIRenderer.d.ts.map +1 -1
- package/dist/components/StreamingUIRenderer.js +51 -5
- package/dist/components/StreamingUIRenderer.js.map +1 -1
- package/dist/components/UIResourceRenderer.cjs +62 -3
- package/dist/components/UIResourceRenderer.cjs.map +1 -1
- package/dist/components/UIResourceRenderer.d.ts.map +1 -1
- package/dist/components/UIResourceRenderer.js +64 -5
- package/dist/components/UIResourceRenderer.js.map +1 -1
- package/dist/context/MCPUITelemetryContext.cjs +25 -0
- package/dist/context/MCPUITelemetryContext.cjs.map +1 -0
- package/dist/context/MCPUITelemetryContext.d.ts +36 -0
- package/dist/context/MCPUITelemetryContext.d.ts.map +1 -0
- package/dist/context/MCPUITelemetryContext.js +25 -0
- package/dist/context/MCPUITelemetryContext.js.map +1 -0
- package/dist/index.cjs +6 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp-ui-spec/dist/schemas.cjs +16 -5
- package/dist/mcp-ui-spec/dist/schemas.cjs.map +1 -1
- package/dist/mcp-ui-spec/dist/schemas.js +16 -5
- package/dist/mcp-ui-spec/dist/schemas.js.map +1 -1
- package/dist/services/telemetry.cjs +56 -0
- package/dist/services/telemetry.cjs.map +1 -0
- package/dist/services/telemetry.d.ts +87 -0
- package/dist/services/telemetry.d.ts.map +1 -0
- package/dist/services/telemetry.js +56 -0
- package/dist/services/telemetry.js.map +1 -0
- package/dist/services/validation.cjs +25 -24
- package/dist/services/validation.cjs.map +1 -1
- package/dist/services/validation.d.ts.map +1 -1
- package/dist/services/validation.js +26 -25
- package/dist/services/validation.js.map +1 -1
- package/package.json +2 -2
- package/src/components/FormRenderer.tsx +14 -0
- package/src/components/GenerativeUIErrorBoundary.tsx +17 -1
- package/src/components/StreamingUIRenderer.tsx +55 -3
- package/src/components/UIResourceRenderer.tsx +79 -3
- package/src/context/MCPUITelemetryContext.test.tsx +119 -0
- package/src/context/MCPUITelemetryContext.tsx +71 -0
- package/src/index.ts +15 -0
- package/src/services/telemetry.test.ts +134 -0
- package/src/services/telemetry.ts +149 -0
- package/src/services/validation.ts +43 -41
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const web = require("solid-js/web");
|
|
4
|
+
const solidJs = require("solid-js");
|
|
5
|
+
const telemetry = require("../services/telemetry.cjs");
|
|
6
|
+
const MCPUITelemetryContext = solidJs.createContext(null);
|
|
7
|
+
const MCPUITelemetryProvider = (props) => {
|
|
8
|
+
const dispatcher = telemetry.createTelemetryDispatcher(props.sink, props.options);
|
|
9
|
+
solidJs.onCleanup(() => {
|
|
10
|
+
dispatcher.flush();
|
|
11
|
+
});
|
|
12
|
+
return web.createComponent(MCPUITelemetryContext.Provider, {
|
|
13
|
+
value: dispatcher,
|
|
14
|
+
get children() {
|
|
15
|
+
return props.children;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
function useTelemetry() {
|
|
20
|
+
return solidJs.useContext(MCPUITelemetryContext);
|
|
21
|
+
}
|
|
22
|
+
exports.MCPUITelemetryContext = MCPUITelemetryContext;
|
|
23
|
+
exports.MCPUITelemetryProvider = MCPUITelemetryProvider;
|
|
24
|
+
exports.useTelemetry = useTelemetry;
|
|
25
|
+
//# sourceMappingURL=MCPUITelemetryContext.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MCPUITelemetryContext.cjs","sources":["../../src/context/MCPUITelemetryContext.tsx"],"sourcesContent":["/**\n * MCPUITelemetryProvider + useTelemetry hook (B.5 — v5.6.0)\n *\n * SolidJS Context wrapper around `createTelemetryDispatcher`. Optional —\n * when no Provider is present, `useTelemetry()` returns `null` and dispatch\n * sites no-op (zero behavior change for apps that don't opt in).\n *\n * See `services/telemetry.ts` for the dispatcher contract and\n * `MCP-UI-AUDIT-2026-04-26.md` §M.6 for the full specification.\n */\n\nimport {\n createContext,\n useContext,\n onCleanup,\n type Component,\n type JSX,\n} from 'solid-js'\nimport {\n createTelemetryDispatcher,\n type TelemetryDispatcher,\n type TelemetrySink,\n type TelemetryOptions,\n} from '../services/telemetry'\n\nexport const MCPUITelemetryContext = createContext<TelemetryDispatcher | null>(null)\n\nexport interface MCPUITelemetryProviderProps {\n /** Consumer-supplied sink. Receives a batch of events. Fail-open. */\n sink: TelemetrySink\n /** Sampling + buffering knobs (defaults: 100% / 100ms / max 50). */\n options?: TelemetryOptions\n children: JSX.Element\n}\n\nexport const MCPUITelemetryProvider: Component<MCPUITelemetryProviderProps> = (props) => {\n // Dispatcher is created once per Provider mount. `props.sink` and\n // `props.options` are captured at that moment — consumers should treat\n // them as effectively immutable for the Provider's lifetime (re-mount the\n // Provider to swap them).\n const dispatcher = createTelemetryDispatcher(props.sink, props.options)\n\n // Force-flush on unmount so any buffered events from the last bufferMs\n // window aren't lost (e.g. tab close, route change with cleanup).\n onCleanup(() => {\n dispatcher.flush()\n })\n\n return (\n <MCPUITelemetryContext.Provider value={dispatcher}>\n {props.children}\n </MCPUITelemetryContext.Provider>\n )\n}\n\n/**\n * Returns the current telemetry dispatcher, or `null` when no Provider is\n * mounted in the tree above. Dispatch sites should null-check and no-op\n * when null — telemetry is OPT-IN and must not impose a Provider on apps.\n *\n * @example\n * ```tsx\n * const telemetry = useTelemetry()\n * onMount(() => {\n * telemetry?.dispatch({ type: 'component:mounted', id, componentType, ts: Date.now() })\n * })\n * ```\n */\nexport function useTelemetry(): TelemetryDispatcher | null {\n return useContext(MCPUITelemetryContext)\n}\n"],"names":["MCPUITelemetryContext","createContext","MCPUITelemetryProvider","props","dispatcher","createTelemetryDispatcher","sink","options","onCleanup","flush","_$createComponent","Provider","value","children","useTelemetry","useContext"],"mappings":";;;;;AAyBO,MAAMA,wBAAwBC,QAAAA,cAA0C,IAAI;AAU5E,MAAMC,yBAAkEC,CAAAA,UAAU;AAKvF,QAAMC,aAAaC,UAAAA,0BAA0BF,MAAMG,MAAMH,MAAMI,OAAO;AAItEC,UAAAA,UAAU,MAAM;AACdJ,eAAWK,MAAAA;AAAAA,EACb,CAAC;AAED,SAAAC,IAAAA,gBACGV,sBAAsBW,UAAQ;AAAA,IAACC,OAAOR;AAAAA,IAAU,IAAAS,WAAA;AAAA,aAC9CV,MAAMU;AAAAA,IAAQ;AAAA,EAAA,CAAA;AAGrB;AAeO,SAASC,eAA2C;AACzD,SAAOC,QAAAA,WAAWf,qBAAqB;AACzC;;;;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCPUITelemetryProvider + useTelemetry hook (B.5 — v5.6.0)
|
|
3
|
+
*
|
|
4
|
+
* SolidJS Context wrapper around `createTelemetryDispatcher`. Optional —
|
|
5
|
+
* when no Provider is present, `useTelemetry()` returns `null` and dispatch
|
|
6
|
+
* sites no-op (zero behavior change for apps that don't opt in).
|
|
7
|
+
*
|
|
8
|
+
* See `services/telemetry.ts` for the dispatcher contract and
|
|
9
|
+
* `MCP-UI-AUDIT-2026-04-26.md` §M.6 for the full specification.
|
|
10
|
+
*/
|
|
11
|
+
import { type Component, type JSX } from 'solid-js';
|
|
12
|
+
import { type TelemetryDispatcher, type TelemetrySink, type TelemetryOptions } from '../services/telemetry';
|
|
13
|
+
export declare const MCPUITelemetryContext: import("solid-js").Context<TelemetryDispatcher | null>;
|
|
14
|
+
export interface MCPUITelemetryProviderProps {
|
|
15
|
+
/** Consumer-supplied sink. Receives a batch of events. Fail-open. */
|
|
16
|
+
sink: TelemetrySink;
|
|
17
|
+
/** Sampling + buffering knobs (defaults: 100% / 100ms / max 50). */
|
|
18
|
+
options?: TelemetryOptions;
|
|
19
|
+
children: JSX.Element;
|
|
20
|
+
}
|
|
21
|
+
export declare const MCPUITelemetryProvider: Component<MCPUITelemetryProviderProps>;
|
|
22
|
+
/**
|
|
23
|
+
* Returns the current telemetry dispatcher, or `null` when no Provider is
|
|
24
|
+
* mounted in the tree above. Dispatch sites should null-check and no-op
|
|
25
|
+
* when null — telemetry is OPT-IN and must not impose a Provider on apps.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```tsx
|
|
29
|
+
* const telemetry = useTelemetry()
|
|
30
|
+
* onMount(() => {
|
|
31
|
+
* telemetry?.dispatch({ type: 'component:mounted', id, componentType, ts: Date.now() })
|
|
32
|
+
* })
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export declare function useTelemetry(): TelemetryDispatcher | null;
|
|
36
|
+
//# sourceMappingURL=MCPUITelemetryContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MCPUITelemetryContext.d.ts","sourceRoot":"","sources":["../../src/context/MCPUITelemetryContext.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,GAAG,EACT,MAAM,UAAU,CAAA;AACjB,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAA;AAE9B,eAAO,MAAM,qBAAqB,wDAAkD,CAAA;AAEpF,MAAM,WAAW,2BAA2B;IAC1C,qEAAqE;IACrE,IAAI,EAAE,aAAa,CAAA;IACnB,oEAAoE;IACpE,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAA;CACtB;AAED,eAAO,MAAM,sBAAsB,EAAE,SAAS,CAAC,2BAA2B,CAkBzE,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,IAAI,mBAAmB,GAAG,IAAI,CAEzD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { createComponent } from "solid-js/web";
|
|
2
|
+
import { createContext, onCleanup, useContext } from "solid-js";
|
|
3
|
+
import { createTelemetryDispatcher } from "../services/telemetry.js";
|
|
4
|
+
const MCPUITelemetryContext = createContext(null);
|
|
5
|
+
const MCPUITelemetryProvider = (props) => {
|
|
6
|
+
const dispatcher = createTelemetryDispatcher(props.sink, props.options);
|
|
7
|
+
onCleanup(() => {
|
|
8
|
+
dispatcher.flush();
|
|
9
|
+
});
|
|
10
|
+
return createComponent(MCPUITelemetryContext.Provider, {
|
|
11
|
+
value: dispatcher,
|
|
12
|
+
get children() {
|
|
13
|
+
return props.children;
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
function useTelemetry() {
|
|
18
|
+
return useContext(MCPUITelemetryContext);
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
MCPUITelemetryContext,
|
|
22
|
+
MCPUITelemetryProvider,
|
|
23
|
+
useTelemetry
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=MCPUITelemetryContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MCPUITelemetryContext.js","sources":["../../src/context/MCPUITelemetryContext.tsx"],"sourcesContent":["/**\n * MCPUITelemetryProvider + useTelemetry hook (B.5 — v5.6.0)\n *\n * SolidJS Context wrapper around `createTelemetryDispatcher`. Optional —\n * when no Provider is present, `useTelemetry()` returns `null` and dispatch\n * sites no-op (zero behavior change for apps that don't opt in).\n *\n * See `services/telemetry.ts` for the dispatcher contract and\n * `MCP-UI-AUDIT-2026-04-26.md` §M.6 for the full specification.\n */\n\nimport {\n createContext,\n useContext,\n onCleanup,\n type Component,\n type JSX,\n} from 'solid-js'\nimport {\n createTelemetryDispatcher,\n type TelemetryDispatcher,\n type TelemetrySink,\n type TelemetryOptions,\n} from '../services/telemetry'\n\nexport const MCPUITelemetryContext = createContext<TelemetryDispatcher | null>(null)\n\nexport interface MCPUITelemetryProviderProps {\n /** Consumer-supplied sink. Receives a batch of events. Fail-open. */\n sink: TelemetrySink\n /** Sampling + buffering knobs (defaults: 100% / 100ms / max 50). */\n options?: TelemetryOptions\n children: JSX.Element\n}\n\nexport const MCPUITelemetryProvider: Component<MCPUITelemetryProviderProps> = (props) => {\n // Dispatcher is created once per Provider mount. `props.sink` and\n // `props.options` are captured at that moment — consumers should treat\n // them as effectively immutable for the Provider's lifetime (re-mount the\n // Provider to swap them).\n const dispatcher = createTelemetryDispatcher(props.sink, props.options)\n\n // Force-flush on unmount so any buffered events from the last bufferMs\n // window aren't lost (e.g. tab close, route change with cleanup).\n onCleanup(() => {\n dispatcher.flush()\n })\n\n return (\n <MCPUITelemetryContext.Provider value={dispatcher}>\n {props.children}\n </MCPUITelemetryContext.Provider>\n )\n}\n\n/**\n * Returns the current telemetry dispatcher, or `null` when no Provider is\n * mounted in the tree above. Dispatch sites should null-check and no-op\n * when null — telemetry is OPT-IN and must not impose a Provider on apps.\n *\n * @example\n * ```tsx\n * const telemetry = useTelemetry()\n * onMount(() => {\n * telemetry?.dispatch({ type: 'component:mounted', id, componentType, ts: Date.now() })\n * })\n * ```\n */\nexport function useTelemetry(): TelemetryDispatcher | null {\n return useContext(MCPUITelemetryContext)\n}\n"],"names":["MCPUITelemetryContext","createContext","MCPUITelemetryProvider","props","dispatcher","createTelemetryDispatcher","sink","options","onCleanup","flush","_$createComponent","Provider","value","children","useTelemetry","useContext"],"mappings":";;;AAyBO,MAAMA,wBAAwBC,cAA0C,IAAI;AAU5E,MAAMC,yBAAkEC,CAAAA,UAAU;AAKvF,QAAMC,aAAaC,0BAA0BF,MAAMG,MAAMH,MAAMI,OAAO;AAItEC,YAAU,MAAM;AACdJ,eAAWK,MAAAA;AAAAA,EACb,CAAC;AAED,SAAAC,gBACGV,sBAAsBW,UAAQ;AAAA,IAACC,OAAOR;AAAAA,IAAU,IAAAS,WAAA;AAAA,aAC9CV,MAAMU;AAAAA,IAAQ;AAAA,EAAA,CAAA;AAGrB;AAeO,SAASC,eAA2C;AACzD,SAAOC,WAAWf,qBAAqB;AACzC;"}
|
package/dist/index.cjs
CHANGED
|
@@ -39,6 +39,8 @@ const AutocompleteDropdown = require("./components/AutocompleteDropdown.cjs");
|
|
|
39
39
|
const AutocompleteFormField = require("./components/AutocompleteFormField.cjs");
|
|
40
40
|
const logger = require("./utils/logger.cjs");
|
|
41
41
|
const perf = require("./utils/perf.cjs");
|
|
42
|
+
const MCPUITelemetryContext = require("./context/MCPUITelemetryContext.cjs");
|
|
43
|
+
const telemetry = require("./services/telemetry.cjs");
|
|
42
44
|
const useStreamingUI = require("./hooks/useStreamingUI.cjs");
|
|
43
45
|
const useAction = require("./hooks/useAction.cjs");
|
|
44
46
|
const useConditionalField = require("./hooks/useConditionalField.cjs");
|
|
@@ -100,6 +102,10 @@ exports.setDebugMode = logger.setDebugMode;
|
|
|
100
102
|
exports.PERF_PREFIX = perf.PERF_PREFIX;
|
|
101
103
|
exports.markRenderEnd = perf.markRenderEnd;
|
|
102
104
|
exports.markRenderStart = perf.markRenderStart;
|
|
105
|
+
exports.MCPUITelemetryContext = MCPUITelemetryContext.MCPUITelemetryContext;
|
|
106
|
+
exports.MCPUITelemetryProvider = MCPUITelemetryContext.MCPUITelemetryProvider;
|
|
107
|
+
exports.useTelemetry = MCPUITelemetryContext.useTelemetry;
|
|
108
|
+
exports.createTelemetryDispatcher = telemetry.createTelemetryDispatcher;
|
|
103
109
|
exports.useStreamingUI = useStreamingUI.useStreamingUI;
|
|
104
110
|
exports.useAction = useAction.useAction;
|
|
105
111
|
exports.useToolAction = useAction.useToolAction;
|
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.d.cts
CHANGED
|
@@ -56,6 +56,10 @@ export type { UIResourceRendererProps, StreamingUIRendererProps, GenerativeUIErr
|
|
|
56
56
|
export type { ValidationErrorMode } from './components/UIResourceRenderer';
|
|
57
57
|
export { setDebugMode, isDebugEnabled } from './utils/logger';
|
|
58
58
|
export { markRenderStart, markRenderEnd, PERF_PREFIX } from './utils/perf';
|
|
59
|
+
export { MCPUITelemetryProvider, MCPUITelemetryContext, useTelemetry, } from './context/MCPUITelemetryContext';
|
|
60
|
+
export type { MCPUITelemetryProviderProps } from './context/MCPUITelemetryContext';
|
|
61
|
+
export { createTelemetryDispatcher } from './services/telemetry';
|
|
62
|
+
export type { TelemetryEvent, TelemetrySink, TelemetryOptions, TelemetryDispatcher, } from './services/telemetry';
|
|
59
63
|
export type { DraggableGridItemProps } from './components/DraggableGridItem';
|
|
60
64
|
export type { ResizeHandleProps as ResizeHandleComponentProps } from './components/ResizeHandle';
|
|
61
65
|
export type { EditableUIResourceRendererProps } from './components/EditableUIResourceRenderer';
|
package/dist/index.d.ts
CHANGED
|
@@ -56,6 +56,10 @@ export type { UIResourceRendererProps, StreamingUIRendererProps, GenerativeUIErr
|
|
|
56
56
|
export type { ValidationErrorMode } from './components/UIResourceRenderer';
|
|
57
57
|
export { setDebugMode, isDebugEnabled } from './utils/logger';
|
|
58
58
|
export { markRenderStart, markRenderEnd, PERF_PREFIX } from './utils/perf';
|
|
59
|
+
export { MCPUITelemetryProvider, MCPUITelemetryContext, useTelemetry, } from './context/MCPUITelemetryContext';
|
|
60
|
+
export type { MCPUITelemetryProviderProps } from './context/MCPUITelemetryContext';
|
|
61
|
+
export { createTelemetryDispatcher } from './services/telemetry';
|
|
62
|
+
export type { TelemetryEvent, TelemetrySink, TelemetryOptions, TelemetryDispatcher, } from './services/telemetry';
|
|
59
63
|
export type { DraggableGridItemProps } from './components/DraggableGridItem';
|
|
60
64
|
export type { ResizeHandleProps as ResizeHandleComponentProps } from './components/ResizeHandle';
|
|
61
65
|
export type { EditableUIResourceRendererProps } from './components/EditableUIResourceRenderer';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAGjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAA;AACpF,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,YAAY,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAG7F,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,2BAA2B,CAAA;AAClC,YAAY,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAGtE,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,6BAA6B,EAC7B,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,oCAAoC,CAAA;AAC3C,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,oCAAoC,CAAA;AAG3C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAGpE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAGxD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAE1E,YAAY,EACV,uBAAuB,EACvB,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,cAAc,CAAA;AAGrB,YAAY,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AAG1E,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -37,6 +37,8 @@ import { AutocompleteDropdown } from "./components/AutocompleteDropdown.js";
|
|
|
37
37
|
import { AutocompleteFormField } from "./components/AutocompleteFormField.js";
|
|
38
38
|
import { isDebugEnabled, setDebugMode } from "./utils/logger.js";
|
|
39
39
|
import { PERF_PREFIX, markRenderEnd, markRenderStart } from "./utils/perf.js";
|
|
40
|
+
import { MCPUITelemetryContext, MCPUITelemetryProvider, useTelemetry } from "./context/MCPUITelemetryContext.js";
|
|
41
|
+
import { createTelemetryDispatcher } from "./services/telemetry.js";
|
|
40
42
|
import { useStreamingUI } from "./hooks/useStreamingUI.js";
|
|
41
43
|
import { useAction, useToolAction } from "./hooks/useAction.js";
|
|
42
44
|
import { evaluateCondition, useConditionalField } from "./hooks/useConditionalField.js";
|
|
@@ -82,6 +84,8 @@ export {
|
|
|
82
84
|
GhostTextInput,
|
|
83
85
|
MCPActionContext,
|
|
84
86
|
MCPActionProvider,
|
|
87
|
+
MCPUITelemetryContext,
|
|
88
|
+
MCPUITelemetryProvider,
|
|
85
89
|
PERF_PREFIX,
|
|
86
90
|
PromptReplacedError,
|
|
87
91
|
ResizeHandle,
|
|
@@ -106,6 +110,7 @@ export {
|
|
|
106
110
|
createScratchpadStore,
|
|
107
111
|
createServerCapabilitiesStore,
|
|
108
112
|
createSupabasePlugin,
|
|
113
|
+
createTelemetryDispatcher,
|
|
109
114
|
dispatchScratchpad,
|
|
110
115
|
elicitationToPromptConfig,
|
|
111
116
|
evaluateCondition,
|
|
@@ -134,6 +139,7 @@ export {
|
|
|
134
139
|
useScratchpadState,
|
|
135
140
|
useServerCapabilities,
|
|
136
141
|
useStreamingUI,
|
|
142
|
+
useTelemetry,
|
|
137
143
|
useToolAction,
|
|
138
144
|
validateAgainstSource,
|
|
139
145
|
validateComponent,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -82,7 +82,7 @@ const ShowWhenConditionSchema = types.object({
|
|
|
82
82
|
});
|
|
83
83
|
const PrefillSourceSchema = types.enum(["user", "detected", "inferred", "default"]);
|
|
84
84
|
const FormFieldSchema = types.object({
|
|
85
|
-
name: types.string().regex(/^[a-zA-Z][
|
|
85
|
+
name: types.string().regex(/^[a-zA-Z][\w.-]*$/),
|
|
86
86
|
type: FormFieldTypeSchema,
|
|
87
87
|
label: types.string().optional(),
|
|
88
88
|
placeholder: types.string().optional(),
|
|
@@ -145,7 +145,7 @@ const FormSubmitActionSchema = types.object({
|
|
|
145
145
|
toolName: types.string().min(1),
|
|
146
146
|
params: types.record(types.unknown()).optional()
|
|
147
147
|
});
|
|
148
|
-
types.object({
|
|
148
|
+
const FormComponentParamsSchema = types.object({
|
|
149
149
|
title: types.string().optional(),
|
|
150
150
|
fields: types.array(FormFieldSchema).min(1),
|
|
151
151
|
submitLabel: types.string().optional(),
|
|
@@ -239,13 +239,19 @@ const CodeComponentParamsSchema = types.object({
|
|
|
239
239
|
maxHeight: types.string().optional(),
|
|
240
240
|
theme: types.enum(["light", "dark"]).optional()
|
|
241
241
|
});
|
|
242
|
+
const LatLngObjectSchema = types.object({
|
|
243
|
+
lat: types.number(),
|
|
244
|
+
lng: types.number()
|
|
245
|
+
});
|
|
246
|
+
const LatLngTupleSchema = types.tuple([types.number(), types.number()]);
|
|
247
|
+
const LatLngPointSchema = types.union([LatLngTupleSchema, LatLngObjectSchema]);
|
|
242
248
|
const MapMarkerSchema = types.object({
|
|
243
|
-
position:
|
|
249
|
+
position: LatLngPointSchema,
|
|
244
250
|
tooltip: types.string().optional(),
|
|
245
251
|
popup: types.string().optional()
|
|
246
252
|
});
|
|
247
|
-
types.object({
|
|
248
|
-
center:
|
|
253
|
+
const MapComponentParamsSchema = types.object({
|
|
254
|
+
center: LatLngPointSchema.optional(),
|
|
249
255
|
zoom: types.number().optional(),
|
|
250
256
|
markers: types.array(MapMarkerSchema).optional(),
|
|
251
257
|
height: types.string().optional(),
|
|
@@ -460,6 +466,7 @@ exports.ComponentExampleSchema = ComponentExampleSchema;
|
|
|
460
466
|
exports.ComponentSchema = ComponentSchema;
|
|
461
467
|
exports.ComponentSchemaSchema = ComponentSchemaSchema;
|
|
462
468
|
exports.ComponentTypeSchema = ComponentTypeSchema;
|
|
469
|
+
exports.FormComponentParamsSchema = FormComponentParamsSchema;
|
|
463
470
|
exports.FormFieldOptionSchema = FormFieldOptionSchema;
|
|
464
471
|
exports.FormFieldSchema = FormFieldSchema;
|
|
465
472
|
exports.FormFieldTypeSchema = FormFieldTypeSchema;
|
|
@@ -471,7 +478,11 @@ exports.ImageComponentParamsSchema = ImageComponentParamsSchema;
|
|
|
471
478
|
exports.ImageGalleryAspectRatioSchema = ImageGalleryAspectRatioSchema;
|
|
472
479
|
exports.ImageGalleryGapSchema = ImageGalleryGapSchema;
|
|
473
480
|
exports.ImageGalleryParamsSchema = ImageGalleryParamsSchema;
|
|
481
|
+
exports.LatLngObjectSchema = LatLngObjectSchema;
|
|
482
|
+
exports.LatLngPointSchema = LatLngPointSchema;
|
|
483
|
+
exports.LatLngTupleSchema = LatLngTupleSchema;
|
|
474
484
|
exports.LinkComponentParamsSchema = LinkComponentParamsSchema;
|
|
485
|
+
exports.MapComponentParamsSchema = MapComponentParamsSchema;
|
|
475
486
|
exports.MapMarkerSchema = MapMarkerSchema;
|
|
476
487
|
exports.MetricComponentParamsSchema = MetricComponentParamsSchema;
|
|
477
488
|
exports.MetricTrendSchema = MetricTrendSchema;
|
|
@@ -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]);\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][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});\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 MapMarkerSchema = z.object({\n position: z.tuple([z.number(), z.number()]),\n tooltip: z.string().optional(),\n popup: z.string().optional()\n});\nconst 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});\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 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});\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});\nexport {\n ActionGroupGapSchema,\n ActionGroupLayoutSchema,\n ActionGroupParamsSchema,\n ActionParamsSchema,\n ArtifactComponentParamsSchema,\n CarouselComponentParamsSchema,\n ChartComponentParamsSchema,\n ChartDatasetSchema,\n ChartTimeAxisSchema,\n ChartTypeSchema,\n CodeComponentParamsSchema,\n ComponentExampleSchema,\n ComponentRegistrySchema,\n ComponentSchema,\n ComponentSchemaSchema,\n ComponentTypeSchema,\n FormComponentParamsSchema,\n FormFieldOptionSchema,\n FormFieldSchema,\n FormFieldTypeSchema,\n FormSubmitActionSchema,\n GalleryImageSchema,\n GridPositionSchema,\n IframeComponentParamsSchema,\n ImageComponentParamsSchema,\n ImageGalleryAspectRatioSchema,\n ImageGalleryColumnsSchema,\n ImageGalleryGapSchema,\n ImageGalleryParamsSchema,\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":";;;AACK,MAAC,qBAAqBA,MAAAA,OAAS;AAAA,EAClC,UAAUC,MAAAA,OAAQ,EAAG,IAAG,EAAG,IAAI,CAAC,EAAE,IAAI,EAAE;AAAA,EACxC,SAASA,MAAAA,OAAQ,EAAG,IAAG,EAAG,IAAI,CAAC,EAAE,IAAI,EAAE;AAAA,EACvC,UAAUA,MAAAA,OAAQ,EAAG,IAAG,EAAG,IAAI,CAAC,EAAE,SAAQ;AAAA,EAC1C,SAASA,MAAAA,SAAW,MAAM,IAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,SAAQ;AACtD,CAAC;AACI,MAAC,sBAAsBC,MAAAA,KAAO;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA;AAAA,EAEA;AAAA;AAAA,EAEA;AAAA;AAAA,EAEA;AAAA;AAAA,EAEA;AAAA;AAAA,EAEA;AAAA;AAEF,CAAC;AACI,MAAC,wBAAwBF,MAAAA,OAAS;AAAA,EACrC,OAAOG,MAAAA,OAAQ,EAAG,IAAI,CAAC;AAAA,EACvB,OAAOA,MAAAA,OAAQ;AAAA,EACf,UAAUC,MAAAA,QAAS,EAAG,SAAQ;AAChC,CAAC;AACI,MAAC,sBAAsBF,MAAAA,KAAO;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AACI,MAAC,yBAAyBA,MAAAA,KAAO;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AACI,MAAC,0BAA0BF,MAAAA,OAAS;AAAA,EACvC,OAAOG,MAAAA,OAAQ,EAAG,IAAI,CAAC;AAAA,EACvB,UAAU;AAAA,EACV,OAAOE,MAAAA,IAAK,EAAG,SAAQ;AACzB,CAAC;AACI,MAAC,sBAAsBH,MAAAA,KAAO,CAAC,QAAQ,YAAY,YAAY,SAAS,CAAC;AACzE,MAAC,kBAAkBF,MAAAA,OAAS;AAAA,EAC/B,MAAMG,MAAAA,OAAQ,EAAG,MAAM,yBAAyB;AAAA,EAChD,MAAM;AAAA,EACN,OAAOA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC1B,aAAaA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAChC,UAAUA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC7B,UAAUC,MAAAA,QAAS,EAAG,SAAQ;AAAA,EAC9B,UAAUA,MAAAA,QAAS,EAAG,SAAQ;AAAA,EAC9B,cAAcC,MAAAA,IAAK,EAAG,SAAQ;AAAA;AAAA,EAE9B,SAASC,MAAAA,MAAQ,CAACH,aAAQ,GAAII,MAAAA,MAAQJ,aAAQ,CAAE,CAAC,CAAC,EAAE,SAAQ;AAAA,EAC5D,aAAaA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAChC,QAAQ,oBAAoB,SAAQ;AAAA,EACpC,OAAOC,MAAAA,QAAS,EAAG,SAAQ;AAAA;AAAA,EAE3B,aAAaF,MAAAA,KAAO,CAAC,SAAS,SAAS,CAAC,EAAE,SAAQ;AAAA;AAAA,EAElD,aAAaC,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAChC,iBAAiBA,MAAAA,OAAQ,EAAG,SAAQ;AAAA;AAAA,EAEpC,WAAWF,MAAAA,OAAQ,EAAG,IAAG,EAAG,IAAI,CAAC,EAAE,SAAQ;AAAA,EAC3C,WAAWA,MAAAA,OAAQ,EAAG,IAAG,EAAG,IAAI,CAAC,EAAE,SAAQ;AAAA,EAC3C,SAASE,MAAAA,OAAQ,EAAG,SAAQ;AAAA;AAAA,EAE5B,KAAKF,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EACxB,KAAKA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EACxB,MAAMA,MAAAA,OAAQ,EAAG,SAAQ;AAAA;AAAA,EAEzB,SAASE,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC5B,SAASA,MAAAA,OAAQ,EAAG,SAAQ;AAAA;AAAA,EAE5B,SAASI,MAAAA,MAAQ,qBAAqB,EAAE,SAAQ;AAAA;AAAA,EAEhD,UAAUH,MAAAA,QAAS,EAAG,SAAQ;AAAA;AAAA,EAE9B,QAAQD,MAAAA,OAAQ,EAAG,IAAG,EAAG,SAAQ;AAAA,EACjC,aAAaA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAChC,YAAYA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC/B,YAAYA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC/B,aAAaK,MAAAA,OAASL,aAAQ,CAAE,EAAE,SAAQ;AAAA,EAC1C,UAAUF,MAAAA,OAAQ,EAAG,IAAG,EAAG,IAAI,CAAC,EAAE,SAAQ;AAAA,EAC1C,YAAYA,MAAAA,OAAQ,EAAG,IAAG,EAAG,IAAI,CAAC,EAAE,SAAQ;AAAA;AAAA,EAE5C,WAAWD,MAAAA,OAAS;AAAA,IAClB,OAAOG,MAAAA,OAAQ;AAAA,IACf,QAAQA,MAAAA,OAAQ;AAAA,IAChB,YAAYA,MAAAA,OAAQ;AAAA,IACpB,YAAYA,MAAAA,OAAQ;AAAA,IACpB,aAAaK,MAAAA,OAASL,aAAQ,CAAE,EAAE,SAAQ;AAAA,EAC9C,CAAG,EAAE,SAAQ;AAAA;AAAA,EAEX,aAAaD,MAAAA,KAAO,CAAC,YAAY,YAAY,eAAe,SAAS,CAAC,EAAE,SAAQ;AAAA,EAChF,cAAcC,MAAAA,OAAQ,EAAG,SAAQ;AAAA;AAAA,EAEjC,eAAeA,MAAAA,OAAQ,EAAG,SAAQ;AAAA;AAAA,EAElC,MAAMF,MAAAA,SAAW,MAAM,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,SAAQ;AAAA;AAAA,EAE9C,UAAU,wBAAwB,SAAQ;AAC5C,CAAC;AACI,MAAC,yBAAyBD,MAAAA,OAAS;AAAA,EACtC,UAAUG,MAAAA,OAAQ,EAAG,IAAI,CAAC;AAAA,EAC1B,QAAQK,MAAAA,OAASC,cAAS,CAAE,EAAE,SAAQ;AACxC,CAAC;AACiCT,MAAAA,OAAS;AAAA,EACzC,OAAOG,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC1B,QAAQI,MAAAA,MAAQ,eAAe,EAAE,IAAI,CAAC;AAAA,EACtC,aAAaJ,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAChC,WAAWC,MAAAA,QAAS,EAAG,SAAQ;AAAA,EAC/B,cAAc,uBAAuB,SAAQ;AAAA;AAAA,EAE7C,YAAYD,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC/B,wBAAwBI,MAAAA,MAAQJ,aAAQ,CAAE,EAAE,SAAQ;AAAA,EACpD,kBAAkBF,MAAAA,OAAQ,EAAG,IAAG,EAAG,SAAQ,EAAG,SAAQ;AAAA,EACtD,QAAQC,MAAAA,KAAO,CAAC,YAAY,cAAc,QAAQ,CAAC,EAAE,SAAQ;AAAA;AAAA,EAE7D,iBAAiBD,MAAAA,SAAW,MAAM,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,SAAQ;AAC9D,CAAC;AACI,MAAC,kBAAkBC,MAAAA,KAAO,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,CAAC;AAC5BF,MAAAA,OAAS;AAAA,EAC1C,OAAOG,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC1B,MAAM,gBAAgB,SAAQ;AAAA,EAC9B,WAAWC,MAAAA,QAAS,EAAG,SAAQ;AAAA,EAC/B,eAAeA,MAAAA,QAAS,EAAG,SAAQ;AAAA,EACnC,iBAAiBA,MAAAA,QAAS,EAAG,SAAQ;AAAA,EACrC,WAAWD,MAAAA,OAAQ,EAAG,SAAQ;AAAA;AAEhC,CAAC;AACI,MAAC,0BAA0BD,MAAAA,KAAO;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AACI,MAAC,uBAAuBA,MAAAA,KAAO,CAAC,QAAQ,MAAM,MAAM,IAAI,CAAC;AACzD,MAAC,qBAAqBF,MAAAA,OAAS;AAAA,EAClC,OAAOG,MAAAA,OAAQ,EAAG,IAAI,CAAC;AAAA,EACvB,MAAMD,MAAAA,KAAO,CAAC,UAAU,MAAM,CAAC,EAAE,SAAQ;AAAA,EACzC,QAAQA,MAAAA,KAAO,CAAC,aAAa,QAAQ,QAAQ,CAAC,EAAE,SAAQ;AAAA,EACxD,UAAUC,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC7B,QAAQK,MAAAA,OAASC,cAAS,CAAE,EAAE,SAAQ;AAAA,EACtC,KAAKN,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EACxB,SAASD,MAAAA,KAAO,CAAC,WAAW,aAAa,WAAW,SAAS,QAAQ,CAAC,EAAE,SAAQ;AAAA,EAChF,MAAMA,MAAAA,KAAO,CAAC,MAAM,MAAM,IAAI,CAAC,EAAE,SAAQ;AAAA,EACzC,MAAMC,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EACzB,UAAUC,MAAAA,QAAS,EAAG,SAAQ;AAChC,CAAC;AACI,MAAC,0BAA0BJ,MAAAA,OAAS;AAAA,EACvC,SAASO,MAAAA,MAAQ,kBAAkB,EAAE,IAAI,CAAC;AAAA,EAC1C,QAAQ,wBAAwB,SAAQ;AAAA,EACxC,KAAK,qBAAqB,SAAQ;AAAA,EAClC,WAAWH,MAAAA,QAAS,EAAG,SAAQ;AAAA,EAC/B,OAAOD,MAAAA,OAAQ,EAAG,SAAQ;AAC5B,CAAC;AACI,MAAC,qBAAqBH,MAAAA,OAAS;AAAA,EAClC,KAAKG,MAAAA,OAAQ,EAAG,IAAG;AAAA,EACnB,WAAWA,MAAAA,OAAQ,EAAG,IAAG,EAAG,SAAQ;AAAA,EACpC,KAAKA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EACxB,SAASA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC5B,QAAQA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC3B,OAAOA,MAAAA,OAAQ,EAAG,SAAQ;AAC5B,CAAC;AACiCD,MAAAA,KAAO,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,EAAE,UAAU,MAAM;AAC1E,MAAC,wBAAwBA,MAAAA,KAAO,CAAC,QAAQ,MAAM,MAAM,IAAI,CAAC;AAC1D,MAAC,gCAAgCA,MAAAA,KAAO,CAAC,OAAO,QAAQ,OAAO,MAAM,CAAC;AACtE,MAAC,2BAA2BF,MAAAA,OAAS;AAAA,EACxC,OAAOG,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC1B,QAAQI,MAAAA,MAAQ,kBAAkB,EAAE,IAAI,CAAC;AAAA,EACzC,SAASD,MAAAA,MAAQ,CAACI,MAAAA,QAAU,CAAC,GAAGA,MAAAA,QAAU,CAAC,GAAGA,MAAAA,QAAU,CAAC,GAAGA,MAAAA,QAAU,CAAC,CAAC,CAAC,EAAE,SAAQ;AAAA,EACnF,KAAK,sBAAsB,SAAQ;AAAA,EACnC,aAAa,8BAA8B,SAAQ;AAAA,EACnD,UAAUN,MAAAA,QAAS,EAAG,SAAQ;AAAA,EAC9B,cAAcA,MAAAA,QAAS,EAAG,SAAQ;AACpC,CAAC;AACI,MAAC,yBAAyBF,MAAAA,KAAO,CAAC,QAAQ,OAAO,OAAO,MAAM,CAAC;AAC/D,MAAC,6BAA6BF,MAAAA,OAAS;AAAA,EAC1C,KAAKG,MAAAA,OAAQ,EAAG,IAAG;AAAA,EACnB,OAAOA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC1B,SAASA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC5B,QAAQA,MAAAA,OAAQ,EAAG,IAAG,EAAG,SAAQ;AAAA,EACjC,aAAa,uBAAuB,SAAQ;AAAA,EAC5C,UAAUC,MAAAA,QAAS,EAAG,SAAQ;AAAA,EAC9B,UAAUA,MAAAA,QAAS,EAAG,SAAQ;AAAA,EAC9B,MAAMA,MAAAA,QAAS,EAAG,SAAQ;AAAA,EAC1B,OAAOA,MAAAA,QAAS,EAAG,SAAQ;AAAA,EAC3B,WAAWH,MAAAA,OAAQ,EAAG,IAAG,EAAG,IAAI,CAAC,EAAE,SAAQ;AAC7C,CAAC;AACI,MAAC,4BAA4BD,MAAAA,OAAS;AAAA,EACzC,MAAMG,MAAAA,OAAQ;AAAA,EACd,UAAUA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC7B,UAAUA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC7B,iBAAiBC,MAAAA,QAAS,EAAG,SAAQ;AAAA,EACrC,WAAWH,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC9B,gBAAgBM,MAAAA,MAAQN,aAAQ,CAAE,EAAE,SAAQ;AAAA,EAC5C,WAAWE,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC9B,OAAOD,MAAAA,KAAO,CAAC,SAAS,MAAM,CAAC,EAAE,SAAQ;AAC3C,CAAC;AACI,MAAC,kBAAkBF,MAAAA,OAAS;AAAA,EAC/B,UAAUW,MAAAA,MAAQ,CAACV,MAAAA,OAAQ,GAAIA,MAAAA,OAAQ,CAAE,CAAC;AAAA,EAC1C,SAASE,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC5B,OAAOA,MAAAA,OAAQ,EAAG,SAAQ;AAC5B,CAAC;AACgCH,MAAAA,OAAS;AAAA,EACxC,QAAQW,MAAAA,MAAQ,CAACV,MAAAA,OAAQ,GAAIA,MAAAA,OAAQ,CAAE,CAAC,EAAE,SAAQ;AAAA,EAClD,MAAMA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EACzB,SAASM,MAAAA,MAAQ,eAAe,EAAE,SAAQ;AAAA,EAC1C,QAAQJ,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC3B,WAAWC,MAAAA,QAAS,EAAG,SAAQ;AAAA,EAC/B,aAAaA,MAAAA,QAAS,EAAG,SAAQ;AAAA,EACjC,iBAAiBA,MAAAA,QAAS,EAAG,SAAQ;AAAA,EACrC,WAAWD,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC9B,aAAaA,MAAAA,OAAQ,EAAG,SAAQ;AAClC,CAAC;AACI,MAAC,kBAAkBD,MAAAA,KAAO;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AACI,MAAC,qBAAqBF,MAAAA,OAAS;AAAA,EAClC,OAAOG,MAAAA,OAAQ;AAAA;AAAA,EAEf,MAAMG,MAAAA,MAAQ;AAAA,IACZC,MAAAA,MAAQN,MAAAA,OAAQ,CAAE;AAAA,IAClBM,MAAAA;AAAAA,MACEP,aAAS;AAAA,QACP,GAAGM,MAAAA,MAAQ,CAACH,MAAAA,OAAQ,GAAIF,MAAAA,OAAQ,CAAE,CAAC;AAAA,QACnC,GAAGA,MAAAA,OAAQ;AAAA,MACnB,CAAO;AAAA,IACP;AAAA,EACA,CAAG;AAAA,EACD,iBAAiBK,MAAAA,MAAQ,CAACH,aAAQ,GAAII,MAAAA,MAAQJ,aAAQ,CAAE,CAAC,CAAC,EAAE,SAAQ;AAAA,EACpE,aAAaG,MAAAA,MAAQ,CAACH,aAAQ,GAAII,MAAAA,MAAQJ,aAAQ,CAAE,CAAC,CAAC,EAAE,SAAQ;AAAA,EAChE,aAAaF,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAChC,MAAMK,MAAAA,MAAQ,CAACF,MAAAA,QAAS,GAAID,MAAAA,OAAQ,CAAE,CAAC,EAAE,SAAQ;AAAA,EACjD,SAASF,MAAAA,OAAQ,EAAG,SAAQ;AAC9B,CAAC;AACI,MAAC,sBAAsBD,MAAAA,OAAS;AAAA,EACnC,QAAQG,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC3B,MAAMD,MAAAA,KAAO,CAAC,OAAO,QAAQ,SAAS,WAAW,MAAM,CAAC,EAAE,SAAQ;AAAA,EAClE,eAAeC,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAClC,KAAKA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EACxB,KAAKA,MAAAA,OAAQ,EAAG,SAAQ;AAC1B,CAAC;AACkCH,MAAAA,OAAS;AAAA,EAC1C,MAAM;AAAA,EACN,OAAOG,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC1B,MAAMH,MAAAA,OAAS;AAAA,IACb,QAAQO,MAAAA,MAAQJ,MAAAA,QAAU;AAAA,IAC1B,UAAUI,MAAAA,MAAQ,kBAAkB;AAAA,EACxC,CAAG;AAAA,EACD,SAASP,MAAAA,OAAS;AAAA,IAChB,YAAYI,MAAAA,QAAS,EAAG,SAAQ;AAAA,IAChC,qBAAqBA,MAAAA,QAAS,EAAG,SAAQ;AAAA,IACzC,SAASH,MAAAA,OAAQ,EAAG,SAAQ;AAAA;AAAA,IAE5B,QAAQQ,MAAAA,QAAS,EAAG,SAAQ;AAAA,IAC5B,SAASA,MAAAA,QAAS,EAAG,SAAQ;AAAA,EACjC,CAAG,EAAE,SAAQ;AAAA,EACX,UAAUP,MAAAA,KAAO,CAAC,UAAU,UAAU,MAAM,CAAC,EAAE,SAAQ;AAAA,EACvD,YAAYE,MAAAA,QAAS,EAAG,SAAQ;AAAA,EAChC,UAAU,oBAAoB,SAAQ;AAAA,EACtC,QAAQD,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC3B,WAAWA,MAAAA,OAAQ,EAAG,SAAQ;AAChC,CAAC;AACI,MAAC,oBAAoBH,MAAAA,OAAS;AAAA,EACjC,KAAKG,MAAAA,OAAQ,EAAG,IAAI,CAAC;AAAA,EACrB,OAAOA,MAAAA,OAAQ;AAAA,EACf,UAAUC,MAAAA,QAAS,EAAG,SAAQ;AAAA,EAC9B,OAAOD,MAAAA,OAAQ,EAAG,SAAQ;AAC5B,CAAC;AACI,MAAC,wBAAwBH,MAAAA,OAAS;AAAA,EACrC,aAAaC,MAAAA,OAAQ,EAAG,IAAG,EAAG,IAAI,CAAC;AAAA,EACnC,UAAUA,MAAAA,OAAQ,EAAG,IAAG,EAAG,IAAI,CAAC;AAAA,EAChC,WAAWA,MAAAA,OAAQ,EAAG,IAAG,EAAG,IAAI,CAAC;AACnC,CAAC;AACI,MAAC,+BAA+BD,MAAAA,OAAS;AAAA,EAC5C,SAASI,MAAAA,QAAS,EAAG,SAAQ;AAAA,EAC7B,WAAWH,MAAAA,OAAQ,EAAG,IAAG,EAAG,IAAI,CAAC,EAAE,SAAQ;AAAA,EAC3C,UAAUA,MAAAA,OAAQ,EAAG,IAAG,EAAG,IAAI,CAAC,EAAE,SAAQ;AAAA,EAC1C,WAAWA,MAAAA,OAAQ,EAAG,IAAG,EAAG,IAAI,CAAC,EAAE,SAAQ;AAC7C,CAAC;AACI,MAAC,wBAAwBK,MAAAA,MAAQ;AAAA,EACpCF,cAAS;AAAA,EACTJ,aAAS;AAAA,IACP,SAASO,MAAAA,MAAQL,MAAAA,KAAO,CAAC,OAAO,OAAO,MAAM,CAAC,CAAC,EAAE,SAAQ;AAAA,IACzD,UAAUC,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EACjC,CAAG;AACH,CAAC;AACkCH,MAAAA,OAAS;AAAA,EAC1C,OAAOG,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC1B,SAASI,MAAAA,MAAQ,iBAAiB,EAAE,IAAI,CAAC;AAAA,EACzC,MAAMA,MAAAA,MAAQC,aAASC,MAAAA,QAAS,CAAE,CAAC;AAAA,EACnC,YAAY,sBAAsB,SAAQ;AAAA,EAC1C,YAAYH,MAAAA,MAAQ,CAACF,MAAAA,QAAS,GAAI,4BAA4B,CAAC,EAAE,SAAQ;AAAA,EACzE,YAAY,sBAAsB,SAAQ;AAAA,EAC1C,WAAWD,MAAAA,OAAQ,EAAG,SAAQ;AAChC,CAAC;AACI,MAAC,oBAAoBH,MAAAA,OAAS;AAAA,EACjC,OAAOC,MAAAA,OAAQ;AAAA,EACf,WAAWC,MAAAA,KAAO,CAAC,MAAM,QAAQ,SAAS,CAAC;AAC7C,CAAC;AACI,MAAC,8BAA8BF,MAAAA,OAAS;AAAA,EAC3C,OAAOG,MAAAA,OAAQ,EAAG,IAAI,CAAC;AAAA,EACvB,OAAOG,MAAAA,MAAQ,CAACH,MAAAA,OAAQ,GAAIF,MAAAA,OAAQ,CAAE,CAAC;AAAA,EACvC,MAAME,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EACzB,OAAO,kBAAkB,SAAQ;AAAA,EACjC,UAAUA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC7B,MAAMA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EACzB,WAAWA,MAAAA,OAAQ,EAAG,SAAQ;AAChC,CAAC;AACI,MAAC,4BAA4BH,MAAAA,OAAS;AAAA,EACzC,SAASG,MAAAA,OAAQ,EAAG,IAAI,CAAC;AAAA,EACzB,UAAUC,MAAAA,QAAS,EAAG,SAAQ;AAAA,EAC9B,WAAWD,MAAAA,OAAQ,EAAG,SAAQ;AAChC,CAAC;AACI,MAAC,8BAA8BH,MAAAA,OAAS;AAAA,EAC3C,KAAKG,MAAAA,OAAQ,EAAG,IAAI,CAAC;AAAA,EACrB,OAAOA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC1B,QAAQA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC3B,WAAWA,MAAAA,OAAQ,EAAG,SAAQ;AAChC,CAAC;AACI,MAAC,6BAA6BH,MAAAA,OAAS;AAAA,EAC1C,KAAKG,MAAAA,OAAQ,EAAG,IAAI,CAAC;AAAA,EACrB,KAAKA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EACxB,SAASA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC5B,WAAWA,MAAAA,OAAQ,EAAG,SAAQ;AAChC,CAAC;AACI,MAAC,4BAA4BH,MAAAA,OAAS;AAAA,EACzC,KAAKG,MAAAA,OAAQ,EAAG,IAAI,CAAC;AAAA,EACrB,OAAOA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC1B,aAAaA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAChC,WAAWA,MAAAA,OAAQ,EAAG,SAAQ;AAChC,CAAC;AACI,MAAC,gCAAgCH,MAAAA,OAAS;AAAA,EAC7C,OAAOO,MAAAA,MAAQE,MAAAA,QAAS,CAAE,EAAE,IAAI,CAAC;AAAA,EACjC,QAAQN,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC3B,WAAWA,MAAAA,OAAQ,EAAG,SAAQ;AAChC,CAAC;AACI,MAAC,gCAAgCH,MAAAA,OAAS;AAAA,EAC7C,KAAKG,MAAAA,OAAQ,EAAG,IAAI,CAAC;AAAA,EACrB,UAAUA,MAAAA,OAAQ,EAAG,IAAI,CAAC;AAAA,EAC1B,UAAUA,MAAAA,OAAQ,EAAG,IAAI,CAAC;AAAA,EAC1B,MAAMF,MAAAA,OAAQ,EAAG,IAAG,EAAG,IAAI,CAAC,EAAE,SAAQ;AAAA,EACtC,aAAaE,MAAAA,OAAQ,EAAG,SAAQ;AAClC,CAAC;AACI,MAAC,oBAAoBD,MAAAA,KAAO;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AACI,MAAC,4BAA4BF,MAAAA,OAAS;AAAA,EACzC,cAAcI,MAAAA,QAAS,EAAG,QAAQ,KAAK,EAAE,SAAQ;AAAA,EACjD,gBAAgBG,MAAAA,MAAQJ,aAAQ,CAAE,EAAE,SAAQ;AAAA,EAC5C,gBAAgBF,MAAAA,OAAQ,EAAG,IAAG,EAAG,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,SAAQ;AAAA,EAClE,cAAcM,MAAAA,MAAQ,iBAAiB,EAAE,SAAQ;AACnD,CAAC;AACI,MAAC,+BAA+BP,MAAAA,OAAS;AAAA,EAC5C,eAAeC,MAAAA,SAAW,MAAM,IAAI,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAQ;AAAA,EAC9D,aAAaA,MAAAA,SAAW,MAAM,IAAI,IAAI,EAAE,QAAQ,MAAM,EAAE,SAAQ;AAClE,CAAC;AACI,MAAC,wBAAwBD,MAAAA,OAAS;AAAA,EACrC,MAAMU,MAAAA,QAAU,QAAQ;AAAA,EACxB,UAAUH,MAAAA,MAAQJ,aAAQ,CAAE,EAAE,SAAQ;AAAA,EACtC,YAAYK,MAAAA,OAASC,MAAAA,SAAW;AAAA,EAChC,sBAAsBL,MAAAA,QAAS,EAAG,SAAQ;AAC5C,CAAC;AACI,MAAC,yBAAyBJ,MAAAA,OAAS;AAAA,EACtC,MAAMG,MAAAA,OAAQ,EAAG,IAAI,CAAC;AAAA,EACtB,aAAaA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAChC,QAAQK,MAAAA,OAASC,MAAAA,SAAW;AAAA,EAC5B,UAAU,mBAAmB,SAAQ;AACvC,CAAC;AACI,MAAC,kBAAkBT,MAAAA,OAAS;AAAA,EAC/B,IAAIG,MAAAA,OAAQ,EAAG,MAAM,cAAc;AAAA,EACnC,MAAM;AAAA,EACN,MAAMA,MAAAA,OAAQ,EAAG,IAAI,CAAC;AAAA,EACtB,aAAaA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAChC,QAAQ;AAAA,EACR,UAAUI,MAAAA,MAAQ,sBAAsB,EAAE,IAAI,CAAC;AAAA,EAC/C,UAAU,0BAA0B,SAAQ;AAAA,EAC5C,aAAa,6BAA6B,SAAQ;AAAA,EAClD,MAAMA,MAAAA,MAAQJ,aAAQ,EAAG,MAAM,cAAc,CAAC,EAAE,SAAQ;AAAA,EACxD,SAASA,MAAAA,OAAQ,EAAG,MAAM,iBAAiB,EAAE,SAAQ;AAAA,EACrD,YAAYC,MAAAA,QAAS,EAAG,QAAQ,KAAK,EAAE,SAAQ;AAAA,EAC/C,oBAAoBD,MAAAA,OAAQ,EAAG,SAAQ;AACzC,CAAC;AACI,MAAC,yBAAyBH,MAAAA,OAAS;AAAA,EACtC,MAAMG,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EACzB,aAAaA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAChC,QAAQA,MAAAA,OAAQ,EAAG,SAAQ;AAAA,EAC3B,YAAYA,MAAAA,OAAQ,EAAG,IAAG,EAAG,SAAQ;AACvC,CAAC;AAC+BH,MAAAA,OAAS;AAAA,EACvC,SAASU,MAAAA,QAAU,OAAO;AAAA,EAC1B,UAAU,uBAAuB,SAAQ;AAAA,EACzC,YAAYH,MAAAA,MAAQ,eAAe,EAAE,IAAI,CAAC;AAC5C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
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]);\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 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 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});\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});\nexport {\n ActionGroupGapSchema,\n ActionGroupLayoutSchema,\n ActionGroupParamsSchema,\n ActionParamsSchema,\n ArtifactComponentParamsSchema,\n CarouselComponentParamsSchema,\n ChartComponentParamsSchema,\n ChartDatasetSchema,\n ChartTimeAxisSchema,\n ChartTypeSchema,\n CodeComponentParamsSchema,\n ComponentExampleSchema,\n ComponentRegistrySchema,\n ComponentSchema,\n ComponentSchemaSchema,\n ComponentTypeSchema,\n FormComponentParamsSchema,\n FormFieldOptionSchema,\n FormFieldSchema,\n FormFieldTypeSchema,\n FormSubmitActionSchema,\n GalleryImageSchema,\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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"}
|
|
@@ -80,7 +80,7 @@ const ShowWhenConditionSchema = objectType({
|
|
|
80
80
|
});
|
|
81
81
|
const PrefillSourceSchema = enumType(["user", "detected", "inferred", "default"]);
|
|
82
82
|
const FormFieldSchema = objectType({
|
|
83
|
-
name: stringType().regex(/^[a-zA-Z][
|
|
83
|
+
name: stringType().regex(/^[a-zA-Z][\w.-]*$/),
|
|
84
84
|
type: FormFieldTypeSchema,
|
|
85
85
|
label: stringType().optional(),
|
|
86
86
|
placeholder: stringType().optional(),
|
|
@@ -143,7 +143,7 @@ const FormSubmitActionSchema = objectType({
|
|
|
143
143
|
toolName: stringType().min(1),
|
|
144
144
|
params: recordType(unknownType()).optional()
|
|
145
145
|
});
|
|
146
|
-
objectType({
|
|
146
|
+
const FormComponentParamsSchema = objectType({
|
|
147
147
|
title: stringType().optional(),
|
|
148
148
|
fields: arrayType(FormFieldSchema).min(1),
|
|
149
149
|
submitLabel: stringType().optional(),
|
|
@@ -237,13 +237,19 @@ const CodeComponentParamsSchema = objectType({
|
|
|
237
237
|
maxHeight: stringType().optional(),
|
|
238
238
|
theme: enumType(["light", "dark"]).optional()
|
|
239
239
|
});
|
|
240
|
+
const LatLngObjectSchema = objectType({
|
|
241
|
+
lat: numberType(),
|
|
242
|
+
lng: numberType()
|
|
243
|
+
});
|
|
244
|
+
const LatLngTupleSchema = tupleType([numberType(), numberType()]);
|
|
245
|
+
const LatLngPointSchema = unionType([LatLngTupleSchema, LatLngObjectSchema]);
|
|
240
246
|
const MapMarkerSchema = objectType({
|
|
241
|
-
position:
|
|
247
|
+
position: LatLngPointSchema,
|
|
242
248
|
tooltip: stringType().optional(),
|
|
243
249
|
popup: stringType().optional()
|
|
244
250
|
});
|
|
245
|
-
objectType({
|
|
246
|
-
center:
|
|
251
|
+
const MapComponentParamsSchema = objectType({
|
|
252
|
+
center: LatLngPointSchema.optional(),
|
|
247
253
|
zoom: numberType().optional(),
|
|
248
254
|
markers: arrayType(MapMarkerSchema).optional(),
|
|
249
255
|
height: stringType().optional(),
|
|
@@ -459,6 +465,7 @@ export {
|
|
|
459
465
|
ComponentSchema,
|
|
460
466
|
ComponentSchemaSchema,
|
|
461
467
|
ComponentTypeSchema,
|
|
468
|
+
FormComponentParamsSchema,
|
|
462
469
|
FormFieldOptionSchema,
|
|
463
470
|
FormFieldSchema,
|
|
464
471
|
FormFieldTypeSchema,
|
|
@@ -470,7 +477,11 @@ export {
|
|
|
470
477
|
ImageGalleryAspectRatioSchema,
|
|
471
478
|
ImageGalleryGapSchema,
|
|
472
479
|
ImageGalleryParamsSchema,
|
|
480
|
+
LatLngObjectSchema,
|
|
481
|
+
LatLngPointSchema,
|
|
482
|
+
LatLngTupleSchema,
|
|
473
483
|
LinkComponentParamsSchema,
|
|
484
|
+
MapComponentParamsSchema,
|
|
474
485
|
MapMarkerSchema,
|
|
475
486
|
MetricComponentParamsSchema,
|
|
476
487
|
MetricTrendSchema,
|