@envive-ai/react-hooks 0.3.56 → 0.3.57

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 (96) hide show
  1. package/dist/application/commerce-api.cjs +11 -12
  2. package/dist/application/commerce-api.js +11 -12
  3. package/dist/application/logging/index.cjs +13 -0
  4. package/dist/application/logging/index.d.cts +3 -0
  5. package/dist/application/logging/index.d.ts +3 -0
  6. package/dist/application/logging/index.js +4 -0
  7. package/dist/application/logging/logLevel.cjs +123 -0
  8. package/dist/application/logging/logLevel.d.cts +47 -0
  9. package/dist/application/logging/logLevel.d.ts +47 -0
  10. package/dist/application/logging/logLevel.js +115 -0
  11. package/dist/application/logging/logger.cjs +6 -1
  12. package/dist/application/logging/logger.d.cts +13 -0
  13. package/dist/application/logging/logger.d.ts +13 -0
  14. package/dist/application/logging/logger.js +7 -1
  15. package/dist/atoms/app/index.d.cts +7 -7
  16. package/dist/atoms/app/index.d.ts +7 -7
  17. package/dist/atoms/app/variant.d.cts +6 -6
  18. package/dist/atoms/app/variant.d.ts +6 -6
  19. package/dist/atoms/chat/chatState.d.cts +19 -19
  20. package/dist/atoms/chat/chatState.d.ts +1 -1
  21. package/dist/atoms/chat/form.d.cts +2 -2
  22. package/dist/atoms/chat/form.d.ts +2 -2
  23. package/dist/atoms/chat/index.d.cts +2 -2
  24. package/dist/atoms/chat/lastMessage.d.cts +2 -2
  25. package/dist/atoms/chat/lastMessage.d.ts +2 -2
  26. package/dist/atoms/chat/messageQueue.d.cts +6 -6
  27. package/dist/atoms/chat/messageQueue.d.ts +6 -6
  28. package/dist/atoms/chat/performanceMetrics.d.cts +6 -6
  29. package/dist/atoms/chat/performanceMetrics.d.ts +6 -6
  30. package/dist/atoms/chat/renderedWidgetRefs.d.cts +2 -2
  31. package/dist/atoms/chat/renderedWidgetRefs.d.ts +2 -2
  32. package/dist/atoms/chat/replies.d.cts +3 -3
  33. package/dist/atoms/chat/suggestions.d.cts +2 -2
  34. package/dist/atoms/chat/suggestions.d.ts +2 -2
  35. package/dist/atoms/envive/enviveConfig.d.cts +14 -14
  36. package/dist/atoms/envive/enviveConfig.d.ts +14 -14
  37. package/dist/atoms/globalSearch/globalSearch.d.cts +5 -5
  38. package/dist/atoms/globalSearch/globalSearch.d.ts +5 -5
  39. package/dist/atoms/org/customerService.d.cts +6 -6
  40. package/dist/atoms/org/customerService.d.ts +6 -6
  41. package/dist/atoms/org/graphqlConfig.d.cts +4 -4
  42. package/dist/atoms/org/graphqlConfig.d.ts +5 -5
  43. package/dist/atoms/org/newOrgConfigAtom.d.cts +2 -2
  44. package/dist/atoms/org/newOrgConfigAtom.d.ts +3 -3
  45. package/dist/atoms/org/orgAnalyticsConfig.d.ts +5 -5
  46. package/dist/atoms/search/chatSearch.d.cts +17 -17
  47. package/dist/atoms/search/chatSearch.d.ts +17 -17
  48. package/dist/atoms/search/searchAPI.d.cts +13 -13
  49. package/dist/atoms/search/types.d.ts +1 -1
  50. package/dist/atoms/widget/chatPreviewLoading.d.cts +2 -2
  51. package/dist/atoms/widget/chatPreviewLoading.d.ts +2 -2
  52. package/dist/contexts/salesAgentContext/salesAgentService.cjs +2 -2
  53. package/dist/contexts/salesAgentContext/salesAgentService.js +2 -2
  54. package/dist/contexts/systemSettingsContext/systemSettingsContext.d.ts +2 -2
  55. package/dist/contexts/types.d.cts +1 -1
  56. package/dist/contexts/types.d.ts +1 -1
  57. package/dist/contexts/typesV3.d.cts +1 -1
  58. package/dist/contexts/typesV3.d.ts +1 -1
  59. package/dist/hooks/ChatToggle/useChatToggle.cjs +10 -8
  60. package/dist/hooks/ChatToggle/useChatToggle.d.cts +4 -3
  61. package/dist/hooks/ChatToggle/useChatToggle.d.ts +4 -3
  62. package/dist/hooks/ChatToggle/useChatToggle.js +11 -9
  63. package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.ts +2 -2
  64. package/dist/hooks/Intersection/useIntersection.cjs +7 -5
  65. package/dist/hooks/Intersection/useIntersection.js +7 -5
  66. package/dist/hooks/Search/useSearchInput.cjs +1 -1
  67. package/dist/hooks/Search/useSearchInput.js +1 -1
  68. package/dist/hooks/ShopifyUrlOperations/useShopifyUrlOperations.d.cts +2 -2
  69. package/dist/hooks/ShopifyUrlOperations/useShopifyUrlOperations.d.ts +2 -2
  70. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.cjs +8 -6
  71. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.js +8 -6
  72. package/dist/hooks/WidgetInteraction/types.cjs +40 -1
  73. package/dist/hooks/WidgetInteraction/types.d.cts +16 -2
  74. package/dist/hooks/WidgetInteraction/types.d.ts +16 -2
  75. package/dist/hooks/WidgetInteraction/types.js +41 -2
  76. package/dist/hooks/utils.d.cts +1 -1
  77. package/dist/hooks/utils.d.ts +1 -1
  78. package/dist/services/amplitudeService/amplitudeService.cjs +14 -5
  79. package/dist/services/amplitudeService/amplitudeService.js +14 -5
  80. package/package.json +5 -1
  81. package/src/application/__tests__/commerceApiStreaming.test.ts +171 -0
  82. package/src/application/commerce-api.ts +21 -21
  83. package/src/application/logging/__tests__/logger.test.ts +159 -0
  84. package/src/application/logging/index.ts +12 -0
  85. package/src/application/logging/logLevel.ts +162 -0
  86. package/src/application/logging/logger.ts +13 -0
  87. package/src/contexts/salesAgentContext/salesAgentService.ts +1 -1
  88. package/src/contexts/userIdentityContext/__tests__/userIdentityContext.test.tsx +4 -5
  89. package/src/hooks/ChatToggle/__tests__/useChatToggle.test.ts +273 -0
  90. package/src/hooks/ChatToggle/useChatToggle.ts +39 -12
  91. package/src/hooks/Intersection/useIntersection.ts +7 -4
  92. package/src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts +8 -5
  93. package/src/hooks/WidgetInteraction/__tests__/chatTriggerWidget.test.ts +51 -0
  94. package/src/hooks/WidgetInteraction/types.ts +53 -0
  95. package/src/services/amplitudeService/__tests__/amplitudeService.test.ts +76 -0
  96. package/src/services/amplitudeService/amplitudeService.ts +37 -5
