@syntrologie/runtime-sdk 2.1.0 → 2.2.0-canary.10

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 (360) hide show
  1. package/CAPABILITIES.md +50 -43
  2. package/README.md +7 -7
  3. package/dist/RuntimeProvider.d.ts +1 -1
  4. package/dist/ShadowRootContext.d.ts +19 -0
  5. package/dist/SmartCanvasApp.d.ts +7 -4
  6. package/dist/SmartCanvasElement.d.ts +7 -2
  7. package/dist/SmartCanvasPortal.d.ts +1 -1
  8. package/dist/actions/executors/core-flow.d.ts +19 -0
  9. package/dist/actions/executors/index.d.ts +4 -3
  10. package/dist/actions/executors/tour.d.ts +1 -1
  11. package/dist/actions/index.d.ts +4 -3
  12. package/dist/actions/schema.d.ts +1229 -0
  13. package/dist/actions/schema.js +67 -0
  14. package/dist/actions/schema.js.map +7 -0
  15. package/dist/api.d.ts +4 -2
  16. package/dist/apps/builtinRuntimeModules.generated.d.ts +20 -0
  17. package/dist/apps/examples/gamification-app.example.d.ts +4 -4
  18. package/dist/apps/index.d.ts +7 -7
  19. package/dist/blocks/data/index.d.ts +1 -1
  20. package/dist/blocks/index.d.ts +2 -2
  21. package/dist/blocks/interactive/index.d.ts +1 -1
  22. package/dist/blocks/notification/NotificationBlock.d.ts +1 -1
  23. package/dist/blocks/notification/index.d.ts +1 -1
  24. package/dist/bootstrap.d.ts +4 -4
  25. package/dist/chunk-AYTRRBR5.js +251 -0
  26. package/dist/chunk-AYTRRBR5.js.map +7 -0
  27. package/dist/chunk-VLWWR22N.js +9266 -0
  28. package/dist/chunk-VLWWR22N.js.map +7 -0
  29. package/dist/components/ShadowCanvasOverlay.d.ts +2 -2
  30. package/dist/components/TileCard.d.ts +1 -1
  31. package/dist/context/ContextManager.d.ts +1 -1
  32. package/dist/context/index.d.ts +3 -3
  33. package/dist/decisions/engine.d.ts +1 -1
  34. package/dist/decisions/index.d.ts +3 -3
  35. package/dist/decisions/schema.d.ts +24 -24
  36. package/dist/decisions/strategies/rules.d.ts +1 -1
  37. package/dist/decisions/strategies/score.d.ts +1 -1
  38. package/dist/editorLoader.d.ts +4 -4
  39. package/dist/events/EventAccumulator.d.ts +1 -1
  40. package/dist/events/EventBus.d.ts +1 -1
  41. package/dist/events/index.d.ts +7 -6
  42. package/dist/events/registerConfigPredicates.d.ts +19 -0
  43. package/dist/experiments/adapters/growthbook.d.ts +1 -1
  44. package/dist/experiments/index.d.ts +2 -2
  45. package/dist/experiments/registry.d.ts +1 -1
  46. package/dist/fetchers/index.d.ts +2 -2
  47. package/dist/hooks/useShadowCanvasConfig.d.ts +1 -1
  48. package/dist/hostPatcher/index.d.ts +2 -2
  49. package/dist/index.d.ts +24 -21
  50. package/dist/index.js +2349 -75
  51. package/dist/index.js.map +7 -1
  52. package/dist/metrics/index.d.ts +1 -1
  53. package/dist/notifications/index.d.ts +6 -6
  54. package/dist/overlays/runtime/index.d.ts +3 -3
  55. package/dist/overlays/runtime/overlay/root.d.ts +17 -1
  56. package/dist/overlays/runtime/overlay/tooltip.d.ts +1 -1
  57. package/dist/react.js +90 -134
  58. package/dist/react.js.map +7 -1
  59. package/dist/render/RenderContext.d.ts +2 -2
  60. package/dist/render/index.d.ts +2 -2
  61. package/dist/render/types.d.ts +2 -2
  62. package/dist/runtime.d.ts +8 -8
  63. package/dist/smart-canvas.esm.js +158 -126
  64. package/dist/smart-canvas.esm.js.map +4 -4
  65. package/dist/smart-canvas.js +18872 -16744
  66. package/dist/smart-canvas.js.map +4 -4
  67. package/dist/smart-canvas.min.js +158 -126
  68. package/dist/smart-canvas.min.js.map +4 -4
  69. package/dist/state/StateStore.d.ts +1 -1
  70. package/dist/state/helpers/cooldowns.d.ts +1 -1
  71. package/dist/state/helpers/dismissals.d.ts +1 -1
  72. package/dist/state/helpers/frequency.d.ts +1 -1
  73. package/dist/state/index.d.ts +3 -3
  74. package/dist/surfaces/index.d.ts +3 -3
  75. package/dist/surfaces/positioning.d.ts +1 -1
  76. package/dist/telemetry/adapters/posthog.d.ts +2 -2
  77. package/dist/telemetry/index.d.ts +3 -3
  78. package/dist/telemetry/registry.d.ts +1 -1
  79. package/dist/telemetry/types.d.ts +5 -0
  80. package/dist/theme/ThemeProvider.d.ts +1 -1
  81. package/dist/theme/extractHostTheme.d.ts +1 -1
  82. package/dist/theme/index.d.ts +4 -4
  83. package/dist/types-only.d.ts +1 -1
  84. package/dist/types-only.js +1 -11
  85. package/dist/types-only.js.map +7 -1
  86. package/dist/types.d.ts +1 -1
  87. package/dist/version.d.ts +1 -1
  88. package/dist/widgets/index.d.ts +1 -1
  89. package/package.json +29 -17
  90. package/schema/canvas-config.base.schema.json +351 -0
  91. package/schema/canvas-config.schema.json +3308 -444
  92. package/scripts/validate-config.mjs +54 -58
  93. package/dist/RuntimeProvider.js +0 -113
  94. package/dist/RuntimeProvider.js.map +0 -1
  95. package/dist/SmartCanvasApp.js +0 -143
  96. package/dist/SmartCanvasApp.js.map +0 -1
  97. package/dist/SmartCanvasElement.js +0 -138
  98. package/dist/SmartCanvasElement.js.map +0 -1
  99. package/dist/SmartCanvasPortal.js +0 -17
  100. package/dist/SmartCanvasPortal.js.map +0 -1
  101. package/dist/actions/ActionEngine.js +0 -272
  102. package/dist/actions/ActionEngine.js.map +0 -1
  103. package/dist/actions/executors/index.js +0 -240
  104. package/dist/actions/executors/index.js.map +0 -1
  105. package/dist/actions/executors/tour.js +0 -332
  106. package/dist/actions/executors/tour.js.map +0 -1
  107. package/dist/actions/index.js +0 -12
  108. package/dist/actions/index.js.map +0 -1
  109. package/dist/actions/types.js +0 -8
  110. package/dist/actions/types.js.map +0 -1
  111. package/dist/actions/validation.js +0 -577
  112. package/dist/actions/validation.js.map +0 -1
  113. package/dist/adaptives/adaptive-chatbot/index.js +0 -9
  114. package/dist/adaptives/adaptive-chatbot/index.js.map +0 -7
  115. package/dist/adaptives/adaptive-content/index.js +0 -22
  116. package/dist/adaptives/adaptive-content/index.js.map +0 -7
  117. package/dist/adaptives/adaptive-faq/index.js +0 -11
  118. package/dist/adaptives/adaptive-faq/index.js.map +0 -7
  119. package/dist/adaptives/adaptive-gamification/index.js +0 -2
  120. package/dist/adaptives/adaptive-gamification/index.js.map +0 -7
  121. package/dist/adaptives/adaptive-nav/index.js +0 -12
  122. package/dist/adaptives/adaptive-nav/index.js.map +0 -7
  123. package/dist/adaptives/adaptive-overlays/index.js +0 -94
  124. package/dist/adaptives/adaptive-overlays/index.js.map +0 -7
  125. package/dist/antiFlicker.js +0 -39
  126. package/dist/antiFlicker.js.map +0 -1
  127. package/dist/api.js +0 -205
  128. package/dist/api.js.map +0 -1
  129. package/dist/apps/AppContext.js +0 -91
  130. package/dist/apps/AppContext.js.map +0 -1
  131. package/dist/apps/AppLoader.js +0 -293
  132. package/dist/apps/AppLoader.js.map +0 -1
  133. package/dist/apps/AppRegistry.js +0 -317
  134. package/dist/apps/AppRegistry.js.map +0 -1
  135. package/dist/apps/examples/gamification-app.example.js +0 -329
  136. package/dist/apps/examples/gamification-app.example.js.map +0 -1
  137. package/dist/apps/index.js +0 -16
  138. package/dist/apps/index.js.map +0 -1
  139. package/dist/apps/types.js +0 -8
  140. package/dist/apps/types.js.map +0 -1
  141. package/dist/blocks/data/ComparisonBlock.js +0 -95
  142. package/dist/blocks/data/ComparisonBlock.js.map +0 -1
  143. package/dist/blocks/data/StatsBlock.js +0 -102
  144. package/dist/blocks/data/StatsBlock.js.map +0 -1
  145. package/dist/blocks/data/index.js +0 -3
  146. package/dist/blocks/data/index.js.map +0 -1
  147. package/dist/blocks/index.js +0 -93
  148. package/dist/blocks/index.js.map +0 -1
  149. package/dist/blocks/interactive/ChecklistBlock.js +0 -111
  150. package/dist/blocks/interactive/ChecklistBlock.js.map +0 -1
  151. package/dist/blocks/interactive/RatingBlock.js +0 -147
  152. package/dist/blocks/interactive/RatingBlock.js.map +0 -1
  153. package/dist/blocks/interactive/index.js +0 -3
  154. package/dist/blocks/interactive/index.js.map +0 -1
  155. package/dist/blocks/notification/NotificationBlock.js +0 -171
  156. package/dist/blocks/notification/NotificationBlock.js.map +0 -1
  157. package/dist/blocks/notification/index.js +0 -2
  158. package/dist/blocks/notification/index.js.map +0 -1
  159. package/dist/blocks/theme-tokens.js +0 -25
  160. package/dist/blocks/theme-tokens.js.map +0 -1
  161. package/dist/bootstrap.js +0 -448
  162. package/dist/bootstrap.js.map +0 -1
  163. package/dist/bundle-entry.js +0 -9
  164. package/dist/bundle-entry.js.map +0 -1
  165. package/dist/components/ShadowCanvasOverlay.js +0 -327
  166. package/dist/components/ShadowCanvasOverlay.js.map +0 -1
  167. package/dist/components/TileCard.js +0 -103
  168. package/dist/components/TileCard.js.map +0 -1
  169. package/dist/components/TileWheel.js +0 -50
  170. package/dist/components/TileWheel.js.map +0 -1
  171. package/dist/config-validator.js +0 -173
  172. package/dist/config-validator.js.map +0 -1
  173. package/dist/configFetcher.js +0 -131
  174. package/dist/configFetcher.js.map +0 -1
  175. package/dist/context/ContextManager.js +0 -269
  176. package/dist/context/ContextManager.js.map +0 -1
  177. package/dist/context/index.js +0 -7
  178. package/dist/context/index.js.map +0 -1
  179. package/dist/context/schema.js +0 -50
  180. package/dist/context/schema.js.map +0 -1
  181. package/dist/context/types.js +0 -8
  182. package/dist/context/types.js.map +0 -1
  183. package/dist/controller.js +0 -34
  184. package/dist/controller.js.map +0 -1
  185. package/dist/decisions/engine.js +0 -117
  186. package/dist/decisions/engine.js.map +0 -1
  187. package/dist/decisions/index.js +0 -10
  188. package/dist/decisions/index.js.map +0 -1
  189. package/dist/decisions/schema.js +0 -151
  190. package/dist/decisions/schema.js.map +0 -1
  191. package/dist/decisions/strategies/rules.js +0 -166
  192. package/dist/decisions/strategies/rules.js.map +0 -1
  193. package/dist/decisions/strategies/score.js +0 -29
  194. package/dist/decisions/strategies/score.js.map +0 -1
  195. package/dist/decisions/types.js +0 -2
  196. package/dist/decisions/types.js.map +0 -1
  197. package/dist/earlyPatcher.js +0 -20
  198. package/dist/earlyPatcher.js.map +0 -1
  199. package/dist/editorLoader.js +0 -254
  200. package/dist/editorLoader.js.map +0 -1
  201. package/dist/events/EventAccumulator.js +0 -101
  202. package/dist/events/EventAccumulator.js.map +0 -1
  203. package/dist/events/EventBus.js +0 -152
  204. package/dist/events/EventBus.js.map +0 -1
  205. package/dist/events/index.js +0 -11
  206. package/dist/events/index.js.map +0 -1
  207. package/dist/events/normalizers/canvas.js +0 -116
  208. package/dist/events/normalizers/canvas.js.map +0 -1
  209. package/dist/events/normalizers/posthog.js +0 -171
  210. package/dist/events/normalizers/posthog.js.map +0 -1
  211. package/dist/events/schema.js +0 -30
  212. package/dist/events/schema.js.map +0 -1
  213. package/dist/events/types.js +0 -54
  214. package/dist/events/types.js.map +0 -1
  215. package/dist/experiments/adapters/growthbook.js +0 -81
  216. package/dist/experiments/adapters/growthbook.js.map +0 -1
  217. package/dist/experiments/index.js +0 -4
  218. package/dist/experiments/index.js.map +0 -1
  219. package/dist/experiments/registry.js +0 -30
  220. package/dist/experiments/registry.js.map +0 -1
  221. package/dist/experiments/types.js +0 -2
  222. package/dist/experiments/types.js.map +0 -1
  223. package/dist/fetchers/cdnFetcher.js +0 -96
  224. package/dist/fetchers/cdnFetcher.js.map +0 -1
  225. package/dist/fetchers/experimentsFetcher.js +0 -109
  226. package/dist/fetchers/experimentsFetcher.js.map +0 -1
  227. package/dist/fetchers/index.js +0 -5
  228. package/dist/fetchers/index.js.map +0 -1
  229. package/dist/fetchers/mergeConfigs.js +0 -38
  230. package/dist/fetchers/mergeConfigs.js.map +0 -1
  231. package/dist/fetchers/registry.js +0 -58
  232. package/dist/fetchers/registry.js.map +0 -1
  233. package/dist/fetchers/types.js +0 -2
  234. package/dist/fetchers/types.js.map +0 -1
  235. package/dist/hooks/useCanvasOverlays.js +0 -128
  236. package/dist/hooks/useCanvasOverlays.js.map +0 -1
  237. package/dist/hooks/useHostPatches.js +0 -40
  238. package/dist/hooks/useHostPatches.js.map +0 -1
  239. package/dist/hooks/useShadowCanvasConfig.js +0 -63
  240. package/dist/hooks/useShadowCanvasConfig.js.map +0 -1
  241. package/dist/hostPatcher/core/patcher.js +0 -181
  242. package/dist/hostPatcher/core/patcher.js.map +0 -1
  243. package/dist/hostPatcher/core/sanitizer.js +0 -66
  244. package/dist/hostPatcher/core/sanitizer.js.map +0 -1
  245. package/dist/hostPatcher/core/types.js +0 -2
  246. package/dist/hostPatcher/core/types.js.map +0 -1
  247. package/dist/hostPatcher/index.js +0 -7
  248. package/dist/hostPatcher/index.js.map +0 -1
  249. package/dist/hostPatcher/policy/defaultPolicy.js +0 -23
  250. package/dist/hostPatcher/policy/defaultPolicy.js.map +0 -1
  251. package/dist/hostPatcher/utils/anchors.js +0 -105
  252. package/dist/hostPatcher/utils/anchors.js.map +0 -1
  253. package/dist/hostPatcher/utils/observer.js +0 -11
  254. package/dist/hostPatcher/utils/observer.js.map +0 -1
  255. package/dist/logger.js +0 -81
  256. package/dist/logger.js.map +0 -1
  257. package/dist/metrics/index.js +0 -5
  258. package/dist/metrics/index.js.map +0 -1
  259. package/dist/metrics/sessionMetrics.js +0 -178
  260. package/dist/metrics/sessionMetrics.js.map +0 -1
  261. package/dist/notifications/NotificationToastStack.js +0 -118
  262. package/dist/notifications/NotificationToastStack.js.map +0 -1
  263. package/dist/notifications/index.js +0 -6
  264. package/dist/notifications/index.js.map +0 -1
  265. package/dist/notifications/matcher.js +0 -66
  266. package/dist/notifications/matcher.js.map +0 -1
  267. package/dist/notifications/types.js +0 -13
  268. package/dist/notifications/types.js.map +0 -1
  269. package/dist/notifications/useNotifications.js +0 -104
  270. package/dist/notifications/useNotifications.js.map +0 -1
  271. package/dist/notifications/useNotifyWatcher.js +0 -62
  272. package/dist/notifications/useNotifyWatcher.js.map +0 -1
  273. package/dist/overlays/fetcher.js +0 -15
  274. package/dist/overlays/fetcher.js.map +0 -1
  275. package/dist/overlays/recipeRegistry.js +0 -32
  276. package/dist/overlays/recipeRegistry.js.map +0 -1
  277. package/dist/overlays/runtime/anchor/resolve.js +0 -87
  278. package/dist/overlays/runtime/anchor/resolve.js.map +0 -1
  279. package/dist/overlays/runtime/index.js +0 -8
  280. package/dist/overlays/runtime/index.js.map +0 -1
  281. package/dist/overlays/runtime/overlay/highlight.js +0 -160
  282. package/dist/overlays/runtime/overlay/highlight.js.map +0 -1
  283. package/dist/overlays/runtime/overlay/modal.js +0 -78
  284. package/dist/overlays/runtime/overlay/modal.js.map +0 -1
  285. package/dist/overlays/runtime/overlay/root.js +0 -297
  286. package/dist/overlays/runtime/overlay/root.js.map +0 -1
  287. package/dist/overlays/runtime/overlay/runner.js +0 -602
  288. package/dist/overlays/runtime/overlay/runner.js.map +0 -1
  289. package/dist/overlays/runtime/overlay/tooltip.js +0 -232
  290. package/dist/overlays/runtime/overlay/tooltip.js.map +0 -1
  291. package/dist/overlays/runtime/utils/dom.js +0 -12
  292. package/dist/overlays/runtime/utils/dom.js.map +0 -1
  293. package/dist/overlays/schema.js +0 -52
  294. package/dist/overlays/schema.js.map +0 -1
  295. package/dist/overlays/types.js +0 -2
  296. package/dist/overlays/types.js.map +0 -1
  297. package/dist/render/RenderContext.js +0 -69
  298. package/dist/render/RenderContext.js.map +0 -1
  299. package/dist/render/index.js +0 -3
  300. package/dist/render/index.js.map +0 -1
  301. package/dist/render/types.js +0 -2
  302. package/dist/render/types.js.map +0 -1
  303. package/dist/runtime.js +0 -237
  304. package/dist/runtime.js.map +0 -1
  305. package/dist/state/StateStore.js +0 -176
  306. package/dist/state/StateStore.js.map +0 -1
  307. package/dist/state/helpers/cooldowns.js +0 -31
  308. package/dist/state/helpers/cooldowns.js.map +0 -1
  309. package/dist/state/helpers/dismissals.js +0 -34
  310. package/dist/state/helpers/dismissals.js.map +0 -1
  311. package/dist/state/helpers/frequency.js +0 -43
  312. package/dist/state/helpers/frequency.js.map +0 -1
  313. package/dist/state/index.js +0 -7
  314. package/dist/state/index.js.map +0 -1
  315. package/dist/state/schema.js +0 -25
  316. package/dist/state/schema.js.map +0 -1
  317. package/dist/state/types.js +0 -9
  318. package/dist/state/types.js.map +0 -1
  319. package/dist/store/example.js +0 -43
  320. package/dist/store/example.js.map +0 -1
  321. package/dist/store/mini-effector.js +0 -88
  322. package/dist/store/mini-effector.js.map +0 -1
  323. package/dist/surfaces/Surfaces.js +0 -361
  324. package/dist/surfaces/Surfaces.js.map +0 -1
  325. package/dist/surfaces/index.js +0 -12
  326. package/dist/surfaces/index.js.map +0 -1
  327. package/dist/surfaces/positioning.js +0 -228
  328. package/dist/surfaces/positioning.js.map +0 -1
  329. package/dist/surfaces/types.js +0 -23
  330. package/dist/surfaces/types.js.map +0 -1
  331. package/dist/telemetry/adapters/noop.js +0 -42
  332. package/dist/telemetry/adapters/noop.js.map +0 -1
  333. package/dist/telemetry/adapters/posthog.js +0 -180
  334. package/dist/telemetry/adapters/posthog.js.map +0 -1
  335. package/dist/telemetry/index.js +0 -4
  336. package/dist/telemetry/index.js.map +0 -1
  337. package/dist/telemetry/registry.js +0 -29
  338. package/dist/telemetry/registry.js.map +0 -1
  339. package/dist/telemetry/types.js +0 -2
  340. package/dist/telemetry/types.js.map +0 -1
  341. package/dist/theme/ThemeProvider.js +0 -109
  342. package/dist/theme/ThemeProvider.js.map +0 -1
  343. package/dist/theme/defaultTheme.js +0 -190
  344. package/dist/theme/defaultTheme.js.map +0 -1
  345. package/dist/theme/extractHostTheme.js +0 -259
  346. package/dist/theme/extractHostTheme.js.map +0 -1
  347. package/dist/theme/index.js +0 -7
  348. package/dist/theme/index.js.map +0 -1
  349. package/dist/theme/types.js +0 -6
  350. package/dist/theme/types.js.map +0 -1
  351. package/dist/token.js +0 -44
  352. package/dist/token.js.map +0 -1
  353. package/dist/types.js +0 -17
  354. package/dist/types.js.map +0 -1
  355. package/dist/version.js +0 -14
  356. package/dist/version.js.map +0 -1
  357. package/dist/widgets/WidgetRegistry.js +0 -190
  358. package/dist/widgets/WidgetRegistry.js.map +0 -1
  359. package/dist/widgets/index.js +0 -7
  360. package/dist/widgets/index.js.map +0 -1
