@q9labsai/chalk-client 5.0.1 → 5.2.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.
Files changed (236) hide show
  1. package/CHANGELOG.md +159 -0
  2. package/README.md +39 -0
  3. package/dist/access/base64-url.d.ts +0 -1
  4. package/dist/access/grant.d.ts +0 -1
  5. package/dist/access/manager.d.ts +0 -1
  6. package/dist/chat-files/http-transport.d.ts +0 -1
  7. package/dist/chat-files/index.d.ts +0 -1
  8. package/dist/chat-files/types.d.ts +3 -1
  9. package/dist/{chunk-IPAN4LUZ.js → chunk-BCO3AZUB.js} +1463 -583
  10. package/dist/{chunk-AVXJ4HQU.js → chunk-D2GXPX2P.js} +298 -47
  11. package/dist/{chunk-CMVO7USN.js → chunk-DHGAKJXP.js} +1 -1
  12. package/dist/{chunk-O2NOZKJP.js → chunk-DWKTGBHR.js} +20 -8
  13. package/dist/{chunk-2HJIJVE2.js → chunk-HO4745TX.js} +591 -5
  14. package/dist/client.d.ts +277 -1
  15. package/dist/collaboration/index.d.ts +0 -1
  16. package/dist/collaboration/types.d.ts +0 -1
  17. package/dist/collaboration/wire.d.ts +0 -1
  18. package/dist/connection/dependencies.d.ts +8 -3
  19. package/dist/connection/diagnostics.d.ts +3 -3
  20. package/dist/connection/index.d.ts +1 -1
  21. package/dist/connection/lifecycle.d.ts +3 -3
  22. package/dist/connection/media-devices.d.ts +0 -1
  23. package/dist/connection/production.d.ts +0 -1
  24. package/dist/connection/types.d.ts +4 -2
  25. package/dist/effect.d.ts +0 -1
  26. package/dist/effect.js +146 -4
  27. package/dist/foreground-deadline.d.ts +0 -1
  28. package/dist/generated/http-api.d.ts +273 -1
  29. package/dist/generated/schemas.d.ts +732 -7
  30. package/dist/generated/sync.d.ts +74 -4
  31. package/dist/generated/whiteboard-v1.d.ts +114 -9
  32. package/dist/index.d.ts +1 -1
  33. package/dist/index.js +21 -15
  34. package/dist/media/camera-uplink.d.ts +0 -1
  35. package/dist/media/capture-error.d.ts +0 -1
  36. package/dist/media/client.d.ts +3 -2
  37. package/dist/media/cloudflare-sfu.d.ts +0 -1
  38. package/dist/media/index.d.ts +0 -1
  39. package/dist/media/index.js +1 -1
  40. package/dist/media/observers.d.ts +0 -1
  41. package/dist/media/plane.d.ts +0 -1
  42. package/dist/media/remote-track-response.d.ts +0 -1
  43. package/dist/media/target.d.ts +0 -1
  44. package/dist/media/tracks.d.ts +0 -1
  45. package/dist/media/transport.d.ts +0 -1
  46. package/dist/media/types.d.ts +0 -1
  47. package/dist/public-invites/client.d.ts +0 -1
  48. package/dist/public-invites/index.d.ts +0 -1
  49. package/dist/public-invites/index.js +2 -2
  50. package/dist/public-invites/types.d.ts +0 -1
  51. package/dist/server/access-refresh.d.ts +0 -1
  52. package/dist/server/{chunk-C4XITY5U.js → chunk-XQOQTCUL.js} +22 -0
  53. package/dist/server/client.d.ts +0 -1
  54. package/dist/server/errors.d.cts +8 -1
  55. package/dist/server/errors.d.ts +8 -2
  56. package/dist/server/index.cjs +31 -7
  57. package/dist/server/index.d.cts +1 -1
  58. package/dist/server/index.d.ts +1 -2
  59. package/dist/server/index.js +10 -7
  60. package/dist/server/server-only.d.ts +0 -1
  61. package/dist/server/server-only.js +1 -1
  62. package/dist/server/transport.d.ts +0 -1
  63. package/dist/server/types.d.ts +0 -1
  64. package/dist/space-client/chat-controller-helpers.d.ts +0 -1
  65. package/dist/space-client/chat-controller.d.ts +0 -1
  66. package/dist/space-client/controller-effects.d.ts +0 -1
  67. package/dist/space-client/core.d.ts +0 -1
  68. package/dist/space-client/effect.d.ts +0 -1
  69. package/dist/space-client/errors.d.ts +4 -2
  70. package/dist/space-client/index.d.ts +1 -2
  71. package/dist/space-client/media-controller.d.ts +3 -2
  72. package/dist/space-client/media-device-selection.d.ts +0 -1
  73. package/dist/space-client/offline-actions-storage.d.ts +0 -1
  74. package/dist/space-client/offline-actions.d.ts +0 -1
  75. package/dist/space-client/participants-controller.d.ts +0 -1
  76. package/dist/space-client/promise-facade.d.ts +0 -1
  77. package/dist/space-client/reactions-controller.d.ts +0 -1
  78. package/dist/space-client/recording-controller.d.ts +0 -1
  79. package/dist/space-client/reload-rejoin.d.ts +1 -2
  80. package/dist/space-client/space-client.d.ts +0 -1
  81. package/dist/space-client/store.d.ts +0 -1
  82. package/dist/space-client/types.d.ts +15 -3
  83. package/dist/space-client/whiteboard-controller.d.ts +0 -1
  84. package/dist/sync/browser.d.ts +0 -1
  85. package/dist/sync/canonical.d.ts +0 -1
  86. package/dist/sync/connect-diagnostics.d.ts +10 -0
  87. package/dist/sync/dial-deadline.d.ts +3 -0
  88. package/dist/sync/errors.d.ts +0 -1
  89. package/dist/sync/index.d.ts +0 -1
  90. package/dist/sync/index.js +1 -1
  91. package/dist/sync/react-native.d.ts +0 -1
  92. package/dist/sync/types.d.ts +1 -1
  93. package/dist/sync/v1-client.d.ts +4 -2
  94. package/dist/sync/v1-codec.d.ts +0 -1
  95. package/dist/sync/v1-collaboration-state.d.ts +1 -1
  96. package/dist/sync/v1-command-scheduler.d.ts +0 -1
  97. package/dist/sync/v1-create.d.ts +0 -1
  98. package/dist/sync/v1-deferred.d.ts +0 -1
  99. package/dist/sync/v1-error.d.ts +0 -1
  100. package/dist/sync/v1-frame-signature.d.ts +0 -1
  101. package/dist/sync/v1-health.d.ts +15 -0
  102. package/dist/sync/v1-live-target-coordinator.d.ts +0 -1
  103. package/dist/sync/v1-persistence.d.ts +0 -1
  104. package/dist/sync/v1-platform-persistence.d.ts +0 -1
  105. package/dist/sync/v1-reducer.d.ts +3 -1
  106. package/dist/sync/v1-types.d.ts +14 -1
  107. package/dist/webhooks/errors.d.ts +0 -1
  108. package/dist/webhooks/generated/event-v1.d.ts +0 -1
  109. package/dist/webhooks/generated/fixtures-v1.d.ts +0 -1
  110. package/dist/webhooks/index.d.ts +0 -1
  111. package/dist/webhooks/processor.d.ts +0 -1
  112. package/dist/webhooks/server-only.d.ts +0 -1
  113. package/dist/webhooks/test.d.ts +0 -1
  114. package/dist/webhooks/types.d.ts +0 -1
  115. package/dist/webhooks/validate.d.ts +0 -1
  116. package/dist/webhooks/verify.d.ts +0 -1
  117. package/dist/whiteboard/file-download-transport.d.ts +0 -1
  118. package/dist/whiteboard/index.d.ts +2 -1
  119. package/dist/whiteboard/types.d.ts +54 -5
  120. package/dist/whiteboard/v1-client.d.ts +5 -2
  121. package/dist/whiteboard/v1-codec.d.ts +5 -2
  122. package/dist/whiteboard/v1-create.d.ts +0 -1
  123. package/dist/whiteboard/v1-multipart.d.ts +1 -2
  124. package/dist/whiteboard/v1-persistence.d.ts +0 -1
  125. package/dist/whiteboard/view-bounds.d.ts +5 -0
  126. package/dist/whiteboard/view-versions.d.ts +9 -0
  127. package/package.json +4 -2
  128. package/dist/access/base64-url.d.ts.map +0 -1
  129. package/dist/access/grant.d.ts.map +0 -1
  130. package/dist/access/grant.test.helpers.d.ts +0 -10
  131. package/dist/access/grant.test.helpers.d.ts.map +0 -1
  132. package/dist/access/manager.d.ts.map +0 -1
  133. package/dist/chat-files/http-transport.d.ts.map +0 -1
  134. package/dist/chat-files/index.d.ts.map +0 -1
  135. package/dist/chat-files/types.d.ts.map +0 -1
  136. package/dist/client.d.ts.map +0 -1
  137. package/dist/collaboration/index.d.ts.map +0 -1
  138. package/dist/collaboration/types.d.ts.map +0 -1
  139. package/dist/collaboration/wire.d.ts.map +0 -1
  140. package/dist/connection/dependencies.d.ts.map +0 -1
  141. package/dist/connection/diagnostics.d.ts.map +0 -1
  142. package/dist/connection/index.d.ts.map +0 -1
  143. package/dist/connection/lifecycle.d.ts.map +0 -1
  144. package/dist/connection/media-devices.d.ts.map +0 -1
  145. package/dist/connection/production.d.ts.map +0 -1
  146. package/dist/connection/types.d.ts.map +0 -1
  147. package/dist/effect.d.ts.map +0 -1
  148. package/dist/foreground-deadline.d.ts.map +0 -1
  149. package/dist/generated/http-api.d.ts.map +0 -1
  150. package/dist/generated/schemas.d.ts.map +0 -1
  151. package/dist/generated/sync.d.ts.map +0 -1
  152. package/dist/generated/whiteboard-v1.d.ts.map +0 -1
  153. package/dist/index.d.ts.map +0 -1
  154. package/dist/media/camera-uplink.d.ts.map +0 -1
  155. package/dist/media/capture-error.d.ts.map +0 -1
  156. package/dist/media/client.d.ts.map +0 -1
  157. package/dist/media/cloudflare-sfu.d.ts.map +0 -1
  158. package/dist/media/index.d.ts.map +0 -1
  159. package/dist/media/observers.d.ts.map +0 -1
  160. package/dist/media/plane.d.ts.map +0 -1
  161. package/dist/media/remote-track-response.d.ts.map +0 -1
  162. package/dist/media/target.d.ts.map +0 -1
  163. package/dist/media/tracks.d.ts.map +0 -1
  164. package/dist/media/transport.d.ts.map +0 -1
  165. package/dist/media/types.d.ts.map +0 -1
  166. package/dist/public-invites/client.d.ts.map +0 -1
  167. package/dist/public-invites/index.d.ts.map +0 -1
  168. package/dist/public-invites/types.d.ts.map +0 -1
  169. package/dist/server/access-refresh.d.ts.map +0 -1
  170. package/dist/server/client.d.ts.map +0 -1
  171. package/dist/server/errors.d.ts.map +0 -1
  172. package/dist/server/index.d.ts.map +0 -1
  173. package/dist/server/server-only.d.ts.map +0 -1
  174. package/dist/server/transport.d.ts.map +0 -1
  175. package/dist/server/types.d.ts.map +0 -1
  176. package/dist/space-client/chat-controller-helpers.d.ts.map +0 -1
  177. package/dist/space-client/chat-controller.d.ts.map +0 -1
  178. package/dist/space-client/controller-effects.d.ts.map +0 -1
  179. package/dist/space-client/core.d.ts.map +0 -1
  180. package/dist/space-client/core.test.helpers.d.ts +0 -15
  181. package/dist/space-client/core.test.helpers.d.ts.map +0 -1
  182. package/dist/space-client/effect.d.ts.map +0 -1
  183. package/dist/space-client/errors.d.ts.map +0 -1
  184. package/dist/space-client/index.d.ts.map +0 -1
  185. package/dist/space-client/media-controller.d.ts.map +0 -1
  186. package/dist/space-client/media-device-selection.d.ts.map +0 -1
  187. package/dist/space-client/offline-actions-storage.d.ts.map +0 -1
  188. package/dist/space-client/offline-actions.d.ts.map +0 -1
  189. package/dist/space-client/participants-controller.d.ts.map +0 -1
  190. package/dist/space-client/promise-facade.d.ts.map +0 -1
  191. package/dist/space-client/reactions-controller.d.ts.map +0 -1
  192. package/dist/space-client/recording-controller.d.ts.map +0 -1
  193. package/dist/space-client/reload-rejoin.d.ts.map +0 -1
  194. package/dist/space-client/space-client.d.ts.map +0 -1
  195. package/dist/space-client/store.d.ts.map +0 -1
  196. package/dist/space-client/terminal.test.helpers.d.ts +0 -136
  197. package/dist/space-client/terminal.test.helpers.d.ts.map +0 -1
  198. package/dist/space-client/types.d.ts.map +0 -1
  199. package/dist/space-client/whiteboard-controller.d.ts.map +0 -1
  200. package/dist/sync/browser.d.ts.map +0 -1
  201. package/dist/sync/canonical.d.ts.map +0 -1
  202. package/dist/sync/errors.d.ts.map +0 -1
  203. package/dist/sync/index.d.ts.map +0 -1
  204. package/dist/sync/react-native.d.ts.map +0 -1
  205. package/dist/sync/types.d.ts.map +0 -1
  206. package/dist/sync/v1-client.d.ts.map +0 -1
  207. package/dist/sync/v1-codec.d.ts.map +0 -1
  208. package/dist/sync/v1-collaboration-state.d.ts.map +0 -1
  209. package/dist/sync/v1-command-scheduler.d.ts.map +0 -1
  210. package/dist/sync/v1-create.d.ts.map +0 -1
  211. package/dist/sync/v1-deferred.d.ts.map +0 -1
  212. package/dist/sync/v1-error.d.ts.map +0 -1
  213. package/dist/sync/v1-frame-signature.d.ts.map +0 -1
  214. package/dist/sync/v1-live-target-coordinator.d.ts.map +0 -1
  215. package/dist/sync/v1-persistence.d.ts.map +0 -1
  216. package/dist/sync/v1-platform-persistence.d.ts.map +0 -1
  217. package/dist/sync/v1-reducer.d.ts.map +0 -1
  218. package/dist/sync/v1-types.d.ts.map +0 -1
  219. package/dist/webhooks/errors.d.ts.map +0 -1
  220. package/dist/webhooks/generated/event-v1.d.ts.map +0 -1
  221. package/dist/webhooks/generated/fixtures-v1.d.ts.map +0 -1
  222. package/dist/webhooks/index.d.ts.map +0 -1
  223. package/dist/webhooks/processor.d.ts.map +0 -1
  224. package/dist/webhooks/server-only.d.ts.map +0 -1
  225. package/dist/webhooks/test.d.ts.map +0 -1
  226. package/dist/webhooks/types.d.ts.map +0 -1
  227. package/dist/webhooks/validate.d.ts.map +0 -1
  228. package/dist/webhooks/verify.d.ts.map +0 -1
  229. package/dist/whiteboard/file-download-transport.d.ts.map +0 -1
  230. package/dist/whiteboard/index.d.ts.map +0 -1
  231. package/dist/whiteboard/types.d.ts.map +0 -1
  232. package/dist/whiteboard/v1-client.d.ts.map +0 -1
  233. package/dist/whiteboard/v1-codec.d.ts.map +0 -1
  234. package/dist/whiteboard/v1-create.d.ts.map +0 -1
  235. package/dist/whiteboard/v1-multipart.d.ts.map +0 -1
  236. package/dist/whiteboard/v1-persistence.d.ts.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createChalkEffectClient,
