@traffical/js-client 0.14.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 +93 -13
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +268 -59
- package/dist/client.js.map +1 -1
- package/dist/event-logger.d.ts +36 -0
- package/dist/event-logger.d.ts.map +1 -1
- package/dist/event-logger.js +88 -13
- 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";
|
|
@@ -29,11 +29,56 @@ export interface TrafficalClientOptions {
|
|
|
29
29
|
localConfig?: ConfigBundle;
|
|
30
30
|
/** Refresh interval in milliseconds (default: 60000) */
|
|
31
31
|
refreshIntervalMs?: number;
|
|
32
|
+
/**
|
|
33
|
+
* Timeout in milliseconds for SDK network requests — the config bundle
|
|
34
|
+
* fetch and event batch POSTs (default: 10000).
|
|
35
|
+
*
|
|
36
|
+
* On timeout the request is aborted and treated exactly like a network
|
|
37
|
+
* failure: config fetches fall back to the cached/local config, and event
|
|
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.
|
|
43
|
+
*/
|
|
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;
|
|
32
60
|
/** Error boundary options */
|
|
33
61
|
errorBoundary?: ErrorBoundaryOptions;
|
|
34
62
|
/** Event batching options */
|
|
63
|
+
/**
|
|
64
|
+
* Events per delivery batch (default: 10).
|
|
65
|
+
* @deprecated Use the canonical `batchSize` instead. `eventBatchSize` still works.
|
|
66
|
+
*/
|
|
35
67
|
eventBatchSize?: number;
|
|
68
|
+
/**
|
|
69
|
+
* Event flush cadence in milliseconds (default: 30000).
|
|
70
|
+
* @deprecated Use the canonical `flushIntervalMs` instead. `eventFlushIntervalMs` still works.
|
|
71
|
+
*/
|
|
36
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;
|
|
37
82
|
/** Exposure deduplication session TTL */
|
|
38
83
|
exposureSessionTtlMs?: number;
|
|
39
84
|
/**
|
|
@@ -123,6 +168,7 @@ export declare class TrafficalClient<TEvents extends TrackEventMap = TrackEventM
|
|
|
123
168
|
private readonly _plugins;
|
|
124
169
|
private readonly _lifecycleProvider;
|
|
125
170
|
private readonly _decisionClient;
|
|
171
|
+
private readonly _requestTimeoutMs;
|
|
126
172
|
private readonly _assignmentLogger?;
|
|
127
173
|
private readonly _byoEventLogger?;
|
|
128
174
|
private readonly _disableCloudEvents;
|
|
@@ -140,6 +186,11 @@ export declare class TrafficalClient<TEvents extends TrackEventMap = TrackEventM
|
|
|
140
186
|
private _identityListeners;
|
|
141
187
|
private _overrideListeners;
|
|
142
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;
|
|
143
194
|
constructor(options: TrafficalClientOptions);
|
|
144
195
|
/**
|
|
145
196
|
* Initializes the client by fetching the config bundle.
|
|
@@ -149,8 +200,22 @@ export declare class TrafficalClient<TEvents extends TrackEventMap = TrackEventM
|
|
|
149
200
|
* Check if the client is initialized.
|
|
150
201
|
*/
|
|
151
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>;
|
|
152
214
|
/**
|
|
153
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.
|
|
154
219
|
*/
|
|
155
220
|
destroy(): void;
|
|
156
221
|
/**
|
|
@@ -161,20 +226,29 @@ export declare class TrafficalClient<TEvents extends TrackEventMap = TrackEventM
|
|
|
161
226
|
* Gets the current config bundle version.
|
|
162
227
|
*/
|
|
163
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;
|
|
164
240
|
/**
|
|
165
241
|
* Resolves parameters with defaults as fallback.
|
|
166
242
|
*/
|
|
167
|
-
getParams<T extends Record<string, ParameterValue>>(
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
}): 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;
|
|
171
246
|
/**
|
|
172
247
|
* Makes a decision with full metadata for tracking.
|
|
173
248
|
*/
|
|
174
|
-
decide<T extends Record<string, ParameterValue>>(
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
}): 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;
|
|
178
252
|
/**
|
|
179
253
|
* Tracks an exposure event.
|
|
180
254
|
* Automatically deduplicates exposures for the same user/variant.
|
|
@@ -201,10 +275,7 @@ export declare class TrafficalClient<TEvents extends TrackEventMap = TrackEventM
|
|
|
201
275
|
* // Track with explicit decision attribution
|
|
202
276
|
* client.track('checkout_complete', { value: 1 }, { decisionId: decision.decisionId });
|
|
203
277
|
*/
|
|
204
|
-
track<E extends Extract<keyof TEvents, string>>(eventName: E, properties?: TEvents[E], options?:
|
|
205
|
-
decisionId?: string;
|
|
206
|
-
unitKey?: string;
|
|
207
|
-
}): void;
|
|
278
|
+
track<E extends Extract<keyof TEvents, string>>(eventName: E, properties?: TEvents[E], options?: TrackEventOptions): void;
|
|
208
279
|
/**
|
|
209
280
|
* Flush pending events immediately.
|
|
210
281
|
*/
|
|
@@ -277,6 +348,14 @@ export declare class TrafficalClient<TEvents extends TrackEventMap = TrackEventM
|
|
|
277
348
|
private _enrichContext;
|
|
278
349
|
private _fetchConfig;
|
|
279
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;
|
|
280
359
|
private _fetchServerResolve;
|
|
281
360
|
/**
|
|
282
361
|
* Finds edge-mode policies in the current bundle.
|
|
@@ -288,6 +367,7 @@ export declare class TrafficalClient<TEvents extends TrackEventMap = TrackEventM
|
|
|
288
367
|
*/
|
|
289
368
|
private _prefetchEdgeResults;
|
|
290
369
|
private _logOfflineWarning;
|
|
370
|
+
private _logMalformedBundleWarning;
|
|
291
371
|
/**
|
|
292
372
|
* Caches a decision for attribution lookup when track() is called.
|
|
293
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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"}
|