@seed-ship/mcp-ui-solid 5.3.1 → 5.5.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 (81) hide show
  1. package/CHANGELOG.md +104 -0
  2. package/dist/components/StreamingUIRenderer.cjs +106 -90
  3. package/dist/components/StreamingUIRenderer.cjs.map +1 -1
  4. package/dist/components/StreamingUIRenderer.d.ts +7 -0
  5. package/dist/components/StreamingUIRenderer.d.ts.map +1 -1
  6. package/dist/components/StreamingUIRenderer.js +107 -91
  7. package/dist/components/StreamingUIRenderer.js.map +1 -1
  8. package/dist/components/UIResourceRenderer.cjs +101 -82
  9. package/dist/components/UIResourceRenderer.cjs.map +1 -1
  10. package/dist/components/UIResourceRenderer.d.ts +23 -0
  11. package/dist/components/UIResourceRenderer.d.ts.map +1 -1
  12. package/dist/components/UIResourceRenderer.js +102 -83
  13. package/dist/components/UIResourceRenderer.js.map +1 -1
  14. package/dist/index.cjs +7 -0
  15. package/dist/index.cjs.map +1 -1
  16. package/dist/index.d.cts +3 -0
  17. package/dist/index.d.ts +3 -0
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +7 -0
  20. package/dist/index.js.map +1 -1
  21. package/dist/mcp-ui-spec/dist/schemas.cjs +493 -0
  22. package/dist/mcp-ui-spec/dist/schemas.cjs.map +1 -0
  23. package/dist/mcp-ui-spec/dist/schemas.js +493 -0
  24. package/dist/mcp-ui-spec/dist/schemas.js.map +1 -0
  25. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.cjs +118 -0
  26. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.cjs.map +1 -0
  27. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.js +118 -0
  28. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.js.map +1 -0
  29. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.cjs +10 -0
  30. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.cjs.map +1 -0
  31. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.js +10 -0
  32. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.js.map +1 -0
  33. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.cjs +8 -0
  34. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.cjs.map +1 -0
  35. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js +9 -0
  36. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js.map +1 -0
  37. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.cjs +122 -0
  38. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.cjs.map +1 -0
  39. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js +122 -0
  40. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js.map +1 -0
  41. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.cjs +137 -0
  42. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.cjs.map +1 -0
  43. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.js +139 -0
  44. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.js.map +1 -0
  45. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.cjs +105 -0
  46. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.cjs.map +1 -0
  47. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.js +106 -0
  48. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.js.map +1 -0
  49. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.cjs +3229 -0
  50. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.cjs.map +1 -0
  51. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js +3230 -0
  52. package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js.map +1 -0
  53. package/dist/services/validation.cjs +70 -152
  54. package/dist/services/validation.cjs.map +1 -1
  55. package/dist/services/validation.d.ts.map +1 -1
  56. package/dist/services/validation.js +70 -152
  57. package/dist/services/validation.js.map +1 -1
  58. package/dist/utils/logger.cjs +26 -4
  59. package/dist/utils/logger.cjs.map +1 -1
  60. package/dist/utils/logger.d.ts +30 -3
  61. package/dist/utils/logger.d.ts.map +1 -1
  62. package/dist/utils/logger.js +27 -5
  63. package/dist/utils/logger.js.map +1 -1
  64. package/dist/utils/perf.cjs +34 -0
  65. package/dist/utils/perf.cjs.map +1 -0
  66. package/dist/utils/perf.d.ts +19 -0
  67. package/dist/utils/perf.d.ts.map +1 -0
  68. package/dist/utils/perf.js +34 -0
  69. package/dist/utils/perf.js.map +1 -0
  70. package/package.json +3 -2
  71. package/src/components/StreamingUIRenderer.tsx +54 -2
  72. package/src/components/UIResourceRenderer.errorMode.test.tsx +95 -0
  73. package/src/components/UIResourceRenderer.tsx +72 -4
  74. package/src/index.ts +7 -0
  75. package/src/services/validation.spec-migration.test.ts +207 -0
  76. package/src/services/validation.ts +132 -178
  77. package/src/utils/logger.test.ts +130 -0
  78. package/src/utils/logger.ts +60 -7
  79. package/src/utils/perf.test.ts +59 -0
  80. package/src/utils/perf.ts +50 -0
  81. package/tsconfig.tsbuildinfo +1 -1
