@syntrologie/runtime-sdk 0.2.21 → 1.0.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 (324) hide show
  1. package/CAPABILITIES.md +944 -440
  2. package/README.md +395 -66
  3. package/dist/RuntimeProvider.d.ts +51 -0
  4. package/dist/RuntimeProvider.js +113 -0
  5. package/dist/RuntimeProvider.js.map +1 -0
  6. package/dist/SmartCanvasApp.d.ts +16 -10
  7. package/dist/SmartCanvasApp.js +47 -51
  8. package/dist/SmartCanvasApp.js.map +1 -1
  9. package/dist/SmartCanvasElement.d.ts +5 -5
  10. package/dist/SmartCanvasElement.js +24 -14
  11. package/dist/SmartCanvasElement.js.map +1 -1
  12. package/dist/SmartCanvasPortal.d.ts +2 -2
  13. package/dist/SmartCanvasPortal.js +2 -2
  14. package/dist/SmartCanvasPortal.js.map +1 -1
  15. package/dist/actions/ActionEngine.d.ts +11 -0
  16. package/dist/actions/ActionEngine.js +272 -0
  17. package/dist/actions/ActionEngine.js.map +1 -0
  18. package/dist/actions/executors/index.d.ts +116 -0
  19. package/dist/actions/executors/index.js +240 -0
  20. package/dist/actions/executors/index.js.map +1 -0
  21. package/dist/actions/executors/tour.d.ts +18 -0
  22. package/dist/actions/executors/tour.js +332 -0
  23. package/dist/actions/executors/tour.js.map +1 -0
  24. package/dist/actions/index.d.ts +10 -0
  25. package/dist/actions/index.js +12 -0
  26. package/dist/actions/index.js.map +1 -0
  27. package/dist/actions/types.d.ts +399 -0
  28. package/dist/actions/types.js +8 -0
  29. package/dist/actions/types.js.map +1 -0
  30. package/dist/actions/validation.d.ts +14 -0
  31. package/dist/actions/validation.js +577 -0
  32. package/dist/actions/validation.js.map +1 -0
  33. package/dist/adaptives/adaptive-chatbot/index.js +9 -0
  34. package/dist/adaptives/adaptive-chatbot/index.js.map +7 -0
  35. package/dist/adaptives/adaptive-content/index.js +2 -0
  36. package/dist/adaptives/adaptive-content/index.js.map +7 -0
  37. package/dist/adaptives/adaptive-faq/index.js +11 -0
  38. package/dist/adaptives/adaptive-faq/index.js.map +7 -0
  39. package/dist/adaptives/adaptive-gamification/index.js +2 -0
  40. package/dist/adaptives/adaptive-gamification/index.js.map +7 -0
  41. package/dist/adaptives/adaptive-nav/index.js +11 -0
  42. package/dist/adaptives/adaptive-nav/index.js.map +7 -0
  43. package/dist/adaptives/adaptive-overlays/index.js +91 -0
  44. package/dist/adaptives/adaptive-overlays/index.js.map +7 -0
  45. package/dist/antiFlicker.js +1 -1
  46. package/dist/api.d.ts +40 -26
  47. package/dist/api.js +87 -60
  48. package/dist/api.js.map +1 -1
  49. package/dist/apps/AppContext.d.ts +31 -0
  50. package/dist/apps/AppContext.js +91 -0
  51. package/dist/apps/AppContext.js.map +1 -0
  52. package/dist/apps/AppLoader.d.ts +85 -0
  53. package/dist/apps/AppLoader.js +282 -0
  54. package/dist/apps/AppLoader.js.map +1 -0
  55. package/dist/apps/AppRegistry.d.ts +102 -0
  56. package/dist/apps/AppRegistry.js +317 -0
  57. package/dist/apps/AppRegistry.js.map +1 -0
  58. package/dist/apps/examples/gamification-app.example.d.ts +305 -0
  59. package/dist/apps/examples/gamification-app.example.js +329 -0
  60. package/dist/apps/examples/gamification-app.example.js.map +1 -0
  61. package/dist/apps/index.d.ts +14 -0
  62. package/dist/apps/index.js +16 -0
  63. package/dist/apps/index.js.map +1 -0
  64. package/dist/apps/types.d.ts +231 -0
  65. package/dist/apps/types.js +8 -0
  66. package/dist/apps/types.js.map +1 -0
  67. package/dist/blocks/data/ComparisonBlock.d.ts +1 -1
  68. package/dist/blocks/data/ComparisonBlock.js +40 -40
  69. package/dist/blocks/data/ComparisonBlock.js.map +1 -1
  70. package/dist/blocks/data/StatsBlock.d.ts +1 -1
  71. package/dist/blocks/data/StatsBlock.js +42 -44
  72. package/dist/blocks/data/StatsBlock.js.map +1 -1
  73. package/dist/blocks/data/index.d.ts +2 -2
  74. package/dist/blocks/data/index.js +2 -2
  75. package/dist/blocks/index.d.ts +5 -5
  76. package/dist/blocks/index.js +29 -30
  77. package/dist/blocks/index.js.map +1 -1
  78. package/dist/blocks/interactive/ChecklistBlock.d.ts +1 -1
  79. package/dist/blocks/interactive/ChecklistBlock.js +60 -60
  80. package/dist/blocks/interactive/ChecklistBlock.js.map +1 -1
  81. package/dist/blocks/interactive/RatingBlock.d.ts +1 -1
  82. package/dist/blocks/interactive/RatingBlock.js +73 -65
  83. package/dist/blocks/interactive/RatingBlock.js.map +1 -1
  84. package/dist/blocks/interactive/index.d.ts +2 -2
  85. package/dist/blocks/interactive/index.js +2 -2
  86. package/dist/blocks/notification/NotificationBlock.d.ts +2 -2
  87. package/dist/blocks/notification/NotificationBlock.js +68 -64
  88. package/dist/blocks/notification/NotificationBlock.js.map +1 -1
  89. package/dist/blocks/notification/index.d.ts +1 -1
  90. package/dist/blocks/notification/index.js +1 -1
  91. package/dist/bootstrap.d.ts +32 -8
  92. package/dist/bootstrap.js +218 -102
  93. package/dist/bootstrap.js.map +1 -1
  94. package/dist/components/ShadowCanvasOverlay.d.ts +6 -6
  95. package/dist/components/ShadowCanvasOverlay.js +156 -118
  96. package/dist/components/ShadowCanvasOverlay.js.map +1 -1
  97. package/dist/components/TileCard.d.ts +5 -5
  98. package/dist/components/TileCard.js +205 -154
  99. package/dist/components/TileCard.js.map +1 -1
  100. package/dist/components/TileWheel.d.ts +3 -3
  101. package/dist/components/TileWheel.js +29 -7
  102. package/dist/components/TileWheel.js.map +1 -1
  103. package/dist/config-validator.d.ts +49 -0
  104. package/dist/config-validator.js +173 -0
  105. package/dist/config-validator.js.map +1 -0
  106. package/dist/configFetcher.d.ts +7 -3
  107. package/dist/configFetcher.js +70 -29
  108. package/dist/configFetcher.js.map +1 -1
  109. package/dist/context/ContextManager.d.ts +3 -3
  110. package/dist/context/ContextManager.js +19 -18
  111. package/dist/context/ContextManager.js.map +1 -1
  112. package/dist/context/index.d.ts +4 -4
  113. package/dist/context/index.js +3 -3
  114. package/dist/context/schema.d.ts +9 -9
  115. package/dist/context/schema.js +2 -2
  116. package/dist/context/schema.js.map +1 -1
  117. package/dist/decisions/engine.d.ts +5 -5
  118. package/dist/decisions/engine.js +13 -13
  119. package/dist/decisions/engine.js.map +1 -1
  120. package/dist/decisions/index.d.ts +6 -6
  121. package/dist/decisions/index.js +5 -5
  122. package/dist/decisions/schema.d.ts +131 -131
  123. package/dist/decisions/schema.js +21 -21
  124. package/dist/decisions/schema.js.map +1 -1
  125. package/dist/decisions/strategies/rules.d.ts +1 -1
  126. package/dist/decisions/strategies/rules.js +24 -24
  127. package/dist/decisions/strategies/rules.js.map +1 -1
  128. package/dist/decisions/strategies/score.d.ts +1 -1
  129. package/dist/decisions/strategies/score.js +3 -3
  130. package/dist/decisions/types.d.ts +19 -19
  131. package/dist/earlyPatcher.d.ts +8 -20
  132. package/dist/earlyPatcher.js +13 -62
  133. package/dist/earlyPatcher.js.map +1 -1
  134. package/dist/editorLoader.d.ts +19 -7
  135. package/dist/editorLoader.js +154 -97
  136. package/dist/editorLoader.js.map +1 -1
  137. package/dist/events/EventBus.d.ts +3 -3
  138. package/dist/events/EventBus.js +5 -7
  139. package/dist/events/EventBus.js.map +1 -1
  140. package/dist/events/index.d.ts +6 -6
  141. package/dist/events/index.js +5 -5
  142. package/dist/events/normalizers/canvas.d.ts +2 -2
  143. package/dist/events/normalizers/canvas.js +3 -3
  144. package/dist/events/normalizers/canvas.js.map +1 -1
  145. package/dist/events/normalizers/posthog.d.ts +25 -1
  146. package/dist/events/normalizers/posthog.js +35 -27
  147. package/dist/events/normalizers/posthog.js.map +1 -1
  148. package/dist/events/schema.d.ts +13 -13
  149. package/dist/events/schema.js +3 -3
  150. package/dist/events/schema.js.map +1 -1
  151. package/dist/events/types.d.ts +7 -1
  152. package/dist/events/types.js +29 -21
  153. package/dist/events/types.js.map +1 -1
  154. package/dist/experiments/adapters/growthbook.d.ts +5 -4
  155. package/dist/experiments/adapters/growthbook.js +14 -6
  156. package/dist/experiments/adapters/growthbook.js.map +1 -1
  157. package/dist/experiments/index.d.ts +3 -3
  158. package/dist/experiments/index.js +1 -1
  159. package/dist/experiments/registry.d.ts +2 -2
  160. package/dist/experiments/registry.js +2 -2
  161. package/dist/experiments/types.d.ts +10 -1
  162. package/dist/fetchers/cdnFetcher.d.ts +1 -1
  163. package/dist/fetchers/cdnFetcher.js +4 -8
  164. package/dist/fetchers/cdnFetcher.js.map +1 -1
  165. package/dist/fetchers/experimentsFetcher.d.ts +25 -3
  166. package/dist/fetchers/experimentsFetcher.js +55 -8
  167. package/dist/fetchers/experimentsFetcher.js.map +1 -1
  168. package/dist/fetchers/index.d.ts +3 -3
  169. package/dist/fetchers/index.js +2 -2
  170. package/dist/fetchers/index.js.map +1 -1
  171. package/dist/fetchers/mergeConfigs.d.ts +29 -0
  172. package/dist/fetchers/mergeConfigs.js +38 -0
  173. package/dist/fetchers/mergeConfigs.js.map +1 -0
  174. package/dist/fetchers/registry.d.ts +1 -1
  175. package/dist/fetchers/registry.js +4 -4
  176. package/dist/fetchers/types.d.ts +1 -1
  177. package/dist/hooks/useCanvasOverlays.d.ts +8 -5
  178. package/dist/hooks/useCanvasOverlays.js +66 -17
  179. package/dist/hooks/useCanvasOverlays.js.map +1 -1
  180. package/dist/hooks/useHostPatches.d.ts +2 -2
  181. package/dist/hooks/useHostPatches.js +8 -8
  182. package/dist/hooks/useHostPatches.js.map +1 -1
  183. package/dist/hooks/useShadowCanvasConfig.d.ts +5 -9
  184. package/dist/hooks/useShadowCanvasConfig.js +7 -5
  185. package/dist/hooks/useShadowCanvasConfig.js.map +1 -1
  186. package/dist/hostPatcher/core/patcher.d.ts +1 -1
  187. package/dist/hostPatcher/core/patcher.js +18 -9
  188. package/dist/hostPatcher/core/patcher.js.map +1 -1
  189. package/dist/hostPatcher/core/sanitizer.js +24 -3
  190. package/dist/hostPatcher/core/sanitizer.js.map +1 -1
  191. package/dist/hostPatcher/policy/defaultPolicy.js +15 -5
  192. package/dist/hostPatcher/policy/defaultPolicy.js.map +1 -1
  193. package/dist/hostPatcher/utils/anchors.js +4 -6
  194. package/dist/hostPatcher/utils/anchors.js.map +1 -1
  195. package/dist/index.d.ts +34 -27
  196. package/dist/index.js +51 -24
  197. package/dist/index.js.map +1 -1
  198. package/dist/logger.d.ts +29 -0
  199. package/dist/logger.js +81 -0
  200. package/dist/logger.js.map +1 -0
  201. package/dist/metrics/index.d.ts +1 -1
  202. package/dist/metrics/index.js +1 -1
  203. package/dist/metrics/sessionMetrics.d.ts +1 -1
  204. package/dist/metrics/sessionMetrics.js +6 -6
  205. package/dist/overlays/fetcher.d.ts +2 -2
  206. package/dist/overlays/fetcher.js +13 -15
  207. package/dist/overlays/fetcher.js.map +1 -1
  208. package/dist/overlays/recipeRegistry.js +2 -2
  209. package/dist/overlays/recipeRegistry.js.map +1 -1
  210. package/dist/overlays/runtime/anchor/resolve.js +1 -1
  211. package/dist/overlays/runtime/anchor/resolve.js.map +1 -1
  212. package/dist/overlays/runtime/index.d.ts +7 -7
  213. package/dist/overlays/runtime/index.js +7 -7
  214. package/dist/overlays/runtime/overlay/highlight.js +39 -39
  215. package/dist/overlays/runtime/overlay/highlight.js.map +1 -1
  216. package/dist/overlays/runtime/overlay/modal.js +5 -5
  217. package/dist/overlays/runtime/overlay/modal.js.map +1 -1
  218. package/dist/overlays/runtime/overlay/root.js +1 -1
  219. package/dist/overlays/runtime/overlay/runner.js +88 -28
  220. package/dist/overlays/runtime/overlay/runner.js.map +1 -1
  221. package/dist/overlays/runtime/overlay/tooltip.d.ts +1 -1
  222. package/dist/overlays/runtime/overlay/tooltip.js +13 -15
  223. package/dist/overlays/runtime/overlay/tooltip.js.map +1 -1
  224. package/dist/overlays/runtime/utils/dom.js +4 -1
  225. package/dist/overlays/runtime/utils/dom.js.map +1 -1
  226. package/dist/overlays/schema.d.ts +146 -146
  227. package/dist/overlays/schema.js +12 -8
  228. package/dist/overlays/schema.js.map +1 -1
  229. package/dist/react.d.ts +7 -7
  230. package/dist/react.js +4 -4
  231. package/dist/react.js.map +1 -1
  232. package/dist/render/RenderContext.d.ts +2 -2
  233. package/dist/render/RenderContext.js +5 -5
  234. package/dist/render/RenderContext.js.map +1 -1
  235. package/dist/render/index.d.ts +3 -3
  236. package/dist/render/index.js +1 -1
  237. package/dist/render/types.d.ts +4 -4
  238. package/dist/runtime.d.ts +32 -8
  239. package/dist/runtime.js +109 -13
  240. package/dist/runtime.js.map +1 -1
  241. package/dist/smart-canvas.esm.js +144 -55
  242. package/dist/smart-canvas.esm.js.map +4 -4
  243. package/dist/smart-canvas.js +14688 -11455
  244. package/dist/smart-canvas.js.map +4 -4
  245. package/dist/smart-canvas.min.js +145 -55
  246. package/dist/smart-canvas.min.js.map +4 -4
  247. package/dist/state/StateStore.d.ts +1 -7
  248. package/dist/state/StateStore.js +15 -9
  249. package/dist/state/StateStore.js.map +1 -1
  250. package/dist/state/helpers/cooldowns.d.ts +1 -1
  251. package/dist/state/helpers/cooldowns.js +1 -1
  252. package/dist/state/helpers/dismissals.d.ts +1 -1
  253. package/dist/state/helpers/dismissals.js +1 -1
  254. package/dist/state/helpers/frequency.d.ts +1 -1
  255. package/dist/state/helpers/frequency.js +1 -1
  256. package/dist/state/index.d.ts +4 -4
  257. package/dist/state/index.js +3 -3
  258. package/dist/state/schema.d.ts +1 -1
  259. package/dist/state/schema.js +1 -1
  260. package/dist/store/example.d.ts +1 -0
  261. package/dist/store/example.js +43 -0
  262. package/dist/store/example.js.map +1 -0
  263. package/dist/store/mini-effector.d.ts +46 -0
  264. package/dist/store/mini-effector.js +88 -0
  265. package/dist/store/mini-effector.js.map +1 -0
  266. package/dist/surfaces/Surfaces.d.ts +11 -0
  267. package/dist/surfaces/Surfaces.js +361 -0
  268. package/dist/surfaces/Surfaces.js.map +1 -0
  269. package/dist/surfaces/index.d.ts +9 -0
  270. package/dist/surfaces/index.js +12 -0
  271. package/dist/surfaces/index.js.map +1 -0
  272. package/dist/surfaces/positioning.d.ts +50 -0
  273. package/dist/surfaces/positioning.js +228 -0
  274. package/dist/surfaces/positioning.js.map +1 -0
  275. package/dist/surfaces/types.d.ts +167 -0
  276. package/dist/surfaces/types.js +23 -0
  277. package/dist/surfaces/types.js.map +1 -0
  278. package/dist/telemetry/adapters/noop.d.ts +12 -0
  279. package/dist/telemetry/adapters/noop.js +42 -0
  280. package/dist/telemetry/adapters/noop.js.map +1 -0
  281. package/dist/telemetry/adapters/posthog.d.ts +8 -2
  282. package/dist/telemetry/adapters/posthog.js +36 -14
  283. package/dist/telemetry/adapters/posthog.js.map +1 -1
  284. package/dist/telemetry/index.d.ts +4 -3
  285. package/dist/telemetry/index.js +3 -2
  286. package/dist/telemetry/index.js.map +1 -1
  287. package/dist/telemetry/registry.d.ts +2 -9
  288. package/dist/telemetry/registry.js +4 -2
  289. package/dist/telemetry/registry.js.map +1 -1
  290. package/dist/telemetry/types.d.ts +1 -1
  291. package/dist/theme/ThemeProvider.d.ts +2 -2
  292. package/dist/theme/ThemeProvider.js +21 -21
  293. package/dist/theme/ThemeProvider.js.map +1 -1
  294. package/dist/theme/defaultTheme.d.ts +4 -5
  295. package/dist/theme/defaultTheme.js +127 -118
  296. package/dist/theme/defaultTheme.js.map +1 -1
  297. package/dist/theme/extractHostTheme.d.ts +1 -1
  298. package/dist/theme/extractHostTheme.js +43 -45
  299. package/dist/theme/extractHostTheme.js.map +1 -1
  300. package/dist/theme/index.d.ts +5 -5
  301. package/dist/theme/index.js +3 -3
  302. package/dist/theme/index.js.map +1 -1
  303. package/dist/theme/types.d.ts +2 -2
  304. package/dist/token.d.ts +2 -0
  305. package/dist/token.js +3 -6
  306. package/dist/token.js.map +1 -1
  307. package/dist/types-only.d.ts +32 -0
  308. package/dist/types-only.js +11 -0
  309. package/dist/types-only.js.map +1 -0
  310. package/dist/types.d.ts +89 -56
  311. package/dist/types.js +14 -2
  312. package/dist/types.js.map +1 -1
  313. package/dist/version.d.ts +13 -0
  314. package/dist/version.js +14 -0
  315. package/dist/version.js.map +1 -0
  316. package/dist/widgets/WidgetRegistry.d.ts +145 -0
  317. package/dist/widgets/WidgetRegistry.js +191 -0
  318. package/dist/widgets/WidgetRegistry.js.map +1 -0
  319. package/dist/widgets/index.d.ts +7 -0
  320. package/dist/widgets/index.js +7 -0
  321. package/dist/widgets/index.js.map +1 -0
  322. package/package.json +35 -15
  323. package/schema/canvas-config.schema.json +488 -254
  324. package/schema/runtime-context.schema.json +1 -5
