@dxos/plugin-thread 0.8.3 → 0.8.4-main.28f8d3d

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 (294) hide show
  1. package/dist/lib/browser/ChannelContainer-O2SFQJU7.mjs +16 -0
  2. package/dist/lib/browser/ChatContainer-PVT3DUZJ.mjs +15 -0
  3. package/dist/lib/browser/{app-graph-builder-OY7R7EJP.mjs → app-graph-builder-AF3M7UWN.mjs} +8 -8
  4. package/dist/lib/browser/app-graph-builder-AF3M7UWN.mjs.map +7 -0
  5. package/dist/lib/browser/{call-manager-APQAZWHT.mjs → call-manager-XRRCAVLI.mjs} +6 -5
  6. package/dist/lib/browser/call-manager-XRRCAVLI.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-2CWJBXBH.mjs +21 -0
  8. package/dist/lib/browser/{chunk-R5MDLUPC.mjs → chunk-4APCDRSH.mjs} +3 -3
  9. package/dist/lib/browser/{chunk-R5MDLUPC.mjs.map → chunk-4APCDRSH.mjs.map} +1 -1
  10. package/dist/lib/browser/{chunk-AEXWNS6Z.mjs → chunk-DW7JD64V.mjs} +14 -5
  11. package/dist/lib/browser/chunk-DW7JD64V.mjs.map +7 -0
  12. package/dist/lib/browser/{chunk-IIUTBDVB.mjs → chunk-EV4JWI7L.mjs} +2 -2
  13. package/dist/lib/browser/chunk-FY4ZRD5X.mjs +367 -0
  14. package/dist/lib/browser/chunk-FY4ZRD5X.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-JKQUJOTX.mjs → chunk-GERVMFQW.mjs} +2 -2
  16. package/dist/lib/browser/chunk-J3JO5NWO.mjs +477 -0
  17. package/dist/lib/browser/chunk-J3JO5NWO.mjs.map +7 -0
  18. package/dist/lib/browser/chunk-JGKMMI65.mjs +56 -0
  19. package/dist/lib/browser/chunk-JGKMMI65.mjs.map +7 -0
  20. package/dist/lib/browser/{chunk-4H4A264L.mjs → chunk-TUFWPOVS.mjs} +148 -158
  21. package/dist/lib/browser/chunk-TUFWPOVS.mjs.map +7 -0
  22. package/dist/lib/browser/{chunk-5P5BH5GE.mjs → chunk-X5PIP5YR.mjs} +67 -6
  23. package/dist/lib/browser/chunk-X5PIP5YR.mjs.map +7 -0
  24. package/dist/lib/browser/{chunk-XZKBN3NS.mjs → chunk-ZJ7QBXK6.mjs} +246 -245
  25. package/dist/lib/browser/chunk-ZJ7QBXK6.mjs.map +7 -0
  26. package/dist/lib/browser/index.mjs +36 -42
  27. package/dist/lib/browser/index.mjs.map +3 -3
  28. package/dist/lib/browser/{intent-resolver-FK2MDVDT.mjs → intent-resolver-DCY4P4OX.mjs} +31 -15
  29. package/dist/lib/browser/intent-resolver-DCY4P4OX.mjs.map +7 -0
  30. package/dist/lib/browser/{markdown-TE5SWWNJ.mjs → markdown-WZSXCEZJ.mjs} +8 -8
  31. package/dist/lib/browser/markdown-WZSXCEZJ.mjs.map +7 -0
  32. package/dist/lib/browser/meta.json +1 -1
  33. package/dist/lib/browser/react-root-QXPALOUQ.mjs +28 -0
  34. package/dist/lib/browser/{react-surface-VXUJKSOG.mjs → react-surface-PYAMIADB.mjs} +12 -11
  35. package/dist/lib/browser/react-surface-PYAMIADB.mjs.map +7 -0
  36. package/dist/lib/browser/{settings-RB2RSLXV.mjs → settings-AC6YSASL.mjs} +4 -4
  37. package/dist/lib/browser/{state-RKL5MSDP.mjs → state-2T4KDWBX.mjs} +4 -4
  38. package/dist/lib/browser/{state-RKL5MSDP.mjs.map → state-2T4KDWBX.mjs.map} +2 -2
  39. package/dist/lib/browser/types/index.mjs +2 -2
  40. package/dist/lib/node-esm/ChannelContainer-B2ZGAE4P.mjs +17 -0
  41. package/dist/lib/node-esm/{ChatContainer-F6CSADV7.mjs → ChatContainer-2CT4PJ7I.mjs} +6 -5
  42. package/dist/lib/node-esm/{app-graph-builder-BAHBHYWI.mjs → app-graph-builder-OLSJVCWY.mjs} +8 -8
  43. package/dist/lib/node-esm/app-graph-builder-OLSJVCWY.mjs.map +7 -0
  44. package/dist/lib/node-esm/{call-manager-UUYXLF4T.mjs → call-manager-EI7FXRAU.mjs} +6 -5
  45. package/dist/lib/node-esm/call-manager-EI7FXRAU.mjs.map +7 -0
  46. package/dist/lib/node-esm/{chunk-WXNPD542.mjs → chunk-4TME3BR4.mjs} +147 -158
  47. package/dist/lib/node-esm/chunk-4TME3BR4.mjs.map +7 -0
  48. package/dist/lib/node-esm/{chunk-PGRP3O4O.mjs → chunk-57XR3LEF.mjs} +2 -2
  49. package/dist/lib/node-esm/chunk-6CRHHOST.mjs +23 -0
  50. package/dist/lib/node-esm/chunk-BF4UKS55.mjs +368 -0
  51. package/dist/lib/node-esm/chunk-BF4UKS55.mjs.map +7 -0
  52. package/dist/lib/node-esm/{chunk-ESQC6SYE.mjs → chunk-GRLRWTRU.mjs} +2 -2
  53. package/dist/lib/node-esm/{chunk-K4KAUOKT.mjs → chunk-PYTVBN5J.mjs} +3 -3
  54. package/dist/lib/node-esm/{chunk-K4KAUOKT.mjs.map → chunk-PYTVBN5J.mjs.map} +1 -1
  55. package/dist/lib/node-esm/chunk-QBHKLWGR.mjs +58 -0
  56. package/dist/lib/node-esm/chunk-QBHKLWGR.mjs.map +7 -0
  57. package/dist/lib/node-esm/{chunk-O3V45YJP.mjs → chunk-SED3O2XO.mjs} +66 -6
  58. package/dist/lib/node-esm/chunk-SED3O2XO.mjs.map +7 -0
  59. package/dist/lib/node-esm/chunk-VNG6M2IY.mjs +478 -0
  60. package/dist/lib/node-esm/chunk-VNG6M2IY.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-UJMPYKT3.mjs → chunk-XVKWHTH4.mjs} +14 -5
  62. package/dist/lib/node-esm/chunk-XVKWHTH4.mjs.map +7 -0
  63. package/dist/lib/node-esm/{chunk-2RNIPFDA.mjs → chunk-YIDU3DXK.mjs} +246 -245
  64. package/dist/lib/node-esm/chunk-YIDU3DXK.mjs.map +7 -0
  65. package/dist/lib/node-esm/index.mjs +36 -42
  66. package/dist/lib/node-esm/index.mjs.map +3 -3
  67. package/dist/lib/node-esm/{intent-resolver-BU73VYW3.mjs → intent-resolver-QGTPU6QB.mjs} +31 -15
  68. package/dist/lib/node-esm/intent-resolver-QGTPU6QB.mjs.map +7 -0
  69. package/dist/lib/node-esm/{markdown-HJUWNBLS.mjs → markdown-3MZXUGUA.mjs} +8 -8
  70. package/dist/lib/node-esm/markdown-3MZXUGUA.mjs.map +7 -0
  71. package/dist/lib/node-esm/meta.json +1 -1
  72. package/dist/lib/node-esm/{react-root-RUXOAQNW.mjs → react-root-7ZFJYVUZ.mjs} +12 -11
  73. package/dist/lib/{browser/react-root-NK3A4VG7.mjs.map → node-esm/react-root-7ZFJYVUZ.mjs.map} +1 -1
  74. package/dist/lib/node-esm/{react-surface-ELXFYKP6.mjs → react-surface-UJFCSFNO.mjs} +12 -11
  75. package/dist/lib/node-esm/react-surface-UJFCSFNO.mjs.map +7 -0
  76. package/dist/lib/node-esm/{settings-EA7DFSM6.mjs → settings-N52O7MLS.mjs} +4 -4
  77. package/dist/lib/node-esm/{state-6AUTNROZ.mjs → state-62TQKQVB.mjs} +4 -4
  78. package/dist/lib/node-esm/{state-6AUTNROZ.mjs.map → state-62TQKQVB.mjs.map} +2 -2
  79. package/dist/lib/node-esm/types/index.mjs +2 -2
  80. package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
  81. package/dist/types/src/calls/call-manager.d.ts +1 -1
  82. package/dist/types/src/calls/call-manager.d.ts.map +1 -1
  83. package/dist/types/src/calls/call-swarm-synchronizer.d.ts.map +1 -1
  84. package/dist/types/src/calls/media-manager.d.ts.map +1 -1
  85. package/dist/types/src/calls/types.d.ts +1 -1
  86. package/dist/types/src/calls/types.d.ts.map +1 -1
  87. package/dist/types/src/calls/util/calls-service.d.ts +5 -2
  88. package/dist/types/src/calls/util/calls-service.d.ts.map +1 -1
  89. package/dist/types/src/calls/util/stub-media-streams.d.ts.map +1 -1
  90. package/dist/types/src/calls-service.stories.d.ts +22 -0
  91. package/dist/types/src/calls-service.stories.d.ts.map +1 -0
  92. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  93. package/dist/types/src/capabilities/call-manager.d.ts.map +1 -1
  94. package/dist/types/src/capabilities/capabilities.d.ts +2 -2
  95. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  96. package/dist/types/src/capabilities/index.d.ts +1 -1
  97. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  98. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  99. package/dist/types/src/capabilities/markdown.d.ts +1 -1
  100. package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
  101. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  102. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  103. package/dist/types/src/components/Call/Call.d.ts.map +1 -1
  104. package/dist/types/src/components/Call/Toolbar.d.ts.map +1 -1
  105. package/dist/types/src/components/CallDebugPanel.d.ts.map +1 -1
  106. package/dist/types/src/components/CallSidebar.d.ts.map +1 -1
  107. package/dist/types/src/components/ChannelContainer.d.ts.map +1 -1
  108. package/dist/types/src/components/ChannelContainer.stories.d.ts +2 -2
  109. package/dist/types/src/components/ChannelContainer.stories.d.ts.map +1 -1
  110. package/dist/types/src/components/Chat.stories.d.ts +3 -2
  111. package/dist/types/src/components/Chat.stories.d.ts.map +1 -1
  112. package/dist/types/src/components/ChatContainer.d.ts +2 -2
  113. package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
  114. package/dist/types/src/components/Comments.stories.d.ts +1 -1
  115. package/dist/types/src/components/Comments.stories.d.ts.map +1 -1
  116. package/dist/types/src/components/CommentsContainer.d.ts +4 -4
  117. package/dist/types/src/components/CommentsContainer.d.ts.map +1 -1
  118. package/dist/types/src/components/CommentsThreadContainer.d.ts +14 -0
  119. package/dist/types/src/components/CommentsThreadContainer.d.ts.map +1 -0
  120. package/dist/types/src/components/Lobby/Lobby.d.ts.map +1 -1
  121. package/dist/types/src/components/Media/VideoObject.d.ts +1 -1
  122. package/dist/types/src/components/Media/VideoObject.stories.d.ts +1 -1
  123. package/dist/types/src/components/Media/VideoObject.stories.d.ts.map +1 -1
  124. package/dist/types/src/components/MessageContainer.d.ts.map +1 -1
  125. package/dist/types/src/components/Participant/ParticipantGrid.d.ts.map +1 -1
  126. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +1 -1
  127. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +1 -1
  128. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +1 -1
  129. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +1 -1
  130. package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts.map +1 -1
  131. package/dist/types/src/components/index.d.ts +1 -1
  132. package/dist/types/src/components/index.d.ts.map +1 -1
  133. package/dist/types/src/extensions/threads.d.ts +2 -2
  134. package/dist/types/src/extensions/threads.d.ts.map +1 -1
  135. package/dist/types/src/hooks/index.d.ts +2 -0
  136. package/dist/types/src/hooks/index.d.ts.map +1 -1
  137. package/dist/types/src/hooks/useInaudibleAudioStreamTrack.d.ts +2 -0
  138. package/dist/types/src/hooks/useInaudibleAudioStreamTrack.d.ts.map +1 -0
  139. package/dist/types/src/hooks/useVideoStreamTrack.d.ts +3 -0
  140. package/dist/types/src/hooks/useVideoStreamTrack.d.ts.map +1 -0
  141. package/dist/types/src/testing/stories.d.ts.map +1 -1
  142. package/dist/types/src/translations.d.ts +74 -194
  143. package/dist/types/src/translations.d.ts.map +1 -1
  144. package/dist/types/src/types/schema.d.ts +53 -22
  145. package/dist/types/src/types/schema.d.ts.map +1 -1
  146. package/dist/types/src/types/types.d.ts +72 -24
  147. package/dist/types/src/types/types.d.ts.map +1 -1
  148. package/dist/types/src/util.d.ts +17 -2
  149. package/dist/types/src/util.d.ts.map +1 -1
  150. package/dist/types/tsconfig.tsbuildinfo +1 -1
  151. package/package.json +49 -48
  152. package/src/ThreadPlugin.tsx +9 -24
  153. package/src/calls/call-manager.ts +7 -3
  154. package/src/calls/call-swarm-synchronizer.ts +1 -1
  155. package/src/calls/media-manager.ts +13 -6
  156. package/src/calls/types.ts +1 -1
  157. package/src/calls/util/calls-service.ts +12 -8
  158. package/src/calls/util/stub-media-streams.ts +5 -8
  159. package/src/calls-service.stories.tsx +216 -0
  160. package/src/capabilities/app-graph-builder.ts +6 -5
  161. package/src/capabilities/call-manager.ts +3 -2
  162. package/src/capabilities/capabilities.ts +2 -2
  163. package/src/capabilities/intent-resolver.ts +26 -7
  164. package/src/capabilities/markdown.ts +4 -3
  165. package/src/capabilities/react-surface.tsx +5 -4
  166. package/src/capabilities/state.ts +2 -1
  167. package/src/components/Call/Call.tsx +4 -3
  168. package/src/components/Call/Toolbar.tsx +5 -5
  169. package/src/components/CallDebugPanel.tsx +3 -3
  170. package/src/components/CallSidebar.tsx +2 -1
  171. package/src/components/ChannelContainer.stories.tsx +8 -7
  172. package/src/components/ChannelContainer.tsx +13 -11
  173. package/src/components/Chat.stories.tsx +7 -6
  174. package/src/components/ChatContainer.tsx +16 -14
  175. package/src/components/Comments.stories.tsx +24 -16
  176. package/src/components/CommentsContainer.tsx +17 -11
  177. package/src/components/{CommentContainer.tsx → CommentsThreadContainer.tsx} +51 -81
  178. package/src/components/Lobby/Lobby.tsx +1 -1
  179. package/src/components/Media/VideoObject.stories.tsx +4 -3
  180. package/src/components/MessageContainer.tsx +31 -46
  181. package/src/components/Participant/ParticipantGrid.tsx +2 -1
  182. package/src/components/ResponsiveGrid/ResponsiveContainer.stories.tsx +5 -4
  183. package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +5 -4
  184. package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +1 -1
  185. package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +4 -4
  186. package/src/components/ThreadComplementary.tsx +3 -3
  187. package/src/components/ThreadSettings.tsx +2 -2
  188. package/src/components/command-extension.ts +1 -1
  189. package/src/components/index.ts +1 -1
  190. package/src/components/testing.ts +2 -2
  191. package/src/extensions/threads.ts +6 -6
  192. package/src/hooks/index.ts +2 -0
  193. package/src/hooks/useDebugMode.ts +1 -1
  194. package/src/hooks/useInaudibleAudioStreamTrack.tsx +27 -0
  195. package/src/hooks/useVideoStreamTrack.tsx +33 -0
  196. package/src/testing/stories.ts +7 -3
  197. package/src/translations.ts +11 -8
  198. package/src/types/types.ts +11 -2
  199. package/src/typings.d.ts +8 -0
  200. package/dist/lib/browser/ChannelContainer-PKFBVENP.mjs +0 -15
  201. package/dist/lib/browser/ChatContainer-RSOKYAMK.mjs +0 -14
  202. package/dist/lib/browser/app-graph-builder-OY7R7EJP.mjs.map +0 -7
  203. package/dist/lib/browser/call-manager-APQAZWHT.mjs.map +0 -7
  204. package/dist/lib/browser/chunk-4H4A264L.mjs.map +0 -7
  205. package/dist/lib/browser/chunk-5P5BH5GE.mjs.map +0 -7
  206. package/dist/lib/browser/chunk-6NBVNXTM.mjs +0 -21
  207. package/dist/lib/browser/chunk-AEXWNS6Z.mjs.map +0 -7
  208. package/dist/lib/browser/chunk-PG5CTFKK.mjs +0 -550
  209. package/dist/lib/browser/chunk-PG5CTFKK.mjs.map +0 -7
  210. package/dist/lib/browser/chunk-TAFSCSUR.mjs +0 -351
  211. package/dist/lib/browser/chunk-TAFSCSUR.mjs.map +0 -7
  212. package/dist/lib/browser/chunk-XZKBN3NS.mjs.map +0 -7
  213. package/dist/lib/browser/intent-resolver-FK2MDVDT.mjs.map +0 -7
  214. package/dist/lib/browser/markdown-TE5SWWNJ.mjs.map +0 -7
  215. package/dist/lib/browser/react-root-NK3A4VG7.mjs +0 -27
  216. package/dist/lib/browser/react-surface-VXUJKSOG.mjs.map +0 -7
  217. package/dist/lib/node/ChannelContainer-YS5YT2ML.cjs +0 -36
  218. package/dist/lib/node/ChannelContainer-YS5YT2ML.cjs.map +0 -7
  219. package/dist/lib/node/ChatContainer-GCOM3M56.cjs +0 -35
  220. package/dist/lib/node/ChatContainer-GCOM3M56.cjs.map +0 -7
  221. package/dist/lib/node/app-graph-builder-PBHJNDQY.cjs +0 -179
  222. package/dist/lib/node/app-graph-builder-PBHJNDQY.cjs.map +0 -7
  223. package/dist/lib/node/call-manager-HV2XJW5O.cjs +0 -37
  224. package/dist/lib/node/call-manager-HV2XJW5O.cjs.map +0 -7
  225. package/dist/lib/node/chunk-44I33JDT.cjs +0 -1731
  226. package/dist/lib/node/chunk-44I33JDT.cjs.map +0 -7
  227. package/dist/lib/node/chunk-4YSNVPWU.cjs +0 -37
  228. package/dist/lib/node/chunk-4YSNVPWU.cjs.map +0 -7
  229. package/dist/lib/node/chunk-E3WBZTTI.cjs +0 -371
  230. package/dist/lib/node/chunk-E3WBZTTI.cjs.map +0 -7
  231. package/dist/lib/node/chunk-ERG7G6FF.cjs +0 -59
  232. package/dist/lib/node/chunk-ERG7G6FF.cjs.map +0 -7
  233. package/dist/lib/node/chunk-FUXJAVFZ.cjs +0 -108
  234. package/dist/lib/node/chunk-FUXJAVFZ.cjs.map +0 -7
  235. package/dist/lib/node/chunk-HLMCEE5K.cjs +0 -41
  236. package/dist/lib/node/chunk-HLMCEE5K.cjs.map +0 -7
  237. package/dist/lib/node/chunk-IP533AMV.cjs +0 -554
  238. package/dist/lib/node/chunk-IP533AMV.cjs.map +0 -7
  239. package/dist/lib/node/chunk-LR5NENBE.cjs +0 -54
  240. package/dist/lib/node/chunk-LR5NENBE.cjs.map +0 -7
  241. package/dist/lib/node/chunk-UM36TPCT.cjs +0 -984
  242. package/dist/lib/node/chunk-UM36TPCT.cjs.map +0 -7
  243. package/dist/lib/node/chunk-ZGDN3XBR.cjs +0 -149
  244. package/dist/lib/node/chunk-ZGDN3XBR.cjs.map +0 -7
  245. package/dist/lib/node/index.cjs +0 -310
  246. package/dist/lib/node/index.cjs.map +0 -7
  247. package/dist/lib/node/intent-resolver-SYSJ5SJG.cjs +0 -363
  248. package/dist/lib/node/intent-resolver-SYSJ5SJG.cjs.map +0 -7
  249. package/dist/lib/node/markdown-GQIPJS2F.cjs +0 -178
  250. package/dist/lib/node/markdown-GQIPJS2F.cjs.map +0 -7
  251. package/dist/lib/node/meta.json +0 -1
  252. package/dist/lib/node/react-root-6HHDMULJ.cjs +0 -51
  253. package/dist/lib/node/react-root-6HHDMULJ.cjs.map +0 -7
  254. package/dist/lib/node/react-surface-NBH42NN2.cjs +0 -122
  255. package/dist/lib/node/react-surface-NBH42NN2.cjs.map +0 -7
  256. package/dist/lib/node/settings-4LQSFEDK.cjs +0 -36
  257. package/dist/lib/node/settings-4LQSFEDK.cjs.map +0 -7
  258. package/dist/lib/node/state-IY5XX3H2.cjs +0 -50
  259. package/dist/lib/node/state-IY5XX3H2.cjs.map +0 -7
  260. package/dist/lib/node/types/index.cjs +0 -38
  261. package/dist/lib/node/types/index.cjs.map +0 -7
  262. package/dist/lib/node-esm/ChannelContainer-O4QJII2P.mjs +0 -16
  263. package/dist/lib/node-esm/app-graph-builder-BAHBHYWI.mjs.map +0 -7
  264. package/dist/lib/node-esm/call-manager-UUYXLF4T.mjs.map +0 -7
  265. package/dist/lib/node-esm/chunk-2RNIPFDA.mjs.map +0 -7
  266. package/dist/lib/node-esm/chunk-O3V45YJP.mjs.map +0 -7
  267. package/dist/lib/node-esm/chunk-O63QJPQX.mjs +0 -23
  268. package/dist/lib/node-esm/chunk-P6RLFCNT.mjs +0 -352
  269. package/dist/lib/node-esm/chunk-P6RLFCNT.mjs.map +0 -7
  270. package/dist/lib/node-esm/chunk-UJMPYKT3.mjs.map +0 -7
  271. package/dist/lib/node-esm/chunk-UZWVVFT3.mjs +0 -551
  272. package/dist/lib/node-esm/chunk-UZWVVFT3.mjs.map +0 -7
  273. package/dist/lib/node-esm/chunk-WXNPD542.mjs.map +0 -7
  274. package/dist/lib/node-esm/intent-resolver-BU73VYW3.mjs.map +0 -7
  275. package/dist/lib/node-esm/markdown-HJUWNBLS.mjs.map +0 -7
  276. package/dist/lib/node-esm/react-surface-ELXFYKP6.mjs.map +0 -7
  277. package/dist/types/src/components/CommentContainer.d.ts +0 -13
  278. package/dist/types/src/components/CommentContainer.d.ts.map +0 -1
  279. package/dist/types/src/peers.stories.d.ts +0 -11
  280. package/dist/types/src/peers.stories.d.ts.map +0 -1
  281. package/src/peers.stories.tsx +0 -189
  282. /package/dist/lib/browser/{ChannelContainer-PKFBVENP.mjs.map → ChannelContainer-O2SFQJU7.mjs.map} +0 -0
  283. /package/dist/lib/browser/{ChatContainer-RSOKYAMK.mjs.map → ChatContainer-PVT3DUZJ.mjs.map} +0 -0
  284. /package/dist/lib/browser/{chunk-6NBVNXTM.mjs.map → chunk-2CWJBXBH.mjs.map} +0 -0
  285. /package/dist/lib/browser/{chunk-IIUTBDVB.mjs.map → chunk-EV4JWI7L.mjs.map} +0 -0
  286. /package/dist/lib/browser/{chunk-JKQUJOTX.mjs.map → chunk-GERVMFQW.mjs.map} +0 -0
  287. /package/dist/lib/{node-esm/react-root-RUXOAQNW.mjs.map → browser/react-root-QXPALOUQ.mjs.map} +0 -0
  288. /package/dist/lib/browser/{settings-RB2RSLXV.mjs.map → settings-AC6YSASL.mjs.map} +0 -0
  289. /package/dist/lib/node-esm/{ChannelContainer-O4QJII2P.mjs.map → ChannelContainer-B2ZGAE4P.mjs.map} +0 -0
  290. /package/dist/lib/node-esm/{ChatContainer-F6CSADV7.mjs.map → ChatContainer-2CT4PJ7I.mjs.map} +0 -0
  291. /package/dist/lib/node-esm/{chunk-PGRP3O4O.mjs.map → chunk-57XR3LEF.mjs.map} +0 -0
  292. /package/dist/lib/node-esm/{chunk-O63QJPQX.mjs.map → chunk-6CRHHOST.mjs.map} +0 -0
  293. /package/dist/lib/node-esm/{chunk-ESQC6SYE.mjs.map → chunk-GRLRWTRU.mjs.map} +0 -0
  294. /package/dist/lib/node-esm/{settings-EA7DFSM6.mjs.map → settings-N52O7MLS.mjs.map} +0 -0
