@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,6 +1,10 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ createBlackCanvasStreamTrack,
4
+ createInaudibleAudioStreamTrack
5
+ } from "./chunk-QBHKLWGR.mjs";
2
6
 
3
- // packages/plugins/plugin-thread/src/calls/types.ts
7
+ // src/calls/types.ts
4
8
  import { buf } from "@dxos/protocols/buf";
5
9
  import { UserStateSchema } from "@dxos/protocols/buf/dxos/edge/calls_pb";
6
10
  var CALLS_URL = "https://calls-service.dxos.workers.dev";
@@ -26,7 +30,7 @@ var TrackNameCodec = {
26
30
  }
27
31
  };
28
32
 
29
- // packages/plugins/plugin-thread/src/calls/call-swarm-synchronizer.ts
33
+ // src/calls/call-swarm-synchronizer.ts
30
34
  import md5Hex from "md5-hex";
31
35
  import { DeferredTask, Event, scheduleTaskInterval, synchronized } from "@dxos/async";
32
36
  import { Context, Resource } from "@dxos/context";
@@ -44,22 +48,23 @@ function _ts_decorate(decorators, target, key, desc) {
44
48
  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;
45
49
  return c > 3 && r && Object.defineProperty(target, key, r), r;
46
50
  }
47
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-thread/src/calls/call-swarm-synchronizer.ts";
51
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/call-swarm-synchronizer.ts";
48
52
  var DISCONNECTED_ABRUPT_TIMEOUT = 1e4;
