@syntrologie/runtime-sdk 0.2.21 → 1.0.0-canary.1

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