@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":"media-device-selection.d.ts","sourceRoot":"","sources":["../../src/space-client/media-device-selection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAGzE,KAAK,aAAa,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE7C,qBAAa,oBAAqB,YAAW,sBAAsB;;IAKjE,YAAY,OAAO,EAAE,sBAAsB,EAE1C;IAED,YAAY,CAAC,WAAW,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,CAEtE;IAED,eAAe,CAAC,WAAW,EAAE,yBAAyB,GAAG,OAAO,CAAC,WAAW,CAAC,CAE5E;IAED,gBAAgB,IAAI,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC,CAEtD;IAED,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAI3D;IAEK,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUnD;CACF"}
@@ -0,0 +1,33 @@
1
+ import { Context, Effect, Layer } from "effect";
2
+ import type { ConnectionLifecycleCapability } from "../connection";
3
+ import type { EpisodeDiagnosticRuntime } from "./episode-diagnostic-runtime";
4
+ import { SpaceClientError } from "./errors";
5
+ import { SpaceStore } from "./store";
6
+ import type { MediaRequestKind } from "./types";
7
+ export declare const CAPABILITIES: Set<"assignRoles" | "clearSpaceContent" | "drawWhiteboard" | "endEpisode" | "extendEpisode" | "manageAdmission" | "manageMembers" | "manageRecording" | "manageWhiteboard" | "muteOthers" | "publishAudio" | "publishScreen" | "publishVideo" | "raiseHand" | "removeParticipant" | "renameSelf" | "requestMediaOthers" | "sendChat" | "sendReaction" | "startEpisode" | "stopScreenOthers" | "stopVideoOthers" | "subscribe">;
8
+ type ClientEffect<A> = Effect.Effect<A, SpaceClientError>;
9
+ export type ParticipantsControllerEffects = {
10
+ readonly assignRole: (participantId: string, roleName: string) => ClientEffect<void>;
11
+ readonly mute: (participantId: string) => ClientEffect<void>;
12
+ readonly stopVideo: (participantId: string) => ClientEffect<void>;
13
+ readonly stopScreenShare: (participantId: string) => ClientEffect<void>;
14
+ readonly requestMedia: (participantId: string, kind: MediaRequestKind) => ClientEffect<{
15
+ readonly status: "delivered" | "expired" | "rate_limited" | "rejected" | "target_unavailable";
16
+ readonly requestId: string;
17
+ }>;
18
+ readonly remove: (participantId: string) => ClientEffect<void>;
19
+ readonly admit: (requestId: string) => ClientEffect<void>;
20
+ readonly deny: (requestId: string) => ClientEffect<void>;
21
+ readonly raiseHand: () => ClientEffect<void>;
22
+ readonly lowerHand: () => ClientEffect<void>;
23
+ readonly renameSelf: (displayName: string) => ClientEffect<void>;
24
+ readonly dispose: () => void;
25
+ };
26
+ declare const ParticipantsControllerService_base: Context.ServiceClass<ParticipantsControllerService, "@chalk/client/ParticipantsController", ParticipantsControllerEffects>;
27
+ export declare class ParticipantsControllerService extends ParticipantsControllerService_base {
28
+ }
29
+ /** Scoped owner of participant subscriptions and native port commands. */
30
+ export declare const makeParticipantsController: (connection: ConnectionLifecycleCapability, store: SpaceStore, diagnostics?: EpisodeDiagnosticRuntime) => Effect.Effect<ParticipantsControllerEffects, never, import("effect").Scope.Scope>;
31
+ export declare const makeParticipantsControllerLayer: (connection: ConnectionLifecycleCapability, store: SpaceStore, diagnostics?: EpisodeDiagnosticRuntime) => Layer.Layer<ParticipantsControllerService, never, never>;
32
+ export {};
33
+ //# sourceMappingURL=participants-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"participants-controller.d.ts","sourceRoot":"","sources":["../../src/space-client/participants-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,KAAK,EAAE,6BAA6B,EAAmB,MAAM,eAAe,CAAC;AAEpF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAwB,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,KAAK,EAAc,gBAAgB,EAAgC,MAAM,SAAS,CAAC;AAE1F,eAAO,MAAM,YAAY,gaAAuC,CAAC;AAGjE,KAAK,YAAY,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAE1D,MAAM,MAAM,6BAA6B,GAAG;IAC1C,QAAQ,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IACrF,QAAQ,CAAC,IAAI,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7D,QAAQ,CAAC,SAAS,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IAClE,QAAQ,CAAC,eAAe,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IACxE,QAAQ,CAAC,YAAY,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,KAAK,YAAY,CAAC;QAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,cAAc,GAAG,UAAU,GAAG,oBAAoB,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtN,QAAQ,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/D,QAAQ,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1D,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IACzD,QAAQ,CAAC,SAAS,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7C,QAAQ,CAAC,SAAS,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7C,QAAQ,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IACjE,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;;AAEF,qBAAa,6BAA8B,SAAQ,kCAAuH;CAAG;AAE7K,0EAA0E;AAC1E,eAAO,MAAM,0BAA0B,eAAgB,6BAA6B,SAAS,UAAU,gBAAgB,wBAAwB,KAAG,MAAM,CAAC,MAAM,CAAC,6BAA6B,EAAE,KAAK,EAAE,OAAO,QAAQ,EAAE,KAAK,CAAC,KAAK,CAI/N,CAAC;AAEJ,eAAO,MAAM,+BAA+B,eAAgB,6BAA6B,SAAS,UAAU,gBAAgB,wBAAwB,6DAA4G,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { Effect } from "effect";
2
+ type ControllerCommand = (...args: any[]) => unknown;
3
+ type PromiseRuntime = {
4
+ readonly runPromise: (effect: Effect.Effect<any, any, any>) => Promise<any>;
5
+ };
6
+ export type PromiseCommand<Command> = Command extends (...args: infer Arguments) => infer Result ? (Result extends Effect.Effect<infer Success, any, any> ? (...args: Arguments) => Promise<Success> : (...args: Arguments) => Result) : never;
7
+ export type PromiseController<Controller extends Record<string, ControllerCommand>> = {
8
+ readonly [Key in keyof Controller]: PromiseCommand<Controller[Key]>;
9
+ };
10
+ export declare function toPromiseController<Controller extends Record<string, ControllerCommand>>(runtime: PromiseRuntime, controller: Controller): PromiseController<Omit<Controller, "configure" | "dispose">>;
11
+ export {};
12
+ //# sourceMappingURL=promise-facade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise-facade.d.ts","sourceRoot":"","sources":["../../src/space-client/promise-facade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,KAAK,iBAAiB,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC;AACrD,KAAK,cAAc,GAAG;IAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;CAAE,CAAC;AAEtG,MAAM,MAAM,cAAc,CAAC,OAAO,IAAI,OAAO,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,SAAS,KAAK,MAAM,MAAM,GAAG,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC,GAAG,KAAK,CAAC;AAE/O,MAAM,MAAM,iBAAiB,CAAC,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAAI;IACpF,QAAQ,EAAE,GAAG,IAAI,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;CACpE,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,SAAS,CAAC,CAAC,CAUvM"}
@@ -0,0 +1,19 @@
1
+ import { Clock, Context, Effect, Layer, Scope } from "effect";
2
+ import type { ConnectionLifecycleCapability } from "../connection";
3
+ import type { EpisodeDiagnosticRuntime } from "./episode-diagnostic-runtime";
4
+ import { SpaceClientError } from "./errors";
5
+ import { SpaceStore } from "./store";
6
+ import type { ActiveReaction, Reaction } from "./types";
7
+ type ClientEffect<A> = Effect.Effect<A, SpaceClientError>;
8
+ export type ReactionsControllerEffects = {
9
+ readonly send: (emoji: Reaction) => ClientEffect<ActiveReaction>;
10
+ readonly dispose: () => void;
11
+ };
12
+ declare const ReactionsControllerService_base: Context.ServiceClass<ReactionsControllerService, "@chalk/client/ReactionsController", ReactionsControllerEffects>;
13
+ export declare class ReactionsControllerService extends ReactionsControllerService_base {
14
+ }
15
+ /** Reaction expiry fibers are owned by the active client Scope. */
16
+ export declare const makeReactionsController: (connection: ConnectionLifecycleCapability, store: SpaceStore, diagnostics?: EpisodeDiagnosticRuntime) => Effect.Effect<ReactionsControllerEffects, never, Clock.Clock | Scope.Scope>;
17
+ export declare const makeReactionsControllerLayer: (connection: ConnectionLifecycleCapability, store: SpaceStore, diagnostics?: EpisodeDiagnosticRuntime) => Layer.Layer<ReactionsControllerService, never, Clock.Clock>;
18
+ export {};
19
+ //# sourceMappingURL=reactions-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactions-controller.d.ts","sourceRoot":"","sources":["../../src/space-client/reactions-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,KAAK,EAAE,6BAA6B,EAAmB,MAAM,eAAe,CAAC;AACpF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAwB,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIxD,KAAK,YAAY,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAE1D,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,YAAY,CAAC,cAAc,CAAC,CAAC;IACjE,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;;AAEF,qBAAa,0BAA2B,SAAQ,+BAA8G;CAAG;AAEjK,mEAAmE;AACnE,eAAO,MAAM,uBAAuB,eAAgB,6BAA6B,SAAS,UAAU,gBAAgB,wBAAwB,KAAG,MAAM,CAAC,MAAM,CAAC,0BAA0B,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAWrN,CAAC;AAEL,eAAO,MAAM,4BAA4B,eAAgB,6BAA6B,SAAS,UAAU,gBAAgB,wBAAwB,gEAAsG,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { type SpaceClientPlatform } from "./core";
2
+ import type { SpaceClient, SpaceClientOptions } from "./types";
3
+ export declare function createSpaceClient(options: SpaceClientOptions): SpaceClient;
4
+ export declare function createSpaceClientForPlatform(options: SpaceClientOptions, platform: SpaceClientPlatform): SpaceClient;
5
+ //# sourceMappingURL=space-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"space-client.d.ts","sourceRoot":"","sources":["../../src/space-client/space-client.ts"],"names":[],"mappings":"AACA,OAAO,EAA0E,KAAK,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE1H,OAAO,KAAK,EAAuC,WAAW,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AA2CpG,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,WAAW,CAE1E;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,mBAAmB,GAAG,WAAW,CAEpH"}
@@ -0,0 +1,29 @@
1
+ import { Context, Effect, Layer, Stream, SubscriptionRef } from "effect";
2
+ import type { ConnectionLifecycleSnapshot } from "../connection";
3
+ import type { ChatSlice, MediaSlice, ParticipantsSlice, ReactionsSlice, SelfSlice, SpaceSnapshot, WhiteboardSlice } from "./types";
4
+ export declare class SpaceStore {
5
+ #private;
6
+ constructor(ref?: SubscriptionRef.SubscriptionRef<SpaceSnapshot>);
7
+ /** Builds the store inside a Layer without executing an Effect at module load. */
8
+ static make(): Effect.Effect<SpaceStore>;
9
+ getSnapshot: () => SpaceSnapshot;
10
+ /** Every snapshot change, including the current value, for Effect consumers. */
11
+ get changes(): Stream.Stream<SpaceSnapshot>;
12
+ subscribe: (listener: () => void) => (() => void);
13
+ updateConnection(snapshot: ConnectionLifecycleSnapshot): void;
14
+ updateSelf(value: SelfSlice): void;
15
+ updateParticipants(value: ParticipantsSlice): void;
16
+ updateMedia(value: MediaSlice): void;
17
+ updateChat(value: ChatSlice): void;
18
+ updateReactions(value: ReactionsSlice): void;
19
+ updateWhiteboard(value: WhiteboardSlice): void;
20
+ select(kind: keyof MediaSlice["selection"], deviceId: string): void;
21
+ }
22
+ declare const SpaceStoreService_base: Context.ServiceClass<SpaceStoreService, "@chalk/client/SpaceStore", SpaceStore>;
23
+ /** Store capability shared by the Effect-native client composition. */
24
+ export declare class SpaceStoreService extends SpaceStoreService_base {
25
+ }
26
+ export declare const makeSpaceStoreLayer: Layer.Layer<SpaceStoreService, never, never>;
27
+ export declare const makeFakeSpaceStoreLayer: (store?: SpaceStore) => Layer.Layer<SpaceStoreService, never, never>;
28
+ export {};
29
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/space-client/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAmB,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAoBpJ,qBAAa,UAAU;;IAIrB,YAAY,GAAG,CAAC,EAAE,eAAe,CAAC,eAAe,CAAC,aAAa,CAAC,EAE/D;IAED,kFAAkF;IAClF,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAEvC;IAED,WAAW,QAAO,aAAa,CAAyC;IACxE,gFAAgF;IAChF,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAE1C;IACD,SAAS,aAAc,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAG9C;IACF,gBAAgB,CAAC,QAAQ,EAAE,2BAA2B,GAAG,IAAI,CAK5D;IACD,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAEjC;IACD,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAEjD;IACD,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAEnC;IACD,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAEjC;IACD,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAE3C;IACD,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAE7C;IACD,MAAM,CAAC,IAAI,EAAE,MAAM,UAAU,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAGlE;CAcF;;AAED,uEAAuE;AACvE,qBAAa,iBAAkB,SAAQ,sBAA4E;CAAG;AAEtH,eAAO,MAAM,mBAAmB,8CAAqD,CAAC;AACtF,eAAO,MAAM,uBAAuB,sEAAwE,CAAC"}
@@ -0,0 +1,222 @@
1
+ import type { TelemetryClientOptions } from "../telemetry/client";
2
+ import type { MediaSource } from "../media/plane";
3
+ import type { ChalkChatAttachment, ChalkChatMessage, ChalkChatReadReceipt, ChalkIncomingMediaRequest, ChalkParticipantMediaState, ChalkReaction, ChalkReactionEvent } from "../collaboration/types";
4
+ import type { ChalkWhiteboardV1Failure } from "../whiteboard/types";
5
+ import type { AccessGrant } from "../access/grant";
6
+ import type { V1Capability } from "../sync/v1-types";
7
+ import type { ChatControllerEffects } from "./chat-controller";
8
+ import type { MediaControllerEffects } from "./media-controller";
9
+ import type { ParticipantsControllerEffects } from "./participants-controller";
10
+ import type { ReactionsControllerEffects } from "./reactions-controller";
11
+ import type { WhiteboardControllerEffects } from "./whiteboard-controller";
12
+ import type { PromiseController } from "./promise-facade";
13
+ export type AccessReason = "join" | "refresh" | "retry";
14
+ export type AccessContext = {
15
+ readonly space: string;
16
+ readonly reason: AccessReason;
17
+ };
18
+ export type GetAccess = (context: AccessContext) => Promise<AccessGrant>;
19
+ export type Logger = {
20
+ readonly debug?: (message: string, attributes?: Readonly<Record<string, unknown>>) => void;
21
+ readonly info?: (message: string, attributes?: Readonly<Record<string, unknown>>) => void;
22
+ readonly warn?: (message: string, attributes?: Readonly<Record<string, unknown>>) => void;
23
+ readonly error?: (message: string, attributes?: Readonly<Record<string, unknown>>) => void;
24
+ };
25
+ export type SpaceClientOptions = {
26
+ readonly space: string;
27
+ readonly getAccess: GetAccess;
28
+ readonly baseUrl?: string;
29
+ readonly logger?: Logger;
30
+ readonly telemetry?: TelemetryClientOptions;
31
+ };
32
+ export type JoinOptions = {
33
+ readonly displayName?: string;
34
+ readonly microphone?: boolean;
35
+ readonly camera?: boolean;
36
+ };
37
+ export type ConnectionStatus = "idle" | "joining" | "live" | "reconnecting" | "leaving" | "left" | "failed";
38
+ export type Capability = V1Capability;
39
+ export type ErrorCode = "access.invalid" | "access.unavailable" | "chat.cursor_reset_required" | "chat.payload_invalid" | "client.internal_error" | "collaboration.unavailable" | "command.rate_limited" | "command.rejected" | "connection.invalid_state" | "connection.join_cleanup_unconfirmed" | "connection.leave_unconfirmed" | "connection.media_recovery_exhausted" | "connection.media_start_failed" | "connection.sync_recovery_exhausted" | "connection.sync_start_failed" | "environment.unsupported" | "episode.ended" | "media.permission_denied" | "media.request_invalid" | "participant.invalid" | "reaction.invalid" | "whiteboard.unavailable";
40
+ export type ClientFailure = {
41
+ readonly code: ErrorCode;
42
+ readonly recoverable: boolean;
43
+ readonly message: string;
44
+ };
45
+ export type EpisodeSummary = {
46
+ readonly id: string;
47
+ readonly startedAt: string | null;
48
+ readonly deadline: string | null;
49
+ };
50
+ export type ConnectionSlice = {
51
+ readonly status: ConnectionStatus;
52
+ readonly episode: EpisodeSummary | null;
53
+ readonly lastError: ClientFailure | null;
54
+ };
55
+ export type SelfSlice = {
56
+ readonly participantId: string | null;
57
+ readonly displayName: string | null;
58
+ readonly role: string | null;
59
+ readonly capabilities: readonly Capability[];
60
+ readonly handRaised: boolean;
61
+ readonly can: (capability: Capability) => boolean;
62
+ };
63
+ export type Participant = {
64
+ readonly participantId: string;
65
+ readonly displayName: string;
66
+ readonly role: string;
67
+ readonly eligibleRoles: readonly string[];
68
+ readonly capabilities: readonly Capability[];
69
+ readonly handRaised: boolean;
70
+ readonly media: ChalkParticipantMediaState;
71
+ };
72
+ export type AdmissionRequest = {
73
+ readonly requestId: string;
74
+ readonly participantId: string;
75
+ readonly displayName: string;
76
+ readonly initialRole: string;
77
+ readonly eligibleRoles: readonly string[];
78
+ readonly expiresAt: string;
79
+ };
80
+ export type ParticipantsSlice = {
81
+ readonly roster: readonly Participant[];
82
+ readonly admissionQueue: readonly AdmissionRequest[];
83
+ };
84
+ export type MediaDevice = {
85
+ readonly deviceId: string;
86
+ readonly label: string;
87
+ };
88
+ export type LocalMedia = {
89
+ readonly source: MediaSource;
90
+ readonly state: "unavailable" | "requesting" | "enabled" | "disabled" | "failed";
91
+ readonly track: MediaStreamTrack | null;
92
+ };
93
+ export type RemoteMedia = {
94
+ readonly participantId: string;
95
+ readonly source: MediaSource;
96
+ readonly publicationId: string;
97
+ readonly track: MediaStreamTrack;
98
+ };
99
+ export type IncomingMediaRequest = ChalkIncomingMediaRequest;
100
+ export type MediaSlice = {
101
+ readonly devices: {
102
+ readonly microphones: readonly MediaDevice[];
103
+ readonly cameras: readonly MediaDevice[];
104
+ readonly speakers: readonly MediaDevice[];
105
+ };
106
+ readonly selection: {
107
+ readonly microphone: string | null;
108
+ readonly camera: string | null;
109
+ readonly speaker: string | null;
110
+ };
111
+ readonly local: Readonly<Record<MediaSource, LocalMedia>>;
112
+ readonly remote: readonly RemoteMedia[];
113
+ readonly screenShare: LocalMedia;
114
+ readonly incomingRequests: readonly IncomingMediaRequest[];
115
+ };
116
+ export type ChatAttachment = ChalkChatAttachment;
117
+ export type ChatMessage = ChalkChatMessage;
118
+ export type ChatReadReceipt = ChalkChatReadReceipt;
119
+ export type PendingChatSend = {
120
+ readonly clientMessageId: string;
121
+ readonly text: string;
122
+ readonly attachments: readonly ChatAttachment[];
123
+ readonly status: "sending" | "failed";
124
+ readonly error: ClientFailure | null;
125
+ };
126
+ export type ChatSlice = {
127
+ readonly status: "idle" | "loading" | "ready" | "failed";
128
+ readonly messages: readonly ChatMessage[];
129
+ readonly pendingSends: readonly PendingChatSend[];
130
+ readonly readReceipts: readonly ChatReadReceipt[];
131
+ readonly unreadCount: number;
132
+ readonly pagination: {
133
+ readonly cursor: string | null;
134
+ readonly hasOlder: boolean;
135
+ readonly historyTruncated: boolean;
136
+ };
137
+ readonly lastError: ClientFailure | null;
138
+ };
139
+ export type Reaction = ChalkReaction;
140
+ export type ActiveReaction = ChalkReactionEvent;
141
+ export type ReactionsSlice = {
142
+ readonly active: readonly ActiveReaction[];
143
+ };
144
+ export type WhiteboardSlice = {
145
+ readonly open: boolean;
146
+ readonly engine: {
147
+ readonly status: "unsubscribed" | "loading" | "ready" | "recovering" | "failed";
148
+ readonly sceneId: string | null;
149
+ readonly revision: string | null;
150
+ readonly error: ChalkWhiteboardV1Failure | null;
151
+ };
152
+ };
153
+ export type SpaceSnapshot = {
154
+ readonly connection: ConnectionSlice;
155
+ readonly self: SelfSlice;
156
+ readonly participants: ParticipantsSlice;
157
+ readonly media: MediaSlice;
158
+ readonly chat: ChatSlice;
159
+ readonly reactions: ReactionsSlice;
160
+ readonly whiteboard: WhiteboardSlice;
161
+ };
162
+ export type ChatSendInput = {
163
+ readonly text: string;
164
+ readonly attachments?: readonly ChatAttachment[];
165
+ };
166
+ export type MediaRequestKind = "microphone" | "camera";
167
+ export type ChatUploadFile = {
168
+ readonly name: string;
169
+ readonly type: string;
170
+ readonly size: number;
171
+ readonly arrayBuffer: () => Promise<ArrayBuffer>;
172
+ } | {
173
+ readonly fileName: string;
174
+ readonly mimeType: string;
175
+ readonly bytes: ArrayBuffer;
176
+ };
177
+ export type MediaController = PromiseController<Omit<MediaControllerEffects, "configure" | "dispose">>;
178
+ export type ChatFilesController = PromiseController<Pick<ChatControllerEffects, "upload" | "url">>;
179
+ export type ChatController = PromiseController<Omit<ChatControllerEffects, "upload" | "url" | "dispose">> & {
180
+ readonly files: ChatFilesController;
181
+ };
182
+ export type ParticipantsController = PromiseController<Omit<ParticipantsControllerEffects, "dispose">>;
183
+ export type ReactionsController = PromiseController<Omit<ReactionsControllerEffects, "dispose">>;
184
+ export type WhiteboardController = PromiseController<Omit<WhiteboardControllerEffects, "dispose">>;
185
+ export type ClientEventMap = {
186
+ readonly participantJoined: {
187
+ readonly participant: Participant;
188
+ };
189
+ readonly participantLeft: {
190
+ readonly participant: Participant;
191
+ };
192
+ readonly episodeEnded: {
193
+ readonly episode: EpisodeSummary | null;
194
+ };
195
+ readonly screenShareStarted: {
196
+ readonly participantId: string;
197
+ };
198
+ readonly screenShareStopped: {
199
+ readonly participantId: string;
200
+ };
201
+ readonly error: {
202
+ readonly error: import("./errors").SpaceClientError;
203
+ };
204
+ };
205
+ export type ClientEventName = keyof ClientEventMap;
206
+ export type ClientEventHandler<TEvent extends ClientEventName> = (event: ClientEventMap[TEvent]) => void;
207
+ export type SpaceClient = {
208
+ readonly media: MediaController;
209
+ readonly chat: ChatController;
210
+ readonly participants: ParticipantsController;
211
+ readonly reactions: ReactionsController;
212
+ readonly whiteboard: WhiteboardController;
213
+ readonly join: (options?: JoinOptions) => Promise<void>;
214
+ readonly leave: () => Promise<void>;
215
+ readonly dispose: () => void;
216
+ readonly subscribe: (listener: () => void) => () => void;
217
+ readonly getSnapshot: () => SpaceSnapshot;
218
+ readonly endEpisode: () => Promise<void>;
219
+ readonly extendEpisode: (minutes: number) => Promise<void>;
220
+ readonly on: <TEvent extends ClientEventName>(event: TEvent, handler: ClientEventHandler<TEvent>) => () => void;
221
+ };
222
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/space-client/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { Context, Effect, Layer } from "effect";
2
+ import type { ConnectionLifecycleCapability } from "../connection";
3
+ import type { ConnectionWhiteboardFactoryInput } from "../connection/dependencies";
4
+ import type { ChalkWhiteboardV1Transport } from "../whiteboard/types";
5
+ import { SpaceStore } from "./store";
6
+ export type WhiteboardControllerEffects = {
7
+ readonly transport: () => ChalkWhiteboardV1Transport | null;
8
+ readonly dispose: () => void;
9
+ };
10
+ declare const WhiteboardControllerService_base: Context.ServiceClass<WhiteboardControllerService, "@chalk/client/WhiteboardController", WhiteboardControllerEffects>;
11
+ export declare class WhiteboardControllerService extends WhiteboardControllerService_base {
12
+ }
13
+ /** The whiteboard transport is a foreign port; lifecycle and cleanup stay scoped. */
14
+ export declare const makeWhiteboardController: (connection: ConnectionLifecycleCapability, store: SpaceStore, create?: (input: ConnectionWhiteboardFactoryInput) => ChalkWhiteboardV1Transport | null) => Effect.Effect<WhiteboardControllerEffects, never, import("effect").Scope.Scope>;
15
+ export declare const makeWhiteboardControllerLayer: (connection: ConnectionLifecycleCapability, store: SpaceStore, create?: (input: ConnectionWhiteboardFactoryInput) => ChalkWhiteboardV1Transport | null) => Layer.Layer<WhiteboardControllerService, never, never>;
16
+ export {};
17
+ //# sourceMappingURL=whiteboard-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whiteboard-controller.d.ts","sourceRoot":"","sources":["../../src/space-client/whiteboard-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,KAAK,EAAE,6BAA6B,EAAmB,MAAM,eAAe,CAAC;AACpF,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AACnF,OAAO,KAAK,EAA0B,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAKrC,MAAM,MAAM,2BAA2B,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,0BAA0B,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;;AACxI,qBAAa,2BAA4B,SAAQ,gCAAiH;CAAG;AAErK,qFAAqF;AACrF,eAAO,MAAM,wBAAwB,eAAgB,6BAA6B,SAAS,UAAU,WAAW,CAAC,KAAK,EAAE,gCAAgC,KAAK,0BAA0B,GAAG,IAAI,KAAG,MAAM,CAAC,MAAM,CAAC,2BAA2B,EAAE,KAAK,EAAE,OAAO,QAAQ,EAAE,KAAK,CAAC,KAAK,CAe3Q,CAAC;AAEL,eAAO,MAAM,6BAA6B,eAAgB,6BAA6B,SAAS,UAAU,WAAW,CAAC,KAAK,EAAE,gCAAgC,KAAK,0BAA0B,GAAG,IAAI,2DAAmG,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { SyncLifecycle, SyncWebSocketFactory } from "./types";
2
+ export type BrowserWebSocketConstructor = new (url: string) => WebSocket;
3
+ export type BrowserLifecycleEnvironment = {
4
+ readonly window: Pick<Window, "addEventListener" | "removeEventListener">;
5
+ readonly navigator?: Pick<Navigator, "onLine">;
6
+ };
7
+ export declare function createBrowserWebSocketFactory(WebSocketConstructor?: BrowserWebSocketConstructor): SyncWebSocketFactory;
8
+ export declare function createBrowserSyncLifecycle(environment?: BrowserLifecycleEnvironment): SyncLifecycle;
9
+ //# sourceMappingURL=browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/sync/browser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAc,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/E,MAAM,MAAM,2BAA2B,GAAG,KAAK,GAAG,EAAE,MAAM,KAAK,SAAS,CAAC;AAEzE,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,kBAAkB,GAAG,qBAAqB,CAAC,CAAC;IAC1E,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;CAChD,CAAC;AAEF,wBAAgB,6BAA6B,CAAC,oBAAoB,CAAC,EAAE,2BAA2B,GAAG,oBAAoB,CAUtH;AAED,wBAAgB,0BAA0B,CAAC,WAAW,8BAAgC,GAAG,aAAa,CAerG"}
@@ -0,0 +1,7 @@
1
+ export type CanonicalJson = null | boolean | number | string | readonly CanonicalJson[] | {
2
+ readonly [key: string]: CanonicalJson;
3
+ };
4
+ export declare function canonicalJson(value: CanonicalJson): string;
5
+ export declare function canonicalJsonBytes(value: CanonicalJson): Uint8Array;
6
+ export declare function canonicalJsonBytesFromUnknown(value: unknown): Uint8Array;
7
+ //# sourceMappingURL=canonical.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonical.d.ts","sourceRoot":"","sources":["../../src/sync/canonical.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,aAAa,EAAE,GAAG;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,aAAa,CAAA;CAAE,CAAC;AAEpI,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAE1D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,UAAU,CAEnE;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAExE"}
@@ -0,0 +1,9 @@
1
+ export declare class SyncBrowserCapabilityError extends Error {
2
+ readonly _tag = "SyncBrowserCapabilityError";
3
+ constructor(capability: "WebSocket" | "browser lifecycle");
4
+ }
5
+ export declare class SyncReactNativeCapabilityError extends Error {
6
+ readonly _tag = "SyncReactNativeCapabilityError";
7
+ constructor(capability: "WebSocket");
8
+ }
9
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/sync/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,IAAI,gCAAgC;IAE7C,YAAY,UAAU,EAAE,WAAW,GAAG,mBAAmB,EAGxD;CACF;AAED,qBAAa,8BAA+B,SAAQ,KAAK;IACvD,QAAQ,CAAC,IAAI,oCAAoC;IAEjD,YAAY,UAAU,EAAE,WAAW,EAGlC;CACF"}
@@ -0,0 +1,13 @@
1
+ export { canonicalJson, canonicalJsonBytes } from "./canonical";
2
+ export { createBrowserSyncLifecycle, createBrowserWebSocketFactory, type BrowserLifecycleEnvironment, type BrowserWebSocketConstructor } from "./browser";
3
+ export { SyncBrowserCapabilityError, SyncReactNativeCapabilityError } from "./errors";
4
+ export { createReactNativeSyncLifecycle, createReactNativeWebSocketFactory, type ReactNativeAppState, type ReactNativeAsyncStorage, type ReactNativeEventSubscription, type ReactNativeLifecycleEnvironment, type ReactNativeNetworkInfo, type ReactNativeNetworkState, type ReactNativeWebSocket, type ReactNativeWebSocketCloseEvent, type ReactNativeWebSocketConstructor, } from "./react-native";
5
+ export { V1SyncClient, V1SyncError } from "./v1-client";
6
+ export { createV1SyncClient, type CreateV1SyncClientOptions } from "./v1-create";
7
+ export { decodeV1ClientFrame, decodeV1ServerFrame, encodeV1ClientFrame } from "./v1-codec";
8
+ export type { V1ChatCursor, V1CollaborationClient, V1CollaborationEvent, V1CollaborationExtensionRequest, V1CollaborationExtensionState } from "./v1-types";
9
+ export { InMemoryV1PendingTargetStore } from "./v1-persistence";
10
+ export { AsyncStorageV1PendingTargetStore, IndexedDbV1PendingTargetStore, type AsyncStorageV1PendingTargetStoreOptions, type IndexedDbV1PendingTargetStoreOptions } from "./v1-platform-persistence";
11
+ export { applyV1Event, assertV1ControlSemantics, computeV1StateDigest, optimisticV1Control, restoreV1Snapshot, V1ReplicaError } from "./v1-reducer";
12
+ export type { V1AdmissionPolicy, V1AdmissionRequest, V1AssignableRole, V1Capability, V1ClientMediaPlane, V1CommandResult, V1ConnectionPhase, V1ControlState, V1DirectedRequest, V1DirectedRequestResult, V1LiveTargetResult, V1MediaPlaneOutcome, V1MediaPlaneResult, V1MediaPlaneTarget, V1MediaPublication, V1MediaSource, V1Participant, V1PendingTarget, V1PendingTargetStore, V1Presence, V1Projection, V1Recording, V1Role, V1SelfMediaTargetResult, V1EpisodeSnapshot, V1SyncClientOptions, V1TargetCommand, } from "./v1-types";
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,KAAK,2BAA2B,EAAE,KAAK,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAC1J,OAAO,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAC;AACtF,OAAO,EACL,8BAA8B,EAC9B,iCAAiC,EACjC,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,4BAA4B,EACjC,KAAK,+BAA+B,EACpC,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,8BAA8B,EACnC,KAAK,+BAA+B,GACrC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC3F,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAC5J,OAAO,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,gCAAgC,EAAE,6BAA6B,EAAE,KAAK,uCAAuC,EAAE,KAAK,oCAAoC,EAAE,MAAM,2BAA2B,CAAC;AACrM,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACpJ,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,UAAU,EACV,YAAY,EACZ,WAAW,EACX,MAAM,EACN,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,GAChB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,51 @@
1
+ import {
2
+ AsyncStorageV1PendingTargetStore,
3
+ InMemoryV1PendingTargetStore,
4
+ IndexedDbV1PendingTargetStore,
5
+ SyncBrowserCapabilityError,
6
+ SyncReactNativeCapabilityError,
7
+ V1ReplicaError,
8
+ V1SyncClient,
9
+ V1SyncError,
10
+ applyV1Event,
11
+ assertV1ControlSemantics,
12
+ canonicalJson,
13
+ canonicalJsonBytes,
14
+ computeV1StateDigest,
15
+ createBrowserSyncLifecycle,
16
+ createBrowserWebSocketFactory,
17
+ createReactNativeSyncLifecycle,
18
+ createReactNativeWebSocketFactory,
19
+ createV1SyncClient,
20
+ decodeV1ClientFrame,
21
+ decodeV1ServerFrame,
22
+ encodeV1ClientFrame,
23
+ optimisticV1Control,
24
+ restoreV1Snapshot
25
+ } from "../chunk-5VXGLI3T.js";
26
+ import "../chunk-PBSYXPNJ.js";
27
+ export {
28
+ AsyncStorageV1PendingTargetStore,
29
+ InMemoryV1PendingTargetStore,
30
+ IndexedDbV1PendingTargetStore,
31
+ SyncBrowserCapabilityError,
32
+ SyncReactNativeCapabilityError,
33
+ V1ReplicaError,
34
+ V1SyncClient,
35
+ V1SyncError,
36
+ applyV1Event,
37
+ assertV1ControlSemantics,
38
+ canonicalJson,
39
+ canonicalJsonBytes,
40
+ computeV1StateDigest,
41
+ createBrowserSyncLifecycle,
42
+ createBrowserWebSocketFactory,
43
+ createReactNativeSyncLifecycle,
44
+ createReactNativeWebSocketFactory,
45
+ createV1SyncClient,
46
+ decodeV1ClientFrame,
47
+ decodeV1ServerFrame,
48
+ encodeV1ClientFrame,
49
+ optimisticV1Control,
50
+ restoreV1Snapshot
51
+ };
@@ -0,0 +1,42 @@
1
+ import type { SyncLifecycle, SyncWebSocketFactory } from "./types";
2
+ export type ReactNativeAsyncStorage = {
3
+ getItem(key: string): Promise<string | null>;
4
+ setItem(key: string, value: string): Promise<void>;
5
+ removeItem(key: string): Promise<void>;
6
+ };
7
+ export type ReactNativeWebSocketCloseEvent = {
8
+ readonly code?: unknown;
9
+ readonly reason?: unknown;
10
+ };
11
+ export type ReactNativeWebSocket = {
12
+ onopen: ((event: unknown) => void) | null;
13
+ onmessage: ((event: {
14
+ readonly data: unknown;
15
+ }) => void) | null;
16
+ onclose: ((event: ReactNativeWebSocketCloseEvent) => void) | null;
17
+ onerror: ((event: unknown) => void) | null;
18
+ send(data: string): void;
19
+ close(code?: number, reason?: string): void;
20
+ };
21
+ export type ReactNativeWebSocketConstructor = new (url: string) => ReactNativeWebSocket;
22
+ export declare function createReactNativeWebSocketFactory(WebSocketConstructor?: ReactNativeWebSocketConstructor): SyncWebSocketFactory;
23
+ export type ReactNativeEventSubscription = (() => void) | {
24
+ remove(): void;
25
+ };
26
+ export type ReactNativeAppState = {
27
+ readonly currentState: string | null | undefined;
28
+ addEventListener(type: "change", listener: (state: string) => void): ReactNativeEventSubscription;
29
+ };
30
+ export type ReactNativeNetworkState = {
31
+ readonly isConnected: boolean | null;
32
+ readonly isInternetReachable?: boolean | null;
33
+ };
34
+ export type ReactNativeNetworkInfo = {
35
+ addEventListener(listener: (state: ReactNativeNetworkState) => void): ReactNativeEventSubscription;
36
+ };
37
+ export type ReactNativeLifecycleEnvironment = {
38
+ readonly appState: ReactNativeAppState;
39
+ readonly networkInfo?: ReactNativeNetworkInfo;
40
+ };
41
+ export declare function createReactNativeSyncLifecycle(environment: ReactNativeLifecycleEnvironment): SyncLifecycle;
42
+ //# sourceMappingURL=react-native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react-native.d.ts","sourceRoot":"","sources":["../../src/sync/react-native.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAc,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/E,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1C,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAChE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,8BAA8B,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAClE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3C,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,KAAK,GAAG,EAAE,MAAM,KAAK,oBAAoB,CAAC;AAExF,wBAAgB,iCAAiC,CAAC,oBAAoB,CAAC,EAAE,+BAA+B,GAAG,oBAAoB,CAY9H;AAED,MAAM,MAAM,4BAA4B,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG;IAAE,MAAM,IAAI,IAAI,CAAA;CAAE,CAAC;AAE7E,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACjD,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,4BAA4B,CAAC;CACnG,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,GAAG,4BAA4B,CAAC;CACpG,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,sBAAsB,CAAC;CAC/C,CAAC;AAEF,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,+BAA+B,GAAG,aAAa,CAe1G"}
@@ -0,0 +1,28 @@
1
+ export type SyncLifecycleEvent = "online" | "offline" | "active" | "inactive";
2
+ export type SyncLifecycle = {
3
+ readonly subscribe: (listener: (event: SyncLifecycleEvent) => void) => () => void;
4
+ };
5
+ export type SyncSocket = {
6
+ onopen: (() => void) | null;
7
+ onmessage: ((event: {
8
+ readonly data: unknown;
9
+ }) => void) | null;
10
+ onclose: ((event: {
11
+ readonly code: number;
12
+ }) => void) | null;
13
+ onerror: (() => void) | null;
14
+ send(data: string): void;
15
+ close(code?: number, reason?: string): void;
16
+ };
17
+ export type SyncWebSocketFactory = {
18
+ readonly connect: (url: string) => SyncSocket;
19
+ };
20
+ export type SyncClock = {
21
+ readonly now: () => number;
22
+ readonly setTimeout: (callback: () => void, milliseconds: number) => unknown;
23
+ readonly clearTimeout: (handle: unknown) => void;
24
+ };
25
+ export type SyncIdGenerator = {
26
+ readonly next: () => string;
27
+ };
28
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sync/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE9E,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;CACnF,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAChE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7D,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,UAAU,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7E,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,MAAM,CAAC;CAC7B,CAAC"}