@q9labsai/chalk-client 4.1.15 → 4.1.17
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 +100 -5
- package/dist/access/grant.d.ts.map +1 -1
- package/dist/access/manager.d.ts.map +1 -1
- package/dist/{chunk-PQNSA7ZN.js → chunk-2DZUHV6I.js} +782 -122
- package/dist/{chunk-6ONSFCIY.js → chunk-A7BVZEFM.js} +7 -3
- package/dist/{chunk-LQSXEWLL.js → chunk-AUQTQOLR.js} +2685 -511
- package/dist/{chunk-PWUU6T3R.js → chunk-CZUJNAUI.js} +1196 -874
- package/dist/{chunk-NKOKY2AE.js → chunk-EWTITNJ3.js} +15 -101
- package/dist/chunk-HW5TTZL2.js +99 -0
- package/dist/chunk-RCDXIDCN.js +33 -0
- package/dist/{chunk-LSDDADCN.js → chunk-ZRMGKMX4.js} +1728 -517
- package/dist/client.d.ts +1452 -465
- package/dist/client.d.ts.map +1 -1
- package/dist/connection/dependencies.d.ts +11 -0
- package/dist/connection/dependencies.d.ts.map +1 -1
- package/dist/connection/diagnostics.d.ts +1 -1
- package/dist/connection/diagnostics.d.ts.map +1 -1
- package/dist/connection/index.d.ts +3 -0
- package/dist/connection/index.d.ts.map +1 -1
- package/dist/connection/lifecycle.d.ts +4 -1
- package/dist/connection/lifecycle.d.ts.map +1 -1
- package/dist/connection/media-devices.d.ts.map +1 -1
- package/dist/connection/production.d.ts +4 -1
- package/dist/connection/production.d.ts.map +1 -1
- package/dist/connection/types.d.ts +2 -2
- package/dist/connection/types.d.ts.map +1 -1
- package/dist/effect.js +355 -130
- package/dist/feedback/collector.d.ts +14 -0
- package/dist/feedback/collector.d.ts.map +1 -0
- package/dist/feedback/context.d.ts +38 -0
- package/dist/feedback/context.d.ts.map +1 -0
- package/dist/feedback/controller.d.ts +4 -0
- package/dist/feedback/controller.d.ts.map +1 -0
- package/dist/feedback/index.d.ts +7 -0
- package/dist/feedback/index.d.ts.map +1 -0
- package/dist/feedback/transport.d.ts +29 -0
- package/dist/feedback/transport.d.ts.map +1 -0
- package/dist/feedback/types.d.ts +202 -0
- package/dist/feedback/types.d.ts.map +1 -0
- package/dist/feedback/validation.d.ts +30 -0
- package/dist/feedback/validation.d.ts.map +1 -0
- package/dist/foreground-deadline.d.ts +9 -0
- package/dist/foreground-deadline.d.ts.map +1 -0
- package/dist/generated/http-api.d.ts +1438 -461
- package/dist/generated/http-api.d.ts.map +1 -1
- package/dist/generated/schemas.d.ts +2667 -842
- package/dist/generated/schemas.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +136 -21
- package/dist/media/camera-uplink.d.ts +13 -0
- package/dist/media/camera-uplink.d.ts.map +1 -0
- package/dist/media/capture-error.d.ts +27 -0
- package/dist/media/capture-error.d.ts.map +1 -0
- package/dist/media/client.d.ts +4 -0
- package/dist/media/client.d.ts.map +1 -1
- package/dist/media/index.d.ts +1 -0
- package/dist/media/index.d.ts.map +1 -1
- package/dist/media/index.js +5 -1
- package/dist/media/plane.d.ts +4 -0
- package/dist/media/plane.d.ts.map +1 -1
- package/dist/media/remote-track-response.d.ts +6 -0
- package/dist/media/remote-track-response.d.ts.map +1 -0
- package/dist/media/rtk.d.ts.map +1 -1
- package/dist/media/transport.d.ts.map +1 -1
- package/dist/media/types.d.ts +20 -2
- package/dist/media/types.d.ts.map +1 -1
- package/dist/public-invites/client.d.ts.map +1 -1
- package/dist/public-invites/index.js +4 -3
- package/dist/public-invites/types.d.ts +4 -2
- package/dist/public-invites/types.d.ts.map +1 -1
- package/dist/server/access-refresh.d.cts +13 -0
- package/dist/server/access-refresh.d.ts +14 -0
- package/dist/server/access-refresh.d.ts.map +1 -0
- package/dist/server/client.d.ts.map +1 -1
- package/dist/server/index.cjs +189 -23
- package/dist/server/index.d.cts +2 -1
- package/dist/server/index.d.ts +2 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +187 -22
- package/dist/server/types.d.cts +76 -1
- package/dist/server/types.d.ts +76 -1
- package/dist/server/types.d.ts.map +1 -1
- package/dist/space-client/chat-controller.d.ts +3 -0
- package/dist/space-client/chat-controller.d.ts.map +1 -1
- package/dist/space-client/controller-effects.d.ts +6 -0
- package/dist/space-client/controller-effects.d.ts.map +1 -1
- package/dist/space-client/core.d.ts +12 -1
- package/dist/space-client/core.d.ts.map +1 -1
- package/dist/space-client/core.test.helpers.d.ts +2 -1
- package/dist/space-client/core.test.helpers.d.ts.map +1 -1
- package/dist/space-client/effect.d.ts +5 -0
- package/dist/space-client/effect.d.ts.map +1 -1
- package/dist/space-client/episode-diagnostic-runtime.d.ts +3 -0
- package/dist/space-client/episode-diagnostic-runtime.d.ts.map +1 -1
- package/dist/space-client/errors.d.ts.map +1 -1
- package/dist/space-client/index.d.ts +4 -1
- package/dist/space-client/index.d.ts.map +1 -1
- package/dist/space-client/media-controller.d.ts.map +1 -1
- package/dist/space-client/offline-actions-storage.d.ts +66 -0
- package/dist/space-client/offline-actions-storage.d.ts.map +1 -0
- package/dist/space-client/offline-actions.d.ts +36 -0
- package/dist/space-client/offline-actions.d.ts.map +1 -0
- package/dist/space-client/participants-controller.d.ts +2 -1
- package/dist/space-client/participants-controller.d.ts.map +1 -1
- package/dist/space-client/recording-controller.d.ts +20 -0
- package/dist/space-client/recording-controller.d.ts.map +1 -0
- package/dist/space-client/reload-rejoin.d.ts +24 -0
- package/dist/space-client/reload-rejoin.d.ts.map +1 -0
- package/dist/space-client/space-client.d.ts.map +1 -1
- package/dist/space-client/store.d.ts +3 -1
- package/dist/space-client/store.d.ts.map +1 -1
- package/dist/space-client/terminal.test.helpers.d.ts +115 -0
- package/dist/space-client/terminal.test.helpers.d.ts.map +1 -0
- package/dist/space-client/types.d.ts +42 -4
- package/dist/space-client/types.d.ts.map +1 -1
- package/dist/sync/index.js +2 -1
- package/dist/sync/v1-client.d.ts +2 -5
- package/dist/sync/v1-client.d.ts.map +1 -1
- package/dist/sync/v1-collaboration-state.d.ts +65 -0
- package/dist/sync/v1-collaboration-state.d.ts.map +1 -0
- package/dist/sync/v1-command-scheduler.d.ts +54 -0
- package/dist/sync/v1-command-scheduler.d.ts.map +1 -0
- package/dist/sync/v1-deferred.d.ts +8 -0
- package/dist/sync/v1-deferred.d.ts.map +1 -0
- package/dist/sync/v1-error.d.ts +5 -0
- package/dist/sync/v1-error.d.ts.map +1 -0
- package/dist/sync/v1-frame-signature.d.ts +2 -0
- package/dist/sync/v1-frame-signature.d.ts.map +1 -0
- package/dist/sync/v1-live-target-coordinator.d.ts +32 -0
- package/dist/sync/v1-live-target-coordinator.d.ts.map +1 -0
- package/dist/sync/v1-types.d.ts +3 -0
- package/dist/sync/v1-types.d.ts.map +1 -1
- package/dist/telemetry/index.js +9 -7
- package/dist/telemetry/reconnect.d.ts +7 -0
- package/dist/telemetry/reconnect.d.ts.map +1 -0
- package/dist/telemetry/trace.d.ts +1 -1
- package/dist/telemetry/trace.d.ts.map +1 -1
- package/dist/webhooks/generated/event-v1.d.cts +10 -2
- package/dist/webhooks/generated/event-v1.d.ts +10 -2
- package/dist/webhooks/generated/event-v1.d.ts.map +1 -1
- package/dist/webhooks/generated/fixtures-v1.d.cts +2 -2
- package/dist/webhooks/generated/fixtures-v1.d.ts +2 -2
- package/dist/webhooks/index.cjs +10 -2
- package/dist/webhooks/index.js +10 -2
- package/dist/webhooks/test.cjs +2 -2
- package/dist/webhooks/test.js +2 -2
- package/dist/whiteboard/v1-client.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,14 @@
|
|
|
1
|
+
import {
|
|
2
|
+
TelemetryEventSourceService,
|
|
3
|
+
createTraceContext,
|
|
4
|
+
createUuid,
|
|
5
|
+
journeyHeaders,
|
|
6
|
+
makeTelemetryEventSourceLayer,
|
|
7
|
+
traceContextFromJourney
|
|
8
|
+
} from "./chunk-HW5TTZL2.js";
|
|
9
|
+
|
|
1
10
|
// src/telemetry/client.ts
|
|
2
|
-
import { Effect as
|
|
11
|
+
import { Effect as Effect2, Layer as Layer2, ManagedRuntime as ManagedRuntime2 } from "effect";
|
|
3
12
|
|
|
4
13
|
// src/telemetry/attributes.ts
|
|
5
14
|
var MAX_ATTRIBUTE_COUNT = 24;
|
|
@@ -715,93 +724,6 @@ function numberOrZero(value) {
|
|
|
715
724
|
return isFiniteNumber(value) ? value : 0;
|
|
716
725
|
}
|
|
717
726
|
|
|
718
|
-
// src/telemetry/random.ts
|
|
719
|
-
import { Clock, Context as Context2, Effect as Effect2, Layer as Layer2, Random } from "effect";
|
|
720
|
-
var TelemetryEventSourceService = class extends Context2.Service()("@chalk/telemetry/TelemetryEventSource") {
|
|
721
|
-
};
|
|
722
|
-
var makeTelemetryEventSourceLayer = (now) => Layer2.effect(
|
|
723
|
-
TelemetryEventSourceService,
|
|
724
|
-
Effect2.gen(function* () {
|
|
725
|
-
const clock = yield* Clock.Clock;
|
|
726
|
-
const random = yield* Random.Random;
|
|
727
|
-
return {
|
|
728
|
-
createUuid: () => createUuid(random),
|
|
729
|
-
now: now ?? (() => new Date(clock.currentTimeMillisUnsafe())),
|
|
730
|
-
randomHex: (byteLength) => randomHex(byteLength, random)
|
|
731
|
-
};
|
|
732
|
-
})
|
|
733
|
-
);
|
|
734
|
-
function randomHex(byteLength, random = Effect2.runSync(Random.Random)) {
|
|
735
|
-
return Array.from(randomBytes(byteLength, random), (byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
736
|
-
}
|
|
737
|
-
function createUuid(random = Effect2.runSync(Random.Random)) {
|
|
738
|
-
const bytes = randomBytes(16, random);
|
|
739
|
-
bytes[6] = bytes[6] & 15 | 64;
|
|
740
|
-
bytes[8] = bytes[8] & 63 | 128;
|
|
741
|
-
const hex = Array.from(bytes, (byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
742
|
-
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
|
|
743
|
-
}
|
|
744
|
-
function randomBytes(byteLength, random) {
|
|
745
|
-
const bytes = new Uint8Array(byteLength);
|
|
746
|
-
for (let index = 0; index < bytes.length; index += 1) bytes[index] = random.nextIntUnsafe() & 255;
|
|
747
|
-
return bytes;
|
|
748
|
-
}
|
|
749
|
-
|
|
750
|
-
// src/telemetry/trace.ts
|
|
751
|
-
var CHALK_JOURNEY_ID_HEADER = "x-chalk-journey-id";
|
|
752
|
-
var TRACEPARENT_HEADER = "traceparent";
|
|
753
|
-
var TRACESTATE_HEADER = "tracestate";
|
|
754
|
-
var traceparentPattern = /^00-([0-9a-f]{32})-([0-9a-f]{16})-([0-9a-f]{2})$/i;
|
|
755
|
-
function createTraceContext(parentTraceparent, tracestate) {
|
|
756
|
-
const parent = parseTraceparent(parentTraceparent);
|
|
757
|
-
const traceId = parent?.traceId ?? randomHex(16);
|
|
758
|
-
const spanId = randomHex(8);
|
|
759
|
-
const traceFlags = parent?.traceFlags ?? "01";
|
|
760
|
-
return {
|
|
761
|
-
traceId,
|
|
762
|
-
spanId,
|
|
763
|
-
traceFlags,
|
|
764
|
-
traceparent: `00-${traceId}-${spanId}-${traceFlags}`,
|
|
765
|
-
...tracestate ? { tracestate } : {}
|
|
766
|
-
};
|
|
767
|
-
}
|
|
768
|
-
function parseTraceparent(value) {
|
|
769
|
-
if (!value) {
|
|
770
|
-
return void 0;
|
|
771
|
-
}
|
|
772
|
-
return parseTraceparentMatch(traceparentPattern.exec(value));
|
|
773
|
-
}
|
|
774
|
-
function parseTraceparentMatch(match) {
|
|
775
|
-
if (!match) return void 0;
|
|
776
|
-
const traceId = match[1];
|
|
777
|
-
const spanId = match[2];
|
|
778
|
-
const traceFlags = match[3];
|
|
779
|
-
if (!traceId || !spanId || !traceFlags || /^0+$/.test(traceId) || /^0+$/.test(spanId)) return void 0;
|
|
780
|
-
return {
|
|
781
|
-
traceId: traceId.toLowerCase(),
|
|
782
|
-
spanId: spanId.toLowerCase(),
|
|
783
|
-
traceFlags: traceFlags.toLowerCase()
|
|
784
|
-
};
|
|
785
|
-
}
|
|
786
|
-
function journeyHeaders(context) {
|
|
787
|
-
return {
|
|
788
|
-
[CHALK_JOURNEY_ID_HEADER]: context.journeyId,
|
|
789
|
-
[TRACEPARENT_HEADER]: context.traceparent,
|
|
790
|
-
...context.tracestate ? { [TRACESTATE_HEADER]: context.tracestate } : {}
|
|
791
|
-
};
|
|
792
|
-
}
|
|
793
|
-
function traceContextFromJourney(context) {
|
|
794
|
-
const parsed = parseTraceparent(context.traceparent);
|
|
795
|
-
if (!parsed) {
|
|
796
|
-
return createTraceContext(void 0, context.tracestate);
|
|
797
|
-
}
|
|
798
|
-
return {
|
|
799
|
-
...parsed,
|
|
800
|
-
traceparent: context.traceparent,
|
|
801
|
-
...context.tracestate ? { tracestate: context.tracestate } : {}
|
|
802
|
-
};
|
|
803
|
-
}
|
|
804
|
-
|
|
805
727
|
// src/telemetry/journey.ts
|
|
806
728
|
var TelemetryJourney = class {
|
|
807
729
|
context;
|
|
@@ -944,9 +866,9 @@ var TelemetryClient = class {
|
|
|
944
866
|
retryDelayMs: positiveInteger(options.retryDelayMs, DEFAULT_RETRY_DELAY_MS),
|
|
945
867
|
storage: options.storage
|
|
946
868
|
};
|
|
947
|
-
this.#runtime = ManagedRuntime2.make(
|
|
948
|
-
this.#delivery = this.#runtime.runSync(
|
|
949
|
-
this.#eventSource = this.#runtime.runSync(
|
|
869
|
+
this.#runtime = ManagedRuntime2.make(Layer2.mergeAll(makeTelemetryDeliveryLayer(deliveryOptions), makeTelemetryEventSourceLayer(options.now)));
|
|
870
|
+
this.#delivery = this.#runtime.runSync(Effect2.service(TelemetryDeliveryService));
|
|
871
|
+
this.#eventSource = this.#runtime.runSync(Effect2.service(TelemetryEventSourceService));
|
|
950
872
|
this.#ready = this.#runtime.runPromiseExit(this.#delivery.awaitReady()).then(() => void 0);
|
|
951
873
|
}
|
|
952
874
|
startJourney(options) {
|
|
@@ -974,7 +896,7 @@ var TelemetryClient = class {
|
|
|
974
896
|
}
|
|
975
897
|
dispose() {
|
|
976
898
|
if (this.#disposePromise) return;
|
|
977
|
-
|
|
899
|
+
Effect2.runSync(this.#delivery.dispose());
|
|
978
900
|
this.#disposePromise = this.#runtime.dispose();
|
|
979
901
|
}
|
|
980
902
|
/** Internal for TelemetryJourney. Event construction remains synchronous and never waits for storage or network I/O. */
|
|
@@ -1215,6 +1137,7 @@ function dedupeEvents(events) {
|
|
|
1215
1137
|
}
|
|
1216
1138
|
|
|
1217
1139
|
export {
|
|
1140
|
+
normalizeTelemetryAttributes,
|
|
1218
1141
|
createJourneyIntakeExporter,
|
|
1219
1142
|
toJourneyIntakeEvent,
|
|
1220
1143
|
TelemetryExportFailure,
|
|
@@ -1229,15 +1152,6 @@ export {
|
|
|
1229
1152
|
makeTelemetryDeliveryLayer,
|
|
1230
1153
|
summarizeRtcStats,
|
|
1231
1154
|
rtcSummaryAttributes,
|
|
1232
|
-
TelemetryEventSourceService,
|
|
1233
|
-
makeTelemetryEventSourceLayer,
|
|
1234
|
-
CHALK_JOURNEY_ID_HEADER,
|
|
1235
|
-
TRACEPARENT_HEADER,
|
|
1236
|
-
TRACESTATE_HEADER,
|
|
1237
|
-
createTraceContext,
|
|
1238
|
-
parseTraceparent,
|
|
1239
|
-
journeyHeaders,
|
|
1240
|
-
traceContextFromJourney,
|
|
1241
1155
|
TelemetryJourney,
|
|
1242
1156
|
TELEMETRY_EVENT_VERSION,
|
|
1243
1157
|
TelemetryClient,
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
// src/telemetry/random.ts
|
|
2
|
+
import { Clock, Context, Effect, Layer, Random } from "effect";
|
|
3
|
+
var TelemetryEventSourceService = class extends Context.Service()("@chalk/telemetry/TelemetryEventSource") {
|
|
4
|
+
};
|
|
5
|
+
var makeTelemetryEventSourceLayer = (now) => Layer.effect(
|
|
6
|
+
TelemetryEventSourceService,
|
|
7
|
+
Effect.gen(function* () {
|
|
8
|
+
const clock = yield* Clock.Clock;
|
|
9
|
+
const random = yield* Random.Random;
|
|
10
|
+
return {
|
|
11
|
+
createUuid: () => createUuid(random),
|
|
12
|
+
now: now ?? (() => new Date(clock.currentTimeMillisUnsafe())),
|
|
13
|
+
randomHex: (byteLength) => randomHex(byteLength, random)
|
|
14
|
+
};
|
|
15
|
+
})
|
|
16
|
+
);
|
|
17
|
+
function randomHex(byteLength, random = Effect.runSync(Random.Random)) {
|
|
18
|
+
return Array.from(randomBytes(byteLength, random), (byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
19
|
+
}
|
|
20
|
+
function createUuid(random = Effect.runSync(Random.Random)) {
|
|
21
|
+
const bytes = randomBytes(16, random);
|
|
22
|
+
bytes[6] = bytes[6] & 15 | 64;
|
|
23
|
+
bytes[8] = bytes[8] & 63 | 128;
|
|
24
|
+
const hex = Array.from(bytes, (byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
25
|
+
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
|
|
26
|
+
}
|
|
27
|
+
function randomBytes(byteLength, random) {
|
|
28
|
+
const bytes = new Uint8Array(byteLength);
|
|
29
|
+
for (let index = 0; index < bytes.length; index += 1) bytes[index] = random.nextIntUnsafe() & 255;
|
|
30
|
+
return bytes;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// src/telemetry/trace.ts
|
|
34
|
+
var CHALK_JOURNEY_ID_HEADER = "x-chalk-journey-id";
|
|
35
|
+
var TRACEPARENT_HEADER = "traceparent";
|
|
36
|
+
var TRACESTATE_HEADER = "tracestate";
|
|
37
|
+
var traceparentPattern = /^00-([0-9a-f]{32})-([0-9a-f]{16})-([0-9a-f]{2})$/i;
|
|
38
|
+
function createTraceContext(parentTraceparent, tracestate) {
|
|
39
|
+
const parent = parseTraceparent(parentTraceparent);
|
|
40
|
+
const traceId = parent?.traceId ?? randomHex(16);
|
|
41
|
+
const spanId = randomHex(8);
|
|
42
|
+
const traceFlags = parent?.traceFlags ?? "01";
|
|
43
|
+
return {
|
|
44
|
+
traceId,
|
|
45
|
+
spanId,
|
|
46
|
+
traceFlags,
|
|
47
|
+
traceparent: `00-${traceId}-${spanId}-${traceFlags}`,
|
|
48
|
+
...tracestate ? { tracestate } : {}
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
function parseTraceparent(value) {
|
|
52
|
+
if (!value) {
|
|
53
|
+
return void 0;
|
|
54
|
+
}
|
|
55
|
+
return parseTraceparentMatch(traceparentPattern.exec(value));
|
|
56
|
+
}
|
|
57
|
+
function parseTraceparentMatch(match) {
|
|
58
|
+
if (!match) return void 0;
|
|
59
|
+
const traceId = match[1];
|
|
60
|
+
const spanId = match[2];
|
|
61
|
+
const traceFlags = match[3];
|
|
62
|
+
if (!traceId || !spanId || !traceFlags || /^0+$/.test(traceId) || /^0+$/.test(spanId)) return void 0;
|
|
63
|
+
return {
|
|
64
|
+
traceId: traceId.toLowerCase(),
|
|
65
|
+
spanId: spanId.toLowerCase(),
|
|
66
|
+
traceFlags: traceFlags.toLowerCase()
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
function journeyHeaders(context) {
|
|
70
|
+
return {
|
|
71
|
+
[CHALK_JOURNEY_ID_HEADER]: context.journeyId,
|
|
72
|
+
[TRACEPARENT_HEADER]: context.traceparent,
|
|
73
|
+
...context.tracestate ? { [TRACESTATE_HEADER]: context.tracestate } : {}
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
function traceContextFromJourney(context) {
|
|
77
|
+
const parsed = parseTraceparent(context.traceparent);
|
|
78
|
+
if (!parsed) {
|
|
79
|
+
return createTraceContext(void 0, context.tracestate);
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
...parsed,
|
|
83
|
+
traceparent: context.traceparent,
|
|
84
|
+
...context.tracestate ? { tracestate: context.tracestate } : {}
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export {
|
|
89
|
+
TelemetryEventSourceService,
|
|
90
|
+
makeTelemetryEventSourceLayer,
|
|
91
|
+
createUuid,
|
|
92
|
+
CHALK_JOURNEY_ID_HEADER,
|
|
93
|
+
TRACEPARENT_HEADER,
|
|
94
|
+
TRACESTATE_HEADER,
|
|
95
|
+
createTraceContext,
|
|
96
|
+
parseTraceparent,
|
|
97
|
+
journeyHeaders,
|
|
98
|
+
traceContextFromJourney
|
|
99
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// src/telemetry/reconnect.ts
|
|
2
|
+
function recordObservation(recorder, observation) {
|
|
3
|
+
if (!recorder) return;
|
|
4
|
+
try {
|
|
5
|
+
recorder(observation);
|
|
6
|
+
} catch {
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
function recordReconnect(recorder, step, attributes, state = "observed") {
|
|
10
|
+
recordObservation(recorder, { category: "recovery", code: `reconnect.${step}`, phase: "recovery", state, attributes });
|
|
11
|
+
}
|
|
12
|
+
function recordInitialConnection(recorder, step, attributes, state = "observed") {
|
|
13
|
+
recordObservation(recorder, { category: "connection", code: `connection.initial.${step}`, phase: "signaling", state, attributes });
|
|
14
|
+
}
|
|
15
|
+
async function traceReconnect(recorder, step, operation) {
|
|
16
|
+
if (!recorder) return operation();
|
|
17
|
+
const start = performance.now();
|
|
18
|
+
recordReconnect(recorder, step, { boundary: "start" });
|
|
19
|
+
try {
|
|
20
|
+
const result = await operation();
|
|
21
|
+
recordReconnect(recorder, step, { boundary: "end", duration_ms: performance.now() - start }, "succeeded");
|
|
22
|
+
return result;
|
|
23
|
+
} catch (error) {
|
|
24
|
+
recordReconnect(recorder, step, { boundary: "end", duration_ms: performance.now() - start }, "failed");
|
|
25
|
+
throw error;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export {
|
|
30
|
+
recordReconnect,
|
|
31
|
+
recordInitialConnection,
|
|
32
|
+
traceReconnect
|
|
33
|
+
};
|