@uptimizr/sdk-core 0.1.2 → 0.3.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/dist/aggregation/aggregator.d.ts +62 -0
- package/dist/aggregation/aggregator.d.ts.map +1 -0
- package/dist/aggregation/aggregator.js +194 -0
- package/dist/aggregation/aggregator.js.map +1 -0
- package/dist/aggregation/index.d.ts +14 -0
- package/dist/aggregation/index.d.ts.map +1 -0
- package/dist/aggregation/index.js +11 -0
- package/dist/aggregation/index.js.map +1 -0
- package/dist/aggregation/math.d.ts +63 -0
- package/dist/aggregation/math.d.ts.map +1 -0
- package/dist/aggregation/math.js +118 -0
- package/dist/aggregation/math.js.map +1 -0
- package/dist/aggregation/snapshot.d.ts +123 -0
- package/dist/aggregation/snapshot.d.ts.map +1 -0
- package/dist/aggregation/snapshot.js +16 -0
- package/dist/aggregation/snapshot.js.map +1 -0
- package/dist/aggregationSink.d.ts +67 -0
- package/dist/aggregationSink.d.ts.map +1 -0
- package/dist/aggregationSink.js +110 -0
- package/dist/aggregationSink.js.map +1 -0
- package/dist/client.d.ts +22 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +71 -3
- package/dist/client.js.map +1 -1
- package/dist/graphicsDiagnostics.d.ts +301 -0
- package/dist/graphicsDiagnostics.d.ts.map +1 -0
- package/dist/graphicsDiagnostics.js +409 -0
- package/dist/graphicsDiagnostics.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/offloadProtocol.d.ts +52 -8
- package/dist/offloadProtocol.d.ts.map +1 -1
- package/dist/offloadWorker.js +38 -7
- package/dist/offloadWorker.js.map +1 -1
- package/dist/processor.d.ts +2 -0
- package/dist/processor.d.ts.map +1 -1
- package/dist/processor.js +1 -1
- package/dist/processor.js.map +1 -1
- package/dist/types.d.ts +39 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collect the transferable buffers a snapshot carries so they move to the worker
|
|
3
|
+
* zero-copy (ADR 0031 §6, #98). Transferring neuters the buffer on the main
|
|
4
|
+
* thread, so a snapshot that opts in must own a fresh buffer; the aggregator's
|
|
5
|
+
* default (main) path never transfers, so the buffer stays usable there.
|
|
6
|
+
*/
|
|
7
|
+
export function collectSnapshotTransferables(snapshot) {
|
|
8
|
+
if (snapshot.channel === "perf") {
|
|
9
|
+
return [snapshot.frameTimes.buffer];
|
|
10
|
+
}
|
|
11
|
+
if (snapshot.channel === "node" && snapshot.matrix) {
|
|
12
|
+
return [snapshot.matrix.buffer];
|
|
13
|
+
}
|
|
14
|
+
return [];
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=snapshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/aggregation/snapshot.ts"],"names":[],"mappings":"AAwIA;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAAC,QAAkB;IAC7D,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { Aggregator, AggregatorConfig } from "./aggregation/aggregator.js";
|
|
2
|
+
import { type Snapshot } from "./aggregation/snapshot.js";
|
|
3
|
+
import { type WorkerFactory } from "./processor.js";
|
|
4
|
+
import type { EventInput } from "./types.js";
|
|
5
|
+
/**
|
|
6
|
+
* An **AggregationSink** owns the offload-eligible *aggregation* phase of the SDK
|
|
7
|
+
* (ADR 0031 follow-up, #10): turning the raw, plain-number {@link Snapshot} DTOs
|
|
8
|
+
* a connector emits per frame into finalized analytics events. It sits between
|
|
9
|
+
* the connector (via `ctx.snapshot`) and the client's emit/queue/flush loop.
|
|
10
|
+
*
|
|
11
|
+
* Two implementations exist, mirroring the transport {@link Processor} seam:
|
|
12
|
+
* - {@link createMainSink} — the default; runs the aggregator synchronously on
|
|
13
|
+
* the main thread, emitting finalized events inline. Byte-for-byte identical to
|
|
14
|
+
* the pre-seam behaviour where each connector aggregated inline.
|
|
15
|
+
* - {@link createWorkerAggregationSink} — opt-in; ships snapshots to a worker
|
|
16
|
+
* (high-volume channels by transfer, zero-copy) where a worker-resident
|
|
17
|
+
* aggregator finalizes them and posts the events back to the page.
|
|
18
|
+
*
|
|
19
|
+
* In both cases the finalized events are emitted on the **main thread**, so the
|
|
20
|
+
* envelope, `beforeSend` (a page closure), the queue and the unload guarantee
|
|
21
|
+
* (ADR 0031 §5) are all preserved unchanged.
|
|
22
|
+
*/
|
|
23
|
+
export interface AggregationSink {
|
|
24
|
+
/**
|
|
25
|
+
* Ingest one raw snapshot. `capturedAt` is the page-stamped capture time
|
|
26
|
+
* (epoch ms); it is carried onto the emitted events' `ts` so worker round-trip
|
|
27
|
+
* latency does not skew timestamps.
|
|
28
|
+
*/
|
|
29
|
+
ingest(snapshot: Snapshot, capturedAt: number): void;
|
|
30
|
+
/**
|
|
31
|
+
* Drain any aggregator state that finalizes on demand, then resolve once all
|
|
32
|
+
* resulting events have been emitted on the main thread. Awaited by the
|
|
33
|
+
* client's terminal unload flush so no window is lost (ADR 0031 §5).
|
|
34
|
+
*/
|
|
35
|
+
drain(): Promise<void>;
|
|
36
|
+
/** Release resources (e.g. terminate the worker). Idempotent. */
|
|
37
|
+
dispose(): void;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The default sink: run the given main-thread {@link Aggregator} synchronously.
|
|
41
|
+
* `ingest` finalizes inline (the aggregator's `emit` callback fires during the
|
|
42
|
+
* call), so this is identical to the old inline-connector behaviour.
|
|
43
|
+
*/
|
|
44
|
+
export declare function createMainSink(aggregator: Aggregator): AggregationSink;
|
|
45
|
+
export interface WorkerAggregationSinkOptions {
|
|
46
|
+
/** Serializable per-channel aggregation config (no callbacks/handles). */
|
|
47
|
+
config: AggregatorConfig;
|
|
48
|
+
/** Called on the main thread with finalized events from the worker. */
|
|
49
|
+
onEvents: (events: EventInput[], capturedAt: number) => void;
|
|
50
|
+
/**
|
|
51
|
+
* How to construct the worker. Defaults to the SDK-bundled module worker, the
|
|
52
|
+
* same asset the transport processor uses.
|
|
53
|
+
*/
|
|
54
|
+
workerFactory?: WorkerFactory;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Create a worker-backed aggregation sink (ADR 0031 follow-up, #10). Returns
|
|
58
|
+
* `null` when a worker cannot be constructed (no `Worker` global, the bundler did
|
|
59
|
+
* not emit the asset, a restrictive CSP, SSR, or tests) so the caller can fall
|
|
60
|
+
* back to a main-thread sink — worker mode is never required for correctness.
|
|
61
|
+
*
|
|
62
|
+
* Uses its own dedicated worker instance (separate from the transport
|
|
63
|
+
* processor's) so the existing transport seam stays untouched; each worker only
|
|
64
|
+
* acts on the messages it receives.
|
|
65
|
+
*/
|
|
66
|
+
export declare function createWorkerAggregationSink(options: WorkerAggregationSinkOptions): AggregationSink | null;
|
|
67
|
+
//# sourceMappingURL=aggregationSink.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aggregationSink.d.ts","sourceRoot":"","sources":["../src/aggregationSink.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAgC,KAAK,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAwB,KAAK,aAAa,EAAmB,MAAM,gBAAgB,CAAC;AAC3F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAQ7C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACrD;;;;OAIG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,iEAAiE;IACjE,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,eAAe,CAQtE;AAED,MAAM,WAAW,4BAA4B;IAC3C,0EAA0E;IAC1E,MAAM,EAAE,gBAAgB,CAAC;IACzB,uEAAuE;IACvE,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D;;;OAGG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,4BAA4B,GACpC,eAAe,GAAG,IAAI,CAsFxB"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { collectSnapshotTransferables } from "./aggregation/snapshot.js";
|
|
2
|
+
import { defaultWorkerFactory } from "./processor.js";
|
|
3
|
+
/**
|
|
4
|
+
* The default sink: run the given main-thread {@link Aggregator} synchronously.
|
|
5
|
+
* `ingest` finalizes inline (the aggregator's `emit` callback fires during the
|
|
6
|
+
* call), so this is identical to the old inline-connector behaviour.
|
|
7
|
+
*/
|
|
8
|
+
export function createMainSink(aggregator) {
|
|
9
|
+
return {
|
|
10
|
+
ingest: (snapshot) => aggregator.ingest(snapshot),
|
|
11
|
+
drain: () => Promise.resolve(),
|
|
12
|
+
dispose: () => {
|
|
13
|
+
/* nothing to release */
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Create a worker-backed aggregation sink (ADR 0031 follow-up, #10). Returns
|
|
19
|
+
* `null` when a worker cannot be constructed (no `Worker` global, the bundler did
|
|
20
|
+
* not emit the asset, a restrictive CSP, SSR, or tests) so the caller can fall
|
|
21
|
+
* back to a main-thread sink — worker mode is never required for correctness.
|
|
22
|
+
*
|
|
23
|
+
* Uses its own dedicated worker instance (separate from the transport
|
|
24
|
+
* processor's) so the existing transport seam stays untouched; each worker only
|
|
25
|
+
* acts on the messages it receives.
|
|
26
|
+
*/
|
|
27
|
+
export function createWorkerAggregationSink(options) {
|
|
28
|
+
const factory = options.workerFactory ?? defaultWorkerFactory;
|
|
29
|
+
let worker;
|
|
30
|
+
try {
|
|
31
|
+
worker = factory();
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
let disposed = false;
|
|
37
|
+
let nextId = 1;
|
|
38
|
+
const pendingDrains = new Map();
|
|
39
|
+
worker.addEventListener("message", (event) => {
|
|
40
|
+
const data = event.data;
|
|
41
|
+
if (!data) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
if (data.type === "events") {
|
|
45
|
+
options.onEvents(data.events, data.capturedAt);
|
|
46
|
+
}
|
|
47
|
+
else if (data.type === "unloadDone") {
|
|
48
|
+
const resolve = pendingDrains.get(data.id);
|
|
49
|
+
if (resolve) {
|
|
50
|
+
pendingDrains.delete(data.id);
|
|
51
|
+
resolve();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
// If the worker errors, unblock any pending drain so unload still completes.
|
|
56
|
+
worker.addEventListener("error", () => {
|
|
57
|
+
for (const resolve of pendingDrains.values()) {
|
|
58
|
+
resolve();
|
|
59
|
+
}
|
|
60
|
+
pendingDrains.clear();
|
|
61
|
+
});
|
|
62
|
+
try {
|
|
63
|
+
worker.postMessage({ type: "aggInit", config: options.config });
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
worker.terminate?.();
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
ingest(snapshot, capturedAt) {
|
|
71
|
+
if (disposed) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
try {
|
|
75
|
+
worker.postMessage({ type: "snapshot", capturedAt, snapshot }, collectSnapshotTransferables(snapshot));
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
/* drop a single snapshot rather than throw into the render loop */
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
drain() {
|
|
82
|
+
if (disposed) {
|
|
83
|
+
return Promise.resolve();
|
|
84
|
+
}
|
|
85
|
+
const id = nextId++;
|
|
86
|
+
return new Promise((resolve) => {
|
|
87
|
+
pendingDrains.set(id, resolve);
|
|
88
|
+
try {
|
|
89
|
+
worker.postMessage({ type: "flushUnload", id });
|
|
90
|
+
}
|
|
91
|
+
catch {
|
|
92
|
+
pendingDrains.delete(id);
|
|
93
|
+
resolve();
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
},
|
|
97
|
+
dispose() {
|
|
98
|
+
if (disposed) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
disposed = true;
|
|
102
|
+
for (const resolve of pendingDrains.values()) {
|
|
103
|
+
resolve();
|
|
104
|
+
}
|
|
105
|
+
pendingDrains.clear();
|
|
106
|
+
worker.terminate?.();
|
|
107
|
+
},
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=aggregationSink.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aggregationSink.js","sourceRoot":"","sources":["../src/aggregationSink.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -18,6 +18,11 @@ export declare class UptimizrClient {
|
|
|
18
18
|
private readonly beforeSend?;
|
|
19
19
|
private readonly collectors;
|
|
20
20
|
private readonly handles;
|
|
21
|
+
private readonly aggSinks;
|
|
22
|
+
/** Set when a custom transport disables worker offload (main-thread closure). */
|
|
23
|
+
private readonly customTransport?;
|
|
24
|
+
/** Bundler escape hatch for constructing the offload worker. */
|
|
25
|
+
private readonly createWorkerFn?;
|
|
21
26
|
private started;
|
|
22
27
|
private startedAt;
|
|
23
28
|
private url?;
|
|
@@ -49,6 +54,15 @@ export declare class UptimizrClient {
|
|
|
49
54
|
setScene(sceneId: string): void;
|
|
50
55
|
/** Build the envelope and queue an event. */
|
|
51
56
|
emit(input: EventInput): void;
|
|
57
|
+
/**
|
|
58
|
+
* Build the envelope (stamping the given `ts`) and queue an event. Unlike the
|
|
59
|
+
* public {@link emit}, this does **not** gate on `started`, so finalized events
|
|
60
|
+
* returned asynchronously from the worker-resident aggregator are still queued
|
|
61
|
+
* while the session is draining on stop (replay-completeness, ADR 0031 §5). The
|
|
62
|
+
* `ts` is the snapshot's page-stamped capture time, so worker round-trip latency
|
|
63
|
+
* does not skew timestamps.
|
|
64
|
+
*/
|
|
65
|
+
private emitInternal;
|
|
52
66
|
/** Emit a developer-defined `custom` event. */
|
|
53
67
|
track(name: string, props?: Record<string, CustomPropValue>): void;
|
|
54
68
|
/**
|
|
@@ -91,6 +105,14 @@ export declare class UptimizrClient {
|
|
|
91
105
|
* constructed; otherwise it transparently falls back to the main thread.
|
|
92
106
|
*/
|
|
93
107
|
private createProcessor;
|
|
108
|
+
/**
|
|
109
|
+
* Build the aggregation sink for a connector channel (ADR 0031 follow-up, #10),
|
|
110
|
+
* mirroring {@link createProcessor}. With `offload: "worker"` (and no custom
|
|
111
|
+
* transport) snapshots are aggregated in a worker; otherwise — or if a worker
|
|
112
|
+
* cannot be constructed — a synchronous main-thread aggregator runs, keeping the
|
|
113
|
+
* default path byte-for-byte identical to inline-connector aggregation.
|
|
114
|
+
*/
|
|
115
|
+
private createAggregation;
|
|
94
116
|
private startCollector;
|
|
95
117
|
private onVisibilityChange;
|
|
96
118
|
private onFocusChange;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA4B,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -3,6 +3,8 @@ import { EventQueue } from "./queue.js";
|
|
|
3
3
|
import { randomId } from "./idgen.js";
|
|
4
4
|
import { createBeaconTransport } from "./transport.js";
|
|
5
5
|
import { createMainProcessor, createWorkerProcessor, } from "./processor.js";
|
|
6
|
+
import { createAggregator } from "./aggregation/aggregator.js";
|
|
7
|
+
import { createMainSink, createWorkerAggregationSink, } from "./aggregationSink.js";
|
|
6
8
|
import { SDK_VERSION } from "./version.js";
|
|
7
9
|
const DEFAULTS = {
|
|
8
10
|
batchSize: 20,
|
|
@@ -23,6 +25,8 @@ function resolveConfig(config) {
|
|
|
23
25
|
captureLifecycle: config.captureLifecycle ?? true,
|
|
24
26
|
resizeDebounceMs: config.resizeDebounceMs ?? DEFAULTS.resizeDebounceMs,
|
|
25
27
|
captureErrors: config.captureErrors ?? false,
|
|
28
|
+
captureGraphicsDiagnostics: config.captureGraphicsDiagnostics ?? false,
|
|
29
|
+
captureShaderSource: config.captureShaderSource ?? false,
|
|
26
30
|
debug: config.debug ?? false,
|
|
27
31
|
};
|
|
28
32
|
}
|
|
@@ -44,6 +48,11 @@ export class UptimizrClient {
|
|
|
44
48
|
beforeSend;
|
|
45
49
|
collectors = [];
|
|
46
50
|
handles = [];
|
|
51
|
+
aggSinks = [];
|
|
52
|
+
/** Set when a custom transport disables worker offload (main-thread closure). */
|
|
53
|
+
customTransport;
|
|
54
|
+
/** Bundler escape hatch for constructing the offload worker. */
|
|
55
|
+
createWorkerFn;
|
|
47
56
|
started = false;
|
|
48
57
|
startedAt = 0;
|
|
49
58
|
url;
|
|
@@ -67,6 +76,8 @@ export class UptimizrClient {
|
|
|
67
76
|
this.sessionId = randomId();
|
|
68
77
|
this.queue = new EventQueue(this.config.maxQueueSize);
|
|
69
78
|
this.transport = config.transport ?? createBeaconTransport(this.config.endpoint);
|
|
79
|
+
this.customTransport = config.transport;
|
|
80
|
+
this.createWorkerFn = config.createWorker;
|
|
70
81
|
this.processor = this.createProcessor(config);
|
|
71
82
|
this.beforeSend = config.beforeSend;
|
|
72
83
|
}
|
|
@@ -142,11 +153,25 @@ export class UptimizrClient {
|
|
|
142
153
|
if (!this.started || this.config.disabled) {
|
|
143
154
|
return;
|
|
144
155
|
}
|
|
156
|
+
this.emitInternal(input, this.now());
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Build the envelope (stamping the given `ts`) and queue an event. Unlike the
|
|
160
|
+
* public {@link emit}, this does **not** gate on `started`, so finalized events
|
|
161
|
+
* returned asynchronously from the worker-resident aggregator are still queued
|
|
162
|
+
* while the session is draining on stop (replay-completeness, ADR 0031 §5). The
|
|
163
|
+
* `ts` is the snapshot's page-stamped capture time, so worker round-trip latency
|
|
164
|
+
* does not skew timestamps.
|
|
165
|
+
*/
|
|
166
|
+
emitInternal(input, ts) {
|
|
167
|
+
if (this.config.disabled) {
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
145
170
|
const event = {
|
|
146
171
|
...input,
|
|
147
172
|
projectId: this.config.projectId,
|
|
148
173
|
sessionId: this.sessionId,
|
|
149
|
-
ts
|
|
174
|
+
ts,
|
|
150
175
|
sdkVersion: this.config.sdkVersion,
|
|
151
176
|
...(this.url ? { url: this.url } : {}),
|
|
152
177
|
...(this.currentScene !== DEFAULT_SCENE_ID ? { sceneId: this.currentScene } : {}),
|
|
@@ -241,7 +266,6 @@ export class UptimizrClient {
|
|
|
241
266
|
durationMs: this.now() - this.startedAt,
|
|
242
267
|
reason,
|
|
243
268
|
});
|
|
244
|
-
this.started = false;
|
|
245
269
|
if (this.flushTimer) {
|
|
246
270
|
clearInterval(this.flushTimer);
|
|
247
271
|
this.flushTimer = undefined;
|
|
@@ -250,9 +274,21 @@ export class UptimizrClient {
|
|
|
250
274
|
for (const handle of this.handles.splice(0)) {
|
|
251
275
|
handle.stop();
|
|
252
276
|
}
|
|
277
|
+
// Drain any worker-resident aggregator state so the final windows are
|
|
278
|
+
// finalized and their events queued on the main thread before we send
|
|
279
|
+
// (ADR 0031 §5). `postMessage` ordering guarantees every prior snapshot's
|
|
280
|
+
// events arrive before each sink's drain barrier resolves. `started` is still
|
|
281
|
+
// true here so those returned events queue normally.
|
|
282
|
+
if (this.aggSinks.length > 0) {
|
|
283
|
+
await Promise.all(this.aggSinks.map((sink) => sink.drain()));
|
|
284
|
+
}
|
|
285
|
+
this.started = false;
|
|
253
286
|
// Terminal flush on the main thread (beacon-reliable), then release the
|
|
254
|
-
// worker if
|
|
287
|
+
// worker(s) if any were running (ADR 0031).
|
|
255
288
|
await this.flush({ unload: true });
|
|
289
|
+
for (const sink of this.aggSinks.splice(0)) {
|
|
290
|
+
sink.dispose();
|
|
291
|
+
}
|
|
256
292
|
this.processor.dispose();
|
|
257
293
|
}
|
|
258
294
|
/** Current time in epoch ms. Isolated for test overrides. */
|
|
@@ -287,6 +323,37 @@ export class UptimizrClient {
|
|
|
287
323
|
}
|
|
288
324
|
return createMainProcessor(this.transport);
|
|
289
325
|
}
|
|
326
|
+
/**
|
|
327
|
+
* Build the aggregation sink for a connector channel (ADR 0031 follow-up, #10),
|
|
328
|
+
* mirroring {@link createProcessor}. With `offload: "worker"` (and no custom
|
|
329
|
+
* transport) snapshots are aggregated in a worker; otherwise — or if a worker
|
|
330
|
+
* cannot be constructed — a synchronous main-thread aggregator runs, keeping the
|
|
331
|
+
* default path byte-for-byte identical to inline-connector aggregation.
|
|
332
|
+
*/
|
|
333
|
+
createAggregation(config) {
|
|
334
|
+
if (this.config.offload === "worker" && !this.customTransport) {
|
|
335
|
+
const sink = createWorkerAggregationSink({
|
|
336
|
+
config,
|
|
337
|
+
onEvents: (events, capturedAt) => {
|
|
338
|
+
for (const event of events) {
|
|
339
|
+
this.emitInternal(event, capturedAt);
|
|
340
|
+
}
|
|
341
|
+
},
|
|
342
|
+
...(this.createWorkerFn
|
|
343
|
+
? { workerFactory: this.createWorkerFn }
|
|
344
|
+
: {}),
|
|
345
|
+
});
|
|
346
|
+
if (sink) {
|
|
347
|
+
this.aggSinks.push(sink);
|
|
348
|
+
return (snapshot) => sink.ingest(snapshot, this.now());
|
|
349
|
+
}
|
|
350
|
+
this.log("worker aggregation unavailable; falling back to main-thread aggregator");
|
|
351
|
+
}
|
|
352
|
+
const aggregator = createAggregator({ ...config, emit: (event) => this.emit(event) });
|
|
353
|
+
const sink = createMainSink(aggregator);
|
|
354
|
+
this.aggSinks.push(sink);
|
|
355
|
+
return (snapshot) => sink.ingest(snapshot, this.now());
|
|
356
|
+
}
|
|
290
357
|
startCollector(collector) {
|
|
291
358
|
const ctx = {
|
|
292
359
|
config: this.config,
|
|
@@ -296,6 +363,7 @@ export class UptimizrClient {
|
|
|
296
363
|
trackInput: (action, opts) => this.trackInput(action, opts),
|
|
297
364
|
reportCapabilityChange: (change) => this.reportCapabilityChange(change),
|
|
298
365
|
setScene: (sceneId) => this.setScene(sceneId),
|
|
366
|
+
createAggregation: (config) => this.createAggregation(config),
|
|
299
367
|
now: () => this.now(),
|
|
300
368
|
};
|
|
301
369
|
try {
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGnF,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EACL,mBAAmB,EACnB,qBAAqB,GAGtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAc3C,MAAM,QAAQ,GAAG;IACf,SAAS,EAAE,EAAE;IACb,eAAe,EAAE,IAAI;IACrB,YAAY,EAAE,IAAI;IAClB,gBAAgB,EAAE,GAAG;CACb,CAAC;AAEX,SAAS,aAAa,CAAC,MAAsB;IAC3C,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,WAAW;QAC5C,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS;QACjD,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,QAAQ,CAAC,eAAe;QACnE,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY;QAC1D,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,MAAM;QACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,KAAK;QAClC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,IAAI;QACjD,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,QAAQ,CAAC,gBAAgB;QACtE,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,KAAK;QAC5C,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK;KAC7B,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,cAAc;IAChB,MAAM,CAAiB;IACvB,SAAS,CAAS;IAEV,KAAK,CAAa;IAClB,SAAS,CAAY;IACrB,SAAS,CAAY;IACrB,UAAU,CAAwC;IAClD,UAAU,GAAgB,EAAE,CAAC;IAC7B,OAAO,GAAsB,EAAE,CAAC;IAEzC,OAAO,GAAG,KAAK,CAAC;IAChB,SAAS,GAAG,CAAC,CAAC;IACd,GAAG,CAAU;IACb,YAAY,GAAW,gBAAgB,CAAC;IACxC,QAAQ,CAAwB;IAChC,UAAU,CAA6C;IACvD,WAAW,CAA4C;IACvD,UAAU,GAAG,CAAC,CAAC;IACf,YAAY,CAAqB;IACxB,eAAe,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAClD,aAAa,GAAG,GAAG,EAAE;QACpC,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC,CAAC;IACe,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC5C,SAAS,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5C,WAAW,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpC,UAAU,GAAG,CAAC,KAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7D,cAAc,GAAG,CAAC,KAA4B,EAAE,EAAE,CACjE,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAEnC,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACtC,CAAC;IAED,wFAAwF;IACxF,GAAG,CAAC,SAAoB;QACtB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wFAAwF;IACxF,KAAK,CAAC,OAAkB,EAAE;QACxB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE9B,0EAA0E;QAC1E,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,qCAAqC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,eAAe;YACrB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,OAAe;QACtB,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,6BAA6B,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACzD,OAAO;QACT,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;QAChC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAgB,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,IAAI,CAAC,KAAiB;QACpB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC1C,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG;YACZ,GAAG,KAAK;YACR,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;YACd,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;YAClC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjF,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,CAAC;QAEd,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACpE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC7C,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,KAAK,CAAC,IAAY,EAAE,KAAuC;QACzD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAgB,CAAC,CAAC;IACjF,CAAC;IAED;;;;;;;;;;OAUG;IACH,UAAU,CAAC,MAAc,EAAE,OAA0B,EAAE;QACrD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,cAAc;YACpB,MAAM;YACN,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,UAAU;YACjC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxC,CAAC,CAAC;IACnB,CAAC;IAED;;;;;;;;;;OAUG;IACH,sBAAsB,CAAC,MAA8B;QACnD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtC,CAAC,CAAC;IACnB,CAAC;IAED,qFAAqF;IACrF,KAAK,CAAC,KAAK,CAAC,IAA2B;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAmB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;QACxE,yEAAyE;QACzE,4EAA4E;QAC5E,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM;YAC5B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,mFAAmF;IACnF,KAAK,CAAC,IAAI,CAAC,SAAqD,QAAQ;QACtE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,aAAa;YACnB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS;YACvC,MAAM;SACO,CAAC,CAAC;QAEjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,CAAC;QACD,wEAAwE;QACxE,wCAAwC;QACxC,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,6DAA6D;IAC7D,GAAG;QACD,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;IAED;;;;;;OAMG;IACK,eAAe,CAAC,MAAsB;QAC5C,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACrC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,IAAI,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;YAC5F,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,qBAAqB,CAAC;oBACnC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;oBAC9B,eAAe,EAAE,IAAI,CAAC,SAAS;oBAC/B,GAAG,CAAC,MAAM,CAAC,YAAY;wBACrB,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,YAAwC,EAAE;wBACpE,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC,CAAC;gBACH,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO,MAAM,CAAC;gBAChB,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QACD,OAAO,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAEO,cAAc,CAAC,SAAoB;QACzC,MAAM,GAAG,GAAqB;YAC5B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACjC,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;YAC/C,UAAU,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC;YAC3D,sBAAsB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC;YACvE,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC7C,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QACF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,cAAc,SAAS,CAAC,IAAI,mBAAmB,EAAE,GAAG,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAEO,kBAAkB;QACxB,MAAM,GAAG,GAAI,UAAsC,CAAC,QAAQ,CAAC;QAC7D,MAAM,MAAM,GAAG,GAAG,EAAE,eAAe,KAAK,QAAQ,CAAC;QACjD,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,GAAG,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAgB,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,OAAgB;QACpC,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAgB,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAEO,QAAQ;QACd,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;YACjC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;YAC7B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACnC,CAAC;IAED,iFAAiF;IACzE,kBAAkB;QACxB,MAAM,CAAC,GAAG,UAIT,CAAC;QACF,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC1E,OAAO;QACT,CAAC;QACD,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,CAAC,CAAC,UAAU;YACnB,MAAM,EAAE,CAAC,CAAC,WAAW;YACrB,GAAG,CAAC,OAAO,CAAC,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjE,CAAC,CAAC;IACnB,CAAC;IAED,+EAA+E;IACvE,MAAM,CAAU,sBAAsB,GAAG,EAAE,CAAC;IAE5C,YAAY,CAAC,KAAiB;QACpC,IAAI,CAAC,SAAS,CAAC;YACb,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,eAAe;YACzC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,GAAG,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,GAAG,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3F,CAAC,CAAC;IACL,CAAC;IAEO,oBAAoB,CAAC,KAA4B;QACvD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,MAAM,OAAO,GACX,MAAM,YAAY,KAAK;YACrB,CAAC,CAAC,MAAM,CAAC,OAAO;YAChB,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ;gBAC1B,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,6BAA6B,CAAC;QACtC,IAAI,CAAC,SAAS,CAAC;YACb,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,OAAO,IAAI,6BAA6B;YACjD,GAAG,CAAC,MAAM,YAAY,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5E,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACK,SAAS,CAAC,KAOjB;QACC,IAAI,IAAI,CAAC,UAAU,IAAI,cAAc,CAAC,sBAAsB;YAAE,OAAO;QACrE,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,OAAO,SAAS,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QACzD,IAAI,GAAG,KAAK,IAAI,CAAC,YAAY;YAAE,OAAO;QACtC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QACxB,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;YACrC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,GAAG,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAC,CAAC;IACnB,CAAC;IAEO,aAAa;QACnB,MAAM,GAAG,GAAI,UAAsC,CAAC,QAAQ,CAAC;QAC7D,MAAM,GAAG,GAAI,UAAgE,CAAC,gBAAgB;YAC5F,CAAC,CAAE,UAAgC;YACnC,CAAC,CAAC,SAAS,CAAC;QACd,GAAG,EAAE,gBAAgB,CAAC,kBAAkB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAChE,GAAG,EAAE,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,GAAG,EAAE,CAAC;YACxC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/C,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7C,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACjD,wEAAwE;YACxE,sCAAsC;YACtC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,GAAG,EAAE,CAAC;YACrC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/C,GAAG,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAEO,eAAe;QACrB,MAAM,GAAG,GAAI,UAAsC,CAAC,QAAQ,CAAC;QAC7D,MAAM,GAAG,GAAI,UAAsE;aAChF,mBAAmB;YACpB,CAAC,CAAE,UAAgC;YACnC,CAAC,CAAC,SAAS,CAAC;QACd,GAAG,EAAE,mBAAmB,CAAC,kBAAkB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACnE,GAAG,EAAE,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACzD,GAAG,EAAE,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,GAAG,EAAE,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACjD,GAAG,EAAE,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACrD,GAAG,EAAE,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,GAAG,EAAE,mBAAmB,CAAC,oBAAoB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACpE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC/B,CAAC;IACH,CAAC;IAEO,UAAU;QAChB,MAAM,GAAG,GAAI,UAAsC,CAAC,QAAQ,CAAC;QAC7D,OAAO,GAAG,EAAE,IAAI,CAAC;IACnB,CAAC;IAEO,GAAG,CAAC,GAAG,IAAe;QAC5B,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;QACvC,CAAC;IACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|