@dxos/plugin-thread 0.8.4-main.c4373fc → 0.8.4-main.c85a9c8dae

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 (453) hide show
  1. package/dist/lib/browser/CallDebugPanel-FGCTY7Q4.mjs +182 -0
  2. package/dist/lib/browser/CallDebugPanel-FGCTY7Q4.mjs.map +7 -0
  3. package/dist/lib/browser/CallSidebar-PJCMNDIF.mjs +33 -0
  4. package/dist/lib/browser/CallSidebar-PJCMNDIF.mjs.map +7 -0
  5. package/dist/lib/browser/ChannelContainer-EPYG4QAC.mjs +15 -0
  6. package/dist/lib/browser/ChatContainer-2243UD2M.mjs +14 -0
  7. package/dist/lib/browser/ThreadCompanion-2CMLJH76.mjs +204 -0
  8. package/dist/lib/browser/ThreadCompanion-2CMLJH76.mjs.map +7 -0
  9. package/dist/lib/browser/ThreadSettings-S55YVOGA.mjs +20 -0
  10. package/dist/lib/browser/ThreadSettings-S55YVOGA.mjs.map +7 -0
  11. package/dist/lib/browser/app-graph-builder-5LCAM746.mjs +191 -0
  12. package/dist/lib/browser/app-graph-builder-5LCAM746.mjs.map +7 -0
  13. package/dist/lib/browser/blueprint-definition-42M2EJ2Y.mjs +17 -0
  14. package/dist/lib/browser/blueprint-definition-42M2EJ2Y.mjs.map +7 -0
  15. package/dist/lib/browser/blueprints/index.mjs +8 -0
  16. package/dist/lib/browser/call-manager-2PRP4QVZ.mjs +27 -0
  17. package/dist/lib/browser/call-manager-2PRP4QVZ.mjs.map +7 -0
  18. package/dist/lib/browser/{chunk-ZCEU5K23.mjs → chunk-ERK254BS.mjs} +207 -287
  19. package/dist/lib/browser/chunk-ERK254BS.mjs.map +7 -0
  20. package/dist/lib/browser/chunk-G6FJBSXX.mjs +1123 -0
  21. package/dist/lib/browser/chunk-G6FJBSXX.mjs.map +7 -0
  22. package/dist/lib/browser/{chunk-HDEQRBOC.mjs → chunk-HDLDMR54.mjs} +79 -76
  23. package/dist/lib/browser/chunk-HDLDMR54.mjs.map +7 -0
  24. package/dist/lib/browser/{chunk-XYUJXHYV.mjs → chunk-ISCHODBV.mjs} +1 -1
  25. package/dist/lib/browser/{chunk-XYUJXHYV.mjs.map → chunk-ISCHODBV.mjs.map} +2 -2
  26. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  27. package/dist/lib/browser/chunk-LUK4UNFA.mjs +20 -0
  28. package/dist/lib/browser/chunk-LUK4UNFA.mjs.map +7 -0
  29. package/dist/lib/browser/chunk-PDHCY236.mjs +223 -0
  30. package/dist/lib/browser/chunk-PDHCY236.mjs.map +7 -0
  31. package/dist/lib/browser/chunk-PL5LIVP4.mjs +105 -0
  32. package/dist/lib/browser/chunk-PL5LIVP4.mjs.map +7 -0
  33. package/dist/lib/browser/chunk-U32R23JO.mjs +277 -0
  34. package/dist/lib/browser/chunk-U32R23JO.mjs.map +7 -0
  35. package/dist/lib/browser/chunk-UVUCB7QO.mjs +125 -0
  36. package/dist/lib/browser/chunk-UVUCB7QO.mjs.map +7 -0
  37. package/dist/lib/browser/index.mjs +138 -141
  38. package/dist/lib/browser/index.mjs.map +4 -4
  39. package/dist/lib/browser/markdown-GRRPCZHJ.mjs +210 -0
  40. package/dist/lib/browser/markdown-GRRPCZHJ.mjs.map +7 -0
  41. package/dist/lib/browser/meta.json +1 -1
  42. package/dist/lib/browser/operation-resolver-EP7FAYEB.mjs +442 -0
  43. package/dist/lib/browser/operation-resolver-EP7FAYEB.mjs.map +7 -0
  44. package/dist/lib/browser/react-root-7UFFPPRD.mjs +26 -0
  45. package/dist/lib/browser/react-root-7UFFPPRD.mjs.map +7 -0
  46. package/dist/lib/browser/react-surface-TIHBSZPD.mjs +113 -0
  47. package/dist/lib/browser/react-surface-TIHBSZPD.mjs.map +7 -0
  48. package/dist/lib/browser/repair-TBU45SBG.mjs +40 -0
  49. package/dist/lib/browser/repair-TBU45SBG.mjs.map +7 -0
  50. package/dist/lib/browser/settings-Y75FG6XR.mjs +35 -0
  51. package/dist/lib/browser/settings-Y75FG6XR.mjs.map +7 -0
  52. package/dist/lib/browser/state-OBTMMEUZ.mjs +25 -0
  53. package/dist/lib/browser/state-OBTMMEUZ.mjs.map +7 -0
  54. package/dist/lib/browser/types/index.mjs +11 -12
  55. package/dist/lib/node-esm/CallDebugPanel-CYACANSP.mjs +183 -0
  56. package/dist/lib/node-esm/CallDebugPanel-CYACANSP.mjs.map +7 -0
  57. package/dist/lib/node-esm/CallSidebar-XD7J7EQ6.mjs +34 -0
  58. package/dist/lib/node-esm/CallSidebar-XD7J7EQ6.mjs.map +7 -0
  59. package/dist/lib/node-esm/ChannelContainer-NU4LSLB4.mjs +16 -0
  60. package/dist/lib/node-esm/ChannelContainer-NU4LSLB4.mjs.map +7 -0
  61. package/dist/lib/node-esm/ChatContainer-FPNIG33R.mjs +15 -0
  62. package/dist/lib/node-esm/ChatContainer-FPNIG33R.mjs.map +7 -0
  63. package/dist/lib/node-esm/ThreadCompanion-TLWTONG6.mjs +205 -0
  64. package/dist/lib/node-esm/ThreadCompanion-TLWTONG6.mjs.map +7 -0
  65. package/dist/lib/node-esm/ThreadSettings-EUH4AGYV.mjs +21 -0
  66. package/dist/lib/node-esm/ThreadSettings-EUH4AGYV.mjs.map +7 -0
  67. package/dist/lib/node-esm/app-graph-builder-VBLHLX75.mjs +192 -0
  68. package/dist/lib/node-esm/app-graph-builder-VBLHLX75.mjs.map +7 -0
  69. package/dist/lib/node-esm/blueprint-definition-PEXTS56K.mjs +18 -0
  70. package/dist/lib/node-esm/blueprint-definition-PEXTS56K.mjs.map +7 -0
  71. package/dist/lib/node-esm/blueprints/index.mjs +9 -0
  72. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  73. package/dist/lib/node-esm/call-manager-BLQCEM2F.mjs +28 -0
  74. package/dist/lib/node-esm/call-manager-BLQCEM2F.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-6K5ACCGB.mjs +107 -0
  76. package/dist/lib/node-esm/chunk-6K5ACCGB.mjs.map +7 -0
  77. package/dist/lib/node-esm/chunk-7SZBKQUU.mjs +224 -0
  78. package/dist/lib/node-esm/chunk-7SZBKQUU.mjs.map +7 -0
  79. package/dist/lib/node-esm/{chunk-OBVAURUU.mjs → chunk-GPPP2MZ3.mjs} +7 -2
  80. package/dist/lib/node-esm/chunk-GPPP2MZ3.mjs.map +7 -0
  81. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  82. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  83. package/dist/lib/node-esm/chunk-IQUV7DR6.mjs +1124 -0
  84. package/dist/lib/node-esm/chunk-IQUV7DR6.mjs.map +7 -0
  85. package/dist/lib/node-esm/{chunk-TIPIOH2J.mjs → chunk-QP3KQOPQ.mjs} +207 -287
  86. package/dist/lib/node-esm/chunk-QP3KQOPQ.mjs.map +7 -0
  87. package/dist/lib/node-esm/chunk-QYAVWNVM.mjs +278 -0
  88. package/dist/lib/node-esm/chunk-QYAVWNVM.mjs.map +7 -0
  89. package/dist/lib/node-esm/chunk-V2GXQ2UB.mjs +126 -0
  90. package/dist/lib/node-esm/chunk-V2GXQ2UB.mjs.map +7 -0
  91. package/dist/lib/node-esm/{chunk-2V3WSLUZ.mjs → chunk-VBI32FGI.mjs} +1 -1
  92. package/dist/lib/node-esm/{chunk-2V3WSLUZ.mjs.map → chunk-VBI32FGI.mjs.map} +2 -2
  93. package/dist/lib/node-esm/{chunk-2MMJF7DW.mjs → chunk-YN2Y7GPW.mjs} +79 -76
  94. package/dist/lib/node-esm/chunk-YN2Y7GPW.mjs.map +7 -0
  95. package/dist/lib/node-esm/index.mjs +138 -141
  96. package/dist/lib/node-esm/index.mjs.map +4 -4
  97. package/dist/lib/node-esm/markdown-WHWUESF7.mjs +211 -0
  98. package/dist/lib/node-esm/markdown-WHWUESF7.mjs.map +7 -0
  99. package/dist/lib/node-esm/meta.json +1 -1
  100. package/dist/lib/node-esm/operation-resolver-R7QJW3TW.mjs +443 -0
  101. package/dist/lib/node-esm/operation-resolver-R7QJW3TW.mjs.map +7 -0
  102. package/dist/lib/node-esm/react-root-D7CWS5XP.mjs +27 -0
  103. package/dist/lib/node-esm/react-root-D7CWS5XP.mjs.map +7 -0
  104. package/dist/lib/node-esm/react-surface-WWZFSK5Y.mjs +114 -0
  105. package/dist/lib/node-esm/react-surface-WWZFSK5Y.mjs.map +7 -0
  106. package/dist/lib/node-esm/repair-7JEKRNR3.mjs +41 -0
  107. package/dist/lib/node-esm/repair-7JEKRNR3.mjs.map +7 -0
  108. package/dist/lib/node-esm/settings-W4JN2YKJ.mjs +36 -0
  109. package/dist/lib/node-esm/settings-W4JN2YKJ.mjs.map +7 -0
  110. package/dist/lib/node-esm/state-7UWCSIWQ.mjs +26 -0
  111. package/dist/lib/node-esm/state-7UWCSIWQ.mjs.map +7 -0
  112. package/dist/lib/node-esm/types/index.mjs +11 -12
  113. package/dist/types/src/ThreadPlugin.d.ts +2 -1
  114. package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
  115. package/dist/types/src/blueprints/index.d.ts +2 -0
  116. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  117. package/dist/types/src/blueprints/thread-blueprint.d.ts +4 -0
  118. package/dist/types/src/blueprints/thread-blueprint.d.ts.map +1 -0
  119. package/dist/types/src/calls/call-manager.d.ts +40 -30
  120. package/dist/types/src/calls/call-manager.d.ts.map +1 -1
  121. package/dist/types/src/calls/call-swarm-synchronizer.d.ts +2 -2
  122. package/dist/types/src/calls/call-swarm-synchronizer.d.ts.map +1 -1
  123. package/dist/types/src/calls/media-manager.d.ts +1 -1
  124. package/dist/types/src/calls/media-manager.d.ts.map +1 -1
  125. package/dist/types/src/calls/util/calls-service.d.ts +1 -1
  126. package/dist/types/src/calls/util/calls-service.d.ts.map +1 -1
  127. package/dist/types/src/calls/util/task-scheduling.d.ts +2 -2
  128. package/dist/types/src/calls/util/task-scheduling.d.ts.map +1 -1
  129. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  130. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  131. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  132. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  133. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +6 -0
  134. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
  135. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +3 -0
  136. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
  137. package/dist/types/src/capabilities/call-manager/call-manager.d.ts +6 -0
  138. package/dist/types/src/capabilities/call-manager/call-manager.d.ts.map +1 -0
  139. package/dist/types/src/capabilities/call-manager/index.d.ts +3 -0
  140. package/dist/types/src/capabilities/call-manager/index.d.ts.map +1 -0
  141. package/dist/types/src/capabilities/index.d.ts +10 -16
  142. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  143. package/dist/types/src/capabilities/markdown/index.d.ts +3 -0
  144. package/dist/types/src/capabilities/markdown/index.d.ts.map +1 -0
  145. package/dist/types/src/capabilities/markdown/markdown.d.ts +5 -0
  146. package/dist/types/src/capabilities/markdown/markdown.d.ts.map +1 -0
  147. package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
  148. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  149. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
  150. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  151. package/dist/types/src/capabilities/react-root/index.d.ts +6 -0
  152. package/dist/types/src/capabilities/react-root/index.d.ts.map +1 -0
  153. package/dist/types/src/capabilities/react-root/react-root.d.ts +9 -0
  154. package/dist/types/src/capabilities/react-root/react-root.d.ts.map +1 -0
  155. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  156. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  157. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  158. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  159. package/dist/types/src/capabilities/repair/index.d.ts +3 -0
  160. package/dist/types/src/capabilities/repair/index.d.ts.map +1 -0
  161. package/dist/types/src/capabilities/repair/repair.d.ts +6 -0
  162. package/dist/types/src/capabilities/repair/repair.d.ts.map +1 -0
  163. package/dist/types/src/capabilities/settings/index.d.ts +3 -0
  164. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  165. package/dist/types/src/capabilities/settings/settings.d.ts +6 -0
  166. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  167. package/dist/types/src/capabilities/state/index.d.ts +3 -0
  168. package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
  169. package/dist/types/src/capabilities/state/state.d.ts +7 -0
  170. package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
  171. package/dist/types/src/components/Call/Call.d.ts.map +1 -1
  172. package/dist/types/src/components/Call/Toolbar.d.ts +2 -2
  173. package/dist/types/src/components/Call/Toolbar.d.ts.map +1 -1
  174. package/dist/types/src/components/Comments.stories.d.ts +5 -5
  175. package/dist/types/src/components/Comments.stories.d.ts.map +1 -1
  176. package/dist/types/src/components/CommentsContainer.d.ts +2 -2
  177. package/dist/types/src/components/CommentsContainer.d.ts.map +1 -1
  178. package/dist/types/src/components/CommentsThreadContainer.d.ts +8 -8
  179. package/dist/types/src/components/CommentsThreadContainer.d.ts.map +1 -1
  180. package/dist/types/src/components/Lobby/Lobby.d.ts.map +1 -1
  181. package/dist/types/src/components/Media/VideoObject.d.ts +1 -1
  182. package/dist/types/src/components/Media/VideoObject.stories.d.ts +1 -1
  183. package/dist/types/src/components/MessageContainer.d.ts +6 -5
  184. package/dist/types/src/components/MessageContainer.d.ts.map +1 -1
  185. package/dist/types/src/components/Participant/Participant.d.ts.map +1 -1
  186. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +5 -1
  187. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +1 -1
  188. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +5 -1
  189. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +1 -1
  190. package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts.map +1 -1
  191. package/dist/types/src/components/index.d.ts +0 -6
  192. package/dist/types/src/components/index.d.ts.map +1 -1
  193. package/dist/types/src/components/testing.d.ts +3 -3
  194. package/dist/types/src/components/testing.d.ts.map +1 -1
  195. package/dist/types/src/{components → containers/CallDebugPanel}/CallDebugPanel.d.ts +1 -1
  196. package/dist/types/src/containers/CallDebugPanel/CallDebugPanel.d.ts.map +1 -0
  197. package/dist/types/src/containers/CallDebugPanel/index.d.ts +3 -0
  198. package/dist/types/src/containers/CallDebugPanel/index.d.ts.map +1 -0
  199. package/dist/types/src/{components → containers/CallSidebar}/CallSidebar.d.ts +0 -1
  200. package/dist/types/src/containers/CallSidebar/CallSidebar.d.ts.map +1 -0
  201. package/dist/types/src/containers/CallSidebar/index.d.ts +3 -0
  202. package/dist/types/src/containers/CallSidebar/index.d.ts.map +1 -0
  203. package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts +12 -0
  204. package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts.map +1 -0
  205. package/dist/types/src/{components → containers/ChannelContainer}/ChannelContainer.stories.d.ts +77 -7
  206. package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts.map +1 -0
  207. package/dist/types/src/containers/ChannelContainer/index.d.ts +3 -0
  208. package/dist/types/src/containers/ChannelContainer/index.d.ts.map +1 -0
  209. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts +17 -0
  210. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts.map +1 -0
  211. package/dist/types/src/{components/Chat.stories.d.ts → containers/ChatContainer/ChatContainer.stories.d.ts} +77 -6
  212. package/dist/types/src/containers/ChatContainer/ChatContainer.stories.d.ts.map +1 -0
  213. package/dist/types/src/containers/ChatContainer/index.d.ts +3 -0
  214. package/dist/types/src/containers/ChatContainer/index.d.ts.map +1 -0
  215. package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts +5 -0
  216. package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts.map +1 -0
  217. package/dist/types/src/containers/ThreadCompanion/index.d.ts +3 -0
  218. package/dist/types/src/containers/ThreadCompanion/index.d.ts.map +1 -0
  219. package/dist/types/src/containers/ThreadSettings/ThreadSettings.d.ts +8 -0
  220. package/dist/types/src/containers/ThreadSettings/ThreadSettings.d.ts.map +1 -0
  221. package/dist/types/src/containers/ThreadSettings/index.d.ts +3 -0
  222. package/dist/types/src/containers/ThreadSettings/index.d.ts.map +1 -0
  223. package/dist/types/src/containers/index.d.ts +8 -0
  224. package/dist/types/src/containers/index.d.ts.map +1 -0
  225. package/dist/types/src/extensions/threads.d.ts +7 -2
  226. package/dist/types/src/extensions/threads.d.ts.map +1 -1
  227. package/dist/types/src/functions/create-proposals.d.ts +13 -0
  228. package/dist/types/src/functions/create-proposals.d.ts.map +1 -0
  229. package/dist/types/src/functions/index.d.ts +14 -0
  230. package/dist/types/src/functions/index.d.ts.map +1 -0
  231. package/dist/types/src/hooks/analytics.d.ts +2 -3
  232. package/dist/types/src/hooks/analytics.d.ts.map +1 -1
  233. package/dist/types/src/hooks/index.d.ts +2 -2
  234. package/dist/types/src/hooks/index.d.ts.map +1 -1
  235. package/dist/types/src/index.d.ts +1 -1
  236. package/dist/types/src/index.d.ts.map +1 -1
  237. package/dist/types/src/meta.d.ts +2 -2
  238. package/dist/types/src/meta.d.ts.map +1 -1
  239. package/dist/types/src/testing/stories.d.ts +2 -1
  240. package/dist/types/src/testing/stories.d.ts.map +1 -1
  241. package/dist/types/src/translations.d.ts +76 -6
  242. package/dist/types/src/translations.d.ts.map +1 -1
  243. package/dist/types/src/types/Channel.d.ts +711 -0
  244. package/dist/types/src/types/Channel.d.ts.map +1 -0
  245. package/dist/types/src/types/capabilities.d.ts +23 -0
  246. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  247. package/dist/types/src/types/index.d.ts +2 -1
  248. package/dist/types/src/types/index.d.ts.map +1 -1
  249. package/dist/types/src/types/types.d.ts +3294 -446
  250. package/dist/types/src/types/types.d.ts.map +1 -1
  251. package/dist/types/tsconfig.tsbuildinfo +1 -1
  252. package/package.json +87 -64
  253. package/src/ThreadPlugin.tsx +68 -107
  254. package/src/blueprints/index.ts +5 -0
  255. package/src/blueprints/thread-blueprint.ts +40 -0
  256. package/src/calls/call-manager.ts +76 -52
  257. package/src/calls/call-swarm-synchronizer.ts +2 -2
  258. package/src/calls/media-manager.ts +10 -7
  259. package/src/calls/util/calls-service.ts +1 -1
  260. package/src/calls/util/stub-media-streams.ts +2 -2
  261. package/src/calls/util/task-scheduling.ts +4 -4
  262. package/src/calls-service.stories.tsx +2 -2
  263. package/src/capabilities/app-graph-builder/app-graph-builder.ts +202 -0
  264. package/src/capabilities/app-graph-builder/index.ts +7 -0
  265. package/src/capabilities/blueprint-definition/blueprint-definition.ts +17 -0
  266. package/src/capabilities/blueprint-definition/index.ts +7 -0
  267. package/src/capabilities/call-manager/call-manager.ts +26 -0
  268. package/src/capabilities/call-manager/index.ts +7 -0
  269. package/src/capabilities/index.ts +10 -13
  270. package/src/capabilities/markdown/index.ts +7 -0
  271. package/src/capabilities/markdown/markdown.ts +82 -0
  272. package/src/capabilities/operation-resolver/index.ts +7 -0
  273. package/src/capabilities/operation-resolver/operation-resolver.ts +399 -0
  274. package/src/capabilities/react-root/index.ts +7 -0
  275. package/src/capabilities/react-root/react-root.tsx +20 -0
  276. package/src/capabilities/react-surface/index.ts +7 -0
  277. package/src/capabilities/react-surface/react-surface.tsx +98 -0
  278. package/src/capabilities/repair/index.ts +7 -0
  279. package/src/capabilities/repair/repair.ts +55 -0
  280. package/src/capabilities/settings/index.ts +7 -0
  281. package/src/capabilities/settings/settings.ts +34 -0
  282. package/src/capabilities/state/index.ts +7 -0
  283. package/src/capabilities/state/state.ts +22 -0
  284. package/src/components/Call/Call.tsx +8 -4
  285. package/src/components/Call/Toolbar.tsx +36 -29
  286. package/src/components/Comments.stories.tsx +31 -30
  287. package/src/components/CommentsContainer.tsx +14 -15
  288. package/src/components/CommentsThreadContainer.tsx +42 -39
  289. package/src/components/Lobby/Lobby.tsx +9 -7
  290. package/src/components/Media/AudioStream.tsx +2 -2
  291. package/src/components/Media/VideoObject.stories.tsx +3 -3
  292. package/src/components/Media/VideoObject.tsx +1 -1
  293. package/src/components/MessageContainer.tsx +62 -31
  294. package/src/components/Participant/Participant.tsx +32 -19
  295. package/src/components/ResponsiveGrid/ResponsiveContainer.stories.tsx +3 -3
  296. package/src/components/ResponsiveGrid/ResponsiveContainer.tsx +1 -1
  297. package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +3 -3
  298. package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +1 -1
  299. package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +7 -4
  300. package/src/components/command-extension.ts +3 -3
  301. package/src/components/index.ts +0 -10
  302. package/src/components/testing.ts +7 -9
  303. package/src/{components → containers/CallDebugPanel}/CallDebugPanel.tsx +13 -15
  304. package/src/containers/CallDebugPanel/index.ts +7 -0
  305. package/src/containers/CallSidebar/CallSidebar.tsx +17 -0
  306. package/src/containers/CallSidebar/index.ts +7 -0
  307. package/src/{components → containers/ChannelContainer}/ChannelContainer.stories.tsx +16 -15
  308. package/src/{components → containers/ChannelContainer}/ChannelContainer.tsx +75 -59
  309. package/src/containers/ChannelContainer/index.ts +7 -0
  310. package/src/{components/Chat.stories.tsx → containers/ChatContainer/ChatContainer.stories.tsx} +23 -26
  311. package/src/{components → containers/ChatContainer}/ChatContainer.tsx +56 -52
  312. package/src/containers/ChatContainer/index.ts +7 -0
  313. package/src/containers/ThreadCompanion/ThreadCompanion.tsx +197 -0
  314. package/src/containers/ThreadCompanion/index.ts +7 -0
  315. package/src/containers/ThreadSettings/ThreadSettings.tsx +22 -0
  316. package/src/containers/ThreadSettings/index.ts +7 -0
  317. package/src/containers/index.ts +12 -0
  318. package/src/extensions/threads.ts +86 -42
  319. package/src/functions/create-proposals.ts +57 -0
  320. package/src/functions/index.ts +9 -0
  321. package/src/hooks/analytics.ts +22 -21
  322. package/src/hooks/index.ts +3 -2
  323. package/src/index.ts +1 -1
  324. package/src/meta.ts +8 -3
  325. package/src/testing/stories.ts +17 -15
  326. package/src/translations.ts +6 -3
  327. package/src/types/Channel.ts +30 -0
  328. package/src/types/capabilities.ts +34 -0
  329. package/src/types/index.ts +2 -1
  330. package/src/types/types.ts +167 -88
  331. package/dist/lib/browser/ChannelContainer-BGDGZHV4.mjs +0 -16
  332. package/dist/lib/browser/ChatContainer-75KJZ4XR.mjs +0 -15
  333. package/dist/lib/browser/app-graph-builder-ODKIAXR7.mjs +0 -171
  334. package/dist/lib/browser/app-graph-builder-ODKIAXR7.mjs.map +0 -7
  335. package/dist/lib/browser/call-manager-BCKLI4QD.mjs +0 -24
  336. package/dist/lib/browser/call-manager-BCKLI4QD.mjs.map +0 -7
  337. package/dist/lib/browser/chunk-2MUYQOQE.mjs +0 -23
  338. package/dist/lib/browser/chunk-2MUYQOQE.mjs.map +0 -7
  339. package/dist/lib/browser/chunk-B7YQ7QR2.mjs +0 -376
  340. package/dist/lib/browser/chunk-B7YQ7QR2.mjs.map +0 -7
  341. package/dist/lib/browser/chunk-CMCVHULC.mjs +0 -986
  342. package/dist/lib/browser/chunk-CMCVHULC.mjs.map +0 -7
  343. package/dist/lib/browser/chunk-HDEQRBOC.mjs.map +0 -7
  344. package/dist/lib/browser/chunk-L326LSNS.mjs +0 -18
  345. package/dist/lib/browser/chunk-L326LSNS.mjs.map +0 -7
  346. package/dist/lib/browser/chunk-T4KJ5JR4.mjs +0 -15
  347. package/dist/lib/browser/chunk-T4KJ5JR4.mjs.map +0 -7
  348. package/dist/lib/browser/chunk-VJMKS4CZ.mjs +0 -619
  349. package/dist/lib/browser/chunk-VJMKS4CZ.mjs.map +0 -7
  350. package/dist/lib/browser/chunk-VTYX3SIM.mjs +0 -147
  351. package/dist/lib/browser/chunk-VTYX3SIM.mjs.map +0 -7
  352. package/dist/lib/browser/chunk-ZCEU5K23.mjs.map +0 -7
  353. package/dist/lib/browser/intent-resolver-VOQD3TQ2.mjs +0 -427
  354. package/dist/lib/browser/intent-resolver-VOQD3TQ2.mjs.map +0 -7
  355. package/dist/lib/browser/markdown-R6MGRIA6.mjs +0 -169
  356. package/dist/lib/browser/markdown-R6MGRIA6.mjs.map +0 -7
  357. package/dist/lib/browser/react-root-UMSBTN6H.mjs +0 -28
  358. package/dist/lib/browser/react-root-UMSBTN6H.mjs.map +0 -7
  359. package/dist/lib/browser/react-surface-SXMQEWKE.mjs +0 -109
  360. package/dist/lib/browser/react-surface-SXMQEWKE.mjs.map +0 -7
  361. package/dist/lib/browser/settings-TCNF54PN.mjs +0 -22
  362. package/dist/lib/browser/settings-TCNF54PN.mjs.map +0 -7
  363. package/dist/lib/browser/state-ZQ4IPOJT.mjs +0 -34
  364. package/dist/lib/browser/state-ZQ4IPOJT.mjs.map +0 -7
  365. package/dist/lib/browser/toolkit-JF4B4QIO.mjs +0 -84
  366. package/dist/lib/browser/toolkit-JF4B4QIO.mjs.map +0 -7
  367. package/dist/lib/node-esm/ChannelContainer-OXC6BTU7.mjs +0 -17
  368. package/dist/lib/node-esm/ChatContainer-SH6LTFQL.mjs +0 -16
  369. package/dist/lib/node-esm/app-graph-builder-DMPT3MY6.mjs +0 -172
  370. package/dist/lib/node-esm/app-graph-builder-DMPT3MY6.mjs.map +0 -7
  371. package/dist/lib/node-esm/call-manager-Q7RY2YP4.mjs +0 -25
  372. package/dist/lib/node-esm/call-manager-Q7RY2YP4.mjs.map +0 -7
  373. package/dist/lib/node-esm/chunk-2KZ4ODHU.mjs +0 -987
  374. package/dist/lib/node-esm/chunk-2KZ4ODHU.mjs.map +0 -7
  375. package/dist/lib/node-esm/chunk-2MMJF7DW.mjs.map +0 -7
  376. package/dist/lib/node-esm/chunk-BAMZXJS4.mjs +0 -148
  377. package/dist/lib/node-esm/chunk-BAMZXJS4.mjs.map +0 -7
  378. package/dist/lib/node-esm/chunk-BTGKI5IK.mjs +0 -377
  379. package/dist/lib/node-esm/chunk-BTGKI5IK.mjs.map +0 -7
  380. package/dist/lib/node-esm/chunk-GZ4WL2IS.mjs +0 -25
  381. package/dist/lib/node-esm/chunk-GZ4WL2IS.mjs.map +0 -7
  382. package/dist/lib/node-esm/chunk-LCHTNRK7.mjs +0 -19
  383. package/dist/lib/node-esm/chunk-LCHTNRK7.mjs.map +0 -7
  384. package/dist/lib/node-esm/chunk-NHSIAEDW.mjs +0 -620
  385. package/dist/lib/node-esm/chunk-NHSIAEDW.mjs.map +0 -7
  386. package/dist/lib/node-esm/chunk-OBVAURUU.mjs.map +0 -7
  387. package/dist/lib/node-esm/chunk-TIPIOH2J.mjs.map +0 -7
  388. package/dist/lib/node-esm/intent-resolver-AKVH66PH.mjs +0 -428
  389. package/dist/lib/node-esm/intent-resolver-AKVH66PH.mjs.map +0 -7
  390. package/dist/lib/node-esm/markdown-MYGTDXT6.mjs +0 -170
  391. package/dist/lib/node-esm/markdown-MYGTDXT6.mjs.map +0 -7
  392. package/dist/lib/node-esm/react-root-W6AVTL5M.mjs +0 -29
  393. package/dist/lib/node-esm/react-root-W6AVTL5M.mjs.map +0 -7
  394. package/dist/lib/node-esm/react-surface-NLSZJGMO.mjs +0 -110
  395. package/dist/lib/node-esm/react-surface-NLSZJGMO.mjs.map +0 -7
  396. package/dist/lib/node-esm/settings-ZQHGVFBY.mjs +0 -23
  397. package/dist/lib/node-esm/settings-ZQHGVFBY.mjs.map +0 -7
  398. package/dist/lib/node-esm/state-FSLLJ5TZ.mjs +0 -35
  399. package/dist/lib/node-esm/state-FSLLJ5TZ.mjs.map +0 -7
  400. package/dist/lib/node-esm/toolkit-DHPKJITO.mjs +0 -85
  401. package/dist/lib/node-esm/toolkit-DHPKJITO.mjs.map +0 -7
  402. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  403. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  404. package/dist/types/src/capabilities/call-manager.d.ts +0 -5
  405. package/dist/types/src/capabilities/call-manager.d.ts.map +0 -1
  406. package/dist/types/src/capabilities/capabilities.d.ts +0 -27
  407. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  408. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  409. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  410. package/dist/types/src/capabilities/markdown.d.ts +0 -4
  411. package/dist/types/src/capabilities/markdown.d.ts.map +0 -1
  412. package/dist/types/src/capabilities/react-root.d.ts +0 -7
  413. package/dist/types/src/capabilities/react-root.d.ts.map +0 -1
  414. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  415. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  416. package/dist/types/src/capabilities/settings.d.ts +0 -4
  417. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  418. package/dist/types/src/capabilities/state.d.ts +0 -7
  419. package/dist/types/src/capabilities/state.d.ts.map +0 -1
  420. package/dist/types/src/capabilities/toolkit.d.ts +0 -6
  421. package/dist/types/src/capabilities/toolkit.d.ts.map +0 -1
  422. package/dist/types/src/components/CallDebugPanel.d.ts.map +0 -1
  423. package/dist/types/src/components/CallSidebar.d.ts.map +0 -1
  424. package/dist/types/src/components/ChannelContainer.d.ts +0 -14
  425. package/dist/types/src/components/ChannelContainer.d.ts.map +0 -1
  426. package/dist/types/src/components/ChannelContainer.stories.d.ts.map +0 -1
  427. package/dist/types/src/components/Chat.stories.d.ts.map +0 -1
  428. package/dist/types/src/components/ChatContainer.d.ts +0 -17
  429. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  430. package/dist/types/src/components/ThreadComplementary.d.ts +0 -5
  431. package/dist/types/src/components/ThreadComplementary.d.ts.map +0 -1
  432. package/dist/types/src/components/ThreadSettings.d.ts +0 -6
  433. package/dist/types/src/components/ThreadSettings.d.ts.map +0 -1
  434. package/dist/types/src/types/schema.d.ts +0 -179
  435. package/dist/types/src/types/schema.d.ts.map +0 -1
  436. package/src/capabilities/app-graph-builder.ts +0 -184
  437. package/src/capabilities/call-manager.ts +0 -20
  438. package/src/capabilities/capabilities.ts +0 -33
  439. package/src/capabilities/intent-resolver.ts +0 -348
  440. package/src/capabilities/markdown.ts +0 -69
  441. package/src/capabilities/react-root.tsx +0 -17
  442. package/src/capabilities/react-surface.tsx +0 -89
  443. package/src/capabilities/settings.ts +0 -19
  444. package/src/capabilities/state.ts +0 -26
  445. package/src/capabilities/toolkit.ts +0 -82
  446. package/src/components/CallSidebar.tsx +0 -18
  447. package/src/components/ThreadComplementary.tsx +0 -181
  448. package/src/components/ThreadSettings.tsx +0 -16
  449. package/src/types/schema.ts +0 -33
  450. /package/dist/lib/browser/{ChannelContainer-BGDGZHV4.mjs.map → ChannelContainer-EPYG4QAC.mjs.map} +0 -0
  451. /package/dist/lib/browser/{ChatContainer-75KJZ4XR.mjs.map → ChatContainer-2243UD2M.mjs.map} +0 -0
  452. /package/dist/lib/{node-esm/ChannelContainer-OXC6BTU7.mjs.map → browser/blueprints/index.mjs.map} +0 -0
  453. /package/dist/lib/{node-esm/ChatContainer-SH6LTFQL.mjs.map → browser/chunk-J5LGTIGS.mjs.map} +0 -0
