@q9labsai/chalk-client 4.0.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 (253) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +173 -0
  3. package/dist/access/base64-url.d.ts +2 -0
  4. package/dist/access/base64-url.d.ts.map +1 -0
  5. package/dist/access/episode-diagnostic-credential.d.ts +11 -0
  6. package/dist/access/episode-diagnostic-credential.d.ts.map +1 -0
  7. package/dist/access/grant.d.ts +53 -0
  8. package/dist/access/grant.d.ts.map +1 -0
  9. package/dist/access/grant.test.helpers.d.ts +10 -0
  10. package/dist/access/grant.test.helpers.d.ts.map +1 -0
  11. package/dist/access/manager.d.ts +36 -0
  12. package/dist/access/manager.d.ts.map +1 -0
  13. package/dist/chat-files/http-transport.d.ts +8 -0
  14. package/dist/chat-files/http-transport.d.ts.map +1 -0
  15. package/dist/chat-files/index.d.ts +3 -0
  16. package/dist/chat-files/index.d.ts.map +1 -0
  17. package/dist/chat-files/types.d.ts +37 -0
  18. package/dist/chat-files/types.d.ts.map +1 -0
  19. package/dist/chunk-5VXGLI3T.js +3385 -0
  20. package/dist/chunk-O22WFBKF.js +5161 -0
  21. package/dist/chunk-PBCGWE2V.js +811 -0
  22. package/dist/chunk-PBSYXPNJ.js +23 -0
  23. package/dist/chunk-QVHR3RMB.js +1229 -0
  24. package/dist/client.d.ts +6785 -0
  25. package/dist/client.d.ts.map +1 -0
  26. package/dist/collaboration/index.d.ts +3 -0
  27. package/dist/collaboration/index.d.ts.map +1 -0
  28. package/dist/collaboration/types.d.ts +94 -0
  29. package/dist/collaboration/types.d.ts.map +1 -0
  30. package/dist/collaboration/wire.d.ts +19 -0
  31. package/dist/collaboration/wire.d.ts.map +1 -0
  32. package/dist/connection/dependencies.d.ts +112 -0
  33. package/dist/connection/dependencies.d.ts.map +1 -0
  34. package/dist/connection/diagnostics.d.ts +52 -0
  35. package/dist/connection/diagnostics.d.ts.map +1 -0
  36. package/dist/connection/index.d.ts +47 -0
  37. package/dist/connection/index.d.ts.map +1 -0
  38. package/dist/connection/lifecycle.d.ts +58 -0
  39. package/dist/connection/lifecycle.d.ts.map +1 -0
  40. package/dist/connection/media-devices.d.ts +6 -0
  41. package/dist/connection/media-devices.d.ts.map +1 -0
  42. package/dist/connection/production.d.ts +13 -0
  43. package/dist/connection/production.d.ts.map +1 -0
  44. package/dist/connection/snapshot.d.ts +23 -0
  45. package/dist/connection/snapshot.d.ts.map +1 -0
  46. package/dist/connection/types.d.ts +128 -0
  47. package/dist/connection/types.d.ts.map +1 -0
  48. package/dist/effect.d.ts +19 -0
  49. package/dist/effect.d.ts.map +1 -0
  50. package/dist/effect.js +7846 -0
  51. package/dist/episode-diagnostic-runtime.test.helpers.d.ts +3 -0
  52. package/dist/episode-diagnostic-runtime.test.helpers.d.ts.map +1 -0
  53. package/dist/generated/http-api.d.ts +6658 -0
  54. package/dist/generated/http-api.d.ts.map +1 -0
  55. package/dist/generated/schemas.d.ts +12076 -0
  56. package/dist/generated/schemas.d.ts.map +1 -0
  57. package/dist/generated/sync.d.ts +3947 -0
  58. package/dist/generated/sync.d.ts.map +1 -0
  59. package/dist/generated/whiteboard-v1.d.ts +334 -0
  60. package/dist/generated/whiteboard-v1.d.ts.map +1 -0
  61. package/dist/index.d.ts +10 -0
  62. package/dist/index.d.ts.map +1 -0
  63. package/dist/index.js +152 -0
  64. package/dist/media/client.d.ts +18 -0
  65. package/dist/media/client.d.ts.map +1 -0
  66. package/dist/media/cloudflare-sfu.d.ts +5 -0
  67. package/dist/media/cloudflare-sfu.d.ts.map +1 -0
  68. package/dist/media/index.d.ts +3 -0
  69. package/dist/media/index.d.ts.map +1 -0
  70. package/dist/media/index.js +24 -0
  71. package/dist/media/plane.d.ts +24 -0
  72. package/dist/media/plane.d.ts.map +1 -0
  73. package/dist/media/tracks.d.ts +21 -0
  74. package/dist/media/tracks.d.ts.map +1 -0
  75. package/dist/media/transport.d.ts +3 -0
  76. package/dist/media/transport.d.ts.map +1 -0
  77. package/dist/media/types.d.ts +114 -0
  78. package/dist/media/types.d.ts.map +1 -0
  79. package/dist/server/chunk-A6YMG5FM.js +61 -0
  80. package/dist/server/client.d.cts +2 -0
  81. package/dist/server/client.d.ts +3 -0
  82. package/dist/server/client.d.ts.map +1 -0
  83. package/dist/server/errors.d.cts +18 -0
  84. package/dist/server/errors.d.ts +19 -0
  85. package/dist/server/errors.d.ts.map +1 -0
  86. package/dist/server/index.cjs +551 -0
  87. package/dist/server/index.d.cts +3 -0
  88. package/dist/server/index.d.ts +4 -0
  89. package/dist/server/index.d.ts.map +1 -0
  90. package/dist/server/index.js +474 -0
  91. package/dist/server/server-only.cjs +40 -0
  92. package/dist/server/server-only.d.cts +1 -0
  93. package/dist/server/server-only.d.ts +2 -0
  94. package/dist/server/server-only.d.ts.map +1 -0
  95. package/dist/server/server-only.js +9 -0
  96. package/dist/server/transport.d.cts +12 -0
  97. package/dist/server/transport.d.ts +13 -0
  98. package/dist/server/transport.d.ts.map +1 -0
  99. package/dist/server/types.d.cts +201 -0
  100. package/dist/server/types.d.ts +202 -0
  101. package/dist/server/types.d.ts.map +1 -0
  102. package/dist/space-client/chat-controller-helpers.d.ts +15 -0
  103. package/dist/space-client/chat-controller-helpers.d.ts.map +1 -0
  104. package/dist/space-client/chat-controller.d.ts +34 -0
  105. package/dist/space-client/chat-controller.d.ts.map +1 -0
  106. package/dist/space-client/controller-effects.d.ts +45 -0
  107. package/dist/space-client/controller-effects.d.ts.map +1 -0
  108. package/dist/space-client/controller-parity.test.helpers.d.ts +150 -0
  109. package/dist/space-client/controller-parity.test.helpers.d.ts.map +1 -0
  110. package/dist/space-client/core.d.ts +52 -0
  111. package/dist/space-client/core.d.ts.map +1 -0
  112. package/dist/space-client/core.test.helpers.d.ts +14 -0
  113. package/dist/space-client/core.test.helpers.d.ts.map +1 -0
  114. package/dist/space-client/effect.d.ts +44 -0
  115. package/dist/space-client/effect.d.ts.map +1 -0
  116. package/dist/space-client/episode-diagnostic-registry.d.ts +13 -0
  117. package/dist/space-client/episode-diagnostic-registry.d.ts.map +1 -0
  118. package/dist/space-client/episode-diagnostic-render-registry.d.ts +4 -0
  119. package/dist/space-client/episode-diagnostic-render-registry.d.ts.map +1 -0
  120. package/dist/space-client/episode-diagnostic-runtime.d.ts +102 -0
  121. package/dist/space-client/episode-diagnostic-runtime.d.ts.map +1 -0
  122. package/dist/space-client/errors.d.ts +11 -0
  123. package/dist/space-client/errors.d.ts.map +1 -0
  124. package/dist/space-client/index.d.ts +5 -0
  125. package/dist/space-client/index.d.ts.map +1 -0
  126. package/dist/space-client/media-controller.d.ts +30 -0
  127. package/dist/space-client/media-controller.d.ts.map +1 -0
  128. package/dist/space-client/media-controller.test.helpers.d.ts +105 -0
  129. package/dist/space-client/media-controller.test.helpers.d.ts.map +1 -0
  130. package/dist/space-client/media-device-selection.d.ts +13 -0
  131. package/dist/space-client/media-device-selection.d.ts.map +1 -0
  132. package/dist/space-client/participants-controller.d.ts +33 -0
  133. package/dist/space-client/participants-controller.d.ts.map +1 -0
  134. package/dist/space-client/promise-facade.d.ts +12 -0
  135. package/dist/space-client/promise-facade.d.ts.map +1 -0
  136. package/dist/space-client/reactions-controller.d.ts +19 -0
  137. package/dist/space-client/reactions-controller.d.ts.map +1 -0
  138. package/dist/space-client/space-client.d.ts +5 -0
  139. package/dist/space-client/space-client.d.ts.map +1 -0
  140. package/dist/space-client/store.d.ts +29 -0
  141. package/dist/space-client/store.d.ts.map +1 -0
  142. package/dist/space-client/types.d.ts +222 -0
  143. package/dist/space-client/types.d.ts.map +1 -0
  144. package/dist/space-client/whiteboard-controller.d.ts +17 -0
  145. package/dist/space-client/whiteboard-controller.d.ts.map +1 -0
  146. package/dist/sync/browser.d.ts +9 -0
  147. package/dist/sync/browser.d.ts.map +1 -0
  148. package/dist/sync/canonical.d.ts +7 -0
  149. package/dist/sync/canonical.d.ts.map +1 -0
  150. package/dist/sync/errors.d.ts +9 -0
  151. package/dist/sync/errors.d.ts.map +1 -0
  152. package/dist/sync/index.d.ts +13 -0
  153. package/dist/sync/index.d.ts.map +1 -0
  154. package/dist/sync/index.js +51 -0
  155. package/dist/sync/react-native.d.ts +42 -0
  156. package/dist/sync/react-native.d.ts.map +1 -0
  157. package/dist/sync/types.d.ts +28 -0
  158. package/dist/sync/types.d.ts.map +1 -0
  159. package/dist/sync/v1-client.d.ts +59 -0
  160. package/dist/sync/v1-client.d.ts.map +1 -0
  161. package/dist/sync/v1-codec.d.ts +5 -0
  162. package/dist/sync/v1-codec.d.ts.map +1 -0
  163. package/dist/sync/v1-create.d.ts +12 -0
  164. package/dist/sync/v1-create.d.ts.map +1 -0
  165. package/dist/sync/v1-persistence.d.ts +10 -0
  166. package/dist/sync/v1-persistence.d.ts.map +1 -0
  167. package/dist/sync/v1-platform-persistence.d.ts +26 -0
  168. package/dist/sync/v1-platform-persistence.d.ts.map +1 -0
  169. package/dist/sync/v1-reducer.d.ts +17 -0
  170. package/dist/sync/v1-reducer.d.ts.map +1 -0
  171. package/dist/sync/v1-types.d.ts +197 -0
  172. package/dist/sync/v1-types.d.ts.map +1 -0
  173. package/dist/telemetry/attributes.d.ts +7 -0
  174. package/dist/telemetry/attributes.d.ts.map +1 -0
  175. package/dist/telemetry/client.d.ts +44 -0
  176. package/dist/telemetry/client.d.ts.map +1 -0
  177. package/dist/telemetry/delivery.d.ts +107 -0
  178. package/dist/telemetry/delivery.d.ts.map +1 -0
  179. package/dist/telemetry/exporter.d.ts +38 -0
  180. package/dist/telemetry/exporter.d.ts.map +1 -0
  181. package/dist/telemetry/index.d.ts +7 -0
  182. package/dist/telemetry/index.d.ts.map +1 -0
  183. package/dist/telemetry/index.js +48 -0
  184. package/dist/telemetry/journey.d.ts +52 -0
  185. package/dist/telemetry/journey.d.ts.map +1 -0
  186. package/dist/telemetry/random.d.ts +18 -0
  187. package/dist/telemetry/random.d.ts.map +1 -0
  188. package/dist/telemetry/rtc.d.ts +35 -0
  189. package/dist/telemetry/rtc.d.ts.map +1 -0
  190. package/dist/telemetry/storage.d.ts +22 -0
  191. package/dist/telemetry/storage.d.ts.map +1 -0
  192. package/dist/telemetry/sync.d.ts +10 -0
  193. package/dist/telemetry/sync.d.ts.map +1 -0
  194. package/dist/telemetry/test-support.d.ts +51 -0
  195. package/dist/telemetry/test-support.d.ts.map +1 -0
  196. package/dist/telemetry/trace.d.ts +18 -0
  197. package/dist/telemetry/trace.d.ts.map +1 -0
  198. package/dist/telemetry/types.d.ts +109 -0
  199. package/dist/telemetry/types.d.ts.map +1 -0
  200. package/dist/webhooks/chunk-UNMJZNTZ.js +31 -0
  201. package/dist/webhooks/errors.d.cts +8 -0
  202. package/dist/webhooks/errors.d.ts +9 -0
  203. package/dist/webhooks/errors.d.ts.map +1 -0
  204. package/dist/webhooks/generated/event-v1.d.cts +764 -0
  205. package/dist/webhooks/generated/event-v1.d.ts +765 -0
  206. package/dist/webhooks/generated/event-v1.d.ts.map +1 -0
  207. package/dist/webhooks/generated/fixtures-v1.d.cts +46 -0
  208. package/dist/webhooks/generated/fixtures-v1.d.ts +47 -0
  209. package/dist/webhooks/generated/fixtures-v1.d.ts.map +1 -0
  210. package/dist/webhooks/index.cjs +1242 -0
  211. package/dist/webhooks/index.d.cts +5 -0
  212. package/dist/webhooks/index.d.ts +6 -0
  213. package/dist/webhooks/index.d.ts.map +1 -0
  214. package/dist/webhooks/index.js +1197 -0
  215. package/dist/webhooks/processor.d.cts +21 -0
  216. package/dist/webhooks/processor.d.ts +22 -0
  217. package/dist/webhooks/processor.d.ts.map +1 -0
  218. package/dist/webhooks/server-only.cjs +36 -0
  219. package/dist/webhooks/server-only.d.cts +1 -0
  220. package/dist/webhooks/server-only.d.ts +2 -0
  221. package/dist/webhooks/server-only.d.ts.map +1 -0
  222. package/dist/webhooks/server-only.js +9 -0
  223. package/dist/webhooks/test.cjs +160 -0
  224. package/dist/webhooks/test.d.cts +42 -0
  225. package/dist/webhooks/test.d.ts +43 -0
  226. package/dist/webhooks/test.d.ts.map +1 -0
  227. package/dist/webhooks/test.js +137 -0
  228. package/dist/webhooks/types.d.cts +55 -0
  229. package/dist/webhooks/types.d.ts +56 -0
  230. package/dist/webhooks/types.d.ts.map +1 -0
  231. package/dist/webhooks/validate.d.cts +5 -0
  232. package/dist/webhooks/validate.d.ts +6 -0
  233. package/dist/webhooks/validate.d.ts.map +1 -0
  234. package/dist/webhooks/verify.d.cts +10 -0
  235. package/dist/webhooks/verify.d.ts +11 -0
  236. package/dist/webhooks/verify.d.ts.map +1 -0
  237. package/dist/whiteboard/file-http-transport.d.ts +9 -0
  238. package/dist/whiteboard/file-http-transport.d.ts.map +1 -0
  239. package/dist/whiteboard/index.d.ts +7 -0
  240. package/dist/whiteboard/index.d.ts.map +1 -0
  241. package/dist/whiteboard/types.d.ts +139 -0
  242. package/dist/whiteboard/types.d.ts.map +1 -0
  243. package/dist/whiteboard/v1-client.d.ts +18 -0
  244. package/dist/whiteboard/v1-client.d.ts.map +1 -0
  245. package/dist/whiteboard/v1-codec.d.ts +5 -0
  246. package/dist/whiteboard/v1-codec.d.ts.map +1 -0
  247. package/dist/whiteboard/v1-create.d.ts +8 -0
  248. package/dist/whiteboard/v1-create.d.ts.map +1 -0
  249. package/dist/whiteboard/v1-multipart.d.ts +30 -0
  250. package/dist/whiteboard/v1-multipart.d.ts.map +1 -0
  251. package/dist/whiteboard/v1-persistence.d.ts +9 -0
  252. package/dist/whiteboard/v1-persistence.d.ts.map +1 -0
  253. package/package.json +222 -0
