@uniformdev/context 19.146.1-alpha.1 → 19.146.2

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.
package/dist/index.esm.js CHANGED
@@ -76,31 +76,6 @@ function computeAggregateDimension(primitiveScores, aggregateDimension, allAggre
76
76
  // src/manifest/constants.ts
77
77
  var ENR_SEPARATOR = "_";
78
78
 
79
- // src/manifest/goals/evaluators/SignalGoalEvaluator.ts
80
- var _signal, _id;
81
- var SignalGoalEvaluator = class {
82
- constructor(options) {
83
- __privateAdd(this, _signal, void 0);
84
- __privateAdd(this, _id, void 0);
85
- __privateSet(this, _id, options.id);
86
- __privateSet(this, _signal, options.signal);
87
- }
88
- get id() {
89
- return __privateGet(this, _id);
90
- }
91
- evaluate({ scores, quirks }) {
92
- const score = scores == null ? void 0 : scores[__privateGet(this, _id)];
93
- const key = `goal_${__privateGet(this, _id)}_triggered`;
94
- const hasGoalTriggered = (quirks == null ? void 0 : quirks[key]) === "1";
95
- return {
96
- key,
97
- triggered: typeof score === "number" && !hasGoalTriggered
98
- };
99
- }
100
- };
101
- _signal = new WeakMap();
102
- _id = new WeakMap();
103
-
104
79
  // src/manifest/signals/SignalInstance.ts
105
80
  var _evaluator, _onLogMessage;
106
81
  var SignalInstance = class {
@@ -158,7 +133,7 @@ var rollForControlGroup = (value) => {
158
133
  };
159
134
 
160
135
  // src/manifest/ManifestInstance.ts
161
- var _mf, _signalInstances, _goalEvaluators, _onLogMessage2;
136
+ var _mf, _signalInstances, _onLogMessage2;
162
137
  var ManifestInstance = class {
163
138
  constructor({
164
139
  manifest,
@@ -170,19 +145,13 @@ var ManifestInstance = class {
170
145
  __publicField(this, "data");
171
146
  __privateAdd(this, _mf, void 0);
172
147
  __privateAdd(this, _signalInstances, void 0);
173
- __privateAdd(this, _goalEvaluators, []);
174
148
  __privateAdd(this, _onLogMessage2, void 0);
175
- var _a, _b, _c, _d, _e;
149
+ var _a, _b, _c;
176
150
  __privateSet(this, _mf, (_a = manifest.project) != null ? _a : {});
177
151
  this.data = manifest;
178
152
  __privateSet(this, _signalInstances, Object.entries((_c = (_b = __privateGet(this, _mf).pz) == null ? void 0 : _b.sig) != null ? _c : []).map(
179
153
  ([id, signal]) => new SignalInstance({ ...signal, id }, evaluator, onLogMessage)
180
154
  ));
181
- Object.entries((_e = (_d = __privateGet(this, _mf).pz) == null ? void 0 : _d.sig) != null ? _e : []).forEach(([id, signal]) => {
182
- if (signal.conversion) {
183
- __privateGet(this, _goalEvaluators).push(new SignalGoalEvaluator({ id, signal }));
184
- }
185
- });
186
155
  __privateSet(this, _onLogMessage2, onLogMessage);
187
156
  }
188
157
  rollForControlGroup() {
@@ -210,28 +179,6 @@ var ManifestInstance = class {
210
179
  }
211
180
  return commands;
212
181
  }
213
- computeGoals(data) {
214
- const commands = [];
215
- __privateGet(this, _goalEvaluators).forEach((evaluator) => {
216
- const { triggered, key } = evaluator.evaluate(data);
217
- if (triggered) {
218
- commands.push({
219
- type: "setgoal",
220
- data: {
221
- goal: evaluator.id
222
- }
223
- });
224
- commands.push({
225
- type: "setquirk",
226
- data: {
227
- key,
228
- value: "1"
229
- }
230
- });
231
- }
232
- });
233
- return commands;
234
- }
235
182
  /**
236
183
  * Computes aggregated scores based on other dimensions
237
184
  */
@@ -250,7 +197,6 @@ var ManifestInstance = class {
250
197
  };
251
198
  _mf = new WeakMap();
252
199
  _signalInstances = new WeakMap();
253
- _goalEvaluators = new WeakMap();
254
200
  _onLogMessage2 = new WeakMap();
255
201
 
256
202
  // src/manifest/signals/criteria/evaluators/cookieEvaluator.ts
@@ -1142,7 +1088,6 @@ var emptyVisitorData = () => ({
1142
1088
  scores: {},
1143
1089
  sessionScores: {},
1144
1090
  tests: {},
1145
- goals: {},
1146
1091
  consent: false,
1147
1092
  controlGroup: false,
1148
1093
  personalizeVariants: {}
@@ -1158,7 +1103,7 @@ var clone = rfdc();
1158
1103
  function applyCommandsToData(commands, state, inControlGroup) {
1159
1104
  const newData = state ? clone(state) : emptyVisitorData();
1160
1105
  commands.forEach((command) => {
1161
- var _a, _b, _c;
1106
+ var _a, _b;
1162
1107
  switch (command.type) {
1163
1108
  case "consent":
1164
1109
  newData.consent = command.data;
@@ -1213,10 +1158,6 @@ function applyCommandsToData(commands, state, inControlGroup) {
1213
1158
  console.warn("Overwriting existing control group definition is not allowed");
1214
1159
  }
1215
1160
  break;
1216
- case "setgoal":
1217
- newData.goals = (_c = newData.goals) != null ? _c : {};
1218
- newData.goals[command.data.goal] = true;
1219
- break;
1220
1161
  default:
1221
1162
  throw new Error(`Unknown command`);
1222
1163
  }
@@ -1382,7 +1323,7 @@ currentData_get = function() {
1382
1323
  };
1383
1324
  _replaceData = new WeakSet();
1384
1325
  replaceData_fn = function(data, quiet = false) {
1385
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
1326
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i;
1386
1327
  const oldData = __privateGet(this, _currentData, currentData_get);
1387
1328
  const now = Date.now();
1388
1329
  if (data.controlGroup) {
@@ -1403,7 +1344,6 @@ replaceData_fn = function(data, quiet = false) {
1403
1344
  const haveSessionScoresChanged = !dequal3(oldData == null ? void 0 : oldData.visitorData.sessionScores, data.sessionScores);
1404
1345
  const haveQuirksChanged = !dequal3(oldData == null ? void 0 : oldData.visitorData.quirks, data.quirks);
1405
1346
  const haveTestsChanged = !dequal3(oldData == null ? void 0 : oldData.visitorData.tests, data.tests);
1406
- const haveGoalsChanged = !dequal3(oldData == null ? void 0 : oldData.visitorData.goals, data.goals);
1407
1347
  const updatedData = {
1408
1348
  updated: now,
1409
1349
  visitorData: data
@@ -1428,15 +1368,6 @@ replaceData_fn = function(data, quiet = false) {
1428
1368
  __privateGet(this, _mitt2).emit("controlGroupUpdated", data);
1429
1369
  (_i = (_h = __privateGet(this, _options)).onLogMessage) == null ? void 0 : _i.call(_h, ["debug", 104, (_g = data.controlGroup) != null ? _g : false]);
1430
1370
  }
1431
- if (haveGoalsChanged) {
1432
- const newGoalKeys = Object.keys((_j = data.goals) != null ? _j : {});
1433
- for (let i = 0; i < newGoalKeys.length; i++) {
1434
- const key = newGoalKeys[i];
1435
- if (!((_k = oldData == null ? void 0 : oldData.visitorData.goals) == null ? void 0 : _k[key])) {
1436
- __privateGet(this, _mitt2).emit("goalConverted", { goalId: key });
1437
- }
1438
- }
1439
- }
1440
1371
  }
1441
1372
  };
1442
1373
  _setVisitTimeout = new WeakSet();
@@ -1489,11 +1420,10 @@ import { dequal as dequal4 } from "dequal/lite";
1489
1420
  import mitt3 from "mitt";
1490
1421
  var CONTEXTUAL_EDITING_TEST_NAME = "contextual_editing_test";
1491
1422
  var CONTEXTUAL_EDITING_TEST_SELECTED_VARIANT_ID = "contextual_editing_test_selected_variant";
1492
- var _serverTransitionState, _scores, _state, _pzCache, _plugins, _mitt3, _emitTest, emitTest_fn, _updateGoals, updateGoals_fn, _updateComputedScores, updateComputedScores_fn, _calculateScores, calculateScores_fn;
1423
+ var _serverTransitionState, _scores, _state, _pzCache, _mitt3, _emitTest, emitTest_fn, _updateComputedScores, updateComputedScores_fn, _calculateScores, calculateScores_fn;
1493
1424
  var Context = class {
1494
1425
  constructor(options) {
1495
1426
  __privateAdd(this, _emitTest);
1496
- __privateAdd(this, _updateGoals);
1497
1427
  __privateAdd(this, _updateComputedScores);
1498
1428
  __privateAdd(this, _calculateScores);
1499
1429
  __publicField(this, "manifest");
@@ -1501,7 +1431,6 @@ var Context = class {
1501
1431
  __privateAdd(this, _scores, {});
1502
1432
  __privateAdd(this, _state, void 0);
1503
1433
  __privateAdd(this, _pzCache, {});
1504
- __privateAdd(this, _plugins, void 0);
1505
1434
  __privateAdd(this, _mitt3, mitt3());
1506
1435
  /**
1507
1436
  * Subscribe to events
@@ -1514,8 +1443,7 @@ var Context = class {
1514
1443
  var _a, _b;
1515
1444
  const { manifest, ...storageOptions } = options;
1516
1445
  __privateSet(this, _state, {});
1517
- __privateSet(this, _plugins, options.plugins);
1518
- (_a = __privateGet(this, _plugins)) == null ? void 0 : _a.forEach((plugin) => {
1446
+ (_a = options.plugins) == null ? void 0 : _a.forEach((plugin) => {
1519
1447
  if (!plugin.logDrain) {
1520
1448
  return;
1521
1449
  }
@@ -1558,15 +1486,11 @@ var Context = class {
1558
1486
  previousState: __privateGet(this, _state),
1559
1487
  visitor: this.storage.data
1560
1488
  });
1561
- __privateMethod(this, _updateGoals, updateGoals_fn).call(this, {
1562
- quirks: quirks.quirks,
1563
- scores: void 0
1564
- });
1565
1489
  this.storage.updateData(updates);
1566
1490
  __privateGet(this, _mitt3).emit("quirksUpdated", quirks.quirks);
1567
1491
  __privateGet(this, _mitt3).emit("log", ["info", 4, quirks.quirks]);
1568
1492
  });
1569
- (_b = __privateGet(this, _plugins)) == null ? void 0 : _b.forEach((plugin) => {
1493
+ (_b = options.plugins) == null ? void 0 : _b.forEach((plugin) => {
1570
1494
  if (!plugin.init) {
1571
1495
  return;
1572
1496
  }
@@ -1701,15 +1625,6 @@ var Context = class {
1701
1625
  __privateSet(this, _serverTransitionState, void 0);
1702
1626
  __privateGet(this, _mitt3).emit("log", ["debug", 131]);
1703
1627
  }
1704
- if (__privateGet(this, _plugins)) {
1705
- for (let i = 0; i < __privateGet(this, _plugins).length; i++) {
1706
- const plugin = __privateGet(this, _plugins)[i];
1707
- if (!plugin.update) {
1708
- continue;
1709
- }
1710
- await plugin.update(newData);
1711
- }
1712
- }
1713
1628
  } finally {
1714
1629
  __privateGet(this, _mitt3).emit("log", ["info", 2, "ENDGROUP"]);
1715
1630
  }
@@ -1805,15 +1720,6 @@ var Context = class {
1805
1720
  */
1806
1721
  async forget(fromAllDevices) {
1807
1722
  __privateSet(this, _state, {});
1808
- if (__privateGet(this, _plugins)) {
1809
- for (let i = 0; i < __privateGet(this, _plugins).length; i++) {
1810
- const plugin = __privateGet(this, _plugins)[i];
1811
- if (!plugin.forget) {
1812
- continue;
1813
- }
1814
- await plugin.forget();
1815
- }
1816
- }
1817
1723
  await this.storage.delete(fromAllDevices);
1818
1724
  }
1819
1725
  /**
@@ -1854,29 +1760,17 @@ _serverTransitionState = new WeakMap();
1854
1760
  _scores = new WeakMap();
1855
1761
  _state = new WeakMap();
1856
1762
  _pzCache = new WeakMap();
1857
- _plugins = new WeakMap();
1858
1763
  _mitt3 = new WeakMap();
1859
1764
  _emitTest = new WeakSet();
1860
1765
  emitTest_fn = function(event) {
1861
1766
  __privateGet(this, _mitt3).emit("testResult", event);
1862
1767
  };
1863
- _updateGoals = new WeakSet();
1864
- updateGoals_fn = async function(data) {
1865
- const goalCommands = this.manifest.computeGoals(data);
1866
- if (goalCommands.length !== 0) {
1867
- await this.storage.updateData(goalCommands);
1868
- }
1869
- };
1870
1768
  _updateComputedScores = new WeakSet();
1871
1769
  updateComputedScores_fn = function(newData) {
1872
1770
  const newScores = __privateMethod(this, _calculateScores, calculateScores_fn).call(this, newData);
1873
1771
  const newScoresHaveChanged = !dequal4(newScores, __privateGet(this, _scores));
1874
1772
  if (newScoresHaveChanged) {
1875
1773
  __privateSet(this, _scores, newScores);
1876
- __privateMethod(this, _updateGoals, updateGoals_fn).call(this, {
1877
- scores: __privateGet(this, _scores),
1878
- quirks: void 0
1879
- });
1880
1774
  __privateGet(this, _mitt3).emit("scoresUpdated", newScores);
1881
1775
  __privateGet(this, _mitt3).emit("log", ["info", 3, newScores]);
1882
1776
  }
@@ -2015,339 +1909,6 @@ var ScriptType = /* @__PURE__ */ ((ScriptType2) => {
2015
1909
  })(ScriptType || {});
2016
1910
  var EdgeNodeTagName = "nesitag";
2017
1911
 
2018
- // src/insights/index.ts
2019
- import { v4 } from "uuid";
2020
- var getBasePayload = () => {
2021
- const timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
2022
- const locale = navigator.languages && navigator.languages.length ? navigator.languages[0] : navigator.userLanguage || navigator.language || navigator.browserLanguage || "en";
2023
- return {
2024
- "user-agent": window.navigator.userAgent,
2025
- locale,
2026
- location: timeZone,
2027
- referrer: document.referrer,
2028
- pathname: window.location.pathname,
2029
- href: window.location.href
2030
- };
2031
- };
2032
- var createInsightsClient = ({ endpoint }) => {
2033
- const url = new URL(endpoint.host);
2034
- url.pathname = "/v0/events";
2035
- url.searchParams.set("name", "analytics_events");
2036
- const endpointUrl = url.toString();
2037
- const sendMessage = async (message) => {
2038
- if (typeof window.__UNIFORM_CONTEXTUAL_EDITING__ !== "undefined") {
2039
- return;
2040
- }
2041
- const converted = {
2042
- ...message,
2043
- payload: JSON.stringify(message.payload)
2044
- };
2045
- const response = await fetch(endpointUrl, {
2046
- method: "POST",
2047
- headers: {
2048
- "Content-Type": "application/json",
2049
- Authorization: `Bearer ${endpoint.apiKey}`
2050
- },
2051
- body: JSON.stringify(converted)
2052
- });
2053
- const json = await response.json();
2054
- return json;
2055
- };
2056
- return {
2057
- sessionStart: (options) => {
2058
- const message = {
2059
- action: "session_start",
2060
- version: "1",
2061
- session_id: options.sessionId,
2062
- visitor_id: options.visitorId,
2063
- page_view_id: options.pageId,
2064
- timestamp: (/* @__PURE__ */ new Date()).toISOString(),
2065
- payload: {
2066
- ...getBasePayload(),
2067
- previous_session_id: options.previousSessionId
2068
- }
2069
- };
2070
- return sendMessage(message);
2071
- },
2072
- pageHit: (options) => {
2073
- const message = {
2074
- action: "page_hit",
2075
- version: "1",
2076
- session_id: options.sessionId,
2077
- visitor_id: options.visitorId,
2078
- page_view_id: options.pageId,
2079
- timestamp: (/* @__PURE__ */ new Date()).toISOString(),
2080
- payload: getBasePayload()
2081
- };
2082
- return sendMessage(message);
2083
- },
2084
- testResult: async (options) => {
2085
- const message = {
2086
- action: "test_result",
2087
- version: "1",
2088
- session_id: options.sessionId,
2089
- visitor_id: options.visitorId,
2090
- page_view_id: options.pageId,
2091
- timestamp: (/* @__PURE__ */ new Date()).toISOString(),
2092
- payload: {
2093
- ...getBasePayload(),
2094
- ...options
2095
- }
2096
- };
2097
- return sendMessage(message);
2098
- },
2099
- personalizationResult: async (options) => {
2100
- const messages = options.variantIds.map((variant) => {
2101
- const message = {
2102
- action: "personalization_result",
2103
- version: "1",
2104
- session_id: options.sessionId,
2105
- visitor_id: options.visitorId,
2106
- page_view_id: options.pageId,
2107
- timestamp: (/* @__PURE__ */ new Date()).toISOString(),
2108
- payload: {
2109
- ...getBasePayload(),
2110
- name: options.name,
2111
- variantId: variant.id,
2112
- control: variant.control || options.control,
2113
- changed: options.changed
2114
- }
2115
- };
2116
- return message;
2117
- });
2118
- await Promise.all(messages.map((message) => sendMessage(message)));
2119
- },
2120
- goalConvert: (options) => {
2121
- const message = {
2122
- action: "goal_convert",
2123
- version: "1",
2124
- session_id: options.sessionId,
2125
- visitor_id: options.visitorId,
2126
- page_view_id: options.pageId,
2127
- timestamp: (/* @__PURE__ */ new Date()).toISOString(),
2128
- payload: {
2129
- ...getBasePayload(),
2130
- goalId: options.goalId
2131
- }
2132
- };
2133
- return sendMessage(message);
2134
- },
2135
- scoresChange: async (options) => {
2136
- const message = {
2137
- action: "scores_change",
2138
- version: "1",
2139
- session_id: options.sessionId,
2140
- visitor_id: options.visitorId,
2141
- page_view_id: options.pageId,
2142
- timestamp: (/* @__PURE__ */ new Date()).toISOString(),
2143
- payload: {
2144
- ...getBasePayload(),
2145
- scores: options.scores
2146
- }
2147
- };
2148
- return sendMessage(message);
2149
- }
2150
- };
2151
- };
2152
- var createInsightsStorage = () => {
2153
- const STORAGE_KEY2 = "ufin";
2154
- return {
2155
- get: () => {
2156
- const data = localStorage.getItem(STORAGE_KEY2);
2157
- if (!data) {
2158
- return;
2159
- }
2160
- return JSON.parse(data);
2161
- },
2162
- set: (data) => {
2163
- const toSet = {
2164
- ...data,
2165
- updated: Date.now()
2166
- };
2167
- localStorage.setItem(STORAGE_KEY2, JSON.stringify(toSet));
2168
- },
2169
- clear: () => {
2170
- localStorage.removeItem(STORAGE_KEY2);
2171
- }
2172
- };
2173
- };
2174
- var generateVisitorId = () => {
2175
- return `visitor_${generalRandomId()}`;
2176
- };
2177
- var generateSessionId = () => {
2178
- return `session_${generalRandomId()}`;
2179
- };
2180
- var generatePageId = () => {
2181
- return `page_${generalRandomId()}`;
2182
- };
2183
- var createInsights = ({
2184
- endpoint,
2185
- sessionDurationSeconds = 30 * 60
2186
- }) => {
2187
- const client = createInsightsClient({
2188
- endpoint
2189
- });
2190
- const storage = createInsightsStorage();
2191
- let storageData = void 0;
2192
- let pageId = generatePageId();
2193
- let previousUrl = void 0;
2194
- return {
2195
- init: () => {
2196
- storageData = storage.get();
2197
- if (!storageData || Date.now() - storageData.updated > sessionDurationSeconds * 1e3) {
2198
- const previousSessionId = storageData == null ? void 0 : storageData.sessionId;
2199
- storageData = {
2200
- visitorId: (storageData == null ? void 0 : storageData.visitorId) || generateVisitorId(),
2201
- sessionId: generateSessionId(),
2202
- updated: Date.now()
2203
- };
2204
- storage.set(storageData);
2205
- client.sessionStart({
2206
- visitorId: storageData.visitorId,
2207
- sessionId: storageData.sessionId,
2208
- previousSessionId,
2209
- maxAgeSeconds: sessionDurationSeconds,
2210
- pageId
2211
- });
2212
- } else if (storageData) {
2213
- storage.set(storageData);
2214
- }
2215
- },
2216
- pageHit: () => {
2217
- if (!storageData) {
2218
- console.error("Insights not initialized");
2219
- return;
2220
- }
2221
- if (previousUrl === window.location.href) {
2222
- return;
2223
- }
2224
- previousUrl = window.location.href;
2225
- pageId = generatePageId();
2226
- client.pageHit({
2227
- visitorId: storageData.visitorId,
2228
- sessionId: storageData.sessionId,
2229
- pageId
2230
- });
2231
- },
2232
- testResult: (result) => {
2233
- if (!storageData) {
2234
- console.error("Insights not initialized");
2235
- return;
2236
- }
2237
- client.testResult({
2238
- ...result,
2239
- visitorId: storageData.visitorId,
2240
- sessionId: storageData.sessionId,
2241
- pageId
2242
- });
2243
- },
2244
- personalizationResult: (result) => {
2245
- if (!storageData) {
2246
- console.error("Insights not initialized");
2247
- return;
2248
- }
2249
- client.personalizationResult({
2250
- ...result,
2251
- visitorId: storageData.visitorId,
2252
- sessionId: storageData.sessionId,
2253
- pageId
2254
- });
2255
- },
2256
- goalConvert: (goalId) => {
2257
- if (!storageData) {
2258
- console.error("Insights not initialized");
2259
- return;
2260
- }
2261
- client.goalConvert({
2262
- visitorId: storageData.visitorId,
2263
- sessionId: storageData.sessionId,
2264
- goalId,
2265
- pageId
2266
- });
2267
- },
2268
- scoresChange: (scores) => {
2269
- if (!storageData) {
2270
- console.error("Insights not initialized");
2271
- return;
2272
- }
2273
- client.scoresChange({
2274
- visitorId: storageData.visitorId,
2275
- sessionId: storageData.sessionId,
2276
- scores,
2277
- pageId
2278
- });
2279
- },
2280
- forget: () => {
2281
- storage.clear();
2282
- storageData = void 0;
2283
- },
2284
- get sessionId() {
2285
- return storageData == null ? void 0 : storageData.sessionId;
2286
- }
2287
- };
2288
- };
2289
- var enableUniformInsights = (options) => {
2290
- const insights = createInsights({
2291
- endpoint: options.endpoint
2292
- });
2293
- let previousUrl = void 0;
2294
- return {
2295
- init: (context) => {
2296
- if (typeof window === "undefined") {
2297
- return () => {
2298
- };
2299
- }
2300
- const consentChanged = () => {
2301
- if (context.storage.data.consent) {
2302
- insights.init();
2303
- } else {
2304
- insights.forget();
2305
- }
2306
- };
2307
- const handlePersonalizationResult = (data) => {
2308
- insights.personalizationResult(data);
2309
- };
2310
- const handleTestResult = (result) => {
2311
- insights.testResult(result);
2312
- };
2313
- const handleGoalConvert = (result) => {
2314
- insights.goalConvert(result.goalId);
2315
- };
2316
- const handleScoreChange = (scores) => {
2317
- insights.scoresChange(scores);
2318
- };
2319
- context.storage.events.on("goalConverted", handleGoalConvert);
2320
- context.storage.events.on("consentUpdated", consentChanged);
2321
- context.events.on("personalizationResult", handlePersonalizationResult);
2322
- context.events.on("testResult", handleTestResult);
2323
- context.events.on("scoresUpdated", handleScoreChange);
2324
- if (context.storage.data.consent) {
2325
- consentChanged();
2326
- }
2327
- return () => {
2328
- context.storage.events.off("consentUpdated", consentChanged);
2329
- context.storage.events.off("goalConverted", handleGoalConvert);
2330
- context.events.off("personalizationResult", handlePersonalizationResult);
2331
- context.events.off("testResult", handleTestResult);
2332
- context.events.off("scoresUpdated", handleScoreChange);
2333
- };
2334
- },
2335
- update: (context) => {
2336
- if (context.url && context.url !== previousUrl) {
2337
- previousUrl = context.url;
2338
- insights.pageHit();
2339
- }
2340
- },
2341
- forget: () => {
2342
- insights.forget();
2343
- }
2344
- };
2345
- };
2346
- var generalRandomId = () => {
2347
- const id = v4();
2348
- return id.replaceAll("-", "").toLowerCase();
2349
- };
2350
-
2351
1912
  // src/logging/enableConsoleLogDrain.ts
2352
1913
  import rfdc2 from "rfdc";
2353
1914
 
@@ -2551,7 +2112,6 @@ export {
2551
2112
  enableConsoleLogDrain,
2552
2113
  enableContextDevTools,
2553
2114
  enableDebugConsoleLogDrain,
2554
- enableUniformInsights,
2555
2115
  evaluateVariantMatch,
2556
2116
  eventEvaluator,
2557
2117
  explainStringMatch,