@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.
Files changed (149) hide show
  1. package/README.md +100 -5
  2. package/dist/access/grant.d.ts.map +1 -1
  3. package/dist/access/manager.d.ts.map +1 -1
  4. package/dist/{chunk-PQNSA7ZN.js → chunk-2DZUHV6I.js} +782 -122
  5. package/dist/{chunk-6ONSFCIY.js → chunk-A7BVZEFM.js} +7 -3
  6. package/dist/{chunk-LQSXEWLL.js → chunk-AUQTQOLR.js} +2685 -511
  7. package/dist/{chunk-PWUU6T3R.js → chunk-CZUJNAUI.js} +1196 -874
  8. package/dist/{chunk-NKOKY2AE.js → chunk-EWTITNJ3.js} +15 -101
  9. package/dist/chunk-HW5TTZL2.js +99 -0
  10. package/dist/chunk-RCDXIDCN.js +33 -0
  11. package/dist/{chunk-LSDDADCN.js → chunk-ZRMGKMX4.js} +1728 -517
  12. package/dist/client.d.ts +1452 -465
  13. package/dist/client.d.ts.map +1 -1
  14. package/dist/connection/dependencies.d.ts +11 -0
  15. package/dist/connection/dependencies.d.ts.map +1 -1
  16. package/dist/connection/diagnostics.d.ts +1 -1
  17. package/dist/connection/diagnostics.d.ts.map +1 -1
  18. package/dist/connection/index.d.ts +3 -0
  19. package/dist/connection/index.d.ts.map +1 -1
  20. package/dist/connection/lifecycle.d.ts +4 -1
  21. package/dist/connection/lifecycle.d.ts.map +1 -1
  22. package/dist/connection/media-devices.d.ts.map +1 -1
  23. package/dist/connection/production.d.ts +4 -1
  24. package/dist/connection/production.d.ts.map +1 -1
  25. package/dist/connection/types.d.ts +2 -2
  26. package/dist/connection/types.d.ts.map +1 -1
  27. package/dist/effect.js +355 -130
  28. package/dist/feedback/collector.d.ts +14 -0
  29. package/dist/feedback/collector.d.ts.map +1 -0
  30. package/dist/feedback/context.d.ts +38 -0
  31. package/dist/feedback/context.d.ts.map +1 -0
  32. package/dist/feedback/controller.d.ts +4 -0
  33. package/dist/feedback/controller.d.ts.map +1 -0
  34. package/dist/feedback/index.d.ts +7 -0
  35. package/dist/feedback/index.d.ts.map +1 -0
  36. package/dist/feedback/transport.d.ts +29 -0
  37. package/dist/feedback/transport.d.ts.map +1 -0
  38. package/dist/feedback/types.d.ts +202 -0
  39. package/dist/feedback/types.d.ts.map +1 -0
  40. package/dist/feedback/validation.d.ts +30 -0
  41. package/dist/feedback/validation.d.ts.map +1 -0
  42. package/dist/foreground-deadline.d.ts +9 -0
  43. package/dist/foreground-deadline.d.ts.map +1 -0
  44. package/dist/generated/http-api.d.ts +1438 -461
  45. package/dist/generated/http-api.d.ts.map +1 -1
  46. package/dist/generated/schemas.d.ts +2667 -842
  47. package/dist/generated/schemas.d.ts.map +1 -1
  48. package/dist/index.d.ts +1 -0
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +136 -21
  51. package/dist/media/camera-uplink.d.ts +13 -0
  52. package/dist/media/camera-uplink.d.ts.map +1 -0
  53. package/dist/media/capture-error.d.ts +27 -0
  54. package/dist/media/capture-error.d.ts.map +1 -0
  55. package/dist/media/client.d.ts +4 -0
  56. package/dist/media/client.d.ts.map +1 -1
  57. package/dist/media/index.d.ts +1 -0
  58. package/dist/media/index.d.ts.map +1 -1
  59. package/dist/media/index.js +5 -1
  60. package/dist/media/plane.d.ts +4 -0
  61. package/dist/media/plane.d.ts.map +1 -1
  62. package/dist/media/remote-track-response.d.ts +6 -0
  63. package/dist/media/remote-track-response.d.ts.map +1 -0
  64. package/dist/media/rtk.d.ts.map +1 -1
  65. package/dist/media/transport.d.ts.map +1 -1
  66. package/dist/media/types.d.ts +20 -2
  67. package/dist/media/types.d.ts.map +1 -1
  68. package/dist/public-invites/client.d.ts.map +1 -1
  69. package/dist/public-invites/index.js +4 -3
  70. package/dist/public-invites/types.d.ts +4 -2
  71. package/dist/public-invites/types.d.ts.map +1 -1
  72. package/dist/server/access-refresh.d.cts +13 -0
  73. package/dist/server/access-refresh.d.ts +14 -0
  74. package/dist/server/access-refresh.d.ts.map +1 -0
  75. package/dist/server/client.d.ts.map +1 -1
  76. package/dist/server/index.cjs +189 -23
  77. package/dist/server/index.d.cts +2 -1
  78. package/dist/server/index.d.ts +2 -1
  79. package/dist/server/index.d.ts.map +1 -1
  80. package/dist/server/index.js +187 -22
  81. package/dist/server/types.d.cts +76 -1
  82. package/dist/server/types.d.ts +76 -1
  83. package/dist/server/types.d.ts.map +1 -1
  84. package/dist/space-client/chat-controller.d.ts +3 -0
  85. package/dist/space-client/chat-controller.d.ts.map +1 -1
  86. package/dist/space-client/controller-effects.d.ts +6 -0
  87. package/dist/space-client/controller-effects.d.ts.map +1 -1
  88. package/dist/space-client/core.d.ts +12 -1
  89. package/dist/space-client/core.d.ts.map +1 -1
  90. package/dist/space-client/core.test.helpers.d.ts +2 -1
  91. package/dist/space-client/core.test.helpers.d.ts.map +1 -1
  92. package/dist/space-client/effect.d.ts +5 -0
  93. package/dist/space-client/effect.d.ts.map +1 -1
  94. package/dist/space-client/episode-diagnostic-runtime.d.ts +3 -0
  95. package/dist/space-client/episode-diagnostic-runtime.d.ts.map +1 -1
  96. package/dist/space-client/errors.d.ts.map +1 -1
  97. package/dist/space-client/index.d.ts +4 -1
  98. package/dist/space-client/index.d.ts.map +1 -1
  99. package/dist/space-client/media-controller.d.ts.map +1 -1
  100. package/dist/space-client/offline-actions-storage.d.ts +66 -0
  101. package/dist/space-client/offline-actions-storage.d.ts.map +1 -0
  102. package/dist/space-client/offline-actions.d.ts +36 -0
  103. package/dist/space-client/offline-actions.d.ts.map +1 -0
  104. package/dist/space-client/participants-controller.d.ts +2 -1
  105. package/dist/space-client/participants-controller.d.ts.map +1 -1
  106. package/dist/space-client/recording-controller.d.ts +20 -0
  107. package/dist/space-client/recording-controller.d.ts.map +1 -0
  108. package/dist/space-client/reload-rejoin.d.ts +24 -0
  109. package/dist/space-client/reload-rejoin.d.ts.map +1 -0
  110. package/dist/space-client/space-client.d.ts.map +1 -1
  111. package/dist/space-client/store.d.ts +3 -1
  112. package/dist/space-client/store.d.ts.map +1 -1
  113. package/dist/space-client/terminal.test.helpers.d.ts +115 -0
  114. package/dist/space-client/terminal.test.helpers.d.ts.map +1 -0
  115. package/dist/space-client/types.d.ts +42 -4
  116. package/dist/space-client/types.d.ts.map +1 -1
  117. package/dist/sync/index.js +2 -1
  118. package/dist/sync/v1-client.d.ts +2 -5
  119. package/dist/sync/v1-client.d.ts.map +1 -1
  120. package/dist/sync/v1-collaboration-state.d.ts +65 -0
  121. package/dist/sync/v1-collaboration-state.d.ts.map +1 -0
  122. package/dist/sync/v1-command-scheduler.d.ts +54 -0
  123. package/dist/sync/v1-command-scheduler.d.ts.map +1 -0
  124. package/dist/sync/v1-deferred.d.ts +8 -0
  125. package/dist/sync/v1-deferred.d.ts.map +1 -0
  126. package/dist/sync/v1-error.d.ts +5 -0
  127. package/dist/sync/v1-error.d.ts.map +1 -0
  128. package/dist/sync/v1-frame-signature.d.ts +2 -0
  129. package/dist/sync/v1-frame-signature.d.ts.map +1 -0
  130. package/dist/sync/v1-live-target-coordinator.d.ts +32 -0
  131. package/dist/sync/v1-live-target-coordinator.d.ts.map +1 -0
  132. package/dist/sync/v1-types.d.ts +3 -0
  133. package/dist/sync/v1-types.d.ts.map +1 -1
  134. package/dist/telemetry/index.js +9 -7
  135. package/dist/telemetry/reconnect.d.ts +7 -0
  136. package/dist/telemetry/reconnect.d.ts.map +1 -0
  137. package/dist/telemetry/trace.d.ts +1 -1
  138. package/dist/telemetry/trace.d.ts.map +1 -1
  139. package/dist/webhooks/generated/event-v1.d.cts +10 -2
  140. package/dist/webhooks/generated/event-v1.d.ts +10 -2
  141. package/dist/webhooks/generated/event-v1.d.ts.map +1 -1
  142. package/dist/webhooks/generated/fixtures-v1.d.cts +2 -2
  143. package/dist/webhooks/generated/fixtures-v1.d.ts +2 -2
  144. package/dist/webhooks/index.cjs +10 -2
  145. package/dist/webhooks/index.js +10 -2
  146. package/dist/webhooks/test.cjs +2 -2
  147. package/dist/webhooks/test.js +2 -2
  148. package/dist/whiteboard/v1-client.d.ts.map +1 -1
  149. 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 Effect3, Layer as Layer3, ManagedRuntime as ManagedRuntime2 } from "effect";
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(Layer3.mergeAll(makeTelemetryDeliveryLayer(deliveryOptions), makeTelemetryEventSourceLayer(options.now)));
948
- this.#delivery = this.#runtime.runSync(Effect3.service(TelemetryDeliveryService));
949
- this.#eventSource = this.#runtime.runSync(Effect3.service(TelemetryEventSourceService));
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
- Effect3.runSync(this.#delivery.dispose());
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
+ };