@@ -1,4 +1,9 @@
1
- // packages/plugins/plugin-thread/src/calls/types.ts
1
+ import {
2
+ createBlackCanvasStreamTrack,
3
+ createInaudibleAudioStreamTrack
4
+ } from "./chunk-JGKMMI65.mjs";
5
+
6
+ // src/calls/types.ts
2
7
  import { buf } from "@dxos/protocols/buf";
3
8
  import { UserStateSchema } from "@dxos/protocols/buf/dxos/edge/calls_pb";
4
9
  var CALLS_URL = "https://calls-service.dxos.workers.dev";
@@ -24,7 +29,7 @@ var TrackNameCodec = {
24
29
  }
25
30
  };
26
31
 
27
- // packages/plugins/plugin-thread/src/calls/call-swarm-synchronizer.ts
32
+ // src/calls/call-swarm-synchronizer.ts
28
33
  import md5Hex from "md5-hex";
29
34
  import { DeferredTask, Event, scheduleTaskInterval, synchronized } from "@dxos/async";
30
35
  import { Context, Resource } from "@dxos/context";
@@ -42,22 +47,23 @@ function _ts_decorate(decorators, target, key, desc) {
42
47
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
43
48
  return c > 3 && r && Object.defineProperty(target, key, r), r;
44
49
  }