49
53
  var CallSwarmSynchronizer = class extends Resource {
54
+ stateUpdated = new Event();
55
+ _state = {
56
+ activities: {}
57
+ };
58
+ _networkService;
59
+ _lastSwarmEvent = void 0;
60
+ _reconcileSwarmStateTask = void 0;
61
+ _identityKey = void 0;
62
+ _deviceKey = void 0;
63
+ _displayName = void 0;
64
+ _swarmCtx = void 0;
65
+ _sendStateTask = void 0;
50
66
  constructor({ networkService }) {
51
67
  super();
52
- this.stateUpdated = new Event();
53
- this._state = {
54
- activities: {}
55
- };
56
- this._lastSwarmEvent = void 0;
57
- this._reconcileSwarmStateTask = void 0;
58
- this._identityKey = void 0;
59
- this._deviceKey = void 0;
60
- this._displayName = void 0;
61
- this._swarmCtx = void 0;
62
- this._sendStateTask = void 0;
63
68
  this._networkService = networkService;
64
69
  }
65
70
  /**
@@ -357,7 +362,7 @@ var LamportTimestampCrdt = class {
357
362
  };
358
363
  var getTopic = (roomId) => PublicKey.fromHex(md5Hex(roomId));
359
364
 
360
- // packages/plugins/plugin-thread/src/calls/util/audio.ts
365
+ // src/calls/util/audio.ts
361
366
  var monitorAudioLevel = ({ mediaStreamTrack, intervalMs = 1e3 / 10, onMeasure }) => {
362
367
  let timeout = -1;
363
368
  let interval = -1;
@@ -399,14 +404,16 @@ var monitorAudioLevel = ({ mediaStreamTrack, intervalMs = 1e3 / 10, onMeasure })
399
404
  };
400
405
  };
401
406
 
402
- // packages/plugins/plugin-thread/src/calls/util/calls-service.ts
407
+ // src/calls/util/calls-service.ts
403
408
  import { PersistentLifecycle } from "@dxos/async";
404
409
  import { Resource as Resource2 } from "@dxos/context";
405
410
  import { invariant as invariant2 } from "@dxos/invariant";
406
411
  import { log as log2 } from "@dxos/log";
407
412
 
408
- // packages/plugins/plugin-thread/src/calls/util/history-cache.ts
413
+ // src/calls/util/history-cache.ts
409
414
  var HistoryCache = class {
415
+ _limit;
416
+ _messages;
410
417
  constructor(limit = 100) {
411
418
  this._limit = limit;
412
419
  this._messages = [];
@@ -422,7 +429,7 @@ var HistoryCache = class {
422
429
  }
423
430
  };
424
431
 
425
- // packages/plugins/plugin-thread/src/calls/util/task-scheduling.ts
432
+ // src/calls/util/task-scheduling.ts
426
433
  var DefaultBatchSizeLimit = 64;
427
434
  var FIFOScheduler = class {
428
435
  #schedulerChain;
@@ -479,21 +486,22 @@ var BulkRequestDispatcher = class {
479
486
  }
480
487
  };
481
488
 
482
- // packages/plugins/plugin-thread/src/calls/util/calls-service.ts
483
- var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-thread/src/calls/util/calls-service.ts";
489
+ // src/calls/util/calls-service.ts
490
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/util/calls-service.ts";
484
491
  var NETWORK_TIMEOUT = 5e3;
485
492
  var CallsServicePeer = class extends Resource2 {
493
+ history = new HistoryCache(100);
494
+ _persistentLifecycle = new PersistentLifecycle({
495
+ start: () => this._startSession(),
496
+ stop: (session) => this._stopSession(session)
497
+ });
498
+ _config;
499
+ taskScheduler = new FIFOScheduler();
500
+ pushTrackDispatcher = new BulkRequestDispatcher(32);
501
+ pullTrackDispatcher = new BulkRequestDispatcher(32);
502
+ closeTrackDispatcher = new BulkRequestDispatcher(32);
486
503
  constructor(config) {
487
504
  super();
488
- this.history = new HistoryCache(100);
489
- this._persistentLifecycle = new PersistentLifecycle({
490
- start: () => this._startSession(),
491
- stop: (session) => this._stopSession(session)
492
- });
493
- this.taskScheduler = new FIFOScheduler();
494
- this.pushTrackDispatcher = new BulkRequestDispatcher(32);
495
- this.pullTrackDispatcher = new BulkRequestDispatcher(32);
496
- this.closeTrackDispatcher = new BulkRequestDispatcher(32);
497
505
  this._config = config;
498
506
  }
499
507
  async _open(ctx) {
@@ -527,7 +535,7 @@ var CallsServicePeer = class extends Resource2 {
527
535
  state: peerConnection.connectionState
528
536
  }, {
529
537
  F: __dxlog_file2,
530
- L: 115,
538
+ L: 119,
531
539
  S: this,
532
540
  C: (f, a) => f(...a)
533
541
  });
@@ -542,7 +550,7 @@ var CallsServicePeer = class extends Resource2 {
542
550
  state: peerConnection.iceConnectionState
543
551
  }, {
544
552
  F: __dxlog_file2,
545
- L: 124,
553
+ L: 128,
546
554
  S: this,
547
555
  C: (f, a) => f(...a)
548
556
  });
@@ -553,7 +561,7 @@ var CallsServicePeer = class extends Resource2 {
553
561
  if (peerConnection.iceConnectionState === "connected") {
554
562
  log2.info("calls iceConnectionState is connected", void 0, {
555
563
  F: __dxlog_file2,
556
- L: 133,
564
+ L: 137,
557
565
  S: this,
558
566
  C: (f, a) => f(...a)
559
567
  });
@@ -564,7 +572,7 @@ var CallsServicePeer = class extends Resource2 {
564
572
  timeoutSeconds
565
573
  }, {
566
574
  F: __dxlog_file2,
567
- L: 137,
575
+ L: 141,
568
576
  S: this,
569
577
  C: (f, a) => f(...a)
570
578
  });
@@ -577,7 +585,7 @@ var CallsServicePeer = class extends Resource2 {
577
585
  async _initiateCallSession() {
578
586
  log2("creating new session", void 0, {
579
587
  F: __dxlog_file2,
580
- L: 147,
588
+ L: 151,
581
589
  S: this,
582
590
  C: (f, a) => f(...a)
583
591
  });
@@ -603,7 +611,7 @@ var CallsServicePeer = class extends Resource2 {
603
611
  text: await response.text()
604
612
  }, {
605
613
  F: __dxlog_file2,
606
- L: 162,
614
+ L: 166,
607
615
  S: this,
608
616
  C: (f, a) => f(...a)
609
617
  });
@@ -635,7 +643,7 @@ var CallsServicePeer = class extends Resource2 {
635
643
  status: response.status
636
644
  }, {
637
645
  F: __dxlog_file2,
638
- L: 187,
646
+ L: 191,
639
647
  S: this,
640
648
  C: (f, a) => f(...a)
641
649
  });
@@ -645,7 +653,7 @@ var CallsServicePeer = class extends Resource2 {
645
653
  async _pushTrackInBulk({ ctx, peerConnection, transceiver, sessionId, trackName }) {
646
654
  log2.verbose("pushing track ", trackName, {
647
655
  F: __dxlog_file2,
648
- L: 209,
656
+ L: 213,
649
657
  S: this,
650
658
  C: (f, a) => f(...a)
651
659
  });
@@ -672,7 +680,7 @@ var CallsServicePeer = class extends Resource2 {
672
680
  });
673
681
  invariant2(response.tracks !== void 0, void 0, {
674
682
  F: __dxlog_file2,
675
- L: 234,
683
+ L: 238,
676
684
  S: this,
677
685
  A: [
678
686
  "response.tracks !== undefined",
@@ -697,7 +705,7 @@ var CallsServicePeer = class extends Resource2 {
697
705
  } else {
698
706
  log2.error("missing track data", void 0, {
699
707
  F: __dxlog_file2,
700
- L: 254,
708
+ L: 258,
701
709
  S: this,
702
710
  C: (f, a) => f(...a)
703
711
  });
@@ -705,7 +713,7 @@ var CallsServicePeer = class extends Resource2 {
705
713
  }).catch((err) => {
706
714
  log2.catch(err, void 0, {
707
715
  F: __dxlog_file2,
708
- L: 258,
716
+ L: 262,
709
717
  S: this,
710
718
  C: (f, a) => f(...a)
711
719
  });
@@ -723,7 +731,7 @@ var CallsServicePeer = class extends Resource2 {
723
731
  await this.waitUntilOpen();
724
732
  invariant2(this.session, void 0, {
725
733
  F: __dxlog_file2,
726
- L: 285,
734
+ L: 289,
727
735
  S: this,
728
736
  A: [
729
737
  "this.session",
@@ -736,7 +744,7 @@ var CallsServicePeer = class extends Resource2 {
736
744
  encodings
737
745
  }, {
738
746
  F: __dxlog_file2,
739
- L: 286,
747
+ L: 290,
740
748
  S: this,
741
749
  C: (f, a) => f(...a)
742
750
  });
@@ -749,7 +757,7 @@ var CallsServicePeer = class extends Resource2 {
749
757
  transceiver: transceiver2
750
758
  }, {
751
759
  F: __dxlog_file2,
752
- L: 290,
760
+ L: 294,
753
761
  S: this,
754
762
  C: (f, a) => f(...a)
755
763
  });
@@ -761,13 +769,13 @@ var CallsServicePeer = class extends Resource2 {
761
769
  transceiver: transceiver2
762
770
  }, {
763
771
  F: __dxlog_file2,
764
- L: 293,
772
+ L: 297,
765
773
  S: this,
766
774
  C: (f, a) => f(...a)
767
775
  });
768
776
  transceiver2.sender.replaceTrack(track).catch((err) => log2.catch(err, void 0, {
769
777
  F: __dxlog_file2,
770
- L: 294,
778
+ L: 298,
771
779
  S: this,
772
780
  C: (f, a) => f(...a)
773
781
  }));
@@ -776,7 +784,7 @@ var CallsServicePeer = class extends Resource2 {
776
784
  }
777
785
  invariant2(track, void 0, {
778
786
  F: __dxlog_file2,
779
- L: 298,
787
+ L: 302,
780
788
  S: this,
781
789
  A: [
782
790
  "track",
@@ -789,7 +797,7 @@ var CallsServicePeer = class extends Resource2 {
789
797
  });
790
798
  log2.verbose("creating transceiver", void 0, {
791
799
  F: __dxlog_file2,
792
- L: 303,
800
+ L: 307,
793
801
  S: this,
794
802
  C: (f, a) => f(...a)
795
803
  });
@@ -802,7 +810,7 @@ var CallsServicePeer = class extends Resource2 {
802
810
  });
803
811
  invariant2(pushedTrackData, void 0, {
804
812
  F: __dxlog_file2,
805
- L: 312,
813
+ L: 316,
806
814
  S: this,
807
815
  A: [
808
816
  "pushedTrackData",
@@ -819,7 +827,7 @@ var CallsServicePeer = class extends Resource2 {
819
827
  });
820
828
  transceiver.sender.setParameters(parameters).catch((err) => log2.catch(err, void 0, {
821
829
  F: __dxlog_file2,
822
- L: 319,
830
+ L: 323,
823
831
  S: this,
824
832
  C: (f, a) => f(...a)
825
833
  }));
@@ -832,7 +840,7 @@ var CallsServicePeer = class extends Resource2 {
832
840
  trackName: trackData.trackName
833
841
  }, {
834
842
  F: __dxlog_file2,
835
- L: 337,
843
+ L: 341,
836
844
  S: this,
837
845
  C: (f, a) => f(...a)
838
846
  });
@@ -848,7 +856,7 @@ var CallsServicePeer = class extends Resource2 {
848
856
  }
849
857
  invariant2(newTrackResponse.tracks, void 0, {
850
858
  F: __dxlog_file2,
851
- L: 350,
859
+ L: 354,
852
860
  S: this,
853
861
  A: [
854
862
  "newTrackResponse.tracks",
@@ -858,7 +866,7 @@ var CallsServicePeer = class extends Resource2 {
858
866
  const trackMap = tracks.reduce((acc, track) => {
859
867
  const pulledTrackData = newTrackResponse.tracks?.find((t) => t.trackName === track.trackName && t.sessionId === track.sessionId);
860
868
  if (pulledTrackData && pulledTrackData.mid) {
861
- acc.set(track, {
869
+ acc.set(track.trackName, {
862
870
  mid: pulledTrackData.mid,
863
871
  resolvedTrack: resolveTrack(peerConnection, (t) => t.mid === pulledTrackData.mid)
864
872
  });
@@ -888,21 +896,24 @@ var CallsServicePeer = class extends Resource2 {
888
896
  trackMap
889
897
  };
890
898
  })).then(({ trackMap }) => {
891
- const trackInfo = trackMap.get(trackData);
899
+ const trackInfo = trackMap.get(trackData.trackName);
892
900
  if (trackInfo) {
893
901
  return trackInfo.resolvedTrack.then((track) => {
894
902
  mid = trackInfo.mid;
895
903
  return track;
896
904
  }).catch((err) => log2.catch(err, void 0, {
897
905
  F: __dxlog_file2,
898
- L: 402,
906
+ L: 406,
899
907
  S: this,
900
908
  C: (f, a) => f(...a)
901
909
  }));
902
910
  } else {
903
- log2.error("missing track info", void 0, {
911
+ log2.warn("missing track info", {
912
+ trackData,
913
+ availableTracks: Array.from(trackMap.keys())
914
+ }, {
904
915
  F: __dxlog_file2,
905
- L: 404,
916
+ L: 408,
906
917
  S: this,
907
918
  C: (f, a) => f(...a)
908
919
  });
@@ -912,7 +923,7 @@ var CallsServicePeer = class extends Resource2 {
912
923
  if (mid) {
913
924
  log2("closing pulled track ", trackData.trackName, {
914
925
  F: __dxlog_file2,
915
- L: 410,
926
+ L: 414,
916
927
  S: this,
917
928
  C: (f, a) => f(...a)
918
929
  });
@@ -928,7 +939,7 @@ var CallsServicePeer = class extends Resource2 {
928
939
  await this.waitUntilOpen();
929
940
  invariant2(this.session, void 0, {
930
941
  F: __dxlog_file2,
931
- L: 431,
942
+ L: 435,
932
943
  S: this,
933
944
  A: [
934
945
  "this.session",
@@ -1012,9 +1023,9 @@ var peerConnectionIsConnected = async (peerConnection) => {
1012
1023
  }
1013
1024
  };
1014
1025
 
1015
- // packages/plugins/plugin-thread/src/calls/util/media.ts
1026
+ // src/calls/util/media.ts
1016
1027
  import { log as log3 } from "@dxos/log";
1017
- var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-thread/src/calls/util/media.ts";
1028
+ var __dxlog_file3 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/util/media.ts";
1018
1029
  var getUserMediaTrack = async (kind, constraints = {}, deviceList) => {
1019
1030
  deviceList ??= (await getDeviceList()).filter((device) => device.kind === kind);
1020
1031
  const firstDevice = deviceList[0];
@@ -1068,58 +1079,7 @@ var getScreenshare = async ({ contentHint }) => {
1068
1079
  return ms;
1069
1080
  };
1070
1081
 
1071
- // packages/plugins/plugin-thread/src/calls/util/stub-media-streams.ts
1072
- import { waitForCondition, scheduleTaskInterval as scheduleTaskInterval2 } from "@dxos/async";
1073
- import { cancelWithContext } from "@dxos/context";
1074
- import { invariant as invariant3 } from "@dxos/invariant";
1075
- var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-thread/src/calls/util/stub-media-streams.ts";
1076
- var createBlackCanvasStreamTrack = async ({ ctx, width, height }) => {
1077
- const canvas = document.createElement("canvas");
1078
- canvas.width = width;
1079
- canvas.height = height;
1080
- const canvasCtx = canvas.getContext("2d");
1081
- invariant3(canvasCtx, void 0, {
1082
- F: __dxlog_file4,
1083
- L: 28,
1084
- S: void 0,
1085
- A: [
1086
- "canvasCtx",
1087
- ""
1088
- ]
1089
- });
1090
- const drawFrame = () => {
1091
- canvasCtx.fillStyle = "black";
1092
- canvasCtx.fillRect(0, 0, canvas.width, canvas.height);
1093
- };
1094
- scheduleTaskInterval2(ctx, async () => drawFrame(), 1e3);
1095
- const track = canvas.captureStream().getVideoTracks()[0];
1096
- drawFrame();
1097
- await cancelWithContext(ctx, waitForCondition({
1098
- condition: () => track.readyState === "live",
1099
- timeout: 1e3
1100
- }));
1101
- return track;
1102
- };
1103
- var createInaudibleAudioStreamTrack = async ({ ctx }) => {
1104
- const audioContext = new window.AudioContext();
1105
- const oscillator = audioContext.createOscillator();
1106
- oscillator.type = "triangle";
1107
- oscillator.frequency.setValueAtTime(0.1, audioContext.currentTime);
1108
- const gainNode = audioContext.createGain();
1109
- gainNode.gain.setValueAtTime(0, audioContext.currentTime);
1110
- oscillator.connect(gainNode);
1111
- const destination = audioContext.createMediaStreamDestination();
1112
- gainNode.connect(destination);
1113
- oscillator.start();
1114
- ctx.onDispose(async () => {
1115
- oscillator.disconnect();
1116
- oscillator.stop();
1117
- await audioContext.close();
1118
- });
1119
- return destination.stream.getAudioTracks()[0];
1120
- };
1121
-
1122
- // packages/plugins/plugin-thread/src/calls/speaking-monitor.ts
1082
+ // src/calls/speaking-monitor.ts
1123
1083
  import { DeferredTask as DeferredTask2, Event as Event2, sleep } from "@dxos/async";
1124
1084
  import { Resource as Resource3 } from "@dxos/context";
1125
1085
  var NOT_SPEAKING_AFTER = 500;
@@ -1127,6 +1087,18 @@ var START_SPEAKING_THRESHOLD = 0.05;
1127
1087
  var CONTINUE_SPEAKING_THRESHOLD = 0.02;
1128
1088
  var MIN_EVENT_INTERVAL = 100;
1129
1089
  var SpeakingMonitor = class extends Resource3 {
1090
+ _mediaStreamTrack;
1091
+ /**
1092
+ * Event that is emitted when the user starts or stops speaking.
1093
+ * It is debounced to prevent rapid state changes.
1094
+ */
1095
+ speakingChanged;
1096
+ /**
1097
+ * Real state of the user speaking.
1098
+ */
1099
+ _isSpeaking;
1100
+ _lastEventTime;
1101
+ _deferredUpdate;
1130
1102
  constructor(_mediaStreamTrack) {
1131
1103
  super(), this._mediaStreamTrack = _mediaStreamTrack, this.speakingChanged = new Event2(), this._isSpeaking = false, this._lastEventTime = 0;
1132
1104
  }
@@ -1175,9 +1147,9 @@ var SpeakingMonitor = class extends Resource3 {
1175
1147
  }
1176
1148
  };