package/dist/bootstrap.js CHANGED
@@ -16,24 +16,30 @@
16
16
  * runtime.state.dismissals.mark('my-tile');
17
17
  * ```
18
18
  */
19
- import { decodeToken, encodeToken } from "./token";
20
- import { createExperimentClient } from "./experiments/registry";
21
- import { createTelemetryClient } from "./telemetry/registry";
22
- import { createConfigFetcher } from "./fetchers/registry";
23
- import { createCanvasConfigFetcher } from "./configFetcher";
24
- import { createSmartCanvas } from "./api";
25
- import { createSessionMetricTracker } from "./metrics";
26
- import { createSmartCanvasRuntime } from "./runtime";
19
+ import { createSmartCanvas } from './api';
20
+ import { createAppLoader } from './apps/AppLoader';
21
+ import { createCanvasConfigFetcher } from './configFetcher';
22
+ import { getEditorConf, getEditorSource } from './editorLoader';
23
+ import { createEventBus } from './events/EventBus';
24
+ import { createPostHogNormalizer } from './events/normalizers/posthog';
25
+ import { createExperimentClient } from './experiments/registry';
26
+ import { createConfigFetcher } from './fetchers/registry';
27
+ import { initLogger, debug, warn, error as logError } from './logger';
28
+ import { createSessionMetricTracker } from './metrics';
29
+ import { createSmartCanvasRuntime } from './runtime';
30
+ import { createTelemetryClient } from './telemetry/registry';
31
+ import { decodeToken, encodeToken } from './token';
27
32
  /**
28
33
  * Get environment variable, supporting both Vite and Next.js patterns.
29
34
  */
30
35
  function getEnvVar(name) {
31
- if (typeof process !== "undefined" && process.env) {
36
+ if (typeof process !== 'undefined' && process.env) {
32
37
  // Next.js / Node.js
33
38
  return process.env[name];
34
39
  }
35
40
  // Vite uses import.meta.env - use try/catch to avoid esbuild IIFE warning
36
41
  try {
42
+ // eslint-disable-next-line no-eval -- Required for Vite compatibility; import.meta cannot be accessed statically in IIFE bundles
37
43
  const meta = (0, eval)('import.meta');
38
44
  if (meta === null || meta === void 0 ? void 0 : meta.env) {
39
45
  return meta.env[name];
@@ -45,41 +51,32 @@ function getEnvVar(name) {
45
51
  return undefined;
46
52
  }
47
53
  /**
48
- * Check if we're in editor mode (editor_token in URL params).
54
+ * Check if we're in editor mode (editor_conf.mode === 'editor').
49
55
  */
50
56
  function isEditorMode() {
51
- if (typeof window === "undefined") {
52
- console.log('[Syntro Bootstrap] isEditorMode: not in browser');
57
+ if (typeof window === 'undefined') {
58
+ debug('Syntro Bootstrap', 'isEditorMode: not in browser');
53
59
  return false;
54
60
  }
55
- const params = new URLSearchParams(window.location.search);
56
- const hasToken = params.has("editor_token");
57
- console.log('[Syntro Bootstrap] isEditorMode check:', {
58
- url: window.location.href,
59
- search: window.location.search,
60
- hasEditorToken: hasToken,
61
- allParams: Object.fromEntries(params.entries()),
62
- });
63
- return hasToken;
61
+ const conf = getEditorConf();
62
+ const source = getEditorSource();
63
+ const isEditor = !!((source === null || source === void 0 ? void 0 : source.token) && (conf === null || conf === void 0 ? void 0 : conf.mode) === 'editor');
64
+ debug('Syntro Bootstrap', 'isEditorMode:', isEditor);
65
+ return isEditor;
64
66
  }
65
67
  /**
66
- * Check if we're in audit mode (syntro_audit in URL params).
67
- * Audit mode enables element marking for product touring.
68
+ * Check if we're in audit mode (editor_conf.mode === 'audit').
68
69
  */
69
70
  function isAuditMode() {
70
- var _a;
71
- if (typeof window === "undefined") {
72
- console.log('[Syntro Bootstrap] isAuditMode: not in browser');
71
+ if (typeof window === 'undefined') {
72
+ debug('Syntro Bootstrap', 'isAuditMode: not in browser');
73
73
  return false;
74
74
  }
75
- const params = new URLSearchParams(window.location.search);
76
- const hasAuditFlag = params.has("syntro_audit");
77
- console.log('[Syntro Bootstrap] isAuditMode check:', {
78
- url: window.location.href,
79
- hasAuditFlag,
80
- auditSessionId: (_a = params.get("audit_session_id")) !== null && _a !== void 0 ? _a : 'none',
81
- });
82
- return hasAuditFlag;
75
+ const conf = getEditorConf();
76
+ const source = getEditorSource();
77
+ const isAudit = !!((source === null || source === void 0 ? void 0 : source.token) && (conf === null || conf === void 0 ? void 0 : conf.mode) === 'audit');
78
+ debug('Syntro Bootstrap', 'isAuditMode:', isAudit);
79
+ return isAudit;
83
80
  }
84
81
  // ============================================================================
85
82
  // Segment Attribute Caching (localStorage)
@@ -96,12 +93,12 @@ function loadCachedSegmentAttributes() {
96
93
  const cached = localStorage.getItem(SEGMENT_CACHE_KEY);
97
94
  if (cached) {
98
95
  const attrs = JSON.parse(cached);
99
- console.log('[Syntro Bootstrap] Loaded cached segment attributes:', attrs);
96
+ debug('Syntro Bootstrap', 'Loaded cached segment attributes:', attrs);
100
97
  return attrs;
101
98
  }
102
99
  }
103
100
  catch (err) {
104
- console.warn('[Syntro Bootstrap] Failed to load cached segment attributes:', err);
101
+ warn('Syntro Bootstrap', 'Failed to load cached segment attributes:', err);
105
102
  }
106
103
  return {};
107
104
  }
@@ -113,10 +110,10 @@ function cacheSegmentAttributes(attrs) {
113
110
  return;
114
111
  try {
115
112
  localStorage.setItem(SEGMENT_CACHE_KEY, JSON.stringify(attrs));
116
- console.log('[Syntro Bootstrap] Cached segment attributes:', attrs);
113
+ debug('Syntro Bootstrap', 'Cached segment attributes:', attrs);
117
114
  }
118
115
  catch (err) {
119
- console.warn('[Syntro Bootstrap] Failed to cache segment attributes:', err);
116
+ warn('Syntro Bootstrap', 'Failed to cache segment attributes:', err);
120
117
  }
121
118
  }
122
119
  /**
@@ -148,69 +145,82 @@ function extractSegmentFlags(allFlags) {
148
145
  */
149
146
  async function init(options) {
150
147
  var _a, _b, _c;
151
- console.log('[Syntro Bootstrap] ====== INIT ======');
152
- console.log('[Syntro Bootstrap] Options:', {
148
+ // Initialize logger early (URL param works without token)
149
+ initLogger();
150
+ debug('Syntro Bootstrap', '====== INIT ======');
151
+ debug('Syntro Bootstrap', 'Options:', {
153
152
  hasToken: !!options.token,
154
- tokenPrefix: ((_a = options.token) === null || _a === void 0 ? void 0 : _a.slice(0, 15)) + '...',
153
+ tokenPrefix: `${(_a = options.token) === null || _a === void 0 ? void 0 : _a.slice(0, 15)}...`,
155
154
  hasCanvasOptions: !!options.canvas,
156
155
  });
157
156
  // In editor or audit mode, token is optional - SDK handles auth differently
158
157
  const editorMode = isEditorMode();
159
158
  const auditMode = isAuditMode();
160
159
  const sdkMode = editorMode ? 'editor' : auditMode ? 'audit' : null;
161
- console.log('[Syntro Bootstrap] SDK mode:', sdkMode !== null && sdkMode !== void 0 ? sdkMode : 'normal');
160
+ debug('Syntro Bootstrap', 'SDK mode:', sdkMode !== null && sdkMode !== void 0 ? sdkMode : 'normal');
162
161
  let payload;
163
162
  if (options.token) {
164
163
  // If token is provided and starts with syn_, decode it
165
- if (options.token.startsWith("syn_")) {
166
- console.log('[Syntro Bootstrap] Token starts with syn_, decoding...');
164
+ if (options.token.startsWith('syn_')) {
165
+ debug('Syntro Bootstrap', 'Token starts with syn_, decoding...');
167
166
  payload = decodeToken(options.token);
167
+ // Re-init logger with token's debug flag
168
+ initLogger(payload.d);
168
169
  }
169
170
  else if (!sdkMode) {
170
171
  // Not a syn_ token and not in special mode - error
171
- console.error('[Syntro Bootstrap] ❌ Token does not start with syn_ and NOT in editor/audit mode!');
172
- console.error('[Syntro Bootstrap] Token received:', options.token);
172
+ logError('Syntro Bootstrap', '❌ Token does not start with syn_ and NOT in editor/audit mode!');
173
+ logError('Syntro Bootstrap', 'Token received:', options.token);
173
174
  throw new Error("Invalid Syntro token: must start with 'syn_'");
174
175
  }
175
176
  else {
176
- console.log(`[Syntro Bootstrap] Non-syn_ token allowed (${sdkMode} mode)`);
177
+ debug('Syntro Bootstrap', `✓ Non-syn_ token allowed (${sdkMode} mode)`);
177
178
  }
178
179
  // If in editor/audit mode with non-syn_ token, skip token decoding
179
180
  }
180
181
  else if (!sdkMode) {
181
182
  // No token and not in special mode - error
182
- console.error('[Syntro Bootstrap] ❌ No token provided and NOT in editor/audit mode!');
183
- throw new Error("Syntro token is required (unless in editor or audit mode)");
183
+ logError('Syntro Bootstrap', '❌ No token provided and NOT in editor/audit mode!');
184
+ throw new Error('Syntro token is required (unless in editor or audit mode)');
184
185
  }
185
186
  else {
186
- console.log(`[Syntro Bootstrap] No token, but ${sdkMode} mode - proceeding`);
187
+ debug('Syntro Bootstrap', `✓ No token, but ${sdkMode} mode - proceeding`);
187
188
  }
188
189
  // Host resolution priority: env var > token > default
189
190
  // Env vars are checked at build time by bundlers (Next.js/Vite)
190
- const experimentHost = getEnvVar("NEXT_PUBLIC_SYNTRO_EXPERIMENT_HOST")
191
- || getEnvVar("VITE_SYNTRO_EXPERIMENT_HOST")
192
- || (payload === null || payload === void 0 ? void 0 : payload.eh); // from token
193
- const telemetryHost = getEnvVar("NEXT_PUBLIC_SYNTRO_TELEMETRY_HOST")
194
- || getEnvVar("VITE_SYNTRO_TELEMETRY_HOST")
195
- || (payload === null || payload === void 0 ? void 0 : payload.th); // from token
191
+ const experimentHost = getEnvVar('NEXT_PUBLIC_SYNTRO_EXPERIMENT_HOST') ||
192
+ getEnvVar('VITE_SYNTRO_EXPERIMENT_HOST') ||
193
+ (payload === null || payload === void 0 ? void 0 : payload.eh); // from token
194
+ const telemetryHost = getEnvVar('NEXT_PUBLIC_SYNTRO_TELEMETRY_HOST') ||
195
+ getEnvVar('VITE_SYNTRO_TELEMETRY_HOST') ||
196
+ (payload === null || payload === void 0 ? void 0 : payload.th); // from token
196
197
  // Editor SDK URL (for loading editor in edit mode)
197
- const editorUrl = getEnvVar("NEXT_PUBLIC_SYNTRO_EDITOR_URL")
198
- || getEnvVar("VITE_SYNTRO_EDITOR_URL")
199
- || ((_b = options.canvas) === null || _b === void 0 ? void 0 : _b.editorUrl);
198
+ const editorUrl = getEnvVar('NEXT_PUBLIC_SYNTRO_EDITOR_URL') ||
199
+ getEnvVar('VITE_SYNTRO_EDITOR_URL') ||
200
+ ((_b = options.canvas) === null || _b === void 0 ? void 0 : _b.editorUrl);
200
201
  // ============================================================================
201
202
  // PHASE 1: Load cached segment attributes for instant evaluation
202
203
  // ============================================================================
203
204
  const cachedSegmentAttrs = loadCachedSegmentAttributes();
204
- console.log('[Syntro Bootstrap] Phase 1: Using cached segment attributes:', cachedSegmentAttrs);
205
+ debug('Syntro Bootstrap', 'Phase 1: Using cached segment attributes:', cachedSegmentAttrs);
205
206
  // Will be set when experiments client is created
206
207
  let experiments;
208
+ // ============================================================================
209
+ // Create EventBus early so we can wire PostHog events into it
210
+ // ============================================================================
211
+ const events = createEventBus();
212
+ console.log('[Syntro Bootstrap] EventBus created');
213
+ // Create PostHog normalizer that feeds events into the EventBus
214
+ const postHogNormalizer = createPostHogNormalizer((event) => {
215
+ events.publishEvent(event);
216
+ });
207
217
  // Callback for when PostHog feature flags are loaded (Phase 2)
208
218
  const onFeatureFlagsLoaded = (allFlags) => {
209
219
  var _a, _b, _c;
210
- console.log('[Syntro Bootstrap] Phase 2: PostHog feature flags loaded');
220
+ debug('Syntro Bootstrap', 'Phase 2: PostHog feature flags loaded');
211
221
  // Extract segment flags (in_segment_*)
212
222
  const segmentFlags = extractSegmentFlags(allFlags);
213
- console.log('[Syntro Bootstrap] Segment flags from PostHog:', segmentFlags);
223
+ debug('Syntro Bootstrap', 'Segment flags from PostHog:', segmentFlags);
214
224
  // Cache for next page load
215
225
  cacheSegmentAttributes(segmentFlags);
216
226
  // Update GrowthBook with fresh segment attributes
@@ -219,21 +229,25 @@ async function init(options) {
219
229
  const sessionAttrs = (_b = (_a = sessionMetrics === null || sessionMetrics === void 0 ? void 0 : sessionMetrics.getAll) === null || _a === void 0 ? void 0 : _a.call(sessionMetrics)) !== null && _b !== void 0 ? _b : {};
220
230
  // Merge session metrics + segment flags and update GrowthBook
221
231
  const updatedAttrs = { ...sessionAttrs, ...segmentFlags };
222
- console.log('[Syntro Bootstrap] Updating GrowthBook with attributes:', updatedAttrs);
232
+ debug('Syntro Bootstrap', 'Updating GrowthBook with attributes:', updatedAttrs);
223
233
  (_c = experiments.setAttributes) === null || _c === void 0 ? void 0 : _c.call(experiments, updatedAttrs);
224
234
  }
225
235
  };
226
- // Initialize telemetry client with feature flags callback
236
+ // Initialize telemetry client with feature flags callback and event capture
227
237
  let telemetry;
228
238
  if (payload === null || payload === void 0 ? void 0 : payload.t) {
229
- telemetry = createTelemetryClient("posthog", {
239
+ const provider = payload.t === 'noop' ? 'noop' : 'posthog';
240
+ telemetry = createTelemetryClient(provider, {
230
241
  apiKey: payload.t,
231
242
  apiHost: telemetryHost, // undefined falls back to adapter default
232
243
  // Enable PostHog feature flags for segment membership
233
244
  enableFeatureFlags: true,
234
245
  // Wire up callback for when flags are loaded (Phase 2)
235
246
  onFeatureFlagsLoaded,
247
+ // Wire up event capture to feed into EventBus
248
+ onCapture: postHogNormalizer,
236
249
  });
250
+ console.log(`[Syntro Bootstrap] Telemetry client created (${provider}) with EventBus wiring`);
237
251
  }
238
252
  // ============================================================================
239
253
  // Initialize experiment client with CACHED attributes (Phase 1)
@@ -241,7 +255,7 @@ async function init(options) {
241
255
  // ============================================================================
242
256
  let sessionMetrics;
243
257
  if (payload === null || payload === void 0 ? void 0 : payload.e) {
244
- experiments = createExperimentClient("growthbook", {
258
+ experiments = createExperimentClient('growthbook', {
245
259
  clientKey: payload.e,
246
260
  apiHost: experimentHost, // undefined falls back to adapter default
247
261
  // Phase 1: Use cached segment attributes for instant evaluation
@@ -254,46 +268,16 @@ async function init(options) {
254
268
  : undefined,
255
269
  });
256
270
  }
257
- // Create config fetcher
258
- // Priority: custom fetcher > token-specified fetcher > experiments-based
259
- let fetcher;
260
- if (options.fetcher) {
261
- // Custom fetcher provided - use it directly (for local dev / bypassing experiments)
262
- fetcher = options.fetcher;
263
- }
264
- else if (payload === null || payload === void 0 ? void 0 : payload.f) {
265
- // Explicit fetcher type specified in token
266
- const configFetcher = createConfigFetcher(payload.f, (_c = payload.o) !== null && _c !== void 0 ? _c : {});
267
- fetcher = async () => {
268
- var _a;
269
- const result = await configFetcher.fetch();
270
- return {
271
- ...result.config,
272
- tiles: (_a = result.config.tiles) !== null && _a !== void 0 ? _a : [],
273
- };
274
- };
275
- }
276
- else if (experiments) {
277
- // Default: use experiments-based fetcher (GrowthBook config or URI)
278
- fetcher = createCanvasConfigFetcher({ experiments });
279
- }
280
271
  // Create session metric tracker if enabled
281
272
  if (options.enableSessionMetrics) {
282
273
  sessionMetrics = createSessionMetricTracker({
283
274
  experiments,
284
275
  onMetricChange: (key, value) => {
285
- console.log(`[Syntro Bootstrap] Session metric changed: ${key} = ${value}`);
276
+ debug('Syntro Bootstrap', `Session metric changed: ${key} = ${value}`);
286
277
  },
287
278
  });
288
- console.log('[Syntro Bootstrap] SessionMetricTracker created');
279
+ debug('Syntro Bootstrap', 'SessionMetricTracker created');
289
280
  }
290
- // Create canvas with integrations
291
- const canvas = await createSmartCanvas({
292
- ...options.canvas,
293
- fetcher,
294
- integrations: { experiments, telemetry },
295
- editorUrl,
296
- });
297
281
  // Determine runtime mode
298
282
  let runtimeMode = 'production';
299
283
  if (editorMode)
@@ -302,20 +286,152 @@ async function init(options) {
302
286
  runtimeMode = 'audit';
303
287
  else if (getEnvVar('NODE_ENV') === 'development')
304
288
  runtimeMode = 'development';
305
- // Create the unified v2 runtime
289
+ // ============================================================================
290
+ // Create runtime FIRST (before canvas, so we can wire up app loading)
291
+ // ============================================================================
306
292
  const runtime = createSmartCanvasRuntime({
307
293
  telemetry,
308
294
  sessionMetrics,
309
295
  mode: runtimeMode,
296
+ events, // Use the EventBus we created earlier (already wired to PostHog)
310
297
  });
311
- console.log('[Syntro Bootstrap] Runtime created:', {
298
+ debug('Syntro Bootstrap', 'Runtime created:', {
312
299
  version: runtime.version,
313
300
  mode: runtime.mode,
314
301
  hasContext: !!runtime.context,
315
302
  hasEvents: !!runtime.events,
316
303
  hasState: !!runtime.state,
317
304
  });
318
- return { canvas, runtime, experiments, telemetry, sessionMetrics };
305
+ // ============================================================================
306
+ // Core app executors are registered synchronously in ExecutorRegistry
307
+ // No async registration needed - they're available immediately
308
+ // ============================================================================
309
+ debug('Syntro Bootstrap', 'Core app executors already registered');
310
+ // ============================================================================
311
+ // Create app loader for external apps from CDN
312
+ // ============================================================================
313
+ const cdnBase = options.cdnBase ||
314
+ getEnvVar('NEXT_PUBLIC_SYNTRO_CDN_BASE') ||
315
+ getEnvVar('VITE_SYNTRO_CDN_BASE') ||
316
+ 'https://cdn.syntrologie.com';
317
+ const appLoader = createAppLoader({
318
+ cdnBase,
319
+ registry: runtime.apps,
320
+ onLoadStart: (appId) => {
321
+ debug('Syntro Bootstrap', `Loading app from CDN: ${appId}`);
322
+ },
323
+ onLoadEnd: (appId, success, error) => {
324
+ if (success) {
325
+ debug('Syntro Bootstrap', `App loaded successfully: ${appId}`);
326
+ }
327
+ else {
328
+ warn('Syntro Bootstrap', `Failed to load app: ${appId}`, error);
329
+ }
330
+ },
331
+ });
332
+ // ============================================================================
333
+ // Expose global SynOS object for UMD app self-registration
334
+ // ============================================================================
335
+ if (typeof window !== 'undefined') {
336
+ window.SynOS = {
337
+ appRegistry: runtime.apps,
338
+ runtime,
339
+ version: runtime.version,
340
+ };
341
+ debug('Syntro Bootstrap', 'Global SynOS object exposed');
342
+ }
343
+ // ============================================================================
344
+ // Ensure experiment features are loaded before config resolution
345
+ // gb.init({ streaming: true }) is fire-and-forget in the adapter constructor,
346
+ // so features may not be ready yet. Await them now.
347
+ // ============================================================================
348
+ if (experiments === null || experiments === void 0 ? void 0 : experiments.refreshFeatures) {
349
+ try {
350
+ await experiments.refreshFeatures();
351
+ debug('Syntro Bootstrap', 'GrowthBook features loaded');
352
+ }
353
+ catch (err) {
354
+ warn('Syntro Bootstrap', 'Failed to load GrowthBook features:', err);
355
+ }
356
+ }
357
+ // ============================================================================
358
+ // Create base config fetcher
359
+ // Priority: custom fetcher > token-specified fetcher > experiments-based
360
+ // ============================================================================
361
+ let baseFetcher;
362
+ if (options.fetcher) {
363
+ // Custom fetcher provided - use it directly (for local dev / bypassing experiments)
364
+ baseFetcher = options.fetcher;
365
+ }
366
+ else if (payload === null || payload === void 0 ? void 0 : payload.f) {
367
+ // Explicit fetcher type specified in token
368
+ const configFetcher = createConfigFetcher(payload.f, (_c = payload.o) !== null && _c !== void 0 ? _c : {});
369
+ baseFetcher = async () => {
370
+ var _a;
371
+ const result = await configFetcher.fetch();
372
+ return {
373
+ ...result.config,
374
+ tiles: (_a = result.config.tiles) !== null && _a !== void 0 ? _a : [],
375
+ };
376
+ };
377
+ }
378
+ else if (experiments) {
379
+ // Default: use experiments-based fetcher (GrowthBook config or URI)
380
+ baseFetcher = createCanvasConfigFetcher({ experiments });
381
+ }
382
+ // ============================================================================
383
+ // Wrap fetcher to automatically load required apps when config is fetched
384
+ // ============================================================================
385
+ // Track which app load failures we've already warned about
386
+ const warnedAppFailures = new Set();
387
+ const appLoadingFetcher = baseFetcher
388
+ ? async () => {
389
+ const config = await baseFetcher();
390
+ // Analyze config for required apps
391
+ // Cast to CanvasConfigForLoader - the loader only looks at action kinds
392
+ const configForLoader = config;
393
+ const requiredApps = appLoader.getRequiredApps(configForLoader);
394
+ debug('Syntro Bootstrap', 'Config fetched, required apps:', requiredApps);
395
+ if (requiredApps.length > 0) {
396
+ // Load external apps from CDN (built-in apps are already registered)
397
+ // This runs in parallel - we don't block on it
398
+ const loadPromise = appLoader.loadAppsForConfig(configForLoader).then(async (results) => {
399
+ // Only warn about new failures (not previously warned)
400
+ const newFailures = results.filter((r) => !r.success && !warnedAppFailures.has(r.appId));
401
+ if (newFailures.length > 0) {
402
+ warn('Syntro Bootstrap', 'Some apps failed to load:', newFailures);
403
+ newFailures.forEach((r) => warnedAppFailures.add(r.appId));
404
+ }
405
+ // Activate required apps after loading
406
+ for (const appId of requiredApps) {
407
+ if (runtime.apps.has(appId)) {
408
+ try {
409
+ await runtime.apps.activate(appId);
410
+ }
411
+ catch (err) {
412
+ warn('Syntro Bootstrap', `Failed to activate app: ${appId}`, err);
413
+ }
414
+ }
415
+ }
416
+ });
417
+ // For actions that need external apps, we need to wait
418
+ // But for core app actions, they can execute immediately
419
+ await loadPromise;
420
+ }
421
+ return config;
422
+ }
423
+ : undefined;
424
+ // ============================================================================
425
+ // Create canvas with runtime and app-loading fetcher
426
+ // ============================================================================
427
+ const canvas = await createSmartCanvas({
428
+ ...options.canvas,
429
+ fetcher: appLoadingFetcher,
430
+ integrations: { experiments, telemetry },
431
+ editorUrl,
432
+ runtime, // Pass runtime so actions can be applied
433
+ });
434
+ return { canvas, runtime, experiments, telemetry, sessionMetrics, appLoader };
319
435
  }
320
436
  /**
321
437
  * The Syntro namespace for single-token initialization.
@@ -325,7 +441,7 @@ export const Syntro = {
325
441
  encodeToken,
326
442
  decodeToken,
327
443
  };
328
- if (typeof window !== "undefined") {
444
+ if (typeof window !== 'undefined') {
329
445
  window.Syntro = Syntro;
330
446
  }
331
447
  //# sourceMappingURL=bootstrap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { ReactNode } from "react";
2
- import type { TileConfig } from "../types";
3
- import type { TelemetryClient } from "../telemetry/types";
4
- import { MountableComponent } from "../api";
1
+ import { ReactNode } from 'react';
2
+ import { MountableComponent } from '../api';
3
+ import type { TelemetryClient } from '../telemetry/types';
4
+ import type { TileConfig } from '../types';
5
5
  export interface CanvasTheme {
6
6
  position: 'left' | 'right';
7
7
  baseWidth: string;
@@ -22,7 +22,7 @@ export interface ShadowCanvasOverlayProps {
22
22
  telemetry?: TelemetryClient;
23
23
  launcherLabel?: string;
24
24
  launcherAnimate?: boolean;
25
- launcherAnimationStyle?: "pulse" | "bounce" | "glow";
25
+ launcherAnimationStyle?: 'pulse' | 'bounce' | 'glow';
26
26
  footerSlot?: ReactNode;
27
27
  tiles: TileConfig[];
28
28
  isLoading: boolean;
@@ -32,4 +32,4 @@ export interface ShadowCanvasOverlayProps {
32
32
  theme?: Partial<CanvasTheme>;
33
33
  customRenderers?: Record<string, MountableComponent>;
34
34
  }
35
- export declare function ShadowCanvasOverlay({ isOpen, onToggle, telemetry, launcherLabel, launcherAnimate, launcherAnimationStyle, footerSlot, tiles, isLoading, error, canvasTitle, displayMode, theme: themeOverride, customRenderers, }: ShadowCanvasOverlayProps): import("react/jsx-runtime").JSX.Element | null;
35
+ export declare function ShadowCanvasOverlay({ isOpen, onToggle, telemetry, launcherLabel, launcherAnimate, launcherAnimationStyle: _launcherAnimationStyle, footerSlot, tiles, isLoading, error, canvasTitle, displayMode, theme: themeOverride, customRenderers, }: ShadowCanvasOverlayProps): import("react/jsx-runtime").JSX.Element | null;