@@ -0,0 +1,123 @@
1
+
2
+ //#region src/application/logging/logLevel.ts
3
+ /**
4
+ * Console log-level gate shared by every package's Logger.
5
+ *
6
+ * Debug and info are muted by default: a single merchant page load produces
7
+ * ~950 debug lines (the bulk of them from featureFlagService checking gates on
8
+ * every render), which is unusable noise on a customer's site.
9
+ *
10
+ * To turn logging back on, in priority order:
11
+ *
12
+ * 1. Query param — `?envive_log_level=debug`
13
+ * The support lever. Wins over everything else so logging can always be
14
+ * re-enabled on a live merchant page, even if the embedding page pinned a
15
+ * level at bootstrap. The chosen level is persisted to localStorage so it
16
+ * survives navigation (a support session spans more than one page view);
17
+ * clear it with `?envive_log_level=warn` or by removing the stored key.
18
+ *
19
+ * 2. `setLogLevel('debug')` — programmatic, e.g. bootstrap code or tests.
20
+ *
21
+ * 3. `window._envive.logLevel = 'debug'` (or `window._spiffy.logLevel`)
22
+ * Read on every call, so it can be flipped from the browser console
23
+ * mid-session without a reload.
24
+ *
25
+ * 4. `localStorage['envive-log-level']` — sticky per browser.
26
+ *
27
+ * 5. Default: 'warn'.
28
+ *
29
+ * Levels, least to most verbose: silent < error < warn < info < debug.
30
+ * A message emits when its own level is at or below the resolved level, so
31
+ * 'silent' mutes everything including errors.
32
+ *
33
+ * Kept free of React imports (like featureFlagService): the injection bundle
34
+ * logs from its pre-config code path, before it decides whether to load the
35
+ * React app, and pulling React in here would put it on the eager chunk.
36
+ */
37
+ const LOG_LEVELS = [
38
+ "silent",
39
+ "error",
40
+ "warn",
41
+ "info",
42
+ "debug"
43
+ ];
44
+ const LEVEL_SEVERITY = {
45
+ silent: 0,
46
+ error: 1,
47
+ warn: 2,
48
+ info: 3,
49
+ debug: 4
50
+ };
51
+ const DEFAULT_LOG_LEVEL = "warn";
52
+ const LOG_LEVEL_QUERY_PARAM = "envive_log_level";
53
+ const LOG_LEVEL_STORAGE_KEY = "envive-log-level";
54
+ const asLogLevel = (value) => {
55
+ if (typeof value !== "string") return;
56
+ const normalized = value.toLowerCase();
57
+ return LOG_LEVELS.includes(normalized) ? normalized : void 0;
58
+ };
59
+ let programmaticLevel;
60
+ let cachedQueryLevel;
61
+ let cachedStoredLevel;
62
+ const storeLevel = (level) => {
63
+ if (typeof window === "undefined" || typeof window.localStorage === "undefined") return;
64
+ try {
65
+ window.localStorage.setItem(LOG_LEVEL_STORAGE_KEY, level);
66
+ } catch {}
67
+ };
68
+ const readQueryLevel = () => {
69
+ if (typeof window === "undefined") return;
70
+ const url = window.location?.href ?? "";
71
+ if (!url.includes("?")) return;
72
+ try {
73
+ return asLogLevel(new URLSearchParams(new URL(url).search).get(LOG_LEVEL_QUERY_PARAM));
74
+ } catch {
75
+ return;
76
+ }
77
+ };
78
+ const queryLevel = () => {
79
+ if (cachedQueryLevel === void 0) {
80
+ const level = readQueryLevel();
81
+ if (level) storeLevel(level);
82
+ cachedQueryLevel = level ?? null;
83
+ }
84
+ return cachedQueryLevel ?? void 0;
85
+ };
86
+ const storedLevel = () => {
87
+ if (cachedStoredLevel === void 0) {
88
+ let level;
89
+ if (typeof window !== "undefined" && typeof window.localStorage !== "undefined") try {
90
+ level = asLogLevel(window.localStorage.getItem(LOG_LEVEL_STORAGE_KEY));
91
+ } catch {
92
+ level = void 0;
93
+ }
94
+ cachedStoredLevel = level ?? null;
95
+ }
96
+ return cachedStoredLevel ?? void 0;
97
+ };
98
+ const windowLevel = () => {
99
+ if (typeof window === "undefined") return;
100
+ const windowOverride = window;
101
+ return asLogLevel(windowOverride._envive?.logLevel ?? windowOverride._spiffy?.logLevel);
102
+ };
103
+ const getLogLevel = () => queryLevel() ?? programmaticLevel ?? windowLevel() ?? storedLevel() ?? DEFAULT_LOG_LEVEL;
104
+ const setLogLevel = (level) => {
105
+ programmaticLevel = level;
106
+ };
107
+ const isLevelEnabled = (level) => LEVEL_SEVERITY[getLogLevel()] >= LEVEL_SEVERITY[level];
108
+ const resetLogLevelForTesting = () => {
109
+ programmaticLevel = void 0;
110
+ cachedQueryLevel = void 0;
111
+ cachedStoredLevel = void 0;
112
+ };
113
+
114
+ //#endregion
115
+ exports.DEFAULT_LOG_LEVEL = DEFAULT_LOG_LEVEL;
116
+ exports.LOG_LEVELS = LOG_LEVELS;
117
+ exports.LOG_LEVEL_QUERY_PARAM = LOG_LEVEL_QUERY_PARAM;
118
+ exports.LOG_LEVEL_STORAGE_KEY = LOG_LEVEL_STORAGE_KEY;
119
+ exports.getLogLevel = getLogLevel;
120
+ exports.isLevelEnabled = isLevelEnabled;
121
+ exports.resetLogLevelForTesting = resetLogLevelForTesting;
122
+ exports.setLogLevel = setLogLevel;
123
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nTGV2ZWwuY2pzIiwibmFtZXMiOlsiTEVWRUxfU0VWRVJJVFk6IFJlY29yZDxMb2dMZXZlbCwgbnVtYmVyPiIsIkRFRkFVTFRfTE9HX0xFVkVMOiBMb2dMZXZlbCIsInByb2dyYW1tYXRpY0xldmVsOiBMb2dMZXZlbCB8IHVuZGVmaW5lZCIsImNhY2hlZFF1ZXJ5TGV2ZWw6IExvZ0xldmVsIHwgbnVsbCB8IHVuZGVmaW5lZCIsImNhY2hlZFN0b3JlZExldmVsOiBMb2dMZXZlbCB8IG51bGwgfCB1bmRlZmluZWQiLCJsZXZlbDogTG9nTGV2ZWwgfCB1bmRlZmluZWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dMZXZlbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbnNvbGUgbG9nLWxldmVsIGdhdGUgc2hhcmVkIGJ5IGV2ZXJ5IHBhY2thZ2UncyBMb2dnZXIuXG4gKlxuICogRGVidWcgYW5kIGluZm8gYXJlIG11dGVkIGJ5IGRlZmF1bHQ6IGEgc2luZ2xlIG1lcmNoYW50IHBhZ2UgbG9hZCBwcm9kdWNlc1xuICogfjk1MCBkZWJ1ZyBsaW5lcyAodGhlIGJ1bGsgb2YgdGhlbSBmcm9tIGZlYXR1cmVGbGFnU2VydmljZSBjaGVja2luZyBnYXRlcyBvblxuICogZXZlcnkgcmVuZGVyKSwgd2hpY2ggaXMgdW51c2FibGUgbm9pc2Ugb24gYSBjdXN0b21lcidzIHNpdGUuXG4gKlxuICogVG8gdHVybiBsb2dnaW5nIGJhY2sgb24sIGluIHByaW9yaXR5IG9yZGVyOlxuICpcbiAqICAgMS4gUXVlcnkgcGFyYW0g4oCUIGA/ZW52aXZlX2xvZ19sZXZlbD1kZWJ1Z2BcbiAqICAgICAgVGhlIHN1cHBvcnQgbGV2ZXIuIFdpbnMgb3ZlciBldmVyeXRoaW5nIGVsc2Ugc28gbG9nZ2luZyBjYW4gYWx3YXlzIGJlXG4gKiAgICAgIHJlLWVuYWJsZWQgb24gYSBsaXZlIG1lcmNoYW50IHBhZ2UsIGV2ZW4gaWYgdGhlIGVtYmVkZGluZyBwYWdlIHBpbm5lZCBhXG4gKiAgICAgIGxldmVsIGF0IGJvb3RzdHJhcC4gVGhlIGNob3NlbiBsZXZlbCBpcyBwZXJzaXN0ZWQgdG8gbG9jYWxTdG9yYWdlIHNvIGl0XG4gKiAgICAgIHN1cnZpdmVzIG5hdmlnYXRpb24gKGEgc3VwcG9ydCBzZXNzaW9uIHNwYW5zIG1vcmUgdGhhbiBvbmUgcGFnZSB2aWV3KTtcbiAqICAgICAgY2xlYXIgaXQgd2l0aCBgP2Vudml2ZV9sb2dfbGV2ZWw9d2FybmAgb3IgYnkgcmVtb3ZpbmcgdGhlIHN0b3JlZCBrZXkuXG4gKlxuICogICAyLiBgc2V0TG9nTGV2ZWwoJ2RlYnVnJylgIOKAlCBwcm9ncmFtbWF0aWMsIGUuZy4gYm9vdHN0cmFwIGNvZGUgb3IgdGVzdHMuXG4gKlxuICogICAzLiBgd2luZG93Ll9lbnZpdmUubG9nTGV2ZWwgPSAnZGVidWcnYCAob3IgYHdpbmRvdy5fc3BpZmZ5LmxvZ0xldmVsYClcbiAqICAgICAgUmVhZCBvbiBldmVyeSBjYWxsLCBzbyBpdCBjYW4gYmUgZmxpcHBlZCBmcm9tIHRoZSBicm93c2VyIGNvbnNvbGVcbiAqICAgICAgbWlkLXNlc3Npb24gd2l0aG91dCBhIHJlbG9hZC5cbiAqXG4gKiAgIDQuIGBsb2NhbFN0b3JhZ2VbJ2Vudml2ZS1sb2ctbGV2ZWwnXWAg4oCUIHN0aWNreSBwZXIgYnJvd3Nlci5cbiAqXG4gKiAgIDUuIERlZmF1bHQ6ICd3YXJuJy5cbiAqXG4gKiBMZXZlbHMsIGxlYXN0IHRvIG1vc3QgdmVyYm9zZTogc2lsZW50IDwgZXJyb3IgPCB3YXJuIDwgaW5mbyA8IGRlYnVnLlxuICogQSBtZXNzYWdlIGVtaXRzIHdoZW4gaXRzIG93biBsZXZlbCBpcyBhdCBvciBiZWxvdyB0aGUgcmVzb2x2ZWQgbGV2ZWwsIHNvXG4gKiAnc2lsZW50JyBtdXRlcyBldmVyeXRoaW5nIGluY2x1ZGluZyBlcnJvcnMuXG4gKlxuICogS2VwdCBmcmVlIG9mIFJlYWN0IGltcG9ydHMgKGxpa2UgZmVhdHVyZUZsYWdTZXJ2aWNlKTogdGhlIGluamVjdGlvbiBidW5kbGVcbiAqIGxvZ3MgZnJvbSBpdHMgcHJlLWNvbmZpZyBjb2RlIHBhdGgsIGJlZm9yZSBpdCBkZWNpZGVzIHdoZXRoZXIgdG8gbG9hZCB0aGVcbiAqIFJlYWN0IGFwcCwgYW5kIHB1bGxpbmcgUmVhY3QgaW4gaGVyZSB3b3VsZCBwdXQgaXQgb24gdGhlIGVhZ2VyIGNodW5rLlxuICovXG5cbmV4cG9ydCBjb25zdCBMT0dfTEVWRUxTID0gWydzaWxlbnQnLCAnZXJyb3InLCAnd2FybicsICdpbmZvJywgJ2RlYnVnJ10gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIExvZ0xldmVsID0gKHR5cGVvZiBMT0dfTEVWRUxTKVtudW1iZXJdO1xuXG5jb25zdCBMRVZFTF9TRVZFUklUWTogUmVjb3JkPExvZ0xldmVsLCBudW1iZXI+ID0ge1xuICBzaWxlbnQ6IDAsXG4gIGVycm9yOiAxLFxuICB3YXJuOiAyLFxuICBpbmZvOiAzLFxuICBkZWJ1ZzogNCxcbn07XG5cbi8qIEVycm9ycyBhbmQgd2FybmluZ3Mgb25seS4gbG9nRGVidWcvbG9nSW5mbyBtYWtlIHVwIHRoZSBidWxrIG9mIHRoZSBjYWxsIHNpdGVzXG4gKiBpbiB0aGlzIHJlcG8gYW5kIHVzZWQgdG8gcHJpbnQgb24gZXZlcnkgbWVyY2hhbnQgcGFnZSBsb2FkLiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTE9HX0xFVkVMOiBMb2dMZXZlbCA9ICd3YXJuJztcblxuZXhwb3J0IGNvbnN0IExPR19MRVZFTF9RVUVSWV9QQVJBTSA9ICdlbnZpdmVfbG9nX2xldmVsJztcbmV4cG9ydCBjb25zdCBMT0dfTEVWRUxfU1RPUkFHRV9LRVkgPSAnZW52aXZlLWxvZy1sZXZlbCc7XG5cbmNvbnN0IGFzTG9nTGV2ZWwgPSAodmFsdWU6IHVua25vd24pOiBMb2dMZXZlbCB8IHVuZGVmaW5lZCA9PiB7XG4gIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCBub3JtYWxpemVkID0gdmFsdWUudG9Mb3dlckNhc2UoKTtcbiAgcmV0dXJuIChMT0dfTEVWRUxTIGFzIHJlYWRvbmx5IHN0cmluZ1tdKS5pbmNsdWRlcyhub3JtYWxpemVkKVxuICAgID8gKG5vcm1hbGl6ZWQgYXMgTG9nTGV2ZWwpXG4gICAgOiB1bmRlZmluZWQ7XG59O1xuXG4vKiBTZXQgYnkgc2V0TG9nTGV2ZWwoKS4gT3ZlcnJpZGVzIHdpbmRvdy9zdG9yZWQvZGVmYXVsdCwgYnV0IGRlbGliZXJhdGVseSBub3RcbiAqIHRoZSBxdWVyeSBwYXJhbSwgc28gc3VwcG9ydCBjYW4gYWx3YXlzIHR1cm4gbG9nZ2luZyBiYWNrIG9uIGluIGEgbGl2ZSBzZXNzaW9uXG4gKiBldmVuIGlmIHRoZSBlbWJlZGRpbmcgcGFnZSBwaW5uZWQgYSBsZXZlbCBhdCBib290c3RyYXAuICovXG5sZXQgcHJvZ3JhbW1hdGljTGV2ZWw6IExvZ0xldmVsIHwgdW5kZWZpbmVkO1xuXG4vKiBUaGUgcXVlcnkgcGFyYW0gYW5kIGxvY2FsU3RvcmFnZSBjYW5ub3QgY2hhbmdlIHdpdGhvdXQgYSBuYXZpZ2F0aW9uLCBzbyBib3RoXG4gKiBhcmUgcmVhZCBvbmNlLiBgdW5kZWZpbmVkYCBtZWFucyBcIm5vdCByZXNvbHZlZCB5ZXRcIiBhbmQgYG51bGxgIGNhY2hlcyBhIG1pc3MsXG4gKiBrZWVwaW5nIHJlcGVhdCBsb29rdXBzIG9mZiB0aGUgbG9nZ2luZyBob3QgcGF0aC4gKi9cbmxldCBjYWNoZWRRdWVyeUxldmVsOiBMb2dMZXZlbCB8IG51bGwgfCB1bmRlZmluZWQ7XG5sZXQgY2FjaGVkU3RvcmVkTGV2ZWw6IExvZ0xldmVsIHwgbnVsbCB8IHVuZGVmaW5lZDtcblxuLyogUGVyc2lzdHMgdGhlIGxldmVsIHNvIGl0IHN1cnZpdmVzIG5hdmlnYXRpb24g4oCUIGEgc3VwcG9ydCBzZXNzaW9uIHNwYW5zIG1vcmVcbiAqIHRoYW4gb25lIHBhZ2Ugdmlldy4gKi9cbmNvbnN0IHN0b3JlTGV2ZWwgPSAobGV2ZWw6IExvZ0xldmVsKTogdm9pZCA9PiB7XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJyB8fCB0eXBlb2Ygd2luZG93LmxvY2FsU3RvcmFnZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgdHJ5IHtcbiAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oTE9HX0xFVkVMX1NUT1JBR0VfS0VZLCBsZXZlbCk7XG4gIH0gY2F0Y2gge1xuICAgIC8vIFN0b3JhZ2UgY2FuIGJlIGZ1bGwgb3IgYmxvY2tlZDsgdGhlIGxldmVsIHN0aWxsIGFwcGxpZXMgdG8gdGhpcyBwYWdlLlxuICB9XG59O1xuXG5jb25zdCByZWFkUXVlcnlMZXZlbCA9ICgpOiBMb2dMZXZlbCB8IHVuZGVmaW5lZCA9PiB7XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgY29uc3QgdXJsID0gd2luZG93LmxvY2F0aW9uPy5ocmVmID8/ICcnO1xuICBpZiAoIXVybC5pbmNsdWRlcygnPycpKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICB0cnkge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMobmV3IFVSTCh1cmwpLnNlYXJjaCk7XG4gICAgcmV0dXJuIGFzTG9nTGV2ZWwocGFyYW1zLmdldChMT0dfTEVWRUxfUVVFUllfUEFSQU0pKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufTtcblxuY29uc3QgcXVlcnlMZXZlbCA9ICgpOiBMb2dMZXZlbCB8IHVuZGVmaW5lZCA9PiB7XG4gIGlmIChjYWNoZWRRdWVyeUxldmVsID09PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBsZXZlbCA9IHJlYWRRdWVyeUxldmVsKCk7XG4gICAgaWYgKGxldmVsKSB7XG4gICAgICBzdG9yZUxldmVsKGxldmVsKTtcbiAgICB9XG4gICAgY2FjaGVkUXVlcnlMZXZlbCA9IGxldmVsID8/IG51bGw7XG4gIH1cbiAgcmV0dXJuIGNhY2hlZFF1ZXJ5TGV2ZWwgPz8gdW5kZWZpbmVkO1xufTtcblxuY29uc3Qgc3RvcmVkTGV2ZWwgPSAoKTogTG9nTGV2ZWwgfCB1bmRlZmluZWQgPT4ge1xuICBpZiAoY2FjaGVkU3RvcmVkTGV2ZWwgPT09IHVuZGVmaW5lZCkge1xuICAgIGxldCBsZXZlbDogTG9nTGV2ZWwgfCB1bmRlZmluZWQ7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiB3aW5kb3cubG9jYWxTdG9yYWdlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgbGV2ZWwgPSBhc0xvZ0xldmVsKHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShMT0dfTEVWRUxfU1RPUkFHRV9LRVkpKTtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICBsZXZlbCA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB9XG4gICAgY2FjaGVkU3RvcmVkTGV2ZWwgPSBsZXZlbCA/PyBudWxsO1xuICB9XG4gIHJldHVybiBjYWNoZWRTdG9yZWRMZXZlbCA/PyB1bmRlZmluZWQ7XG59O1xuXG4vKiBSZWFkIG9uIGV2ZXJ5IGNhbGwsIHNvIGl0IGNhbiBiZSBmbGlwcGVkIGZyb20gdGhlIGJyb3dzZXIgY29uc29sZSBtaWQtc2Vzc2lvblxuICogd2l0aG91dCBhIHJlbG9hZC4gKi9cbmNvbnN0IHdpbmRvd0xldmVsID0gKCk6IExvZ0xldmVsIHwgdW5kZWZpbmVkID0+IHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCB3aW5kb3dPdmVycmlkZSA9IHdpbmRvdyBhcyBXaW5kb3cgJiB7XG4gICAgX2Vudml2ZT86IHsgbG9nTGV2ZWw/OiBzdHJpbmcgfTtcbiAgICBfc3BpZmZ5PzogeyBsb2dMZXZlbD86IHN0cmluZyB9O1xuICB9O1xuICByZXR1cm4gYXNMb2dMZXZlbCh3aW5kb3dPdmVycmlkZS5fZW52aXZlPy5sb2dMZXZlbCA/PyB3aW5kb3dPdmVycmlkZS5fc3BpZmZ5Py5sb2dMZXZlbCk7XG59O1xuXG4vKiBSZXNvbHV0aW9uIG9yZGVyIG1pcnJvcnMgZmVhdHVyZUZsYWdTZXJ2aWNlJ3Mgb3ZlcnJpZGUgY2hhaW46IHF1ZXJ5IHBhcmFtID5cbiAqIHNldExvZ0xldmVsKCkgPiB3aW5kb3cuX2Vudml2ZS5sb2dMZXZlbCA+IGxvY2FsU3RvcmFnZSA+IGRlZmF1bHQuICovXG5leHBvcnQgY29uc3QgZ2V0TG9nTGV2ZWwgPSAoKTogTG9nTGV2ZWwgPT5cbiAgcXVlcnlMZXZlbCgpID8/IHByb2dyYW1tYXRpY0xldmVsID8/IHdpbmRvd0xldmVsKCkgPz8gc3RvcmVkTGV2ZWwoKSA/PyBERUZBVUxUX0xPR19MRVZFTDtcblxuLyogUGFzcyB1bmRlZmluZWQgdG8gY2xlYXIgdGhlIG92ZXJyaWRlIGFuZCBmYWxsIGJhY2sgdG8gdGhlIGxldmVycyBhYm92ZS4gKi9cbmV4cG9ydCBjb25zdCBzZXRMb2dMZXZlbCA9IChsZXZlbDogTG9nTGV2ZWwgfCB1bmRlZmluZWQpOiB2b2lkID0+IHtcbiAgcHJvZ3JhbW1hdGljTGV2ZWwgPSBsZXZlbDtcbn07XG5cbmV4cG9ydCBjb25zdCBpc0xldmVsRW5hYmxlZCA9IChsZXZlbDogRXhjbHVkZTxMb2dMZXZlbCwgJ3NpbGVudCc+KTogYm9vbGVhbiA9PlxuICBMRVZFTF9TRVZFUklUWVtnZXRMb2dMZXZlbCgpXSA+PSBMRVZFTF9TRVZFUklUWVtsZXZlbF07XG5cbi8qIFRlc3Qgc2VhbTogZHJvcHMgdGhlIG1lbW9pemVkIHF1ZXJ5LXBhcmFtIGFuZCBsb2NhbFN0b3JhZ2UgcmVzb2x1dGlvbi4gKi9cbmV4cG9ydCBjb25zdCByZXNldExvZ0xldmVsRm9yVGVzdGluZyA9ICgpOiB2b2lkID0+IHtcbiAgcHJvZ3JhbW1hdGljTGV2ZWwgPSB1bmRlZmluZWQ7XG4gIGNhY2hlZFF1ZXJ5TGV2ZWwgPSB1bmRlZmluZWQ7XG4gIGNhY2hlZFN0b3JlZExldmVsID0gdW5kZWZpbmVkO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBbUNBLE1BQWEsYUFBYTtDQUFDO0NBQVU7Q0FBUztDQUFRO0NBQVE7Q0FBUTtBQUl0RSxNQUFNQSxpQkFBMkM7Q0FDL0MsUUFBUTtDQUNSLE9BQU87Q0FDUCxNQUFNO0NBQ04sTUFBTTtDQUNOLE9BQU87Q0FDUjtBQUlELE1BQWFDLG9CQUE4QjtBQUUzQyxNQUFhLHdCQUF3QjtBQUNyQyxNQUFhLHdCQUF3QjtBQUVyQyxNQUFNLGNBQWMsVUFBeUM7QUFDM0QsS0FBSSxPQUFPLFVBQVUsU0FDbkI7Q0FFRixNQUFNLGFBQWEsTUFBTSxhQUFhO0FBQ3RDLFFBQVEsV0FBaUMsU0FBUyxXQUFXLEdBQ3hELGFBQ0Q7O0FBTU4sSUFBSUM7QUFLSixJQUFJQztBQUNKLElBQUlDO0FBSUosTUFBTSxjQUFjLFVBQTBCO0FBQzVDLEtBQUksT0FBTyxXQUFXLGVBQWUsT0FBTyxPQUFPLGlCQUFpQixZQUNsRTtBQUVGLEtBQUk7QUFDRixTQUFPLGFBQWEsUUFBUSx1QkFBdUIsTUFBTTtTQUNuRDs7QUFLVixNQUFNLHVCQUE2QztBQUNqRCxLQUFJLE9BQU8sV0FBVyxZQUNwQjtDQUVGLE1BQU0sTUFBTSxPQUFPLFVBQVUsUUFBUTtBQUNyQyxLQUFJLENBQUMsSUFBSSxTQUFTLElBQUksQ0FDcEI7QUFFRixLQUFJO0FBRUYsU0FBTyxXQURRLElBQUksZ0JBQWdCLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUM5QixJQUFJLHNCQUFzQixDQUFDO1NBQzlDO0FBQ047OztBQUlKLE1BQU0sbUJBQXlDO0FBQzdDLEtBQUkscUJBQXFCLFFBQVc7RUFDbEMsTUFBTSxRQUFRLGdCQUFnQjtBQUM5QixNQUFJLE1BQ0YsWUFBVyxNQUFNO0FBRW5CLHFCQUFtQixTQUFTOztBQUU5QixRQUFPLG9CQUFvQjs7QUFHN0IsTUFBTSxvQkFBMEM7QUFDOUMsS0FBSSxzQkFBc0IsUUFBVztFQUNuQyxJQUFJQztBQUNKLE1BQUksT0FBTyxXQUFXLGVBQWUsT0FBTyxPQUFPLGlCQUFpQixZQUNsRSxLQUFJO0FBQ0YsV0FBUSxXQUFXLE9BQU8sYUFBYSxRQUFRLHNCQUFzQixDQUFDO1VBQ2hFO0FBQ04sV0FBUTs7QUFHWixzQkFBb0IsU0FBUzs7QUFFL0IsUUFBTyxxQkFBcUI7O0FBSzlCLE1BQU0sb0JBQTBDO0FBQzlDLEtBQUksT0FBTyxXQUFXLFlBQ3BCO0NBRUYsTUFBTSxpQkFBaUI7QUFJdkIsUUFBTyxXQUFXLGVBQWUsU0FBUyxZQUFZLGVBQWUsU0FBUyxTQUFTOztBQUt6RixNQUFhLG9CQUNYLFlBQVksSUFBSSxxQkFBcUIsYUFBYSxJQUFJLGFBQWEsSUFBSTtBQUd6RSxNQUFhLGVBQWUsVUFBc0M7QUFDaEUscUJBQW9COztBQUd0QixNQUFhLGtCQUFrQixVQUM3QixlQUFlLGFBQWEsS0FBSyxlQUFlO0FBR2xELE1BQWEsZ0NBQXNDO0FBQ2pELHFCQUFvQjtBQUNwQixvQkFBbUI7QUFDbkIscUJBQW9CIn0=
@@ -0,0 +1,47 @@
1
+ //#region src/application/logging/logLevel.d.ts
2
+ /**
3
+ * Console log-level gate shared by every package's Logger.
4
+ *
5
+ * Debug and info are muted by default: a single merchant page load produces
6
+ * ~950 debug lines (the bulk of them from featureFlagService checking gates on
7
+ * every render), which is unusable noise on a customer's site.
8
+ *
9
+ * To turn logging back on, in priority order:
10
+ *
11
+ * 1. Query param — `?envive_log_level=debug`
12
+ * The support lever. Wins over everything else so logging can always be
13
+ * re-enabled on a live merchant page, even if the embedding page pinned a
14
+ * level at bootstrap. The chosen level is persisted to localStorage so it
15
+ * survives navigation (a support session spans more than one page view);
16
+ * clear it with `?envive_log_level=warn` or by removing the stored key.
17
+ *
18
+ * 2. `setLogLevel('debug')` — programmatic, e.g. bootstrap code or tests.
19
+ *
20
+ * 3. `window._envive.logLevel = 'debug'` (or `window._spiffy.logLevel`)
21
+ * Read on every call, so it can be flipped from the browser console
22
+ * mid-session without a reload.
23
+ *
24
+ * 4. `localStorage['envive-log-level']` — sticky per browser.
25
+ *
26
+ * 5. Default: 'warn'.
27
+ *
28
+ * Levels, least to most verbose: silent < error < warn < info < debug.
29
+ * A message emits when its own level is at or below the resolved level, so
30
+ * 'silent' mutes everything including errors.
31
+ *
32
+ * Kept free of React imports (like featureFlagService): the injection bundle
33
+ * logs from its pre-config code path, before it decides whether to load the
34
+ * React app, and pulling React in here would put it on the eager chunk.
35
+ */
36
+ declare const LOG_LEVELS: readonly ["silent", "error", "warn", "info", "debug"];
37
+ type LogLevel = (typeof LOG_LEVELS)[number];
38
+ declare const DEFAULT_LOG_LEVEL: LogLevel;
39
+ declare const LOG_LEVEL_QUERY_PARAM = "envive_log_level";
40
+ declare const LOG_LEVEL_STORAGE_KEY = "envive-log-level";
41
+ declare const getLogLevel: () => LogLevel;
42
+ declare const setLogLevel: (level: LogLevel | undefined) => void;
43
+ declare const isLevelEnabled: (level: Exclude<LogLevel, "silent">) => boolean;
44
+ declare const resetLogLevelForTesting: () => void;
45
+ //#endregion
46
+ export { DEFAULT_LOG_LEVEL, LOG_LEVELS, LOG_LEVEL_QUERY_PARAM, LOG_LEVEL_STORAGE_KEY, LogLevel, getLogLevel, isLevelEnabled, resetLogLevelForTesting, setLogLevel };
47
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nTGV2ZWwuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nTGV2ZWwuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbnNvbGUgbG9nLWxldmVsIGdhdGUgc2hhcmVkIGJ5IGV2ZXJ5IHBhY2thZ2UncyBMb2dnZXIuXG4gKlxuICogRGVidWcgYW5kIGluZm8gYXJlIG11dGVkIGJ5IGRlZmF1bHQ6IGEgc2luZ2xlIG1lcmNoYW50IHBhZ2UgbG9hZCBwcm9kdWNlc1xuICogfjk1MCBkZWJ1ZyBsaW5lcyAodGhlIGJ1bGsgb2YgdGhlbSBmcm9tIGZlYXR1cmVGbGFnU2VydmljZSBjaGVja2luZyBnYXRlcyBvblxuICogZXZlcnkgcmVuZGVyKSwgd2hpY2ggaXMgdW51c2FibGUgbm9pc2Ugb24gYSBjdXN0b21lcidzIHNpdGUuXG4gKlxuICogVG8gdHVybiBsb2dnaW5nIGJhY2sgb24sIGluIHByaW9yaXR5IG9yZGVyOlxuICpcbiAqICAgMS4gUXVlcnkgcGFyYW0g4oCUIGA/ZW52aXZlX2xvZ19sZXZlbD1kZWJ1Z2BcbiAqICAgICAgVGhlIHN1cHBvcnQgbGV2ZXIuIFdpbnMgb3ZlciBldmVyeXRoaW5nIGVsc2Ugc28gbG9nZ2luZyBjYW4gYWx3YXlzIGJlXG4gKiAgICAgIHJlLWVuYWJsZWQgb24gYSBsaXZlIG1lcmNoYW50IHBhZ2UsIGV2ZW4gaWYgdGhlIGVtYmVkZGluZyBwYWdlIHBpbm5lZCBhXG4gKiAgICAgIGxldmVsIGF0IGJvb3RzdHJhcC4gVGhlIGNob3NlbiBsZXZlbCBpcyBwZXJzaXN0ZWQgdG8gbG9jYWxTdG9yYWdlIHNvIGl0XG4gKiAgICAgIHN1cnZpdmVzIG5hdmlnYXRpb24gKGEgc3VwcG9ydCBzZXNzaW9uIHNwYW5zIG1vcmUgdGhhbiBvbmUgcGFnZSB2aWV3KTtcbiAqICAgICAgY2xlYXIgaXQgd2l0aCBgP2Vudml2ZV9sb2dfbGV2ZWw9d2FybmAgb3IgYnkgcmVtb3ZpbmcgdGhlIHN0b3JlZCBrZXkuXG4gKlxuICogICAyLiBgc2V0TG9nTGV2ZWwoJ2RlYnVnJylgIOKAlCBwcm9ncmFtbWF0aWMsIGUuZy4gYm9vdHN0cmFwIGNvZGUgb3IgdGVzdHMuXG4gKlxuICogICAzLiBgd2luZG93Ll9lbnZpdmUubG9nTGV2ZWwgPSAnZGVidWcnYCAob3IgYHdpbmRvdy5fc3BpZmZ5LmxvZ0xldmVsYClcbiAqICAgICAgUmVhZCBvbiBldmVyeSBjYWxsLCBzbyBpdCBjYW4gYmUgZmxpcHBlZCBmcm9tIHRoZSBicm93c2VyIGNvbnNvbGVcbiAqICAgICAgbWlkLXNlc3Npb24gd2l0aG91dCBhIHJlbG9hZC5cbiAqXG4gKiAgIDQuIGBsb2NhbFN0b3JhZ2VbJ2Vudml2ZS1sb2ctbGV2ZWwnXWAg4oCUIHN0aWNreSBwZXIgYnJvd3Nlci5cbiAqXG4gKiAgIDUuIERlZmF1bHQ6ICd3YXJuJy5cbiAqXG4gKiBMZXZlbHMsIGxlYXN0IHRvIG1vc3QgdmVyYm9zZTogc2lsZW50IDwgZXJyb3IgPCB3YXJuIDwgaW5mbyA8IGRlYnVnLlxuICogQSBtZXNzYWdlIGVtaXRzIHdoZW4gaXRzIG93biBsZXZlbCBpcyBhdCBvciBiZWxvdyB0aGUgcmVzb2x2ZWQgbGV2ZWwsIHNvXG4gKiAnc2lsZW50JyBtdXRlcyBldmVyeXRoaW5nIGluY2x1ZGluZyBlcnJvcnMuXG4gKlxuICogS2VwdCBmcmVlIG9mIFJlYWN0IGltcG9ydHMgKGxpa2UgZmVhdHVyZUZsYWdTZXJ2aWNlKTogdGhlIGluamVjdGlvbiBidW5kbGVcbiAqIGxvZ3MgZnJvbSBpdHMgcHJlLWNvbmZpZyBjb2RlIHBhdGgsIGJlZm9yZSBpdCBkZWNpZGVzIHdoZXRoZXIgdG8gbG9hZCB0aGVcbiAqIFJlYWN0IGFwcCwgYW5kIHB1bGxpbmcgUmVhY3QgaW4gaGVyZSB3b3VsZCBwdXQgaXQgb24gdGhlIGVhZ2VyIGNodW5rLlxuICovXG5leHBvcnQgZGVjbGFyZSBjb25zdCBMT0dfTEVWRUxTOiByZWFkb25seSBbXCJzaWxlbnRcIiwgXCJlcnJvclwiLCBcIndhcm5cIiwgXCJpbmZvXCIsIFwiZGVidWdcIl07XG5leHBvcnQgdHlwZSBMb2dMZXZlbCA9ICh0eXBlb2YgTE9HX0xFVkVMUylbbnVtYmVyXTtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IERFRkFVTFRfTE9HX0xFVkVMOiBMb2dMZXZlbDtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IExPR19MRVZFTF9RVUVSWV9QQVJBTSA9IFwiZW52aXZlX2xvZ19sZXZlbFwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgTE9HX0xFVkVMX1NUT1JBR0VfS0VZID0gXCJlbnZpdmUtbG9nLWxldmVsXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBnZXRMb2dMZXZlbDogKCkgPT4gTG9nTGV2ZWw7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBzZXRMb2dMZXZlbDogKGxldmVsOiBMb2dMZXZlbCB8IHVuZGVmaW5lZCkgPT4gdm9pZDtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzTGV2ZWxFbmFibGVkOiAobGV2ZWw6IEV4Y2x1ZGU8TG9nTGV2ZWwsIFwic2lsZW50XCI+KSA9PiBib29sZWFuO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgcmVzZXRMb2dMZXZlbEZvclRlc3Rpbmc6ICgpID0+IHZvaWQ7XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFFLGFBQUEsQ0FBQSxJQUFBO0FBQ0YsSUFBVyxXQUFXLENBQUMsV0FBVyxXQUFXO0FBQzdDLElBQUMsb0JBQUEsQ0FBQSxXQUFBLFNBQUE7QUFDRCxJQUFXLHdCQUF3QixDQUFDLElBQUk7QUFDeEMsSUFBVyx3QkFBd0IsQ0FBQyxJQUFJO0FBQ3hDLElBQVcsY0FBYyxDQUFDLFdBQVcsU0FBUztBQUM5QyxJQUFDLGNBQUEsQ0FBQSxXQUFBLFNBQUE7QUFDRCxJQUFXLGlCQUFpQjtDQUFDO09BQVc7T0FBSztDQUFBO0FBQzdDLElBQUMsMEJBQUEsQ0FBQSxJQUFBIn0=
@@ -0,0 +1,47 @@
1
+ //#region src/application/logging/logLevel.d.ts
2
+ /**
3
+ * Console log-level gate shared by every package's Logger.
4
+ *
5
+ * Debug and info are muted by default: a single merchant page load produces
6
+ * ~950 debug lines (the bulk of them from featureFlagService checking gates on
7
+ * every render), which is unusable noise on a customer's site.
8
+ *
9
+ * To turn logging back on, in priority order:
10
+ *
11
+ * 1. Query param — `?envive_log_level=debug`
12
+ * The support lever. Wins over everything else so logging can always be
13
+ * re-enabled on a live merchant page, even if the embedding page pinned a
14
+ * level at bootstrap. The chosen level is persisted to localStorage so it
15
+ * survives navigation (a support session spans more than one page view);
16
+ * clear it with `?envive_log_level=warn` or by removing the stored key.
17
+ *
18
+ * 2. `setLogLevel('debug')` — programmatic, e.g. bootstrap code or tests.
19
+ *
20
+ * 3. `window._envive.logLevel = 'debug'` (or `window._spiffy.logLevel`)
21
+ * Read on every call, so it can be flipped from the browser console
22
+ * mid-session without a reload.
23
+ *
24
+ * 4. `localStorage['envive-log-level']` — sticky per browser.
25
+ *
26
+ * 5. Default: 'warn'.
27
+ *
28
+ * Levels, least to most verbose: silent < error < warn < info < debug.
29
+ * A message emits when its own level is at or below the resolved level, so
30
+ * 'silent' mutes everything including errors.
31
+ *
32
+ * Kept free of React imports (like featureFlagService): the injection bundle
33
+ * logs from its pre-config code path, before it decides whether to load the
34
+ * React app, and pulling React in here would put it on the eager chunk.
35
+ */
36
+ declare const LOG_LEVELS: readonly ["silent", "error", "warn", "info", "debug"];
37
+ type LogLevel = (typeof LOG_LEVELS)[number];
38
+ declare const DEFAULT_LOG_LEVEL: LogLevel;
39
+ declare const LOG_LEVEL_QUERY_PARAM = "envive_log_level";
40
+ declare const LOG_LEVEL_STORAGE_KEY = "envive-log-level";
41
+ declare const getLogLevel: () => LogLevel;
42
+ declare const setLogLevel: (level: LogLevel | undefined) => void;
43
+ declare const isLevelEnabled: (level: Exclude<LogLevel, "silent">) => boolean;
44
+ declare const resetLogLevelForTesting: () => void;
45
+ //#endregion
46
+ export { DEFAULT_LOG_LEVEL, LOG_LEVELS, LOG_LEVEL_QUERY_PARAM, LOG_LEVEL_STORAGE_KEY, LogLevel, getLogLevel, isLevelEnabled, resetLogLevelForTesting, setLogLevel };
47
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nTGV2ZWwuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dMZXZlbC5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29uc29sZSBsb2ctbGV2ZWwgZ2F0ZSBzaGFyZWQgYnkgZXZlcnkgcGFja2FnZSdzIExvZ2dlci5cbiAqXG4gKiBEZWJ1ZyBhbmQgaW5mbyBhcmUgbXV0ZWQgYnkgZGVmYXVsdDogYSBzaW5nbGUgbWVyY2hhbnQgcGFnZSBsb2FkIHByb2R1Y2VzXG4gKiB+OTUwIGRlYnVnIGxpbmVzICh0aGUgYnVsayBvZiB0aGVtIGZyb20gZmVhdHVyZUZsYWdTZXJ2aWNlIGNoZWNraW5nIGdhdGVzIG9uXG4gKiBldmVyeSByZW5kZXIpLCB3aGljaCBpcyB1bnVzYWJsZSBub2lzZSBvbiBhIGN1c3RvbWVyJ3Mgc2l0ZS5cbiAqXG4gKiBUbyB0dXJuIGxvZ2dpbmcgYmFjayBvbiwgaW4gcHJpb3JpdHkgb3JkZXI6XG4gKlxuICogICAxLiBRdWVyeSBwYXJhbSDigJQgYD9lbnZpdmVfbG9nX2xldmVsPWRlYnVnYFxuICogICAgICBUaGUgc3VwcG9ydCBsZXZlci4gV2lucyBvdmVyIGV2ZXJ5dGhpbmcgZWxzZSBzbyBsb2dnaW5nIGNhbiBhbHdheXMgYmVcbiAqICAgICAgcmUtZW5hYmxlZCBvbiBhIGxpdmUgbWVyY2hhbnQgcGFnZSwgZXZlbiBpZiB0aGUgZW1iZWRkaW5nIHBhZ2UgcGlubmVkIGFcbiAqICAgICAgbGV2ZWwgYXQgYm9vdHN0cmFwLiBUaGUgY2hvc2VuIGxldmVsIGlzIHBlcnNpc3RlZCB0byBsb2NhbFN0b3JhZ2Ugc28gaXRcbiAqICAgICAgc3Vydml2ZXMgbmF2aWdhdGlvbiAoYSBzdXBwb3J0IHNlc3Npb24gc3BhbnMgbW9yZSB0aGFuIG9uZSBwYWdlIHZpZXcpO1xuICogICAgICBjbGVhciBpdCB3aXRoIGA/ZW52aXZlX2xvZ19sZXZlbD13YXJuYCBvciBieSByZW1vdmluZyB0aGUgc3RvcmVkIGtleS5cbiAqXG4gKiAgIDIuIGBzZXRMb2dMZXZlbCgnZGVidWcnKWAg4oCUIHByb2dyYW1tYXRpYywgZS5nLiBib290c3RyYXAgY29kZSBvciB0ZXN0cy5cbiAqXG4gKiAgIDMuIGB3aW5kb3cuX2Vudml2ZS5sb2dMZXZlbCA9ICdkZWJ1ZydgIChvciBgd2luZG93Ll9zcGlmZnkubG9nTGV2ZWxgKVxuICogICAgICBSZWFkIG9uIGV2ZXJ5IGNhbGwsIHNvIGl0IGNhbiBiZSBmbGlwcGVkIGZyb20gdGhlIGJyb3dzZXIgY29uc29sZVxuICogICAgICBtaWQtc2Vzc2lvbiB3aXRob3V0IGEgcmVsb2FkLlxuICpcbiAqICAgNC4gYGxvY2FsU3RvcmFnZVsnZW52aXZlLWxvZy1sZXZlbCddYCDigJQgc3RpY2t5IHBlciBicm93c2VyLlxuICpcbiAqICAgNS4gRGVmYXVsdDogJ3dhcm4nLlxuICpcbiAqIExldmVscywgbGVhc3QgdG8gbW9zdCB2ZXJib3NlOiBzaWxlbnQgPCBlcnJvciA8IHdhcm4gPCBpbmZvIDwgZGVidWcuXG4gKiBBIG1lc3NhZ2UgZW1pdHMgd2hlbiBpdHMgb3duIGxldmVsIGlzIGF0IG9yIGJlbG93IHRoZSByZXNvbHZlZCBsZXZlbCwgc29cbiAqICdzaWxlbnQnIG11dGVzIGV2ZXJ5dGhpbmcgaW5jbHVkaW5nIGVycm9ycy5cbiAqXG4gKiBLZXB0IGZyZWUgb2YgUmVhY3QgaW1wb3J0cyAobGlrZSBmZWF0dXJlRmxhZ1NlcnZpY2UpOiB0aGUgaW5qZWN0aW9uIGJ1bmRsZVxuICogbG9ncyBmcm9tIGl0cyBwcmUtY29uZmlnIGNvZGUgcGF0aCwgYmVmb3JlIGl0IGRlY2lkZXMgd2hldGhlciB0byBsb2FkIHRoZVxuICogUmVhY3QgYXBwLCBhbmQgcHVsbGluZyBSZWFjdCBpbiBoZXJlIHdvdWxkIHB1dCBpdCBvbiB0aGUgZWFnZXIgY2h1bmsuXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IExPR19MRVZFTFM6IHJlYWRvbmx5IFtcInNpbGVudFwiLCBcImVycm9yXCIsIFwid2FyblwiLCBcImluZm9cIiwgXCJkZWJ1Z1wiXTtcbmV4cG9ydCB0eXBlIExvZ0xldmVsID0gKHR5cGVvZiBMT0dfTEVWRUxTKVtudW1iZXJdO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgREVGQVVMVF9MT0dfTEVWRUw6IExvZ0xldmVsO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgTE9HX0xFVkVMX1FVRVJZX1BBUkFNID0gXCJlbnZpdmVfbG9nX2xldmVsXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBMT0dfTEVWRUxfU1RPUkFHRV9LRVkgPSBcImVudml2ZS1sb2ctbGV2ZWxcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGdldExvZ0xldmVsOiAoKSA9PiBMb2dMZXZlbDtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHNldExvZ0xldmVsOiAobGV2ZWw6IExvZ0xldmVsIHwgdW5kZWZpbmVkKSA9PiB2b2lkO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNMZXZlbEVuYWJsZWQ6IChsZXZlbDogRXhjbHVkZTxMb2dMZXZlbCwgXCJzaWxlbnRcIj4pID0+IGJvb2xlYW47XG5leHBvcnQgZGVjbGFyZSBjb25zdCByZXNldExvZ0xldmVsRm9yVGVzdGluZzogKCkgPT4gdm9pZDtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLElBQUUsYUFBQSxDQUFBLElBQUE7QUFDRixJQUFXLFdBQVcsQ0FBQyxXQUFXLFdBQVc7QUFDN0MsSUFBQyxvQkFBQSxDQUFBLFdBQUEsU0FBQTtBQUNELElBQVcsd0JBQXdCLENBQUMsSUFBSTtBQUN4QyxJQUFXLHdCQUF3QixDQUFDLElBQUk7QUFDeEMsSUFBVyxjQUFjLENBQUMsV0FBVyxTQUFTO0FBQzlDLElBQUMsY0FBQSxDQUFBLFdBQUEsU0FBQTtBQUNELElBQVcsaUJBQWlCO0NBQUM7T0FBVztPQUFLO0NBQUE7QUFDN0MsSUFBQywwQkFBQSxDQUFBLElBQUEifQ==
@@ -0,0 +1,115 @@
1
+ //#region src/application/logging/logLevel.ts
2
+ /**
3
+ * Console log-level gate shared by every package's Logger.
4
+ *
5
+ * Debug and info are muted by default: a single merchant page load produces
6
+ * ~950 debug lines (the bulk of them from featureFlagService checking gates on
7
+ * every render), which is unusable noise on a customer's site.
8
+ *
9
+ * To turn logging back on, in priority order:
10
+ *
11
+ * 1. Query param — `?envive_log_level=debug`
12
+ * The support lever. Wins over everything else so logging can always be
13
+ * re-enabled on a live merchant page, even if the embedding page pinned a
14
+ * level at bootstrap. The chosen level is persisted to localStorage so it
15
+ * survives navigation (a support session spans more than one page view);
16
+ * clear it with `?envive_log_level=warn` or by removing the stored key.
17
+ *
18
+ * 2. `setLogLevel('debug')` — programmatic, e.g. bootstrap code or tests.
19
+ *
20
+ * 3. `window._envive.logLevel = 'debug'` (or `window._spiffy.logLevel`)
21
+ * Read on every call, so it can be flipped from the browser console
22
+ * mid-session without a reload.
23
+ *
24
+ * 4. `localStorage['envive-log-level']` — sticky per browser.
25
+ *
26
+ * 5. Default: 'warn'.
27
+ *
28
+ * Levels, least to most verbose: silent < error < warn < info < debug.
29
+ * A message emits when its own level is at or below the resolved level, so
30
+ * 'silent' mutes everything including errors.
31
+ *
32
+ * Kept free of React imports (like featureFlagService): the injection bundle
33
+ * logs from its pre-config code path, before it decides whether to load the
34
+ * React app, and pulling React in here would put it on the eager chunk.
35
+ */
36
+ const LOG_LEVELS = [
37
+ "silent",
38
+ "error",
39
+ "warn",
40
+ "info",
41
+ "debug"
42
+ ];
43
+ const LEVEL_SEVERITY = {
44
+ silent: 0,
45
+ error: 1,
46
+ warn: 2,
47
+ info: 3,
48
+ debug: 4
49
+ };
50
+ const DEFAULT_LOG_LEVEL = "warn";
51
+ const LOG_LEVEL_QUERY_PARAM = "envive_log_level";
52
+ const LOG_LEVEL_STORAGE_KEY = "envive-log-level";
53
+ const asLogLevel = (value) => {
54
+ if (typeof value !== "string") return;
55
+ const normalized = value.toLowerCase();
56
+ return LOG_LEVELS.includes(normalized) ? normalized : void 0;
57
+ };
58
+ let programmaticLevel;
59
+ let cachedQueryLevel;
60
+ let cachedStoredLevel;
61
+ const storeLevel = (level) => {
62
+ if (typeof window === "undefined" || typeof window.localStorage === "undefined") return;
63
+ try {
64
+ window.localStorage.setItem(LOG_LEVEL_STORAGE_KEY, level);
65
+ } catch {}
66
+ };
67
+ const readQueryLevel = () => {
68
+ if (typeof window === "undefined") return;
69
+ const url = window.location?.href ?? "";
70
+ if (!url.includes("?")) return;
71
+ try {
72
+ return asLogLevel(new URLSearchParams(new URL(url).search).get(LOG_LEVEL_QUERY_PARAM));
73
+ } catch {
74
+ return;
75
+ }
76
+ };
77
+ const queryLevel = () => {
78
+ if (cachedQueryLevel === void 0) {
79
+ const level = readQueryLevel();
80
+ if (level) storeLevel(level);
81
+ cachedQueryLevel = level ?? null;
82
+ }
83
+ return cachedQueryLevel ?? void 0;
84
+ };
85
+ const storedLevel = () => {
86
+ if (cachedStoredLevel === void 0) {
87
+ let level;
88
+ if (typeof window !== "undefined" && typeof window.localStorage !== "undefined") try {
89
+ level = asLogLevel(window.localStorage.getItem(LOG_LEVEL_STORAGE_KEY));
90
+ } catch {
91
+ level = void 0;
92
+ }
93
+ cachedStoredLevel = level ?? null;
94
+ }
95
+ return cachedStoredLevel ?? void 0;
96
+ };
97
+ const windowLevel = () => {
98
+ if (typeof window === "undefined") return;
99
+ const windowOverride = window;
100
+ return asLogLevel(windowOverride._envive?.logLevel ?? windowOverride._spiffy?.logLevel);
101
+ };
102
+ const getLogLevel = () => queryLevel() ?? programmaticLevel ?? windowLevel() ?? storedLevel() ?? DEFAULT_LOG_LEVEL;
103
+ const setLogLevel = (level) => {
104
+ programmaticLevel = level;
105
+ };
106
+ const isLevelEnabled = (level) => LEVEL_SEVERITY[getLogLevel()] >= LEVEL_SEVERITY[level];
107
+ const resetLogLevelForTesting = () => {
108
+ programmaticLevel = void 0;
109
+ cachedQueryLevel = void 0;
110
+ cachedStoredLevel = void 0;
111
+ };
112
+
113
+ //#endregion
114
+ export { DEFAULT_LOG_LEVEL, LOG_LEVELS, LOG_LEVEL_QUERY_PARAM, LOG_LEVEL_STORAGE_KEY, getLogLevel, isLevelEnabled, resetLogLevelForTesting, setLogLevel };
115
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nTGV2ZWwuanMiLCJuYW1lcyI6WyJMRVZFTF9TRVZFUklUWTogUmVjb3JkPExvZ0xldmVsLCBudW1iZXI+IiwiREVGQVVMVF9MT0dfTEVWRUw6IExvZ0xldmVsIiwicHJvZ3JhbW1hdGljTGV2ZWw6IExvZ0xldmVsIHwgdW5kZWZpbmVkIiwiY2FjaGVkUXVlcnlMZXZlbDogTG9nTGV2ZWwgfCBudWxsIHwgdW5kZWZpbmVkIiwiY2FjaGVkU3RvcmVkTGV2ZWw6IExvZ0xldmVsIHwgbnVsbCB8IHVuZGVmaW5lZCIsImxldmVsOiBMb2dMZXZlbCB8IHVuZGVmaW5lZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ0xldmVsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29uc29sZSBsb2ctbGV2ZWwgZ2F0ZSBzaGFyZWQgYnkgZXZlcnkgcGFja2FnZSdzIExvZ2dlci5cbiAqXG4gKiBEZWJ1ZyBhbmQgaW5mbyBhcmUgbXV0ZWQgYnkgZGVmYXVsdDogYSBzaW5nbGUgbWVyY2hhbnQgcGFnZSBsb2FkIHByb2R1Y2VzXG4gKiB+OTUwIGRlYnVnIGxpbmVzICh0aGUgYnVsayBvZiB0aGVtIGZyb20gZmVhdHVyZUZsYWdTZXJ2aWNlIGNoZWNraW5nIGdhdGVzIG9uXG4gKiBldmVyeSByZW5kZXIpLCB3aGljaCBpcyB1bnVzYWJsZSBub2lzZSBvbiBhIGN1c3RvbWVyJ3Mgc2l0ZS5cbiAqXG4gKiBUbyB0dXJuIGxvZ2dpbmcgYmFjayBvbiwgaW4gcHJpb3JpdHkgb3JkZXI6XG4gKlxuICogICAxLiBRdWVyeSBwYXJhbSDigJQgYD9lbnZpdmVfbG9nX2xldmVsPWRlYnVnYFxuICogICAgICBUaGUgc3VwcG9ydCBsZXZlci4gV2lucyBvdmVyIGV2ZXJ5dGhpbmcgZWxzZSBzbyBsb2dnaW5nIGNhbiBhbHdheXMgYmVcbiAqICAgICAgcmUtZW5hYmxlZCBvbiBhIGxpdmUgbWVyY2hhbnQgcGFnZSwgZXZlbiBpZiB0aGUgZW1iZWRkaW5nIHBhZ2UgcGlubmVkIGFcbiAqICAgICAgbGV2ZWwgYXQgYm9vdHN0cmFwLiBUaGUgY2hvc2VuIGxldmVsIGlzIHBlcnNpc3RlZCB0byBsb2NhbFN0b3JhZ2Ugc28gaXRcbiAqICAgICAgc3Vydml2ZXMgbmF2aWdhdGlvbiAoYSBzdXBwb3J0IHNlc3Npb24gc3BhbnMgbW9yZSB0aGFuIG9uZSBwYWdlIHZpZXcpO1xuICogICAgICBjbGVhciBpdCB3aXRoIGA/ZW52aXZlX2xvZ19sZXZlbD13YXJuYCBvciBieSByZW1vdmluZyB0aGUgc3RvcmVkIGtleS5cbiAqXG4gKiAgIDIuIGBzZXRMb2dMZXZlbCgnZGVidWcnKWAg4oCUIHByb2dyYW1tYXRpYywgZS5nLiBib290c3RyYXAgY29kZSBvciB0ZXN0cy5cbiAqXG4gKiAgIDMuIGB3aW5kb3cuX2Vudml2ZS5sb2dMZXZlbCA9ICdkZWJ1ZydgIChvciBgd2luZG93Ll9zcGlmZnkubG9nTGV2ZWxgKVxuICogICAgICBSZWFkIG9uIGV2ZXJ5IGNhbGwsIHNvIGl0IGNhbiBiZSBmbGlwcGVkIGZyb20gdGhlIGJyb3dzZXIgY29uc29sZVxuICogICAgICBtaWQtc2Vzc2lvbiB3aXRob3V0IGEgcmVsb2FkLlxuICpcbiAqICAgNC4gYGxvY2FsU3RvcmFnZVsnZW52aXZlLWxvZy1sZXZlbCddYCDigJQgc3RpY2t5IHBlciBicm93c2VyLlxuICpcbiAqICAgNS4gRGVmYXVsdDogJ3dhcm4nLlxuICpcbiAqIExldmVscywgbGVhc3QgdG8gbW9zdCB2ZXJib3NlOiBzaWxlbnQgPCBlcnJvciA8IHdhcm4gPCBpbmZvIDwgZGVidWcuXG4gKiBBIG1lc3NhZ2UgZW1pdHMgd2hlbiBpdHMgb3duIGxldmVsIGlzIGF0IG9yIGJlbG93IHRoZSByZXNvbHZlZCBsZXZlbCwgc29cbiAqICdzaWxlbnQnIG11dGVzIGV2ZXJ5dGhpbmcgaW5jbHVkaW5nIGVycm9ycy5cbiAqXG4gKiBLZXB0IGZyZWUgb2YgUmVhY3QgaW1wb3J0cyAobGlrZSBmZWF0dXJlRmxhZ1NlcnZpY2UpOiB0aGUgaW5qZWN0aW9uIGJ1bmRsZVxuICogbG9ncyBmcm9tIGl0cyBwcmUtY29uZmlnIGNvZGUgcGF0aCwgYmVmb3JlIGl0IGRlY2lkZXMgd2hldGhlciB0byBsb2FkIHRoZVxuICogUmVhY3QgYXBwLCBhbmQgcHVsbGluZyBSZWFjdCBpbiBoZXJlIHdvdWxkIHB1dCBpdCBvbiB0aGUgZWFnZXIgY2h1bmsuXG4gKi9cblxuZXhwb3J0IGNvbnN0IExPR19MRVZFTFMgPSBbJ3NpbGVudCcsICdlcnJvcicsICd3YXJuJywgJ2luZm8nLCAnZGVidWcnXSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgTG9nTGV2ZWwgPSAodHlwZW9mIExPR19MRVZFTFMpW251bWJlcl07XG5cbmNvbnN0IExFVkVMX1NFVkVSSVRZOiBSZWNvcmQ8TG9nTGV2ZWwsIG51bWJlcj4gPSB7XG4gIHNpbGVudDogMCxcbiAgZXJyb3I6IDEsXG4gIHdhcm46IDIsXG4gIGluZm86IDMsXG4gIGRlYnVnOiA0LFxufTtcblxuLyogRXJyb3JzIGFuZCB3YXJuaW5ncyBvbmx5LiBsb2dEZWJ1Zy9sb2dJbmZvIG1ha2UgdXAgdGhlIGJ1bGsgb2YgdGhlIGNhbGwgc2l0ZXNcbiAqIGluIHRoaXMgcmVwbyBhbmQgdXNlZCB0byBwcmludCBvbiBldmVyeSBtZXJjaGFudCBwYWdlIGxvYWQuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9MT0dfTEVWRUw6IExvZ0xldmVsID0gJ3dhcm4nO1xuXG5leHBvcnQgY29uc3QgTE9HX0xFVkVMX1FVRVJZX1BBUkFNID0gJ2Vudml2ZV9sb2dfbGV2ZWwnO1xuZXhwb3J0IGNvbnN0IExPR19MRVZFTF9TVE9SQUdFX0tFWSA9ICdlbnZpdmUtbG9nLWxldmVsJztcblxuY29uc3QgYXNMb2dMZXZlbCA9ICh2YWx1ZTogdW5rbm93bik6IExvZ0xldmVsIHwgdW5kZWZpbmVkID0+IHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSB2YWx1ZS50b0xvd2VyQ2FzZSgpO1xuICByZXR1cm4gKExPR19MRVZFTFMgYXMgcmVhZG9ubHkgc3RyaW5nW10pLmluY2x1ZGVzKG5vcm1hbGl6ZWQpXG4gICAgPyAobm9ybWFsaXplZCBhcyBMb2dMZXZlbClcbiAgICA6IHVuZGVmaW5lZDtcbn07XG5cbi8qIFNldCBieSBzZXRMb2dMZXZlbCgpLiBPdmVycmlkZXMgd2luZG93L3N0b3JlZC9kZWZhdWx0LCBidXQgZGVsaWJlcmF0ZWx5IG5vdFxuICogdGhlIHF1ZXJ5IHBhcmFtLCBzbyBzdXBwb3J0IGNhbiBhbHdheXMgdHVybiBsb2dnaW5nIGJhY2sgb24gaW4gYSBsaXZlIHNlc3Npb25cbiAqIGV2ZW4gaWYgdGhlIGVtYmVkZGluZyBwYWdlIHBpbm5lZCBhIGxldmVsIGF0IGJvb3RzdHJhcC4gKi9cbmxldCBwcm9ncmFtbWF0aWNMZXZlbDogTG9nTGV2ZWwgfCB1bmRlZmluZWQ7XG5cbi8qIFRoZSBxdWVyeSBwYXJhbSBhbmQgbG9jYWxTdG9yYWdlIGNhbm5vdCBjaGFuZ2Ugd2l0aG91dCBhIG5hdmlnYXRpb24sIHNvIGJvdGhcbiAqIGFyZSByZWFkIG9uY2UuIGB1bmRlZmluZWRgIG1lYW5zIFwibm90IHJlc29sdmVkIHlldFwiIGFuZCBgbnVsbGAgY2FjaGVzIGEgbWlzcyxcbiAqIGtlZXBpbmcgcmVwZWF0IGxvb2t1cHMgb2ZmIHRoZSBsb2dnaW5nIGhvdCBwYXRoLiAqL1xubGV0IGNhY2hlZFF1ZXJ5TGV2ZWw6IExvZ0xldmVsIHwgbnVsbCB8IHVuZGVmaW5lZDtcbmxldCBjYWNoZWRTdG9yZWRMZXZlbDogTG9nTGV2ZWwgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4vKiBQZXJzaXN0cyB0aGUgbGV2ZWwgc28gaXQgc3Vydml2ZXMgbmF2aWdhdGlvbiDigJQgYSBzdXBwb3J0IHNlc3Npb24gc3BhbnMgbW9yZVxuICogdGhhbiBvbmUgcGFnZSB2aWV3LiAqL1xuY29uc3Qgc3RvcmVMZXZlbCA9IChsZXZlbDogTG9nTGV2ZWwpOiB2b2lkID0+IHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnIHx8IHR5cGVvZiB3aW5kb3cubG9jYWxTdG9yYWdlID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybjtcbiAgfVxuICB0cnkge1xuICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShMT0dfTEVWRUxfU1RPUkFHRV9LRVksIGxldmVsKTtcbiAgfSBjYXRjaCB7XG4gICAgLy8gU3RvcmFnZSBjYW4gYmUgZnVsbCBvciBibG9ja2VkOyB0aGUgbGV2ZWwgc3RpbGwgYXBwbGllcyB0byB0aGlzIHBhZ2UuXG4gIH1cbn07XG5cbmNvbnN0IHJlYWRRdWVyeUxldmVsID0gKCk6IExvZ0xldmVsIHwgdW5kZWZpbmVkID0+IHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCB1cmwgPSB3aW5kb3cubG9jYXRpb24/LmhyZWYgPz8gJyc7XG4gIGlmICghdXJsLmluY2x1ZGVzKCc/JykpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhuZXcgVVJMKHVybCkuc2VhcmNoKTtcbiAgICByZXR1cm4gYXNMb2dMZXZlbChwYXJhbXMuZ2V0KExPR19MRVZFTF9RVUVSWV9QQVJBTSkpO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59O1xuXG5jb25zdCBxdWVyeUxldmVsID0gKCk6IExvZ0xldmVsIHwgdW5kZWZpbmVkID0+IHtcbiAgaWYgKGNhY2hlZFF1ZXJ5TGV2ZWwgPT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGxldmVsID0gcmVhZFF1ZXJ5TGV2ZWwoKTtcbiAgICBpZiAobGV2ZWwpIHtcbiAgICAgIHN0b3JlTGV2ZWwobGV2ZWwpO1xuICAgIH1cbiAgICBjYWNoZWRRdWVyeUxldmVsID0gbGV2ZWwgPz8gbnVsbDtcbiAgfVxuICByZXR1cm4gY2FjaGVkUXVlcnlMZXZlbCA/PyB1bmRlZmluZWQ7XG59O1xuXG5jb25zdCBzdG9yZWRMZXZlbCA9ICgpOiBMb2dMZXZlbCB8IHVuZGVmaW5lZCA9PiB7XG4gIGlmIChjYWNoZWRTdG9yZWRMZXZlbCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgbGV0IGxldmVsOiBMb2dMZXZlbCB8IHVuZGVmaW5lZDtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIHdpbmRvdy5sb2NhbFN0b3JhZ2UgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB0cnkge1xuICAgICAgICBsZXZlbCA9IGFzTG9nTGV2ZWwod2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKExPR19MRVZFTF9TVE9SQUdFX0tFWSkpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIGxldmVsID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH1cbiAgICBjYWNoZWRTdG9yZWRMZXZlbCA9IGxldmVsID8/IG51bGw7XG4gIH1cbiAgcmV0dXJuIGNhY2hlZFN0b3JlZExldmVsID8/IHVuZGVmaW5lZDtcbn07XG5cbi8qIFJlYWQgb24gZXZlcnkgY2FsbCwgc28gaXQgY2FuIGJlIGZsaXBwZWQgZnJvbSB0aGUgYnJvd3NlciBjb25zb2xlIG1pZC1zZXNzaW9uXG4gKiB3aXRob3V0IGEgcmVsb2FkLiAqL1xuY29uc3Qgd2luZG93TGV2ZWwgPSAoKTogTG9nTGV2ZWwgfCB1bmRlZmluZWQgPT4ge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGNvbnN0IHdpbmRvd092ZXJyaWRlID0gd2luZG93IGFzIFdpbmRvdyAmIHtcbiAgICBfZW52aXZlPzogeyBsb2dMZXZlbD86IHN0cmluZyB9O1xuICAgIF9zcGlmZnk/OiB7IGxvZ0xldmVsPzogc3RyaW5nIH07XG4gIH07XG4gIHJldHVybiBhc0xvZ0xldmVsKHdpbmRvd092ZXJyaWRlLl9lbnZpdmU/LmxvZ0xldmVsID8/IHdpbmRvd092ZXJyaWRlLl9zcGlmZnk/LmxvZ0xldmVsKTtcbn07XG5cbi8qIFJlc29sdXRpb24gb3JkZXIgbWlycm9ycyBmZWF0dXJlRmxhZ1NlcnZpY2UncyBvdmVycmlkZSBjaGFpbjogcXVlcnkgcGFyYW0gPlxuICogc2V0TG9nTGV2ZWwoKSA+IHdpbmRvdy5fZW52aXZlLmxvZ0xldmVsID4gbG9jYWxTdG9yYWdlID4gZGVmYXVsdC4gKi9cbmV4cG9ydCBjb25zdCBnZXRMb2dMZXZlbCA9ICgpOiBMb2dMZXZlbCA9PlxuICBxdWVyeUxldmVsKCkgPz8gcHJvZ3JhbW1hdGljTGV2ZWwgPz8gd2luZG93TGV2ZWwoKSA/PyBzdG9yZWRMZXZlbCgpID8/IERFRkFVTFRfTE9HX0xFVkVMO1xuXG4vKiBQYXNzIHVuZGVmaW5lZCB0byBjbGVhciB0aGUgb3ZlcnJpZGUgYW5kIGZhbGwgYmFjayB0byB0aGUgbGV2ZXJzIGFib3ZlLiAqL1xuZXhwb3J0IGNvbnN0IHNldExvZ0xldmVsID0gKGxldmVsOiBMb2dMZXZlbCB8IHVuZGVmaW5lZCk6IHZvaWQgPT4ge1xuICBwcm9ncmFtbWF0aWNMZXZlbCA9IGxldmVsO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzTGV2ZWxFbmFibGVkID0gKGxldmVsOiBFeGNsdWRlPExvZ0xldmVsLCAnc2lsZW50Jz4pOiBib29sZWFuID0+XG4gIExFVkVMX1NFVkVSSVRZW2dldExvZ0xldmVsKCldID49IExFVkVMX1NFVkVSSVRZW2xldmVsXTtcblxuLyogVGVzdCBzZWFtOiBkcm9wcyB0aGUgbWVtb2l6ZWQgcXVlcnktcGFyYW0gYW5kIGxvY2FsU3RvcmFnZSByZXNvbHV0aW9uLiAqL1xuZXhwb3J0IGNvbnN0IHJlc2V0TG9nTGV2ZWxGb3JUZXN0aW5nID0gKCk6IHZvaWQgPT4ge1xuICBwcm9ncmFtbWF0aWNMZXZlbCA9IHVuZGVmaW5lZDtcbiAgY2FjaGVkUXVlcnlMZXZlbCA9IHVuZGVmaW5lZDtcbiAgY2FjaGVkU3RvcmVkTGV2ZWwgPSB1bmRlZmluZWQ7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW1DQSxNQUFhLGFBQWE7Q0FBQztDQUFVO0NBQVM7Q0FBUTtDQUFRO0NBQVE7QUFJdEUsTUFBTUEsaUJBQTJDO0NBQy9DLFFBQVE7Q0FDUixPQUFPO0NBQ1AsTUFBTTtDQUNOLE1BQU07Q0FDTixPQUFPO0NBQ1I7QUFJRCxNQUFhQyxvQkFBOEI7QUFFM0MsTUFBYSx3QkFBd0I7QUFDckMsTUFBYSx3QkFBd0I7QUFFckMsTUFBTSxjQUFjLFVBQXlDO0FBQzNELEtBQUksT0FBTyxVQUFVLFNBQ25CO0NBRUYsTUFBTSxhQUFhLE1BQU0sYUFBYTtBQUN0QyxRQUFRLFdBQWlDLFNBQVMsV0FBVyxHQUN4RCxhQUNEOztBQU1OLElBQUlDO0FBS0osSUFBSUM7QUFDSixJQUFJQztBQUlKLE1BQU0sY0FBYyxVQUEwQjtBQUM1QyxLQUFJLE9BQU8sV0FBVyxlQUFlLE9BQU8sT0FBTyxpQkFBaUIsWUFDbEU7QUFFRixLQUFJO0FBQ0YsU0FBTyxhQUFhLFFBQVEsdUJBQXVCLE1BQU07U0FDbkQ7O0FBS1YsTUFBTSx1QkFBNkM7QUFDakQsS0FBSSxPQUFPLFdBQVcsWUFDcEI7Q0FFRixNQUFNLE1BQU0sT0FBTyxVQUFVLFFBQVE7QUFDckMsS0FBSSxDQUFDLElBQUksU0FBUyxJQUFJLENBQ3BCO0FBRUYsS0FBSTtBQUVGLFNBQU8sV0FEUSxJQUFJLGdCQUFnQixJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FDOUIsSUFBSSxzQkFBc0IsQ0FBQztTQUM5QztBQUNOOzs7QUFJSixNQUFNLG1CQUF5QztBQUM3QyxLQUFJLHFCQUFxQixRQUFXO0VBQ2xDLE1BQU0sUUFBUSxnQkFBZ0I7QUFDOUIsTUFBSSxNQUNGLFlBQVcsTUFBTTtBQUVuQixxQkFBbUIsU0FBUzs7QUFFOUIsUUFBTyxvQkFBb0I7O0FBRzdCLE1BQU0sb0JBQTBDO0FBQzlDLEtBQUksc0JBQXNCLFFBQVc7RUFDbkMsSUFBSUM7QUFDSixNQUFJLE9BQU8sV0FBVyxlQUFlLE9BQU8sT0FBTyxpQkFBaUIsWUFDbEUsS0FBSTtBQUNGLFdBQVEsV0FBVyxPQUFPLGFBQWEsUUFBUSxzQkFBc0IsQ0FBQztVQUNoRTtBQUNOLFdBQVE7O0FBR1osc0JBQW9CLFNBQVM7O0FBRS9CLFFBQU8scUJBQXFCOztBQUs5QixNQUFNLG9CQUEwQztBQUM5QyxLQUFJLE9BQU8sV0FBVyxZQUNwQjtDQUVGLE1BQU0saUJBQWlCO0FBSXZCLFFBQU8sV0FBVyxlQUFlLFNBQVMsWUFBWSxlQUFlLFNBQVMsU0FBUzs7QUFLekYsTUFBYSxvQkFDWCxZQUFZLElBQUkscUJBQXFCLGFBQWEsSUFBSSxhQUFhLElBQUk7QUFHekUsTUFBYSxlQUFlLFVBQXNDO0FBQ2hFLHFCQUFvQjs7QUFHdEIsTUFBYSxrQkFBa0IsVUFDN0IsZUFBZSxhQUFhLEtBQUssZUFBZTtBQUdsRCxNQUFhLGdDQUFzQztBQUNqRCxxQkFBb0I7QUFDcEIsb0JBQW1CO0FBQ25CLHFCQUFvQiJ9
@@ -1,3 +1,4 @@
1
+ const require_logLevel = require('./logLevel.cjs');
1
2
 
