@traffical/js-client 0.15.0 → 0.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -2
- package/dist/client.d.ts +83 -13
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +255 -60
- package/dist/client.js.map +1 -1
- package/dist/event-logger.d.ts +29 -0
- package/dist/event-logger.d.ts.map +1 -1
- package/dist/event-logger.js +64 -4
- package/dist/event-logger.js.map +1 -1
- package/dist/plugins/decision-tracking.d.ts +7 -0
- package/dist/plugins/decision-tracking.d.ts.map +1 -1
- package/dist/plugins/decision-tracking.js +3 -0
- package/dist/plugins/decision-tracking.js.map +1 -1
- package/dist/plugins/warehouse-native-logger.d.ts.map +1 -1
- package/dist/plugins/warehouse-native-logger.js +4 -0
- package/dist/plugins/warehouse-native-logger.js.map +1 -1
- package/dist/traffical.min.js +2 -2
- package/dist/traffical.min.js.map +3 -3
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +5 -5
package/dist/client.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* - Plugin system (P2)
|
|
10
10
|
* - Auto stable ID for anonymous users
|
|
11
11
|
*/
|
|
12
|
-
import { resolveParameters, decide as coreDecide, getUnitKeyValue, generateExposureId, generateTrackEventId, generateDecisionId, generateAssignmentId, } from "@traffical/core";
|
|
12
|
+
import { resolveParameters, decide as coreDecide, getUnitKeyValue, getUnitKeyField as coreGetUnitKeyField, getParameterLayerId as coreGetParameterLayerId, generateExposureId, generateTrackEventId, generateDecisionId, generateAssignmentId, } from "@traffical/core";
|
|
13
13
|
import { DecisionClient, createEdgeDecideRequest, } from "@traffical/core-io";
|
|
14
14
|
import { ErrorBoundary } from "./error-boundary.js";
|
|
15
15
|
import { EventLogger } from "./event-logger.js";
|
|
@@ -23,11 +23,59 @@ import { SDK_VERSION } from "./version.js";
|
|
|
23
23
|
// Constants
|
|
24
24
|
// =============================================================================
|
|
25
25
|
const SDK_NAME = "js-client";
|
|
26
|
+
/**
|
|
27
|
+
* Normalizes evaluation-method arguments so both the canonical positional form
|
|
28
|
+
* `decide(context, defaults)` and the legacy object-bag form
|
|
29
|
+
* `decide({ context, defaults })` work. Positional is detected by the presence
|
|
30
|
+
* of the second (`defaults`) argument; the bag form is soft-deprecated.
|
|
31
|
+
*/
|
|
32
|
+
function normalizeEvalArgs(contextOrOptions, maybeDefaults) {
|
|
33
|
+
if (maybeDefaults !== undefined) {
|
|
34
|
+
return { context: contextOrOptions, defaults: maybeDefaults };
|
|
35
|
+
}
|
|
36
|
+
const bag = contextOrOptions;
|
|
37
|
+
return { context: bag.context, defaults: bag.defaults };
|
|
38
|
+
}
|
|
26
39
|
const DEFAULT_BASE_URL = "https://sdk.traffical.io";
|
|
27
40
|
const DEFAULT_REFRESH_INTERVAL_MS = 60000; // 1 minute
|
|
28
41
|
const DEFAULT_REQUEST_TIMEOUT_MS = 10000; // 10 seconds
|
|
29
42
|
const OFFLINE_WARNING_INTERVAL_MS = 300000; // 5 minutes
|
|
43
|
+
const MALFORMED_BUNDLE_WARNING_INTERVAL_MS = 300000; // 5 minutes
|
|
30
44
|
const DECISION_CACHE_MAX_SIZE = 100; // Max decisions to cache for attribution lookup
|
|
45
|
+
/** +/-10% jitter on the background refresh interval to avoid thundering-herd sync. */
|
|
46
|
+
const REFRESH_JITTER_RATIO = 0.1;
|
|
47
|
+
/** Returns `intervalMs` perturbed by uniform +/-REFRESH_JITTER_RATIO jitter. */
|
|
48
|
+
function jitteredInterval(intervalMs) {
|
|
49
|
+
const delta = intervalMs * REFRESH_JITTER_RATIO;
|
|
50
|
+
return intervalMs + (Math.random() * 2 - 1) * delta;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Structural guard for a fetched config bundle. A 200 response can still carry a
|
|
54
|
+
* malformed body (truncated CDN write, partial deploy); serving it would corrupt
|
|
55
|
+
* every bucket assignment. Requires the hashing config the resolver depends on
|
|
56
|
+
* (`unitKey` non-empty, `bucketCount` an integer >= 1) plus the top-level
|
|
57
|
+
* parameters/layers arrays.
|
|
58
|
+
*/
|
|
59
|
+
function isValidConfigBundle(bundle) {
|
|
60
|
+
if (!bundle || typeof bundle !== "object")
|
|
61
|
+
return false;
|
|
62
|
+
const b = bundle;
|
|
63
|
+
if (!Array.isArray(b.parameters))
|
|
64
|
+
return false;
|
|
65
|
+
if (!Array.isArray(b.layers))
|
|
66
|
+
return false;
|
|
67
|
+
const hashing = b.hashing;
|
|
68
|
+
if (!hashing || typeof hashing !== "object")
|
|
69
|
+
return false;
|
|
70
|
+
if (typeof hashing.unitKey !== "string" || hashing.unitKey.length === 0)
|
|
71
|
+
return false;
|
|
72
|
+
if (typeof hashing.bucketCount !== "number" ||
|
|
73
|
+
!Number.isInteger(hashing.bucketCount) ||
|
|
74
|
+
hashing.bucketCount < 1) {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
31
79
|
// =============================================================================
|
|
32
80
|
// TrafficalClient Class
|
|
33
81
|
// =============================================================================
|
|
@@ -38,6 +86,7 @@ export class TrafficalClient {
|
|
|
38
86
|
etag: null,
|
|
39
87
|
lastFetchTime: 0,
|
|
40
88
|
lastOfflineWarning: 0,
|
|
89
|
+
lastMalformedWarning: 0,
|
|
41
90
|
refreshTimer: null,
|
|
42
91
|
isInitialized: false,
|
|
43
92
|
serverResponse: null,
|
|
@@ -56,6 +105,11 @@ export class TrafficalClient {
|
|
|
56
105
|
this._identityListeners = [];
|
|
57
106
|
this._overrideListeners = [];
|
|
58
107
|
this._overrides = {};
|
|
108
|
+
/** Serialized context of the last server-mode resolve (per-call throttle). */
|
|
109
|
+
this._lastResolveContextKey = null;
|
|
110
|
+
this._readyPromise = new Promise((resolve) => {
|
|
111
|
+
this._readyResolve = resolve;
|
|
112
|
+
});
|
|
59
113
|
const evaluationMode = options.evaluationMode ?? "bundle";
|
|
60
114
|
this._options = {
|
|
61
115
|
orgId: options.orgId,
|
|
@@ -68,7 +122,9 @@ export class TrafficalClient {
|
|
|
68
122
|
attributionMode: options.attributionMode ?? "cumulative",
|
|
69
123
|
evaluationMode,
|
|
70
124
|
};
|
|
71
|
-
|
|
125
|
+
// Config-fetch timeout: canonical configTimeoutMs wins, else legacy requestTimeoutMs.
|
|
126
|
+
this._requestTimeoutMs =
|
|
127
|
+
options.configTimeoutMs ?? options.requestTimeoutMs ?? DEFAULT_REQUEST_TIMEOUT_MS;
|
|
72
128
|
// Create DecisionClient when needed (server mode, or bundle mode may use for edge policies)
|
|
73
129
|
const decisionClientConfig = {
|
|
74
130
|
baseUrl: this._options.baseUrl,
|
|
@@ -76,6 +132,9 @@ export class TrafficalClient {
|
|
|
76
132
|
projectId: this._options.projectId,
|
|
77
133
|
env: this._options.env,
|
|
78
134
|
apiKey: this._options.apiKey,
|
|
135
|
+
// Server-resolve timeout: canonical resolveTimeoutMs wins, else legacy
|
|
136
|
+
// requestTimeoutMs; undefined lets DecisionClient apply its own 5s default.
|
|
137
|
+
defaultTimeoutMs: options.resolveTimeoutMs ?? options.requestTimeoutMs,
|
|
79
138
|
};
|
|
80
139
|
this._decisionClient = new DecisionClient(decisionClientConfig);
|
|
81
140
|
// Initialize components
|
|
@@ -104,9 +163,12 @@ export class TrafficalClient {
|
|
|
104
163
|
apiKey: options.apiKey,
|
|
105
164
|
storage: this._storage,
|
|
106
165
|
lifecycleProvider: this._lifecycleProvider,
|
|
107
|
-
batchSize
|
|
108
|
-
|
|
109
|
-
|
|
166
|
+
// Canonical batchSize/flushIntervalMs win over legacy event* names.
|
|
167
|
+
batchSize: options.batchSize ?? options.eventBatchSize,
|
|
168
|
+
flushIntervalMs: options.flushIntervalMs ?? options.eventFlushIntervalMs,
|
|
169
|
+
maxQueueSize: options.eventMaxQueueSize,
|
|
170
|
+
// Event-delivery timeout: canonical eventsTimeoutMs wins, else legacy requestTimeoutMs.
|
|
171
|
+
requestTimeoutMs: options.eventsTimeoutMs ?? options.requestTimeoutMs,
|
|
110
172
|
onError: (error) => {
|
|
111
173
|
console.warn("[Traffical] Event logging error:", error.message);
|
|
112
174
|
},
|
|
@@ -136,6 +198,7 @@ export class TrafficalClient {
|
|
|
136
198
|
projectId: this._options.projectId,
|
|
137
199
|
env: this._options.env,
|
|
138
200
|
log: (event) => this._dispatchEvent(event),
|
|
201
|
+
getConfigVersion: () => this.getConfigVersion(),
|
|
139
202
|
}),
|
|
140
203
|
priority: 100, // High priority so it runs before user plugins
|
|
141
204
|
});
|
|
@@ -178,6 +241,8 @@ export class TrafficalClient {
|
|
|
178
241
|
// Run plugin onInitialize hooks (pass client reference for autonomous plugins)
|
|
179
242
|
await this._plugins.runInitialize(this);
|
|
180
243
|
}, undefined);
|
|
244
|
+
// Fail-open: resolve readiness even if the config load errored/degraded.
|
|
245
|
+
this._readyResolve();
|
|
181
246
|
}
|
|
182
247
|
/**
|
|
183
248
|
* Check if the client is initialized.
|
|
@@ -185,8 +250,51 @@ export class TrafficalClient {
|
|
|
185
250
|
get isInitialized() {
|
|
186
251
|
return this._state.isInitialized;
|
|
187
252
|
}
|
|
253
|
+
/**
|
|
254
|
+
* Resolves once the first usable config has loaded (or the SDK has failed
|
|
255
|
+
* open on an unavailable/malformed bundle). Never rejects.
|
|
256
|
+
*/
|
|
257
|
+
async waitForReady() {
|
|
258
|
+
return this._readyPromise;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Single teardown verb (spec 0.7.0 design contract). Awaits a final event
|
|
262
|
+
* flush before returning; on page unload it falls back to sendBeacon so the
|
|
263
|
+
* final batch still ships. Prefer this over destroy()/destroySync().
|
|
264
|
+
*/
|
|
265
|
+
async close() {
|
|
266
|
+
if (this._state.refreshTimer) {
|
|
267
|
+
clearInterval(this._state.refreshTimer);
|
|
268
|
+
this._state.refreshTimer = null;
|
|
269
|
+
}
|
|
270
|
+
// Await the final flush in the normal path; fall back to a beacon on unload
|
|
271
|
+
// (a normal async flush can't complete as the page tears down).
|
|
272
|
+
if (this._lifecycleProvider.isUnloading()) {
|
|
273
|
+
this._eventLogger.flushBeacon();
|
|
274
|
+
}
|
|
275
|
+
else {
|
|
276
|
+
await this._eventLogger.flush().catch(() => { });
|
|
277
|
+
}
|
|
278
|
+
this._eventLogger.destroy();
|
|
279
|
+
this._plugins.runDestroy();
|
|
280
|
+
this._identityListeners = [];
|
|
281
|
+
this._overrideListeners = [];
|
|
282
|
+
this._overrides = {};
|
|
283
|
+
if (typeof window !== "undefined") {
|
|
284
|
+
const w = window;
|
|
285
|
+
const instances = w.__TRAFFICAL_INSTANCES__;
|
|
286
|
+
if (instances) {
|
|
287
|
+
const idx = instances.indexOf(this);
|
|
288
|
+
if (idx !== -1)
|
|
289
|
+
instances.splice(idx, 1);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
}
|
|
188
293
|
/**
|
|
189
294
|
* Stops background refresh and cleans up resources.
|
|
295
|
+
*
|
|
296
|
+
* @deprecated Use {@link close} instead — the canonical single teardown verb
|
|
297
|
+
* that awaits the final flush.
|
|
190
298
|
*/
|
|
191
299
|
destroy() {
|
|
192
300
|
if (this._state.refreshTimer) {
|
|
@@ -239,17 +347,28 @@ export class TrafficalClient {
|
|
|
239
347
|
getConfigVersion() {
|
|
240
348
|
return this._state.serverResponse?.stateVersion ?? this._state.bundle?.version ?? null;
|
|
241
349
|
}
|
|
242
|
-
// ===========================================================================
|
|
243
|
-
// Parameter Resolution
|
|
244
|
-
// ===========================================================================
|
|
245
350
|
/**
|
|
246
|
-
*
|
|
351
|
+
* Returns the context field the bundle buckets on (the project's unit key),
|
|
352
|
+
* or null before the bundle has loaded. Adapters (e.g. an OpenFeature
|
|
353
|
+
* provider) map their targeting key onto this field.
|
|
247
354
|
*/
|
|
248
|
-
|
|
355
|
+
getUnitKeyField() {
|
|
356
|
+
return coreGetUnitKeyField(this._getEffectiveBundle());
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* Returns the id of the layer a parameter belongs to, or null if the
|
|
360
|
+
* parameter is unknown / the bundle is not yet loaded.
|
|
361
|
+
*/
|
|
362
|
+
getParameterLayerId(key) {
|
|
363
|
+
return coreGetParameterLayerId(this._getEffectiveBundle(), key);
|
|
364
|
+
}
|
|
365
|
+
getParams(contextOrOptions, maybeDefaults) {
|
|
366
|
+
const { context: rawContext, defaults } = normalizeEvalArgs(contextOrOptions, maybeDefaults);
|
|
249
367
|
return this._errorBoundary.capture("getParams", () => {
|
|
250
368
|
// Server mode: return from cached server response
|
|
251
369
|
if (this._options.evaluationMode === "server" && this._state.serverResponse) {
|
|
252
|
-
|
|
370
|
+
this._maybeResolveForContext(rawContext);
|
|
371
|
+
const result = { ...defaults };
|
|
253
372
|
for (const [key, value] of Object.entries(this._state.serverResponse.assignments)) {
|
|
254
373
|
if (key in result) {
|
|
255
374
|
result[key] = value;
|
|
@@ -260,33 +379,37 @@ export class TrafficalClient {
|
|
|
260
379
|
return result;
|
|
261
380
|
}
|
|
262
381
|
const bundle = this._getEffectiveBundle();
|
|
263
|
-
const context = this._enrichContext(
|
|
264
|
-
const params = resolveParameters(bundle, context,
|
|
382
|
+
const context = this._enrichContext(rawContext);
|
|
383
|
+
const params = resolveParameters(bundle, context, defaults);
|
|
265
384
|
// Run plugin onResolve hooks (e.g., DOM binding plugin)
|
|
266
385
|
this._plugins.runResolve(params);
|
|
267
386
|
// Apply parameter overrides (post-resolution, post-plugin)
|
|
268
387
|
this._applyOverridesToResult(params);
|
|
269
388
|
return params;
|
|
270
|
-
},
|
|
389
|
+
}, defaults);
|
|
271
390
|
}
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
*/
|
|
275
|
-
decide(options) {
|
|
391
|
+
decide(contextOrOptions, maybeDefaults) {
|
|
392
|
+
const { context: rawContext, defaults } = normalizeEvalArgs(contextOrOptions, maybeDefaults);
|
|
276
393
|
return this._errorBoundary.capture("decide", () => {
|
|
277
394
|
// Server mode: return from cached server response
|
|
278
395
|
if (this._options.evaluationMode === "server" && this._state.serverResponse) {
|
|
396
|
+
this._maybeResolveForContext(rawContext);
|
|
279
397
|
const resp = this._state.serverResponse;
|
|
280
|
-
const assignments = { ...
|
|
398
|
+
const assignments = { ...defaults };
|
|
281
399
|
for (const [key, value] of Object.entries(resp.assignments)) {
|
|
282
400
|
if (key in assignments) {
|
|
283
401
|
assignments[key] = value;
|
|
284
402
|
}
|
|
285
403
|
}
|
|
286
404
|
const decision = {
|
|
287
|
-
decisionId
|
|
405
|
+
// Fresh decisionId per call — never reuse the resolve response's
|
|
406
|
+
// decisionId across decisions (spec 0.7.0 S8).
|
|
407
|
+
decisionId: generateDecisionId(),
|
|
288
408
|
assignments,
|
|
289
|
-
|
|
409
|
+
// Snapshot the resolve stateVersion at decision time so events
|
|
410
|
+
// built later stamp the version this decision was evaluated
|
|
411
|
+
// against (not whatever response is cached at event-build time).
|
|
412
|
+
metadata: { ...resp.metadata, configVersion: resp.stateVersion },
|
|
290
413
|
};
|
|
291
414
|
this._cacheDecision(decision);
|
|
292
415
|
this._updateCumulativeAttribution(decision);
|
|
@@ -297,11 +420,11 @@ export class TrafficalClient {
|
|
|
297
420
|
}
|
|
298
421
|
const bundle = this._getEffectiveBundle();
|
|
299
422
|
// Run plugin onBeforeDecision hooks
|
|
300
|
-
let context = this._enrichContext(
|
|
423
|
+
let context = this._enrichContext(rawContext);
|
|
301
424
|
context = this._plugins.runBeforeDecision(context);
|
|
302
425
|
// Pass cached edge results (from bundle mode pre-fetch) if available
|
|
303
426
|
const edgeOpts = this._state.cachedEdgeResults ?? undefined;
|
|
304
|
-
const decision = coreDecide(bundle, context,
|
|
427
|
+
const decision = coreDecide(bundle, context, defaults, edgeOpts);
|
|
305
428
|
// Cache decision for attribution lookup when track() is called
|
|
306
429
|
this._cacheDecision(decision);
|
|
307
430
|
// Accumulate attribution entries (survives decision cache eviction)
|
|
@@ -314,7 +437,7 @@ export class TrafficalClient {
|
|
|
314
437
|
return decision;
|
|
315
438
|
}, {
|
|
316
439
|
decisionId: generateDecisionId(),
|
|
317
|
-
assignments:
|
|
440
|
+
assignments: defaults,
|
|
318
441
|
metadata: {
|
|
319
442
|
timestamp: new Date().toISOString(),
|
|
320
443
|
unitKeyValue: "",
|
|
@@ -340,39 +463,51 @@ export class TrafficalClient {
|
|
|
340
463
|
return;
|
|
341
464
|
// Emit to assignment logger (separate from cloud events)
|
|
342
465
|
this._emitAssignmentLogEntries(decision, "exposure");
|
|
343
|
-
//
|
|
466
|
+
// Config bundle version the SDK evaluated against — from the
|
|
467
|
+
// decision-time snapshot. The current version is only a fallback for
|
|
468
|
+
// decisions that predate the snapshot field.
|
|
469
|
+
const configVersion = decision.metadata.configVersion ?? this.getConfigVersion() ?? undefined;
|
|
470
|
+
// S4 canonical shape: ONE exposure event per trackExposure() carrying
|
|
471
|
+
// only newly-exposed, non-attributionOnly layers. Skip layers without
|
|
472
|
+
// a policy/allocation, skip attribution-only layers (parameters not
|
|
473
|
+
// requested by this decision), and dedup per (unit, policy, allocation)
|
|
474
|
+
// for the session (dedup on by default). Mirrors the Node SDK — no
|
|
475
|
+
// longer one event per layer with the full unfiltered layers array.
|
|
476
|
+
const exposedLayers = [];
|
|
344
477
|
for (const layer of decision.metadata.layers) {
|
|
345
478
|
if (!layer.policyId || !layer.allocationName)
|
|
346
479
|
continue;
|
|
347
|
-
// Skip attribution-only layers — the user wasn't exposed to
|
|
348
|
-
// parameters from this layer, so no exposure event should fire.
|
|
349
480
|
if (layer.attributionOnly)
|
|
350
481
|
continue;
|
|
351
|
-
// Deduplicate
|
|
352
482
|
const isNew = this._exposureDedup.checkAndMark(unitKey, layer.policyId, layer.allocationName);
|
|
353
483
|
if (!isNew)
|
|
354
484
|
continue;
|
|
355
|
-
|
|
356
|
-
type: "exposure",
|
|
357
|
-
id: generateExposureId(), // Unique exposure ID (not same as decision)
|
|
358
|
-
decisionId: decision.decisionId,
|
|
359
|
-
orgId: this._options.orgId,
|
|
360
|
-
projectId: this._options.projectId,
|
|
361
|
-
env: this._options.env,
|
|
362
|
-
unitKey,
|
|
363
|
-
timestamp: new Date().toISOString(),
|
|
364
|
-
assignments: decision.assignments,
|
|
365
|
-
layers: decision.metadata.layers,
|
|
366
|
-
context: decision.metadata.filteredContext,
|
|
367
|
-
sdkName: SDK_NAME,
|
|
368
|
-
sdkVersion: SDK_VERSION,
|
|
369
|
-
};
|
|
370
|
-
// Run plugin onExposure hooks
|
|
371
|
-
if (!this._plugins.runExposure(event)) {
|
|
372
|
-
continue;
|
|
373
|
-
}
|
|
374
|
-
this._dispatchEvent(event);
|
|
485
|
+
exposedLayers.push(layer);
|
|
375
486
|
}
|
|
487
|
+
// Nothing new to expose (all attribution-only or already seen this
|
|
488
|
+
// session) — emit NO event (never an empty-layers event).
|
|
489
|
+
if (exposedLayers.length === 0)
|
|
490
|
+
return;
|
|
491
|
+
const event = {
|
|
492
|
+
type: "exposure",
|
|
493
|
+
id: generateExposureId(), // Unique exposure ID (not same as decision)
|
|
494
|
+
decisionId: decision.decisionId,
|
|
495
|
+
orgId: this._options.orgId,
|
|
496
|
+
projectId: this._options.projectId,
|
|
497
|
+
env: this._options.env,
|
|
498
|
+
unitKey,
|
|
499
|
+
timestamp: new Date().toISOString(),
|
|
500
|
+
assignments: decision.assignments,
|
|
501
|
+
layers: exposedLayers,
|
|
502
|
+
context: decision.metadata.filteredContext,
|
|
503
|
+
configVersion,
|
|
504
|
+
sdkName: SDK_NAME,
|
|
505
|
+
sdkVersion: SDK_VERSION,
|
|
506
|
+
};
|
|
507
|
+
// Run plugin onExposure hooks
|
|
508
|
+
if (!this._plugins.runExposure(event))
|
|
509
|
+
return;
|
|
510
|
+
this._dispatchEvent(event);
|
|
376
511
|
}, undefined);
|
|
377
512
|
}
|
|
378
513
|
/**
|
|
@@ -395,7 +530,12 @@ export class TrafficalClient {
|
|
|
395
530
|
track(eventName, properties, options) {
|
|
396
531
|
this._errorBoundary.capture("track", () => {
|
|
397
532
|
const unitKey = options?.unitKey ?? this._stableId.getId();
|
|
398
|
-
|
|
533
|
+
// Single numeric value: explicit options.value wins, else properties.value.
|
|
534
|
+
const value = typeof options?.value === "number"
|
|
535
|
+
? options.value
|
|
536
|
+
: typeof properties?.value === "number"
|
|
537
|
+
? properties.value
|
|
538
|
+
: undefined;
|
|
399
539
|
// Auto-populate attribution from cached decisions
|
|
400
540
|
const attribution = this._buildAttribution(unitKey, options?.decisionId);
|
|
401
541
|
const decisionId = options?.decisionId;
|
|
@@ -409,9 +549,11 @@ export class TrafficalClient {
|
|
|
409
549
|
timestamp: new Date().toISOString(),
|
|
410
550
|
event: eventName,
|
|
411
551
|
value,
|
|
552
|
+
values: options?.values,
|
|
412
553
|
properties,
|
|
413
554
|
decisionId,
|
|
414
555
|
attribution,
|
|
556
|
+
eventTimestamp: options?.eventTimestamp,
|
|
415
557
|
sdkName: SDK_NAME,
|
|
416
558
|
sdkVersion: SDK_VERSION,
|
|
417
559
|
};
|
|
@@ -587,6 +729,9 @@ export class TrafficalClient {
|
|
|
587
729
|
const unitKey = decision.metadata.unitKeyValue;
|
|
588
730
|
if (!unitKey)
|
|
589
731
|
return;
|
|
732
|
+
// Config bundle version the SDK evaluated against — from the
|
|
733
|
+
// decision-time snapshot, falling back to the current version.
|
|
734
|
+
const configVersion = decision.metadata.configVersion ?? this.getConfigVersion() ?? undefined;
|
|
590
735
|
for (const layer of decision.metadata.layers) {
|
|
591
736
|
if (!layer.policyId || !layer.allocationName)
|
|
592
737
|
continue;
|
|
@@ -615,6 +760,10 @@ export class TrafficalClient {
|
|
|
615
760
|
decisionId: decision.decisionId,
|
|
616
761
|
anonymousId: this._stableId.getId(),
|
|
617
762
|
id: generateAssignmentId(),
|
|
763
|
+
bucket: layer.bucket >= 0 ? layer.bucket : undefined,
|
|
764
|
+
probability: layer.probability,
|
|
765
|
+
modelVersion: layer.modelVersion,
|
|
766
|
+
configVersion,
|
|
618
767
|
});
|
|
619
768
|
}
|
|
620
769
|
}
|
|
@@ -644,7 +793,9 @@ export class TrafficalClient {
|
|
|
644
793
|
return context;
|
|
645
794
|
}
|
|
646
795
|
async _fetchConfig() {
|
|
647
|
-
|
|
796
|
+
// URL-encode path/query components so an env or projectId containing
|
|
797
|
+
// reserved characters (spaces, &, ?, /) can't corrupt the request URL.
|
|
798
|
+
const url = `${this._options.baseUrl}/v1/config/${encodeURIComponent(this._options.projectId)}?env=${encodeURIComponent(this._options.env)}`;
|
|
648
799
|
const headers = {
|
|
649
800
|
"Content-Type": "application/json",
|
|
650
801
|
Authorization: `Bearer ${this._options.apiKey}`,
|
|
@@ -671,6 +822,13 @@ export class TrafficalClient {
|
|
|
671
822
|
}
|
|
672
823
|
const bundle = (await response.json());
|
|
673
824
|
const etag = response.headers.get("ETag");
|
|
825
|
+
// A 200 can still carry a malformed body. Discard it and keep the
|
|
826
|
+
// previous last-good bundle rather than corrupting bucket assignments or
|
|
827
|
+
// falling through to defaults when we already have a valid config.
|
|
828
|
+
if (!isValidConfigBundle(bundle)) {
|
|
829
|
+
this._logMalformedBundleWarning();
|
|
830
|
+
return;
|
|
831
|
+
}
|
|
674
832
|
this._state.bundle = bundle;
|
|
675
833
|
this._state.etag = etag;
|
|
676
834
|
this._state.lastFetchTime = Date.now();
|
|
@@ -698,20 +856,50 @@ export class TrafficalClient {
|
|
|
698
856
|
: this._options.refreshIntervalMs;
|
|
699
857
|
if (interval <= 0)
|
|
700
858
|
return;
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
859
|
+
// Reschedule via setTimeout with fresh +/-10% jitter each tick (instead of a
|
|
860
|
+
// fixed setInterval) so fleets of clients don't converge on the same refresh
|
|
861
|
+
// instant and stampede the edge.
|
|
862
|
+
const scheduleNext = () => {
|
|
863
|
+
this._state.refreshTimer = setTimeout(() => {
|
|
864
|
+
// Schedule the next tick before firing so cadence stays independent of
|
|
865
|
+
// fetch latency (matching the previous fire-and-forget setInterval).
|
|
866
|
+
scheduleNext();
|
|
867
|
+
if (this._options.evaluationMode === "server") {
|
|
868
|
+
this._fetchServerResolve().catch(() => { });
|
|
869
|
+
}
|
|
870
|
+
else {
|
|
871
|
+
this._fetchConfig().catch(() => { });
|
|
872
|
+
}
|
|
873
|
+
}, jitteredInterval(interval));
|
|
874
|
+
};
|
|
875
|
+
scheduleNext();
|
|
709
876
|
}
|
|
710
|
-
|
|
877
|
+
/**
|
|
878
|
+
* Server mode: threads the per-call context into a background /v1/resolve so
|
|
879
|
+
* the cached snapshot converges to the contexts actually being evaluated.
|
|
880
|
+
* Throttled by serialized context so repeated identical contexts don't hammer
|
|
881
|
+
* the edge. decide()/getParams() are synchronous and cannot await this; the
|
|
882
|
+
* current call degrades to the last-good snapshot.
|
|
883
|
+
*/
|
|
884
|
+
_maybeResolveForContext(context) {
|
|
885
|
+
const enriched = this._enrichContext(context);
|
|
886
|
+
let key;
|
|
887
|
+
try {
|
|
888
|
+
key = JSON.stringify(enriched);
|
|
889
|
+
}
|
|
890
|
+
catch {
|
|
891
|
+
key = "";
|
|
892
|
+
}
|
|
893
|
+
if (key === this._lastResolveContextKey)
|
|
894
|
+
return;
|
|
895
|
+
this._lastResolveContextKey = key;
|
|
896
|
+
void this._fetchServerResolve(enriched);
|
|
897
|
+
}
|
|
898
|
+
async _fetchServerResolve(contextOverride) {
|
|
711
899
|
if (!this._decisionClient)
|
|
712
900
|
return;
|
|
713
901
|
try {
|
|
714
|
-
const context = this._enrichContext({});
|
|
902
|
+
const context = contextOverride ?? this._enrichContext({});
|
|
715
903
|
const response = await this._decisionClient.resolve({ context });
|
|
716
904
|
if (response) {
|
|
717
905
|
this._state.serverResponse = response;
|
|
@@ -789,6 +977,13 @@ export class TrafficalClient {
|
|
|
789
977
|
this._state.lastOfflineWarning = now;
|
|
790
978
|
}
|
|
791
979
|
}
|
|
980
|
+
_logMalformedBundleWarning() {
|
|
981
|
+
const now = Date.now();
|
|
982
|
+
if (now - this._state.lastMalformedWarning > MALFORMED_BUNDLE_WARNING_INTERVAL_MS) {
|
|
983
|
+
console.warn(`[Traffical] Discarded malformed config bundle (invalid hashing/shape). Using ${this._state.bundle ? "cached" : "local"} config.`);
|
|
984
|
+
this._state.lastMalformedWarning = now;
|
|
985
|
+
}
|
|
986
|
+
}
|
|
792
987
|
/**
|
|
793
988
|
* Caches a decision for attribution lookup when track() is called.
|
|
794
989
|
* Maintains a bounded cache to prevent memory leaks.
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|