@@ -0,0 +1,67 @@
1
+ import {
2
+ AddClassZ,
3
+ BadgePositionZ,
4
+ BadgeZ,
5
+ CtaButtonZ,
6
+ HighlightStyleZ,
7
+ HighlightZ,
8
+ InsertHtmlZ,
9
+ InsertPositionZ,
10
+ ModalContentZ,
11
+ ModalZ,
12
+ MountWidgetZ,
13
+ NavigateZ,
14
+ ParallelZ,
15
+ PlacementZ,
16
+ PulseZ,
17
+ RemoveClassZ,
18
+ ScrollBehaviorZ,
19
+ ScrollLogicalPositionZ,
20
+ ScrollToZ,
21
+ SequenceZ,
22
+ SetAttrZ,
23
+ SetStyleZ,
24
+ SetTextZ,
25
+ TooltipContentZ,
26
+ TooltipTriggerZ,
27
+ TooltipZ,
28
+ TourStepForSchemaZ,
29
+ TourZ,
30
+ WaitZ,
31
+ WidgetConfigZ,
32
+ coreActionStepSchemas
33
+ } from "../chunk-AYTRRBR5.js";
34
+ export {
35
+ AddClassZ,
36
+ BadgePositionZ,
37
+ BadgeZ,
38
+ CtaButtonZ,
39
+ HighlightStyleZ,
40
+ HighlightZ,
41
+ InsertHtmlZ,
42
+ InsertPositionZ,
43
+ ModalContentZ,
44
+ ModalZ,
45
+ MountWidgetZ,
46
+ NavigateZ,
47
+ ParallelZ,
48
+ PlacementZ,
49
+ PulseZ,
50
+ RemoveClassZ,
51
+ ScrollBehaviorZ,
52
+ ScrollLogicalPositionZ,
53
+ ScrollToZ,
54
+ SequenceZ,
55
+ SetAttrZ,
56
+ SetStyleZ,
57
+ SetTextZ,
58
+ TooltipContentZ,
59
+ TooltipTriggerZ,
60
+ TooltipZ,
61
+ TourStepForSchemaZ,
62
+ TourZ,
63
+ WaitZ,
64
+ WidgetConfigZ,
65
+ coreActionStepSchemas
66
+ };
67
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
package/dist/api.d.ts CHANGED
@@ -7,9 +7,9 @@
7
7
  import type { CanvasTheme } from './components/ShadowCanvasOverlay';