2
3
  //#region src/application/logging/logger.ts
3
4
  var Logger = class Logger {
@@ -8,15 +9,19 @@ var Logger = class Logger {
8
9
  return (/* @__PURE__ */ new Date()).toISOString();
9
10
  }
10
11
  logInfo(message, ...args) {
12
+ if (!require_logLevel.isLevelEnabled("info")) return;
11
13
  console.info(`INFO: [envive-ai] ${Logger.getTimestamp()} - ${this.caller} - ${message}`, ...args);
12
14
  }
13
15
  logDebug(message, ...args) {
16
+ if (!require_logLevel.isLevelEnabled("debug")) return;
14
17
  console.debug(`DEBUG: [envive-ai] ${Logger.getTimestamp()} - ${this.caller} - ${message}`, ...args);
15
18
  }
16
19
  logError(message, error, ...args) {
20
+ if (!require_logLevel.isLevelEnabled("error")) return;
17
21
  console.error(`ERROR: [envive-ai] ${Logger.getTimestamp()} - ${this.caller} - ${message} error=${error}`, args);
18
22
  }
19
23
  logWarn(message, error, ...args) {
24
+ if (!require_logLevel.isLevelEnabled("warn")) return;
20
25
  console.warn(`WARN: [envive-ai] ${Logger.getTimestamp()} - ${this.caller} - ${message} error=${error}`, args);
21
26
  }
22
27
  };