3
3
  parseAccessGrant
4
- } from "./chunk-2HJIJVE2.js";
4
+ } from "./chunk-HO4745TX.js";
5
5
 
6
6
  // src/public-invites/client.ts
7
7
  import { Effect } from "effect";
@@ -44,7 +44,7 @@ function resolveMediaTarget(participantId, stopped, tracks, target) {
44
44
  if (target.participantId !== participantId) return { kind: "result", result: { outcome: "terminal_failure", errorCode: "invalid_participant" } };
45
45
  if (stopped) return { kind: "result", result: { outcome: "terminal_failure", errorCode: "media_stopped" } };
46
46
  const value = tracks.get(target.source);
47
- if (value === void 0) return { kind: "result", result: { outcome: "terminal_failure", errorCode: "source_unavailable" } };
47
+ if (value === void 0) return { kind: "result", result: target.enabled ? { outcome: "terminal_failure", errorCode: "source_unavailable" } : { outcome: "satisfied", errorCode: null } };
48
48
  return { kind: "state", value };
49
49
  }
50
50
 
@@ -282,7 +282,8 @@ var CloudflareSFUClient = class {
282
282
  pendingTrackName: null,
283
283
  desiredEnabled: false,
284
284
  enabled: false,
285
- endedListener: null
285
+ endedListener: null,
286
+ clearing: null
286
287
  };