@@ -2,7 +2,7 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  createBlackCanvasStreamTrack,
4
4
  createInaudibleAudioStreamTrack
5
- } from "./chunk-2V3WSLUZ.mjs";
5
+ } from "./chunk-VBI32FGI.mjs";
6
6
 
7
7
  // src/calls/types.ts
8
8
  import { invariant } from "@dxos/invariant";
@@ -72,19 +72,6 @@ import { buf as buf2 } from "@dxos/protocols/buf";
72
72
  import { ActivitySchema } from "@dxos/protocols/buf/dxos/edge/calls_pb";
73
73
  import { ConnectionState } from "@dxos/protocols/proto/dxos/edge/messenger";
74
74
  import { isNonNullable } from "@dxos/util";
75
- function _define_property(obj, key, value) {
76
- if (key in obj) {
77
- Object.defineProperty(obj, key, {
78
- value,
79
- enumerable: true,
80
- configurable: true,
81
- writable: true
82
- });
83
- } else {
84
- obj[key] = value;
85
- }
86
- return obj;
87
- }
88
75
  function _ts_decorate(decorators, target, key, desc) {
89
76
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
90
77
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -94,6 +81,22 @@ function _ts_decorate(decorators, target, key, desc) {
94
81
  var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/call-swarm-synchronizer.ts";
95
82
  var DISCONNECTED_ABRUPT_TIMEOUT = 1e4;
96
83
  var CallSwarmSynchronizer = class extends Resource {
84
+ stateUpdated = new Event();
85
+ _state = {
86
+ activities: {}
87
+ };
88
+ _networkService;
89
+ _lastSwarmEvent = void 0;
90
+ _reconcileSwarmStateTask = void 0;
91
+ _identityKey = void 0;
92
+ _deviceKey = void 0;
93
+ _displayName = void 0;
94
+ _swarmCtx = void 0;
95
+ _sendStateTask = void 0;
96
+ constructor({ networkService }) {
97
+ super();
98
+ this._networkService = networkService;
99
+ }
97
100
  /**
98
101
  * @internal
99
102
  */
@@ -367,12 +370,6 @@ var CallSwarmSynchronizer = class extends Resource {
367
370
  scheduleTaskInterval(this._ctx, async () => this._reconcileSwarmStateTask.schedule(), Math.min(DISCONNECTED_ABRUPT_TIMEOUT / 2, 1e3));
368
371
  }
369
372
  }
370
- constructor({ networkService }) {
371
- super(), _define_property(this, "stateUpdated", new Event()), _define_property(this, "_state", {
372
- activities: {}
373
- }), _define_property(this, "_networkService", void 0), _define_property(this, "_lastSwarmEvent", void 0), _define_property(this, "_reconcileSwarmStateTask", void 0), _define_property(this, "_identityKey", void 0), _define_property(this, "_deviceKey", void 0), _define_property(this, "_displayName", void 0), _define_property(this, "_swarmCtx", void 0), _define_property(this, "_sendStateTask", void 0);
374
- this._networkService = networkService;
375
- }
376
373
  };
377
374
  _ts_decorate([
378
375
  synchronized
@@ -444,20 +441,13 @@ import { invariant as invariant3 } from "@dxos/invariant";
444
441
  import { log as log2 } from "@dxos/log";
445
442
 
446
443
  // src/calls/util/history-cache.ts
447
- function _define_property2(obj, key, value) {
448
- if (key in obj) {
449
- Object.defineProperty(obj, key, {
450
- value,
451
- enumerable: true,
452
- configurable: true,
453
- writable: true
454
- });
455
- } else {
456
- obj[key] = value;
457
- }
458
- return obj;
459
- }
460
444
  var HistoryCache = class {
445
+ _limit;
446
+ _messages;
447
+ constructor(limit = 100) {
448
+ this._limit = limit;
449
+ this._messages = [];
450
+ }
461
451
  push(...messages) {
462
452
  if (this._messages.length >= this._limit) {
463
453
  this._messages.shift();
@@ -467,98 +457,53 @@ var HistoryCache = class {
467
457
  get() {
468
458
  return this._messages;
469
459
  }
470
- constructor(limit = 100) {
471
- _define_property2(this, "_limit", void 0);
472
- _define_property2(this, "_messages", void 0);
473
- this._limit = limit;
474
- this._messages = [];
475
- }
476
460
  };
477
461
 
478
462
  // src/calls/util/task-scheduling.ts
479
- function _check_private_redeclaration(obj, privateCollection) {
480
- if (privateCollection.has(obj)) {
481
- throw new TypeError("Cannot initialize the same private elements twice on an object");
482
- }
483
- }
484
- function _class_apply_descriptor_get(receiver, descriptor) {
485
- if (descriptor.get) {
486
- return descriptor.get.call(receiver);
487
- }
488
- return descriptor.value;
489
- }
490
- function _class_apply_descriptor_set(receiver, descriptor, value) {
491
- if (descriptor.set) {
492
- descriptor.set.call(receiver, value);
493
- } else {
494
- if (!descriptor.writable) {
495
- throw new TypeError("attempted to set read only private field");
496
- }
497
- descriptor.value = value;
498
- }
499
- }
500
- function _class_extract_field_descriptor(receiver, privateMap, action) {
501
- if (!privateMap.has(receiver)) {
502
- throw new TypeError("attempted to " + action + " private field on non-instance");
503
- }
504
- return privateMap.get(receiver);
505
- }
506
- function _class_private_field_get(receiver, privateMap) {
507
- var descriptor = _class_extract_field_descriptor(receiver, privateMap, "get");
508
- return _class_apply_descriptor_get(receiver, descriptor);
509
- }
510
- function _class_private_field_init(obj, privateMap, value) {
511
- _check_private_redeclaration(obj, privateMap);
512
- privateMap.set(obj, value);
513
- }
514
- function _class_private_field_set(receiver, privateMap, value) {
515
- var descriptor = _class_extract_field_descriptor(receiver, privateMap, "set");
516
- _class_apply_descriptor_set(receiver, descriptor, value);
517
- return value;
518
- }
519
463
  var DefaultBatchSizeLimit = 64;
520
- var _schedulerChain = /* @__PURE__ */ new WeakMap();
521
464
  var FIFOScheduler = class {
465
+ #schedulerChain;
466
+ constructor() {
467
+ this.#schedulerChain = Promise.resolve();
468
+ }
522
469
  schedule(task) {
523
470
  return new Promise((resolve, reject) => {
524
- _class_private_field_set(this, _schedulerChain, _class_private_field_get(this, _schedulerChain).then(async () => {
471
+ this.#schedulerChain = this.#schedulerChain.then(async () => {
525
472
  try {
526
473
  resolve(await task());
527
474
  } catch (error) {
528
475
  reject(error);
529
476
  }
530
- }));
531
- });
532
- }
533
- constructor() {
534
- _class_private_field_init(this, _schedulerChain, {
535
- writable: true,
536
- value: void 0
477
+ });
537
478
  });
538
- _class_private_field_set(this, _schedulerChain, Promise.resolve());
539
479
  }
540
480
  };
541
- var _currentBatch = /* @__PURE__ */ new WeakMap();
542
- var _currentBulkResponse = /* @__PURE__ */ new WeakMap();
543
- var _batchSizeLimit = /* @__PURE__ */ new WeakMap();
544
481
  var BulkRequestDispatcher = class {
482
+ #currentBatch;
483
+ #currentBulkResponse;
484
+ #batchSizeLimit;
485
+ constructor(batchSizeLimit = DefaultBatchSizeLimit) {
486
+ this.#currentBatch = [];
487
+ this.#currentBulkResponse = null;
488
+ this.#batchSizeLimit = batchSizeLimit;
489
+ }
545
490
  /**
546
491
  * Returns a bulk response promise.
547
492
  * At the event loop iteration end, the accumulated entries will be dispatched as a bulk request.
548
493
  */
549
494
  doBulkRequest(params, bulkRequestFunc) {
550
- if (_class_private_field_get(this, _currentBatch).length >= _class_private_field_get(this, _batchSizeLimit)) {
551
- _class_private_field_set(this, _currentBatch, []);
552
- _class_private_field_set(this, _currentBulkResponse, null);
495
+ if (this.#currentBatch.length >= this.#batchSizeLimit) {
496
+ this.#currentBatch = [];
497
+ this.#currentBulkResponse = null;
553
498
  }
554
- _class_private_field_get(this, _currentBatch).push(params);
555
- if (_class_private_field_get(this, _currentBulkResponse) != null) {
556
- return _class_private_field_get(this, _currentBulkResponse);
499
+ this.#currentBatch.push(params);
500
+ if (this.#currentBulkResponse != null) {
501
+ return this.#currentBulkResponse;
557
502
  }
558
- const batch = _class_private_field_get(this, _currentBatch);
559
- _class_private_field_set(this, _currentBulkResponse, new Promise((resolve, reject) => {
503
+ const batch = this.#currentBatch;
504
+ this.#currentBulkResponse = new Promise((resolve, reject) => {
560
505
  setTimeout(() => {
561
- _class_private_field_set(this, _currentBulkResponse, null);
506
+ this.#currentBulkResponse = null;
562
507
  const batchCopy = batch.splice(0, batch.length);
563
508
  bulkRequestFunc(batchCopy).then((result) => {
564
509
  resolve(result);
@@ -566,45 +511,29 @@ var BulkRequestDispatcher = class {
566
511
  reject(err);
567
512
  });
568
513
  }, 0);
569
- }));
570
- return _class_private_field_get(this, _currentBulkResponse);
571
- }
572
- constructor(batchSizeLimit = DefaultBatchSizeLimit) {
573
- _class_private_field_init(this, _currentBatch, {
574
- writable: true,
575
- value: void 0
576
- });
577
- _class_private_field_init(this, _currentBulkResponse, {
578
- writable: true,
579
- value: void 0
580
514
  });
581
- _class_private_field_init(this, _batchSizeLimit, {
582
- writable: true,
583
- value: void 0
584
- });
585
- _class_private_field_set(this, _currentBatch, []);
586
- _class_private_field_set(this, _currentBulkResponse, null);
587
- _class_private_field_set(this, _batchSizeLimit, batchSizeLimit);
515
+ return this.#currentBulkResponse;
588
516
  }
589
517
  };
590
518
 
591
519
  // src/calls/util/calls-service.ts
592
- function _define_property3(obj, key, value) {
593
- if (key in obj) {
594
- Object.defineProperty(obj, key, {
595
- value,
596
- enumerable: true,
597
- configurable: true,
598
- writable: true
599
- });
600
- } else {
601
- obj[key] = value;
602
- }
603
- return obj;
604
- }
605
520
  var __dxlog_file3 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/util/calls-service.ts";
606
521
  var NETWORK_TIMEOUT = 5e3;
607
522
  var CallsServicePeer = class extends Resource2 {
523
+ history = new HistoryCache(100);
524
+ _persistentLifecycle = new PersistentLifecycle({
525
+ start: () => this._startSession(),
526
+ stop: (session) => this._stopSession(session)
527
+ });
528
+ _config;
529
+ taskScheduler = new FIFOScheduler();
530
+ pushTrackDispatcher = new BulkRequestDispatcher(32);
531
+ pullTrackDispatcher = new BulkRequestDispatcher(32);
532
+ closeTrackDispatcher = new BulkRequestDispatcher(32);
533
+ constructor(config) {
534
+ super();
535
+ this._config = config;
536
+ }
608
537
  async _open(ctx) {
609
538
  await this._persistentLifecycle.open(ctx);
610
539
  }
@@ -1088,13 +1017,6 @@ var CallsServicePeer = class extends Resource2 {
1088
1017
  }
1089
1018
  }));
1090
1019
  }
1091
- constructor(config) {
1092
- super(), _define_property3(this, "history", new HistoryCache(100)), _define_property3(this, "_persistentLifecycle", new PersistentLifecycle({
1093
- start: () => this._startSession(),
1094
- stop: (session) => this._stopSession(session)
1095
- })), _define_property3(this, "_config", void 0), _define_property3(this, "taskScheduler", new FIFOScheduler()), _define_property3(this, "pushTrackDispatcher", new BulkRequestDispatcher(32)), _define_property3(this, "pullTrackDispatcher", new BulkRequestDispatcher(32)), _define_property3(this, "closeTrackDispatcher", new BulkRequestDispatcher(32));
1096
- this._config = config;
1097
- }
1098
1020
  };
1099
1021
  var resolveTrack = async (peerConnection, compare, timeout = NETWORK_TIMEOUT) => new Promise((resolve, reject) => {
1100
1022
  setTimeout(reject, timeout);
@@ -1131,7 +1053,7 @@ var peerConnectionIsConnected = async (peerConnection) => {
1131
1053
  import { log as log3 } from "@dxos/log";
1132
1054
  var __dxlog_file4 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/util/media.ts";
1133
1055
  var getUserMediaTrack = async (kind, constraints = {}, deviceList) => {
1134
- deviceList ?? (deviceList = (await getDeviceList()).filter((device) => device.kind === kind));
1056
+ deviceList ??= (await getDeviceList()).filter((device) => device.kind === kind);
1135
1057
  const firstDevice = deviceList[0];
1136
1058
  if (!firstDevice) {
1137
1059
  throw new Error("No devices found");
@@ -1186,24 +1108,26 @@ var getScreenshare = async ({ contentHint }) => {
1186
1108
  // src/calls/speaking-monitor.ts
1187
1109
  import { DeferredTask as DeferredTask2, Event as Event2, sleep } from "@dxos/async";
1188
1110
  import { Resource as Resource3 } from "@dxos/context";
1189
- function _define_property4(obj, key, value) {
1190
- if (key in obj) {
1191
- Object.defineProperty(obj, key, {
1192
- value,
1193
- enumerable: true,
1194
- configurable: true,
1195
- writable: true
1196
- });
1197
- } else {
1198
- obj[key] = value;
1199
- }
1200
- return obj;
1201
- }
1202
1111
  var NOT_SPEAKING_AFTER = 500;
1203
1112
  var START_SPEAKING_THRESHOLD = 0.05;
1204
1113
  var CONTINUE_SPEAKING_THRESHOLD = 0.02;
1205
1114
  var MIN_EVENT_INTERVAL = 100;
1206
1115
  var SpeakingMonitor = class extends Resource3 {
1116
+ _mediaStreamTrack;
1117
+ /**
1118
+ * Event that is emitted when the user starts or stops speaking.
1119
+ * It is debounced to prevent rapid state changes.
1120
+ */
1121
+ speakingChanged = new Event2();
1122
+ /**
1123
+ * Real state of the user speaking.
1124
+ */
1125
+ _isSpeaking = false;
1126
+ _lastEventTime = 0;
1127
+ _deferredUpdate;
1128
+ constructor(_mediaStreamTrack) {
1129
+ super(), this._mediaStreamTrack = _mediaStreamTrack;
1130
+ }
1207
1131
  get isSpeaking() {
1208
1132
  return this._isSpeaking;
1209
1133
  }
@@ -1247,16 +1171,6 @@ var SpeakingMonitor = class extends Resource3 {
1247
1171
  this._lastEventTime = Date.now();
1248
1172
  this.speakingChanged.emit(this._isSpeaking);
1249
1173
  }
1250
- constructor(_mediaStreamTrack) {
1251
- super(), _define_property4(this, "_mediaStreamTrack", void 0), /**
1252
- * Event that is emitted when the user starts or stops speaking.
1253
- * It is debounced to prevent rapid state changes.
1254
- */
1255
- _define_property4(this, "speakingChanged", void 0), /**
1256
- * Real state of the user speaking.
1257
- */
1258
- _define_property4(this, "_isSpeaking", void 0), _define_property4(this, "_lastEventTime", void 0), _define_property4(this, "_deferredUpdate", void 0), this._mediaStreamTrack = _mediaStreamTrack, this.speakingChanged = new Event2(), this._isSpeaking = false, this._lastEventTime = 0;
1259
- }
1260
1174
  };
1261
1175
 
1262
1176
  // src/calls/media-manager.ts
@@ -1264,19 +1178,6 @@ import { DeferredTask as DeferredTask3, Event as Event3, sleep as sleep2, synchr
1264
1178
  import { Resource as Resource4, cancelWithContext } from "@dxos/context";
1265
1179
  import { invariant as invariant4 } from "@dxos/invariant";
1266
1180
  import { log as log4 } from "@dxos/log";
1267
- function _define_property5(obj, key, value) {
1268
- if (key in obj) {
1269
- Object.defineProperty(obj, key, {
1270
- value,
1271
- enumerable: true,
1272
- configurable: true,
1273
- writable: true
1274
- });
1275
- } else {
1276
- obj[key] = value;
1277
- }
1278
- return obj;
1279
- }
1280
1181
  function _ts_decorate2(decorators, target, key, desc) {
1281
1182
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1282
1183
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -1291,6 +1192,17 @@ var MAX_WEB_CAM_BITRATE = 12e5;
1291
1192
  var RETRY_INTERVAL = 100;
1292
1193
  var USE_INAUDIBLE_AUDIO = true;
1293
1194
  var MediaManager = class extends Resource4 {
1195
+ stateUpdated = new Event3();
1196
+ _state = {
1197
+ pulledVideoStreams: {},
1198
+ pulledAudioTracks: {}
1199
+ };
1200
+ _speakingMonitor = void 0;
1201
+ _trackToReconcile = [];
1202
+ _blackCanvasStreamTrack = void 0;
1203
+ _inaudibleAudioStreamTrack = void 0;
1204
+ _pushTracksTask = void 0;
1205
+ _pullTracksTask = void 0;
1294
1206
  get isSpeaking() {
1295
1207
  return this._speakingMonitor?.isSpeaking;
1296
1208
  }
@@ -1430,7 +1342,7 @@ var MediaManager = class extends Resource4 {
1430
1342
  async _reconcilePulledMedia() {
1431
1343
  log4("reconciling tracks", void 0, {
1432
1344
  F: __dxlog_file5,
1433
- L: 223,
1345
+ L: 229,
1434
1346
  S: this,
1435
1347
  C: (f, a) => f(...a)
1436
1348
  });
@@ -1448,7 +1360,7 @@ var MediaManager = class extends Resource4 {
1448
1360
  currentVideoStreams: Object.keys(this._state.pulledVideoStreams)
1449
1361
  }, {
1450
1362
  F: __dxlog_file5,
1451
- L: 242,
1363
+ L: 247,
1452
1364
  S: this,
1453
1365
  C: (f, a) => f(...a)
1454
1366
  });
@@ -1462,7 +1374,7 @@ var MediaManager = class extends Resource4 {
1462
1374
  currentVideoStreams: Object.keys(this._state.pulledVideoStreams)
1463
1375
  }, {
1464
1376
  F: __dxlog_file5,
1465
- L: 257,
1377
+ L: 262,
1466
1378
  S: this,
1467
1379
  C: (f, a) => f(...a)
1468
1380
  });
@@ -1473,13 +1385,13 @@ var MediaManager = class extends Resource4 {
1473
1385
  tracksToPull
1474
1386
  }, {
1475
1387
  F: __dxlog_file5,
1476
- L: 265,
1388
+ L: 270,
1477
1389
  S: this,
1478
1390
  C: (f, a) => f(...a)
1479
1391
  });
1480
1392
  invariant4(this._pullTracksTask, void 0, {
1481
1393
  F: __dxlog_file5,
1482
- L: 266,
1394
+ L: 271,
1483
1395
  S: this,
1484
1396
  A: [
1485
1397
  "this._pullTracksTask",
@@ -1532,13 +1444,13 @@ var MediaManager = class extends Resource4 {
1532
1444
  pushScreenshareResult
1533
1445
  }, {
1534
1446
  F: __dxlog_file5,
1535
- L: 306,
1447
+ L: 310,
1536
1448
  S: this,
1537
1449
  C: (f, a) => f(...a)
1538
1450
  });
1539
1451
  invariant4(this._pushTracksTask, void 0, {
1540
1452
  F: __dxlog_file5,
1541
- L: 307,
1453
+ L: 311,
1542
1454
  S: this,
1543
1455
  A: [
1544
1456
  "this._pushTracksTask",
@@ -1598,7 +1510,7 @@ var MediaManager = class extends Resource4 {
1598
1510
  name
1599
1511
  }, {
1600
1512
  F: __dxlog_file5,
1601
- L: 343,
1513
+ L: 347,
1602
1514
  S: this,
1603
1515
  C: (f, a) => f(...a)
1604
1516
  });
@@ -1632,7 +1544,7 @@ var MediaManager = class extends Resource4 {
1632
1544
  encodings
1633
1545
  }, {
1634
1546
  F: __dxlog_file5,
1635
- L: 370,
1547
+ L: 373,
1636
1548
  S: this,
1637
1549
  C: (f, a) => f(...a)
1638
1550
  });
@@ -1642,12 +1554,6 @@ var MediaManager = class extends Resource4 {
1642
1554
  };
1643
1555
  }
1644
1556
  }
1645
- constructor(...args) {
1646
- super(...args), _define_property5(this, "stateUpdated", new Event3()), _define_property5(this, "_state", {
1647
- pulledVideoStreams: {},
1648
- pulledAudioTracks: {}
1649
- }), _define_property5(this, "_speakingMonitor", void 0), _define_property5(this, "_trackToReconcile", []), _define_property5(this, "_blackCanvasStreamTrack", void 0), _define_property5(this, "_inaudibleAudioStreamTrack", void 0), _define_property5(this, "_pushTracksTask", void 0), _define_property5(this, "_pullTracksTask", void 0);
1650
- }
1651
1557
  };
1652
1558
  _ts_decorate2([
1653
1559
  synchronized2
@@ -1657,25 +1563,11 @@ _ts_decorate2([
1657
1563
  ], MediaManager.prototype, "leave", null);
1658
1564
 
1659
1565
  // src/calls/call-manager.ts
1660
- import { computed } from "@preact/signals-core";
1566
+ import { Atom } from "@effect-atom/atom-react";
1661
1567
  import { Event as Event4, synchronized as synchronized3 } from "@dxos/async";
1662
1568
  import { Resource as Resource5 } from "@dxos/context";
1663
1569
  import { invariant as invariant5 } from "@dxos/invariant";
1664
- import { live } from "@dxos/live-object";
1665
1570
  import { isNonNullable as isNonNullable2 } from "@dxos/util";
1666
- function _define_property6(obj, key, value) {
1667
- if (key in obj) {
1668
- Object.defineProperty(obj, key, {
1669
- value,
1670
- enumerable: true,
1671
- configurable: true,
1672
- writable: true
1673
- });
1674
- } else {
1675
- obj[key] = value;
1676
- }
1677
- return obj;
1678
- }
1679
1571
  function _ts_decorate3(decorators, target, key, desc) {
1680
1572
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1681
1573
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -1684,53 +1576,90 @@ function _ts_decorate3(decorators, target, key, desc) {
1684
1576
  }
1685
1577
  var __dxlog_file6 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/call-manager.ts";
1686
1578
  var CallManager = class extends Resource5 {
1687
- /** @reactive */
1688
- get roomId() {
1689
- return this._state.call.roomId;
1690
- }
1691
- /** @reactive */
1692
- get raisedHand() {
1693
- return this._raisedHandSignal.value;
1694
- }
1695
- /** @reactive */
1696
- get speaking() {
1697
- return this._speakingSignal.value;
1698
- }
1699
- /** @reactive */
1700
- get joined() {
1701
- return this._joinedSignal.value;
1702
- }
1703
- /** @reactive */
1704
- get self() {
1705
- return this._state.call.self ?? {};
1706
- }
1707
- /** @reactive */
1708
- get tracks() {
1709
- return this._state.call.tracks ?? {};
1710
- }
1711
- /** @reactive */
1712
- get users() {
1713
- return this._state.call.users ?? [];
1714
- }
1715
- /** @reactive */
1716
- get media() {
1717
- return this._state.media;
1718
- }
1719
- /** @reactive */
1720
- get audioTracksToPlay() {
1721
- return (this._state.call.users ?? []).map((user) => user.tracks?.audioEnabled ? user.tracks?.audio : void 0).filter(isNonNullable2).map((track) => this._state.media.pulledAudioTracks[track]?.track).filter(isNonNullable2);
1722
- }
1723
- /** @reactive */
1724
- get state() {
1725
- return this._state;
1726
- }
1727
- /** @reactive */
1728
- getVideoStream(name) {
1729
- return name ? this._state.media.pulledVideoStreams[name]?.stream : void 0;
1730
- }
1731
- /** @reactive */
1732
- getActivity(key) {
1733
- return this._state.call.activities?.[key];
1579
+ _client;
1580
+ _registry;
1581
+ callStateUpdated = new Event4();
1582
+ // TODO(wittjosiah): Consolidate isSpeaking into the MediaState type.
1583
+ mediaStateUpdated = new Event4();
1584
+ left = new Event4();
1585
+ /**
1586
+ * Atom-based state. Updated via `_updateState()`.
1587
+ * CAUTION: Do not change directly.
1588
+ */
1589
+ _stateAtom = Atom.make({
1590
+ call: {},
1591
+ media: {
1592
+ pulledAudioTracks: {},
1593
+ pulledVideoStreams: {}
1594
+ }
1595
+ });
1596
+ // Derived atoms for reactive subscriptions.
1597
+ _roomIdAtom = Atom.make((get) => get(this._stateAtom).call.roomId);
1598
+ _raisedHandAtom = Atom.make((get) => get(this._stateAtom).call.raisedHand ?? false);
1599
+ _speakingAtom = Atom.make((get) => get(this._stateAtom).call.speaking ?? false);
1600
+ _joinedAtom = Atom.make((get) => get(this._stateAtom).call.joined ?? false);
1601
+ _selfAtom = Atom.make((get) => get(this._stateAtom).call.self ?? {});
1602
+ _tracksAtom = Atom.make((get) => get(this._stateAtom).call.tracks ?? {});
1603
+ _usersAtom = Atom.make((get) => get(this._stateAtom).call.users ?? []);
1604
+ _mediaAtom = Atom.make((get) => get(this._stateAtom).media);
1605
+ _audioTracksToPlayAtom = Atom.make((get) => {
1606
+ const state = get(this._stateAtom);
1607
+ return (state.call.users ?? []).map((user) => user.tracks?.audioEnabled ? user.tracks?.audio : void 0).filter(isNonNullable2).map((track) => state.media.pulledAudioTracks[track]?.track).filter(isNonNullable2);
1608
+ });
1609
+ _videoStreamAtomFamily = Atom.family((name) => Atom.make((get) => get(this._stateAtom).media.pulledVideoStreams[name]?.stream));
1610
+ _activityAtomFamily = Atom.family((key) => Atom.make((get) => get(this._stateAtom).call.activities?.[key]));
1611
+ _swarmSynchronizer;
1612
+ _mediaManager;
1613
+ //
1614
+ // Derived atoms for reactive UI subscriptions.
1615
+ //
1616
+ /** Derived atom for roomId. */
1617
+ get roomIdAtom() {
1618
+ return this._roomIdAtom;
1619
+ }
1620
+ /** Derived atom for raisedHand. */
1621
+ get raisedHandAtom() {
1622
+ return this._raisedHandAtom;
1623
+ }
1624
+ /** Derived atom for speaking. */
1625
+ get speakingAtom() {
1626
+ return this._speakingAtom;
1627
+ }
1628
+ /** Derived atom for joined. */
1629
+ get joinedAtom() {
1630
+ return this._joinedAtom;
1631
+ }
1632
+ /** Derived atom for self. */
1633
+ get selfAtom() {
1634
+ return this._selfAtom;
1635
+ }
1636
+ /** Derived atom for tracks. */
1637
+ get tracksAtom() {
1638
+ return this._tracksAtom;
1639
+ }
1640
+ /** Derived atom for users. */
1641
+ get usersAtom() {
1642
+ return this._usersAtom;
1643
+ }
1644
+ /** Derived atom for media. */
1645
+ get mediaAtom() {
1646
+ return this._mediaAtom;
1647
+ }
1648
+ /** Derived atom for audioTracksToPlay. */
1649
+ get audioTracksToPlayAtom() {
1650
+ return this._audioTracksToPlayAtom;
1651
+ }
1652
+ /** Returns the full state atom for reactive subscriptions. */
1653
+ get stateAtom() {
1654
+ return this._stateAtom;
1655
+ }
1656
+ /** Returns a derived atom for a video stream by name. */
1657
+ videoStreamAtom(name) {
1658
+ return this._videoStreamAtomFamily(name);
1659
+ }
1660
+ /** Returns a derived atom for an activity by key. */
1661
+ activityAtom(key) {
1662
+ return this._activityAtomFamily(key);
1734
1663
  }
1735
1664
  setRoomId(roomId) {
1736
1665
  this._swarmSynchronizer._setRoomId(roomId);
@@ -1762,6 +1691,25 @@ var CallManager = class extends Resource5 {
1762
1691
  turnScreenshareOff() {
1763
1692
  return this._mediaManager.turnScreenshareOff();
1764
1693
  }
1694
+ // TODO(burdon): Can this be mocked?
1695
+ constructor(_client, _registry) {
1696
+ super(), this._client = _client, this._registry = _registry;
1697
+ this._client.config.getOrThrow("runtime.services.edge.url");
1698
+ const networkService = this._client.services.services.NetworkService;
1699
+ invariant5(networkService, "network service not found", {
1700
+ F: __dxlog_file6,
1701
+ L: 180,
1702
+ S: this,
1703
+ A: [
1704
+ "networkService",
1705
+ "'network service not found'"
1706
+ ]
1707
+ });
1708
+ this._swarmSynchronizer = new CallSwarmSynchronizer({
1709
+ networkService
1710
+ });
1711
+ this._mediaManager = new MediaManager();
1712
+ }
1765
1713
  async _open() {
1766
1714
  await this._mediaManager.open();
1767
1715
  await this._swarmSynchronizer.open();
@@ -1799,7 +1747,8 @@ var CallManager = class extends Resource5 {
1799
1747
  this._swarmSynchronizer.setJoined(false);
1800
1748
  await this._swarmSynchronizer.leave();
1801
1749
  await this._mediaManager.leave();
1802
- this.roomId && this.left.emit(this.roomId);
1750
+ const roomId = this._registry.get(this._roomIdAtom);
1751
+ roomId && this.left.emit(roomId);
1803
1752
  }
1804
1753
  _onCallStateUpdated(state) {
1805
1754
  const tracksToPull = state.users?.filter((user) => user.joined && user.id !== state.self.id)?.flatMap((user) => [
@@ -1832,39 +1781,10 @@ var CallManager = class extends Resource5 {
1832
1781
  * Only this method is allowed to change state.
1833
1782
  */
1834
1783
  _updateState() {
1835
- this._state.call = this._swarmSynchronizer._getState();
1836
- this._state.media = this._mediaManager._getState();
1837
- }
1838
- // TODO(burdon): Can this be mocked?
1839
- constructor(_client) {
1840
- super(), _define_property6(this, "_client", void 0), _define_property6(this, "callStateUpdated", void 0), // TODO(wittjosiah): Consolidate isSpeaking into the MediaState type.
1841
- _define_property6(this, "mediaStateUpdated", void 0), _define_property6(this, "left", void 0), /**
1842
- * Live object state. Is changed on internal events.
1843
- * CAUTION: Do not change directly.
1844
- */
1845
- _define_property6(this, "_state", void 0), // TODO(wittjosiah): This shouldn't be necessary, live-object's signals should be granular.
1846
- _define_property6(this, "_raisedHandSignal", void 0), _define_property6(this, "_speakingSignal", void 0), _define_property6(this, "_joinedSignal", void 0), _define_property6(this, "_swarmSynchronizer", void 0), _define_property6(this, "_mediaManager", void 0), this._client = _client, this.callStateUpdated = new Event4(), this.mediaStateUpdated = new Event4(), this.left = new Event4(), this._state = live({
1847
- call: {},
1848
- media: {
1849
- pulledAudioTracks: {},
1850
- pulledVideoStreams: {}
1851
- }
1852
- }), this._raisedHandSignal = computed(() => this._state.call.raisedHand ?? false), this._speakingSignal = computed(() => this._state.call.speaking ?? false), this._joinedSignal = computed(() => this._state.call.joined ?? false);
1853
- this._client.config.getOrThrow("runtime.services.edge.url");
1854
- const networkService = this._client.services.services.NetworkService;
1855
- invariant5(networkService, "network service not found", {
1856
- F: __dxlog_file6,
1857
- L: 159,
1858
- S: this,
1859
- A: [
1860
- "networkService",
1861
- "'network service not found'"
1862
- ]
1784
+ this._registry.set(this._stateAtom, {
1785
+ call: this._swarmSynchronizer._getState(),
1786
+ media: this._mediaManager._getState()
1863
1787
  });
1864
- this._swarmSynchronizer = new CallSwarmSynchronizer({
1865
- networkService
1866
- });
1867
- this._mediaManager = new MediaManager();
1868
1788
  }
1869
1789
  };
1870
1790
  _ts_decorate3([
@@ -1888,4 +1808,4 @@ export {
1888
1808
  MediaManager,
1889
1809
  CallManager
1890
1810
  };
1891
- //# sourceMappingURL=chunk-TIPIOH2J.mjs.map
1811
+ //# sourceMappingURL=chunk-QP3KQOPQ.mjs.map