@traffical/js-client 0.15.0 → 0.16.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 +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/README.md
CHANGED
|
@@ -112,8 +112,14 @@ createTrafficalClient({
|
|
|
112
112
|
baseUrl?: string, // Default: https://sdk.traffical.io
|
|
113
113
|
refreshIntervalMs?: number, // Config refresh interval (default: 60000)
|
|
114
114
|
localConfig?: ConfigBundle, // Offline fallback config
|
|
115
|
-
|
|
116
|
-
|
|
115
|
+
batchSize?: number, // Events per batch (default: 10)
|
|
116
|
+
// (legacy alias: eventBatchSize)
|
|
117
|
+
flushIntervalMs?: number, // Flush interval (default: 30000)
|
|
118
|
+
// (legacy alias: eventFlushIntervalMs)
|
|
119
|
+
configTimeoutMs?: number, // Config-fetch timeout (default: 10000)
|
|
120
|
+
eventsTimeoutMs?: number, // Event-delivery timeout (default: 10000)
|
|
121
|
+
resolveTimeoutMs?: number, // Server-resolve timeout (default: 5000)
|
|
122
|
+
// (legacy fallback for all three: requestTimeoutMs)
|
|
117
123
|
exposureSessionTtlMs?: number, // Dedup session TTL (default: 1800000)
|
|
118
124
|
plugins?: TrafficalPlugin[], // Plugins to register
|
|
119
125
|
});
|
package/dist/client.d.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* - Plugin system (P2)
|
|
10
10
|
* - Auto stable ID for anonymous users
|
|
11
11
|
*/
|
|
12
|
-
import { type ConfigBundle, type Context, type DecisionResult, type ParameterValue, type AssignmentLogger, type TrackableEventLogger, type TrackEventMap, type OnSchemaWarnings } from "@traffical/core";
|
|
12
|
+
import { type ConfigBundle, type Context, type DecisionResult, type ParameterValue, type DecideOptions, type GetParamsOptions, type TrackEventOptions, type AssignmentLogger, type TrackableEventLogger, type TrackEventMap, type OnSchemaWarnings } from "@traffical/core";
|
|
13
13
|
import { type ErrorBoundaryOptions } from "./error-boundary.js";
|
|
14
14
|
import { type StorageProvider } from "./storage.js";
|
|
15
15
|
import { type TrafficalPlugin } from "./plugins/index.js";
|
|
@@ -36,13 +36,49 @@ export interface TrafficalClientOptions {
|
|
|
36
36
|
* On timeout the request is aborted and treated exactly like a network
|
|
37
37
|
* failure: config fetches fall back to the cached/local config, and event
|
|
38
38
|
* batches are persisted for retry.
|
|
39
|
+
*
|
|
40
|
+
* @deprecated Use the per-path options `configTimeoutMs`, `eventsTimeoutMs`,
|
|
41
|
+
* and `resolveTimeoutMs` instead. `requestTimeoutMs` is still honored as the
|
|
42
|
+
* legacy fallback for all three when the specific option is not provided.
|
|
39
43
|
*/
|
|
40
44
|
requestTimeoutMs?: number;
|
|
45
|
+
/**
|
|
46
|
+
* Timeout in milliseconds for the config-bundle fetch (default: 10000).
|
|
47
|
+
* Falls back to `requestTimeoutMs` when not set.
|
|
48
|
+
*/
|
|
49
|
+
configTimeoutMs?: number;
|
|
50
|
+
/**
|
|
51
|
+
* Timeout in milliseconds for event-delivery POSTs (default: 10000).
|
|
52
|
+
* Falls back to `requestTimeoutMs` when not set.
|
|
53
|
+
*/
|
|
54
|
+
eventsTimeoutMs?: number;
|
|
55
|
+
/**
|
|
56
|
+
* Timeout in milliseconds for server-resolve requests (POST /v1/resolve,
|
|
57
|
+
* default: 5000). Falls back to `requestTimeoutMs` when not set.
|
|
58
|
+
*/
|
|
59
|
+
resolveTimeoutMs?: number;
|
|
41
60
|
/** Error boundary options */
|
|
42
61
|
errorBoundary?: ErrorBoundaryOptions;
|
|
43
62
|
/** Event batching options */
|
|
63
|
+
/**
|
|
64
|
+
* Events per delivery batch (default: 10).
|
|
65
|
+
* @deprecated Use the canonical `batchSize` instead. `eventBatchSize` still works.
|
|
66
|
+
*/
|
|
44
67
|
eventBatchSize?: number;
|
|
68
|
+
/**
|
|
69
|
+
* Event flush cadence in milliseconds (default: 30000).
|
|
70
|
+
* @deprecated Use the canonical `flushIntervalMs` instead. `eventFlushIntervalMs` still works.
|
|
71
|
+
*/
|
|
45
72
|
eventFlushIntervalMs?: number;
|
|
73
|
+
/** Events per delivery batch (default: 10). Canonical alias of `eventBatchSize`. */
|
|
74
|
+
batchSize?: number;
|
|
75
|
+
/** Event flush cadence in milliseconds (default: 30000). Canonical alias of `eventFlushIntervalMs`. */
|
|
76
|
+
flushIntervalMs?: number;
|
|
77
|
+
/**
|
|
78
|
+
* Maximum number of events buffered in memory before the oldest is dropped
|
|
79
|
+
* (default: 1000). Bounds memory so the queue never grows without limit.
|
|
80
|
+
*/
|
|
81
|
+
eventMaxQueueSize?: number;
|
|
46
82
|
/** Exposure deduplication session TTL */
|
|
47
83
|
exposureSessionTtlMs?: number;
|
|
48
84
|
/**
|
|
@@ -150,6 +186,11 @@ export declare class TrafficalClient<TEvents extends TrackEventMap = TrackEventM
|
|
|
150
186
|
private _identityListeners;
|
|
151
187
|
private _overrideListeners;
|
|
152
188
|
private _overrides;
|
|
189
|
+
/** Serialized context of the last server-mode resolve (per-call throttle). */
|
|
190
|
+
private _lastResolveContextKey;
|
|
191
|
+
/** Resolves once the first config load attempt completes (fail-open). */
|
|
192
|
+
private _readyResolve;
|
|
193
|
+
private readonly _readyPromise;
|
|
153
194
|
constructor(options: TrafficalClientOptions);
|
|
154
195
|
/**
|
|
155
196
|
* Initializes the client by fetching the config bundle.
|
|
@@ -159,8 +200,22 @@ export declare class TrafficalClient<TEvents extends TrackEventMap = TrackEventM
|
|
|
159
200
|
* Check if the client is initialized.
|
|
160
201
|
*/
|
|
161
202
|
get isInitialized(): boolean;
|
|
203
|
+
/**
|
|
204
|
+
* Resolves once the first usable config has loaded (or the SDK has failed
|
|
205
|
+
* open on an unavailable/malformed bundle). Never rejects.
|
|
206
|
+
*/
|
|
207
|
+
waitForReady(): Promise<void>;
|
|
208
|
+
/**
|
|
209
|
+
* Single teardown verb (spec 0.7.0 design contract). Awaits a final event
|
|
210
|
+
* flush before returning; on page unload it falls back to sendBeacon so the
|
|
211
|
+
* final batch still ships. Prefer this over destroy()/destroySync().
|
|
212
|
+
*/
|
|
213
|
+
close(): Promise<void>;
|
|
162
214
|
/**
|
|
163
215
|
* Stops background refresh and cleans up resources.
|
|
216
|
+
*
|
|
217
|
+
* @deprecated Use {@link close} instead — the canonical single teardown verb
|
|
218
|
+
* that awaits the final flush.
|
|
164
219
|
*/
|
|
165
220
|
destroy(): void;
|
|
166
221
|
/**
|
|
@@ -171,20 +226,29 @@ export declare class TrafficalClient<TEvents extends TrackEventMap = TrackEventM
|
|
|
171
226
|
* Gets the current config bundle version.
|
|
172
227
|
*/
|
|
173
228
|
getConfigVersion(): string | null;
|
|
229
|
+
/**
|
|
230
|
+
* Returns the context field the bundle buckets on (the project's unit key),
|
|
231
|
+
* or null before the bundle has loaded. Adapters (e.g. an OpenFeature
|
|
232
|
+
* provider) map their targeting key onto this field.
|
|
233
|
+
*/
|
|
234
|
+
getUnitKeyField(): string | null;
|
|
235
|
+
/**
|
|
236
|
+
* Returns the id of the layer a parameter belongs to, or null if the
|
|
237
|
+
* parameter is unknown / the bundle is not yet loaded.
|
|
238
|
+
*/
|
|
239
|
+
getParameterLayerId(key: string): string | null;
|
|
174
240
|
/**
|
|
175
241
|
* Resolves parameters with defaults as fallback.
|
|
176
242
|
*/
|
|
177
|
-
getParams<T extends Record<string, ParameterValue>>(
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
}): T;
|
|
243
|
+
getParams<T extends Record<string, ParameterValue>>(context: Context, defaults: T): T;
|
|
244
|
+
/** @deprecated Pass `(context, defaults)` positionally (spec 0.7.0 contract). */
|
|
245
|
+
getParams<T extends Record<string, ParameterValue>>(options: GetParamsOptions<T>): T;
|
|
181
246
|
/**
|
|
182
247
|
* Makes a decision with full metadata for tracking.
|
|
183
248
|
*/
|
|
184
|
-
decide<T extends Record<string, ParameterValue>>(
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
}): DecisionResult;
|
|
249
|
+
decide<T extends Record<string, ParameterValue>>(context: Context, defaults: T): DecisionResult;
|
|
250
|
+
/** @deprecated Pass `(context, defaults)` positionally (spec 0.7.0 contract). */
|
|
251
|
+
decide<T extends Record<string, ParameterValue>>(options: DecideOptions<T>): DecisionResult;
|
|
188
252
|
/**
|
|
189
253
|
* Tracks an exposure event.
|
|
190
254
|
* Automatically deduplicates exposures for the same user/variant.
|
|
@@ -211,10 +275,7 @@ export declare class TrafficalClient<TEvents extends TrackEventMap = TrackEventM
|
|
|
211
275
|
* // Track with explicit decision attribution
|
|
212
276
|
* client.track('checkout_complete', { value: 1 }, { decisionId: decision.decisionId });
|
|
213
277
|
*/
|
|
214
|
-
track<E extends Extract<keyof TEvents, string>>(eventName: E, properties?: TEvents[E], options?:
|
|
215
|
-
decisionId?: string;
|
|
216
|
-
unitKey?: string;
|
|
217
|
-
}): void;
|
|
278
|
+
track<E extends Extract<keyof TEvents, string>>(eventName: E, properties?: TEvents[E], options?: TrackEventOptions): void;
|
|
218
279
|
/**
|
|
219
280
|
* Flush pending events immediately.
|
|
220
281
|
*/
|
|
@@ -287,6 +348,14 @@ export declare class TrafficalClient<TEvents extends TrackEventMap = TrackEventM
|
|
|
287
348
|
private _enrichContext;
|
|
288
349
|
private _fetchConfig;
|
|
289
350
|
private _startBackgroundRefresh;
|
|
351
|
+
/**
|
|
352
|
+
* Server mode: threads the per-call context into a background /v1/resolve so
|
|
353
|
+
* the cached snapshot converges to the contexts actually being evaluated.
|
|
354
|
+
* Throttled by serialized context so repeated identical contexts don't hammer
|
|
355
|
+
* the edge. decide()/getParams() are synchronous and cannot await this; the
|
|
356
|
+
* current call degrades to the last-good snapshot.
|
|
357
|
+
*/
|
|
358
|
+
private _maybeResolveForContext;
|
|
290
359
|
private _fetchServerResolve;
|
|
291
360
|
/**
|
|
292
361
|
* Finds edge-mode policies in the current bundle.
|
|
@@ -298,6 +367,7 @@ export declare class TrafficalClient<TEvents extends TrackEventMap = TrackEventM
|
|
|
298
367
|
*/
|
|
299
368
|
private _prefetchEdgeResults;
|
|
300
369
|
private _logOfflineWarning;
|
|
370
|
+
private _logMalformedBundleWarning;
|
|
301
371
|
/**
|
|
302
372
|
* Caches a decision for attribution lookup when track() is called.
|
|
303
373
|
* Maintains a bounded cache to prevent memory leaks.
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|