8
8
  import type { ExperimentClient } from './experiments/types';
9
9
  import type { OverlayRecipeFetcher } from './overlays/fetcher';
10
- import type { RenderProps, ActionHandler, AppearanceConfig } from './render/types';
10
+ import type { ActionHandler, AppearanceConfig, RenderProps } from './render/types';
11
11
  import type { SmartCanvasRuntime } from './runtime';
12
- import { SmartCanvasElement } from './SmartCanvasElement';
12
+ import { type SmartCanvasElement } from './SmartCanvasElement';
13
13
  import type { TelemetryClient } from './telemetry/types';
14
14
  import type { CanvasConfigFetcher, CanvasConfigResponse } from './types';
15
15
  export interface SmartCanvasIntegrations {
@@ -73,6 +73,8 @@ export interface SmartCanvasHandle {
73
73
  registerTelemetryProperties(properties: Record<string, unknown>): void;
74
74
  getSessionId(): string | undefined;
75
75
  startSessionRecording(): void;
76
+ /** Track a custom event. Returns true if telemetry is available and event was sent. */
77
+ track(eventName: string, properties?: Record<string, unknown>): boolean;
76
78
  /**
77
79
  * v2 Runtime instance for context, events, state, and decisions.
78
80
  */
@@ -0,0 +1,20 @@
1
+ export declare const builtinAdaptiveManifests: {
2
+ id: any;
3
+ version: any;
4
+ name: any;
5
+ description: any;
6
+ runtime: {
7
+ actions: any;
8
+ widgets: any;
9
+ notifyWatchers: any;
10
+ events: any;
11
+ };
12
+ editor: undefined;
13
+ metadata: {
14
+ isBuiltIn: boolean;
15
+ };
16
+ }[];
17
+ export declare function registerBuiltinRuntimeModules(registry: {
18
+ has: (id: string) => boolean;
19
+ register: (manifest: any) => void;
20
+ }): void;
@@ -67,7 +67,7 @@ export declare const configSchema: z.ZodObject<{
67
67
  description?: string | undefined;
68
68
  }[];
69
69
  showProgress: boolean;
70
- celebrationStyle: "toast" | "modal" | "confetti";
70
+ celebrationStyle: "modal" | "toast" | "confetti";
71
71
  }, {
72
72
  badges?: {
73
73
  trigger: {
@@ -80,7 +80,7 @@ export declare const configSchema: z.ZodObject<{
80
80
  description?: string | undefined;
81
81
  }[] | undefined;
82
82
  showProgress?: boolean | undefined;
83
- celebrationStyle?: "toast" | "modal" | "confetti" | undefined;
83
+ celebrationStyle?: "modal" | "toast" | "confetti" | undefined;
84
84
  }>;
85
85
  export type GamificationConfig = z.infer<typeof configSchema>;
86
86
  /**
@@ -274,7 +274,7 @@ export declare const manifest: {
274
274
  description?: string | undefined;
275
275
  }[];
276
276
  showProgress: boolean;
277
- celebrationStyle: "toast" | "modal" | "confetti";
277
+ celebrationStyle: "modal" | "toast" | "confetti";
278
278
  }, {
279
279
  badges?: {
280
280
  trigger: {
@@ -287,7 +287,7 @@ export declare const manifest: {
287
287
  description?: string | undefined;
288
288
  }[] | undefined;
289
289
  showProgress?: boolean | undefined;
290
- celebrationStyle?: "toast" | "modal" | "confetti" | undefined;
290
+ celebrationStyle?: "modal" | "toast" | "confetti" | undefined;
291
291
  }>;
292
292
  editor: {
293
293
  component: typeof GamificationEditor;
@@ -3,12 +3,12 @@
3
3
  *
4
4
  * SynOS app system for extensible runtime and editor modules.
5
5
  */
6
- export { AppRegistry, appRegistry } from './AppRegistry';
7
- export type { AppRegistryEventCallback } from './AppRegistry';
8
- export { createAppContext, cleanupAppContext } from './AppContext';
9
- export type { CreateAppContextOptions } from './AppContext';
10
- export { createAppLoader, isCoreActionKind, getAppIdFromActionKind, getAppIdFromWidgetId, } from './AppLoader';
11
- export type { AppLoader, AppLoaderOptions, AppLoadResult, CanvasConfigForLoader, } from './AppLoader';
12
6
  export { runtime as contentRuntime } from '@syntrologie/adapt-content/runtime';
13
7
  export { runtime as overlaysRuntime } from '@syntrologie/adapt-overlays/runtime';
14
- export type { AppManifest, AppRegistration, AppLifecycleState, AppContext, AppRuntimeExtensions, AppActionDefinition, AppWidgetDefinition, AppEventHandler, AppEventContext, NotifyWatcherEntry, EditorPanelProps, EditorPanelConfig, AppEditorModule, AppRegistryEvent, } from './types';
8
+ export type { CreateAppContextOptions } from './AppContext';
9
+ export { cleanupAppContext, createAppContext } from './AppContext';
10
+ export type { AppLoader, AppLoaderOptions, AppLoadResult, CanvasConfigForLoader, } from './AppLoader';
11
+ export { createAppLoader, getAppIdFromActionKind, getAppIdFromWidgetId, isCoreActionKind, } from './AppLoader';
12
+ export type { AppRegistryEventCallback } from './AppRegistry';
13
+ export { AppRegistry, appRegistry } from './AppRegistry';
14
+ export type { AppActionDefinition, AppContext, AppEditorModule, AppEventContext, AppEventHandler, AppLifecycleState, AppManifest, AppRegistration, AppRegistryEvent, AppRuntimeExtensions, AppWidgetDefinition, EditorPanelConfig, EditorPanelProps, NotifyWatcherEntry, } from './types';
@@ -1,2 +1,2 @@
1
- export { StatsBlock } from './StatsBlock';
2
1
  export { ComparisonBlock } from './ComparisonBlock';
2
+ export { StatsBlock } from './StatsBlock';
@@ -1,8 +1,8 @@
1
1
  import type { ReactNode } from 'react';
2
- import type { NotificationContent, MediaContent, InteractiveContent, DataContent } from '../types';
3
- export * from './notification';
2
+ import type { DataContent, InteractiveContent, MediaContent, NotificationContent } from '../types';
4
3
  export * from './data';
5
4
  export * from './interactive';
5
+ export * from './notification';
6
6
  /**
7
7
  * Union of all block content types that can be rendered by the block system.
8
8
  */
@@ -1,2 +1,2 @@
1
- export { RatingBlock } from './RatingBlock';
2
1
  export { ChecklistBlock } from './ChecklistBlock';
2
+ export { RatingBlock } from './RatingBlock';
@@ -1,4 +1,4 @@
1
- import type { AlertContent, SuccessContent, WarningContent, InfoContent, ErrorContent, NotificationContent } from '../../types';
1
+ import type { AlertContent, ErrorContent, InfoContent, NotificationContent, SuccessContent, WarningContent } from '../../types';
2
2
  interface NotificationBlockProps {
3
3
  content: NotificationContent;
4
4
  onDismiss?: () => void;
@@ -1 +1 @@
1
- export { NotificationBlock, SuccessBlock, WarningBlock, ErrorBlock, InfoBlock, AlertBlock, } from './NotificationBlock';
1
+ export { AlertBlock, ErrorBlock, InfoBlock, NotificationBlock, SuccessBlock, WarningBlock, } from './NotificationBlock';
@@ -16,12 +16,12 @@
16
16
  * runtime.state.dismissals.mark('my-tile');
17
17
  * ```
18
18
  */
19
- import { SmartCanvasConfig, SmartCanvasHandle } from './api';
20
- import { appRegistry } from './apps';
19
+ import { type SmartCanvasConfig, type SmartCanvasHandle } from './api';
20
+ import type { appRegistry } from './apps';
21
21
  import { type AppLoader } from './apps/AppLoader';
22
22
  import type { ExperimentClient } from './experiments/types';
23
- import { SessionMetricTracker } from './metrics';
24
- import { SmartCanvasRuntime } from './runtime';
23
+ import { type SessionMetricTracker } from './metrics';
24
+ import { type SmartCanvasRuntime } from './runtime';
25
25
  import type { TelemetryClient } from './telemetry/types';
26
26
  import { decodeToken, encodeToken } from './token';
27
27
  import type { CanvasConfigFetcher } from './types';
@@ -0,0 +1,251 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __typeError = (msg) => {
3
+ throw TypeError(msg);
4
+ };
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
7
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
8
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
9
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
10
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
11
+
12
+ // src/actions/schema.ts
13
+ import { z } from "zod";
14
+ var HighlightStyleZ = z.object({
15
+ color: z.string().optional(),
16
+ scrimOpacity: z.number().min(0).max(1).optional(),
17
+ paddingPx: z.number().optional(),
18
+ radiusPx: z.number().optional()
19
+ }).strict();
20
+ var BadgePositionZ = z.enum(["top-left", "top-right", "bottom-left", "bottom-right"]);
21
+ var PlacementZ = z.enum([
22
+ "top",
23
+ "top-start",
24
+ "top-end",
25
+ "bottom",
26
+ "bottom-start",
27
+ "bottom-end",
28
+ "left",
29
+ "left-start",
30
+ "left-end",
31
+ "right",
32
+ "right-start",
33
+ "right-end"
34
+ ]);
35
+ var CtaButtonZ = z.object({
36
+ label: z.string(),
37
+ actionId: z.string(),
38
+ primary: z.boolean().optional()
39
+ }).strict();
40
+ var TooltipContentZ = z.object({
41
+ title: z.string().optional(),
42
+ body: z.string(),
43
+ ctaButtons: z.array(CtaButtonZ).optional()
44
+ }).strict();
45
+ var ModalContentZ = z.object({
46
+ title: z.string().optional(),
47
+ body: z.string()
48
+ }).strict();
49
+ var InsertPositionZ = z.enum(["before", "after", "prepend", "append", "replace"]);
50
+ var TooltipTriggerZ = z.enum(["immediate", "hover", "click"]);
51
+ var WidgetConfigZ = z.object({
52
+ widgetId: z.string(),
53
+ props: z.record(z.unknown()).optional(),
54
+ priority: z.number().optional()
55
+ }).strict();
56
+ var TourStepForSchemaZ = z.object({
57
+ id: z.string(),
58
+ action: z.any(),
59
+ route: z.string().optional(),
60
+ onAction: z.record(z.string()).optional()
61
+ }).strict();
62
+ var ScrollBehaviorZ = z.enum(["auto", "smooth", "instant"]);
63
+ var ScrollLogicalPositionZ = z.enum(["start", "center", "end", "nearest"]);
64
+ var SetTextZ = z.object({
65
+ kind: z.literal("content:setText"),
66
+ anchorId: z.string(),
67
+ text: z.string(),
68
+ label: z.string().optional()
69
+ }).strict();
70
+ var SetAttrZ = z.object({
71
+ kind: z.literal("content:setAttr"),
72
+ anchorId: z.string(),
73
+ attr: z.string(),
74
+ value: z.string(),
75
+ label: z.string().optional()
76
+ }).strict();
77
+ var AddClassZ = z.object({
78
+ kind: z.literal("content:addClass"),
79
+ anchorId: z.string(),
80
+ className: z.string(),
81
+ label: z.string().optional()
82
+ }).strict();
83
+ var RemoveClassZ = z.object({
84
+ kind: z.literal("content:removeClass"),
85
+ anchorId: z.string(),
86
+ className: z.string(),
87
+ label: z.string().optional()
88
+ }).strict();
89
+ var SetStyleZ = z.object({
90
+ kind: z.literal("content:setStyle"),
91
+ anchorId: z.string(),
92
+ styles: z.record(z.string()),
93
+ label: z.string().optional()
94
+ }).strict();
95
+ var InsertHtmlZ = z.object({
96
+ kind: z.literal("content:insertHtml"),
97
+ anchorId: z.string(),
98
+ html: z.string(),
99
+ position: InsertPositionZ,
100
+ label: z.string().optional()
101
+ }).strict();
102
+ var HighlightZ = z.object({
103
+ kind: z.literal("overlays:highlight"),
104
+ anchorId: z.string(),
105
+ style: HighlightStyleZ.optional(),
106
+ duration: z.number().optional(),
107
+ label: z.string().optional()
108
+ }).strict();
109
+ var PulseZ = z.object({
110
+ kind: z.literal("overlays:pulse"),
111
+ anchorId: z.string(),
112
+ duration: z.number().optional(),
113
+ label: z.string().optional()
114
+ }).strict();
115
+ var BadgeZ = z.object({
116
+ kind: z.literal("overlays:badge"),
117
+ anchorId: z.string(),
118
+ content: z.string(),
119
+ position: BadgePositionZ.optional(),
120
+ label: z.string().optional()
121
+ }).strict();
122
+ var TooltipZ = z.object({
123
+ kind: z.literal("overlays:tooltip"),
124
+ anchorId: z.string(),
125
+ content: TooltipContentZ,
126
+ trigger: TooltipTriggerZ.optional(),
127
+ placement: PlacementZ.optional(),
128
+ waitFor: z.string().optional(),
129
+ label: z.string().optional()
130
+ }).strict();
131
+ var ModalZ = z.object({
132
+ kind: z.literal("overlays:modal"),
133
+ content: ModalContentZ,
134
+ size: z.enum(["sm", "md", "lg"]).optional(),
135
+ blocking: z.boolean().optional(),
136
+ scrim: z.object({
137
+ opacity: z.number().min(0).max(1).optional()
138
+ }).strict().optional(),
139
+ dismiss: z.object({
140
+ onEsc: z.boolean().optional(),
141
+ closeButton: z.boolean().optional(),
142
+ timeoutMs: z.number().min(0).optional()
143
+ }).strict().optional(),
144
+ ctaButtons: z.array(CtaButtonZ).optional(),
145
+ waitFor: z.string().optional(),
146
+ label: z.string().optional()
147
+ }).strict();
148
+ var ScrollToZ = z.object({
149
+ kind: z.literal("navigation:scrollTo"),
150
+ anchorId: z.string(),
151
+ behavior: ScrollBehaviorZ.optional(),
152
+ block: ScrollLogicalPositionZ.optional(),
153
+ inline: ScrollLogicalPositionZ.optional(),
154
+ label: z.string().optional()
155
+ }).strict();
156
+ var NavigateZ = z.object({
157
+ kind: z.literal("navigation:navigate"),
158
+ url: z.string(),
159
+ target: z.enum(["_self", "_blank"]).optional(),
160
+ label: z.string().optional()
161
+ }).strict();
162
+ var MountWidgetZ = z.object({
163
+ kind: z.literal("core:mountWidget"),
164
+ slot: z.string(),
165
+ widget: WidgetConfigZ,
166
+ label: z.string().optional()
167
+ }).strict();
168
+ var WaitZ = z.object({
169
+ kind: z.literal("core:wait"),
170
+ durationMs: z.number().min(0).optional(),
171
+ event: z.string().optional(),
172
+ label: z.string().optional()
173
+ }).strict();
174
+ var SequenceZ = z.object({
175
+ kind: z.literal("core:sequence"),
176
+ actions: z.array(z.any()),
177
+ label: z.string().optional()
178
+ }).strict();
179
+ var ParallelZ = z.object({
180
+ kind: z.literal("core:parallel"),
181
+ actions: z.array(z.any()),
182
+ waitFor: z.enum(["all", "any"]).optional(),
183
+ label: z.string().optional()
184
+ }).strict();
185
+ var TourZ = z.object({
186
+ kind: z.literal("core:tour"),
187
+ tourId: z.string(),
188
+ steps: z.array(TourStepForSchemaZ).min(1),
189
+ startStep: z.string().optional(),
190
+ autoStart: z.boolean().optional(),
191
+ label: z.string().optional()
192
+ }).strict();
193
+ var coreActionStepSchemas = [
194
+ { defName: "setText", schema: SetTextZ },
195
+ { defName: "setAttr", schema: SetAttrZ },
196
+ { defName: "addClass", schema: AddClassZ },
197
+ { defName: "removeClass", schema: RemoveClassZ },
198
+ { defName: "setStyle", schema: SetStyleZ },
199
+ { defName: "insertHtml", schema: InsertHtmlZ },
200
+ { defName: "highlight", schema: HighlightZ },
201
+ { defName: "pulse", schema: PulseZ },
202
+ { defName: "badge", schema: BadgeZ },
203
+ { defName: "tooltip", schema: TooltipZ },
204
+ { defName: "modal", schema: ModalZ },
205
+ { defName: "scrollTo", schema: ScrollToZ },
206
+ { defName: "navigate", schema: NavigateZ },
207
+ { defName: "mountWidget", schema: MountWidgetZ },
208
+ { defName: "wait", schema: WaitZ },
209
+ { defName: "sequence", schema: SequenceZ },
210
+ { defName: "parallel", schema: ParallelZ },
211
+ { defName: "tour", schema: TourZ }
212
+ ];
213
+
214
+ export {
215
+ __publicField,
216
+ __privateGet,
217
+ __privateAdd,
218
+ __privateSet,
219
+ HighlightStyleZ,
220
+ BadgePositionZ,
221
+ PlacementZ,
222
+ CtaButtonZ,
223
+ TooltipContentZ,
224
+ ModalContentZ,
225
+ InsertPositionZ,
226
+ TooltipTriggerZ,
227
+ WidgetConfigZ,
228
+ TourStepForSchemaZ,
229
+ ScrollBehaviorZ,
230
+ ScrollLogicalPositionZ,
231
+ SetTextZ,
232
+ SetAttrZ,
233
+ AddClassZ,
234
+ RemoveClassZ,
235
+ SetStyleZ,
236
+ InsertHtmlZ,
237
+ HighlightZ,
238
+ PulseZ,
239
+ BadgeZ,
240
+ TooltipZ,
241
+ ModalZ,
242
+ ScrollToZ,
243
+ NavigateZ,
244
+ MountWidgetZ,
245
+ WaitZ,
246
+ SequenceZ,
247
+ ParallelZ,
248
+ TourZ,
249
+ coreActionStepSchemas
250
+ };
251
+ //# sourceMappingURL=chunk-AYTRRBR5.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/actions/schema.ts"],
4
+ "sourcesContent": ["/**\n * Core Action Zod Schemas\n *\n * Single source of truth for the shape of all 18 core action types.\n * These schemas are converted to JSON Schema during build and merged\n * into the unified canvas-config.schema.json.\n *\n * Design decisions:\n * - `.strict()` on every object \u2192 `additionalProperties: false` in JSON Schema\n * - Matches `types.ts` exactly (fixes all drift from the old manual JSON defs)\n * - Recursive ActionStep references use `z.any()` as placeholder; the generator\n * replaces `{}` with `{ \"$ref\": \"#/$defs/actionStep\" }` post-conversion\n */\n\nimport { z } from 'zod';\n\n// ============================================================================\n// Shared Sub-Types\n// ============================================================================\n\n/** Highlight style configuration */\nconst HighlightStyleZ = z\n .object({\n color: z.string().optional(),\n scrimOpacity: z.number().min(0).max(1).optional(),\n paddingPx: z.number().optional(),\n radiusPx: z.number().optional(),\n })\n .strict();\n\n/** Badge position relative to anchor */\nconst BadgePositionZ = z.enum(['top-left', 'top-right', 'bottom-left', 'bottom-right']);\n\n/**\n * Floating-ui Placement \u2014 all 12 values.\n * Matches `@floating-ui/dom` `Placement` type.\n */\nconst PlacementZ = z.enum([\n 'top',\n 'top-start',\n 'top-end',\n 'bottom',\n 'bottom-start',\n 'bottom-end',\n 'left',\n 'left-start',\n 'left-end',\n 'right',\n 'right-start',\n 'right-end',\n]);\n\n/** CTA button configuration for tooltips/modals */\nconst CtaButtonZ = z\n .object({\n label: z.string(),\n actionId: z.string(),\n primary: z.boolean().optional(),\n })\n .strict();\n\n/**\n * Tooltip content (schema-safe version).\n * Omits `cta` (legacy field with recursive ActionStep; never in JSON schema).\n */\nconst TooltipContentZ = z\n .object({\n title: z.string().optional(),\n body: z.string(),\n ctaButtons: z.array(CtaButtonZ).optional(),\n })\n .strict();\n\n/** Modal content configuration */\nconst ModalContentZ = z\n .object({\n title: z.string().optional(),\n body: z.string(),\n })\n .strict();\n\n/** Position where HTML/content should be inserted */\nconst InsertPositionZ = z.enum(['before', 'after', 'prepend', 'append', 'replace']);\n\n/** Tooltip trigger mode */\nconst TooltipTriggerZ = z.enum(['immediate', 'hover', 'click']);\n\n/** Widget configuration for surface mounting */\nconst WidgetConfigZ = z\n .object({\n widgetId: z.string(),\n props: z.record(z.unknown()).optional(),\n priority: z.number().optional(),\n })\n .strict();\n\n/**\n * Tour step (schema-safe version).\n * Uses `z.any()` for the `action` field \u2014 the generator replaces it with a $ref.\n */\nconst TourStepForSchemaZ = z\n .object({\n id: z.string(),\n action: z.any(),\n route: z.string().optional(),\n onAction: z.record(z.string()).optional(),\n })\n .strict();\n\n// ============================================================================\n// ScrollBehavior / ScrollLogicalPosition (DOM built-in types as Zod enums)\n// ============================================================================\n\nconst ScrollBehaviorZ = z.enum(['auto', 'smooth', 'instant']);\nconst ScrollLogicalPositionZ = z.enum(['start', 'center', 'end', 'nearest']);\n\n// ============================================================================\n// Core Action Schemas (18 total)\n// ============================================================================\n\n// --- Content Actions ---\n\nconst SetTextZ = z\n .object({\n kind: z.literal('content:setText'),\n anchorId: z.string(),\n text: z.string(),\n label: z.string().optional(),\n })\n .strict();\n\nconst SetAttrZ = z\n .object({\n kind: z.literal('content:setAttr'),\n anchorId: z.string(),\n attr: z.string(),\n value: z.string(),\n label: z.string().optional(),\n })\n .strict();\n\nconst AddClassZ = z\n .object({\n kind: z.literal('content:addClass'),\n anchorId: z.string(),\n className: z.string(),\n label: z.string().optional(),\n })\n .strict();\n\nconst RemoveClassZ = z\n .object({\n kind: z.literal('content:removeClass'),\n anchorId: z.string(),\n className: z.string(),\n label: z.string().optional(),\n })\n .strict();\n\nconst SetStyleZ = z\n .object({\n kind: z.literal('content:setStyle'),\n anchorId: z.string(),\n styles: z.record(z.string()),\n label: z.string().optional(),\n })\n .strict();\n\nconst InsertHtmlZ = z\n .object({\n kind: z.literal('content:insertHtml'),\n anchorId: z.string(),\n html: z.string(),\n position: InsertPositionZ,\n label: z.string().optional(),\n })\n .strict();\n\n// --- Overlay Actions ---\n\nconst HighlightZ = z\n .object({\n kind: z.literal('overlays:highlight'),\n anchorId: z.string(),\n style: HighlightStyleZ.optional(),\n duration: z.number().optional(),\n label: z.string().optional(),\n })\n .strict();\n\nconst PulseZ = z\n .object({\n kind: z.literal('overlays:pulse'),\n anchorId: z.string(),\n duration: z.number().optional(),\n label: z.string().optional(),\n })\n .strict();\n\nconst BadgeZ = z\n .object({\n kind: z.literal('overlays:badge'),\n anchorId: z.string(),\n content: z.string(),\n position: BadgePositionZ.optional(),\n label: z.string().optional(),\n })\n .strict();\n\nconst TooltipZ = z\n .object({\n kind: z.literal('overlays:tooltip'),\n anchorId: z.string(),\n content: TooltipContentZ,\n trigger: TooltipTriggerZ.optional(),\n placement: PlacementZ.optional(),\n waitFor: z.string().optional(),\n label: z.string().optional(),\n })\n .strict();\n\nconst ModalZ = z\n .object({\n kind: z.literal('overlays:modal'),\n content: ModalContentZ,\n size: z.enum(['sm', 'md', 'lg']).optional(),\n blocking: z.boolean().optional(),\n scrim: z\n .object({\n opacity: z.number().min(0).max(1).optional(),\n })\n .strict()\n .optional(),\n dismiss: z\n .object({\n onEsc: z.boolean().optional(),\n closeButton: z.boolean().optional(),\n timeoutMs: z.number().min(0).optional(),\n })\n .strict()\n .optional(),\n ctaButtons: z.array(CtaButtonZ).optional(),\n waitFor: z.string().optional(),\n label: z.string().optional(),\n })\n .strict();\n\n// --- Navigation Actions ---\n\nconst ScrollToZ = z\n .object({\n kind: z.literal('navigation:scrollTo'),\n anchorId: z.string(),\n behavior: ScrollBehaviorZ.optional(),\n block: ScrollLogicalPositionZ.optional(),\n inline: ScrollLogicalPositionZ.optional(),\n label: z.string().optional(),\n })\n .strict();\n\nconst NavigateZ = z\n .object({\n kind: z.literal('navigation:navigate'),\n url: z.string(),\n target: z.enum(['_self', '_blank']).optional(),\n label: z.string().optional(),\n })\n .strict();\n\n// --- Core Primitives ---\n\nconst MountWidgetZ = z\n .object({\n kind: z.literal('core:mountWidget'),\n slot: z.string(),\n widget: WidgetConfigZ,\n label: z.string().optional(),\n })\n .strict();\n\nconst WaitZ = z\n .object({\n kind: z.literal('core:wait'),\n durationMs: z.number().min(0).optional(),\n event: z.string().optional(),\n label: z.string().optional(),\n })\n .strict();\n\n/**\n * Sequence \u2014 executes actions serially.\n * `actions` uses `z.any()` as placeholder for recursive ActionStep refs.\n */\nconst SequenceZ = z\n .object({\n kind: z.literal('core:sequence'),\n actions: z.array(z.any()),\n label: z.string().optional(),\n })\n .strict();\n\n/**\n * Parallel \u2014 executes actions concurrently.\n * `actions` uses `z.any()` as placeholder for recursive ActionStep refs.\n */\nconst ParallelZ = z\n .object({\n kind: z.literal('core:parallel'),\n actions: z.array(z.any()),\n waitFor: z.enum(['all', 'any']).optional(),\n label: z.string().optional(),\n })\n .strict();\n\n/**\n * Tour \u2014 orchestrate sequential steps with cross-page state.\n * `steps` contains TourStepForSchemaZ which uses z.any() for step.action.\n */\nconst TourZ = z\n .object({\n kind: z.literal('core:tour'),\n tourId: z.string(),\n steps: z.array(TourStepForSchemaZ).min(1),\n startStep: z.string().optional(),\n autoStart: z.boolean().optional(),\n label: z.string().optional(),\n })\n .strict();\n\n// ============================================================================\n// Export: Array for unified schema generation\n// ============================================================================\n\n/**\n * All 18 core action step schemas for unified JSON Schema generation.\n * The generator imports this array and converts each to JSON Schema,\n * then merges them into `$defs` and `actionStep.oneOf`.\n *\n * `defName` values match the existing `$defs` keys for backward compat.\n */\nexport const coreActionStepSchemas = [\n { defName: 'setText', schema: SetTextZ },\n { defName: 'setAttr', schema: SetAttrZ },\n { defName: 'addClass', schema: AddClassZ },\n { defName: 'removeClass', schema: RemoveClassZ },\n { defName: 'setStyle', schema: SetStyleZ },\n { defName: 'insertHtml', schema: InsertHtmlZ },\n { defName: 'highlight', schema: HighlightZ },\n { defName: 'pulse', schema: PulseZ },\n { defName: 'badge', schema: BadgeZ },\n { defName: 'tooltip', schema: TooltipZ },\n { defName: 'modal', schema: ModalZ },\n { defName: 'scrollTo', schema: ScrollToZ },\n { defName: 'navigate', schema: NavigateZ },\n { defName: 'mountWidget', schema: MountWidgetZ },\n { defName: 'wait', schema: WaitZ },\n { defName: 'sequence', schema: SequenceZ },\n { defName: 'parallel', schema: ParallelZ },\n { defName: 'tour', schema: TourZ },\n];\n\n// ============================================================================\n// Named Exports (for unit tests and direct usage)\n// ============================================================================\n\nexport {\n // Sub-types\n HighlightStyleZ,\n BadgePositionZ,\n PlacementZ,\n CtaButtonZ,\n TooltipContentZ,\n ModalContentZ,\n InsertPositionZ,\n TooltipTriggerZ,\n WidgetConfigZ,\n TourStepForSchemaZ,\n ScrollBehaviorZ,\n ScrollLogicalPositionZ,\n // Actions\n SetTextZ,\n SetAttrZ,\n AddClassZ,\n RemoveClassZ,\n SetStyleZ,\n InsertHtmlZ,\n HighlightZ,\n PulseZ,\n BadgeZ,\n TooltipZ,\n ModalZ,\n ScrollToZ,\n NavigateZ,\n MountWidgetZ,\n WaitZ,\n SequenceZ,\n ParallelZ,\n TourZ,\n};\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }