@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
@@ -1,8 +0,0 @@
1
- /**
2
- * Runtime Context Types
3
- *
4
- * The RuntimeContext represents the current state of the page, session, viewport,
5
- * and other environmental factors that can be used for adaptive decision-making.
6
- */
7
- export {};
8
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/context/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -1,34 +0,0 @@
1
- export class SmartCanvasController {
2
- constructor(initial) {
3
- var _a;
4
- this.listeners = new Set();
5
- this.state = {
6
- open: (_a = initial === null || initial === void 0 ? void 0 : initial.open) !== null && _a !== void 0 ? _a : false,
7
- };
8
- }
9
- getState() {
10
- return this.state;
11
- }
12
- subscribe(listener) {
13
- this.listeners.add(listener);
14
- return () => {
15
- this.listeners.delete(listener);
16
- };
17
- }
18
- setOpen(open) {
19
- if (this.state.open === open)
20
- return;
21
- this.state = { ...this.state, open };
22
- this.emit();
23
- }
24
- toggle() {
25
- this.setOpen(!this.state.open);
26
- }
27
- emit() {
28
- for (const listener of this.listeners) {
29
- listener(this.state);
30
- }
31
- }
32
- }
33
- export const createSmartCanvasController = (initial) => new SmartCanvasController(initial);
34
- //# sourceMappingURL=controller.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../src/controller.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,qBAAqB;IAIhC,YAAY,OAAmC;;QAFvC,cAAS,GAAG,IAAI,GAAG,EAAuB,CAAC;QAGjD,IAAI,CAAC,KAAK,GAAG;YACX,IAAI,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,mCAAI,KAAK;SAC7B,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,SAAS,CAAC,QAA6B;QACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,IAAa;QACnB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO;QACrC,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAEO,IAAI;QACV,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;CACF;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,OAAmC,EAAE,EAAE,CACjF,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAC"}
@@ -1,117 +0,0 @@
1
- import { evaluateRuleStrategy } from './strategies/rules';
2
- import { evaluateScoreStrategy } from './strategies/score';
3
- /**
4
- * Create an EvaluationContext from runtime components.
5
- */
6
- function createEvaluationContext(context, options) {
7
- const { state, events, sessionMetrics, accumulator } = options;
8
- return {
9
- context,
10
- state: state
11
- ? {
12
- isDismissed: (key) => state.dismissals.isDismissed(key),
13
- isCooldownActive: (key) => state.cooldowns.isActive(key),
14
- getFrequencyCount: (key) => state.frequency.count(key),
15
- getSessionMetric: (key) => { var _a; return (_a = sessionMetrics === null || sessionMetrics === void 0 ? void 0 : sessionMetrics.get(key)) !== null && _a !== void 0 ? _a : 0; },
16
- }
17
- : undefined,
18
- events: events
19
- ? {
20
- hasRecentEvent: (eventName, withinMs) => events.hasRecentEvent(eventName, withinMs),
21
- }
22
- : undefined,
23
- accumulator: accumulator
24
- ? {
25
- getCount: (key, withinMs) => accumulator.getCount(key, withinMs),
26
- }
27
- : undefined,
28
- };
29
- }
30
- /**
31
- * Evaluate a DecisionStrategy against the current context.
32
- *
33
- * @param strategy - The decision strategy to evaluate
34
- * @param context - The runtime context
35
- * @param options - Additional evaluation options
36
- * @returns The decision result
37
- */
38
- export async function evaluate(strategy, context, options = {}) {
39
- const evalContext = createEvaluationContext(context, options);
40
- switch (strategy.type) {
41
- case 'rules':
42
- return evaluateRuleStrategy(strategy, evalContext);
43
- case 'score':
44
- return evaluateScoreStrategy(strategy, evalContext);
45
- case 'model':
46
- // Phase 3: Model-based strategy
47
- // For now, return default
48
- return {
49
- value: strategy.default,
50
- isFallback: true,
51
- matchInfo: {
52
- strategyType: 'model',
53
- },
54
- };
55
- case 'external':
56
- // Phase 3: External strategy
57
- // For now, return default
58
- return {
59
- value: strategy.default,
60
- isFallback: true,
61
- matchInfo: {
62
- strategyType: 'external',
63
- },
64
- };
65
- default:
66
- // Unknown strategy type
67
- console.warn('[DecisionEngine] Unknown strategy type:', strategy.type);
68
- return {
69
- value: undefined,
70
- isFallback: true,
71
- matchInfo: {
72
- strategyType: strategy.type,
73
- },
74
- };
75
- }
76
- }
77
- /**
78
- * Synchronous version of evaluate for simple strategies.
79
- * Use this when you know the strategy doesn't require async operations.
80
- */
81
- export function evaluateSync(strategy, context, options = {}) {
82
- const evalContext = createEvaluationContext(context, options);
83
- switch (strategy.type) {
84
- case 'rules':
85
- return evaluateRuleStrategy(strategy, evalContext);
86
- case 'score':
87
- return evaluateScoreStrategy(strategy, evalContext);
88
- case 'model':
89
- case 'external':
90
- // These require async, return default
91
- return {
92
- value: strategy.default,
93
- isFallback: true,
94
- matchInfo: {
95
- strategyType: strategy.type,
96
- },
97
- };
98
- default:
99
- return {
100
- value: undefined,
101
- isFallback: true,
102
- matchInfo: {
103
- strategyType: strategy.type,
104
- },
105
- };
106
- }
107
- }
108
- /**
109
- * Create a decision engine with pre-bound options.
110
- */
111
- export function createDecisionEngine(options) {
112
- return {
113
- evaluate: (strategy, context) => evaluate(strategy, context, options),
114
- evaluateSync: (strategy, context) => evaluateSync(strategy, context, options),
115
- };
116
- }
117
- //# sourceMappingURL=engine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/decisions/engine.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Decisions module exports.
3
- */
4
- export * from './types';
5
- export * from './schema';
6
- export { evaluate, evaluateSync, createDecisionEngine } from './engine';
7
- // Strategy evaluators (for advanced use)
8
- export { evaluateCondition, evaluateRule, evaluateRuleStrategy } from './strategies/rules';
9
- export { evaluateScoreStrategy } from './strategies/score';
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decisions/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAGxE,yCAAyC;AACzC,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,151 +0,0 @@
1
- /**
2
- * Zod schemas for decision strategy validation.
3
- */
4
- import { z } from 'zod';
5
- // =============================================================================
6
- // CONDITION SCHEMAS
7
- // =============================================================================
8
- export const PageUrlConditionZ = z.object({
9
- type: z.literal('page_url'),
10
- url: z.string(),
11
- });
12
- export const RouteConditionZ = z.object({
13
- type: z.literal('route'),
14
- routeId: z.string(),
15
- });
16
- export const AnchorVisibleConditionZ = z.object({
17
- type: z.literal('anchor_visible'),
18
- anchorId: z.string(),
19
- state: z.enum(['visible', 'present', 'absent']),
20
- });
21
- export const EventOccurredConditionZ = z.object({
22
- type: z.literal('event_occurred'),
23
- eventName: z.string(),
24
- withinMs: z.number().optional(),
25
- });
26
- export const StateEqualsConditionZ = z.object({
27
- type: z.literal('state_equals'),
28
- key: z.string(),
29
- value: z.unknown(),
30
- });
31
- export const ViewportConditionZ = z.object({
32
- type: z.literal('viewport'),
33
- minWidth: z.number().optional(),
34
- maxWidth: z.number().optional(),
35
- minHeight: z.number().optional(),
36
- maxHeight: z.number().optional(),
37
- });
38
- export const SessionMetricConditionZ = z.object({
39
- type: z.literal('session_metric'),
40
- key: z.string(),
41
- operator: z.enum(['gte', 'lte', 'eq', 'gt', 'lt']),
42
- threshold: z.number(),
43
- });
44
- export const DismissedConditionZ = z.object({
45
- type: z.literal('dismissed'),
46
- key: z.string(),
47
- inverted: z.boolean().optional(),
48
- });
49
- export const CooldownActiveConditionZ = z.object({
50
- type: z.literal('cooldown_active'),
51
- key: z.string(),
52
- inverted: z.boolean().optional(),
53
- });
54
- export const FrequencyLimitConditionZ = z.object({
55
- type: z.literal('frequency_limit'),
56
- key: z.string(),
57
- limit: z.number(),
58
- inverted: z.boolean().optional(),
59
- });
60
- export const EventCountConditionZ = z.object({
61
- type: z.literal('event_count'),
62
- key: z.string(),
63
- operator: z.enum(['gte', 'lte', 'eq', 'gt', 'lt']),
64
- count: z.number().int().min(0),
65
- withinMs: z.number().positive().optional(),
66
- });
67
- export const ConditionZ = z.discriminatedUnion('type', [
68
- PageUrlConditionZ,
69
- RouteConditionZ,
70
- AnchorVisibleConditionZ,
71
- EventOccurredConditionZ,
72
- StateEqualsConditionZ,
73
- ViewportConditionZ,
74
- SessionMetricConditionZ,
75
- DismissedConditionZ,
76
- CooldownActiveConditionZ,
77
- FrequencyLimitConditionZ,
78
- EventCountConditionZ,
79
- ]);
80
- // =============================================================================
81
- // STRATEGY SCHEMAS
82
- // =============================================================================
83
- export const RuleZ = z.object({
84
- conditions: z.array(ConditionZ),
85
- value: z.unknown(),
86
- });
87
- export const RuleStrategyZ = z.object({
88
- type: z.literal('rules'),
89
- rules: z.array(RuleZ),
90
- default: z.unknown(),
91
- });
92
- export const ScoreStrategyZ = z.object({
93
- type: z.literal('score'),
94
- field: z.string(),
95
- threshold: z.number(),
96
- above: z.unknown(),
97
- below: z.unknown(),
98
- });
99
- export const ModelStrategyZ = z.object({
100
- type: z.literal('model'),
101
- modelId: z.string(),
102
- inputs: z.array(z.string()),
103
- outputMapping: z.record(z.string(), z.unknown()),
104
- default: z.unknown(),
105
- });
106
- export const ExternalStrategyZ = z.object({
107
- type: z.literal('external'),
108
- endpoint: z.string(),
109
- method: z.enum(['GET', 'POST']).optional(),
110
- default: z.unknown(),
111
- timeoutMs: z.number().optional(),
112
- });
113
- export const DecisionStrategyZ = z.discriminatedUnion('type', [
114
- RuleStrategyZ,
115
- ScoreStrategyZ,
116
- ModelStrategyZ,
117
- ExternalStrategyZ,
118
- ]);
119
- // =============================================================================
120
- // ACTIVATION CONFIG SCHEMA
121
- // =============================================================================
122
- export const RouteFilterZ = z.object({
123
- include: z.array(z.string()).optional(),
124
- exclude: z.array(z.string()).optional(),
125
- });
126
- export const ActivationConfigZ = z.object({
127
- routes: RouteFilterZ.optional(),
128
- strategy: DecisionStrategyZ.optional(),
129
- });
130
- // =============================================================================
131
- // VALIDATION FUNCTIONS
132
- // =============================================================================
133
- /**
134
- * Validate a Condition object.
135
- */
136
- export function validateCondition(data) {
137
- return ConditionZ.safeParse(data);
138
- }
139
- /**
140
- * Validate a DecisionStrategy object.
141
- */
142
- export function validateStrategy(data) {
143
- return DecisionStrategyZ.safeParse(data);
144
- }
145
- /**
146
- * Validate an ActivationConfig object.
147
- */
148
- export function validateActivationConfig(data) {
149
- return ActivationConfigZ.safeParse(data);
150
- }
151
- //# sourceMappingURL=schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/decisions/schema.ts"],"names":[],"mappings":"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"}
@@ -1,166 +0,0 @@
1
- /**
2
- * Evaluate a single condition against the evaluation context.
3
- */
4
- export function evaluateCondition(condition, evalContext) {
5
- var _a, _b, _c, _d, _e;
6
- const { context, state, events } = evalContext;
7
- switch (condition.type) {
8
- case 'page_url': {
9
- const { url } = condition;
10
- const currentUrl = context.page.url;
11
- // Simple pattern matching with wildcards
12
- const pattern = url
13
- .replace(/[.+^${}()|[\]\\]/g, '\\$&') // Escape regex chars except * and ?
14
- .replace(/\*\*/g, '.*') // ** matches anything
15
- .replace(/\*/g, '[^/]*'); // * matches within path segment
16
- const regex = new RegExp(`^${pattern}$`);
17
- return regex.test(currentUrl);
18
- }
19
- case 'route': {
20
- return context.page.routeId === condition.routeId;
21
- }
22
- case 'anchor_visible': {
23
- const anchor = (_a = context.anchors) === null || _a === void 0 ? void 0 : _a.find((a) => a.anchorId === condition.anchorId);
24
- switch (condition.state) {
25
- case 'visible':
26
- return (anchor === null || anchor === void 0 ? void 0 : anchor.visible) === true;
27
- case 'present':
28
- return (anchor === null || anchor === void 0 ? void 0 : anchor.present) === true;
29
- case 'absent':
30
- return !(anchor === null || anchor === void 0 ? void 0 : anchor.present);
31
- default:
32
- return false;
33
- }
34
- }
35
- case 'event_occurred': {
36
- if (!events)
37
- return false;
38
- const withinMs = (_b = condition.withinMs) !== null && _b !== void 0 ? _b : 60000; // Default 1 minute
39
- return events.hasRecentEvent(condition.eventName, withinMs);
40
- }
41
- case 'state_equals': {
42
- // This checks arbitrary state values - implementation depends on
43
- // how the state store exposes values. For now, check session storage.
44
- if (!state)
45
- return false;
46
- // The state key format could be "dismissals:xyz" or just "xyz"
47
- // For simplicity, we'll do a basic comparison
48
- return false; // TODO: Implement when state interface is clearer
49
- }
50
- case 'viewport': {
51
- const { width, height } = context.viewport;
52
- if (condition.minWidth !== undefined && width < condition.minWidth)
53
- return false;
54
- if (condition.maxWidth !== undefined && width > condition.maxWidth)
55
- return false;
56
- if (condition.minHeight !== undefined && height < condition.minHeight)
57
- return false;
58
- if (condition.maxHeight !== undefined && height > condition.maxHeight)
59
- return false;
60
- return true;
61
- }
62
- case 'session_metric': {
63
- if (!state)
64
- return false;
65
- const metricValue = state.getSessionMetric(condition.key);
66
- const { operator, threshold } = condition;
67
- switch (operator) {
68
- case 'gte':
69
- return metricValue >= threshold;
70
- case 'lte':
71
- return metricValue <= threshold;
72
- case 'eq':
73
- return metricValue === threshold;
74
- case 'gt':
75
- return metricValue > threshold;
76
- case 'lt':
77
- return metricValue < threshold;
78
- default:
79
- return false;
80
- }
81
- }
82
- case 'dismissed': {
83
- if (!state)
84
- return (_c = condition.inverted) !== null && _c !== void 0 ? _c : false;
85
- const isDismissed = state.isDismissed(condition.key);
86
- return condition.inverted ? !isDismissed : isDismissed;
87
- }
88
- case 'cooldown_active': {
89
- if (!state)
90
- return (_d = condition.inverted) !== null && _d !== void 0 ? _d : false;
91
- const isActive = state.isCooldownActive(condition.key);
92
- return condition.inverted ? !isActive : isActive;
93
- }
94
- case 'frequency_limit': {
95
- if (!state)
96
- return (_e = condition.inverted) !== null && _e !== void 0 ? _e : false;
97
- const count = state.getFrequencyCount(condition.key);
98
- const limitReached = count >= condition.limit;
99
- return condition.inverted ? !limitReached : limitReached;
100
- }
101
- case 'event_count': {
102
- if (!evalContext.accumulator)
103
- return false;
104
- const ec = condition;
105
- const count = evalContext.accumulator.getCount(ec.key, ec.withinMs);
106
- switch (ec.operator) {
107
- case 'gte': return count >= ec.count;
108
- case 'lte': return count <= ec.count;
109
- case 'eq': return count === ec.count;
110
- case 'gt': return count > ec.count;
111
- case 'lt': return count < ec.count;
112
- default: return false;
113
- }
114
- }
115
- default:
116
- // Unknown condition type - fail closed (return false)
117
- console.warn('[RuleStrategy] Unknown condition type:', condition.type);
118
- return false;
119
- }
120
- }
121
- /**
122
- * Evaluate a single rule (all conditions must be true).
123
- */
124
- export function evaluateRule(rule, evalContext) {
125
- const conditionResults = [];
126
- for (const condition of rule.conditions) {
127
- const result = evaluateCondition(condition, evalContext);
128
- conditionResults.push({ condition, result });
129
- // Short-circuit: if any condition fails, rule doesn't match
130
- if (!result) {
131
- return { matched: false, conditionResults };
132
- }
133
- }
134
- // All conditions passed
135
- return { matched: true, conditionResults };
136
- }
137
- /**
138
- * Evaluate a RuleStrategy and return the result.
139
- */
140
- export function evaluateRuleStrategy(strategy, evalContext) {
141
- // Evaluate rules in order
142
- for (let i = 0; i < strategy.rules.length; i++) {
143
- const rule = strategy.rules[i];
144
- const { matched, conditionResults } = evaluateRule(rule, evalContext);
145
- if (matched) {
146
- return {
147
- value: rule.value,
148
- isFallback: false,
149
- matchInfo: {
150
- strategyType: 'rules',
151
- matchedRuleIndex: i,
152
- evaluatedConditions: conditionResults,
153
- },
154
- };
155
- }
156
- }
157
- // No rules matched, return default
158
- return {
159
- value: strategy.default,
160
- isFallback: true,
161
- matchInfo: {
162
- strategyType: 'rules',
163
- },
164
- };
165
- }
166
- //# sourceMappingURL=rules.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../../src/decisions/strategies/rules.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- /**
2
- * Evaluate a ScoreStrategy and return the result.
3
- */
4
- export function evaluateScoreStrategy(strategy, evalContext) {
5
- var _a;
6
- const { context } = evalContext;
7
- // Get the score from augmented context
8
- const score = (_a = context.augmented) === null || _a === void 0 ? void 0 : _a[strategy.field];
9
- // If no score available, return below value as fallback
10
- if (score === undefined || typeof score !== 'number') {
11
- return {
12
- value: strategy.below,
13
- isFallback: true,
14
- matchInfo: {
15
- strategyType: 'score',
16
- },
17
- };
18
- }
19
- // Compare against threshold
20
- const isAbove = score >= strategy.threshold;
21
- return {
22
- value: isAbove ? strategy.above : strategy.below,
23
- isFallback: false,
24
- matchInfo: {
25
- strategyType: 'score',
26
- },
27
- };
28
- }
29
- //# sourceMappingURL=score.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"score.js","sourceRoot":"","sources":["../../../src/decisions/strategies/score.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAA0B,EAC1B,WAA8B;;IAE9B,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAEhC,uCAAuC;IACvC,MAAM,KAAK,GAAG,MAAA,OAAO,CAAC,SAAS,0CAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,wDAAwD;IACxD,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrD,OAAO;YACL,KAAK,EAAE,QAAQ,CAAC,KAAU;YAC1B,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE;gBACT,YAAY,EAAE,OAAO;aACtB;SACF,CAAC;IACJ,CAAC;IAED,4BAA4B;IAC5B,MAAM,OAAO,GAAG,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC;IAE5C,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,CAAC,CAAE,QAAQ,CAAC,KAAW,CAAC,CAAC,CAAE,QAAQ,CAAC,KAAW;QAC9D,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE;YACT,YAAY,EAAE,OAAO;SACtB;KACF,CAAC;AACJ,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/decisions/types.ts"],"names":[],"mappings":""}
@@ -1,20 +0,0 @@
1
- /**
2
- * Early Patcher - DEPRECATED
3
- *
4
- * This module is kept for backward compatibility but all functionality
5
- * has moved to ActionEngine. Actions are now applied through the runtime.
6
- *
7
- * @deprecated Use ActionEngine through SmartCanvasRuntime instead.
8
- */
9
- // Re-export empty functions for any code still importing from here
10
- export function revertAllPatches() {
11
- console.warn('[SmartCanvas] revertAllPatches is deprecated. Use ActionEngine instead.');
12
- }
13
- export function applyPatchesEarly() {
14
- console.warn('[SmartCanvas] applyPatchesEarly is deprecated. Use ActionEngine instead.');
15
- }
16
- export function extractPatchesFromConfig() {
17
- console.warn('[SmartCanvas] extractPatchesFromConfig is deprecated. Config now uses actions[].');
18
- return [];
19
- }
20
- //# sourceMappingURL=earlyPatcher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"earlyPatcher.js","sourceRoot":"","sources":["../src/earlyPatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,mEAAmE;AACnE,MAAM,UAAU,gBAAgB;IAC9B,OAAO,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAC;IACjG,OAAO,EAAE,CAAC;AACZ,CAAC"}