1177
1149
 
1178
- // packages/plugins/plugin-thread/src/calls/media-manager.ts
1150
+ // src/calls/media-manager.ts
1179
1151
  import { DeferredTask as DeferredTask3, Event as Event3, sleep as sleep2, synchronized as synchronized2 } from "@dxos/async";
1180
- import { cancelWithContext as cancelWithContext2, Resource as Resource4 } from "@dxos/context";
1152
+ import { Resource as Resource4, cancelWithContext } from "@dxos/context";
1181
1153
  import { log as log4 } from "@dxos/log";
1182
1154
  function _ts_decorate2(decorators, target, key, desc) {
1183
1155
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -1185,27 +1157,25 @@ function _ts_decorate2(decorators, target, key, desc) {
1185
1157
  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;
1186
1158
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1187
1159
  }
1188
- var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-thread/src/calls/media-manager.ts";
1160
+ var __dxlog_file4 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/media-manager.ts";
1189
1161
  var VIDEO_WIDTH = 1280;
1190
1162
  var VIDEO_HEIGHT = 720;
1191
1163
  var MAX_WEB_CAM_FRAMERATE = 24;
1192
1164
  var MAX_WEB_CAM_BITRATE = 12e5;
1193
1165
  var RETRY_INTERVAL = 500;
1166
+ var USE_INAUDIBLE_AUDIO = false;
1194
1167
  var MediaManager = class extends Resource4 {
1195
- constructor() {
1196
- super(...arguments);
1197
- this.stateUpdated = new Event3();
1198
- this._state = {
1199
- pulledVideoStreams: {},
1200
- pulledAudioTracks: {}
1201
- };
1202
- this._speakingMonitor = void 0;
1203
- this._trackToReconcile = [];
1204
- this._blackCanvasStreamTrack = void 0;
1205
- this._inaudibleAudioStreamTrack = void 0;
1206
- this._pushTracksTask = void 0;
1207
- this._pullTracksTask = void 0;
1208
- }
1168
+ stateUpdated = new Event3();
1169
+ _state = {
1170
+ pulledVideoStreams: {},
1171
+ pulledAudioTracks: {}
1172
+ };
1173
+ _speakingMonitor = void 0;
1174
+ _trackToReconcile = [];
1175
+ _blackCanvasStreamTrack = void 0;
1176
+ _inaudibleAudioStreamTrack = void 0;
1177
+ _pushTracksTask = void 0;
1178
+ _pullTracksTask = void 0;
1209
1179
  get isSpeaking() {
1210
1180
  return this._speakingMonitor?.isSpeaking;
1211
1181
  }
@@ -1224,10 +1194,12 @@ var MediaManager = class extends Resource4 {
1224
1194
  this._state.videoTrack = this._blackCanvasStreamTrack;
1225
1195
  this._state.videoStream = new MediaStream();
1226
1196
  this._state.videoStream.addTrack(this._state.videoTrack);
1227
- this._inaudibleAudioStreamTrack = await createInaudibleAudioStreamTrack({
1228
- ctx: this._ctx
1229
- });
1230
- this._state.audioTrack = this._inaudibleAudioStreamTrack;
1197
+ if (USE_INAUDIBLE_AUDIO) {
1198
+ this._inaudibleAudioStreamTrack = await createInaudibleAudioStreamTrack({
1199
+ ctx: this._ctx
1200
+ });
1201
+ this._state.audioTrack = this._inaudibleAudioStreamTrack;
1202
+ }
1231
1203
  this._pushTracksTask = new DeferredTask3(this._ctx, async () => {
1232
1204
  await this._pushTracks();
1233
1205
  });
@@ -1302,11 +1274,14 @@ var MediaManager = class extends Resource4 {
1302
1274
  async turnAudioOff() {
1303
1275
  void this._speakingMonitor?.close();
1304
1276
  this._speakingMonitor = void 0;
1305
- if (this._state.audioTrack !== this._inaudibleAudioStreamTrack) {
1277
+ this._state.audioEnabled = false;
1278
+ if (USE_INAUDIBLE_AUDIO && this._state.audioTrack !== this._inaudibleAudioStreamTrack) {
1306
1279
  this._state.audioTrack?.stop();
1307
1280
  this._state.audioTrack = this._inaudibleAudioStreamTrack;
1281
+ } else {
1282
+ this._state.audioTrack?.stop();
1283
+ this._state.audioTrack = void 0;
1308
1284
  }
1309
- this._state.audioEnabled = false;
1310
1285
  this.stateUpdated.emit(this._state);
1311
1286
  this._pushTracksTask.schedule();
1312
1287
  }
@@ -1339,12 +1314,12 @@ var MediaManager = class extends Resource4 {
1339
1314
  }
1340
1315
  async _reconcilePulledMedia() {
1341
1316
  log4("reconciling tracks", void 0, {
1342
- F: __dxlog_file5,
1343
- L: 215,
1317
+ F: __dxlog_file4,
1318
+ L: 222,
1344
1319
  S: this,
1345
1320
  C: (f, a) => f(...a)
1346
1321
  });
1347
- await cancelWithContext2(this._ctx, sleep2(800));
1322
+ await cancelWithContext(this._ctx, sleep2(800));
1348
1323
  const trackNames = this._trackToReconcile;
1349
1324
  const tracksToPull = trackNames.filter((name) => !this._state.pulledAudioTracks[name] && !this._state.pulledVideoStreams[name]);
1350
1325
  const audioTracksToClose = Object.entries(this._state.pulledAudioTracks).filter(([key]) => !trackNames.some((name) => name === key));
@@ -1357,8 +1332,8 @@ var MediaManager = class extends Resource4 {
1357
1332
  currentAudioTracks: Object.keys(this._state.pulledAudioTracks),
1358
1333
  currentVideoStreams: Object.keys(this._state.pulledVideoStreams)
1359
1334
  }, {
1360
- F: __dxlog_file5,
1361
- L: 234,
1335
+ F: __dxlog_file4,
1336
+ L: 241,
1362
1337
  S: this,
1363
1338
  C: (f, a) => f(...a)
1364
1339
  });
@@ -1371,8 +1346,8 @@ var MediaManager = class extends Resource4 {
1371
1346
  currentAudioTracks: Object.keys(this._state.pulledAudioTracks),
1372
1347
  currentVideoStreams: Object.keys(this._state.pulledVideoStreams)
1373
1348
  }, {
1374
- F: __dxlog_file5,
1375
- L: 249,
1349
+ F: __dxlog_file4,
1350
+ L: 256,
1376
1351
  S: this,
1377
1352
  C: (f, a) => f(...a)
1378
1353
  });
@@ -1456,18 +1431,18 @@ var MediaManager = class extends Resource4 {
1456
1431
  err,
1457
1432
  name
1458
1433
  }, {
1459
- F: __dxlog_file5,
1460
- L: 319,
1434
+ F: __dxlog_file4,
1435
+ L: 326,
1461
1436
  S: this,
1462
1437
  C: (f, a) => f(...a)
1463
1438
  });
1464
1439
  void ctx.dispose();
1465
- await cancelWithContext2(this._ctx, sleep2(RETRY_INTERVAL));
1440
+ await cancelWithContext(this._ctx, sleep2(RETRY_INTERVAL));
1466
1441
  log4.verbose("retrying pull track", {
1467
1442
  name
1468
1443
  }, {
1469
- F: __dxlog_file5,
1470
- L: 322,
1444
+ F: __dxlog_file4,
1445
+ L: 329,
1471
1446
  S: this,
1472
1447
  C: (f, a) => f(...a)
1473
1448
  });
@@ -1492,11 +1467,11 @@ _ts_decorate2([
1492
1467
  synchronized2
1493
1468
  ], MediaManager.prototype, "leave", null);
1494
1469
 
1495
- // packages/plugins/plugin-thread/src/calls/call-manager.ts
1470
+ // src/calls/call-manager.ts
1496
1471
  import { computed } from "@preact/signals-core";
1497
1472
  import { Event as Event4, synchronized as synchronized3 } from "@dxos/async";
1498
1473
  import { Resource as Resource5 } from "@dxos/context";
1499
- import { invariant as invariant4 } from "@dxos/invariant";
1474
+ import { invariant as invariant3 } from "@dxos/invariant";
1500
1475
  import { live } from "@dxos/live-object";
1501
1476
  import { isNonNullable as isNonNullable2 } from "@dxos/util";
1502
1477
  function _ts_decorate3(decorators, target, key, desc) {
@@ -1505,8 +1480,24 @@ function _ts_decorate3(decorators, target, key, desc) {
1505
1480
  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;
1506
1481
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1507
1482
  }
1508
- var __dxlog_file6 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-thread/src/calls/call-manager.ts";
1483
+ var __dxlog_file5 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/call-manager.ts";
1509
1484
  var CallManager = class extends Resource5 {
1485
+ _client;
1486
+ callStateUpdated;
1487
+ // TODO(wittjosiah): Consolidate isSpeaking into the MediaState type.
1488
+ mediaStateUpdated;
1489
+ left;
1490
+ /**
1491
+ * Live object state. Is changed on internal events.
1492
+ * CAUTION: Do not change directly.
1493
+ */
1494
+ _state;
1495
+ // TODO(wittjosiah): This shouldn't be necessary, live-object's signals should be granular.
1496
+ _raisedHandSignal;
1497
+ _speakingSignal;
1498
+ _joinedSignal;
1499
+ _swarmSynchronizer;
1500
+ _mediaManager;
1510
1501
  /** @reactive */
1511
1502
  get roomId() {
1512
1503
  return this._state.call.roomId;
@@ -1540,8 +1531,8 @@ var CallManager = class extends Resource5 {
1540
1531
  return this._state.media;
1541
1532
  }
1542
1533
  /** @reactive */
1543
- get pulledAudioTracks() {
1544
- return Object.values(this._state.media.pulledAudioTracks).map((track) => track.track);
1534
+ get audioTracksToPlay() {
1535
+ 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);
1545
1536
  }
1546
1537
  /** @reactive */
1547
1538
  get state() {
@@ -1596,9 +1587,9 @@ var CallManager = class extends Resource5 {
1596
1587
  }), this._raisedHandSignal = computed(() => this._state.call.raisedHand ?? false), this._speakingSignal = computed(() => this._state.call.speaking ?? false), this._joinedSignal = computed(() => this._state.call.joined ?? false);
1597
1588
  this._client.config.getOrThrow("runtime.services.edge.url");
1598
1589
  const networkService = this._client.services.services.NetworkService;
1599
- invariant4(networkService, "network service not found", {
1600
- F: __dxlog_file6,
1601
- L: 155,
1590
+ invariant3(networkService, "network service not found", {
1591
+ F: __dxlog_file5,
1592
+ L: 159,
1602
1593
  S: this,
1603
1594
  A: [
1604
1595
  "networkService",
@@ -1701,10 +1692,8 @@ export {
1701
1692
  getUserMediaTrack,
1702
1693
  getDeviceList,
1703
1694
  getScreenshare,
1704
- createBlackCanvasStreamTrack,
1705
- createInaudibleAudioStreamTrack,
1706
1695
  SpeakingMonitor,
1707
1696
  MediaManager,
1708
1697
  CallManager
1709
1698
  };
1710
- //# sourceMappingURL=chunk-WXNPD542.mjs.map
1699
+ //# sourceMappingURL=chunk-4TME3BR4.mjs.map