45
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-thread/src/calls/call-swarm-synchronizer.ts";
50
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/call-swarm-synchronizer.ts";
46
51
  var DISCONNECTED_ABRUPT_TIMEOUT = 1e4;
47
52
  var CallSwarmSynchronizer = class extends Resource {
53
+ stateUpdated = new Event();
54
+ _state = {
55
+ activities: {}
56
+ };
57
+ _networkService;
58
+ _lastSwarmEvent = void 0;
59
+ _reconcileSwarmStateTask = void 0;
60
+ _identityKey = void 0;
61
+ _deviceKey = void 0;
62
+ _displayName = void 0;
63
+ _swarmCtx = void 0;
64
+ _sendStateTask = void 0;
48
65
  constructor({ networkService }) {
49
66
  super();
50
- this.stateUpdated = new Event();
51
- this._state = {
52
- activities: {}
53
- };
54
- this._lastSwarmEvent = void 0;
55
- this._reconcileSwarmStateTask = void 0;
56
- this._identityKey = void 0;
57
- this._deviceKey = void 0;
58
- this._displayName = void 0;
59
- this._swarmCtx = void 0;
60
- this._sendStateTask = void 0;
61
67
  this._networkService = networkService;
62
68
  }
63
69
  /**
@@ -355,7 +361,7 @@ var LamportTimestampCrdt = class {
355
361
  };
356
362
  var getTopic = (roomId) => PublicKey.fromHex(md5Hex(roomId));
357
363
 
358
- // packages/plugins/plugin-thread/src/calls/util/audio.ts
364
+ // src/calls/util/audio.ts
359
365
  var monitorAudioLevel = ({ mediaStreamTrack, intervalMs = 1e3 / 10, onMeasure }) => {
360
366
  let timeout = -1;
361
367
  let interval = -1;
@@ -397,14 +403,16 @@ var monitorAudioLevel = ({ mediaStreamTrack, intervalMs = 1e3 / 10, onMeasure })
397
403
  };
398
404
  };
399
405
 
400
- // packages/plugins/plugin-thread/src/calls/util/calls-service.ts
406
+ // src/calls/util/calls-service.ts
401
407
  import { PersistentLifecycle } from "@dxos/async";
402
408
  import { Resource as Resource2 } from "@dxos/context";
403
409
  import { invariant as invariant2 } from "@dxos/invariant";
404
410
  import { log as log2 } from "@dxos/log";
405
411
 
406
- // packages/plugins/plugin-thread/src/calls/util/history-cache.ts
412
+ // src/calls/util/history-cache.ts
407
413
  var HistoryCache = class {
414
+ _limit;
415
+ _messages;
408
416
  constructor(limit = 100) {
409
417
  this._limit = limit;
410
418
  this._messages = [];
@@ -420,7 +428,7 @@ var HistoryCache = class {
420
428
  }
421
429
  };
422
430
 
423
- // packages/plugins/plugin-thread/src/calls/util/task-scheduling.ts
431
+ // src/calls/util/task-scheduling.ts
424
432
  var DefaultBatchSizeLimit = 64;
425
433
  var FIFOScheduler = class {
426
434
  #schedulerChain;
@@ -477,21 +485,22 @@ var BulkRequestDispatcher = class {
477
485
  }
478
486
  };
479
487
 
480
- // packages/plugins/plugin-thread/src/calls/util/calls-service.ts
481
- var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-thread/src/calls/util/calls-service.ts";
488
+ // src/calls/util/calls-service.ts
489
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/util/calls-service.ts";
482
490
  var NETWORK_TIMEOUT = 5e3;
483
491
  var CallsServicePeer = class extends Resource2 {
492
+ history = new HistoryCache(100);
493
+ _persistentLifecycle = new PersistentLifecycle({
494
+ start: () => this._startSession(),
495
+ stop: (session) => this._stopSession(session)
496
+ });
497
+ _config;
498
+ taskScheduler = new FIFOScheduler();
499
+ pushTrackDispatcher = new BulkRequestDispatcher(32);
500
+ pullTrackDispatcher = new BulkRequestDispatcher(32);
501
+ closeTrackDispatcher = new BulkRequestDispatcher(32);
484
502
  constructor(config) {
485
503
  super();
486
- this.history = new HistoryCache(100);
487
- this._persistentLifecycle = new PersistentLifecycle({
488
- start: () => this._startSession(),
489
- stop: (session) => this._stopSession(session)
490
- });
491
- this.taskScheduler = new FIFOScheduler();
492
- this.pushTrackDispatcher = new BulkRequestDispatcher(32);
493
- this.pullTrackDispatcher = new BulkRequestDispatcher(32);
494
- this.closeTrackDispatcher = new BulkRequestDispatcher(32);
495
504
  this._config = config;
496
505
  }
497
506
  async _open(ctx) {
@@ -525,7 +534,7 @@ var CallsServicePeer = class extends Resource2 {
525
534
  state: peerConnection.connectionState
526
535
  }, {
527
536
  F: __dxlog_file2,
528
- L: 115,
537
+ L: 119,
529
538
  S: this,
530
539
  C: (f, a) => f(...a)
531
540
  });
@@ -540,7 +549,7 @@ var CallsServicePeer = class extends Resource2 {
540
549
  state: peerConnection.iceConnectionState
541
550
  }, {
542
551
  F: __dxlog_file2,
543
- L: 124,
552
+ L: 128,
544
553
  S: this,
545
554
  C: (f, a) => f(...a)
546
555
  });
@@ -551,7 +560,7 @@ var CallsServicePeer = class extends Resource2 {
551
560
  if (peerConnection.iceConnectionState === "connected") {
552
561
  log2.info("calls iceConnectionState is connected", void 0, {
553
562
  F: __dxlog_file2,
554
- L: 133,
563
+ L: 137,
555
564
  S: this,
556
565
  C: (f, a) => f(...a)
557
566
  });
@@ -562,7 +571,7 @@ var CallsServicePeer = class extends Resource2 {
562
571
  timeoutSeconds
563
572
  }, {
564
573
  F: __dxlog_file2,
565
- L: 137,
574
+ L: 141,
566
575
  S: this,
567
576
  C: (f, a) => f(...a)
568
577
  });
@@ -575,7 +584,7 @@ var CallsServicePeer = class extends Resource2 {
575
584
  async _initiateCallSession() {
576
585
  log2("creating new session", void 0, {
577
586
  F: __dxlog_file2,
578
- L: 147,
587
+ L: 151,
579
588
  S: this,
580
589
  C: (f, a) => f(...a)
581
590
  });
@@ -601,7 +610,7 @@ var CallsServicePeer = class extends Resource2 {
601
610
  text: await response.text()
602
611
  }, {
603
612
  F: __dxlog_file2,
604
- L: 162,
613
+ L: 166,
605
614
  S: this,
606
615
  C: (f, a) => f(...a)
607
616
  });
@@ -633,7 +642,7 @@ var CallsServicePeer = class extends Resource2 {
633
642
  status: response.status
634
643
  }, {
635
644
  F: __dxlog_file2,
636
- L: 187,
645
+ L: 191,
637
646
  S: this,
638
647
  C: (f, a) => f(...a)
639
648
  });
@@ -643,7 +652,7 @@ var CallsServicePeer = class extends Resource2 {
643
652
  async _pushTrackInBulk({ ctx, peerConnection, transceiver, sessionId, trackName }) {
644
653
  log2.verbose("pushing track ", trackName, {
645
654
  F: __dxlog_file2,
646
- L: 209,
655
+ L: 213,
647
656
  S: this,
648
657
  C: (f, a) => f(...a)
649
658
  });
@@ -670,7 +679,7 @@ var CallsServicePeer = class extends Resource2 {
670
679
  });
671
680
  invariant2(response.tracks !== void 0, void 0, {
672
681
  F: __dxlog_file2,
673
- L: 234,
682
+ L: 238,
674
683
  S: this,
675
684
  A: [
676
685
  "response.tracks !== undefined",
@@ -695,7 +704,7 @@ var CallsServicePeer = class extends Resource2 {
695
704
  } else {
696
705
  log2.error("missing track data", void 0, {
697
706
  F: __dxlog_file2,
698
- L: 254,
707
+ L: 258,
699
708
  S: this,
700
709
  C: (f, a) => f(...a)
701
710
  });
@@ -703,7 +712,7 @@ var CallsServicePeer = class extends Resource2 {
703
712
  }).catch((err) => {
704
713
  log2.catch(err, void 0, {
705
714
  F: __dxlog_file2,
706
- L: 258,
715
+ L: 262,
707
716
  S: this,
708
717
  C: (f, a) => f(...a)
709
718
  });
@@ -721,7 +730,7 @@ var CallsServicePeer = class extends Resource2 {
721
730
  await this.waitUntilOpen();
722
731
  invariant2(this.session, void 0, {
723
732
  F: __dxlog_file2,
724
- L: 285,
733
+ L: 289,
725
734
  S: this,
726
735
  A: [
727
736
  "this.session",
@@ -734,7 +743,7 @@ var CallsServicePeer = class extends Resource2 {
734
743
  encodings
735
744
  }, {
736
745
  F: __dxlog_file2,
737
- L: 286,
746
+ L: 290,
738
747
  S: this,
739
748
  C: (f, a) => f(...a)
740
749
  });
@@ -747,7 +756,7 @@ var CallsServicePeer = class extends Resource2 {
747
756
  transceiver: transceiver2
748
757
  }, {
749
758
  F: __dxlog_file2,
750
- L: 290,
759
+ L: 294,
751
760
  S: this,
752
761
  C: (f, a) => f(...a)
753
762
  });
@@ -759,13 +768,13 @@ var CallsServicePeer = class extends Resource2 {
759
768
  transceiver: transceiver2
760
769
  }, {
761
770
  F: __dxlog_file2,
762
- L: 293,
771
+ L: 297,
763
772
  S: this,
764
773
  C: (f, a) => f(...a)
765
774
  });
766
775
  transceiver2.sender.replaceTrack(track).catch((err) => log2.catch(err, void 0, {
767
776
  F: __dxlog_file2,
768
- L: 294,
777
+ L: 298,
769
778
  S: this,
770
779
  C: (f, a) => f(...a)
771
780
  }));
@@ -774,7 +783,7 @@ var CallsServicePeer = class extends Resource2 {
774
783
  }
775
784
  invariant2(track, void 0, {
776
785
  F: __dxlog_file2,
777
- L: 298,
786
+ L: 302,
778
787
  S: this,
779
788
  A: [
780
789
  "track",
@@ -787,7 +796,7 @@ var CallsServicePeer = class extends Resource2 {
787
796
  });
788
797
  log2.verbose("creating transceiver", void 0, {
789
798
  F: __dxlog_file2,
790
- L: 303,
799
+ L: 307,
791
800
  S: this,
792
801
  C: (f, a) => f(...a)
793
802
  });
@@ -800,7 +809,7 @@ var CallsServicePeer = class extends Resource2 {
800
809
  });
801
810
  invariant2(pushedTrackData, void 0, {
802
811
  F: __dxlog_file2,
803
- L: 312,
812
+ L: 316,
804
813
  S: this,
805
814
  A: [
806
815
  "pushedTrackData",
@@ -817,7 +826,7 @@ var CallsServicePeer = class extends Resource2 {
817
826
  });
818
827
  transceiver.sender.setParameters(parameters).catch((err) => log2.catch(err, void 0, {
819
828
  F: __dxlog_file2,
820
- L: 319,
829
+ L: 323,
821
830
  S: this,
822
831
  C: (f, a) => f(...a)
823
832
  }));
@@ -830,7 +839,7 @@ var CallsServicePeer = class extends Resource2 {
830
839
  trackName: trackData.trackName
831
840
  }, {
832
841
  F: __dxlog_file2,
833
- L: 337,
842
+ L: 341,
834
843
  S: this,
835
844
  C: (f, a) => f(...a)
836
845
  });
@@ -846,7 +855,7 @@ var CallsServicePeer = class extends Resource2 {
846
855
  }
847
856
  invariant2(newTrackResponse.tracks, void 0, {
848
857
  F: __dxlog_file2,
849
- L: 350,
858
+ L: 354,
850
859
  S: this,
851
860
  A: [
852
861
  "newTrackResponse.tracks",
@@ -856,7 +865,7 @@ var CallsServicePeer = class extends Resource2 {
856
865
  const trackMap = tracks.reduce((acc, track) => {
857
866
  const pulledTrackData = newTrackResponse.tracks?.find((t) => t.trackName === track.trackName && t.sessionId === track.sessionId);
858
867
  if (pulledTrackData && pulledTrackData.mid) {
859
- acc.set(track, {
868
+ acc.set(track.trackName, {
860
869
  mid: pulledTrackData.mid,
861
870
  resolvedTrack: resolveTrack(peerConnection, (t) => t.mid === pulledTrackData.mid)
862
871
  });
@@ -886,21 +895,24 @@ var CallsServicePeer = class extends Resource2 {
886
895
  trackMap
887
896
  };
888
897
  })).then(({ trackMap }) => {
889
- const trackInfo = trackMap.get(trackData);
898
+ const trackInfo = trackMap.get(trackData.trackName);
890
899
  if (trackInfo) {
891
900
  return trackInfo.resolvedTrack.then((track) => {
892
901
  mid = trackInfo.mid;
893
902
  return track;
894
903
  }).catch((err) => log2.catch(err, void 0, {
895
904
  F: __dxlog_file2,
896
- L: 402,
905
+ L: 406,
897
906
  S: this,
898
907
  C: (f, a) => f(...a)
899
908
  }));
900
909
  } else {
901
- log2.error("missing track info", void 0, {
910
+ log2.warn("missing track info", {
911
+ trackData,
912
+ availableTracks: Array.from(trackMap.keys())
913
+ }, {
902
914
  F: __dxlog_file2,
903
- L: 404,
915
+ L: 408,
904
916
  S: this,
905
917
  C: (f, a) => f(...a)
906
918
  });
@@ -910,7 +922,7 @@ var CallsServicePeer = class extends Resource2 {
910
922
  if (mid) {
911
923
  log2("closing pulled track ", trackData.trackName, {
912
924
  F: __dxlog_file2,
913
- L: 410,
925
+ L: 414,
914
926
  S: this,
915
927
  C: (f, a) => f(...a)
916
928
  });
@@ -926,7 +938,7 @@ var CallsServicePeer = class extends Resource2 {
926
938
  await this.waitUntilOpen();
927
939
  invariant2(this.session, void 0, {
928
940
  F: __dxlog_file2,
929
- L: 431,
941
+ L: 435,
930
942
  S: this,
931
943
  A: [
932
944
  "this.session",
@@ -1010,9 +1022,9 @@ var peerConnectionIsConnected = async (peerConnection) => {
1010
1022
  }
1011
1023
  };
1012
1024
 
1013
- // packages/plugins/plugin-thread/src/calls/util/media.ts
1025
+ // src/calls/util/media.ts
1014
1026
  import { log as log3 } from "@dxos/log";
1015
- var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-thread/src/calls/util/media.ts";
1027
+ var __dxlog_file3 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/util/media.ts";
1016
1028
  var getUserMediaTrack = async (kind, constraints = {}, deviceList) => {
1017
1029
  deviceList ??= (await getDeviceList()).filter((device) => device.kind === kind);
1018
1030
  const firstDevice = deviceList[0];
@@ -1066,58 +1078,7 @@ var getScreenshare = async ({ contentHint }) => {
1066
1078
  return ms;
1067
1079
  };
1068
1080
 
1069
- // packages/plugins/plugin-thread/src/calls/util/stub-media-streams.ts
1070
- import { waitForCondition, scheduleTaskInterval as scheduleTaskInterval2 } from "@dxos/async";
1071
- import { cancelWithContext } from "@dxos/context";
1072
- import { invariant as invariant3 } from "@dxos/invariant";
1073
- var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-thread/src/calls/util/stub-media-streams.ts";
1074
- var createBlackCanvasStreamTrack = async ({ ctx, width, height }) => {
1075
- const canvas = document.createElement("canvas");
1076
- canvas.width = width;
1077
- canvas.height = height;
1078
- const canvasCtx = canvas.getContext("2d");
1079
- invariant3(canvasCtx, void 0, {
1080
- F: __dxlog_file4,
1081
- L: 28,
1082
- S: void 0,
1083
- A: [
1084
- "canvasCtx",
1085
- ""
1086
- ]
1087
- });
1088
- const drawFrame = () => {
1089
- canvasCtx.fillStyle = "black";
1090
- canvasCtx.fillRect(0, 0, canvas.width, canvas.height);
1091
- };
1092
- scheduleTaskInterval2(ctx, async () => drawFrame(), 1e3);
1093
- const track = canvas.captureStream().getVideoTracks()[0];
1094
- drawFrame();
1095
- await cancelWithContext(ctx, waitForCondition({
1096
- condition: () => track.readyState === "live",
1097
- timeout: 1e3
1098
- }));
1099
- return track;
1100
- };
1101
- var createInaudibleAudioStreamTrack = async ({ ctx }) => {
1102
- const audioContext = new window.AudioContext();
1103
- const oscillator = audioContext.createOscillator();
1104
- oscillator.type = "triangle";
1105
- oscillator.frequency.setValueAtTime(0.1, audioContext.currentTime);
1106
- const gainNode = audioContext.createGain();
1107
- gainNode.gain.setValueAtTime(0, audioContext.currentTime);
1108
- oscillator.connect(gainNode);
1109
- const destination = audioContext.createMediaStreamDestination();
1110
- gainNode.connect(destination);
1111
- oscillator.start();
1112
- ctx.onDispose(async () => {
1113
- oscillator.disconnect();
1114
- oscillator.stop();
1115
- await audioContext.close();
1116
- });
1117
- return destination.stream.getAudioTracks()[0];
1118
- };
1119
-
1120
- // packages/plugins/plugin-thread/src/calls/speaking-monitor.ts
1081
+ // src/calls/speaking-monitor.ts
1121
1082
  import { DeferredTask as DeferredTask2, Event as Event2, sleep } from "@dxos/async";
1122
1083
  import { Resource as Resource3 } from "@dxos/context";
1123
1084
  var NOT_SPEAKING_AFTER = 500;
@@ -1125,6 +1086,18 @@ var START_SPEAKING_THRESHOLD = 0.05;
1125
1086
  var CONTINUE_SPEAKING_THRESHOLD = 0.02;
1126
1087
  var MIN_EVENT_INTERVAL = 100;
1127
1088
  var SpeakingMonitor = class extends Resource3 {
1089
+ _mediaStreamTrack;
1090
+ /**
1091
+ * Event that is emitted when the user starts or stops speaking.
1092
+ * It is debounced to prevent rapid state changes.
1093
+ */
1094
+ speakingChanged;
1095
+ /**
1096
+ * Real state of the user speaking.
1097
+ */
1098
+ _isSpeaking;
1099
+ _lastEventTime;
1100
+ _deferredUpdate;
1128
1101
  constructor(_mediaStreamTrack) {
1129
1102
  super(), this._mediaStreamTrack = _mediaStreamTrack, this.speakingChanged = new Event2(), this._isSpeaking = false, this._lastEventTime = 0;
1130
1103
  }
@@ -1173,9 +1146,9 @@ var SpeakingMonitor = class extends Resource3 {
1173
1146
  }
1174
1147
  };
