@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 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAkB,KAAK,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE3E,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,eAAe,CAAC;AAExC,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAElE,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IACtC,mHAAmH;IACnH,QAAQ,CAAC,SAAS,CAAC,EAAE,uBAAuB,CAAC;CAC9C,CAAC;AAEF,eAAO,MAAM,uBAAuB,YAAa,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAWxE,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./types";
2
+ export { chatMessageFromFrame, chatReadReceiptFromFrame, reactionFromFrame } from "./wire";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/collaboration/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,94 @@
1
+ export type ChalkSyncV1CollaborationCapability = "sendReaction" | "sendChat";
2
+ export type ChalkWhiteboardV1Capability = "drawWhiteboard" | "manageWhiteboard";
3
+ export type ChalkCollaborationCapability = ChalkSyncV1CollaborationCapability | ChalkWhiteboardV1Capability;
4
+ export type ChalkCollaborationPhase = "disabled" | "negotiating" | "healthy" | "recovering" | "failed" | "stopped";
5
+ export type ChalkParticipantMediaState = {
6
+ readonly microphone: "active" | "inactive" | "unknown";
7
+ readonly camera: "active" | "inactive" | "unknown";
8
+ readonly screenShare: "active" | "inactive" | "unknown";
9
+ };
10
+ export type ChalkReaction = "👍" | "❤️" | "😂" | "😮" | "😢" | "🎉";
11
+ export type ChalkReactionEvent = {
12
+ readonly eventId: string;
13
+ readonly participantId: string;
14
+ readonly displayName: string;
15
+ readonly reaction: ChalkReaction;
16
+ readonly occurredAt: string;
17
+ readonly expiresAt: string;
18
+ };
19
+ export declare const CHALK_CHAT_ATTACHMENT_LIMITS: {
20
+ readonly maximumPerMessage: 5;
21
+ readonly maximumByteLength: number;
22
+ readonly maximumFileNameBytes: 255;
23
+ };
24
+ export declare const CHALK_CHAT_ATTACHMENT_MIME_TYPES: readonly ["image/png", "image/jpeg", "image/gif", "image/webp", "application/pdf", "text/plain", "application/msword", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "application/vnd.ms-excel", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "application/vnd.ms-powerpoint", "application/vnd.openxmlformats-officedocument.presentationml.presentation", "application/vnd.oasis.opendocument.text", "application/vnd.oasis.opendocument.spreadsheet", "application/vnd.oasis.opendocument.presentation"];
25
+ export type ChalkChatAttachmentMimeType = (typeof CHALK_CHAT_ATTACHMENT_MIME_TYPES)[number];
26
+ export type ChalkChatAttachment = {
27
+ readonly attachmentId: string;
28
+ readonly fileName: string;
29
+ readonly mimeType: ChalkChatAttachmentMimeType;
30
+ readonly byteLength: number;
31
+ };
32
+ export type ChalkChatReadReceipt = {
33
+ readonly participantId: string;
34
+ readonly participantGeneration: number;
35
+ readonly readThroughSequence: string;
36
+ readonly readAt: string;
37
+ };
38
+ export type ChalkChatMessage = {
39
+ readonly messageId: string;
40
+ readonly clientMessageId: string;
41
+ readonly sequence: string;
42
+ readonly participantId: string;
43
+ readonly displayName: string;
44
+ readonly text: string;
45
+ readonly createdAt: string;
46
+ readonly attachments: readonly ChalkChatAttachment[];
47
+ };
48
+ export type ChalkPendingChatMessageState<TFailure> = {
49
+ readonly clientMessageId: string;
50
+ readonly text: string;
51
+ readonly attachments: readonly ChalkChatAttachment[];
52
+ readonly state: "sending" | "failed";
53
+ readonly error: TFailure | null;
54
+ };
55
+ export type ChalkChatStateSnapshot<TFailure, TPendingMessage> = {
56
+ readonly status: "idle" | "loading" | "ready" | "failed";
57
+ readonly messages: readonly ChalkChatMessage[];
58
+ readonly pending: readonly TPendingMessage[];
59
+ readonly hasOlder: boolean;
60
+ readonly historyTruncated: boolean;
61
+ readonly retainedFloorSequence: string | null;
62
+ readonly unreadCount: number;
63
+ readonly readReceipts: readonly ChalkChatReadReceipt[];
64
+ readonly localReadThroughSequence: string | null;
65
+ readonly error: TFailure | null;
66
+ };
67
+ export type ChalkChatPageResult = {
68
+ readonly status: "loaded";
69
+ readonly count: number;
70
+ readonly hasOlder: boolean;
71
+ } | {
72
+ readonly status: "cursor_reset";
73
+ readonly retainedFloorSequence: string;
74
+ };
75
+ export type ChalkSendChatMessageInput = {
76
+ readonly text: string;
77
+ readonly attachments?: readonly ChalkChatAttachment[];
78
+ readonly clientMessageId?: string;
79
+ };
80
+ export type ChalkIncomingMediaRequest = {
81
+ readonly requestId: string;
82
+ readonly kind: "unmute" | "start_camera";
83
+ readonly actorParticipantId: string;
84
+ readonly actorDisplayName: string | null;
85
+ readonly expiresAt: string;
86
+ };
87
+ export type ChalkDirectedRequestResult = {
88
+ readonly status: "delivered";
89
+ readonly requestId: string;
90
+ } | {
91
+ readonly status: "target_unavailable" | "expired" | "rejected" | "rate_limited";
92
+ readonly requestId: string;
93
+ };
94
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/collaboration/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { SyncV1ServerFrame } from "../generated/sync";
2
+ import type { ChalkChatMessage, ChalkChatReadReceipt, ChalkReactionEvent } from "./types";
3
+ type ReactionFrame = Extract<SyncV1ServerFrame, {
4
+ readonly type: "reaction";
5
+ }>;
6
+ type ChatMessageFrame = Extract<SyncV1ServerFrame, {
7
+ readonly type: "chat_message";
8
+ }>;
9
+ type ChatReadReceiptFrame = Extract<SyncV1ServerFrame, {
10
+ readonly type: "chat_read_receipt";
11
+ }> | Extract<SyncV1ServerFrame, {
12
+ readonly type: "chat_read_result";
13
+ readonly outcome: "accepted";
14
+ }>;
15
+ export declare function reactionFromFrame(frame: ReactionFrame): ChalkReactionEvent;
16
+ export declare function chatMessageFromFrame(frame: ChatMessageFrame): ChalkChatMessage;
17
+ export declare function chatReadReceiptFromFrame(frame: ChatReadReceiptFrame): ChalkChatReadReceipt;
18
+ export {};
19
+ //# sourceMappingURL=wire.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../src/collaboration/wire.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE1F,KAAK,aAAa,GAAG,OAAO,CAAC,iBAAiB,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC,CAAC;AAC/E,KAAK,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC,CAAC;AACtF,KAAK,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAA;CAAE,CAAC,GAAG,OAAO,CAAC,iBAAiB,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAA;CAAE,CAAC,CAAC;AAEjM,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,kBAAkB,CAS1E;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,CAmB9E;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,oBAAoB,GAAG,oBAAoB,CAO1F"}
@@ -0,0 +1,112 @@
1
+ import type { ClientMediaPlane, CloudflareSFUBootstrap, CloudflareSFUSnapshot } from "../media";
2
+ import type { ChalkChatFileTransport } from "../chat-files";
3
+ import type { V1AdmissionPolicy, V1AssignableRole, V1CommandResult, V1EpisodeSnapshot, V1SelfMediaTargetResult } from "../sync";
4
+ import type { V1CollaborationClient, V1DirectedRequest, V1DirectedRequestResult } from "../sync/v1-types";
5
+ import type { ChalkWhiteboardSummary, ChalkWhiteboardV1Transport } from "../whiteboard/types";
6
+ import type { ParsedAccessGrant, ParticipantMediaCredential } from "../access/grant";
7
+ import type { JourneyTelemetryContext } from "../telemetry/types";
8
+ import { Context, Layer } from "effect";
9
+ export type ConnectionAccessReason = "join" | "scheduled_refresh" | "sync_recovery" | "media_recovery" | "access_retry";
10
+ export type ConnectionAccessRequest = {
11
+ readonly reason: ConnectionAccessReason;
12
+ readonly replaceMediaConnection: boolean;
13
+ readonly currentMediaToken?: ParticipantMediaCredential;
14
+ readonly expectedParticipantGeneration?: number;
15
+ };
16
+ export type ConnectionAccessProvider = (request?: ConnectionAccessRequest) => ParsedAccessGrant | Promise<ParsedAccessGrant>;
17
+ export type ConnectionClock = {
18
+ readonly now: () => number;
19
+ readonly setTimeout: (callback: () => void, milliseconds: number) => unknown;
20
+ readonly clearTimeout: (handle: unknown) => void;
21
+ };
22
+ export type ConnectionMediaDevices = {
23
+ readonly getUserMedia: (constraints: MediaStreamConstraints) => Promise<MediaStream>;
24
+ readonly getDisplayMedia: (constraints: DisplayMediaStreamOptions) => Promise<MediaStream>;
25
+ readonly enumerateDevices?: () => Promise<readonly MediaDeviceInfo[]>;
26
+ /**
27
+ * An application-provided output sink selector. Browser capture APIs have no
28
+ * global speaker switch, so an application that renders remote audio supplies the
29
+ * element-specific implementation here.
30
+ */
31
+ readonly selectSpeaker?: (deviceId: string) => Promise<void>;
32
+ };
33
+ export type ConnectionSyncClient = V1CollaborationClient & {
34
+ readonly start: () => Promise<void>;
35
+ readonly stop: () => void;
36
+ readonly getSnapshot: () => V1EpisodeSnapshot;
37
+ readonly subscribe: (listener: (snapshot: V1EpisodeSnapshot) => void) => () => void;
38
+ readonly leave: () => Promise<V1CommandResult>;
39
+ readonly setMicrophoneEnabled: (enabled: boolean) => Promise<V1SelfMediaTargetResult>;
40
+ readonly setCameraEnabled: (enabled: boolean) => Promise<V1SelfMediaTargetResult>;
41
+ readonly setScreenShareEnabled: (enabled: boolean) => Promise<V1SelfMediaTargetResult>;
42
+ readonly setHandRaised: (raised: boolean) => Promise<V1CommandResult>;
43
+ readonly setDisplayName: (displayName: string) => Promise<V1CommandResult>;
44
+ readonly setAdmissionPolicy: (policy: V1AdmissionPolicy) => Promise<V1CommandResult>;
45
+ readonly assignRole: (participantId: string, role: V1AssignableRole) => Promise<V1CommandResult>;
46
+ readonly admit: (admissionRequestId: string) => Promise<V1CommandResult>;
47
+ readonly deny: (admissionRequestId: string) => Promise<V1CommandResult>;
48
+ readonly muteParticipant: (participantId: string) => Promise<V1CommandResult>;
49
+ readonly stopParticipantCamera: (participantId: string) => Promise<V1CommandResult>;
50
+ readonly stopParticipantScreenShare: (participantId: string) => Promise<V1CommandResult>;
51
+ readonly removeParticipant: (participantId: string) => Promise<V1CommandResult>;
52
+ readonly endEpisode: () => Promise<V1CommandResult>;
53
+ readonly extendEpisode: (minutes: number) => Promise<V1CommandResult>;
54
+ readonly onDirectedRequest: (listener: (request: V1DirectedRequest) => void) => () => void;
55
+ readonly requestUnmute: (participantId: string) => Promise<V1DirectedRequestResult>;
56
+ readonly requestStartCamera: (participantId: string) => Promise<V1DirectedRequestResult>;
57
+ };
58
+ export type ConnectionMediaClient = ClientMediaPlane & {
59
+ readonly start: (stream: MediaStream) => Promise<void>;
60
+ readonly stop: () => void;
61
+ readonly restart: (input: CloudflareSFUBootstrap) => Promise<void>;
62
+ readonly prepareLocalTrack: (source: "microphone" | "camera" | "screen", track: MediaStreamTrack) => void;
63
+ readonly clearPreparedLocalTrack: (source: "microphone" | "camera" | "screen") => Promise<void>;
64
+ readonly getSnapshot: () => CloudflareSFUSnapshot;
65
+ readonly subscribe: (listener: () => void) => () => void;
66
+ };
67
+ export type ConnectionMediaFactoryInput = {
68
+ readonly access: ParsedAccessGrant;
69
+ readonly credential: () => Promise<string>;
70
+ readonly onFailure: (error: unknown) => void;
71
+ readonly onScreenEnded: () => void;
72
+ };
73
+ export type ConnectionSyncFactoryInput = {
74
+ readonly access: ParsedAccessGrant;
75
+ readonly token: () => Promise<string>;
76
+ readonly media: ConnectionMediaClient;
77
+ readonly telemetry?: JourneyTelemetryContext;
78
+ };
79
+ export type ConnectionWhiteboardFactoryInput = {
80
+ readonly token: () => Promise<string>;
81
+ readonly onSummary: (summary: ChalkWhiteboardSummary) => void;
82
+ };
83
+ export type ConnectionChatFileFactoryInput = {
84
+ readonly token: () => Promise<string>;
85
+ };
86
+ export type ConnectionDependencies = {
87
+ readonly clock: ConnectionClock;
88
+ readonly mediaDevices: ConnectionMediaDevices;
89
+ readonly createMediaClient: (input: ConnectionMediaFactoryInput) => ConnectionMediaClient;
90
+ readonly createSyncClient: (input: ConnectionSyncFactoryInput) => ConnectionSyncClient;
91
+ readonly createChatFileTransport?: (input: ConnectionChatFileFactoryInput) => ChalkChatFileTransport | null;
92
+ readonly createWhiteboardClient?: (input: ConnectionWhiteboardFactoryInput) => ChalkWhiteboardV1Transport | null;
93
+ readonly subscribeForeground?: (listener: () => void) => () => void;
94
+ /**
95
+ * Browser-only identifier creation lives in the platform adapter. Lifecycle
96
+ * and feature code consume this seam so Effect tests can be deterministic.
97
+ */
98
+ readonly createId?: () => string;
99
+ };
100
+ declare const ConnectionPlatformService_base: Context.ServiceClass<ConnectionPlatformService, "@chalk/client/ConnectionPlatform", ConnectionDependencies>;
101
+ /**
102
+ * The foreign browser and transport boundary used by Connection. The Layer is
103
+ * deliberately small: all scheduling and state ownership stays in Effect
104
+ * programs above this adapter.
105
+ */
106
+ export declare class ConnectionPlatformService extends ConnectionPlatformService_base {
107
+ }
108
+ export declare const makeConnectionPlatformLayer: (dependencies: ConnectionDependencies) => Layer.Layer<ConnectionPlatformService, never, never>;
109
+ /** A named alias makes fake platform Layers self-documenting in tests. */
110
+ export declare const makeFakeConnectionPlatformLayer: (dependencies: ConnectionDependencies) => Layer.Layer<ConnectionPlatformService, never, never>;
111
+ export {};
112
+ //# sourceMappingURL=dependencies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../../src/connection/dependencies.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import type { ConnectionErrorCode, ConnectionState } from "./types";
2
+ export type ConnectionDiagnosticEventName = "state_changed" | "access_refreshed" | "access_refresh_failed" | "recovery_attempt" | "recovery_succeeded" | "recovery_exhausted" | "cleanup_completed" | "cleanup_unconfirmed" | "space_join_span";
3
+ export type ConnectionJoinTraceStep = "join" | "acquire_initial_media" | "access_initialize" | "create_media_client" | "create_sync_client" | "start_media" | "start_sync" | "wait_for_sync_live";
4
+ export type ConnectionJoinTraceOutcome = "started" | "succeeded" | "failed" | "cancelled";
5
+ export type ConnectionJoinTraceEvent = ConnectionDiagnostic & {
6
+ readonly event: "space_join_span";
7
+ readonly step: ConnectionJoinTraceStep;
8
+ readonly spanId: string;
9
+ readonly parentSpanId?: string;
10
+ readonly outcome: ConnectionJoinTraceOutcome;
11
+ };
12
+ export type ConnectionJoinTraceSpan = {
13
+ readonly spanId: string;
14
+ readonly end: (input: ConnectionJoinTraceEnd) => void;
15
+ };
16
+ export type ConnectionJoinTraceEnd = {
17
+ readonly state: ConnectionState;
18
+ readonly epoch: number;
19
+ readonly outcome: Exclude<ConnectionJoinTraceOutcome, "started">;
20
+ readonly code?: ConnectionErrorCode;
21
+ };
22
+ export type ConnectionDiagnostic = {
23
+ readonly timestamp: number;
24
+ readonly event: ConnectionDiagnosticEventName;
25
+ readonly state: ConnectionState;
26
+ readonly epoch: number;
27
+ readonly attempt?: number;
28
+ readonly code?: ConnectionErrorCode;
29
+ readonly step?: ConnectionJoinTraceStep;
30
+ readonly spanId?: string;
31
+ readonly parentSpanId?: string;
32
+ readonly outcome?: ConnectionJoinTraceOutcome;
33
+ readonly durationMs?: number;
34
+ };
35
+ export declare class ConnectionDiagnostics {
36
+ #private;
37
+ constructor(options: {
38
+ readonly now: () => number;
39
+ readonly limit?: number;
40
+ readonly onEvent?: (event: ConnectionDiagnostic) => void;
41
+ });
42
+ record(input: Omit<ConnectionDiagnostic, "timestamp">): void;
43
+ snapshot(): readonly ConnectionDiagnostic[];
44
+ startSpan(input: {
45
+ readonly step: ConnectionJoinTraceStep;
46
+ readonly state: ConnectionState;
47
+ readonly epoch: number;
48
+ readonly parentSpanId?: string;
49
+ }): ConnectionJoinTraceSpan;
50
+ joinTrace(): readonly ConnectionJoinTraceEvent[];
51
+ }
52
+ //# sourceMappingURL=diagnostics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/connection/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAEpE,MAAM,MAAM,6BAA6B,GAAG,eAAe,GAAG,kBAAkB,GAAG,uBAAuB,GAAG,kBAAkB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,qBAAqB,GAAG,iBAAiB,CAAC;AAEhP,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,uBAAuB,GAAG,mBAAmB,GAAG,qBAAqB,GAAG,oBAAoB,GAAG,aAAa,GAAG,YAAY,GAAG,oBAAoB,CAAC;AAElM,MAAM,MAAM,0BAA0B,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE1F,MAAM,MAAM,wBAAwB,GAAG,oBAAoB,GAAG;IAC5D,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAC;IACjE,QAAQ,CAAC,IAAI,CAAC,EAAE,mBAAmB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,uBAAuB,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,0BAA0B,CAAC;IAC9C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,qBAAa,qBAAqB;;IAOhC,YAAY,OAAO,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAA;KAAE,EAIrI;IAED,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC,GAAG,IAAI,CAS3D;IAED,QAAQ,IAAI,SAAS,oBAAoB,EAAE,CAE1C;IAED,SAAS,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,uBAAuB,CAwB7K;IAED,SAAS,IAAI,SAAS,wBAAwB,EAAE,CAE/C;CACF"}
@@ -0,0 +1,47 @@
1
+ import type { AccessSubject } from "../access/grant";
2
+ import type { ConnectionDiagnostic } from "./diagnostics";
3
+ import type { ConnectionAccessProvider, ConnectionDependencies, ConnectionMediaClient, ConnectionSyncClient } from "./dependencies";
4
+ import type { ConnectionConnectionPhase, ConnectionFailure, ConnectionState } from "./types";
5
+ import type { JourneyTelemetryContext } from "../telemetry/types";
6
+ /** Public lifecycle data contracts. Runtime ownership lives in ConnectionLifecycleService. */
7
+ export type ConnectionLifecycleSnapshot = {
8
+ readonly state: ConnectionState;
9
+ readonly subject: AccessSubject | null;
10
+ readonly episode: {
11
+ readonly id: string;
12
+ readonly startedAt: string | null;
13
+ readonly deadline: string | null;
14
+ } | null;
15
+ readonly connection: {
16
+ readonly sync: ConnectionConnectionPhase;
17
+ readonly media: ConnectionConnectionPhase;
18
+ };
19
+ readonly failure: ConnectionFailure | null;
20
+ };
21
+ export type ConnectionPorts = {
22
+ readonly sync: ConnectionSyncClient;
23
+ readonly media: ConnectionMediaClient;
24
+ };
25
+ export type ConnectionOptions = {
26
+ readonly access: ConnectionAccessProvider;
27
+ readonly syncURL: string;
28
+ readonly apiBaseURL: string;
29
+ readonly syncStartupTimeoutMs?: number;
30
+ readonly initialMicrophoneEnabled?: boolean;
31
+ readonly initialCameraEnabled?: boolean;
32
+ readonly telemetry?: JourneyTelemetryContext;
33
+ readonly accessRefreshWindowMs?: number;
34
+ readonly recovery?: {
35
+ readonly maxAttempts?: number;
36
+ readonly budgetMs?: number;
37
+ readonly backoffMs?: readonly number[];
38
+ };
39
+ readonly diagnostics?: {
40
+ readonly limit?: number;
41
+ readonly onEvent?: (event: ConnectionDiagnostic) => void;
42
+ };
43
+ readonly dependencies?: Partial<ConnectionDependencies>;
44
+ };
45
+ export { ConnectionLifecycleFailure, ConnectionLifecycleService, makeConnectionLifecycleLayer, makeFakeConnectionLifecycleLayer } from "./lifecycle";
46
+ export type { ConnectionLifecycleCapability } from "./lifecycle";
47
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/connection/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACpI,OAAO,KAAK,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC7F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAElE,8FAA8F;AAC9F,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACtH,QAAQ,CAAC,UAAU,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,yBAAyB,CAAA;KAAE,CAAC;IAC7G,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAA;CAAE,CAAC;AAE7G,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAC5C,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,SAAS,CAAC,EAAE,uBAAuB,CAAC;IAC7C,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAC;IAC1H,QAAQ,CAAC,WAAW,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAA;KAAE,CAAC;IAC7G,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACzD,CAAC;AAEF,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AACrJ,YAAY,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,58 @@
1
+ import { Clock, Context, Effect, Layer, SubscriptionRef } from "effect";
2
+ import { ConnectionAccessService } from "../access/manager";
3
+ import type { ConnectionLifecycleSnapshot, ConnectionOptions, ConnectionPorts } from "./index";
4
+ import { type ConnectionDiagnostic, type ConnectionJoinTraceEvent } from "./diagnostics";
5
+ import { ConnectionPlatformService } from "./dependencies";
6
+ import { type ConnectionFailure } from "./types";
7
+ type InitialMedia = (intent: Readonly<{
8
+ microphone: boolean;
9
+ camera: boolean;
10
+ }>) => Effect.Effect<MediaStream, unknown>;
11
+ type LifecycleFailureCode = ConnectionFailure["code"];
12
+ declare const ConnectionLifecycleFailure_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
13
+ readonly _tag: "ConnectionLifecycleFailure";
14
+ } & Readonly<A>;
15
+ export declare class ConnectionLifecycleFailure extends ConnectionLifecycleFailure_base<{
16
+ readonly code: LifecycleFailureCode;
17
+ readonly recoverable: boolean;
18
+ readonly message: string;
19
+ readonly cause?: unknown;
20
+ }> {
21
+ }
22
+ export type ConnectionLifecycleCapability = {
23
+ readonly snapshotRef: SubscriptionRef.SubscriptionRef<ConnectionLifecycleSnapshot>;
24
+ readonly changes: typeof SubscriptionRef.changes<ConnectionLifecycleSnapshot>;
25
+ readonly getSnapshot: () => ConnectionLifecycleSnapshot;
26
+ readonly subscribe: (listener: () => void) => () => void;
27
+ readonly subscribePorts: (listener: (ports: ConnectionPorts | null) => void) => () => void;
28
+ readonly subscribeScreenEnded: (listener: () => void) => () => void;
29
+ readonly getDiagnostics: () => readonly ConnectionDiagnostic[];
30
+ readonly getJoinTrace: () => readonly ConnectionJoinTraceEvent[];
31
+ readonly setInitialMedia: (provider: InitialMedia) => Effect.Effect<void>;
32
+ readonly configureJoin: (intent: Readonly<{
33
+ microphone?: boolean;
34
+ camera?: boolean;
35
+ }>) => Effect.Effect<void, ConnectionLifecycleFailure>;
36
+ readonly getSyncToken: () => Effect.Effect<string, ConnectionLifecycleFailure>;
37
+ readonly confirmEpisodeEnded: Effect.Effect<void>;
38
+ readonly join: () => Effect.Effect<void, ConnectionLifecycleFailure>;
39
+ readonly leave: () => Effect.Effect<void, ConnectionLifecycleFailure>;
40
+ readonly runCommand: <A, E>(operation: (ports: ConnectionPorts) => Effect.Effect<A, E>) => Effect.Effect<A, ConnectionLifecycleFailure | E>;
41
+ readonly runPortCommand: <A, E>(operation: () => Effect.Effect<A, E>) => Effect.Effect<A, ConnectionLifecycleFailure | E>;
42
+ readonly nowUnsafe: () => number;
43
+ readonly scheduleUnsafe: (callback: () => void, milliseconds: number) => unknown;
44
+ readonly cancelScheduleUnsafe: (handle: unknown) => void;
45
+ readonly createId: () => string;
46
+ };
47
+ declare const ConnectionLifecycleService_base: Context.ServiceClass<ConnectionLifecycleService, "@chalk/client/ConnectionLifecycle", ConnectionLifecycleCapability>;
48
+ export declare class ConnectionLifecycleService extends ConnectionLifecycleService_base {
49
+ }
50
+ /**
51
+ * Effect-owned lifecycle actor. All mutable lifecycle state changes on its
52
+ * Queue; browser/media/sync callbacks only enqueue work back into the actor.
53
+ */
54
+ export declare const makeConnectionLifecycleLayer: (options: ConnectionOptions) => Layer.Layer<ConnectionLifecycleService, never>;
55
+ export declare const makeFakeConnectionLifecycleLayer: (options: ConnectionOptions) => Layer.Layer<ConnectionLifecycleService, never>;
56
+ export declare const makeConnectionLifecycleLayerFromServices: (options: Omit<ConnectionOptions, "access" | "dependencies">) => Layer.Layer<ConnectionLifecycleService, never, Clock.Clock | ConnectionAccessService | ConnectionPlatformService>;
57
+ export {};
58
+ //# sourceMappingURL=lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/connection/lifecycle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { ConnectionMediaDevices } from "./dependencies";
2
+ export declare function createBrowserMediaDevices(mediaDevices?: MediaDevices | undefined): ConnectionMediaDevices;
3
+ export declare function stopStream(stream: MediaStream | null | undefined): void;
4
+ export declare function streamFromTracks(tracks: readonly MediaStreamTrack[]): MediaStream;
5
+ export declare function requireDisplayVideoTrack(stream: MediaStream): MediaStreamTrack;
6
+ //# sourceMappingURL=media-devices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-devices.d.ts","sourceRoot":"","sources":["../../src/connection/media-devices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE7D,wBAAgB,yBAAyB,CAAC,YAAY,GAAE,YAAY,GAAG,SAA8C,GAAG,sBAAsB,CAe7I;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAEvE;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAAG,WAAW,CAEjF;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,WAAW,GAAG,gBAAgB,CAU9E"}
@@ -0,0 +1,13 @@
1
+ import { type ConnectionDependencies } from "./dependencies";
2
+ export declare function createDefaultConnectionDependencies(options: {
3
+ readonly apiBaseURL: string;
4
+ readonly syncURL: string;
5
+ readonly whiteboardURL?: string | null;
6
+ }): ConnectionDependencies;
7
+ /** Production foreign-adapter Layer. Tests replace it with makeFakeConnectionPlatformLayer. */
8
+ export declare const makeProductionConnectionPlatformLayer: (options: {
9
+ readonly apiBaseURL: string;
10
+ readonly syncURL: string;
11
+ readonly whiteboardURL?: string | null;
12
+ }) => import("effect/Layer").Layer<import("./dependencies").ConnectionPlatformService, never, never>;
13
+ //# sourceMappingURL=production.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"production.d.ts","sourceRoot":"","sources":["../../src/connection/production.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoE,KAAK,sBAAsB,EAA4G,MAAM,gBAAgB,CAAC;AAGzO,wBAAgB,mCAAmC,CAAC,OAAO,EAAE;IAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,sBAAsB,CAetL;AAED,+FAA+F;AAC/F,eAAO,MAAM,qCAAqC,YAAa;IAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,mGAA8E,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { CloudflareSFUSnapshot } from "../media";
2
+ import type { V1EpisodeSnapshot } from "../sync";
3
+ import type { AccessSubject } from "../access/grant";
4
+ import type { ChalkChatState, ChalkCollaborationCapability, ChalkIncomingMediaRequest, ChalkMediaSource, ChalkReactionEvent, ConnectionFailure, ConnectionSnapshot, ConnectionState, ChalkWhiteboardSummary } from "./types";
5
+ type ConnectionProjectionInput = {
6
+ readonly state: ConnectionState;
7
+ readonly subject: AccessSubject | null;
8
+ readonly sync: V1EpisodeSnapshot | null;
9
+ readonly media: CloudflareSFUSnapshot | null;
10
+ readonly localTracks: ReadonlyMap<ChalkMediaSource, MediaStreamTrack>;
11
+ readonly localIntent: Readonly<Record<"microphone" | "camera", boolean>>;
12
+ readonly failure: ConnectionFailure | null;
13
+ readonly collaboration?: ConnectionSnapshot["collaboration"];
14
+ readonly participantCollaborationCapabilities?: Readonly<Record<string, readonly ChalkCollaborationCapability[]>>;
15
+ readonly reactions?: readonly ChalkReactionEvent[];
16
+ readonly chat?: ChalkChatState;
17
+ readonly whiteboard?: ChalkWhiteboardSummary;
18
+ readonly incomingMediaRequests?: readonly ChalkIncomingMediaRequest[];
19
+ };
20
+ export declare function initialConnectionSnapshot(): ConnectionSnapshot;
21
+ export declare function projectConnectionSnapshot(input: ConnectionProjectionInput): ConnectionSnapshot;
22
+ export {};
23
+ //# sourceMappingURL=snapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../src/connection/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,4BAA4B,EAAE,yBAAyB,EAAmB,gBAAgB,EAA8B,kBAAkB,EAA6B,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AA+BrS,KAAK,yBAAyB,GAAG;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IACtE,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IACzE,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAC7D,QAAQ,CAAC,oCAAoC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,4BAA4B,EAAE,CAAC,CAAC,CAAC;IAClH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,sBAAsB,CAAC;IAC7C,QAAQ,CAAC,qBAAqB,CAAC,EAAE,SAAS,yBAAyB,EAAE,CAAC;CACvE,CAAC;AAIF,wBAAgB,yBAAyB,IAAI,kBAAkB,CAoB9D;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,yBAAyB,GAAG,kBAAkB,CAE9F"}