@uniformdev/context 20.34.3-alpha.70 → 20.35.1-alpha.188
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/api/api.d.mts +1 -1
- package/dist/api/api.d.ts +1 -1
- package/dist/index.d.mts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.esm.js +23 -7
- package/dist/index.js +23 -7
- package/dist/index.mjs +23 -7
- package/dist/{types-BxuNEj-w.d.mts → types-CKTfVAJs.d.mts} +5 -4
- package/dist/{types-BxuNEj-w.d.ts → types-CKTfVAJs.d.ts} +5 -4
- package/dist/types-HcKr1VVF.d.mts +1403 -0
- package/dist/types-HcKr1VVF.d.ts +1403 -0
- package/package.json +3 -5
package/dist/api/api.d.mts
CHANGED
package/dist/api/api.d.ts
CHANGED
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { O as OutputSeverity, L as LogDrain, C as ContextPlugin, S as ScoreVector, A as AggregateDimension, T as TransitionDataStore, a as StorageCommands, V as VisitorData, Q as Quirks, b as TransitionDataStoreOptions, D as DecayFunction, c as CriteriaEvaluator, d as StringMatch, e as VariantMatchCriteria, f as LogMessage, P as PersonalizedVariant, g as PersonalizeOptions, h as Context, i as PersonalizedResult, j as VariationMatchDimensionCriteria, k as PersonalizationSelectionAlgorithmOptions, l as DevToolsEvents } from './types-
|
|
2
|
-
export { a7 as AggregateDimensionInput, ad as BehaviorTag, m as CONTEXTUAL_EDITING_TEST_NAME, n as CONTEXTUAL_EDITING_TEST_SELECTED_VARIANT_ID, aF as CompositionMetadata, u as ContextEvents, v as ContextInstance, q as ContextOptions, aG as ContextState, aH as ContextStateUpdate, Z as CriteriaEvaluatorParameters, Y as CriteriaEvaluatorResult, au as DecayOptions, y as DevToolsActions, E as DevToolsDataEvent, z as DevToolsEvent, I as DevToolsForgetEvent, F as DevToolsHelloEvent, B as DevToolsLogEvent, H as DevToolsRawCommandsEvent, x as DevToolsState, w as DevToolsUiVersion, G as DevToolsUpdateEvent, ab as DimensionMatch, a4 as EnrichmentCategory, aA as EnrichmentData, aD as EventData, aI as GoalStateUpdate, az as Goals, X as GroupCriteriaEvaluator, an as IdentifyCommand, U as LogMessageGroup, R as LogMessageSingle, J as LogMessages, W as ManifestInstance, $ as ManifestV2, M as MessageCategory, N as MessageFunc, ai as ModifyScoreCommand, aj as ModifySessionScoreCommand, a5 as NumberMatch, s as PersonalizationEvent, r as PersonalizationEventVariantId, a0 as PersonalizationManifest, o as PersonalizationSelectionAlgorithm, p as PersonalizationSelectionAlgorithms, aB as PersonalizeControlVariant, aC as PersonalizeVariants, ac as QuirkMatch, as as SERVER_STATE_ID, ar as ServerToClientTransitionState, ak as SetConsentCommand, ao as SetControlGroupCommand, ah as SetGoalCommand, ap as SetPersonalizeVariantControlCommand, al as SetQuirkCommand, am as SetTestCommand, K as Severity, a1 as Signal, a3 as SignalCriteria, a2 as SignalCriteriaGroup, _ as SignalData, ag as StorageCommand, a6 as TestDefinition, t as TestEvent, a8 as TestOptions, af as TestResult, ae as TestVariant, ay as Tests, at as TransitionDataStoreEvents, aa as VariationMatchMetadata, ax as VisitorDataStore, aw as VisitorDataStoreEvents, av as VisitorDataStoreOptions, aq as areCommandsEqual, aE as emptyVisitorData, a9 as testVariations } from './types-
|
|
1
|
+
import { O as OutputSeverity, L as LogDrain, C as ContextPlugin, S as ScoreVector, A as AggregateDimension, T as TransitionDataStore, a as StorageCommands, V as VisitorData, Q as Quirks, b as TransitionDataStoreOptions, D as DecayFunction, c as CriteriaEvaluator, d as StringMatch, e as VariantMatchCriteria, f as LogMessage, P as PersonalizedVariant, g as PersonalizeOptions, h as Context, i as PersonalizedResult, j as VariationMatchDimensionCriteria, k as PersonalizationSelectionAlgorithmOptions, l as DevToolsEvents } from './types-HcKr1VVF.mjs';
|
|
2
|
+
export { a7 as AggregateDimensionInput, ad as BehaviorTag, m as CONTEXTUAL_EDITING_TEST_NAME, n as CONTEXTUAL_EDITING_TEST_SELECTED_VARIANT_ID, aF as CompositionMetadata, u as ContextEvents, v as ContextInstance, q as ContextOptions, aG as ContextState, aH as ContextStateUpdate, Z as CriteriaEvaluatorParameters, Y as CriteriaEvaluatorResult, au as DecayOptions, y as DevToolsActions, E as DevToolsDataEvent, z as DevToolsEvent, I as DevToolsForgetEvent, F as DevToolsHelloEvent, B as DevToolsLogEvent, H as DevToolsRawCommandsEvent, x as DevToolsState, w as DevToolsUiVersion, G as DevToolsUpdateEvent, ab as DimensionMatch, a4 as EnrichmentCategory, aA as EnrichmentData, aD as EventData, aI as GoalStateUpdate, az as Goals, X as GroupCriteriaEvaluator, an as IdentifyCommand, U as LogMessageGroup, R as LogMessageSingle, J as LogMessages, W as ManifestInstance, $ as ManifestV2, M as MessageCategory, N as MessageFunc, ai as ModifyScoreCommand, aj as ModifySessionScoreCommand, a5 as NumberMatch, s as PersonalizationEvent, r as PersonalizationEventVariantId, a0 as PersonalizationManifest, o as PersonalizationSelectionAlgorithm, p as PersonalizationSelectionAlgorithms, aB as PersonalizeControlVariant, aC as PersonalizeVariants, ac as QuirkMatch, as as SERVER_STATE_ID, ar as ServerToClientTransitionState, ak as SetConsentCommand, ao as SetControlGroupCommand, ah as SetGoalCommand, ap as SetPersonalizeVariantControlCommand, al as SetQuirkCommand, am as SetTestCommand, K as Severity, a1 as Signal, a3 as SignalCriteria, a2 as SignalCriteriaGroup, _ as SignalData, ag as StorageCommand, a6 as TestDefinition, t as TestEvent, a8 as TestOptions, af as TestResult, ae as TestVariant, ay as Tests, at as TransitionDataStoreEvents, aa as VariationMatchMetadata, ax as VisitorDataStore, aw as VisitorDataStoreEvents, av as VisitorDataStoreOptions, aq as areCommandsEqual, aE as emptyVisitorData, a9 as testVariations } from './types-HcKr1VVF.mjs';
|
|
3
3
|
import Cookies from 'js-cookie';
|
|
4
4
|
import 'mitt';
|
|
5
5
|
|
|
@@ -234,7 +234,7 @@ type EnableUniformInsightsOptions = {
|
|
|
234
234
|
endpoint: InsightsEndpoint;
|
|
235
235
|
};
|
|
236
236
|
/**
|
|
237
|
-
* @deprecated Use `import { enableUniformInsights } from '@uniformdev/
|
|
237
|
+
* @deprecated Use `import { enableUniformInsights } from '@uniformdev/insights'` instead
|
|
238
238
|
*/
|
|
239
239
|
declare const enableUniformInsights: (options: EnableUniformInsightsOptions) => ContextPlugin;
|
|
240
240
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { O as OutputSeverity, L as LogDrain, C as ContextPlugin, S as ScoreVector, A as AggregateDimension, T as TransitionDataStore, a as StorageCommands, V as VisitorData, Q as Quirks, b as TransitionDataStoreOptions, D as DecayFunction, c as CriteriaEvaluator, d as StringMatch, e as VariantMatchCriteria, f as LogMessage, P as PersonalizedVariant, g as PersonalizeOptions, h as Context, i as PersonalizedResult, j as VariationMatchDimensionCriteria, k as PersonalizationSelectionAlgorithmOptions, l as DevToolsEvents } from './types-
|
|
2
|
-
export { a7 as AggregateDimensionInput, ad as BehaviorTag, m as CONTEXTUAL_EDITING_TEST_NAME, n as CONTEXTUAL_EDITING_TEST_SELECTED_VARIANT_ID, aF as CompositionMetadata, u as ContextEvents, v as ContextInstance, q as ContextOptions, aG as ContextState, aH as ContextStateUpdate, Z as CriteriaEvaluatorParameters, Y as CriteriaEvaluatorResult, au as DecayOptions, y as DevToolsActions, E as DevToolsDataEvent, z as DevToolsEvent, I as DevToolsForgetEvent, F as DevToolsHelloEvent, B as DevToolsLogEvent, H as DevToolsRawCommandsEvent, x as DevToolsState, w as DevToolsUiVersion, G as DevToolsUpdateEvent, ab as DimensionMatch, a4 as EnrichmentCategory, aA as EnrichmentData, aD as EventData, aI as GoalStateUpdate, az as Goals, X as GroupCriteriaEvaluator, an as IdentifyCommand, U as LogMessageGroup, R as LogMessageSingle, J as LogMessages, W as ManifestInstance, $ as ManifestV2, M as MessageCategory, N as MessageFunc, ai as ModifyScoreCommand, aj as ModifySessionScoreCommand, a5 as NumberMatch, s as PersonalizationEvent, r as PersonalizationEventVariantId, a0 as PersonalizationManifest, o as PersonalizationSelectionAlgorithm, p as PersonalizationSelectionAlgorithms, aB as PersonalizeControlVariant, aC as PersonalizeVariants, ac as QuirkMatch, as as SERVER_STATE_ID, ar as ServerToClientTransitionState, ak as SetConsentCommand, ao as SetControlGroupCommand, ah as SetGoalCommand, ap as SetPersonalizeVariantControlCommand, al as SetQuirkCommand, am as SetTestCommand, K as Severity, a1 as Signal, a3 as SignalCriteria, a2 as SignalCriteriaGroup, _ as SignalData, ag as StorageCommand, a6 as TestDefinition, t as TestEvent, a8 as TestOptions, af as TestResult, ae as TestVariant, ay as Tests, at as TransitionDataStoreEvents, aa as VariationMatchMetadata, ax as VisitorDataStore, aw as VisitorDataStoreEvents, av as VisitorDataStoreOptions, aq as areCommandsEqual, aE as emptyVisitorData, a9 as testVariations } from './types-
|
|
1
|
+
import { O as OutputSeverity, L as LogDrain, C as ContextPlugin, S as ScoreVector, A as AggregateDimension, T as TransitionDataStore, a as StorageCommands, V as VisitorData, Q as Quirks, b as TransitionDataStoreOptions, D as DecayFunction, c as CriteriaEvaluator, d as StringMatch, e as VariantMatchCriteria, f as LogMessage, P as PersonalizedVariant, g as PersonalizeOptions, h as Context, i as PersonalizedResult, j as VariationMatchDimensionCriteria, k as PersonalizationSelectionAlgorithmOptions, l as DevToolsEvents } from './types-HcKr1VVF.js';
|
|
2
|
+
export { a7 as AggregateDimensionInput, ad as BehaviorTag, m as CONTEXTUAL_EDITING_TEST_NAME, n as CONTEXTUAL_EDITING_TEST_SELECTED_VARIANT_ID, aF as CompositionMetadata, u as ContextEvents, v as ContextInstance, q as ContextOptions, aG as ContextState, aH as ContextStateUpdate, Z as CriteriaEvaluatorParameters, Y as CriteriaEvaluatorResult, au as DecayOptions, y as DevToolsActions, E as DevToolsDataEvent, z as DevToolsEvent, I as DevToolsForgetEvent, F as DevToolsHelloEvent, B as DevToolsLogEvent, H as DevToolsRawCommandsEvent, x as DevToolsState, w as DevToolsUiVersion, G as DevToolsUpdateEvent, ab as DimensionMatch, a4 as EnrichmentCategory, aA as EnrichmentData, aD as EventData, aI as GoalStateUpdate, az as Goals, X as GroupCriteriaEvaluator, an as IdentifyCommand, U as LogMessageGroup, R as LogMessageSingle, J as LogMessages, W as ManifestInstance, $ as ManifestV2, M as MessageCategory, N as MessageFunc, ai as ModifyScoreCommand, aj as ModifySessionScoreCommand, a5 as NumberMatch, s as PersonalizationEvent, r as PersonalizationEventVariantId, a0 as PersonalizationManifest, o as PersonalizationSelectionAlgorithm, p as PersonalizationSelectionAlgorithms, aB as PersonalizeControlVariant, aC as PersonalizeVariants, ac as QuirkMatch, as as SERVER_STATE_ID, ar as ServerToClientTransitionState, ak as SetConsentCommand, ao as SetControlGroupCommand, ah as SetGoalCommand, ap as SetPersonalizeVariantControlCommand, al as SetQuirkCommand, am as SetTestCommand, K as Severity, a1 as Signal, a3 as SignalCriteria, a2 as SignalCriteriaGroup, _ as SignalData, ag as StorageCommand, a6 as TestDefinition, t as TestEvent, a8 as TestOptions, af as TestResult, ae as TestVariant, ay as Tests, at as TransitionDataStoreEvents, aa as VariationMatchMetadata, ax as VisitorDataStore, aw as VisitorDataStoreEvents, av as VisitorDataStoreOptions, aq as areCommandsEqual, aE as emptyVisitorData, a9 as testVariations } from './types-HcKr1VVF.js';
|
|
3
3
|
import Cookies from 'js-cookie';
|
|
4
4
|
import 'mitt';
|
|
5
5
|
|
|
@@ -234,7 +234,7 @@ type EnableUniformInsightsOptions = {
|
|
|
234
234
|
endpoint: InsightsEndpoint;
|
|
235
235
|
};
|
|
236
236
|
/**
|
|
237
|
-
* @deprecated Use `import { enableUniformInsights } from '@uniformdev/
|
|
237
|
+
* @deprecated Use `import { enableUniformInsights } from '@uniformdev/insights'` instead
|
|
238
238
|
*/
|
|
239
239
|
declare const enableUniformInsights: (options: EnableUniformInsightsOptions) => ContextPlugin;
|
|
240
240
|
|
package/dist/index.esm.js
CHANGED
|
@@ -227,6 +227,10 @@ var ManifestInstance = class {
|
|
|
227
227
|
}
|
|
228
228
|
return (_d = (_c = __privateGet(this, _mf).pz) == null ? void 0 : _c.enr) == null ? void 0 : _d[scoreKey.substring(0, enrichmentIndex)];
|
|
229
229
|
}
|
|
230
|
+
getAggregateDimensionByKey(scoreKey) {
|
|
231
|
+
var _a, _b;
|
|
232
|
+
return (_b = (_a = __privateGet(this, _mf).pz) == null ? void 0 : _a.agg) == null ? void 0 : _b[scoreKey];
|
|
233
|
+
}
|
|
230
234
|
};
|
|
231
235
|
_mf = new WeakMap();
|
|
232
236
|
_signalInstances = new WeakMap();
|
|
@@ -1740,6 +1744,9 @@ var Context = class {
|
|
|
1740
1744
|
__privateSet(this, _scores, state.ssv);
|
|
1741
1745
|
__privateGet(this, _mitt3).emit("log", ["debug", 130, state]);
|
|
1742
1746
|
}
|
|
1747
|
+
if (state.compositionMetadata) {
|
|
1748
|
+
__privateGet(this, _state).compositionMetadata = state.compositionMetadata;
|
|
1749
|
+
}
|
|
1743
1750
|
},
|
|
1744
1751
|
onLogMessage: (message) => __privateGet(this, _mitt3).emit("log", message)
|
|
1745
1752
|
});
|
|
@@ -1798,7 +1805,7 @@ var Context = class {
|
|
|
1798
1805
|
* i.e. pushing the same URL or cookies as before,
|
|
1799
1806
|
* will NOT result in a recomputation of signal state.
|
|
1800
1807
|
*/
|
|
1801
|
-
async update(
|
|
1808
|
+
async update(newData) {
|
|
1802
1809
|
var _a, _b, _c, _d, _e;
|
|
1803
1810
|
const commands = [];
|
|
1804
1811
|
const newServerSideTests = {};
|
|
@@ -1892,10 +1899,16 @@ var Context = class {
|
|
|
1892
1899
|
scores: __privateGet(this, _serverTransitionState) ? __privateMethod(this, _Context_instances, calculateScores_fn).call(this, this.storage.data) : __privateGet(this, _scores)
|
|
1893
1900
|
})
|
|
1894
1901
|
);
|
|
1902
|
+
const previousCompositionMetadata = __privateGet(this, _state).compositionMetadata;
|
|
1895
1903
|
__privateSet(this, _state, {
|
|
1896
1904
|
...__privateGet(this, _state),
|
|
1897
1905
|
...newData
|
|
1898
1906
|
});
|
|
1907
|
+
if (newData.compositionMetadata && // deep equal is not too bad, as we only have 1 level of depth in dynamic inputs
|
|
1908
|
+
!dequal5(previousCompositionMetadata, __privateGet(this, _state).compositionMetadata)) {
|
|
1909
|
+
__privateGet(this, _mitt3).emit("canvasDataUpdated", __privateGet(this, _state).compositionMetadata);
|
|
1910
|
+
__privateGet(this, _state).compositionMetadata = newData.compositionMetadata;
|
|
1911
|
+
}
|
|
1899
1912
|
await this.storage.updateData(commands);
|
|
1900
1913
|
if (__privateGet(this, _serverTransitionState)) {
|
|
1901
1914
|
await this.processServerCommands({
|
|
@@ -1908,7 +1921,6 @@ var Context = class {
|
|
|
1908
1921
|
name: testName,
|
|
1909
1922
|
variantId: testVariantId,
|
|
1910
1923
|
variantAssigned: true,
|
|
1911
|
-
// @todo this needs to be fixed, we should provide correct is control as well as canvas data
|
|
1912
1924
|
control: false,
|
|
1913
1925
|
compositionMetadata: void 0
|
|
1914
1926
|
});
|
|
@@ -1926,7 +1938,7 @@ var Context = class {
|
|
|
1926
1938
|
if (!plugin.update) {
|
|
1927
1939
|
continue;
|
|
1928
1940
|
}
|
|
1929
|
-
await plugin.update(newData);
|
|
1941
|
+
await plugin.update(newData, __privateGet(this, _scores));
|
|
1930
1942
|
}
|
|
1931
1943
|
}
|
|
1932
1944
|
(_e = __privateGet(this, _commands)) == null ? void 0 : _e.push(...commands);
|
|
@@ -2055,7 +2067,10 @@ var Context = class {
|
|
|
2055
2067
|
* @param fromAllDevices for an identified user, whether to delete all their data (for the entire account) - true, or data for this device (sign out) - false
|
|
2056
2068
|
*/
|
|
2057
2069
|
async forget(fromAllDevices) {
|
|
2058
|
-
|
|
2070
|
+
const previousCompositionMetadata = __privateGet(this, _state).compositionMetadata;
|
|
2071
|
+
__privateSet(this, _state, {
|
|
2072
|
+
compositionMetadata: previousCompositionMetadata
|
|
2073
|
+
});
|
|
2059
2074
|
if (__privateGet(this, _plugins)) {
|
|
2060
2075
|
for (let i = 0; i < __privateGet(this, _plugins).length; i++) {
|
|
2061
2076
|
const plugin = __privateGet(this, _plugins)[i];
|
|
@@ -2078,7 +2093,8 @@ var Context = class {
|
|
|
2078
2093
|
ssv: __privateGet(this, _scores),
|
|
2079
2094
|
tests: {},
|
|
2080
2095
|
personalizeVariants: this.storage.data.personalizeVariants,
|
|
2081
|
-
commands: __privateGet(this, _commands)
|
|
2096
|
+
commands: __privateGet(this, _commands),
|
|
2097
|
+
compositionMetadata: __privateGet(this, _state).compositionMetadata
|
|
2082
2098
|
};
|
|
2083
2099
|
const allTests = this.storage.data.tests;
|
|
2084
2100
|
Object.entries(allTests).map(([testName, testValue]) => {
|
|
@@ -2323,10 +2339,10 @@ var getBasePayload = () => {
|
|
|
2323
2339
|
href: window.location.href
|
|
2324
2340
|
};
|
|
2325
2341
|
};
|
|
2326
|
-
var generateVisitorId =
|
|
2342
|
+
var generateVisitorId = () => {
|
|
2327
2343
|
return `visitor_${generalRandomId()}`;
|
|
2328
2344
|
};
|
|
2329
|
-
var generateSessionId =
|
|
2345
|
+
var generateSessionId = () => {
|
|
2330
2346
|
return `session_${generalRandomId()}`;
|
|
2331
2347
|
};
|
|
2332
2348
|
var generatePageId = () => {
|
package/dist/index.js
CHANGED
|
@@ -320,6 +320,10 @@ var ManifestInstance = class {
|
|
|
320
320
|
}
|
|
321
321
|
return (_d = (_c = __privateGet(this, _mf).pz) == null ? void 0 : _c.enr) == null ? void 0 : _d[scoreKey.substring(0, enrichmentIndex)];
|
|
322
322
|
}
|
|
323
|
+
getAggregateDimensionByKey(scoreKey) {
|
|
324
|
+
var _a, _b;
|
|
325
|
+
return (_b = (_a = __privateGet(this, _mf).pz) == null ? void 0 : _a.agg) == null ? void 0 : _b[scoreKey];
|
|
326
|
+
}
|
|
323
327
|
};
|
|
324
328
|
_mf = new WeakMap();
|
|
325
329
|
_signalInstances = new WeakMap();
|
|
@@ -1833,6 +1837,9 @@ var Context = class {
|
|
|
1833
1837
|
__privateSet(this, _scores, state.ssv);
|
|
1834
1838
|
__privateGet(this, _mitt3).emit("log", ["debug", 130, state]);
|
|
1835
1839
|
}
|
|
1840
|
+
if (state.compositionMetadata) {
|
|
1841
|
+
__privateGet(this, _state).compositionMetadata = state.compositionMetadata;
|
|
1842
|
+
}
|
|
1836
1843
|
},
|
|
1837
1844
|
onLogMessage: (message) => __privateGet(this, _mitt3).emit("log", message)
|
|
1838
1845
|
});
|
|
@@ -1891,7 +1898,7 @@ var Context = class {
|
|
|
1891
1898
|
* i.e. pushing the same URL or cookies as before,
|
|
1892
1899
|
* will NOT result in a recomputation of signal state.
|
|
1893
1900
|
*/
|
|
1894
|
-
async update(
|
|
1901
|
+
async update(newData) {
|
|
1895
1902
|
var _a, _b, _c, _d, _e;
|
|
1896
1903
|
const commands = [];
|
|
1897
1904
|
const newServerSideTests = {};
|
|
@@ -1985,10 +1992,16 @@ var Context = class {
|
|
|
1985
1992
|
scores: __privateGet(this, _serverTransitionState) ? __privateMethod(this, _Context_instances, calculateScores_fn).call(this, this.storage.data) : __privateGet(this, _scores)
|
|
1986
1993
|
})
|
|
1987
1994
|
);
|
|
1995
|
+
const previousCompositionMetadata = __privateGet(this, _state).compositionMetadata;
|
|
1988
1996
|
__privateSet(this, _state, {
|
|
1989
1997
|
...__privateGet(this, _state),
|
|
1990
1998
|
...newData
|
|
1991
1999
|
});
|
|
2000
|
+
if (newData.compositionMetadata && // deep equal is not too bad, as we only have 1 level of depth in dynamic inputs
|
|
2001
|
+
!(0, import_lite5.dequal)(previousCompositionMetadata, __privateGet(this, _state).compositionMetadata)) {
|
|
2002
|
+
__privateGet(this, _mitt3).emit("canvasDataUpdated", __privateGet(this, _state).compositionMetadata);
|
|
2003
|
+
__privateGet(this, _state).compositionMetadata = newData.compositionMetadata;
|
|
2004
|
+
}
|
|
1992
2005
|
await this.storage.updateData(commands);
|
|
1993
2006
|
if (__privateGet(this, _serverTransitionState)) {
|
|
1994
2007
|
await this.processServerCommands({
|
|
@@ -2001,7 +2014,6 @@ var Context = class {
|
|
|
2001
2014
|
name: testName,
|
|
2002
2015
|
variantId: testVariantId,
|
|
2003
2016
|
variantAssigned: true,
|
|
2004
|
-
// @todo this needs to be fixed, we should provide correct is control as well as canvas data
|
|
2005
2017
|
control: false,
|
|
2006
2018
|
compositionMetadata: void 0
|
|
2007
2019
|
});
|
|
@@ -2019,7 +2031,7 @@ var Context = class {
|
|
|
2019
2031
|
if (!plugin.update) {
|
|
2020
2032
|
continue;
|
|
2021
2033
|
}
|
|
2022
|
-
await plugin.update(newData);
|
|
2034
|
+
await plugin.update(newData, __privateGet(this, _scores));
|
|
2023
2035
|
}
|
|
2024
2036
|
}
|
|
2025
2037
|
(_e = __privateGet(this, _commands)) == null ? void 0 : _e.push(...commands);
|
|
@@ -2148,7 +2160,10 @@ var Context = class {
|
|
|
2148
2160
|
* @param fromAllDevices for an identified user, whether to delete all their data (for the entire account) - true, or data for this device (sign out) - false
|
|
2149
2161
|
*/
|
|
2150
2162
|
async forget(fromAllDevices) {
|
|
2151
|
-
|
|
2163
|
+
const previousCompositionMetadata = __privateGet(this, _state).compositionMetadata;
|
|
2164
|
+
__privateSet(this, _state, {
|
|
2165
|
+
compositionMetadata: previousCompositionMetadata
|
|
2166
|
+
});
|
|
2152
2167
|
if (__privateGet(this, _plugins)) {
|
|
2153
2168
|
for (let i = 0; i < __privateGet(this, _plugins).length; i++) {
|
|
2154
2169
|
const plugin = __privateGet(this, _plugins)[i];
|
|
@@ -2171,7 +2186,8 @@ var Context = class {
|
|
|
2171
2186
|
ssv: __privateGet(this, _scores),
|
|
2172
2187
|
tests: {},
|
|
2173
2188
|
personalizeVariants: this.storage.data.personalizeVariants,
|
|
2174
|
-
commands: __privateGet(this, _commands)
|
|
2189
|
+
commands: __privateGet(this, _commands),
|
|
2190
|
+
compositionMetadata: __privateGet(this, _state).compositionMetadata
|
|
2175
2191
|
};
|
|
2176
2192
|
const allTests = this.storage.data.tests;
|
|
2177
2193
|
Object.entries(allTests).map(([testName, testValue]) => {
|
|
@@ -2416,10 +2432,10 @@ var getBasePayload = () => {
|
|
|
2416
2432
|
href: window.location.href
|
|
2417
2433
|
};
|
|
2418
2434
|
};
|
|
2419
|
-
var generateVisitorId =
|
|
2435
|
+
var generateVisitorId = () => {
|
|
2420
2436
|
return `visitor_${generalRandomId()}`;
|
|
2421
2437
|
};
|
|
2422
|
-
var generateSessionId =
|
|
2438
|
+
var generateSessionId = () => {
|
|
2423
2439
|
return `session_${generalRandomId()}`;
|
|
2424
2440
|
};
|
|
2425
2441
|
var generatePageId = () => {
|
package/dist/index.mjs
CHANGED
|
@@ -227,6 +227,10 @@ var ManifestInstance = class {
|
|
|
227
227
|
}
|
|
228
228
|
return (_d = (_c = __privateGet(this, _mf).pz) == null ? void 0 : _c.enr) == null ? void 0 : _d[scoreKey.substring(0, enrichmentIndex)];
|
|
229
229
|
}
|
|
230
|
+
getAggregateDimensionByKey(scoreKey) {
|
|
231
|
+
var _a, _b;
|
|
232
|
+
return (_b = (_a = __privateGet(this, _mf).pz) == null ? void 0 : _a.agg) == null ? void 0 : _b[scoreKey];
|
|
233
|
+
}
|
|
230
234
|
};
|
|
231
235
|
_mf = new WeakMap();
|
|
232
236
|
_signalInstances = new WeakMap();
|
|
@@ -1740,6 +1744,9 @@ var Context = class {
|
|
|
1740
1744
|
__privateSet(this, _scores, state.ssv);
|
|
1741
1745
|
__privateGet(this, _mitt3).emit("log", ["debug", 130, state]);
|
|
1742
1746
|
}
|
|
1747
|
+
if (state.compositionMetadata) {
|
|
1748
|
+
__privateGet(this, _state).compositionMetadata = state.compositionMetadata;
|
|
1749
|
+
}
|
|
1743
1750
|
},
|
|
1744
1751
|
onLogMessage: (message) => __privateGet(this, _mitt3).emit("log", message)
|
|
1745
1752
|
});
|
|
@@ -1798,7 +1805,7 @@ var Context = class {
|
|
|
1798
1805
|
* i.e. pushing the same URL or cookies as before,
|
|
1799
1806
|
* will NOT result in a recomputation of signal state.
|
|
1800
1807
|
*/
|
|
1801
|
-
async update(
|
|
1808
|
+
async update(newData) {
|
|
1802
1809
|
var _a, _b, _c, _d, _e;
|
|
1803
1810
|
const commands = [];
|
|
1804
1811
|
const newServerSideTests = {};
|
|
@@ -1892,10 +1899,16 @@ var Context = class {
|
|
|
1892
1899
|
scores: __privateGet(this, _serverTransitionState) ? __privateMethod(this, _Context_instances, calculateScores_fn).call(this, this.storage.data) : __privateGet(this, _scores)
|
|
1893
1900
|
})
|
|
1894
1901
|
);
|
|
1902
|
+
const previousCompositionMetadata = __privateGet(this, _state).compositionMetadata;
|
|
1895
1903
|
__privateSet(this, _state, {
|
|
1896
1904
|
...__privateGet(this, _state),
|
|
1897
1905
|
...newData
|
|
1898
1906
|
});
|
|
1907
|
+
if (newData.compositionMetadata && // deep equal is not too bad, as we only have 1 level of depth in dynamic inputs
|
|
1908
|
+
!dequal5(previousCompositionMetadata, __privateGet(this, _state).compositionMetadata)) {
|
|
1909
|
+
__privateGet(this, _mitt3).emit("canvasDataUpdated", __privateGet(this, _state).compositionMetadata);
|
|
1910
|
+
__privateGet(this, _state).compositionMetadata = newData.compositionMetadata;
|
|
1911
|
+
}
|
|
1899
1912
|
await this.storage.updateData(commands);
|
|
1900
1913
|
if (__privateGet(this, _serverTransitionState)) {
|
|
1901
1914
|
await this.processServerCommands({
|
|
@@ -1908,7 +1921,6 @@ var Context = class {
|
|
|
1908
1921
|
name: testName,
|
|
1909
1922
|
variantId: testVariantId,
|
|
1910
1923
|
variantAssigned: true,
|
|
1911
|
-
// @todo this needs to be fixed, we should provide correct is control as well as canvas data
|
|
1912
1924
|
control: false,
|
|
1913
1925
|
compositionMetadata: void 0
|
|
1914
1926
|
});
|
|
@@ -1926,7 +1938,7 @@ var Context = class {
|
|
|
1926
1938
|
if (!plugin.update) {
|
|
1927
1939
|
continue;
|
|
1928
1940
|
}
|
|
1929
|
-
await plugin.update(newData);
|
|
1941
|
+
await plugin.update(newData, __privateGet(this, _scores));
|
|
1930
1942
|
}
|
|
1931
1943
|
}
|
|
1932
1944
|
(_e = __privateGet(this, _commands)) == null ? void 0 : _e.push(...commands);
|
|
@@ -2055,7 +2067,10 @@ var Context = class {
|
|
|
2055
2067
|
* @param fromAllDevices for an identified user, whether to delete all their data (for the entire account) - true, or data for this device (sign out) - false
|
|
2056
2068
|
*/
|
|
2057
2069
|
async forget(fromAllDevices) {
|
|
2058
|
-
|
|
2070
|
+
const previousCompositionMetadata = __privateGet(this, _state).compositionMetadata;
|
|
2071
|
+
__privateSet(this, _state, {
|
|
2072
|
+
compositionMetadata: previousCompositionMetadata
|
|
2073
|
+
});
|
|
2059
2074
|
if (__privateGet(this, _plugins)) {
|
|
2060
2075
|
for (let i = 0; i < __privateGet(this, _plugins).length; i++) {
|
|
2061
2076
|
const plugin = __privateGet(this, _plugins)[i];
|
|
@@ -2078,7 +2093,8 @@ var Context = class {
|
|
|
2078
2093
|
ssv: __privateGet(this, _scores),
|
|
2079
2094
|
tests: {},
|
|
2080
2095
|
personalizeVariants: this.storage.data.personalizeVariants,
|
|
2081
|
-
commands: __privateGet(this, _commands)
|
|
2096
|
+
commands: __privateGet(this, _commands),
|
|
2097
|
+
compositionMetadata: __privateGet(this, _state).compositionMetadata
|
|
2082
2098
|
};
|
|
2083
2099
|
const allTests = this.storage.data.tests;
|
|
2084
2100
|
Object.entries(allTests).map(([testName, testValue]) => {
|
|
@@ -2323,10 +2339,10 @@ var getBasePayload = () => {
|
|
|
2323
2339
|
href: window.location.href
|
|
2324
2340
|
};
|
|
2325
2341
|
};
|
|
2326
|
-
var generateVisitorId =
|
|
2342
|
+
var generateVisitorId = () => {
|
|
2327
2343
|
return `visitor_${generalRandomId()}`;
|
|
2328
2344
|
};
|
|
2329
|
-
var generateSessionId =
|
|
2345
|
+
var generateSessionId = () => {
|
|
2330
2346
|
return `session_${generalRandomId()}`;
|
|
2331
2347
|
};
|
|
2332
2348
|
var generatePageId = () => {
|
|
@@ -390,6 +390,7 @@ declare class ManifestInstance {
|
|
|
390
390
|
*/
|
|
391
391
|
computeAggregateDimensions(primitiveScores: ScoreVector): ScoreVector;
|
|
392
392
|
getDimensionByKey(scoreKey: string): EnrichmentCategory | Signal | undefined;
|
|
393
|
+
getAggregateDimensionByKey(scoreKey: string): AggregateDimension | undefined;
|
|
393
394
|
}
|
|
394
395
|
|
|
395
396
|
interface paths {
|
|
@@ -1116,8 +1117,8 @@ type ContextPlugin = {
|
|
|
1116
1117
|
init?: (context: Context) => () => void;
|
|
1117
1118
|
/** Plugin-specific actions to perform when a user is forgotten */
|
|
1118
1119
|
forget?: () => Promise<void> | void;
|
|
1119
|
-
/** Plugin-specific actions to perform when the visitor context is updated */
|
|
1120
|
-
update?: (newData: Partial<ContextState
|
|
1120
|
+
/** Plugin-specific actions to perform when the visitor context is updated, second parameter is the recalculated scores after the update */
|
|
1121
|
+
update?: (newData: Partial<ContextState>, recalculatedScores: ScoreVector) => Promise<void> | void;
|
|
1121
1122
|
/**
|
|
1122
1123
|
* Allows the plugin to register named personalization selection algorithms
|
|
1123
1124
|
*
|
|
@@ -1246,7 +1247,7 @@ interface ContextInstance {
|
|
|
1246
1247
|
/**
|
|
1247
1248
|
* Updates the canvas data and emits a canvasDataUpdated event
|
|
1248
1249
|
*/
|
|
1249
|
-
updateCompositionMetadata(newData:
|
|
1250
|
+
updateCompositionMetadata(newData: CompositionMetadata): Promise<void>;
|
|
1250
1251
|
}
|
|
1251
1252
|
declare class Context implements ContextInstance {
|
|
1252
1253
|
#private;
|
|
@@ -1282,7 +1283,7 @@ declare class Context implements ContextInstance {
|
|
|
1282
1283
|
* i.e. pushing the same URL or cookies as before,
|
|
1283
1284
|
* will NOT result in a recomputation of signal state.
|
|
1284
1285
|
*/
|
|
1285
|
-
update(
|
|
1286
|
+
update(newData: Partial<ContextState>): Promise<void>;
|
|
1286
1287
|
processServerCommands({ serverCommands, commands, }: {
|
|
1287
1288
|
serverCommands: StorageCommands[] | undefined;
|
|
1288
1289
|
commands: StorageCommands[];
|
|
@@ -390,6 +390,7 @@ declare class ManifestInstance {
|
|
|
390
390
|
*/
|
|
391
391
|
computeAggregateDimensions(primitiveScores: ScoreVector): ScoreVector;
|
|
392
392
|
getDimensionByKey(scoreKey: string): EnrichmentCategory | Signal | undefined;
|
|
393
|
+
getAggregateDimensionByKey(scoreKey: string): AggregateDimension | undefined;
|
|
393
394
|
}
|
|
394
395
|
|
|
395
396
|
interface paths {
|
|
@@ -1116,8 +1117,8 @@ type ContextPlugin = {
|
|
|
1116
1117
|
init?: (context: Context) => () => void;
|
|
1117
1118
|
/** Plugin-specific actions to perform when a user is forgotten */
|
|
1118
1119
|
forget?: () => Promise<void> | void;
|
|
1119
|
-
/** Plugin-specific actions to perform when the visitor context is updated */
|
|
1120
|
-
update?: (newData: Partial<ContextState
|
|
1120
|
+
/** Plugin-specific actions to perform when the visitor context is updated, second parameter is the recalculated scores after the update */
|
|
1121
|
+
update?: (newData: Partial<ContextState>, recalculatedScores: ScoreVector) => Promise<void> | void;
|
|
1121
1122
|
/**
|
|
1122
1123
|
* Allows the plugin to register named personalization selection algorithms
|
|
1123
1124
|
*
|
|
@@ -1246,7 +1247,7 @@ interface ContextInstance {
|
|
|
1246
1247
|
/**
|
|
1247
1248
|
* Updates the canvas data and emits a canvasDataUpdated event
|
|
1248
1249
|
*/
|
|
1249
|
-
updateCompositionMetadata(newData:
|
|
1250
|
+
updateCompositionMetadata(newData: CompositionMetadata): Promise<void>;
|
|
1250
1251
|
}
|
|
1251
1252
|
declare class Context implements ContextInstance {
|
|
1252
1253
|
#private;
|
|
@@ -1282,7 +1283,7 @@ declare class Context implements ContextInstance {
|
|
|
1282
1283
|
* i.e. pushing the same URL or cookies as before,
|
|
1283
1284
|
* will NOT result in a recomputation of signal state.
|
|
1284
1285
|
*/
|
|
1285
|
-
update(
|
|
1286
|
+
update(newData: Partial<ContextState>): Promise<void>;
|
|
1286
1287
|
processServerCommands({ serverCommands, commands, }: {
|
|
1287
1288
|
serverCommands: StorageCommands[] | undefined;
|
|
1288
1289
|
commands: StorageCommands[];
|