1175
1148
 
1176
- // packages/plugins/plugin-thread/src/calls/media-manager.ts
1149
+ // src/calls/media-manager.ts
1177
1150
  import { DeferredTask as DeferredTask3, Event as Event3, sleep as sleep2, synchronized as synchronized2 } from "@dxos/async";
1178
- import { cancelWithContext as cancelWithContext2, Resource as Resource4 } from "@dxos/context";
1151
+ import { Resource as Resource4, cancelWithContext } from "@dxos/context";
1179
1152
  import { log as log4 } from "@dxos/log";
1180
1153
  function _ts_decorate2(decorators, target, key, desc) {
1181
1154
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -1183,27 +1156,25 @@ function _ts_decorate2(decorators, target, key, desc) {
1183
1156
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1184
1157
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1185
1158
  }
1186
- var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-thread/src/calls/media-manager.ts";
1159
+ var __dxlog_file4 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/media-manager.ts";
1187
1160
  var VIDEO_WIDTH = 1280;
1188
1161
  var VIDEO_HEIGHT = 720;
1189
1162
  var MAX_WEB_CAM_FRAMERATE = 24;
1190
1163
  var MAX_WEB_CAM_BITRATE = 12e5;
1191
1164
  var RETRY_INTERVAL = 500;
1165
+ var USE_INAUDIBLE_AUDIO = false;
1192
1166
  var MediaManager = class extends Resource4 {
1193
- constructor() {
1194
- super(...arguments);
1195
- this.stateUpdated = new Event3();
1196
- this._state = {
1197
- pulledVideoStreams: {},
1198
- pulledAudioTracks: {}
1199
- };
1200
- this._speakingMonitor = void 0;
1201
- this._trackToReconcile = [];
1202
- this._blackCanvasStreamTrack = void 0;
1203
- this._inaudibleAudioStreamTrack = void 0;
1204
- this._pushTracksTask = void 0;
1205
- this._pullTracksTask = void 0;
1206
- }
1167
+ stateUpdated = new Event3();
1168
+ _state = {
1169
+ pulledVideoStreams: {},
1170
+ pulledAudioTracks: {}
1171
+ };
1172
+ _speakingMonitor = void 0;
1173
+ _trackToReconcile = [];
1174
+ _blackCanvasStreamTrack = void 0;
1175
+ _inaudibleAudioStreamTrack = void 0;
1176
+ _pushTracksTask = void 0;
1177
+ _pullTracksTask = void 0;
1207
1178
  get isSpeaking() {
1208
1179
  return this._speakingMonitor?.isSpeaking;
1209
1180
  }
@@ -1222,10 +1193,12 @@ var MediaManager = class extends Resource4 {
1222
1193
  this._state.videoTrack = this._blackCanvasStreamTrack;
1223
1194
  this._state.videoStream = new MediaStream();
1224
1195
  this._state.videoStream.addTrack(this._state.videoTrack);
1225
- this._inaudibleAudioStreamTrack = await createInaudibleAudioStreamTrack({
1226
- ctx: this._ctx
1227
- });
1228
- this._state.audioTrack = this._inaudibleAudioStreamTrack;
1196
+ if (USE_INAUDIBLE_AUDIO) {
1197
+ this._inaudibleAudioStreamTrack = await createInaudibleAudioStreamTrack({
1198
+ ctx: this._ctx
1199
+ });
1200
+ this._state.audioTrack = this._inaudibleAudioStreamTrack;
1201
+ }
1229
1202
  this._pushTracksTask = new DeferredTask3(this._ctx, async () => {
1230
1203
  await this._pushTracks();
1231
1204
  });
@@ -1300,11 +1273,14 @@ var MediaManager = class extends Resource4 {
1300
1273
  async turnAudioOff() {
1301
1274
  void this._speakingMonitor?.close();
1302
1275
  this._speakingMonitor = void 0;
1303
- if (this._state.audioTrack !== this._inaudibleAudioStreamTrack) {
1276
+ this._state.audioEnabled = false;
1277
+ if (USE_INAUDIBLE_AUDIO && this._state.audioTrack !== this._inaudibleAudioStreamTrack) {
1304
1278
  this._state.audioTrack?.stop();
1305
1279
  this._state.audioTrack = this._inaudibleAudioStreamTrack;
1280
+ } else {
1281
+ this._state.audioTrack?.stop();
1282
+ this._state.audioTrack = void 0;
1306
1283
  }
1307
- this._state.audioEnabled = false;
1308
1284
  this.stateUpdated.emit(this._state);
1309
1285
  this._pushTracksTask.schedule();
1310
1286
  }
@@ -1337,12 +1313,12 @@ var MediaManager = class extends Resource4 {
1337
1313
  }
1338
1314
  async _reconcilePulledMedia() {
1339
1315
  log4("reconciling tracks", void 0, {
1340
- F: __dxlog_file5,
1341
- L: 215,
1316
+ F: __dxlog_file4,
1317
+ L: 222,
1342
1318
  S: this,
1343
1319
  C: (f, a) => f(...a)
1344
1320
  });
1345
- await cancelWithContext2(this._ctx, sleep2(800));
1321
+ await cancelWithContext(this._ctx, sleep2(800));
1346
1322
  const trackNames = this._trackToReconcile;
1347
1323
  const tracksToPull = trackNames.filter((name) => !this._state.pulledAudioTracks[name] && !this._state.pulledVideoStreams[name]);
1348
1324
  const audioTracksToClose = Object.entries(this._state.pulledAudioTracks).filter(([key]) => !trackNames.some((name) => name === key));
@@ -1355,8 +1331,8 @@ var MediaManager = class extends Resource4 {
1355
1331
  currentAudioTracks: Object.keys(this._state.pulledAudioTracks),
1356
1332
  currentVideoStreams: Object.keys(this._state.pulledVideoStreams)
1357
1333
  }, {
1358
- F: __dxlog_file5,
1359
- L: 234,
1334
+ F: __dxlog_file4,
1335
+ L: 241,
1360
1336
  S: this,
1361
1337
  C: (f, a) => f(...a)
1362
1338
  });
@@ -1369,8 +1345,8 @@ var MediaManager = class extends Resource4 {
1369
1345
  currentAudioTracks: Object.keys(this._state.pulledAudioTracks),
1370
1346
  currentVideoStreams: Object.keys(this._state.pulledVideoStreams)
1371
1347
  }, {
1372
- F: __dxlog_file5,
1373
- L: 249,
1348
+ F: __dxlog_file4,
1349
+ L: 256,
1374
1350
  S: this,
1375
1351
  C: (f, a) => f(...a)
1376
1352
  });
@@ -1454,18 +1430,18 @@ var MediaManager = class extends Resource4 {
1454
1430
  err,
1455
1431
  name
1456
1432
  }, {
1457
- F: __dxlog_file5,
1458
- L: 319,
1433
+ F: __dxlog_file4,
1434
+ L: 326,
1459
1435
  S: this,
1460
1436
  C: (f, a) => f(...a)
1461
1437
  });
1462
1438
  void ctx.dispose();
1463
- await cancelWithContext2(this._ctx, sleep2(RETRY_INTERVAL));
1439
+ await cancelWithContext(this._ctx, sleep2(RETRY_INTERVAL));
1464
1440
  log4.verbose("retrying pull track", {
1465
1441
  name
1466
1442
  }, {
1467
- F: __dxlog_file5,
1468
- L: 322,
1443
+ F: __dxlog_file4,
1444
+ L: 329,
1469
1445
  S: this,
1470
1446
  C: (f, a) => f(...a)
1471
1447
  });
@@ -1490,11 +1466,11 @@ _ts_decorate2([
1490
1466
  synchronized2
1491
1467
  ], MediaManager.prototype, "leave", null);
1492
1468
 
1493
- // packages/plugins/plugin-thread/src/calls/call-manager.ts
1469
+ // src/calls/call-manager.ts
1494
1470
  import { computed } from "@preact/signals-core";
1495
1471
  import { Event as Event4, synchronized as synchronized3 } from "@dxos/async";
1496
1472
  import { Resource as Resource5 } from "@dxos/context";
1497
- import { invariant as invariant4 } from "@dxos/invariant";
1473
+ import { invariant as invariant3 } from "@dxos/invariant";
1498
1474
  import { live } from "@dxos/live-object";
1499
1475
  import { isNonNullable as isNonNullable2 } from "@dxos/util";
1500
1476
  function _ts_decorate3(decorators, target, key, desc) {
@@ -1503,8 +1479,24 @@ function _ts_decorate3(decorators, target, key, desc) {
1503
1479
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1504
1480
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1505
1481
  }
1506
- var __dxlog_file6 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-thread/src/calls/call-manager.ts";
1482
+ var __dxlog_file5 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/call-manager.ts";
1507
1483
  var CallManager = class extends Resource5 {
1484
+ _client;
1485
+ callStateUpdated;
1486
+ // TODO(wittjosiah): Consolidate isSpeaking into the MediaState type.
1487
+ mediaStateUpdated;
1488
+ left;
1489
+ /**
1490
+ * Live object state. Is changed on internal events.
1491
+ * CAUTION: Do not change directly.
1492
+ */
1493
+ _state;
1494
+ // TODO(wittjosiah): This shouldn't be necessary, live-object's signals should be granular.
1495
+ _raisedHandSignal;
1496
+ _speakingSignal;
1497
+ _joinedSignal;
1498
+ _swarmSynchronizer;
1499
+ _mediaManager;
1508
1500
  /** @reactive */
1509
1501
  get roomId() {
1510
1502
  return this._state.call.roomId;
@@ -1538,8 +1530,8 @@ var CallManager = class extends Resource5 {
1538
1530
  return this._state.media;
1539
1531
  }
1540
1532
  /** @reactive */
1541
- get pulledAudioTracks() {
1542
- return Object.values(this._state.media.pulledAudioTracks).map((track) => track.track);
1533
+ get audioTracksToPlay() {
1534
+ 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);
1543
1535
  }
1544
1536
  /** @reactive */
1545
1537
  get state() {
@@ -1594,9 +1586,9 @@ var CallManager = class extends Resource5 {
1594
1586
  }), this._raisedHandSignal = computed(() => this._state.call.raisedHand ?? false), this._speakingSignal = computed(() => this._state.call.speaking ?? false), this._joinedSignal = computed(() => this._state.call.joined ?? false);
1595
1587
  this._client.config.getOrThrow("runtime.services.edge.url");
1596
1588
  const networkService = this._client.services.services.NetworkService;
1597
- invariant4(networkService, "network service not found", {
1598
- F: __dxlog_file6,
1599
- L: 155,
1589
+ invariant3(networkService, "network service not found", {
1590
+ F: __dxlog_file5,
1591
+ L: 159,
1600
1592
  S: this,
1601
1593
  A: [
1602
1594
  "networkService",
@@ -1699,10 +1691,8 @@ export {
1699
1691
  getUserMediaTrack,
1700
1692
  getDeviceList,
1701
1693
  getScreenshare,
1702
- createBlackCanvasStreamTrack,
1703
- createInaudibleAudioStreamTrack,
1704
1694
  SpeakingMonitor,
1705
1695
  MediaManager,
1706
1696
  CallManager
1707
1697
  };
1708
- //# sourceMappingURL=chunk-4H4A264L.mjs.map
1698
+ //# sourceMappingURL=chunk-TUFWPOVS.mjs.map