@@ -24,4 +29,4 @@ var logger_default = Logger;
24
29
 
25
30
  //#endregion
26
31
  exports.default = logger_default;
27
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmNqcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuXG5jbGFzcyBMb2dnZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IGNhbGxlcjogc3RyaW5nO1xuXG4gIC8qIENyZWF0ZXMgYSBuZXcgTG9nZ2VyIGluc3RhbmNlLlxuICAgKiBAcGFyYW0gY2FsbGVyIC0gVGhlIGNhbGxlciBvZiB0aGUgbG9nZ2VyLlxuICAgKi9cbiAgY29uc3RydWN0b3IoY2FsbGVyOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNhbGxlciA9IGNhbGxlcjtcbiAgfVxuXG4gIHN0YXRpYyBnZXRUaW1lc3RhbXAoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbmV3IERhdGUoKS50b0lTT1N0cmluZygpO1xuICB9XG5cbiAgbG9nSW5mbyhtZXNzYWdlOiBzdHJpbmcsIC4uLmFyZ3M6IHVua25vd25bXSk6IHZvaWQge1xuICAgIGNvbnNvbGUuaW5mbyhcbiAgICAgIGBJTkZPOiBbZW52aXZlLWFpXSAke0xvZ2dlci5nZXRUaW1lc3RhbXAoKX0gLSAke3RoaXMuY2FsbGVyfSAtICR7bWVzc2FnZX1gLFxuICAgICAgLi4uYXJncyxcbiAgICApO1xuICB9XG5cbiAgbG9nRGVidWcobWVzc2FnZTogc3RyaW5nLCAuLi5hcmdzOiB1bmtub3duW10pOiB2b2lkIHtcbiAgICBjb25zb2xlLmRlYnVnKFxuICAgICAgYERFQlVHOiBbZW52aXZlLWFpXSAke0xvZ2dlci5nZXRUaW1lc3RhbXAoKX0gLSAke3RoaXMuY2FsbGVyfSAtICR7bWVzc2FnZX1gLFxuICAgICAgLi4uYXJncyxcbiAgICApO1xuICB9XG5cbiAgbG9nRXJyb3IobWVzc2FnZTogc3RyaW5nLCBlcnJvcjogdW5rbm93biB8IHVuZGVmaW5lZCwgLi4uYXJnczogdW5rbm93bltdKTogdm9pZCB7XG4gICAgY29uc29sZS5lcnJvcihcbiAgICAgIGBFUlJPUjogW2Vudml2ZS1haV0gJHtMb2dnZXIuZ2V0VGltZXN0YW1wKCl9IC0gJHt0aGlzLmNhbGxlcn0gLSAke21lc3NhZ2V9IGVycm9yPSR7ZXJyb3J9YCxcbiAgICAgIGFyZ3MsXG4gICAgKTtcbiAgfVxuXG4gIGxvZ1dhcm4obWVzc2FnZTogc3RyaW5nLCBlcnJvcjogdW5rbm93biB8IHVuZGVmaW5lZCwgLi4uYXJnczogdW5rbm93bltdKTogdm9pZCB7XG4gICAgY29uc29sZS53YXJuKFxuICAgICAgYFdBUk46IFtlbnZpdmUtYWldICR7TG9nZ2VyLmdldFRpbWVzdGFtcCgpfSAtICR7dGhpcy5jYWxsZXJ9IC0gJHttZXNzYWdlfSBlcnJvcj0ke2Vycm9yfWAsXG4gICAgICBhcmdzLFxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTG9nZ2VyO1xuIl0sIm1hcHBpbmdzIjoiOztBQUVBLElBQU0sU0FBTixNQUFNLE9BQU87Q0FNWCxZQUFZLFFBQWdCO0FBQzFCLE9BQUssU0FBUzs7Q0FHaEIsT0FBTyxlQUF1QjtBQUM1QiwwQkFBTyxJQUFJLE1BQU0sRUFBQyxhQUFhOztDQUdqQyxRQUFRLFNBQWlCLEdBQUcsTUFBdUI7QUFDakQsVUFBUSxLQUNOLHFCQUFxQixPQUFPLGNBQWMsQ0FBQyxLQUFLLEtBQUssT0FBTyxLQUFLLFdBQ2pFLEdBQUcsS0FDSjs7Q0FHSCxTQUFTLFNBQWlCLEdBQUcsTUFBdUI7QUFDbEQsVUFBUSxNQUNOLHNCQUFzQixPQUFPLGNBQWMsQ0FBQyxLQUFLLEtBQUssT0FBTyxLQUFLLFdBQ2xFLEdBQUcsS0FDSjs7Q0FHSCxTQUFTLFNBQWlCLE9BQTRCLEdBQUcsTUFBdUI7QUFDOUUsVUFBUSxNQUNOLHNCQUFzQixPQUFPLGNBQWMsQ0FBQyxLQUFLLEtBQUssT0FBTyxLQUFLLFFBQVEsU0FBUyxTQUNuRixLQUNEOztDQUdILFFBQVEsU0FBaUIsT0FBNEIsR0FBRyxNQUF1QjtBQUM3RSxVQUFRLEtBQ04scUJBQXFCLE9BQU8sY0FBYyxDQUFDLEtBQUssS0FBSyxPQUFPLEtBQUssUUFBUSxTQUFTLFNBQ2xGLEtBQ0Q7OztBQUlMLHFCQUFlIn0=
32
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmNqcyIsIm5hbWVzIjpbImlzTGV2ZWxFbmFibGVkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCB7IGlzTGV2ZWxFbmFibGVkIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nTGV2ZWwnO1xuXG5jbGFzcyBMb2dnZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IGNhbGxlcjogc3RyaW5nO1xuXG4gIC8qIENyZWF0ZXMgYSBuZXcgTG9nZ2VyIGluc3RhbmNlLlxuICAgKiBAcGFyYW0gY2FsbGVyIC0gVGhlIGNhbGxlciBvZiB0aGUgbG9nZ2VyLlxuICAgKi9cbiAgY29uc3RydWN0b3IoY2FsbGVyOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNhbGxlciA9IGNhbGxlcjtcbiAgfVxuXG4gIHN0YXRpYyBnZXRUaW1lc3RhbXAoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbmV3IERhdGUoKS50b0lTT1N0cmluZygpO1xuICB9XG5cbiAgbG9nSW5mbyhtZXNzYWdlOiBzdHJpbmcsIC4uLmFyZ3M6IHVua25vd25bXSk6IHZvaWQge1xuICAgIGlmICghaXNMZXZlbEVuYWJsZWQoJ2luZm8nKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zb2xlLmluZm8oXG4gICAgICBgSU5GTzogW2Vudml2ZS1haV0gJHtMb2dnZXIuZ2V0VGltZXN0YW1wKCl9IC0gJHt0aGlzLmNhbGxlcn0gLSAke21lc3NhZ2V9YCxcbiAgICAgIC4uLmFyZ3MsXG4gICAgKTtcbiAgfVxuXG4gIGxvZ0RlYnVnKG1lc3NhZ2U6IHN0cmluZywgLi4uYXJnczogdW5rbm93bltdKTogdm9pZCB7XG4gICAgaWYgKCFpc0xldmVsRW5hYmxlZCgnZGVidWcnKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zb2xlLmRlYnVnKFxuICAgICAgYERFQlVHOiBbZW52aXZlLWFpXSAke0xvZ2dlci5nZXRUaW1lc3RhbXAoKX0gLSAke3RoaXMuY2FsbGVyfSAtICR7bWVzc2FnZX1gLFxuICAgICAgLi4uYXJncyxcbiAgICApO1xuICB9XG5cbiAgbG9nRXJyb3IobWVzc2FnZTogc3RyaW5nLCBlcnJvcjogdW5rbm93biB8IHVuZGVmaW5lZCwgLi4uYXJnczogdW5rbm93bltdKTogdm9pZCB7XG4gICAgaWYgKCFpc0xldmVsRW5hYmxlZCgnZXJyb3InKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgYEVSUk9SOiBbZW52aXZlLWFpXSAke0xvZ2dlci5nZXRUaW1lc3RhbXAoKX0gLSAke3RoaXMuY2FsbGVyfSAtICR7bWVzc2FnZX0gZXJyb3I9JHtlcnJvcn1gLFxuICAgICAgYXJncyxcbiAgICApO1xuICB9XG5cbiAgbG9nV2FybihtZXNzYWdlOiBzdHJpbmcsIGVycm9yOiB1bmtub3duIHwgdW5kZWZpbmVkLCAuLi5hcmdzOiB1bmtub3duW10pOiB2b2lkIHtcbiAgICBpZiAoIWlzTGV2ZWxFbmFibGVkKCd3YXJuJykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc29sZS53YXJuKFxuICAgICAgYFdBUk46IFtlbnZpdmUtYWldICR7TG9nZ2VyLmdldFRpbWVzdGFtcCgpfSAtICR7dGhpcy5jYWxsZXJ9IC0gJHttZXNzYWdlfSBlcnJvcj0ke2Vycm9yfWAsXG4gICAgICBhcmdzLFxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTG9nZ2VyO1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFHQSxJQUFNLFNBQU4sTUFBTSxPQUFPO0NBTVgsWUFBWSxRQUFnQjtBQUMxQixPQUFLLFNBQVM7O0NBR2hCLE9BQU8sZUFBdUI7QUFDNUIsMEJBQU8sSUFBSSxNQUFNLEVBQUMsYUFBYTs7Q0FHakMsUUFBUSxTQUFpQixHQUFHLE1BQXVCO0FBQ2pELE1BQUksQ0FBQ0EsZ0NBQWUsT0FBTyxDQUN6QjtBQUVGLFVBQVEsS0FDTixxQkFBcUIsT0FBTyxjQUFjLENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxXQUNqRSxHQUFHLEtBQ0o7O0NBR0gsU0FBUyxTQUFpQixHQUFHLE1BQXVCO0FBQ2xELE1BQUksQ0FBQ0EsZ0NBQWUsUUFBUSxDQUMxQjtBQUVGLFVBQVEsTUFDTixzQkFBc0IsT0FBTyxjQUFjLENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxXQUNsRSxHQUFHLEtBQ0o7O0NBR0gsU0FBUyxTQUFpQixPQUE0QixHQUFHLE1BQXVCO0FBQzlFLE1BQUksQ0FBQ0EsZ0NBQWUsUUFBUSxDQUMxQjtBQUVGLFVBQVEsTUFDTixzQkFBc0IsT0FBTyxjQUFjLENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxRQUFRLFNBQVMsU0FDbkYsS0FDRDs7Q0FHSCxRQUFRLFNBQWlCLE9BQTRCLEdBQUcsTUFBdUI7QUFDN0UsTUFBSSxDQUFDQSxnQ0FBZSxPQUFPLENBQ3pCO0FBRUYsVUFBUSxLQUNOLHFCQUFxQixPQUFPLGNBQWMsQ0FBQyxLQUFLLEtBQUssT0FBTyxLQUFLLFFBQVEsU0FBUyxTQUNsRixLQUNEOzs7QUFJTCxxQkFBZSJ9
@@ -0,0 +1,13 @@
1
+ //#region src/application/logging/logger.d.ts
2
+ declare class Logger {
3
+ private readonly caller;
4
+ constructor(caller: string);
5
+ static getTimestamp(): string;
6
+ logInfo(message: string, ...args: unknown[]): void;
7
+ logDebug(message: string, ...args: unknown[]): void;
8
+ logError(message: string, error: unknown | undefined, ...args: unknown[]): void;
9
+ logWarn(message: string, error: unknown | undefined, ...args: unknown[]): void;
10
+ }
11
+ //#endregion
12
+ export { Logger };
13
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmQuY3RzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlci5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImRlY2xhcmUgY2xhc3MgTG9nZ2VyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhbGxlcjtcbiAgICBjb25zdHJ1Y3RvcihjYWxsZXI6IHN0cmluZyk7XG4gICAgc3RhdGljIGdldFRpbWVzdGFtcCgpOiBzdHJpbmc7XG4gICAgbG9nSW5mbyhtZXNzYWdlOiBzdHJpbmcsIC4uLmFyZ3M6IHVua25vd25bXSk6IHZvaWQ7XG4gICAgbG9nRGVidWcobWVzc2FnZTogc3RyaW5nLCAuLi5hcmdzOiB1bmtub3duW10pOiB2b2lkO1xuICAgIGxvZ0Vycm9yKG1lc3NhZ2U6IHN0cmluZywgZXJyb3I6IHVua25vd24gfCB1bmRlZmluZWQsIC4uLmFyZ3M6IHVua25vd25bXSk6IHZvaWQ7XG4gICAgbG9nV2FybihtZXNzYWdlOiBzdHJpbmcsIGVycm9yOiB1bmtub3duIHwgdW5kZWZpbmVkLCAuLi5hcmdzOiB1bmtub3duW10pOiB2b2lkO1xufVxuZXhwb3J0IGRlZmF1bHQgTG9nZ2VyO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUEsSUFBSSxTQUFTLENBQUMsSUFBSSJ9
@@ -0,0 +1,13 @@
1
+ //#region src/application/logging/logger.d.ts
2
+ declare class Logger {
3
+ private readonly caller;
4
+ constructor(caller: string);
5
+ static getTimestamp(): string;
6
+ logInfo(message: string, ...args: unknown[]): void;
7
+ logDebug(message: string, ...args: unknown[]): void;
8
+ logError(message: string, error: unknown | undefined, ...args: unknown[]): void;
9
+ logWarn(message: string, error: unknown | undefined, ...args: unknown[]): void;
10
+ }
11
+ //#endregion
12
+ export { Logger };
13
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmQudHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZGVjbGFyZSBjbGFzcyBMb2dnZXIge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FsbGVyO1xuICAgIGNvbnN0cnVjdG9yKGNhbGxlcjogc3RyaW5nKTtcbiAgICBzdGF0aWMgZ2V0VGltZXN0YW1wKCk6IHN0cmluZztcbiAgICBsb2dJbmZvKG1lc3NhZ2U6IHN0cmluZywgLi4uYXJnczogdW5rbm93bltdKTogdm9pZDtcbiAgICBsb2dEZWJ1ZyhtZXNzYWdlOiBzdHJpbmcsIC4uLmFyZ3M6IHVua25vd25bXSk6IHZvaWQ7XG4gICAgbG9nRXJyb3IobWVzc2FnZTogc3RyaW5nLCBlcnJvcjogdW5rbm93biB8IHVuZGVmaW5lZCwgLi4uYXJnczogdW5rbm93bltdKTogdm9pZDtcbiAgICBsb2dXYXJuKG1lc3NhZ2U6IHN0cmluZywgZXJyb3I6IHVua25vd24gfCB1bmRlZmluZWQsIC4uLmFyZ3M6IHVua25vd25bXSk6IHZvaWQ7XG59XG5leHBvcnQgZGVmYXVsdCBMb2dnZXI7XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFJLFNBQVMsQ0FBQyxJQUFJIn0=
@@ -1,3 +1,5 @@
1
+ import { isLevelEnabled } from "./logLevel.js";
2
+
1
3
  //#region src/application/logging/logger.ts
