pulse-updates 1.3.10 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +64 -5
- package/lib/commonjs/config.js +25 -0
- package/lib/commonjs/config.js.map +1 -1
- package/lib/commonjs/decisions.js +20 -6
- package/lib/commonjs/decisions.js.map +1 -1
- package/lib/commonjs/experiences.js +72 -0
- package/lib/commonjs/experiences.js.map +1 -0
- package/lib/commonjs/index.js +24 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/init.js +63 -17
- package/lib/commonjs/init.js.map +1 -1
- package/lib/commonjs/links.js +7 -1
- package/lib/commonjs/links.js.map +1 -1
- package/lib/commonjs/subject.js +44 -0
- package/lib/commonjs/subject.js.map +1 -0
- package/lib/module/config.js +24 -0
- package/lib/module/config.js.map +1 -1
- package/lib/module/decisions.js +20 -6
- package/lib/module/decisions.js.map +1 -1
- package/lib/module/experiences.js +66 -0
- package/lib/module/experiences.js.map +1 -0
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/init.js +64 -18
- package/lib/module/init.js.map +1 -1
- package/lib/module/links.js +7 -1
- package/lib/module/links.js.map +1 -1
- package/lib/module/subject.js +37 -0
- package/lib/module/subject.js.map +1 -0
- package/lib/typescript/config.d.ts +2 -0
- package/lib/typescript/config.d.ts.map +1 -1
- package/lib/typescript/decisions.d.ts +12 -0
- package/lib/typescript/decisions.d.ts.map +1 -1
- package/lib/typescript/experiences.d.ts +28 -0
- package/lib/typescript/experiences.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +2 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/init.d.ts +11 -0
- package/lib/typescript/init.d.ts.map +1 -1
- package/lib/typescript/links.d.ts +7 -16
- package/lib/typescript/links.d.ts.map +1 -1
- package/lib/typescript/subject.d.ts +12 -0
- package/lib/typescript/subject.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/config.ts +19 -0
- package/src/decisions.ts +36 -3
- package/src/experiences.ts +72 -0
- package/src/index.ts +2 -0
- package/src/init.ts +63 -19
- package/src/links.ts +14 -19
- package/src/subject.ts +47 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.normalizePulseAttributes = normalizePulseAttributes;
|
|
7
|
+
exports.pulseProfileAttributes = pulseProfileAttributes;
|
|
8
|
+
/** Scalar signals supplied by the host app. Never send contact details or credentials. */
|
|
9
|
+
|
|
10
|
+
/** Normalize the wire format shared by config and decisions. pulse.* belongs to the server. */
|
|
11
|
+
function normalizePulseAttributes(attributes) {
|
|
12
|
+
const result = {};
|
|
13
|
+
for (const [rawKey, value] of Object.entries(attributes ?? {})) {
|
|
14
|
+
const key = rawKey.trim();
|
|
15
|
+
if (!key || key.length > 128 || key.toLowerCase().startsWith('pulse.') || value == null) continue;
|
|
16
|
+
let scalar;
|
|
17
|
+
if (value instanceof Date) {
|
|
18
|
+
if (!Number.isFinite(value.getTime())) continue;
|
|
19
|
+
scalar = value.toISOString();
|
|
20
|
+
} else if (typeof value === 'number') {
|
|
21
|
+
if (!Number.isFinite(value)) continue;
|
|
22
|
+
scalar = String(value);
|
|
23
|
+
} else if (typeof value === 'string' || typeof value === 'boolean') scalar = String(value);else continue;
|
|
24
|
+
if (scalar.length > 1024) continue;
|
|
25
|
+
result[key] = scalar;
|
|
26
|
+
if (Object.keys(result).length >= 64) break;
|
|
27
|
+
}
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
function pulseProfileAttributes(profile) {
|
|
31
|
+
const attributes = normalizePulseAttributes(profile?.attributes);
|
|
32
|
+
if (profile?.registrationDate != null) {
|
|
33
|
+
// An explicit invalid backend date must not fall back to a conflicting custom value.
|
|
34
|
+
for (const key of Object.keys(attributes)) if (key.toLowerCase() === 'registeredat') delete attributes[key];
|
|
35
|
+
const raw = profile.registrationDate;
|
|
36
|
+
const date = raw instanceof Date ? raw : /^\d{4}-\d{2}-\d{2}(T.*(Z|[+-]\d{2}:\d{2}))?$/i.test(raw) ? new Date(raw) : null;
|
|
37
|
+
if (date && Number.isFinite(date.getTime())) {
|
|
38
|
+
if (Object.keys(attributes).length >= 64) delete attributes[Object.keys(attributes)[63]];
|
|
39
|
+
attributes.registeredAt = date.toISOString();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return attributes;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=subject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["normalizePulseAttributes","attributes","result","rawKey","value","Object","entries","key","trim","length","toLowerCase","startsWith","scalar","Date","Number","isFinite","getTime","toISOString","String","keys","pulseProfileAttributes","profile","registrationDate","raw","date","test","registeredAt"],"sourceRoot":"../../src","sources":["subject.ts"],"mappings":";;;;;;;AAAA;;AASA;AACO,SAASA,wBAAwBA,CACtCC,UAAgD,EACxB;EACxB,MAAMC,MAA8B,GAAG,CAAC,CAAC;EACzC,KAAK,MAAM,CAACC,MAAM,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACL,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE;IAC9D,MAAMM,GAAG,GAAGJ,MAAM,CAACK,IAAI,CAAC,CAAC;IACzB,IAAI,CAACD,GAAG,IAAIA,GAAG,CAACE,MAAM,GAAG,GAAG,IAAIF,GAAG,CAACG,WAAW,CAAC,CAAC,CAACC,UAAU,CAAC,QAAQ,CAAC,IAAIP,KAAK,IAAI,IAAI,EAAE;IACzF,IAAIQ,MAAc;IAClB,IAAIR,KAAK,YAAYS,IAAI,EAAE;MACzB,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACX,KAAK,CAACY,OAAO,CAAC,CAAC,CAAC,EAAE;MACvCJ,MAAM,GAAGR,KAAK,CAACa,WAAW,CAAC,CAAC;IAC9B,CAAC,MAAM,IAAI,OAAOb,KAAK,KAAK,QAAQ,EAAE;MACpC,IAAI,CAACU,MAAM,CAACC,QAAQ,CAACX,KAAK,CAAC,EAAE;MAC7BQ,MAAM,GAAGM,MAAM,CAACd,KAAK,CAAC;IACxB,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,SAAS,EAAEQ,MAAM,GAAGM,MAAM,CAACd,KAAK,CAAC,CAAC,KACtF;IACL,IAAIQ,MAAM,CAACH,MAAM,GAAG,IAAI,EAAE;IAC1BP,MAAM,CAACK,GAAG,CAAC,GAAGK,MAAM;IACpB,IAAIP,MAAM,CAACc,IAAI,CAACjB,MAAM,CAAC,CAACO,MAAM,IAAI,EAAE,EAAE;EACxC;EACA,OAAOP,MAAM;AACf;AAEO,SAASkB,sBAAsBA,CAACC,OAA0B,EAA0B;EACzF,MAAMpB,UAAU,GAAGD,wBAAwB,CAACqB,OAAO,EAAEpB,UAAU,CAAC;EAChE,IAAIoB,OAAO,EAAEC,gBAAgB,IAAI,IAAI,EAAE;IACrC;IACA,KAAK,MAAMf,GAAG,IAAIF,MAAM,CAACc,IAAI,CAAClB,UAAU,CAAC,EAAE,IAAIM,GAAG,CAACG,WAAW,CAAC,CAAC,KAAK,cAAc,EAAE,OAAOT,UAAU,CAACM,GAAG,CAAC;IAC3G,MAAMgB,GAAG,GAAGF,OAAO,CAACC,gBAAgB;IACpC,MAAME,IAAI,GAAGD,GAAG,YAAYV,IAAI,GAAGU,GAAG,GAAG,+CAA+C,CAACE,IAAI,CAACF,GAAG,CAAC,GAAG,IAAIV,IAAI,CAACU,GAAG,CAAC,GAAG,IAAI;IACzH,IAAIC,IAAI,IAAIV,MAAM,CAACC,QAAQ,CAACS,IAAI,CAACR,OAAO,CAAC,CAAC,CAAC,EAAE;MAC3C,IAAIX,MAAM,CAACc,IAAI,CAAClB,UAAU,CAAC,CAACQ,MAAM,IAAI,EAAE,EAAE,OAAOR,UAAU,CAACI,MAAM,CAACc,IAAI,CAAClB,UAAU,CAAC,CAAC,EAAE,CAAC,CAAE;MACzFA,UAAU,CAACyB,YAAY,GAAGF,IAAI,CAACP,WAAW,CAAC,CAAC;IAC9C;EACF;EACA,OAAOhB,UAAU;AACnB","ignoreList":[]}
|
package/lib/module/config.js
CHANGED
|
@@ -128,6 +128,30 @@ export function setConfigDefaults(more) {
|
|
|
128
128
|
};
|
|
129
129
|
}
|
|
130
130
|
|
|
131
|
+
/** Invalidate account-scoped values and pending responses before an identity change refresh. */
|
|
132
|
+
export function invalidateConfigContext() {
|
|
133
|
+
configGeneration += 1;
|
|
134
|
+
inFlight = null;
|
|
135
|
+
values = {};
|
|
136
|
+
experiments = [];
|
|
137
|
+
pending = null;
|
|
138
|
+
etag = null;
|
|
139
|
+
fetchedAt = 0;
|
|
140
|
+
verifiedAt = 0;
|
|
141
|
+
source = 'defaults';
|
|
142
|
+
signatureStatus = 'not-configured';
|
|
143
|
+
signatureKeyId = null;
|
|
144
|
+
reportedExposure = null;
|
|
145
|
+
exposureSending = false;
|
|
146
|
+
if (options) writeCache(options.storage, {
|
|
147
|
+
values: {},
|
|
148
|
+
experiments: [],
|
|
149
|
+
etag: null,
|
|
150
|
+
fetchedAt: 0
|
|
151
|
+
}, options.storageKey);
|
|
152
|
+
notify();
|
|
153
|
+
}
|
|
154
|
+
|
|
131
155
|
/**
|
|
132
156
|
* Fetch, and adopt the payload if it changed. Returns true when new values were
|
|
133
157
|
* applied — false for "nothing changed" (304) and false for a failure, which are
|
package/lib/module/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["nacl","STORAGE_KEY","DEFAULT_POLL_MS","DEFAULT_TIMEOUT_MS","DEFAULT_EXPOSURE_RETRY_MS","DEFAULT_EXPOSURE_STORAGE_KEY","MAX_EXPOSURE_QUEUE","options","defaults","values","experiments","etag","fetchedAt","verifiedAt","source","signatureStatus","signatureKeyId","pending","reportedExposure","exposureQueue","deliveredExposureSignatures","Set","exposureSending","exposureNextAttemptAt","exposureTimer","inFlight","pollTimer","configGeneration","listeners","configureConfig","opts","stopPolling","stopExposureDelivery","readExposureQueue","readDeliveredExposureSignatures","applyCachedPayload","readCache","storage","storageKey","setConfigDefaults","more","fetchConfig","minInterval","minimumFetchIntervalMs","Date","now","requestGeneration","request","controller","AbortController","timer","setTimeout","abort","timeoutMs","response","fetch","url","method","headers","buildHeaders","signal","status","ok","Error","payload","json","verifyConfigPayload","payloadObject","nextValues","Array","isArray","get","snapshot","parseExperiments","activateOnFetch","applySnapshot","error","onError","clearTimeout","activateConfig","next","hasPendingConfig","startConfigAutoRefresh","appState","startExposureDelivery","flushExposures","subscription","addEventListener","state","interval","pollIntervalMs","setInterval","unref","remove","changed","shallowEqual","sameExperiments","writeCache","signatureVerified","queueExposure","notify","reportExposure","length","signature","map","e","key","variant","join","has","some","item","context","getContext","assignments","entry","push","reportId","randomDeliveryId","platform","appVersion","attempts","slice","persistExposureQueue","timeout","replace","body","JSON","stringify","filter","queued","add","persistDeliveredExposureSignatures","removeExposureFromStoredQueue","markStoredExposureDelivered","Math","min","base","max","pendingExposureCount","getExposureDeliveryInfo","queueDepth","sending","nextAttemptAt","setSignatureState","keyId","verificationConfigured","Boolean","requireSignature","signingPublicKey","signingKeyId","verifySignature","record","rawSignature","isConfigSignature","alg","toLowerCase","unsigned","locallyCanonical","canonicalizeConfigJson","canonical","parse","valid","sign","detached","verify","utf8Bytes","decodeBase64","sig","value","undefined","Object","keys","sort","atobLike","globalThis","atob","decoded","Uint8Array","from","char","charCodeAt","BufferCtor","require","Buffer","Encoder","TextEncoder","encode","encoded","unescape","encodeURIComponent","raw","a","b","every","i","aKeys","bKeys","k","av","bv","clearInterval","exposureStorageKey","trim","deliveredExposureStorageKey","getString","parsed","set","stored","prefix","cryptoLike","crypto","randomUUID","random","toString","getConfigValue","prototype","hasOwnProperty","call","fallback","getConfigBoolean","getConfigNumber","Number","isNaN","getConfigString","String","getAllConfig","getConfigJson","getConfigSource","getConfigExperiments","getConfigVariant","experimentKey","find","getConfigKeys","onConfigChange","listener","delete","getConfigInfo","keyCount","resetConfigForTests","clear","currentEtag","ctx","Accept","osVersion","language","deviceId","userId","userAttributes","parseCachedPayload","cached","forEach"],"sourceRoot":"../../src","sources":["config.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["nacl","STORAGE_KEY","DEFAULT_POLL_MS","DEFAULT_TIMEOUT_MS","DEFAULT_EXPOSURE_RETRY_MS","DEFAULT_EXPOSURE_STORAGE_KEY","MAX_EXPOSURE_QUEUE","options","defaults","values","experiments","etag","fetchedAt","verifiedAt","source","signatureStatus","signatureKeyId","pending","reportedExposure","exposureQueue","deliveredExposureSignatures","Set","exposureSending","exposureNextAttemptAt","exposureTimer","inFlight","pollTimer","configGeneration","listeners","configureConfig","opts","stopPolling","stopExposureDelivery","readExposureQueue","readDeliveredExposureSignatures","applyCachedPayload","readCache","storage","storageKey","setConfigDefaults","more","invalidateConfigContext","writeCache","notify","fetchConfig","minInterval","minimumFetchIntervalMs","Date","now","requestGeneration","request","controller","AbortController","timer","setTimeout","abort","timeoutMs","response","fetch","url","method","headers","buildHeaders","signal","status","ok","Error","payload","json","verifyConfigPayload","payloadObject","nextValues","Array","isArray","get","snapshot","parseExperiments","activateOnFetch","applySnapshot","error","onError","clearTimeout","activateConfig","next","hasPendingConfig","startConfigAutoRefresh","appState","startExposureDelivery","flushExposures","subscription","addEventListener","state","interval","pollIntervalMs","setInterval","unref","remove","changed","shallowEqual","sameExperiments","signatureVerified","queueExposure","reportExposure","length","signature","map","e","key","variant","join","has","some","item","context","getContext","assignments","entry","push","reportId","randomDeliveryId","platform","appVersion","attempts","slice","persistExposureQueue","timeout","replace","body","JSON","stringify","filter","queued","add","persistDeliveredExposureSignatures","removeExposureFromStoredQueue","markStoredExposureDelivered","Math","min","base","max","pendingExposureCount","getExposureDeliveryInfo","queueDepth","sending","nextAttemptAt","setSignatureState","keyId","verificationConfigured","Boolean","requireSignature","signingPublicKey","signingKeyId","verifySignature","record","rawSignature","isConfigSignature","alg","toLowerCase","unsigned","locallyCanonical","canonicalizeConfigJson","canonical","parse","valid","sign","detached","verify","utf8Bytes","decodeBase64","sig","value","undefined","Object","keys","sort","atobLike","globalThis","atob","decoded","Uint8Array","from","char","charCodeAt","BufferCtor","require","Buffer","Encoder","TextEncoder","encode","encoded","unescape","encodeURIComponent","raw","a","b","every","i","aKeys","bKeys","k","av","bv","clearInterval","exposureStorageKey","trim","deliveredExposureStorageKey","getString","parsed","set","stored","prefix","cryptoLike","crypto","randomUUID","random","toString","getConfigValue","prototype","hasOwnProperty","call","fallback","getConfigBoolean","getConfigNumber","Number","isNaN","getConfigString","String","getAllConfig","getConfigJson","getConfigSource","getConfigExperiments","getConfigVariant","experimentKey","find","getConfigKeys","onConfigChange","listener","delete","getConfigInfo","keyCount","resetConfigForTests","clear","currentEtag","ctx","Accept","osVersion","language","deviceId","userId","userAttributes","parseCachedPayload","cached","forEach"],"sourceRoot":"../../src","sources":["config.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/decisions.js
CHANGED
|
@@ -81,7 +81,10 @@ export function createPulseDecisionClient(options) {
|
|
|
81
81
|
};
|
|
82
82
|
const decide = async (trigger, request = {}) => {
|
|
83
83
|
try {
|
|
84
|
+
if (disposed) return null;
|
|
85
|
+
const revision = options.getContextRevision?.();
|
|
84
86
|
const context = await options.getContext();
|
|
87
|
+
const contextSnapshot = JSON.stringify(context);
|
|
85
88
|
const response = await timedFetch(fetcher, `${base}/pulse/decisions/${slug}`, {
|
|
86
89
|
method: 'POST',
|
|
87
90
|
headers: {
|
|
@@ -89,10 +92,9 @@ export function createPulseDecisionClient(options) {
|
|
|
89
92
|
},
|
|
90
93
|
body: JSON.stringify({
|
|
91
94
|
...context,
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
},
|
|
95
|
+
// pulse.* facts come only from trusted server-side profiles. Dropping them
|
|
96
|
+
// here is defence in depth; the API independently strips client claims.
|
|
97
|
+
attributes: safeDecisionAttributes(context.attributes, request.attributes),
|
|
96
98
|
trigger,
|
|
97
99
|
channel: request.channel ?? 'in_app',
|
|
98
100
|
idempotencyKey: request.idempotencyKey ?? randomKey()
|
|
@@ -100,8 +102,10 @@ export function createPulseDecisionClient(options) {
|
|
|
100
102
|
}, timeoutMs);
|
|
101
103
|
if (!response.ok) throw new Error(`Pulse decision HTTP ${response.status}`);
|
|
102
104
|
const decision = parseDecision(await response.json());
|
|
105
|
+
const currentContext = await options.getContext();
|
|
106
|
+
if (disposed || revision !== options.getContextRevision?.() || contextSnapshot !== JSON.stringify(currentContext)) return null;
|
|
103
107
|
if (!decision.execute) return decision;
|
|
104
|
-
if (executionMode !== 'allow-live') {
|
|
108
|
+
if (decision.mode !== 'live' || executionMode !== 'allow-live' || options.isExecutionAllowed?.() === false) {
|
|
105
109
|
void reportOutcome(decision.decisionId, 'failed', {
|
|
106
110
|
reason: 'client_executor_not_armed'
|
|
107
111
|
});
|
|
@@ -146,9 +150,10 @@ export function createPulseDecisionClient(options) {
|
|
|
146
150
|
}),
|
|
147
151
|
dispose: async () => {
|
|
148
152
|
clearInterval(timer);
|
|
149
|
-
|
|
153
|
+
const finalFlush = flushOutcomes();
|
|
150
154
|
disposed = true;
|
|
151
155
|
persistOutcomes();
|
|
156
|
+
await finalFlush;
|
|
152
157
|
}
|
|
153
158
|
};
|
|
154
159
|
}
|
|
@@ -181,9 +186,18 @@ function parseDecision(raw) {
|
|
|
181
186
|
reasonCode: value.reasonCode,
|
|
182
187
|
policyKey: typeof value.policyKey === 'string' ? value.policyKey : null,
|
|
183
188
|
policyVersion: typeof value.policyVersion === 'number' ? value.policyVersion : null,
|
|
189
|
+
experimentKey: typeof value.experimentKey === 'string' ? value.experimentKey : null,
|
|
190
|
+
experimentAssignmentExpiresAt: typeof value.experimentAssignmentExpiresAt === 'string' ? value.experimentAssignmentExpiresAt : null,
|
|
191
|
+
variant: typeof value.variant === 'string' ? value.variant : null,
|
|
184
192
|
action: action ?? null
|
|
185
193
|
};
|
|
186
194
|
}
|
|
195
|
+
function safeDecisionAttributes(context, request) {
|
|
196
|
+
return Object.fromEntries(Object.entries({
|
|
197
|
+
...(context ?? {}),
|
|
198
|
+
...(request ?? {})
|
|
199
|
+
}).filter(([key]) => !key.toLowerCase().startsWith('pulse.')));
|
|
200
|
+
}
|
|
187
201
|
async function timedFetch(fetcher, url, init, timeoutMs) {
|
|
188
202
|
const controller = typeof AbortController !== 'undefined' ? new AbortController() : null;
|
|
189
203
|
const timer = controller ? setTimeout(() => controller.abort(), timeoutMs) : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DEFAULT_OUTCOME_FLUSH_MS","DEFAULT_OUTCOME_MAX_QUEUE","createPulseDecisionClient","options","fetcher","fetch","globalThis","base","apiUrl","replace","slug","encodeURIComponent","appSlug","timeoutMs","Math","max","executionMode","storageKey","trim","maxQueue","outcomeQueue","readOutcomeQueue","storage","outcomeSending","outcomeNextAttemptAt","disposed","persistOutcomes","set","JSON","stringify","flushOutcomes","length","Date","now","queued","response","timedFetch","decisionId","method","headers","body","outcome","metadata","ok","Error","status","filter","item","revision","error","current","find","attempts","min","baseDelay","onError","reportOutcome","next","randomKey","existing","findIndex","push","slice","some","decide","trigger","request","context","getContext","attributes","channel","idempotencyKey","decision","parseDecision","json","execute","reason","action","handler","kind","handlers","undefined","result","timer","setInterval","flushIntervalMs","unref","pendingOutcomeCount","outcomeDeliveryInfo","queueDepth","sending","nextAttemptAt","dispose","clearInterval","key","raw","getString","parsed","parse","Array","isArray","Boolean","value","mode","verdict","reasonCode","replayed","policyKey","policyVersion","url","init","controller","AbortController","setTimeout","abort","signal","clearTimeout","cryptoLike","crypto","randomUUID","random","toString"],"sourceRoot":"../../src","sources":["decisions.ts"],"mappings":"AAuFA,MAAMA,wBAAwB,GAAG,MAAM;AACvC,MAAMC,yBAAyB,GAAG,GAAG;;AAErC;AACA,OAAO,SAASC,yBAAyBA,CAACC,OAAmC,EAAuB;EAClG,MAAMC,OAAO,GAAGD,OAAO,CAACE,KAAK,IAAIC,UAAU,CAACD,KAAK;EACjD,MAAME,IAAI,GAAGJ,OAAO,CAACK,MAAM,CAACC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;EAC/C,MAAMC,IAAI,GAAGC,kBAAkB,CAACR,OAAO,CAACS,OAAO,CAAC;EAChD,MAAMC,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,GAAG,EAAEZ,OAAO,CAACU,SAAS,IAAI,KAAK,CAAC;EAC3D,MAAMG,aAAa,GAAGb,OAAO,CAACa,aAAa,IAAI,aAAa;EAC5D,MAAMC,UAAU,GAAGd,OAAO,CAACc,UAAU,EAAEC,IAAI,CAAC,CAAC,IAAI,SAASf,OAAO,CAACS,OAAO,CAACM,IAAI,CAAC,CAAC,cAAc;EAC9F,MAAMC,QAAQ,GAAGL,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEZ,OAAO,CAACgB,QAAQ,IAAIlB,yBAAyB,CAAC;EAC3E,IAAImB,YAAY,GAAGC,gBAAgB,CAAClB,OAAO,CAACmB,OAAO,EAAEL,UAAU,EAAEE,QAAQ,CAAC;EAC1E,IAAII,cAAc,GAAG,KAAK;EAC1B,IAAIC,oBAAoB,GAAG,CAAC;EAC5B,IAAIC,QAAQ,GAAG,KAAK;EAEpB,MAAMC,eAAe,GAAGA,CAAA,KAAY;IAClC,IAAI,CAACvB,OAAO,CAACmB,OAAO,EAAE;IACtB,IAAI;MAAEnB,OAAO,CAACmB,OAAO,CAACK,GAAG,CAACV,UAAU,EAAEW,IAAI,CAACC,SAAS,CAACT,YAAY,CAAC,CAAC;IAAE,CAAC,CACtE,MAAM;MACJ;MACA;IAAA;EAEJ,CAAC;EAED,MAAMU,aAAa,GAAG,MAAAA,CAAA,KAA6B;IACjD,IAAIL,QAAQ,IAAIF,cAAc,IAAIH,YAAY,CAACW,MAAM,KAAK,CAAC,IAAIC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGT,oBAAoB,EAAE,OAAO,CAAC;IAC1GD,cAAc,GAAG,IAAI;IACrB,MAAMW,MAAM,GAAGd,YAAY,CAAC,CAAC,CAAE;IAC/B,IAAI;MACF,MAAMe,QAAQ,GAAG,MAAMC,UAAU,CAAChC,OAAO,EACvC,GAAGG,IAAI,oBAAoBG,IAAI,IAAIC,kBAAkB,CAACuB,MAAM,CAACG,UAAU,CAAC,UAAU,EAAE;QAClFC,MAAM,EAAE,MAAM;QACdC,OAAO,EAAE;UAAE,cAAc,EAAE;QAAmB,CAAC;QAC/CC,IAAI,EAAEZ,IAAI,CAACC,SAAS,CAAC;UACnBY,OAAO,EAAEP,MAAM,CAACO,OAAO;UACvB,IAAIP,MAAM,CAACQ,QAAQ,GAAG;YAAEA,QAAQ,EAAER,MAAM,CAACQ;UAAS,CAAC,GAAG,CAAC,CAAC;QAC1D,CAAC;MACH,CAAC,EAAE7B,SAAS,CAAC;MACf,IAAI,CAACsB,QAAQ,CAACQ,EAAE,EAAE,MAAM,IAAIC,KAAK,CAAC,sBAAsBT,QAAQ,CAACU,MAAM,EAAE,CAAC;;MAE1E;MACA;MACAzB,YAAY,GAAGA,YAAY,CAAC0B,MAAM,CAAEC,IAAI,IACtCA,IAAI,CAACV,UAAU,KAAKH,MAAM,CAACG,UAAU,IAAIU,IAAI,CAACC,QAAQ,KAAKd,MAAM,CAACc,QAAQ,CAAC;MAC7ExB,oBAAoB,GAAG,CAAC;MACxBE,eAAe,CAAC,CAAC;MACjB,OAAO,CAAC;IACV,CAAC,CAAC,OAAOuB,KAAK,EAAE;MACd,MAAMC,OAAO,GAAG9B,YAAY,CAAC+B,IAAI,CAAEJ,IAAI,IAAKA,IAAI,CAACV,UAAU,KAAKH,MAAM,CAACG,UAAU,CAAC;MAClF,IAAIa,OAAO,EAAEF,QAAQ,KAAKd,MAAM,CAACc,QAAQ,EAAEE,OAAO,CAACE,QAAQ,IAAI,CAAC;MAChE,MAAMA,QAAQ,GAAGtC,IAAI,CAACuC,GAAG,CAAEH,OAAO,EAAEE,QAAQ,IAAIlB,MAAM,CAACkB,QAAQ,GAAG,CAAC,EAAG,CAAC,CAAC;MACxE,MAAME,SAAS,GAAGxC,IAAI,CAACuC,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,IAAIvC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEqC,QAAQ,GAAG,CAAC,CAAC,CAAC;MAC1E5B,oBAAoB,GAAGQ,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGqB,SAAS;MAC7C5B,eAAe,CAAC,CAAC;MACjBvB,OAAO,CAACoD,OAAO,GAAGN,KAAK,CAAC;MACxB,OAAO,CAAC;IACV,CAAC,SAAS;MACR1B,cAAc,GAAG,KAAK;MACtB,IAAI,CAACE,QAAQ,IAAID,oBAAoB,KAAK,CAAC,IAAIJ,YAAY,CAACW,MAAM,GAAG,CAAC,EAAE,KAAKD,aAAa,CAAC,CAAC;IAC9F;EACF,CAAC;EAED,MAAM0B,aAAa,GAAG,MAAAA,CACpBnB,UAAkB,EAClBI,OAAwB,EACxBC,QAAkC,KACb;IACrB,IAAI,CAACL,UAAU,CAACnB,IAAI,CAAC,CAAC,IAAIO,QAAQ,EAAE,OAAO,KAAK;IAChD,MAAMgC,IAAmB,GAAG;MAC1BpB,UAAU;MACVI,OAAO;MACPC,QAAQ;MACRM,QAAQ,EAAEU,SAAS,CAAC,CAAC;MACrBN,QAAQ,EAAE;IACZ,CAAC;IACD,MAAMO,QAAQ,GAAGvC,YAAY,CAACwC,SAAS,CAAEb,IAAI,IAAKA,IAAI,CAACV,UAAU,KAAKA,UAAU,CAAC;IACjF,IAAIsB,QAAQ,IAAI,CAAC,EAAEvC,YAAY,CAACuC,QAAQ,CAAC,GAAGF,IAAI,CAAC,KAC5CrC,YAAY,CAACyC,IAAI,CAACJ,IAAI,CAAC;IAC5BrC,YAAY,GAAGA,YAAY,CAAC0C,KAAK,CAAC,CAAC3C,QAAQ,CAAC;IAC5CK,oBAAoB,GAAG,CAAC;IACxBE,eAAe,CAAC,CAAC;IACjB,MAAMI,aAAa,CAAC,CAAC;IACrB,OAAO,CAACV,YAAY,CAAC2C,IAAI,CAAEhB,IAAI,IAAKA,IAAI,CAACV,UAAU,KAAKA,UAAU,IAAIU,IAAI,CAACC,QAAQ,KAAKS,IAAI,CAACT,QAAQ,CAAC;EACxG,CAAC;EAED,MAAMgB,MAAM,GAAG,MAAAA,CAAOC,OAAe,EAAEC,OAAsB,GAAG,CAAC,CAAC,KAAoC;IACpG,IAAI;MACF,MAAMC,OAAO,GAAG,MAAMhE,OAAO,CAACiE,UAAU,CAAC,CAAC;MAC1C,MAAMjC,QAAQ,GAAG,MAAMC,UAAU,CAAChC,OAAO,EAAE,GAAGG,IAAI,oBAAoBG,IAAI,EAAE,EAAE;QAC5E4B,MAAM,EAAE,MAAM;QACdC,OAAO,EAAE;UAAE,cAAc,EAAE;QAAmB,CAAC;QAC/CC,IAAI,EAAEZ,IAAI,CAACC,SAAS,CAAC;UACnB,GAAGsC,OAAO;UACVE,UAAU,EAAE;YAAE,IAAIF,OAAO,CAACE,UAAU,IAAI,CAAC,CAAC,CAAC;YAAE,IAAIH,OAAO,CAACG,UAAU,IAAI,CAAC,CAAC;UAAE,CAAC;UAC5EJ,OAAO;UACPK,OAAO,EAAEJ,OAAO,CAACI,OAAO,IAAI,QAAQ;UACpCC,cAAc,EAAEL,OAAO,CAACK,cAAc,IAAIb,SAAS,CAAC;QACtD,CAAC;MACH,CAAC,EAAE7C,SAAS,CAAC;MACb,IAAI,CAACsB,QAAQ,CAACQ,EAAE,EAAE,MAAM,IAAIC,KAAK,CAAC,uBAAuBT,QAAQ,CAACU,MAAM,EAAE,CAAC;MAE3E,MAAM2B,QAAQ,GAAGC,aAAa,CAAC,MAAMtC,QAAQ,CAACuC,IAAI,CAAC,CAAC,CAAC;MACrD,IAAI,CAACF,QAAQ,CAACG,OAAO,EAAE,OAAOH,QAAQ;MACtC,IAAIxD,aAAa,KAAK,YAAY,EAAE;QAClC,KAAKwC,aAAa,CAACgB,QAAQ,CAACnC,UAAU,EAAE,QAAQ,EAAE;UAAEuC,MAAM,EAAE;QAA4B,CAAC,CAAC;QAC1F,OAAOJ,QAAQ;MACjB;MAEA,MAAMK,MAAM,GAAGL,QAAQ,CAACK,MAAM;MAC9B,MAAMC,OAAO,GAAGD,MAAM,EAAEE,IAAI,GAAG5E,OAAO,CAAC6E,QAAQ,GAAGH,MAAM,CAACE,IAAI,CAAC,GAAGE,SAAS;MAC1E,IAAI,CAACJ,MAAM,IAAI,CAACC,OAAO,EAAE;QACvB,KAAKtB,aAAa,CAACgB,QAAQ,CAACnC,UAAU,EAAE,QAAQ,EAAE;UAChDuC,MAAM,EAAE,qBAAqB;UAC7BG,IAAI,EAAEF,MAAM,EAAEE,IAAI,IAAI;QACxB,CAAC,CAAC;QACF,OAAOP,QAAQ;MACjB;MAEA,IAAI;QACF,MAAMU,MAAM,GAAG,MAAMJ,OAAO,CAACD,MAAM,EAAEL,QAAQ,CAAC;QAC9C,KAAKhB,aAAa,CAACgB,QAAQ,CAACnC,UAAU,EAAE6C,MAAM,EAAEzC,OAAO,IAAI,UAAU,EAAEyC,MAAM,EAAExC,QAAQ,CAAC;MAC1F,CAAC,CAAC,OAAOO,KAAK,EAAE;QACd9C,OAAO,CAACoD,OAAO,GAAGN,KAAK,CAAC;QACxB,KAAKO,aAAa,CAACgB,QAAQ,CAACnC,UAAU,EAAE,QAAQ,EAAE;UAAEuC,MAAM,EAAE;QAAiB,CAAC,CAAC;MACjF;MACA,OAAOJ,QAAQ;IACjB,CAAC,CAAC,OAAOvB,KAAK,EAAE;MACd9C,OAAO,CAACoD,OAAO,GAAGN,KAAK,CAAC;MACxB,OAAO,IAAI;IACb;EACF,CAAC;EAED,MAAMkC,KAAK,GAAGC,WAAW,CAAC,MAAM,KAAKtD,aAAa,CAAC,CAAC,EAAE3B,OAAO,CAACkF,eAAe,IAAIrF,wBAAwB,CAAC;EACzGmF,KAAK,CAAuCG,KAAK,GAAG,CAAC;EACtD,KAAKxD,aAAa,CAAC,CAAC;EAEpB,OAAO;IACLkC,MAAM;IACNR,aAAa;IACb1B,aAAa;IACbyD,mBAAmB,EAAEA,CAAA,KAAMnE,YAAY,CAACW,MAAM;IAC9CyD,mBAAmB,EAAEA,CAAA,MAAO;MAC1BC,UAAU,EAAErE,YAAY,CAACW,MAAM;MAC/B2D,OAAO,EAAEnE,cAAc;MACvBoE,aAAa,EAAEnE;IACjB,CAAC,CAAC;IACFoE,OAAO,EAAE,MAAAA,CAAA,KAAY;MACnBC,aAAa,CAACV,KAAK,CAAC;MACpB,MAAMrD,aAAa,CAAC,CAAC;MACrBL,QAAQ,GAAG,IAAI;MACfC,eAAe,CAAC,CAAC;IACnB;EACF,CAAC;AACH;AAEA,SAASL,gBAAgBA,CACvBC,OAAkC,EAClCwE,GAAW,EACX3E,QAAgB,EACC;EACjB,IAAI,CAACG,OAAO,EAAE,OAAO,EAAE;EACvB,IAAI;IACF,MAAMyE,GAAG,GAAGzE,OAAO,CAAC0E,SAAS,CAACF,GAAG,CAAC;IAClC,IAAI,CAACC,GAAG,EAAE,OAAO,EAAE;IACnB,MAAME,MAAM,GAAGrE,IAAI,CAACsE,KAAK,CAACH,GAAG,CAAY;IACzC,IAAI,CAACI,KAAK,CAACC,OAAO,CAACH,MAAM,CAAC,EAAE,OAAO,EAAE;IACrC,OAAOA,MAAM,CAACnD,MAAM,CAAEC,IAAI,IAA4BsD,OAAO,CAC3DtD,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAChC,OAAQA,IAAI,CAAmBV,UAAU,KAAK,QAAQ,IACtD,OAAQU,IAAI,CAAmBN,OAAO,KAAK,QAAQ,IACnD,OAAQM,IAAI,CAAmBC,QAAQ,KAAK,QAAQ,IACpD,OAAQD,IAAI,CAAmBK,QAAQ,KAAK,QAC9C,CAAC,CAAC,CAACU,KAAK,CAAC,CAAC3C,QAAQ,CAAC;EACrB,CAAC,CAAC,MAAM;IACN,OAAO,EAAE;EACX;AACF;AAEA,SAASsD,aAAaA,CAACsB,GAAY,EAAiB;EAClD,IAAI,CAACA,GAAG,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE,MAAM,IAAInD,KAAK,CAAC,0BAA0B,CAAC;EAChF,MAAM0D,KAAK,GAAGP,GAA8B;EAC5C,IAAI,OAAOO,KAAK,CAACjE,UAAU,KAAK,QAAQ,IAAI,OAAOiE,KAAK,CAAC3B,OAAO,KAAK,SAAS,IAC1E,OAAO2B,KAAK,CAACC,IAAI,KAAK,QAAQ,IAAI,OAAOD,KAAK,CAACE,OAAO,KAAK,QAAQ,IACnE,OAAOF,KAAK,CAACG,UAAU,KAAK,QAAQ,EAAE,MAAM,IAAI7D,KAAK,CAAC,0BAA0B,CAAC;EACrF,MAAMiC,MAAM,GAAGyB,KAAK,CAACzB,MAAM;EAC3B,IAAIA,MAAM,IAAI,IAAI,KAAK,OAAOA,MAAM,KAAK,QAAQ,IAC7C,OAAQA,MAAM,CAA6BE,IAAI,KAAK,QAAQ,CAAC,EAAE;IACjE,MAAM,IAAInC,KAAK,CAAC,wBAAwB,CAAC;EAC3C;EACA,OAAO;IACLP,UAAU,EAAEiE,KAAK,CAACjE,UAAU;IAC5BqE,QAAQ,EAAEJ,KAAK,CAACI,QAAQ,KAAK,IAAI;IACjC/B,OAAO,EAAE2B,KAAK,CAAC3B,OAAO;IACtB4B,IAAI,EAAED,KAAK,CAACC,IAAI;IAChBC,OAAO,EAAEF,KAAK,CAACE,OAAO;IACtBC,UAAU,EAAEH,KAAK,CAACG,UAAU;IAC5BE,SAAS,EAAE,OAAOL,KAAK,CAACK,SAAS,KAAK,QAAQ,GAAGL,KAAK,CAACK,SAAS,GAAG,IAAI;IACvEC,aAAa,EAAE,OAAON,KAAK,CAACM,aAAa,KAAK,QAAQ,GAAGN,KAAK,CAACM,aAAa,GAAG,IAAI;IACnF/B,MAAM,EAAGA,MAAM,IAA0C;EAC3D,CAAC;AACH;AAEA,eAAezC,UAAUA,CACvBhC,OAAgC,EAChCyG,GAAW,EACXC,IAAiB,EACjBjG,SAAiB,EACE;EACnB,MAAMkG,UAAU,GAAG,OAAOC,eAAe,KAAK,WAAW,GAAG,IAAIA,eAAe,CAAC,CAAC,GAAG,IAAI;EACxF,MAAM7B,KAAK,GAAG4B,UAAU,GAAGE,UAAU,CAAC,MAAMF,UAAU,CAACG,KAAK,CAAC,CAAC,EAAErG,SAAS,CAAC,GAAG,IAAI;EACjF,IAAI;IAAE,OAAO,MAAMT,OAAO,CAACyG,GAAG,EAAE;MAAE,GAAGC,IAAI;MAAEK,MAAM,EAAEJ,UAAU,EAAEI;IAAO,CAAC,CAAC;EAAE,CAAC,SACnE;IAAE,IAAIhC,KAAK,EAAEiC,YAAY,CAACjC,KAAK,CAAC;EAAE;AAC5C;AAEA,SAASzB,SAASA,CAAA,EAAW;EAC3B,MAAM2D,UAAU,GAAG/G,UAAU,CAACgH,MAAmD;EACjF,IAAI,OAAOD,UAAU,EAAEE,UAAU,KAAK,UAAU,EAAE,OAAOF,UAAU,CAACE,UAAU,CAAC,CAAC;EAChF,OAAO,UAAUvF,IAAI,CAACC,GAAG,CAAC,CAAC,IAAInB,IAAI,CAAC0G,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAAC3D,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;AAC1E","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["DEFAULT_OUTCOME_FLUSH_MS","DEFAULT_OUTCOME_MAX_QUEUE","createPulseDecisionClient","options","fetcher","fetch","globalThis","base","apiUrl","replace","slug","encodeURIComponent","appSlug","timeoutMs","Math","max","executionMode","storageKey","trim","maxQueue","outcomeQueue","readOutcomeQueue","storage","outcomeSending","outcomeNextAttemptAt","disposed","persistOutcomes","set","JSON","stringify","flushOutcomes","length","Date","now","queued","response","timedFetch","decisionId","method","headers","body","outcome","metadata","ok","Error","status","filter","item","revision","error","current","find","attempts","min","baseDelay","onError","reportOutcome","next","randomKey","existing","findIndex","push","slice","some","decide","trigger","request","getContextRevision","context","getContext","contextSnapshot","attributes","safeDecisionAttributes","channel","idempotencyKey","decision","parseDecision","json","currentContext","execute","mode","isExecutionAllowed","reason","action","handler","kind","handlers","undefined","result","timer","setInterval","flushIntervalMs","unref","pendingOutcomeCount","outcomeDeliveryInfo","queueDepth","sending","nextAttemptAt","dispose","clearInterval","finalFlush","key","raw","getString","parsed","parse","Array","isArray","Boolean","value","verdict","reasonCode","replayed","policyKey","policyVersion","experimentKey","experimentAssignmentExpiresAt","variant","Object","fromEntries","entries","toLowerCase","startsWith","url","init","controller","AbortController","setTimeout","abort","signal","clearTimeout","cryptoLike","crypto","randomUUID","random","toString"],"sourceRoot":"../../src","sources":["decisions.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { createPulseDecisionClient } from './decisions';
|
|
2
|
+
import { getConfigBoolean, onConfigChange } from './config';
|
|
3
|
+
export function createPulseExperiences(options) {
|
|
4
|
+
const actions = {
|
|
5
|
+
...options.actions
|
|
6
|
+
};
|
|
7
|
+
const capabilities = Object.entries(actions).map(([kind, action]) => {
|
|
8
|
+
if (!action.capability.startsWith(`${kind}:v`) || !/^.+:v[1-9]\d*$/.test(action.capability)) throw new Error(`Pulse: capability must be versioned and match action kind ${kind}`);
|
|
9
|
+
return action.capability;
|
|
10
|
+
});
|
|
11
|
+
if (!options.executionEnabledKey.trim()) throw new Error('Pulse: an execution gate key is required');
|
|
12
|
+
const enabled = () => getConfigBoolean(options.executionEnabledKey);
|
|
13
|
+
let generation = 0;
|
|
14
|
+
let disposed = false;
|
|
15
|
+
const reset = () => {
|
|
16
|
+
generation += 1;
|
|
17
|
+
for (const action of Object.values(actions)) {
|
|
18
|
+
try {
|
|
19
|
+
action.reset?.();
|
|
20
|
+
} catch (error) {
|
|
21
|
+
options.onError?.(error);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
let wasEnabled = enabled();
|
|
26
|
+
const unsubscribe = onConfigChange(() => {
|
|
27
|
+
const next = enabled();
|
|
28
|
+
if (wasEnabled && !next) reset();
|
|
29
|
+
wasEnabled = next;
|
|
30
|
+
});
|
|
31
|
+
const client = createPulseDecisionClient({
|
|
32
|
+
apiUrl: options.apiUrl,
|
|
33
|
+
appSlug: options.appSlug,
|
|
34
|
+
storage: options.storage,
|
|
35
|
+
executionMode: 'allow-live',
|
|
36
|
+
isExecutionAllowed: enabled,
|
|
37
|
+
onError: options.onError,
|
|
38
|
+
getContextRevision: () => generation,
|
|
39
|
+
getContext: () => ({
|
|
40
|
+
...options.getContext(),
|
|
41
|
+
capabilities
|
|
42
|
+
}),
|
|
43
|
+
handlers: Object.fromEntries(Object.entries(actions).map(([kind, handler]) => [kind, async (action, decision) => {
|
|
44
|
+
if (action.requiredCapability !== handler.capability || !handler.validate(action)) return {
|
|
45
|
+
outcome: 'failed',
|
|
46
|
+
metadata: {
|
|
47
|
+
reason: 'invalid_action_contract'
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
return handler.execute(action, decision);
|
|
51
|
+
}]))
|
|
52
|
+
});
|
|
53
|
+
return {
|
|
54
|
+
client,
|
|
55
|
+
capabilities,
|
|
56
|
+
reset,
|
|
57
|
+
dispose: async () => {
|
|
58
|
+
if (disposed) return;
|
|
59
|
+
disposed = true;
|
|
60
|
+
unsubscribe();
|
|
61
|
+
reset();
|
|
62
|
+
await client.dispose();
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=experiences.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createPulseDecisionClient","getConfigBoolean","onConfigChange","createPulseExperiences","options","actions","capabilities","Object","entries","map","kind","action","capability","startsWith","test","Error","executionEnabledKey","trim","enabled","generation","disposed","reset","values","error","onError","wasEnabled","unsubscribe","next","client","apiUrl","appSlug","storage","executionMode","isExecutionAllowed","getContextRevision","getContext","handlers","fromEntries","handler","decision","requiredCapability","validate","outcome","metadata","reason","execute","dispose"],"sourceRoot":"../../src","sources":["experiences.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -6,6 +6,8 @@ export * from './config';
|
|
|
6
6
|
export * from './track';
|
|
7
7
|
export * from './init';
|
|
8
8
|
export * from './decisions';
|
|
9
|
+
export * from './subject';
|
|
10
|
+
export * from './experiences';
|
|
9
11
|
export * from './links';
|
|
10
12
|
export * from './nativeAttribution';
|
|
11
13
|
export { DeferredLinkPasteButton } from './DeferredLinkPasteButton';
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["usePulseUpdates","initializeAssetResolver","updateLocalAssets","DeferredLinkPasteButton"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,cAAc,gBAAgB;AAC9B,cAAc,SAAS;AACvB,SAASA,eAAe,QAAQ,mBAAmB;AACnD,SAASC,uBAAuB,EAAEC,iBAAiB,QAAQ,iBAAiB;AAC5E,cAAc,UAAU;AACxB,cAAc,SAAS;AACvB,cAAc,QAAQ;AACtB,cAAc,aAAa;AAC3B,cAAc,SAAS;AACvB,cAAc,qBAAqB;AACnC,SAASC,uBAAuB,QAAQ,2BAA2B","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["usePulseUpdates","initializeAssetResolver","updateLocalAssets","DeferredLinkPasteButton"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,cAAc,gBAAgB;AAC9B,cAAc,SAAS;AACvB,SAASA,eAAe,QAAQ,mBAAmB;AACnD,SAASC,uBAAuB,EAAEC,iBAAiB,QAAQ,iBAAiB;AAC5E,cAAc,UAAU;AACxB,cAAc,SAAS;AACvB,cAAc,QAAQ;AACtB,cAAc,aAAa;AAC3B,cAAc,WAAW;AACzB,cAAc,eAAe;AAC7B,cAAc,SAAS;AACvB,cAAc,qBAAqB;AACnC,SAASC,uBAAuB,QAAQ,2BAA2B","ignoreList":[]}
|
package/lib/module/init.js
CHANGED
|
@@ -24,11 +24,14 @@
|
|
|
24
24
|
* installs — a targeting bug that looks like a rollout that "did not work".
|
|
25
25
|
*/
|
|
26
26
|
|
|
27
|
-
import { configureConfig, fetchConfig, startConfigAutoRefresh, getConfigInfo, getConfigBoolean, getConfigNumber, getConfigString, getConfigJson, getExposureDeliveryInfo } from './config';
|
|
27
|
+
import { configureConfig, fetchConfig, startConfigAutoRefresh, getConfigInfo, getConfigBoolean, getConfigNumber, getConfigString, getConfigJson, getExposureDeliveryInfo, invalidateConfigContext } from './config';
|
|
28
|
+
import { normalizePulseAttributes, pulseProfileAttributes } from './subject';
|
|
29
|
+
import { createPulseExperiences } from './experiences';
|
|
28
30
|
import { configureTracking, disposeTracking, flushEvents, getTrackingInfo, track, trackIdempotent } from './track';
|
|
29
31
|
const DEVICE_ID_KEY = 'pulse.device-id';
|
|
30
32
|
let activeClient = null;
|
|
31
33
|
let stopActiveRefresh = null;
|
|
34
|
+
let stopActiveExperiences = null;
|
|
32
35
|
|
|
33
36
|
/** Wires config and events with an explicit event-envelope identity policy. */
|
|
34
37
|
export function initPulse(opts) {
|
|
@@ -37,6 +40,8 @@ export function initPulse(opts) {
|
|
|
37
40
|
// fast app switch or test setup triggers. Persist the old outbox, stop its refresh,
|
|
38
41
|
// then configure the new app in one uninterrupted turn.
|
|
39
42
|
stopActiveRefresh?.();
|
|
43
|
+
void stopActiveExperiences?.();
|
|
44
|
+
stopActiveExperiences = null;
|
|
40
45
|
disposeTracking();
|
|
41
46
|
activeClient = null;
|
|
42
47
|
stopActiveRefresh = null;
|
|
@@ -52,17 +57,21 @@ export function initPulse(opts) {
|
|
|
52
57
|
const language = opts.language ?? detectLanguage();
|
|
53
58
|
let userId;
|
|
54
59
|
let userAttributes;
|
|
60
|
+
let userOverridden = false;
|
|
55
61
|
let consentOverride = typeof opts.analyticsConsent === 'boolean' ? opts.analyticsConsent : undefined;
|
|
56
62
|
const hasConsent = () => consentOverride ?? (typeof opts.analyticsConsent === 'function' ? opts.analyticsConsent() : true);
|
|
57
|
-
const getContext = () =>
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
const getContext = () => {
|
|
64
|
+
const profile = userOverridden ? undefined : opts.getUserProfile?.();
|
|
65
|
+
return {
|
|
66
|
+
platform,
|
|
67
|
+
osVersion,
|
|
68
|
+
appVersion,
|
|
69
|
+
language,
|
|
70
|
+
deviceId,
|
|
71
|
+
userId: userOverridden ? userId : profile?.id ?? opts.getUserId?.(),
|
|
72
|
+
userAttributes: userOverridden ? userAttributes : profile ? pulseProfileAttributes(profile) : normalizePulseAttributes(opts.getUserAttributes?.())
|
|
73
|
+
};
|
|
74
|
+
};
|
|
66
75
|
configureConfig({
|
|
67
76
|
url: configUrl,
|
|
68
77
|
defaults: opts.defaults,
|
|
@@ -110,6 +119,28 @@ export function initPulse(opts) {
|
|
|
110
119
|
// off position of every flag.
|
|
111
120
|
void fetchConfig();
|
|
112
121
|
const stopRefresh = startConfigAutoRefresh(opts.appState);
|
|
122
|
+
const experiences = opts.experiences ? createPulseExperiences({
|
|
123
|
+
...opts.experiences,
|
|
124
|
+
apiUrl: base,
|
|
125
|
+
appSlug: slug,
|
|
126
|
+
storage: opts.storage,
|
|
127
|
+
onError: opts.onError,
|
|
128
|
+
getContext: () => {
|
|
129
|
+
const {
|
|
130
|
+
userAttributes: attributes,
|
|
131
|
+
...context
|
|
132
|
+
} = getContext();
|
|
133
|
+
return {
|
|
134
|
+
...context,
|
|
135
|
+
attributes
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
}) : undefined;
|
|
139
|
+
const refreshContext = () => {
|
|
140
|
+
experiences?.reset();
|
|
141
|
+
invalidateConfigContext();
|
|
142
|
+
return fetchConfig();
|
|
143
|
+
};
|
|
113
144
|
const client = {
|
|
114
145
|
get deviceId() {
|
|
115
146
|
return deviceId;
|
|
@@ -120,21 +151,38 @@ export function initPulse(opts) {
|
|
|
120
151
|
trackIdempotent,
|
|
121
152
|
flush: flushEvents,
|
|
122
153
|
setUser: (nextUserId, attributes) => {
|
|
154
|
+
if (activeClient !== client) return;
|
|
155
|
+
userOverridden = true;
|
|
123
156
|
userId = nextUserId?.trim() || undefined;
|
|
124
|
-
userAttributes =
|
|
157
|
+
userAttributes = normalizePulseAttributes(attributes);
|
|
158
|
+
void refreshContext();
|
|
125
159
|
},
|
|
126
160
|
clearUser: () => {
|
|
161
|
+
if (activeClient !== client) return;
|
|
162
|
+
userOverridden = true;
|
|
127
163
|
userId = undefined;
|
|
128
|
-
userAttributes =
|
|
164
|
+
userAttributes = {};
|
|
165
|
+
void refreshContext();
|
|
129
166
|
},
|
|
167
|
+
identify: profile => {
|
|
168
|
+
if (activeClient !== client) return;
|
|
169
|
+
userOverridden = true;
|
|
170
|
+
userId = profile.id.trim() || undefined;
|
|
171
|
+
userAttributes = userId ? pulseProfileAttributes(profile) : {};
|
|
172
|
+
void refreshContext();
|
|
173
|
+
},
|
|
174
|
+
refreshContext: () => activeClient === client ? refreshContext() : Promise.resolve(false),
|
|
175
|
+
decisions: experiences?.client,
|
|
130
176
|
setAnalyticsConsent: granted => {
|
|
131
177
|
consentOverride = granted;
|
|
132
178
|
},
|
|
133
179
|
resetInstallId: () => {
|
|
180
|
+
if (activeClient !== client) return deviceId;
|
|
134
181
|
deviceId = randomId();
|
|
135
182
|
try {
|
|
136
183
|
opts.storage?.set(deviceStorageKey, deviceId);
|
|
137
184
|
} catch {/* memory-only fallback */}
|
|
185
|
+
void refreshContext();
|
|
138
186
|
return deviceId;
|
|
139
187
|
},
|
|
140
188
|
health: () => ({
|
|
@@ -154,6 +202,7 @@ export function initPulse(opts) {
|
|
|
154
202
|
},
|
|
155
203
|
dispose: async () => {
|
|
156
204
|
stopRefresh();
|
|
205
|
+
await experiences?.dispose();
|
|
157
206
|
if (activeClient !== client) return;
|
|
158
207
|
await flushEvents();
|
|
159
208
|
// Another init may have taken ownership while this network flush was pending.
|
|
@@ -161,11 +210,13 @@ export function initPulse(opts) {
|
|
|
161
210
|
disposeTracking();
|
|
162
211
|
activeClient = null;
|
|
163
212
|
stopActiveRefresh = null;
|
|
213
|
+
stopActiveExperiences = null;
|
|
164
214
|
}
|
|
165
215
|
}
|
|
166
216
|
};
|
|
167
217
|
activeClient = client;
|
|
168
218
|
stopActiveRefresh = stopRefresh;
|
|
219
|
+
stopActiveExperiences = experiences?.dispose ?? null;
|
|
169
220
|
return client;
|
|
170
221
|
}
|
|
171
222
|
|
|
@@ -176,7 +227,7 @@ export function initPulse(opts) {
|
|
|
176
227
|
*/
|
|
177
228
|
export async function initPulseAsync(opts) {
|
|
178
229
|
const slug = opts.appSlug.trim();
|
|
179
|
-
const keys = [`pulse.${slug}.device-id`, `pulse.${slug}.config.v1`, `pulse.${slug}.events.v1`, `pulse.${slug}.events.v1.analytics-installation-id`, `pulse.${slug}.exposures.v1`, DEVICE_ID_KEY];
|
|
230
|
+
const keys = [`pulse.${slug}.device-id`, `pulse.${slug}.config.v1`, `pulse.${slug}.events.v1`, `pulse.${slug}.events.v1.analytics-installation-id`, `pulse.${slug}.exposures.v1`, `pulse.${slug}.outcomes.v1`, DEVICE_ID_KEY];
|
|
180
231
|
const loaded = await Promise.all(keys.map(async key => [key, await opts.storage.getItem(key)]));
|
|
181
232
|
const memory = new Map(loaded.filter(entry => entry[1] !== null));
|
|
182
233
|
const storage = {
|
|
@@ -222,11 +273,6 @@ function resolveDeviceId(storage, key = DEVICE_ID_KEY) {
|
|
|
222
273
|
return randomId();
|
|
223
274
|
}
|
|
224
275
|
}
|
|
225
|
-
function sanitizeAttributes(attributes) {
|
|
226
|
-
if (!attributes) return undefined;
|
|
227
|
-
const clean = Object.fromEntries(Object.entries(attributes).filter(([key, value]) => key.trim() !== '' && typeof value === 'string').slice(0, 50));
|
|
228
|
-
return Object.keys(clean).length > 0 ? clean : undefined;
|
|
229
|
-
}
|
|
230
276
|
function randomId() {
|
|
231
277
|
const bytes = new Uint8Array(16);
|
|
232
278
|
const crypto = globalThis.crypto;
|