package/dist/index.cjs CHANGED
@@ -37,6 +37,8 @@ const serverCapabilitiesStore = require("./stores/server-capabilities-store.cjs"
37
37
  const GhostText = require("./components/GhostText.cjs");
38
38
  const AutocompleteDropdown = require("./components/AutocompleteDropdown.cjs");
39
39
  const AutocompleteFormField = require("./components/AutocompleteFormField.cjs");
40
+ const logger = require("./utils/logger.cjs");
41
+ const perf = require("./utils/perf.cjs");
40
42
  const useStreamingUI = require("./hooks/useStreamingUI.cjs");
41
43
  const useAction = require("./hooks/useAction.cjs");
42
44
  const useConditionalField = require("./hooks/useConditionalField.cjs");
@@ -93,6 +95,11 @@ exports.GhostText = GhostText.GhostText;
93
95
  exports.GhostTextInput = GhostText.GhostTextInput;
94
96
  exports.AutocompleteDropdown = AutocompleteDropdown.AutocompleteDropdown;
95
97
  exports.AutocompleteFormField = AutocompleteFormField.AutocompleteFormField;
98
+ exports.isDebugEnabled = logger.isDebugEnabled;
99
+ exports.setDebugMode = logger.setDebugMode;
100
+ exports.PERF_PREFIX = perf.PERF_PREFIX;
101
+ exports.markRenderEnd = perf.markRenderEnd;
102
+ exports.markRenderStart = perf.markRenderStart;
96
103
  exports.useStreamingUI = useStreamingUI.useStreamingUI;
97
104
  exports.useAction = useAction.useAction;
98
105
  exports.useToolAction = useAction.useToolAction;
@@ -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
@@ -53,6 +53,9 @@ export { GhostText, GhostTextInput } from './components/GhostText';
53
53
  export { AutocompleteDropdown } from './components/AutocompleteDropdown';
54
54
  export { AutocompleteFormField } from './components/AutocompleteFormField';
55
55
  export type { UIResourceRendererProps, StreamingUIRendererProps, GenerativeUIErrorBoundaryProps, } from './components';
56
+ export type { ValidationErrorMode } from './components/UIResourceRenderer';
57
+ export { setDebugMode, isDebugEnabled } from './utils/logger';
58
+ export { markRenderStart, markRenderEnd, PERF_PREFIX } from './utils/perf';
56
59
  export type { DraggableGridItemProps } from './components/DraggableGridItem';
57
60
  export type { ResizeHandleProps as ResizeHandleComponentProps } from './components/ResizeHandle';
58
61
  export type { EditableUIResourceRendererProps } from './components/EditableUIResourceRenderer';
package/dist/index.d.ts CHANGED
@@ -53,6 +53,9 @@ export { GhostText, GhostTextInput } from './components/GhostText';
53
53
  export { AutocompleteDropdown } from './components/AutocompleteDropdown';
54
54
  export { AutocompleteFormField } from './components/AutocompleteFormField';
55
55
  export type { UIResourceRendererProps, StreamingUIRendererProps, GenerativeUIErrorBoundaryProps, } from './components';
56
+ export type { ValidationErrorMode } from './components/UIResourceRenderer';
57
+ export { setDebugMode, isDebugEnabled } from './utils/logger';
58
+ export { markRenderStart, markRenderEnd, PERF_PREFIX } from './utils/perf';
56
59
  export type { DraggableGridItemProps } from './components/DraggableGridItem';
57
60
  export type { ResizeHandleProps as ResizeHandleComponentProps } from './components/ResizeHandle';
58
61
  export type { EditableUIResourceRendererProps } from './components/EditableUIResourceRenderer';
@@ -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;AAErB,YAAY,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AAC5E,YAAY,EAAE,iBAAiB,IAAI,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AAChG,YAAY,EAAE,+BAA+B,EAAE,MAAM,yCAAyC,CAAA;AAC9F,YAAY,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AAC5E,YAAY,EAAE,qBAAqB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AACtG,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,YAAY,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACxE,YAAY,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACxE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClE,YAAY,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AAC9E,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AACnF,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClE,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACjF,YAAY,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAClF,YAAY,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAA;AAGjH,OAAO,EACL,cAAc,EACd,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,QAAQ,EACR,eAAe,EACf,kBAAkB,EAElB,WAAW,EACX,SAAS,EAET,eAAe,EAEf,gBAAgB,GACjB,MAAM,SAAS,CAAA;AAEhB,YAAY,EACV,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,0BAA0B,EAC1B,cAAc,EACd,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EAExB,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,UAAU,EAEV,sBAAsB,EACtB,qBAAqB,EAErB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAE/F,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,+BAA+B,CAAA;AAEtC,YAAY,EACV,qBAAqB,EACrB,sBAAsB,EACtB,aAAa,EACb,YAAY,GACb,MAAM,WAAW,CAAA;AAElB,YAAY,EACV,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,+BAA+B,CAAA;AAItC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,WAAW,CAAA;AAMlB,YAAY,EACV,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EAEnB,eAAe,EACf,aAAa,EACb,eAAe,EACf,mBAAmB,EAEnB,gBAAgB,EAChB,iBAAiB,EAEjB,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EAExB,SAAS,EACT,oBAAoB,EAEpB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EAEjB,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EAEpB,mBAAmB,EACnB,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,QAAQ,EACR,gBAAgB,EAEhB,YAAY,EACZ,iBAAiB,EAEjB,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,sBAAsB,IAAI,0BAA0B,EAEpD,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,SAAS,CAAA;AAGhB,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAA;AAGjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAG/D,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,mCAAmC,CAAA;AAC1C,YAAY,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AAG7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,YAAY,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAGnD,YAAY,EACV,aAAa,EACb,UAAU,EACV,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,0BAA0B,EAC1B,yBAAyB,EAEzB,cAAc,EACd,SAAS,EACT,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EAEjB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -35,6 +35,8 @@ import { ServerCapabilitiesContext, ServerCapabilitiesProvider, createServerCapa
35
35
  import { GhostText, GhostTextInput } from "./components/GhostText.js";
36
36
  import { AutocompleteDropdown } from "./components/AutocompleteDropdown.js";
37
37
  import { AutocompleteFormField } from "./components/AutocompleteFormField.js";
38
+ import { isDebugEnabled, setDebugMode } from "./utils/logger.js";
39
+ import { PERF_PREFIX, markRenderEnd, markRenderStart } from "./utils/perf.js";
38
40
  import { useStreamingUI } from "./hooks/useStreamingUI.js";
39
41
  import { useAction, useToolAction } from "./hooks/useAction.js";
40
42
  import { evaluateCondition, useConditionalField } from "./hooks/useConditionalField.js";
@@ -80,6 +82,7 @@ export {
80
82
  GhostTextInput,
81
83
  MCPActionContext,
82
84
  MCPActionProvider,
85
+ PERF_PREFIX,
83
86
  PromptReplacedError,
84
87
  ResizeHandle,
85
88
  ScratchpadPanel,
@@ -107,7 +110,11 @@ export {
107
110
  elicitationToPromptConfig,
108
111
  evaluateCondition,
109
112
  getIframeSandbox,
113
+ isDebugEnabled,
114
+ markRenderEnd,
115
+ markRenderStart,
110
116
  mergeScratchpadSections,
117
+ setDebugMode,
111
118
  setServerCapabilities,
112
119
  useAction,
113
120
  useAutocomplete,
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,493 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const types = require("../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.cjs");
4
+ const GridPositionSchema = types.object({
5
+ colStart: types.number().int().min(1).max(12),
6
+ colSpan: types.number().int().min(1).max(12),
7
+ rowStart: types.number().int().min(1).optional(),
8
+ rowSpan: types.number().int().min(1).default(1).optional()
9
+ });
10
+ const ComponentTypeSchema = types.enum([
11
+ "chart",
12
+ "table",
13
+ "metric",
14
+ "text",
15
+ "composite",
16
+ "grid",
17
+ // Phase 5.0: Nested grid layouts
18
+ "iframe",
19
+ "image",
20
+ "link",
21
+ "action",
22
+ // Phase 5.0: Tool call actions
23
+ "footer",
24
+ // Phase 5.0: Metadata footer
25
+ "carousel",
26
+ "artifact",
27
+ "form",
28
+ // Sprint 1: Form component
29
+ "modal",
30
+ // Sprint 3: Modal/dialog component
31
+ "action-group",
32
+ // Sprint 3: Action grouping component
33
+ "image-gallery",
34
+ // Sprint 5: Image gallery with lightbox
35
+ "video",
36
+ // Sprint 5: Video embed (YouTube, Vimeo, direct)
37
+ "code",
38
+ // Sprint 6: Syntax highlighted code block
39
+ "map"
40
+ // Sprint 6: Interactive map (Leaflet)
41
+ ]);
42
+ const FormFieldOptionSchema = types.object({
43
+ label: types.string().min(1),
44
+ value: types.string(),
45
+ disabled: types.boolean().optional()
46
+ });
47
+ const FormFieldTypeSchema = types.enum([
48
+ "text",
49
+ "email",
50
+ "password",
51
+ "number",
52
+ "date",
53
+ "textarea",
54
+ "select",
55
+ "checkbox",
56
+ "radio",
57
+ "autocomplete",
58
+ "range",
59
+ "tags",
60
+ "toggle",
61
+ "fieldset"
62
+ ]);
63
+ const ShowWhenOperatorSchema = types.enum([
64
+ "equals",
65
+ "notEquals",
66
+ "in",
67
+ "notIn",
68
+ "contains",
69
+ "startsWith",
70
+ "endsWith",
71
+ "greaterThan",
72
+ "lessThan",
73
+ "isEmpty",
74
+ "isNotEmpty",
75
+ "isTrue",
76
+ "isFalse"
77
+ ]);
78
+ const ShowWhenConditionSchema = types.object({
79
+ field: types.string().min(1),
80
+ operator: ShowWhenOperatorSchema,
81
+ value: types.any().optional()
82
+ });
83
+ const PrefillSourceSchema = types.enum(["user", "detected", "inferred", "default"]);
84
+ const FormFieldSchema = types.object({
85
+ name: types.string().regex(/^[a-zA-Z][a-zA-Z0-9_]*$/),
86
+ type: FormFieldTypeSchema,
87
+ label: types.string().optional(),
88
+ placeholder: types.string().optional(),
89
+ helpText: types.string().optional(),
90
+ required: types.boolean().optional(),
91
+ disabled: types.boolean().optional(),
92
+ defaultValue: types.any().optional(),
93
+ // Prefill — pre-populated value with source tracking (v4.2.0)
94
+ prefill: types.union([types.string(), types.array(types.string())]).optional(),
95
+ displayHint: types.string().optional(),
96
+ source: PrefillSourceSchema.optional(),
97
+ muted: types.boolean().optional(),
98
+ // Prefill mode for autocomplete fields (v4.3.0)
99
+ prefillMode: types.enum(["exact", "resolve"]).optional(),
100
+ // Value format validation (v4.3.0)
101
+ valueFormat: types.string().optional(),
102
+ valueFormatHint: types.string().optional(),
103
+ // Text/textarea specific
104
+ minLength: types.number().int().min(0).optional(),
105
+ maxLength: types.number().int().min(1).optional(),
106
+ pattern: types.string().optional(),
107
+ // Number specific
108
+ min: types.number().optional(),
109
+ max: types.number().optional(),
110
+ step: types.number().optional(),
111
+ // Date specific
112
+ minDate: types.string().optional(),
113
+ maxDate: types.string().optional(),
114
+ // Select/Radio specific
115
+ options: types.array(FormFieldOptionSchema).optional(),
116
+ // Multi-select (v2.6.0)
117
+ multiple: types.boolean().optional(),
118
+ // Autocomplete specific (v2.6.0)
119
+ apiUrl: types.string().url().optional(),
120
+ searchParam: types.string().optional(),
121
+ labelField: types.string().optional(),
122
+ valueField: types.string().optional(),
123
+ extraParams: types.record(types.string()).optional(),
124
+ minChars: types.number().int().min(0).optional(),
125
+ debounceMs: types.number().int().min(0).optional(),
126
+ // Dependent field (v2.7.0)
127
+ dependsOn: types.object({
128
+ field: types.string(),
129
+ apiUrl: types.string(),
130
+ labelField: types.string(),
131
+ valueField: types.string(),
132
+ extraParams: types.record(types.string()).optional()
133
+ }).optional(),
134
+ // Field status — API capability indicator (v2.11.0)
135
+ fieldStatus: types.enum(["required", "optional", "unsupported", "unknown"]).optional(),
136
+ statusReason: types.string().optional(),
137
+ // Checkbox specific
138
+ checkboxLabel: types.string().optional(),
139
+ // Textarea specific
140
+ rows: types.number().int().min(1).max(20).optional(),
141
+ // Conditional visibility
142
+ showWhen: ShowWhenConditionSchema.optional()
143
+ });
144
+ const FormSubmitActionSchema = types.object({
145
+ toolName: types.string().min(1),
146
+ params: types.record(types.unknown()).optional()
147
+ });
148
+ types.object({
149
+ title: types.string().optional(),
150
+ fields: types.array(FormFieldSchema).min(1),
151
+ submitLabel: types.string().optional(),
152
+ showReset: types.boolean().optional(),
153
+ submitAction: FormSubmitActionSchema.optional(),
154
+ // Persistence options (Sprint 4)
155
+ persistKey: types.string().optional(),
156
+ excludeFromPersistence: types.array(types.string()).optional(),
157
+ persistExpiresIn: types.number().int().positive().optional(),
158
+ layout: types.enum(["vertical", "horizontal", "inline"]).optional(),
159
+ // Auto-submit countdown in ms when all required fields are prefilled (v4.2.0)
160
+ autoSubmitDelay: types.number().int().min(1e3).max(3e4).optional()
161
+ });
162
+ const ModalSizeSchema = types.enum(["sm", "md", "lg", "xl", "full"]);
163
+ types.object({
164
+ title: types.string().optional(),
165
+ size: ModalSizeSchema.optional(),
166
+ showClose: types.boolean().optional(),
167
+ closeOnEscape: types.boolean().optional(),
168
+ closeOnBackdrop: types.boolean().optional(),
169
+ maxHeight: types.string().optional()
170
+ // Note: content and footer are UIComponent references, validated separately
171
+ });
172
+ const ActionGroupLayoutSchema = types.enum([
173
+ "horizontal",
174
+ "vertical",
175
+ "space-between",
176
+ "end",
177
+ "center"
178
+ ]);
179
+ const ActionGroupGapSchema = types.enum(["none", "sm", "md", "lg"]);
180
+ const ActionParamsSchema = types.object({
181
+ label: types.string().min(1),
182
+ type: types.enum(["button", "link"]).optional(),
183
+ action: types.enum(["tool-call", "link", "submit"]).optional(),
184
+ toolName: types.string().optional(),
185
+ params: types.record(types.unknown()).optional(),
186
+ url: types.string().optional(),
187
+ variant: types.enum(["primary", "secondary", "outline", "ghost", "danger"]).optional(),
188
+ size: types.enum(["sm", "md", "lg"]).optional(),
189
+ icon: types.string().optional(),
190
+ disabled: types.boolean().optional()
191
+ });
192
+ const ActionGroupParamsSchema = types.object({
193
+ actions: types.array(ActionParamsSchema).min(1),
194
+ layout: ActionGroupLayoutSchema.optional(),
195
+ gap: ActionGroupGapSchema.optional(),
196
+ fullWidth: types.boolean().optional(),
197
+ label: types.string().optional()
198
+ });
199
+ const GalleryImageSchema = types.object({
200
+ url: types.string().url(),
201
+ thumbnail: types.string().url().optional(),
202
+ alt: types.string().optional(),
203
+ caption: types.string().optional(),
204
+ srcset: types.string().optional(),
205
+ sizes: types.string().optional()
206
+ });
207
+ types.enum(["2", "3", "4", "5"]).transform(Number);
208
+ const ImageGalleryGapSchema = types.enum(["none", "sm", "md", "lg"]);
209
+ const ImageGalleryAspectRatioSchema = types.enum(["1:1", "16:9", "4:3", "auto"]);
210
+ const ImageGalleryParamsSchema = types.object({
211
+ title: types.string().optional(),
212
+ images: types.array(GalleryImageSchema).min(1),
213
+ columns: types.union([types.literal(2), types.literal(3), types.literal(4), types.literal(5)]).optional(),
214
+ gap: ImageGalleryGapSchema.optional(),
215
+ aspectRatio: ImageGalleryAspectRatioSchema.optional(),
216
+ lightbox: types.boolean().optional(),
217
+ showCaptions: types.boolean().optional()
218
+ });
219
+ const VideoAspectRatioSchema = types.enum(["16:9", "4:3", "1:1", "21:9"]);
220
+ const VideoComponentParamsSchema = types.object({
221
+ url: types.string().url(),
222
+ title: types.string().optional(),
223
+ caption: types.string().optional(),
224
+ poster: types.string().url().optional(),
225
+ aspectRatio: VideoAspectRatioSchema.optional(),
226
+ autoplay: types.boolean().optional(),
227
+ controls: types.boolean().optional(),
228
+ loop: types.boolean().optional(),
229
+ muted: types.boolean().optional(),
230
+ startTime: types.number().int().min(0).optional()
231
+ });
232
+ const CodeComponentParamsSchema = types.object({
233
+ code: types.string(),
234
+ language: types.string().optional(),
235
+ filename: types.string().optional(),
236
+ showLineNumbers: types.boolean().optional(),
237
+ startLine: types.number().optional(),
238
+ highlightLines: types.array(types.number()).optional(),
239
+ maxHeight: types.string().optional(),
240
+ theme: types.enum(["light", "dark"]).optional()
241
+ });
242
+ const MapMarkerSchema = types.object({
243
+ position: types.tuple([types.number(), types.number()]),
244
+ tooltip: types.string().optional(),
245
+ popup: types.string().optional()
246
+ });
247
+ types.object({
248
+ center: types.tuple([types.number(), types.number()]).optional(),
249
+ zoom: types.number().optional(),
250
+ markers: types.array(MapMarkerSchema).optional(),
251
+ height: types.string().optional(),
252
+ fitBounds: types.boolean().optional(),
253
+ zoomControl: types.boolean().optional(),
254
+ scrollWheelZoom: types.boolean().optional(),
255
+ tileLayer: types.string().optional(),
256
+ attribution: types.string().optional()
257
+ });
258
+ const ChartTypeSchema = types.enum([
259
+ "bar",
260
+ "line",
261
+ "pie",
262
+ "doughnut",
263
+ "radar",
264
+ "scatter",
265
+ "bubble",
266
+ "polarArea"
267
+ ]);
268
+ const ChartDatasetSchema = types.object({
269
+ label: types.string(),
270
+ // Either an array of numbers or an array of {x, y} points (Chart.js shapes)
271
+ data: types.union([
272
+ types.array(types.number()),
273
+ types.array(
274
+ types.object({
275
+ x: types.union([types.string(), types.number()]),
276
+ y: types.number()
277
+ })
278
+ )
279
+ ]),
280
+ backgroundColor: types.union([types.string(), types.array(types.string())]).optional(),
281
+ borderColor: types.union([types.string(), types.array(types.string())]).optional(),
282
+ borderWidth: types.number().optional(),
283
+ fill: types.union([types.boolean(), types.string()]).optional(),
284
+ tension: types.number().optional()
285
+ });
286
+ const ChartTimeAxisSchema = types.object({
287
+ parser: types.string().optional(),
288
+ unit: types.enum(["day", "week", "month", "quarter", "year"]).optional(),
289
+ tooltipFormat: types.string().optional(),
290
+ min: types.string().optional(),
291
+ max: types.string().optional()
292
+ });
293
+ types.object({
294
+ type: ChartTypeSchema,
295
+ title: types.string().optional(),
296
+ data: types.object({
297
+ labels: types.array(types.string()),
298
+ datasets: types.array(ChartDatasetSchema)
299
+ }),
300
+ options: types.object({
301
+ responsive: types.boolean().optional(),
302
+ maintainAspectRatio: types.boolean().optional(),
303
+ tension: types.number().optional(),
304
+ // `scales` and `plugins` are Chart.js opaque config objects — kept loose
305
+ scales: types.unknown().optional(),
306
+ plugins: types.unknown().optional()
307
+ }).optional(),
308
+ renderer: types.enum(["native", "iframe", "auto"]).optional(),
309
+ exportable: types.boolean().optional(),
310
+ timeAxis: ChartTimeAxisSchema.optional(),
311
+ height: types.string().optional(),
312
+ className: types.string().optional()
313
+ });
314
+ const TableColumnSchema = types.object({
315
+ key: types.string().min(1),
316
+ label: types.string(),
317
+ sortable: types.boolean().optional(),
318
+ width: types.string().optional()
319
+ });
320
+ const TablePaginationSchema = types.object({
321
+ currentPage: types.number().int().min(1),
322
+ pageSize: types.number().int().min(1),
323
+ totalRows: types.number().int().min(0)
324
+ });
325
+ const TableVirtualizeOptionsSchema = types.object({
326
+ enabled: types.boolean().optional(),
327
+ rowHeight: types.number().int().min(1).optional(),
328
+ overscan: types.number().int().min(0).optional(),
329
+ threshold: types.number().int().min(1).optional()
330
+ });
331
+ const TableExportableSchema = types.union([
332
+ types.boolean(),
333
+ types.object({
334
+ formats: types.array(types.enum(["csv", "tsv", "json"])).optional(),
335
+ filename: types.string().optional()
336
+ })
337
+ ]);
338
+ types.object({
339
+ title: types.string().optional(),
340
+ columns: types.array(TableColumnSchema).min(1),
341
+ rows: types.array(types.record(types.unknown())),
342
+ pagination: TablePaginationSchema.optional(),
343
+ virtualize: types.union([types.boolean(), TableVirtualizeOptionsSchema]).optional(),
344
+ exportable: TableExportableSchema.optional(),
345
+ className: types.string().optional()
346
+ });
347
+ const MetricTrendSchema = types.object({
348
+ value: types.number(),
349
+ direction: types.enum(["up", "down", "neutral"])
350
+ });
351
+ const MetricComponentParamsSchema = types.object({
352
+ title: types.string().min(1),
353
+ value: types.union([types.string(), types.number()]),
354
+ unit: types.string().optional(),
355
+ trend: MetricTrendSchema.optional(),
356
+ subtitle: types.string().optional(),
357
+ icon: types.string().optional(),
358
+ className: types.string().optional()
359
+ });
360
+ const TextComponentParamsSchema = types.object({
361
+ content: types.string().min(1),
362
+ markdown: types.boolean().optional(),
363
+ className: types.string().optional()
364
+ });
365
+ const IframeComponentParamsSchema = types.object({
366
+ url: types.string().min(1),
367
+ title: types.string().optional(),
368
+ height: types.string().optional(),
369
+ className: types.string().optional()
370
+ });
371
+ const ImageComponentParamsSchema = types.object({
372
+ url: types.string().min(1),
373
+ alt: types.string().optional(),
374
+ caption: types.string().optional(),
375
+ className: types.string().optional()
376
+ });
377
+ const LinkComponentParamsSchema = types.object({
378
+ url: types.string().min(1),
379
+ label: types.string().optional(),
380
+ description: types.string().optional(),
381
+ className: types.string().optional()
382
+ });
383
+ const CarouselComponentParamsSchema = types.object({
384
+ items: types.array(types.unknown()).min(1),
385
+ height: types.string().optional(),
386
+ className: types.string().optional()
387
+ });
388
+ const ArtifactComponentParamsSchema = types.object({
389
+ url: types.string().min(1),
390
+ filename: types.string().min(1),
391
+ mimeType: types.string().min(1),
392
+ size: types.number().int().min(0).optional(),
393
+ description: types.string().optional()
394
+ });
395
+ const SandboxFlagSchema = types.enum([
396
+ "allow-scripts",
397
+ "allow-same-origin",
398
+ "allow-forms",
399
+ "allow-popups",
400
+ "allow-modals"
401
+ ]);
402
+ const SecurityConstraintsSchema = types.object({
403
+ requiresAuth: types.boolean().default(false).optional(),
404
+ allowedDomains: types.array(types.string()).optional(),
405
+ maxIframeDepth: types.number().int().min(0).max(3).default(1).optional(),
406
+ sandboxFlags: types.array(SandboxFlagSchema).optional()
407
+ });
408
+ const PerformanceConstraintsSchema = types.object({
409
+ maxRenderTime: types.number().int().min(100).default(5e3).optional(),
410
+ maxDataSize: types.number().int().min(1024).default(102400).optional()
411
+ });
412
+ const ComponentSchemaSchema = types.object({
413
+ type: types.literal("object"),
414
+ required: types.array(types.string()).optional(),
415
+ properties: types.record(types.unknown()),
416
+ additionalProperties: types.boolean().optional()
417
+ });
418
+ const ComponentExampleSchema = types.object({
419
+ name: types.string().min(1),
420
+ description: types.string().optional(),
421
+ params: types.record(types.unknown()),
422
+ position: GridPositionSchema.optional()
423
+ });
424
+ const ComponentSchema = types.object({
425
+ id: types.string().regex(/^[a-z0-9-]+$/),
426
+ type: ComponentTypeSchema,
427
+ name: types.string().min(1),
428
+ description: types.string().optional(),
429
+ schema: ComponentSchemaSchema,
430
+ examples: types.array(ComponentExampleSchema).min(1),
431
+ security: SecurityConstraintsSchema.optional(),
432
+ performance: PerformanceConstraintsSchema.optional(),
433
+ tags: types.array(types.string().regex(/^[a-z0-9-]+$/)).optional(),
434
+ version: types.string().regex(/^\d+\.\d+\.\d+$/).optional(),
435
+ deprecated: types.boolean().default(false).optional(),
436
+ deprecationMessage: types.string().optional()
437
+ });
438
+ const RegistryMetadataSchema = types.object({
439
+ name: types.string().optional(),
440
+ description: types.string().optional(),
441
+ author: types.string().optional(),
442
+ repository: types.string().url().optional()
443
+ });
444
+ types.object({
445
+ version: types.literal("1.0.0"),
446
+ metadata: RegistryMetadataSchema.optional(),
447
+ components: types.array(ComponentSchema).min(1)
448
+ });
449
+ exports.ActionGroupGapSchema = ActionGroupGapSchema;
450
+ exports.ActionGroupLayoutSchema = ActionGroupLayoutSchema;
451
+ exports.ActionGroupParamsSchema = ActionGroupParamsSchema;
452
+ exports.ActionParamsSchema = ActionParamsSchema;
453
+ exports.ArtifactComponentParamsSchema = ArtifactComponentParamsSchema;
454
+ exports.CarouselComponentParamsSchema = CarouselComponentParamsSchema;
455
+ exports.ChartDatasetSchema = ChartDatasetSchema;
456
+ exports.ChartTimeAxisSchema = ChartTimeAxisSchema;
457
+ exports.ChartTypeSchema = ChartTypeSchema;
458
+ exports.CodeComponentParamsSchema = CodeComponentParamsSchema;
459
+ exports.ComponentExampleSchema = ComponentExampleSchema;
460
+ exports.ComponentSchema = ComponentSchema;
461
+ exports.ComponentSchemaSchema = ComponentSchemaSchema;
462
+ exports.ComponentTypeSchema = ComponentTypeSchema;
463
+ exports.FormFieldOptionSchema = FormFieldOptionSchema;
464
+ exports.FormFieldSchema = FormFieldSchema;
465
+ exports.FormFieldTypeSchema = FormFieldTypeSchema;
466
+ exports.FormSubmitActionSchema = FormSubmitActionSchema;
467
+ exports.GalleryImageSchema = GalleryImageSchema;
468
+ exports.GridPositionSchema = GridPositionSchema;
469
+ exports.IframeComponentParamsSchema = IframeComponentParamsSchema;
470
+ exports.ImageComponentParamsSchema = ImageComponentParamsSchema;
471
+ exports.ImageGalleryAspectRatioSchema = ImageGalleryAspectRatioSchema;
472
+ exports.ImageGalleryGapSchema = ImageGalleryGapSchema;
473
+ exports.ImageGalleryParamsSchema = ImageGalleryParamsSchema;
474
+ exports.LinkComponentParamsSchema = LinkComponentParamsSchema;
475
+ exports.MapMarkerSchema = MapMarkerSchema;
476
+ exports.MetricComponentParamsSchema = MetricComponentParamsSchema;
477
+ exports.MetricTrendSchema = MetricTrendSchema;
478
+ exports.ModalSizeSchema = ModalSizeSchema;
479
+ exports.PerformanceConstraintsSchema = PerformanceConstraintsSchema;
480
+ exports.PrefillSourceSchema = PrefillSourceSchema;
481
+ exports.RegistryMetadataSchema = RegistryMetadataSchema;
482
+ exports.SandboxFlagSchema = SandboxFlagSchema;
483
+ exports.SecurityConstraintsSchema = SecurityConstraintsSchema;
484
+ exports.ShowWhenConditionSchema = ShowWhenConditionSchema;
485
+ exports.ShowWhenOperatorSchema = ShowWhenOperatorSchema;
486
+ exports.TableColumnSchema = TableColumnSchema;
487
+ exports.TableExportableSchema = TableExportableSchema;
488
+ exports.TablePaginationSchema = TablePaginationSchema;
489
+ exports.TableVirtualizeOptionsSchema = TableVirtualizeOptionsSchema;
490
+ exports.TextComponentParamsSchema = TextComponentParamsSchema;
491
+ exports.VideoAspectRatioSchema = VideoAspectRatioSchema;
492
+ exports.VideoComponentParamsSchema = VideoComponentParamsSchema;
493
+ //# sourceMappingURL=schemas.cjs.map