287
288
  this.#reusableLocalTransceivers.delete(source);
288
289
  this.#reusableLocalPublicationIds.delete(source);
@@ -296,24 +297,35 @@ var CloudflareSFUClient = class {
296
297
  this.#publishSnapshot();
297
298
  this.#emitLocal();
298
299
  }
299
- async clearPreparedLocalTrack(source) {
300
+ async clearPreparedLocalTrack(source, options = {}) {
300
301
  const state = this.#localTracks.get(source);
301
302
  if (!state) return;
303
+ if (state.clearing) return state.clearing;
304
+ state.clearing = this.#clearPreparedTrack(state, options.stopTrack);
305
+ try {
306
+ await state.clearing;
307
+ } finally {
308
+ state.clearing = null;
309
+ }
310
+ }
311
+ async #clearPreparedTrack(state, stopTrack = true) {
312
+ const source = state.source;
302
313
  if (source === "screen_audio") {
303
314
  try {
304
315
  await this.#retireLocalPublication(source);
305
316
  } finally {
306
- this.#removeOwnedLocalTrack(state);
307
- this.#localTracks.delete(source);
317
+ this.#removeOwnedLocalTrack(state, stopTrack);
318
+ if (this.#localTracks.get(source) === state) this.#localTracks.delete(source);
308
319
  this.#publishSnapshot();
309
320
  this.#emitLocal();
310
321
  }
311
322
  return;
312
323
  }
313
324
  if (state.enabled) await this.#setPreparedTrackEnabled(state, false);
325
+ if (this.#localTracks.get(source) !== state) return;
314
326
  if (state.transceiver) this.#reusableLocalTransceivers.set(source, state.transceiver);
315
327
  if (state.providerPublicationId) this.#reusableLocalPublicationIds.set(source, state.providerPublicationId);
316
- this.#removeOwnedLocalTrack(state);
328
+ this.#removeOwnedLocalTrack(state, stopTrack);
317
329
  this.#localTracks.delete(source);
318
330
  this.#publishSnapshot();
319
331
  this.#emitLocal();
@@ -1171,9 +1183,9 @@ var CloudflareSFUClient = class {
1171
1183
  this.#reportError(error);
1172
1184
  }
1173
1185
  }
1174
- #removeOwnedLocalTrack(state) {
1186
+ #removeOwnedLocalTrack(state, stopTrack = true) {
1175
1187
  if (state.endedListener) state.track.removeEventListener("ended", state.endedListener);
1176
- safeStopTrack(state.track, this.#reportError.bind(this));
1188
+ if (stopTrack) safeStopTrack(state.track, this.#reportError.bind(this));
1177
1189
  state.enabled = false;
1178
1190
  state.desiredEnabled = false;
1179
1191
  state.transceiver = null;