@@ -0,0 +1,21 @@
1
+ import type { MediaSource } from "./plane";
2
+ import type { CloudflareSFUPublicationSnapshot, CloudflareSFUSessionDescription } from "./types";
3
+ export type PublicationCursor = {
4
+ readonly incarnation: number;
5
+ readonly sequence: number;
6
+ readonly signature: string;
7
+ };
8
+ export declare function parseCloudflareSFUPublicationID(publicationId: string): {
9
+ readonly connectionId: string;
10
+ readonly trackName: string;
11
+ };
12
+ export declare function requireDescription(description: RTCSessionDescriptionInit): CloudflareSFUSessionDescription;
13
+ export declare function requireSFUDescription(description: CloudflareSFUSessionDescription | undefined): CloudflareSFUSessionDescription;
14
+ export declare function validatePublicationSnapshot(snapshot: CloudflareSFUPublicationSnapshot): PublicationCursor;
15
+ export declare function comparePublicationCursor(current: PublicationCursor | null, next: PublicationCursor): "newer" | "same" | "stale";
16
+ export declare function publicationKey(publication: {
17
+ readonly participantId: string;
18
+ readonly source: MediaSource;
19
+ }): string;
20
+ export declare function waitFor(predicate: () => boolean, timeoutMs: number, timeoutMessage?: string): Promise<void>;
21
+ //# sourceMappingURL=tracks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracks.d.ts","sourceRoot":"","sources":["../../src/media/tracks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,KAAK,EAA4B,gCAAgC,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAC;AAE3H,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,MAAM,GAAG;IAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAIpI;AAsDD,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,yBAAyB,GAAG,+BAA+B,CAK1G;AAED,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,+BAA+B,GAAG,SAAS,GAAG,+BAA+B,CAG/H;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,gCAAgC,GAAG,iBAAiB,CAezG;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAK/H;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE;IAAE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;CAAE,GAAG,MAAM,CAEpH;AASD,wBAAsB,OAAO,CAAC,SAAS,EAAE,MAAM,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,SAA+C,GAAG,OAAO,CAAC,IAAI,CAAC,CAMvJ"}
@@ -0,0 +1,3 @@
1
+ import type { CloudflareSFUHTTPTransportOptions, CloudflareSFUSignalingTransport } from "./types";
2
+ export declare function createCloudflareSFUHTTPTransport(options: CloudflareSFUHTTPTransportOptions): CloudflareSFUSignalingTransport;
3
+ //# sourceMappingURL=transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/media/transport.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAmC,iCAAiC,EAAoC,+BAA+B,EAA+B,MAAM,SAAS,CAAC;AAElM,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,iCAAiC,GAAG,+BAA+B,CA+D5H"}
@@ -0,0 +1,114 @@
1
+ import type { MediaPublication, MediaSource } from "./plane";
2
+ export type CloudflareSFUBootstrap = {
3
+ readonly connectionId: string;
4
+ readonly stunServer: string;
5
+ };
6
+ export type CloudflareSFUSessionDescription = {
7
+ readonly type: "offer" | "answer";
8
+ readonly sdp: string;
9
+ };
10
+ export type CloudflareSFUTrackRequest = {
11
+ readonly location: "local" | "remote";
12
+ readonly mid?: string;
13
+ readonly trackName: string;
14
+ readonly sessionId?: string;
15
+ readonly source?: MediaSource;
16
+ readonly publicationId?: string;
17
+ };
18
+ export type CloudflareSFUCloseTrackRequest = {
19
+ readonly mid: string;
20
+ readonly source: MediaSource;
21
+ readonly publicationId: string;
22
+ };
23
+ export type CloudflareSFUTracksResponse = {
24
+ readonly sessionDescription?: CloudflareSFUSessionDescription;
25
+ readonly tracks?: readonly CloudflareSFUTrackRequest[];
26
+ readonly requiresImmediateRenegotiation?: boolean;
27
+ };
28
+ export type CloudflareSFUPublication = {
29
+ readonly participantId: string;
30
+ readonly source: MediaSource;
31
+ readonly publicationId: string;
32
+ };
33
+ export type CloudflareSFUPublicationSnapshot = {
34
+ readonly incarnation: number;
35
+ readonly sequence: number;
36
+ readonly publications: readonly CloudflareSFUPublication[];
37
+ };
38
+ export type CloudflareSFUSignalingTransport = {
39
+ readonly addTracks: (input: {
40
+ readonly connectionId: string;
41
+ readonly sessionDescription?: CloudflareSFUSessionDescription;
42
+ readonly tracks: readonly CloudflareSFUTrackRequest[];
43
+ }) => Promise<CloudflareSFUTracksResponse>;
44
+ readonly closeTracks: (input: {
45
+ readonly connectionId: string;
46
+ readonly sessionDescription?: CloudflareSFUSessionDescription;
47
+ readonly tracks: readonly CloudflareSFUCloseTrackRequest[];
48
+ readonly force: boolean;
49
+ }) => Promise<CloudflareSFUTracksResponse>;
50
+ readonly renegotiate: (input: {
51
+ readonly connectionId: string;
52
+ readonly sessionDescription: CloudflareSFUSessionDescription;
53
+ }) => Promise<void>;
54
+ readonly listPublications: () => Promise<CloudflareSFUPublicationSnapshot>;
55
+ };
56
+ export type CloudflareSFURemoteTrack = CloudflareSFUPublication & {
57
+ readonly track: MediaStreamTrack;
58
+ };
59
+ export type CloudflareSFULocalTrack = Pick<MediaPublication, "source" | "enabled" | "publicationId"> & {
60
+ readonly track: MediaStreamTrack;
61
+ };
62
+ export type CloudflareSFUErrorCode = "invalid_bootstrap" | "invalid_publication" | "invalid_target" | "signaling_failed" | "media_failed" | "peer_connection_failed" | "ice_connection_failed" | "stale_generation";
63
+ export type CloudflareSFUFailureCode = CloudflareSFUErrorCode;
64
+ export type CloudflareSFUConnectionPhase = "idle" | "connecting" | "live" | "recovering" | "failed" | "stopped";
65
+ export type CloudflareSFUPhase = CloudflareSFUConnectionPhase;
66
+ export type CloudflareSFUSnapshot = {
67
+ readonly connection: {
68
+ readonly phase: CloudflareSFUConnectionPhase;
69
+ readonly peerConnectionState: RTCPeerConnectionState | null;
70
+ readonly iceConnectionState: RTCIceConnectionState | null;
71
+ };
72
+ readonly cursor: {
73
+ readonly incarnation: number;
74
+ readonly sequence: number;
75
+ } | null;
76
+ readonly localTracks: readonly CloudflareSFULocalTrack[];
77
+ readonly remoteTracks: readonly CloudflareSFURemoteTrack[];
78
+ readonly failure: {
79
+ readonly code: CloudflareSFUFailureCode;
80
+ readonly recoverable: boolean;
81
+ } | null;
82
+ };
83
+ export type CloudflareSFUClientOptions = {
84
+ readonly bootstrap: CloudflareSFUBootstrap;
85
+ readonly participantId: string;
86
+ readonly transport: CloudflareSFUSignalingTransport;
87
+ readonly pollIntervalMs?: number;
88
+ readonly onError?: (error: unknown) => void;
89
+ readonly onRemoteTrack?: (publication: CloudflareSFURemoteTrack) => void;
90
+ readonly onScreenEnded?: () => void;
91
+ readonly peerConnectionFactory?: (configuration: RTCConfiguration) => RTCPeerConnection;
92
+ };
93
+ export type CloudflareSFURestartOptions = {
94
+ readonly bootstrap: CloudflareSFUBootstrap;
95
+ readonly transport?: CloudflareSFUSignalingTransport;
96
+ };
97
+ export type CloudflareSFUCredentialProvider = () => string | Promise<string>;
98
+ export type CloudflareSFUHTTPTransportOptions = {
99
+ readonly apiBaseURL: string;
100
+ readonly credential?: CloudflareSFUCredentialProvider;
101
+ /** @deprecated Use credential so refreshed media access is read before every request. */
102
+ readonly bearerToken?: string;
103
+ readonly tenantId: string;
104
+ /** Canonical Space/Episode/Participant route identifiers. */
105
+ readonly spaceId: string;
106
+ readonly episodeId: string;
107
+ readonly participantId: string;
108
+ readonly fetch?: typeof globalThis.fetch;
109
+ };
110
+ export declare class CloudflareSFUError extends Error {
111
+ readonly code: CloudflareSFUFailureCode;
112
+ constructor(message: string, code: CloudflareSFUFailureCode);
113
+ }
114
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/media/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ // src/server/errors.ts
2
+ var safeCodePattern = /^[a-z][a-z0-9_]{0,63}$/u;
3
+ var safeRequestIdPattern = /^[A-Za-z0-9._:-]{1,128}$/u;
4
+ var ChalkAPIError = class extends Error {
5
+ code;
6
+ requestId;
7
+ retryable;
8
+ status;
9
+ constructor(input) {
10
+ super(messageFor(input.code, input.status));
11
+ this.name = "ChalkAPIError";
12
+ this.code = input.code;
13
+ this.status = input.status;
14
+ this.retryable = input.retryable;
15
+ this.requestId = input.requestId;
16
+ }
17
+ };
18
+ var ChalkServerOnlyError = class extends Error {
19
+ constructor() {
20
+ super("The Chalk server client is available only in Node.js runtimes.");
21
+ this.name = "ChalkServerOnlyError";
22
+ }
23
+ };
24
+ function errorCode(value) {
25
+ return safeErrorCode(errorCodeValue(value));
26
+ }
27
+ function requestId(headers) {
28
+ return safeRequestId(headers.get("x-request-id") ?? headers.get("x-chalk-request-id"));
29
+ }
30
+ function errorCodeValue(value) {
31
+ if (!isRecord(value)) return void 0;
32
+ if (!isRecord(value.error)) return void 0;
33
+ return value.error.code;
34
+ }
35
+ function safeErrorCode(value) {
36
+ if (typeof value !== "string") return "request_failed";
37
+ if (!safeCodePattern.test(value)) return "request_failed";
38
+ return value;
39
+ }
40
+ function safeRequestId(value) {
41
+ if (value === null) return void 0;
42
+ if (!safeRequestIdPattern.test(value)) return void 0;
43
+ return value;
44
+ }
45
+ function messageFor(code, status) {
46
+ if (code === "network_error") return "The Chalk API could not be reached.";
47
+ if (code === "invalid_response") return "The Chalk API returned an invalid response.";
48
+ return status > 0 ? `The Chalk API request failed with HTTP ${status}.` : "The Chalk API request failed.";
49
+ }
50
+ function isRecord(value) {
51
+ if (typeof value !== "object") return false;
52
+ if (value === null) return false;
53
+ return !Array.isArray(value);
54
+ }
55
+
56
+ export {
57
+ ChalkAPIError,
58
+ ChalkServerOnlyError,
59
+ errorCode,
60
+ requestId
61
+ };
@@ -0,0 +1,2 @@
1
+ import type { ChalkServerClient, ChalkServerClientOptions } from "./types.cjs";
2
+ export declare function createChalkServerClient(options: ChalkServerClientOptions): ChalkServerClient;
@@ -0,0 +1,3 @@
1
+ import type { ChalkServerClient, ChalkServerClientOptions } from "./types.js";
2
+ export declare function createChalkServerClient(options: ChalkServerClientOptions): ChalkServerClient;
3
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/server/client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAKV,iBAAiB,EACjB,wBAAwB,EAYzB,MAAM,YAAY,CAAC;AAEpB,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,GAAG,iBAAiB,CAyD5F"}
@@ -0,0 +1,18 @@
1
+ export type ChalkAPIErrorCode = "network_error" | "invalid_response" | "request_failed" | (string & {});
2
+ export declare class ChalkAPIError extends Error {
3
+ readonly code: ChalkAPIErrorCode;
4
+ readonly requestId: string | undefined;
5
+ readonly retryable: boolean;
6
+ readonly status: number;
7
+ constructor(input: {
8
+ code: ChalkAPIErrorCode;
9
+ requestId?: string;
10
+ retryable: boolean;
11
+ status: number;
12
+ });
13
+ }
14
+ export declare class ChalkServerOnlyError extends Error {
15
+ constructor();
16
+ }
17
+ export declare function errorCode(value: unknown): ChalkAPIErrorCode;
18
+ export declare function requestId(headers: Headers): string | undefined;
@@ -0,0 +1,19 @@
1
+ export type ChalkAPIErrorCode = "network_error" | "invalid_response" | "request_failed" | (string & {});
2
+ export declare class ChalkAPIError extends Error {
3
+ readonly code: ChalkAPIErrorCode;
4
+ readonly requestId: string | undefined;
5
+ readonly retryable: boolean;
6
+ readonly status: number;
7
+ constructor(input: {
8
+ code: ChalkAPIErrorCode;
9
+ requestId?: string;
10
+ retryable: boolean;
11
+ status: number;
12
+ });
13
+ }
14
+ export declare class ChalkServerOnlyError extends Error {
15
+ constructor();
16
+ }
17
+ export declare function errorCode(value: unknown): ChalkAPIErrorCode;
18
+ export declare function requestId(headers: Headers): string | undefined;
19
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/server/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG,eAAe,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAKxG,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,YAAY,KAAK,EAAE;QAAE,IAAI,EAAE,iBAAiB,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAOrG;CACF;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,cAGC;CACF;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAE3D;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAE9D"}