2
4
  var Logger = class Logger {
3
5
  constructor(caller) {
@@ -7,15 +9,19 @@ var Logger = class Logger {
7
9
  return (/* @__PURE__ */ new Date()).toISOString();
8
10
  }
9
11
  logInfo(message, ...args) {
12
+ if (!isLevelEnabled("info")) return;
10
13
  console.info(`INFO: [envive-ai] ${Logger.getTimestamp()} - ${this.caller} - ${message}`, ...args);
11
14
  }
12
15
  logDebug(message, ...args) {
16
+ if (!isLevelEnabled("debug")) return;
13
17
  console.debug(`DEBUG: [envive-ai] ${Logger.getTimestamp()} - ${this.caller} - ${message}`, ...args);
14
18
  }
15
19
  logError(message, error, ...args) {
20
+ if (!isLevelEnabled("error")) return;
16
21
  console.error(`ERROR: [envive-ai] ${Logger.getTimestamp()} - ${this.caller} - ${message} error=${error}`, args);
17
22
  }
18
23
  logWarn(message, error, ...args) {
24
+ if (!isLevelEnabled("warn")) return;
19
25
  console.warn(`WARN: [envive-ai] ${Logger.getTimestamp()} - ${this.caller} - ${message} error=${error}`, args);
20
26
  }
21
27
  };
@@ -23,4 +29,4 @@ var logger_default = Logger;
23
29
 
24
30
  //#endregion
25
31
  export { logger_default as default };
26
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5cbmNsYXNzIExvZ2dlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2FsbGVyOiBzdHJpbmc7XG5cbiAgLyogQ3JlYXRlcyBhIG5ldyBMb2dnZXIgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSBjYWxsZXIgLSBUaGUgY2FsbGVyIG9mIHRoZSBsb2dnZXIuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihjYWxsZXI6IHN0cmluZykge1xuICAgIHRoaXMuY2FsbGVyID0gY2FsbGVyO1xuICB9XG5cbiAgc3RhdGljIGdldFRpbWVzdGFtcCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCk7XG4gIH1cblxuICBsb2dJbmZvKG1lc3NhZ2U6IHN0cmluZywgLi4uYXJnczogdW5rbm93bltdKTogdm9pZCB7XG4gICAgY29uc29sZS5pbmZvKFxuICAgICAgYElORk86IFtlbnZpdmUtYWldICR7TG9nZ2VyLmdldFRpbWVzdGFtcCgpfSAtICR7dGhpcy5jYWxsZXJ9IC0gJHttZXNzYWdlfWAsXG4gICAgICAuLi5hcmdzLFxuICAgICk7XG4gIH1cblxuICBsb2dEZWJ1ZyhtZXNzYWdlOiBzdHJpbmcsIC4uLmFyZ3M6IHVua25vd25bXSk6IHZvaWQge1xuICAgIGNvbnNvbGUuZGVidWcoXG4gICAgICBgREVCVUc6IFtlbnZpdmUtYWldICR7TG9nZ2VyLmdldFRpbWVzdGFtcCgpfSAtICR7dGhpcy5jYWxsZXJ9IC0gJHttZXNzYWdlfWAsXG4gICAgICAuLi5hcmdzLFxuICAgICk7XG4gIH1cblxuICBsb2dFcnJvcihtZXNzYWdlOiBzdHJpbmcsIGVycm9yOiB1bmtub3duIHwgdW5kZWZpbmVkLCAuLi5hcmdzOiB1bmtub3duW10pOiB2b2lkIHtcbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgYEVSUk9SOiBbZW52aXZlLWFpXSAke0xvZ2dlci5nZXRUaW1lc3RhbXAoKX0gLSAke3RoaXMuY2FsbGVyfSAtICR7bWVzc2FnZX0gZXJyb3I9JHtlcnJvcn1gLFxuICAgICAgYXJncyxcbiAgICApO1xuICB9XG5cbiAgbG9nV2FybihtZXNzYWdlOiBzdHJpbmcsIGVycm9yOiB1bmtub3duIHwgdW5kZWZpbmVkLCAuLi5hcmdzOiB1bmtub3duW10pOiB2b2lkIHtcbiAgICBjb25zb2xlLndhcm4oXG4gICAgICBgV0FSTjogW2Vudml2ZS1haV0gJHtMb2dnZXIuZ2V0VGltZXN0YW1wKCl9IC0gJHt0aGlzLmNhbGxlcn0gLSAke21lc3NhZ2V9IGVycm9yPSR7ZXJyb3J9YCxcbiAgICAgIGFyZ3MsXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBMb2dnZXI7XG4iXSwibWFwcGluZ3MiOiI7QUFFQSxJQUFNLFNBQU4sTUFBTSxPQUFPO0NBTVgsWUFBWSxRQUFnQjtBQUMxQixPQUFLLFNBQVM7O0NBR2hCLE9BQU8sZUFBdUI7QUFDNUIsMEJBQU8sSUFBSSxNQUFNLEVBQUMsYUFBYTs7Q0FHakMsUUFBUSxTQUFpQixHQUFHLE1BQXVCO0FBQ2pELFVBQVEsS0FDTixxQkFBcUIsT0FBTyxjQUFjLENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxXQUNqRSxHQUFHLEtBQ0o7O0NBR0gsU0FBUyxTQUFpQixHQUFHLE1BQXVCO0FBQ2xELFVBQVEsTUFDTixzQkFBc0IsT0FBTyxjQUFjLENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxXQUNsRSxHQUFHLEtBQ0o7O0NBR0gsU0FBUyxTQUFpQixPQUE0QixHQUFHLE1BQXVCO0FBQzlFLFVBQVEsTUFDTixzQkFBc0IsT0FBTyxjQUFjLENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxRQUFRLFNBQVMsU0FDbkYsS0FDRDs7Q0FHSCxRQUFRLFNBQWlCLE9BQTRCLEdBQUcsTUFBdUI7QUFDN0UsVUFBUSxLQUNOLHFCQUFxQixPQUFPLGNBQWMsQ0FBQyxLQUFLLEtBQUssT0FBTyxLQUFLLFFBQVEsU0FBUyxTQUNsRixLQUNEOzs7QUFJTCxxQkFBZSJ9
32
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5pbXBvcnQgeyBpc0xldmVsRW5hYmxlZCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ0xldmVsJztcblxuY2xhc3MgTG9nZ2VyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjYWxsZXI6IHN0cmluZztcblxuICAvKiBDcmVhdGVzIGEgbmV3IExvZ2dlciBpbnN0YW5jZS5cbiAgICogQHBhcmFtIGNhbGxlciAtIFRoZSBjYWxsZXIgb2YgdGhlIGxvZ2dlci5cbiAgICovXG4gIGNvbnN0cnVjdG9yKGNhbGxlcjogc3RyaW5nKSB7XG4gICAgdGhpcy5jYWxsZXIgPSBjYWxsZXI7XG4gIH1cblxuICBzdGF0aWMgZ2V0VGltZXN0YW1wKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKTtcbiAgfVxuXG4gIGxvZ0luZm8obWVzc2FnZTogc3RyaW5nLCAuLi5hcmdzOiB1bmtub3duW10pOiB2b2lkIHtcbiAgICBpZiAoIWlzTGV2ZWxFbmFibGVkKCdpbmZvJykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc29sZS5pbmZvKFxuICAgICAgYElORk86IFtlbnZpdmUtYWldICR7TG9nZ2VyLmdldFRpbWVzdGFtcCgpfSAtICR7dGhpcy5jYWxsZXJ9IC0gJHttZXNzYWdlfWAsXG4gICAgICAuLi5hcmdzLFxuICAgICk7XG4gIH1cblxuICBsb2dEZWJ1ZyhtZXNzYWdlOiBzdHJpbmcsIC4uLmFyZ3M6IHVua25vd25bXSk6IHZvaWQge1xuICAgIGlmICghaXNMZXZlbEVuYWJsZWQoJ2RlYnVnJykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc29sZS5kZWJ1ZyhcbiAgICAgIGBERUJVRzogW2Vudml2ZS1haV0gJHtMb2dnZXIuZ2V0VGltZXN0YW1wKCl9IC0gJHt0aGlzLmNhbGxlcn0gLSAke21lc3NhZ2V9YCxcbiAgICAgIC4uLmFyZ3MsXG4gICAgKTtcbiAgfVxuXG4gIGxvZ0Vycm9yKG1lc3NhZ2U6IHN0cmluZywgZXJyb3I6IHVua25vd24gfCB1bmRlZmluZWQsIC4uLmFyZ3M6IHVua25vd25bXSk6IHZvaWQge1xuICAgIGlmICghaXNMZXZlbEVuYWJsZWQoJ2Vycm9yJykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc29sZS5lcnJvcihcbiAgICAgIGBFUlJPUjogW2Vudml2ZS1haV0gJHtMb2dnZXIuZ2V0VGltZXN0YW1wKCl9IC0gJHt0aGlzLmNhbGxlcn0gLSAke21lc3NhZ2V9IGVycm9yPSR7ZXJyb3J9YCxcbiAgICAgIGFyZ3MsXG4gICAgKTtcbiAgfVxuXG4gIGxvZ1dhcm4obWVzc2FnZTogc3RyaW5nLCBlcnJvcjogdW5rbm93biB8IHVuZGVmaW5lZCwgLi4uYXJnczogdW5rbm93bltdKTogdm9pZCB7XG4gICAgaWYgKCFpc0xldmVsRW5hYmxlZCgnd2FybicpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnNvbGUud2FybihcbiAgICAgIGBXQVJOOiBbZW52aXZlLWFpXSAke0xvZ2dlci5nZXRUaW1lc3RhbXAoKX0gLSAke3RoaXMuY2FsbGVyfSAtICR7bWVzc2FnZX0gZXJyb3I9JHtlcnJvcn1gLFxuICAgICAgYXJncyxcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IExvZ2dlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsSUFBTSxTQUFOLE1BQU0sT0FBTztDQU1YLFlBQVksUUFBZ0I7QUFDMUIsT0FBSyxTQUFTOztDQUdoQixPQUFPLGVBQXVCO0FBQzVCLDBCQUFPLElBQUksTUFBTSxFQUFDLGFBQWE7O0NBR2pDLFFBQVEsU0FBaUIsR0FBRyxNQUF1QjtBQUNqRCxNQUFJLENBQUMsZUFBZSxPQUFPLENBQ3pCO0FBRUYsVUFBUSxLQUNOLHFCQUFxQixPQUFPLGNBQWMsQ0FBQyxLQUFLLEtBQUssT0FBTyxLQUFLLFdBQ2pFLEdBQUcsS0FDSjs7Q0FHSCxTQUFTLFNBQWlCLEdBQUcsTUFBdUI7QUFDbEQsTUFBSSxDQUFDLGVBQWUsUUFBUSxDQUMxQjtBQUVGLFVBQVEsTUFDTixzQkFBc0IsT0FBTyxjQUFjLENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxXQUNsRSxHQUFHLEtBQ0o7O0NBR0gsU0FBUyxTQUFpQixPQUE0QixHQUFHLE1BQXVCO0FBQzlFLE1BQUksQ0FBQyxlQUFlLFFBQVEsQ0FDMUI7QUFFRixVQUFRLE1BQ04sc0JBQXNCLE9BQU8sY0FBYyxDQUFDLEtBQUssS0FBSyxPQUFPLEtBQUssUUFBUSxTQUFTLFNBQ25GLEtBQ0Q7O0NBR0gsUUFBUSxTQUFpQixPQUE0QixHQUFHLE1BQXVCO0FBQzdFLE1BQUksQ0FBQyxlQUFlLE9BQU8sQ0FDekI7QUFFRixVQUFRLEtBQ04scUJBQXFCLE9BQU8sY0FBYyxDQUFDLEtBQUssS0FBSyxPQUFPLEtBQUssUUFBUSxTQUFTLFNBQ2xGLEtBQ0Q7OztBQUlMLHFCQUFlIn0=
@@ -2,7 +2,7 @@ import { UserIdentityContextType } from "../../contexts/userIdentityContext/user
2
2
  import { hasParsedVariantInfoAtom, pageUserEventAtom, pageVariantInfoAtom, supportedEventAtom, variantInfoAtom } from "./variant.cjs";
3
3
  import { VariantInfo } from "../../application/models/variantInfo/variantInfo.cjs";
4
4
  import { ContextEnvEnum, ContextSourceEnum } from "@spiffy-ai/commerce-api-client";
5
- import * as jotai16 from "jotai";
5
+ import * as jotai30 from "jotai";
6
6
  import * as jotai_utils0 from "jotai/utils";
7
7
 
8
8
  //#region src/atoms/app/index.d.ts
@@ -15,13 +15,13 @@ interface AppDetails {
15
15
  env: ContextEnvEnum;
16
16
  variantInfo: VariantInfo;
17
17
  }
18
- declare const userIdAtom: jotai16.WritableAtom<string, [value: string], void>;
19
- declare const userIdentityAtom: jotai16.PrimitiveAtom<UserIdentityContextType | undefined> & {
18
+ declare const userIdAtom: jotai30.WritableAtom<string, [value: string], void>;
19
+ declare const userIdentityAtom: jotai30.PrimitiveAtom<UserIdentityContextType | undefined> & {
20
20
  init: UserIdentityContextType | undefined;
21
21
  };
22
- declare const appSourceAtom: jotai16.Atom<ContextSourceEnum>;
23
- declare const chatIdAtom: jotai16.WritableAtom<string, [string | typeof jotai_utils0.RESET | ((prev: string) => string | typeof jotai_utils0.RESET)], void>;
24
- declare const appDetailsAtom: jotai16.Atom<AppDetails>;
22
+ declare const appSourceAtom: jotai30.Atom<ContextSourceEnum>;
23
+ declare const chatIdAtom: jotai30.WritableAtom<string, [string | typeof jotai_utils0.RESET | ((prev: string) => string | typeof jotai_utils0.RESET)], void>;
24
+ declare const appDetailsAtom: jotai30.Atom<AppDetails>;
25
25
  //#endregion
26
26
  export { AppDetails, appDetailsAtom, appSourceAtom, chatIdAtom, hasParsedVariantInfoAtom, pageUserEventAtom, pageVariantInfoAtom, supportedEventAtom, userIdAtom, userIdentityAtom, variantInfoAtom };
27
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F0b21zL2FwcC9pbmRleC5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRleHRFbnZFbnVtLCBDb250ZXh0U291cmNlRW51bSB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBWYXJpYW50SW5mbyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHR5cGUgeyBVc2VySWRlbnRpdHlDb250ZXh0VHlwZSB9IGZyb20gJ3NyYy9jb250ZXh0cy91c2VySWRlbnRpdHlDb250ZXh0L3VzZXJJZGVudGl0eUNvbnRleHQnO1xuZXhwb3J0IGludGVyZmFjZSBBcHBEZXRhaWxzIHtcbiAgICBvcmdJZDogc3RyaW5nO1xuICAgIG9yZ1Nob3J0TmFtZTogc3RyaW5nO1xuICAgIGNoYXRJZDogc3RyaW5nO1xuICAgIHVzZXJJZDogc3RyaW5nO1xuICAgIHNvdXJjZTogQ29udGV4dFNvdXJjZUVudW07XG4gICAgZW52OiBDb250ZXh0RW52RW51bTtcbiAgICB2YXJpYW50SW5mbzogVmFyaWFudEluZm87XG59XG5leHBvcnQgeyBwYWdlVXNlckV2ZW50QXRvbSwgcGFnZVZhcmlhbnRJbmZvQXRvbSwgdmFyaWFudEluZm9BdG9tLCBoYXNQYXJzZWRWYXJpYW50SW5mb0F0b20sIHN1cHBvcnRlZEV2ZW50QXRvbSwgfSBmcm9tICcuL3ZhcmlhbnQnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdXNlcklkQXRvbTogaW1wb3J0KFwiam90YWlcIikuV3JpdGFibGVBdG9tPHN0cmluZywgW3ZhbHVlOiBzdHJpbmddLCB2b2lkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHVzZXJJZGVudGl0eUF0b206IGltcG9ydChcImpvdGFpXCIpLlByaW1pdGl2ZUF0b208VXNlcklkZW50aXR5Q29udGV4dFR5cGUgfCB1bmRlZmluZWQ+ICYge1xuICAgIGluaXQ6IFVzZXJJZGVudGl0eUNvbnRleHRUeXBlIHwgdW5kZWZpbmVkO1xufTtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGFwcFNvdXJjZUF0b206IGltcG9ydChcImpvdGFpXCIpLkF0b208Q29udGV4dFNvdXJjZUVudW0+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgY2hhdElkQXRvbTogaW1wb3J0KFwiam90YWlcIikuV3JpdGFibGVBdG9tPHN0cmluZywgW3N0cmluZyB8IHR5cGVvZiBpbXBvcnQoXCJqb3RhaS91dGlsc1wiKS5SRVNFVCB8ICgocHJldjogc3RyaW5nKSA9PiBzdHJpbmcgfCB0eXBlb2YgaW1wb3J0KFwiam90YWkvdXRpbHNcIikuUkVTRVQpXSwgdm9pZD47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBhcHBEZXRhaWxzQXRvbTogaW1wb3J0KFwiam90YWlcIikuQXRvbTxBcHBEZXRhaWxzPjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFLQSxJQUFXLGFBQWE7Q0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBRXhCLElBQVcsYUFBTyxDQUFBLFVBQUEsUUFBQSxhQUFBO0FBQ2xCLElBQVcsbUJBQWtCO0NBQUE7T0FBQTtPQUFBLFFBQUE7T0FBQTtDQUFBO0FBQzdCLElBQVcsZ0JBQVk7Q0FBQTtPQUFBO09BQUEsUUFBQTtDQUFBO0FBQ3ZCLElBQVcsYUFBYTtDQUFDO09BQUcsYUFBQTtPQUFBLGFBQUE7T0FBQSxRQUFBO0NBQUE7QUFDNUIsSUFBQSxpQkFBQTtDQUFBO09BQUE7T0FBQSxRQUFBO0NBQUEifQ==
27
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F0b21zL2FwcC9pbmRleC5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRleHRFbnZFbnVtLCBDb250ZXh0U291cmNlRW51bSB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBWYXJpYW50SW5mbyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHR5cGUgeyBVc2VySWRlbnRpdHlDb250ZXh0VHlwZSB9IGZyb20gJ3NyYy9jb250ZXh0cy91c2VySWRlbnRpdHlDb250ZXh0L3VzZXJJZGVudGl0eUNvbnRleHQnO1xuZXhwb3J0IGludGVyZmFjZSBBcHBEZXRhaWxzIHtcbiAgICBvcmdJZDogc3RyaW5nO1xuICAgIG9yZ1Nob3J0TmFtZTogc3RyaW5nO1xuICAgIGNoYXRJZDogc3RyaW5nO1xuICAgIHVzZXJJZDogc3RyaW5nO1xuICAgIHNvdXJjZTogQ29udGV4dFNvdXJjZUVudW07XG4gICAgZW52OiBDb250ZXh0RW52RW51bTtcbiAgICB2YXJpYW50SW5mbzogVmFyaWFudEluZm87XG59XG5leHBvcnQgeyBwYWdlVXNlckV2ZW50QXRvbSwgcGFnZVZhcmlhbnRJbmZvQXRvbSwgdmFyaWFudEluZm9BdG9tLCBoYXNQYXJzZWRWYXJpYW50SW5mb0F0b20sIHN1cHBvcnRlZEV2ZW50QXRvbSwgfSBmcm9tICcuL3ZhcmlhbnQnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdXNlcklkQXRvbTogaW1wb3J0KFwiam90YWlcIikuV3JpdGFibGVBdG9tPHN0cmluZywgW3ZhbHVlOiBzdHJpbmddLCB2b2lkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHVzZXJJZGVudGl0eUF0b206IGltcG9ydChcImpvdGFpXCIpLlByaW1pdGl2ZUF0b208VXNlcklkZW50aXR5Q29udGV4dFR5cGUgfCB1bmRlZmluZWQ+ICYge1xuICAgIGluaXQ6IFVzZXJJZGVudGl0eUNvbnRleHRUeXBlIHwgdW5kZWZpbmVkO1xufTtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGFwcFNvdXJjZUF0b206IGltcG9ydChcImpvdGFpXCIpLkF0b208Q29udGV4dFNvdXJjZUVudW0+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgY2hhdElkQXRvbTogaW1wb3J0KFwiam90YWlcIikuV3JpdGFibGVBdG9tPHN0cmluZywgW3N0cmluZyB8IHR5cGVvZiBpbXBvcnQoXCJqb3RhaS91dGlsc1wiKS5SRVNFVCB8ICgocHJldjogc3RyaW5nKSA9PiBzdHJpbmcgfCB0eXBlb2YgaW1wb3J0KFwiam90YWkvdXRpbHNcIikuUkVTRVQpXSwgdm9pZD47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBhcHBEZXRhaWxzQXRvbTogaW1wb3J0KFwiam90YWlcIikuQXRvbTxBcHBEZXRhaWxzPjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFLQSxJQUFXLGFBQWE7Q0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBRXhCLElBQVcsYUFBTyxDQUFBLFdBQUEsUUFBQSxhQUFBO0FBQ2xCLElBQVcsbUJBQWtCO0NBQUE7T0FBQTtPQUFBLFFBQUE7T0FBQTtDQUFBO0FBQzdCLElBQVcsZ0JBQVk7Q0FBQTtPQUFBO09BQUEsUUFBQTtDQUFBO0FBQ3ZCLElBQVcsYUFBYTtDQUFDO09BQUcsYUFBQTtPQUFBLGFBQUE7T0FBQSxRQUFBO0NBQUE7QUFDNUIsSUFBQSxpQkFBQTtDQUFBO09BQUE7T0FBQSxRQUFBO0NBQUEifQ==
@@ -2,7 +2,7 @@ import { UserIdentityContextType } from "../../contexts/userIdentityContext/user
2
2
  import { hasParsedVariantInfoAtom, pageUserEventAtom, pageVariantInfoAtom, supportedEventAtom, variantInfoAtom } from "./variant.js";
3
3
  import { VariantInfo } from "../../application/models/variantInfo/variantInfo.js";
4
4
  import { ContextEnvEnum, ContextSourceEnum } from "@spiffy-ai/commerce-api-client";
5
- import * as jotai30 from "jotai";
5
+ import * as jotai18 from "jotai";
6
6
  import * as jotai_utils0 from "jotai/utils";
7
7
 
8
8
  //#region src/atoms/app/index.d.ts
@@ -15,13 +15,13 @@ interface AppDetails {
15
15
  env: ContextEnvEnum;
16
16
  variantInfo: VariantInfo;
17
17
  }
18
- declare const userIdAtom: jotai30.WritableAtom<string, [value: string], void>;
19
- declare const userIdentityAtom: jotai30.PrimitiveAtom<UserIdentityContextType | undefined> & {
18
+ declare const userIdAtom: jotai18.WritableAtom<string, [value: string], void>;
19
+ declare const userIdentityAtom: jotai18.PrimitiveAtom<UserIdentityContextType | undefined> & {
20
20
  init: UserIdentityContextType | undefined;
21
21
  };
22
- declare const appSourceAtom: jotai30.Atom<ContextSourceEnum>;
23
- declare const chatIdAtom: jotai30.WritableAtom<string, [string | typeof jotai_utils0.RESET | ((prev: string) => string | typeof jotai_utils0.RESET)], void>;
24
- declare const appDetailsAtom: jotai30.Atom<AppDetails>;
22
+ declare const appSourceAtom: jotai18.Atom<ContextSourceEnum>;
23
+ declare const chatIdAtom: jotai18.WritableAtom<string, [string | typeof jotai_utils0.RESET | ((prev: string) => string | typeof jotai_utils0.RESET)], void>;
24
+ declare const appDetailsAtom: jotai18.Atom<AppDetails>;
25
25
  //#endregion
26
26
  export { AppDetails, appDetailsAtom, appSourceAtom, chatIdAtom, hasParsedVariantInfoAtom, pageUserEventAtom, pageVariantInfoAtom, supportedEventAtom, userIdAtom, userIdentityAtom, variantInfoAtom };
27
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXRvbXMvYXBwL2luZGV4LmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGV4dEVudkVudW0sIENvbnRleHRTb3VyY2VFbnVtIH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IFZhcmlhbnRJbmZvIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgdHlwZSB7IFVzZXJJZGVudGl0eUNvbnRleHRUeXBlIH0gZnJvbSAnc3JjL2NvbnRleHRzL3VzZXJJZGVudGl0eUNvbnRleHQvdXNlcklkZW50aXR5Q29udGV4dCc7XG5leHBvcnQgaW50ZXJmYWNlIEFwcERldGFpbHMge1xuICAgIG9yZ0lkOiBzdHJpbmc7XG4gICAgb3JnU2hvcnROYW1lOiBzdHJpbmc7XG4gICAgY2hhdElkOiBzdHJpbmc7XG4gICAgdXNlcklkOiBzdHJpbmc7XG4gICAgc291cmNlOiBDb250ZXh0U291cmNlRW51bTtcbiAgICBlbnY6IENvbnRleHRFbnZFbnVtO1xuICAgIHZhcmlhbnRJbmZvOiBWYXJpYW50SW5mbztcbn1cbmV4cG9ydCB7IHBhZ2VVc2VyRXZlbnRBdG9tLCBwYWdlVmFyaWFudEluZm9BdG9tLCB2YXJpYW50SW5mb0F0b20sIGhhc1BhcnNlZFZhcmlhbnRJbmZvQXRvbSwgc3VwcG9ydGVkRXZlbnRBdG9tLCB9IGZyb20gJy4vdmFyaWFudCc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCB1c2VySWRBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5Xcml0YWJsZUF0b208c3RyaW5nLCBbdmFsdWU6IHN0cmluZ10sIHZvaWQ+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdXNlcklkZW50aXR5QXRvbTogaW1wb3J0KFwiam90YWlcIikuUHJpbWl0aXZlQXRvbTxVc2VySWRlbnRpdHlDb250ZXh0VHlwZSB8IHVuZGVmaW5lZD4gJiB7XG4gICAgaW5pdDogVXNlcklkZW50aXR5Q29udGV4dFR5cGUgfCB1bmRlZmluZWQ7XG59O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgYXBwU291cmNlQXRvbTogaW1wb3J0KFwiam90YWlcIikuQXRvbTxDb250ZXh0U291cmNlRW51bT47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBjaGF0SWRBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5Xcml0YWJsZUF0b208c3RyaW5nLCBbc3RyaW5nIHwgdHlwZW9mIGltcG9ydChcImpvdGFpL3V0aWxzXCIpLlJFU0VUIHwgKChwcmV2OiBzdHJpbmcpID0+IHN0cmluZyB8IHR5cGVvZiBpbXBvcnQoXCJqb3RhaS91dGlsc1wiKS5SRVNFVCldLCB2b2lkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGFwcERldGFpbHNBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5BdG9tPEFwcERldGFpbHM+O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUtBLElBQVcsYUFBYTtDQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFFeEIsSUFBVyxhQUFPLENBQUEsV0FBQSxRQUFBLGFBQUE7QUFDbEIsSUFBVyxtQkFBa0I7Q0FBQTtPQUFBO09BQUEsUUFBQTtPQUFBO0NBQUE7QUFDN0IsSUFBVyxnQkFBWTtDQUFBO09BQUE7T0FBQSxRQUFBO0NBQUE7QUFDdkIsSUFBVyxhQUFhO0NBQUM7T0FBRyxhQUFBO09BQUEsYUFBQTtPQUFBLFFBQUE7Q0FBQTtBQUM1QixJQUFBLGlCQUFBO0NBQUE7T0FBQTtPQUFBLFFBQUE7Q0FBQSJ9
27
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXRvbXMvYXBwL2luZGV4LmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGV4dEVudkVudW0sIENvbnRleHRTb3VyY2VFbnVtIH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IFZhcmlhbnRJbmZvIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgdHlwZSB7IFVzZXJJZGVudGl0eUNvbnRleHRUeXBlIH0gZnJvbSAnc3JjL2NvbnRleHRzL3VzZXJJZGVudGl0eUNvbnRleHQvdXNlcklkZW50aXR5Q29udGV4dCc7XG5leHBvcnQgaW50ZXJmYWNlIEFwcERldGFpbHMge1xuICAgIG9yZ0lkOiBzdHJpbmc7XG4gICAgb3JnU2hvcnROYW1lOiBzdHJpbmc7XG4gICAgY2hhdElkOiBzdHJpbmc7XG4gICAgdXNlcklkOiBzdHJpbmc7XG4gICAgc291cmNlOiBDb250ZXh0U291cmNlRW51bTtcbiAgICBlbnY6IENvbnRleHRFbnZFbnVtO1xuICAgIHZhcmlhbnRJbmZvOiBWYXJpYW50SW5mbztcbn1cbmV4cG9ydCB7IHBhZ2VVc2VyRXZlbnRBdG9tLCBwYWdlVmFyaWFudEluZm9BdG9tLCB2YXJpYW50SW5mb0F0b20sIGhhc1BhcnNlZFZhcmlhbnRJbmZvQXRvbSwgc3VwcG9ydGVkRXZlbnRBdG9tLCB9IGZyb20gJy4vdmFyaWFudCc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCB1c2VySWRBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5Xcml0YWJsZUF0b208c3RyaW5nLCBbdmFsdWU6IHN0cmluZ10sIHZvaWQ+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdXNlcklkZW50aXR5QXRvbTogaW1wb3J0KFwiam90YWlcIikuUHJpbWl0aXZlQXRvbTxVc2VySWRlbnRpdHlDb250ZXh0VHlwZSB8IHVuZGVmaW5lZD4gJiB7XG4gICAgaW5pdDogVXNlcklkZW50aXR5Q29udGV4dFR5cGUgfCB1bmRlZmluZWQ7XG59O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgYXBwU291cmNlQXRvbTogaW1wb3J0KFwiam90YWlcIikuQXRvbTxDb250ZXh0U291cmNlRW51bT47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBjaGF0SWRBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5Xcml0YWJsZUF0b208c3RyaW5nLCBbc3RyaW5nIHwgdHlwZW9mIGltcG9ydChcImpvdGFpL3V0aWxzXCIpLlJFU0VUIHwgKChwcmV2OiBzdHJpbmcpID0+IHN0cmluZyB8IHR5cGVvZiBpbXBvcnQoXCJqb3RhaS91dGlsc1wiKS5SRVNFVCldLCB2b2lkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGFwcERldGFpbHNBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5BdG9tPEFwcERldGFpbHM+O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUtBLElBQVcsYUFBYTtDQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFFeEIsSUFBVyxhQUFPLENBQUEsVUFBQSxRQUFBLGFBQUE7QUFDbEIsSUFBVyxtQkFBa0I7Q0FBQTtPQUFBO09BQUEsUUFBQTtPQUFBO0NBQUE7QUFDN0IsSUFBVyxnQkFBWTtDQUFBO09BQUE7T0FBQSxRQUFBO0NBQUE7QUFDdkIsSUFBVyxhQUFhO0NBQUM7T0FBRyxhQUFBO09BQUEsYUFBQTtPQUFBLFFBQUE7Q0FBQTtBQUM1QixJQUFBLGlCQUFBO0NBQUE7T0FBQTtPQUFBLFFBQUE7Q0FBQSJ9
@@ -2,7 +2,7 @@ import { PageVariantInfo } from "../../contexts/pageContext/types.cjs";
2
2
  import { UserEvent as UserEvent$1 } from "../../application/models/api/userEvent.cjs";
3
3
  import { VariantInfo } from "../../application/models/variantInfo/variantInfo.cjs";
4
4
  import { PageVisitCategory, SupportedEventResponse, UserEvent } from "@spiffy-ai/commerce-api-client";
5
- import * as jotai94 from "jotai";
5
+ import * as jotai54 from "jotai";
6
6
 
7
7
  //#region src/atoms/app/variant.d.ts
8
8
  interface SupportedEvent extends Pick<SupportedEventResponse, 'supported' | 'ready' | 'category' | 'collections' | 'top_category'> {
@@ -73,15 +73,15 @@ interface UrlResolverResponse {
73
73
  user_event?: UserEvent;
74
74
  page_variant?: BackendPageVariantConfig;
75
75
  }
76
- declare const supportedEventAtom: jotai94.WritableAtom<SupportedEvent | undefined, [value: SupportedEvent | undefined], void>;
77
- declare const hasParsedVariantInfoAtom: jotai94.PrimitiveAtom<boolean> & {
76
+ declare const supportedEventAtom: jotai54.WritableAtom<SupportedEvent | undefined, [value: SupportedEvent | undefined], void>;
77
+ declare const hasParsedVariantInfoAtom: jotai54.PrimitiveAtom<boolean> & {
78
78
  init: boolean;
79
79
  };
80
- declare const variantInfoAtom: jotai94.WritableAtom<VariantInfo, [newVariant: VariantInfo], void>;
81
- declare const pageUserEventAtom: jotai94.PrimitiveAtom<UserEvent$1 | undefined> & {
80
+ declare const variantInfoAtom: jotai54.WritableAtom<VariantInfo, [newVariant: VariantInfo], void>;
81
+ declare const pageUserEventAtom: jotai54.PrimitiveAtom<UserEvent$1 | undefined> & {
82
82
  init: UserEvent$1 | undefined;
83
83
  };
84
- declare const pageVariantInfoAtom: jotai94.PrimitiveAtom<PageVariantInfo | undefined> & {
84
+ declare const pageVariantInfoAtom: jotai54.PrimitiveAtom<PageVariantInfo | undefined> & {
85
85
  init: PageVariantInfo | undefined;
86
86
  };
87
87
  //#endregion