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

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 (304) hide show
  1. package/dist/lib/browser/ChannelContainer-JI3ZRZ5S.mjs +17 -0
  2. package/dist/lib/browser/ChatContainer-6FVFME3R.mjs +16 -0
  3. package/dist/lib/browser/{app-graph-builder-AF3M7UWN.mjs → app-graph-builder-URVQHGMR.mjs} +32 -32
  4. package/dist/lib/browser/app-graph-builder-URVQHGMR.mjs.map +7 -0
  5. package/dist/lib/browser/blueprint-definition-TQ4JFMZZ.mjs +101 -0
  6. package/dist/lib/browser/blueprint-definition-TQ4JFMZZ.mjs.map +7 -0
  7. package/dist/lib/browser/{call-manager-XRRCAVLI.mjs → call-manager-4YFT4XA6.mjs} +8 -7
  8. package/dist/lib/{node-esm/call-manager-EI7FXRAU.mjs.map → browser/call-manager-4YFT4XA6.mjs.map} +1 -1
  9. package/dist/lib/browser/chunk-6LWKNZUV.mjs +377 -0
  10. package/dist/lib/browser/chunk-6LWKNZUV.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-CBUNHCOE.mjs +23 -0
  12. package/dist/lib/browser/chunk-CBUNHCOE.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-CFC7LEPD.mjs +18 -0
  14. package/dist/lib/browser/chunk-CFC7LEPD.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-GERVMFQW.mjs → chunk-CP7E2HRE.mjs} +2 -2
  16. package/dist/lib/browser/chunk-CP7E2HRE.mjs.map +7 -0
  17. package/dist/lib/browser/{chunk-ZJ7QBXK6.mjs → chunk-F36NHPJG.mjs} +47 -42
  18. package/dist/lib/browser/chunk-F36NHPJG.mjs.map +7 -0
  19. package/dist/lib/browser/{chunk-JGKMMI65.mjs → chunk-ISCHODBV.mjs} +54 -4
  20. package/dist/lib/browser/chunk-ISCHODBV.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  22. package/dist/lib/browser/{chunk-X5PIP5YR.mjs → chunk-KOBXMDCI.mjs} +74 -41
  23. package/dist/lib/browser/chunk-KOBXMDCI.mjs.map +7 -0
  24. package/dist/lib/browser/chunk-QM34EZQK.mjs +20 -0
  25. package/dist/lib/browser/chunk-QM34EZQK.mjs.map +7 -0
  26. package/dist/lib/browser/chunk-R5UOPOO7.mjs +142 -0
  27. package/dist/lib/browser/chunk-R5UOPOO7.mjs.map +7 -0
  28. package/dist/lib/browser/chunk-VIRD2QSK.mjs +611 -0
  29. package/dist/lib/browser/chunk-VIRD2QSK.mjs.map +7 -0
  30. package/dist/lib/browser/{chunk-TUFWPOVS.mjs → chunk-ZCW3NSDZ.mjs} +256 -161
  31. package/dist/lib/browser/chunk-ZCW3NSDZ.mjs.map +7 -0
  32. package/dist/lib/browser/index.mjs +48 -38
  33. package/dist/lib/browser/index.mjs.map +3 -3
  34. package/dist/lib/browser/{intent-resolver-DCY4P4OX.mjs → intent-resolver-YR6W4CRP.mjs} +33 -51
  35. package/dist/lib/browser/intent-resolver-YR6W4CRP.mjs.map +7 -0
  36. package/dist/lib/browser/{markdown-WZSXCEZJ.mjs → markdown-GSOBOXA7.mjs} +26 -24
  37. package/dist/lib/browser/markdown-GSOBOXA7.mjs.map +7 -0
  38. package/dist/lib/browser/meta.json +1 -1
  39. package/dist/lib/browser/react-root-RAWRPF7Z.mjs +29 -0
  40. package/dist/lib/browser/react-root-RAWRPF7Z.mjs.map +7 -0
  41. package/dist/lib/browser/{react-surface-PYAMIADB.mjs → react-surface-GOEFSXQ6.mjs} +38 -36
  42. package/dist/lib/browser/react-surface-GOEFSXQ6.mjs.map +7 -0
  43. package/dist/lib/browser/{settings-AC6YSASL.mjs → settings-JN2HHORY.mjs} +6 -5
  44. package/dist/lib/{node-esm/settings-N52O7MLS.mjs.map → browser/settings-JN2HHORY.mjs.map} +1 -1
  45. package/dist/lib/browser/{state-2T4KDWBX.mjs → state-UYPLBGZJ.mjs} +6 -5
  46. package/dist/lib/{node-esm/state-62TQKQVB.mjs.map → browser/state-UYPLBGZJ.mjs.map} +1 -1
  47. package/dist/lib/browser/types/index.mjs +7 -10
  48. package/dist/lib/node-esm/ChannelContainer-RQY4PR4F.mjs +18 -0
  49. package/dist/lib/node-esm/ChatContainer-KWNON7EN.mjs +17 -0
  50. package/dist/lib/node-esm/ChatContainer-KWNON7EN.mjs.map +7 -0
  51. package/dist/lib/node-esm/{app-graph-builder-OLSJVCWY.mjs → app-graph-builder-2IH5RPR7.mjs} +32 -32
  52. package/dist/lib/node-esm/app-graph-builder-2IH5RPR7.mjs.map +7 -0
  53. package/dist/lib/node-esm/blueprint-definition-TSX5HHW7.mjs +102 -0
  54. package/dist/lib/node-esm/blueprint-definition-TSX5HHW7.mjs.map +7 -0
  55. package/dist/lib/node-esm/{call-manager-EI7FXRAU.mjs → call-manager-UMUXEYH5.mjs} +8 -7
  56. package/dist/lib/{browser/call-manager-XRRCAVLI.mjs.map → node-esm/call-manager-UMUXEYH5.mjs.map} +1 -1
  57. package/dist/lib/node-esm/chunk-2AEIN5MI.mjs +22 -0
  58. package/dist/lib/node-esm/chunk-2AEIN5MI.mjs.map +7 -0
  59. package/dist/lib/node-esm/{chunk-4TME3BR4.mjs → chunk-7KZWZS2U.mjs} +256 -161
  60. package/dist/lib/node-esm/chunk-7KZWZS2U.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-57XR3LEF.mjs → chunk-ABUFOZVX.mjs} +2 -2
  62. package/dist/lib/node-esm/chunk-ABUFOZVX.mjs.map +7 -0
  63. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  64. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  65. package/dist/lib/node-esm/chunk-I3O6NXMN.mjs +25 -0
  66. package/dist/lib/node-esm/chunk-I3O6NXMN.mjs.map +7 -0
  67. package/dist/lib/node-esm/chunk-MEIWWPR2.mjs +143 -0
  68. package/dist/lib/node-esm/chunk-MEIWWPR2.mjs.map +7 -0
  69. package/dist/lib/node-esm/{chunk-SED3O2XO.mjs → chunk-PZH2EDU5.mjs} +74 -41
  70. package/dist/lib/node-esm/chunk-PZH2EDU5.mjs.map +7 -0
  71. package/dist/lib/node-esm/chunk-QFCIKJOD.mjs +612 -0
  72. package/dist/lib/node-esm/chunk-QFCIKJOD.mjs.map +7 -0
  73. package/dist/lib/node-esm/chunk-RT6NRL2I.mjs +19 -0
  74. package/dist/lib/node-esm/chunk-RT6NRL2I.mjs.map +7 -0
  75. package/dist/lib/node-esm/{chunk-QBHKLWGR.mjs → chunk-VBI32FGI.mjs} +54 -4
  76. package/dist/lib/node-esm/chunk-VBI32FGI.mjs.map +7 -0
  77. package/dist/lib/node-esm/{chunk-YIDU3DXK.mjs → chunk-Y3F2SGNH.mjs} +47 -42
  78. package/dist/lib/node-esm/chunk-Y3F2SGNH.mjs.map +7 -0
  79. package/dist/lib/node-esm/chunk-Z4GUSLWL.mjs +378 -0
  80. package/dist/lib/node-esm/chunk-Z4GUSLWL.mjs.map +7 -0
  81. package/dist/lib/node-esm/index.mjs +48 -38
  82. package/dist/lib/node-esm/index.mjs.map +3 -3
  83. package/dist/lib/node-esm/{intent-resolver-QGTPU6QB.mjs → intent-resolver-SJFABEE7.mjs} +33 -51
  84. package/dist/lib/node-esm/intent-resolver-SJFABEE7.mjs.map +7 -0
  85. package/dist/lib/node-esm/{markdown-3MZXUGUA.mjs → markdown-GG5566TL.mjs} +26 -24
  86. package/dist/lib/node-esm/markdown-GG5566TL.mjs.map +7 -0
  87. package/dist/lib/node-esm/meta.json +1 -1
  88. package/dist/lib/node-esm/react-root-K5OGECUS.mjs +30 -0
  89. package/dist/lib/node-esm/react-root-K5OGECUS.mjs.map +7 -0
  90. package/dist/lib/node-esm/{react-surface-UJFCSFNO.mjs → react-surface-5QDQD7MN.mjs} +38 -36
  91. package/dist/lib/node-esm/react-surface-5QDQD7MN.mjs.map +7 -0
  92. package/dist/lib/node-esm/{settings-N52O7MLS.mjs → settings-VSPM3BIM.mjs} +6 -5
  93. package/dist/lib/{browser/settings-AC6YSASL.mjs.map → node-esm/settings-VSPM3BIM.mjs.map} +1 -1
  94. package/dist/lib/node-esm/{state-62TQKQVB.mjs → state-XNWOLBNE.mjs} +6 -5
  95. package/dist/lib/{browser/state-2T4KDWBX.mjs.map → node-esm/state-XNWOLBNE.mjs.map} +1 -1
  96. package/dist/lib/node-esm/types/index.mjs +7 -10
  97. package/dist/types/src/ThreadPlugin.d.ts +1 -1
  98. package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
  99. package/dist/types/src/calls/media-manager.d.ts +1 -1
  100. package/dist/types/src/calls/media-manager.d.ts.map +1 -1
  101. package/dist/types/src/calls/types.d.ts.map +1 -1
  102. package/dist/types/src/calls/util/calls-service.d.ts +3 -1
  103. package/dist/types/src/calls/util/calls-service.d.ts.map +1 -1
  104. package/dist/types/src/calls/util/stub-media-streams.d.ts.map +1 -1
  105. package/dist/types/src/calls-service.stories.d.ts +10 -9
  106. package/dist/types/src/calls-service.stories.d.ts.map +1 -1
  107. package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
  108. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  109. package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -0
  110. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
  111. package/dist/types/src/capabilities/call-manager.d.ts +1 -1
  112. package/dist/types/src/capabilities/capabilities.d.ts +2 -2
  113. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  114. package/dist/types/src/capabilities/index.d.ts +11 -10
  115. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  116. package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
  117. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  118. package/dist/types/src/capabilities/markdown.d.ts +1 -1
  119. package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
  120. package/dist/types/src/capabilities/react-root.d.ts +2 -2
  121. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  122. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  123. package/dist/types/src/capabilities/settings.d.ts +1 -1
  124. package/dist/types/src/capabilities/state.d.ts +2 -2
  125. package/dist/types/src/components/Call/Toolbar.d.ts +2 -2
  126. package/dist/types/src/components/Call/Toolbar.d.ts.map +1 -1
  127. package/dist/types/src/components/CallDebugPanel.d.ts +7 -0
  128. package/dist/types/src/components/CallDebugPanel.d.ts.map +1 -1
  129. package/dist/types/src/components/ChannelContainer.d.ts +2 -2
  130. package/dist/types/src/components/ChannelContainer.d.ts.map +1 -1
  131. package/dist/types/src/components/ChannelContainer.stories.d.ts +155 -5
  132. package/dist/types/src/components/ChannelContainer.stories.d.ts.map +1 -1
  133. package/dist/types/src/components/Chat.stories.d.ts +158 -5
  134. package/dist/types/src/components/Chat.stories.d.ts.map +1 -1
  135. package/dist/types/src/components/ChatContainer.d.ts +6 -5
  136. package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
  137. package/dist/types/src/components/Comments.stories.d.ts +156 -4
  138. package/dist/types/src/components/Comments.stories.d.ts.map +1 -1
  139. package/dist/types/src/components/CommentsContainer.d.ts +2 -2
  140. package/dist/types/src/components/CommentsContainer.d.ts.map +1 -1
  141. package/dist/types/src/components/CommentsThreadContainer.d.ts +9 -9
  142. package/dist/types/src/components/CommentsThreadContainer.d.ts.map +1 -1
  143. package/dist/types/src/components/Media/VideoObject.d.ts +2 -2
  144. package/dist/types/src/components/Media/VideoObject.d.ts.map +1 -1
  145. package/dist/types/src/components/Media/VideoObject.stories.d.ts +18 -4
  146. package/dist/types/src/components/Media/VideoObject.stories.d.ts.map +1 -1
  147. package/dist/types/src/components/MessageContainer.d.ts +6 -3
  148. package/dist/types/src/components/MessageContainer.d.ts.map +1 -1
  149. package/dist/types/src/components/Participant/Participant.d.ts.map +1 -1
  150. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +155 -3
  151. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +1 -1
  152. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +157 -4
  153. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +1 -1
  154. package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts.map +1 -1
  155. package/dist/types/src/components/ThreadCompanion.d.ts +5 -0
  156. package/dist/types/src/components/ThreadCompanion.d.ts.map +1 -0
  157. package/dist/types/src/components/ThreadSettings.d.ts +1 -1
  158. package/dist/types/src/components/ThreadSettings.d.ts.map +1 -1
  159. package/dist/types/src/components/command-extension.d.ts.map +1 -1
  160. package/dist/types/src/components/index.d.ts +3 -3
  161. package/dist/types/src/components/index.d.ts.map +1 -1
  162. package/dist/types/src/components/testing.d.ts +3 -2
  163. package/dist/types/src/components/testing.d.ts.map +1 -1
  164. package/dist/types/src/extensions/threads.d.ts.map +1 -1
  165. package/dist/types/src/functions/create-proposals.d.ts +6 -0
  166. package/dist/types/src/functions/create-proposals.d.ts.map +1 -0
  167. package/dist/types/src/functions/index.d.ts +2 -0
  168. package/dist/types/src/functions/index.d.ts.map +1 -0
  169. package/dist/types/src/hooks/analytics.d.ts +2 -2
  170. package/dist/types/src/hooks/analytics.d.ts.map +1 -1
  171. package/dist/types/src/hooks/index.d.ts +2 -1
  172. package/dist/types/src/hooks/index.d.ts.map +1 -1
  173. package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts +2 -0
  174. package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts.map +1 -0
  175. package/dist/types/src/hooks/useVideoStreamTrack.d.ts +1 -1
  176. package/dist/types/src/hooks/useVideoStreamTrack.d.ts.map +1 -1
  177. package/dist/types/src/meta.d.ts +1 -2
  178. package/dist/types/src/meta.d.ts.map +1 -1
  179. package/dist/types/src/testing/stories.d.ts.map +1 -1
  180. package/dist/types/src/translations.d.ts +75 -7
  181. package/dist/types/src/translations.d.ts.map +1 -1
  182. package/dist/types/src/types/Channel.d.ts +16 -0
  183. package/dist/types/src/types/Channel.d.ts.map +1 -0
  184. package/dist/types/src/types/index.d.ts +1 -1
  185. package/dist/types/src/types/index.d.ts.map +1 -1
  186. package/dist/types/src/types/types.d.ts +206 -210
  187. package/dist/types/src/types/types.d.ts.map +1 -1
  188. package/dist/types/tsconfig.tsbuildinfo +1 -1
  189. package/package.json +65 -59
  190. package/src/ThreadPlugin.tsx +139 -125
  191. package/src/calls/call-manager.ts +1 -1
  192. package/src/calls/media-manager.ts +64 -35
  193. package/src/calls/types.ts +7 -3
  194. package/src/calls/util/calls-service.ts +61 -11
  195. package/src/calls/util/stub-media-streams.ts +62 -5
  196. package/src/calls-service.stories.tsx +76 -63
  197. package/src/capabilities/app-graph-builder.ts +43 -30
  198. package/src/capabilities/blueprint-definition.ts +38 -0
  199. package/src/capabilities/capabilities.ts +7 -7
  200. package/src/capabilities/index.ts +1 -0
  201. package/src/capabilities/intent-resolver.ts +23 -30
  202. package/src/capabilities/markdown.ts +5 -3
  203. package/src/capabilities/react-root.tsx +2 -2
  204. package/src/capabilities/react-surface.tsx +25 -23
  205. package/src/components/Call/Call.tsx +1 -1
  206. package/src/components/Call/Toolbar.tsx +9 -9
  207. package/src/components/CallDebugPanel.tsx +112 -55
  208. package/src/components/CallSidebar.tsx +1 -1
  209. package/src/components/ChannelContainer.stories.tsx +13 -13
  210. package/src/components/ChannelContainer.tsx +19 -15
  211. package/src/components/Chat.stories.tsx +30 -34
  212. package/src/components/ChatContainer.tsx +32 -21
  213. package/src/components/Comments.stories.tsx +36 -39
  214. package/src/components/CommentsContainer.tsx +5 -7
  215. package/src/components/CommentsThreadContainer.tsx +38 -33
  216. package/src/components/Lobby/Lobby.tsx +1 -1
  217. package/src/components/Media/VideoObject.stories.tsx +35 -28
  218. package/src/components/Media/VideoObject.tsx +1 -1
  219. package/src/components/MessageContainer.tsx +45 -12
  220. package/src/components/Participant/Participant.tsx +14 -8
  221. package/src/components/ResponsiveGrid/ResponsiveContainer.stories.tsx +5 -6
  222. package/src/components/ResponsiveGrid/ResponsiveContainer.tsx +2 -2
  223. package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +42 -41
  224. package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +5 -5
  225. package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +5 -2
  226. package/src/components/{ThreadComplementary.tsx → ThreadCompanion.tsx} +72 -35
  227. package/src/components/ThreadSettings.tsx +6 -7
  228. package/src/components/command-extension.ts +4 -1
  229. package/src/components/index.ts +4 -4
  230. package/src/components/testing.ts +26 -6
  231. package/src/extensions/threads.ts +26 -17
  232. package/src/functions/create-proposals.ts +56 -0
  233. package/src/functions/index.ts +5 -0
  234. package/src/hooks/analytics.ts +4 -7
  235. package/src/hooks/index.ts +3 -1
  236. package/src/hooks/useBlackCanvasStreamTrack.tsx +27 -0
  237. package/src/hooks/useVideoStreamTrack.tsx +6 -3
  238. package/src/meta.ts +9 -5
  239. package/src/testing/stories.ts +3 -6
  240. package/src/translations.ts +7 -4
  241. package/src/types/Channel.ts +26 -0
  242. package/src/types/index.ts +1 -1
  243. package/src/types/types.ts +27 -28
  244. package/src/typings/peermetrics-webrtc-stats.d.ts +17 -1
  245. package/src/util.ts +1 -1
  246. package/dist/lib/browser/ChannelContainer-O2SFQJU7.mjs +0 -16
  247. package/dist/lib/browser/ChatContainer-PVT3DUZJ.mjs +0 -15
  248. package/dist/lib/browser/app-graph-builder-AF3M7UWN.mjs.map +0 -7
  249. package/dist/lib/browser/chunk-2CWJBXBH.mjs +0 -21
  250. package/dist/lib/browser/chunk-2CWJBXBH.mjs.map +0 -7
  251. package/dist/lib/browser/chunk-4APCDRSH.mjs +0 -18
  252. package/dist/lib/browser/chunk-4APCDRSH.mjs.map +0 -7
  253. package/dist/lib/browser/chunk-DW7JD64V.mjs +0 -137
  254. package/dist/lib/browser/chunk-DW7JD64V.mjs.map +0 -7
  255. package/dist/lib/browser/chunk-EV4JWI7L.mjs +0 -17
  256. package/dist/lib/browser/chunk-EV4JWI7L.mjs.map +0 -7
  257. package/dist/lib/browser/chunk-FY4ZRD5X.mjs +0 -367
  258. package/dist/lib/browser/chunk-FY4ZRD5X.mjs.map +0 -7
  259. package/dist/lib/browser/chunk-GERVMFQW.mjs.map +0 -7
  260. package/dist/lib/browser/chunk-J3JO5NWO.mjs +0 -477
  261. package/dist/lib/browser/chunk-J3JO5NWO.mjs.map +0 -7
  262. package/dist/lib/browser/chunk-JGKMMI65.mjs.map +0 -7
  263. package/dist/lib/browser/chunk-TUFWPOVS.mjs.map +0 -7
  264. package/dist/lib/browser/chunk-X5PIP5YR.mjs.map +0 -7
  265. package/dist/lib/browser/chunk-ZJ7QBXK6.mjs.map +0 -7
  266. package/dist/lib/browser/intent-resolver-DCY4P4OX.mjs.map +0 -7
  267. package/dist/lib/browser/markdown-WZSXCEZJ.mjs.map +0 -7
  268. package/dist/lib/browser/react-root-QXPALOUQ.mjs +0 -28
  269. package/dist/lib/browser/react-root-QXPALOUQ.mjs.map +0 -7
  270. package/dist/lib/browser/react-surface-PYAMIADB.mjs.map +0 -7
  271. package/dist/lib/node-esm/ChannelContainer-B2ZGAE4P.mjs +0 -17
  272. package/dist/lib/node-esm/ChatContainer-2CT4PJ7I.mjs +0 -16
  273. package/dist/lib/node-esm/app-graph-builder-OLSJVCWY.mjs.map +0 -7
  274. package/dist/lib/node-esm/chunk-4TME3BR4.mjs.map +0 -7
  275. package/dist/lib/node-esm/chunk-57XR3LEF.mjs.map +0 -7
  276. package/dist/lib/node-esm/chunk-6CRHHOST.mjs +0 -23
  277. package/dist/lib/node-esm/chunk-6CRHHOST.mjs.map +0 -7
  278. package/dist/lib/node-esm/chunk-BF4UKS55.mjs +0 -368
  279. package/dist/lib/node-esm/chunk-BF4UKS55.mjs.map +0 -7
  280. package/dist/lib/node-esm/chunk-GRLRWTRU.mjs +0 -19
  281. package/dist/lib/node-esm/chunk-GRLRWTRU.mjs.map +0 -7
  282. package/dist/lib/node-esm/chunk-PYTVBN5J.mjs +0 -19
  283. package/dist/lib/node-esm/chunk-PYTVBN5J.mjs.map +0 -7
  284. package/dist/lib/node-esm/chunk-QBHKLWGR.mjs.map +0 -7
  285. package/dist/lib/node-esm/chunk-SED3O2XO.mjs.map +0 -7
  286. package/dist/lib/node-esm/chunk-VNG6M2IY.mjs +0 -478
  287. package/dist/lib/node-esm/chunk-VNG6M2IY.mjs.map +0 -7
  288. package/dist/lib/node-esm/chunk-XVKWHTH4.mjs +0 -138
  289. package/dist/lib/node-esm/chunk-XVKWHTH4.mjs.map +0 -7
  290. package/dist/lib/node-esm/chunk-YIDU3DXK.mjs.map +0 -7
  291. package/dist/lib/node-esm/intent-resolver-QGTPU6QB.mjs.map +0 -7
  292. package/dist/lib/node-esm/markdown-3MZXUGUA.mjs.map +0 -7
  293. package/dist/lib/node-esm/react-root-7ZFJYVUZ.mjs +0 -29
  294. package/dist/lib/node-esm/react-root-7ZFJYVUZ.mjs.map +0 -7
  295. package/dist/lib/node-esm/react-surface-UJFCSFNO.mjs.map +0 -7
  296. package/dist/types/src/components/ThreadComplementary.d.ts +0 -5
  297. package/dist/types/src/components/ThreadComplementary.d.ts.map +0 -1
  298. package/dist/types/src/types/schema.d.ts +0 -164
  299. package/dist/types/src/types/schema.d.ts.map +0 -1
  300. package/src/types/schema.ts +0 -33
  301. /package/dist/lib/browser/{ChannelContainer-O2SFQJU7.mjs.map → ChannelContainer-JI3ZRZ5S.mjs.map} +0 -0
  302. /package/dist/lib/browser/{ChatContainer-PVT3DUZJ.mjs.map → ChatContainer-6FVFME3R.mjs.map} +0 -0
  303. /package/dist/lib/{node-esm/ChannelContainer-B2ZGAE4P.mjs.map → browser/chunk-J5LGTIGS.mjs.map} +0 -0
  304. /package/dist/lib/node-esm/{ChatContainer-2CT4PJ7I.mjs.map → ChannelContainer-RQY4PR4F.mjs.map} +0 -0
@@ -2,11 +2,13 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  createBlackCanvasStreamTrack,
4
4
  createInaudibleAudioStreamTrack
5
- } from "./chunk-QBHKLWGR.mjs";
5
+ } from "./chunk-VBI32FGI.mjs";
6
6
 
7
7
  // src/calls/types.ts
8
+ import { invariant } from "@dxos/invariant";
8
9
  import { buf } from "@dxos/protocols/buf";
9
10
  import { UserStateSchema } from "@dxos/protocols/buf/dxos/edge/calls_pb";
11
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/types.ts";
10
12
  var CALLS_URL = "https://calls-service.dxos.workers.dev";
11
13
  var codec = {
12
14
  encode: (message) => {
@@ -18,14 +20,42 @@ var codec = {
18
20
  };
19
21
  var TrackNameCodec = {
20
22
  encode: (trackData) => {
21
- return trackData.sessionId + "/" + trackData.trackName;
23
+ invariant(trackData.sessionId, void 0, {
24
+ F: __dxlog_file,
25
+ L: 65,
26
+ S: void 0,
27
+ A: [
28
+ "trackData.sessionId",
29
+ ""
30
+ ]
31
+ });
32
+ invariant(trackData.trackName, void 0, {
33
+ F: __dxlog_file,
34
+ L: 66,
35
+ S: void 0,
36
+ A: [
37
+ "trackData.trackName",
38
+ ""
39
+ ]
40
+ });
41
+ invariant(trackData.mid, void 0, {
42
+ F: __dxlog_file,
43
+ L: 67,
44
+ S: void 0,
45
+ A: [
46
+ "trackData.mid",
47
+ ""
48
+ ]
49
+ });
50
+ return trackData.sessionId + "/" + trackData.trackName + "/" + trackData.mid;
22
51
  },
23
52
  decode: (name) => {
24
- const [sessionId, trackName] = name.split("/");
53
+ const [sessionId, trackName, mid] = name.split("/");
25
54
  return {
26
55
  sessionId,
27
56
  trackName,
28
- location: "remote"
57
+ location: "remote",
58
+ mid
29
59
  };
30
60
  }
31
61
  };
@@ -35,7 +65,7 @@ import md5Hex from "md5-hex";
35
65
  import { DeferredTask, Event, scheduleTaskInterval, synchronized } from "@dxos/async";
36
66
  import { Context, Resource } from "@dxos/context";
37
67
  import { generateName } from "@dxos/display-name";
38
- import { invariant } from "@dxos/invariant";
68
+ import { invariant as invariant2 } from "@dxos/invariant";
39
69
  import { PublicKey } from "@dxos/keys";
40
70
  import { log } from "@dxos/log";
41
71
  import { buf as buf2 } from "@dxos/protocols/buf";
@@ -48,7 +78,7 @@ function _ts_decorate(decorators, target, key, desc) {
48
78
  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;
49
79
  return c > 3 && r && Object.defineProperty(target, key, r), r;
50
80
  }
51
- var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/call-swarm-synchronizer.ts";
81
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/call-swarm-synchronizer.ts";
52
82
  var DISCONNECTED_ABRUPT_TIMEOUT = 1e4;
53
83
  var CallSwarmSynchronizer = class extends Resource {
54
84
  stateUpdated = new Event();
@@ -132,7 +162,7 @@ var CallSwarmSynchronizer = class extends Resource {
132
162
  log.verbose("joined to a different room", {
133
163
  roomId
134
164
  }, {
135
- F: __dxlog_file,
165
+ F: __dxlog_file2,
136
166
  L: 152,
137
167
  S: this,
138
168
  C: (f, a) => f(...a)
@@ -154,8 +184,8 @@ var CallSwarmSynchronizer = class extends Resource {
154
184
  this._reconcileSwarmStateTask = void 0;
155
185
  }
156
186
  async join() {
157
- invariant(this._state.roomId, void 0, {
158
- F: __dxlog_file,
187
+ invariant2(this._state.roomId, void 0, {
188
+ F: __dxlog_file2,
159
189
  L: 176,
160
190
  S: this,
161
191
  A: [
@@ -163,8 +193,8 @@ var CallSwarmSynchronizer = class extends Resource {
163
193
  ""
164
194
  ]
165
195
  });
166
- invariant(!this._swarmCtx, "Already joined", {
167
- F: __dxlog_file,
196
+ invariant2(!this._swarmCtx, "Already joined", {
197
+ F: __dxlog_file2,
168
198
  L: 177,
169
199
  S: this,
170
200
  A: [
@@ -173,7 +203,7 @@ var CallSwarmSynchronizer = class extends Resource {
173
203
  ]
174
204
  });
175
205
  this._swarmCtx = new Context(void 0, {
176
- F: __dxlog_file,
206
+ F: __dxlog_file2,
177
207
  L: 179
178
208
  });
179
209
  const topic = getTopic(this._state.roomId);
@@ -184,7 +214,7 @@ var CallSwarmSynchronizer = class extends Resource {
184
214
  peerKey: this._deviceKey
185
215
  }
186
216
  }, {
187
- F: __dxlog_file,
217
+ F: __dxlog_file2,
188
218
  L: 181,
189
219
  S: this,
190
220
  C: (f, a) => f(...a)
@@ -203,7 +233,7 @@ var CallSwarmSynchronizer = class extends Resource {
203
233
  peerKey: this._deviceKey
204
234
  }
205
235
  }, {
206
- F: __dxlog_file,
236
+ F: __dxlog_file2,
207
237
  L: 188,
208
238
  S: this,
209
239
  C: (f, a) => f(...a)
@@ -215,7 +245,7 @@ var CallSwarmSynchronizer = class extends Resource {
215
245
  peerKey: this._deviceKey
216
246
  }
217
247
  }).catch((err) => log.catch(err, void 0, {
218
- F: __dxlog_file,
248
+ F: __dxlog_file2,
219
249
  L: 194,
220
250
  S: this,
221
251
  C: (f, a) => f(...a)
@@ -283,8 +313,8 @@ var CallSwarmSynchronizer = class extends Resource {
283
313
  }
284
314
  async _reconcileSwarmState() {
285
315
  const swarmEvent = this._lastSwarmEvent;
286
- invariant(swarmEvent, void 0, {
287
- F: __dxlog_file,
316
+ invariant2(swarmEvent, void 0, {
317
+ F: __dxlog_file2,
288
318
  L: 273,
289
319
  S: this,
290
320
  A: [
@@ -304,7 +334,7 @@ var CallSwarmSynchronizer = class extends Resource {
304
334
  error,
305
335
  peer
306
336
  }, {
307
- F: __dxlog_file,
337
+ F: __dxlog_file2,
308
338
  L: 290,
309
339
  S: this,
310
340
  C: (f, a) => f(...a)
@@ -317,7 +347,7 @@ var CallSwarmSynchronizer = class extends Resource {
317
347
  log("reconciling swarm state", {
318
348
  users
319
349
  }, {
320
- F: __dxlog_file,
350
+ F: __dxlog_file2,
321
351
  L: 297,
322
352
  S: this,
323
353
  C: (f, a) => f(...a)
@@ -405,9 +435,9 @@ var monitorAudioLevel = ({ mediaStreamTrack, intervalMs = 1e3 / 10, onMeasure })
405
435
  };
406
436
 
407
437
  // src/calls/util/calls-service.ts
408
- import { PersistentLifecycle } from "@dxos/async";
438
+ import { PersistentLifecycle, Trigger, scheduleTask } from "@dxos/async";
409
439
  import { Resource as Resource2 } from "@dxos/context";
410
- import { invariant as invariant2 } from "@dxos/invariant";
440
+ import { invariant as invariant3 } from "@dxos/invariant";
411
441
  import { log as log2 } from "@dxos/log";
412
442
 
413
443
  // src/calls/util/history-cache.ts
@@ -487,7 +517,7 @@ var BulkRequestDispatcher = class {
487
517
  };
488
518
 
489
519
  // src/calls/util/calls-service.ts
490
- var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/util/calls-service.ts";
520
+ var __dxlog_file3 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/util/calls-service.ts";
491
521
  var NETWORK_TIMEOUT = 5e3;
492
522
  var CallsServicePeer = class extends Resource2 {
493
523
  history = new HistoryCache(100);
@@ -531,11 +561,11 @@ var CallsServicePeer = class extends Resource2 {
531
561
  });
532
562
  peerConnection.addEventListener("connectionstatechange", () => {
533
563
  if (peerConnection.connectionState === "failed" || peerConnection.connectionState === "closed") {
534
- log2.warn("calls connection failed", {
564
+ log2.info("calls connection failed", {
535
565
  state: peerConnection.connectionState
536
566
  }, {
537
- F: __dxlog_file2,
538
- L: 119,
567
+ F: __dxlog_file3,
568
+ L: 121,
539
569
  S: this,
540
570
  C: (f, a) => f(...a)
541
571
  });
@@ -546,11 +576,11 @@ var CallsServicePeer = class extends Resource2 {
546
576
  peerConnection.addEventListener("iceconnectionstatechange", () => {
547
577
  clearTimeout(iceTimeout);
548
578
  if (peerConnection.iceConnectionState === "failed" || peerConnection.iceConnectionState === "closed") {
549
- log2.warn("calls connection to ICEs failed", {
579
+ log2.info("calls connection to ICEs failed", {
550
580
  state: peerConnection.iceConnectionState
551
581
  }, {
552
- F: __dxlog_file2,
553
- L: 128,
582
+ F: __dxlog_file3,
583
+ L: 130,
554
584
  S: this,
555
585
  C: (f, a) => f(...a)
556
586
  });
@@ -560,19 +590,19 @@ var CallsServicePeer = class extends Resource2 {
560
590
  iceTimeout = window.setTimeout(() => {
561
591
  if (peerConnection.iceConnectionState === "connected") {
562
592
  log2.info("calls iceConnectionState is connected", void 0, {
563
- F: __dxlog_file2,
564
- L: 137,
593
+ F: __dxlog_file3,
594
+ L: 139,
565
595
  S: this,
566
596
  C: (f, a) => f(...a)
567
597
  });
568
598
  return;
569
599
  }
570
- log2.warn("calls iceConnectionState timed out", {
600
+ log2.info("calls iceConnectionState timed out", {
571
601
  state: peerConnection.iceConnectionState,
572
602
  timeoutSeconds
573
603
  }, {
574
- F: __dxlog_file2,
575
- L: 141,
604
+ F: __dxlog_file3,
605
+ L: 143,
576
606
  S: this,
577
607
  C: (f, a) => f(...a)
578
608
  });
@@ -584,8 +614,8 @@ var CallsServicePeer = class extends Resource2 {
584
614
  }
585
615
  async _initiateCallSession() {
586
616
  log2("creating new session", void 0, {
587
- F: __dxlog_file2,
588
- L: 151,
617
+ F: __dxlog_file3,
618
+ L: 153,
589
619
  S: this,
590
620
  C: (f, a) => f(...a)
591
621
  });
@@ -596,6 +626,7 @@ var CallsServicePeer = class extends Resource2 {
596
626
  }
597
627
  async _fetch(relativePath, requestInit) {
598
628
  this.history.push({
629
+ endpoint: relativePath,
599
630
  type: "request",
600
631
  time: (/* @__PURE__ */ new Date()).toISOString(),
601
632
  method: requestInit?.method ?? "GET",
@@ -610,8 +641,8 @@ var CallsServicePeer = class extends Resource2 {
610
641
  status: response.status,
611
642
  text: await response.text()
612
643
  }, {
613
- F: __dxlog_file2,
614
- L: 166,
644
+ F: __dxlog_file3,
645
+ L: 169,
615
646
  S: this,
616
647
  C: (f, a) => f(...a)
617
648
  });
@@ -620,6 +651,7 @@ var CallsServicePeer = class extends Resource2 {
620
651
  try {
621
652
  const data = await response.clone().json();
622
653
  this.history.push({
654
+ endpoint: relativePath,
623
655
  type: "response",
624
656
  time: (/* @__PURE__ */ new Date()).toISOString(),
625
657
  status: response.status,
@@ -632,6 +664,7 @@ var CallsServicePeer = class extends Resource2 {
632
664
  } catch (error) {
633
665
  const text = await response.text();
634
666
  this.history.push({
667
+ endpoint: relativePath,
635
668
  type: "response",
636
669
  time: (/* @__PURE__ */ new Date()).toISOString(),
637
670
  status: response.status,
@@ -642,8 +675,8 @@ var CallsServicePeer = class extends Resource2 {
642
675
  text,
643
676
  status: response.status
644
677
  }, {
645
- F: __dxlog_file2,
646
- L: 191,
678
+ F: __dxlog_file3,
679
+ L: 196,
647
680
  S: this,
648
681
  C: (f, a) => f(...a)
649
682
  });
@@ -652,8 +685,8 @@ var CallsServicePeer = class extends Resource2 {
652
685
  }
653
686
  async _pushTrackInBulk({ ctx, peerConnection, transceiver, sessionId, trackName }) {
654
687
  log2.verbose("pushing track ", trackName, {
655
- F: __dxlog_file2,
656
- L: 213,
688
+ F: __dxlog_file3,
689
+ L: 218,
657
690
  S: this,
658
691
  C: (f, a) => f(...a)
659
692
  });
@@ -678,9 +711,9 @@ var CallsServicePeer = class extends Resource2 {
678
711
  }))
679
712
  })
680
713
  });
681
- invariant2(response.tracks !== void 0, void 0, {
682
- F: __dxlog_file2,
683
- L: 238,
714
+ invariant3(response.tracks !== void 0, void 0, {
715
+ F: __dxlog_file3,
716
+ L: 243,
684
717
  S: this,
685
718
  A: [
686
719
  "response.tracks !== undefined",
@@ -694,7 +727,7 @@ var CallsServicePeer = class extends Resource2 {
694
727
  return {
695
728
  tracks: response.tracks
696
729
  };
697
- })).then(({ tracks }) => {
730
+ })).then(async ({ tracks }) => {
698
731
  const trackData = tracks.find((t) => t.mid === transceiver.mid);
699
732
  if (trackData) {
700
733
  return {
@@ -704,19 +737,12 @@ var CallsServicePeer = class extends Resource2 {
704
737
  };
705
738
  } else {
706
739
  log2.error("missing track data", void 0, {
707
- F: __dxlog_file2,
708
- L: 258,
740
+ F: __dxlog_file3,
741
+ L: 267,
709
742
  S: this,
710
743
  C: (f, a) => f(...a)
711
744
  });
712
745
  }
713
- }).catch((err) => {
714
- log2.catch(err, void 0, {
715
- F: __dxlog_file2,
716
- L: 262,
717
- S: this,
718
- C: (f, a) => f(...a)
719
- });
720
746
  });
721
747
  const onDispose = async () => {
722
748
  if (transceiver.mid) {
@@ -729,9 +755,9 @@ var CallsServicePeer = class extends Resource2 {
729
755
  }
730
756
  async pushTrack({ track, encodings = [], ctx, previousTrack }) {
731
757
  await this.waitUntilOpen();
732
- invariant2(this.session, void 0, {
733
- F: __dxlog_file2,
734
- L: 289,
758
+ invariant3(this.session, void 0, {
759
+ F: __dxlog_file3,
760
+ L: 295,
735
761
  S: this,
736
762
  A: [
737
763
  "this.session",
@@ -743,8 +769,8 @@ var CallsServicePeer = class extends Resource2 {
743
769
  previousTrack,
744
770
  encodings
745
771
  }, {
746
- F: __dxlog_file2,
747
- L: 290,
772
+ F: __dxlog_file3,
773
+ L: 296,
748
774
  S: this,
749
775
  C: (f, a) => f(...a)
750
776
  });
@@ -756,8 +782,8 @@ var CallsServicePeer = class extends Resource2 {
756
782
  previousTrack,
757
783
  transceiver: transceiver2
758
784
  }, {
759
- F: __dxlog_file2,
760
- L: 294,
785
+ F: __dxlog_file3,
786
+ L: 300,
761
787
  S: this,
762
788
  C: (f, a) => f(...a)
763
789
  });
@@ -768,23 +794,23 @@ var CallsServicePeer = class extends Resource2 {
768
794
  previousTrack,
769
795
  transceiver: transceiver2
770
796
  }, {
771
- F: __dxlog_file2,
772
- L: 297,
797
+ F: __dxlog_file3,
798
+ L: 303,
773
799
  S: this,
774
800
  C: (f, a) => f(...a)
775
801
  });
776
802
  transceiver2.sender.replaceTrack(track).catch((err) => log2.catch(err, void 0, {
777
- F: __dxlog_file2,
778
- L: 298,
803
+ F: __dxlog_file3,
804
+ L: 304,
779
805
  S: this,
780
806
  C: (f, a) => f(...a)
781
807
  }));
782
808
  return previousTrack;
783
809
  }
784
810
  }
785
- invariant2(track, void 0, {
786
- F: __dxlog_file2,
787
- L: 302,
811
+ invariant3(track, void 0, {
812
+ F: __dxlog_file3,
813
+ L: 308,
788
814
  S: this,
789
815
  A: [
790
816
  "track",
@@ -796,8 +822,8 @@ var CallsServicePeer = class extends Resource2 {
796
822
  direction: "sendonly"
797
823
  });
798
824
  log2.verbose("creating transceiver", void 0, {
799
- F: __dxlog_file2,
800
- L: 307,
825
+ F: __dxlog_file3,
826
+ L: 313,
801
827
  S: this,
802
828
  C: (f, a) => f(...a)
803
829
  });
@@ -808,9 +834,9 @@ var CallsServicePeer = class extends Resource2 {
808
834
  sessionId: this.session.sessionId,
809
835
  trackName: stableId
810
836
  });
811
- invariant2(pushedTrackData, void 0, {
812
- F: __dxlog_file2,
813
- L: 316,
837
+ invariant3(pushedTrackData, void 0, {
838
+ F: __dxlog_file3,
839
+ L: 322,
814
840
  S: this,
815
841
  A: [
816
842
  "pushedTrackData",
@@ -826,8 +852,8 @@ var CallsServicePeer = class extends Resource2 {
826
852
  };
827
853
  });
828
854
  transceiver.sender.setParameters(parameters).catch((err) => log2.catch(err, void 0, {
829
- F: __dxlog_file2,
830
- L: 323,
855
+ F: __dxlog_file3,
856
+ L: 329,
831
857
  S: this,
832
858
  C: (f, a) => f(...a)
833
859
  }));
@@ -839,8 +865,8 @@ var CallsServicePeer = class extends Resource2 {
839
865
  log2("pulling track", {
840
866
  trackName: trackData.trackName
841
867
  }, {
842
- F: __dxlog_file2,
843
- L: 341,
868
+ F: __dxlog_file3,
869
+ L: 347,
844
870
  S: this,
845
871
  C: (f, a) => f(...a)
846
872
  });
@@ -854,9 +880,9 @@ var CallsServicePeer = class extends Resource2 {
854
880
  if (newTrackResponse.errorCode) {
855
881
  throw new Error(newTrackResponse.errorDescription);
856
882
  }
857
- invariant2(newTrackResponse.tracks, void 0, {
858
- F: __dxlog_file2,
859
- L: 354,
883
+ invariant3(newTrackResponse.tracks, void 0, {
884
+ F: __dxlog_file3,
885
+ L: 360,
860
886
  S: this,
861
887
  A: [
862
888
  "newTrackResponse.tracks",
@@ -902,18 +928,18 @@ var CallsServicePeer = class extends Resource2 {
902
928
  mid = trackInfo.mid;
903
929
  return track;
904
930
  }).catch((err) => log2.catch(err, void 0, {
905
- F: __dxlog_file2,
906
- L: 406,
931
+ F: __dxlog_file3,
932
+ L: 412,
907
933
  S: this,
908
934
  C: (f, a) => f(...a)
909
935
  }));
910
936
  } else {
911
- log2.warn("missing track info", {
937
+ log2.info("missing track info", {
912
938
  trackData,
913
939
  availableTracks: Array.from(trackMap.keys())
914
940
  }, {
915
- F: __dxlog_file2,
916
- L: 408,
941
+ F: __dxlog_file3,
942
+ L: 414,
917
943
  S: this,
918
944
  C: (f, a) => f(...a)
919
945
  });
@@ -922,8 +948,8 @@ var CallsServicePeer = class extends Resource2 {
922
948
  const onDispose = async () => {
923
949
  if (mid) {
924
950
  log2("closing pulled track ", trackData.trackName, {
925
- F: __dxlog_file2,
926
- L: 414,
951
+ F: __dxlog_file3,
952
+ L: 420,
927
953
  S: this,
928
954
  C: (f, a) => f(...a)
929
955
  });
@@ -937,9 +963,9 @@ var CallsServicePeer = class extends Resource2 {
937
963
  }
938
964
  async pullTrack({ ctx, trackData }) {
939
965
  await this.waitUntilOpen();
940
- invariant2(this.session, void 0, {
941
- F: __dxlog_file2,
942
- L: 435,
966
+ invariant3(this.session, void 0, {
967
+ F: __dxlog_file3,
968
+ L: 441,
943
969
  S: this,
944
970
  A: [
945
971
  "this.session",
@@ -1025,7 +1051,7 @@ var peerConnectionIsConnected = async (peerConnection) => {
1025
1051
 
1026
1052
  // src/calls/util/media.ts
1027
1053
  import { log as log3 } from "@dxos/log";
1028
- var __dxlog_file3 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/util/media.ts";
1054
+ var __dxlog_file4 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/util/media.ts";
1029
1055
  var getUserMediaTrack = async (kind, constraints = {}, deviceList) => {
1030
1056
  deviceList ??= (await getDeviceList()).filter((device) => device.kind === kind);
1031
1057
  const firstDevice = deviceList[0];
@@ -1037,7 +1063,7 @@ var getUserMediaTrack = async (kind, constraints = {}, deviceList) => {
1037
1063
  var acquireTrack = async (device, constraints) => {
1038
1064
  const { deviceId, label } = device;
1039
1065
  log3.info(`requesting ${label}`, void 0, {
1040
- F: __dxlog_file3,
1066
+ F: __dxlog_file4,
1041
1067
  L: 23,
1042
1068
  S: void 0,
1043
1069
  C: (f, a) => f(...a)
@@ -1092,15 +1118,15 @@ var SpeakingMonitor = class extends Resource3 {
1092
1118
  * Event that is emitted when the user starts or stops speaking.
1093
1119
  * It is debounced to prevent rapid state changes.
1094
1120
  */
1095
- speakingChanged;
1121
+ speakingChanged = new Event2();
1096
1122
  /**
1097
1123
  * Real state of the user speaking.
1098
1124
  */
1099
- _isSpeaking;
1100
- _lastEventTime;
1125
+ _isSpeaking = false;
1126
+ _lastEventTime = 0;
1101
1127
  _deferredUpdate;
1102
1128
  constructor(_mediaStreamTrack) {
1103
- super(), this._mediaStreamTrack = _mediaStreamTrack, this.speakingChanged = new Event2(), this._isSpeaking = false, this._lastEventTime = 0;
1129
+ super(), this._mediaStreamTrack = _mediaStreamTrack;
1104
1130
  }
1105
1131
  get isSpeaking() {
1106
1132
  return this._isSpeaking;
@@ -1150,6 +1176,7 @@ var SpeakingMonitor = class extends Resource3 {
1150
1176
  // src/calls/media-manager.ts
1151
1177
  import { DeferredTask as DeferredTask3, Event as Event3, sleep as sleep2, synchronized as synchronized2 } from "@dxos/async";
1152
1178
  import { Resource as Resource4, cancelWithContext } from "@dxos/context";
1179
+ import { invariant as invariant4 } from "@dxos/invariant";
1153
1180
  import { log as log4 } from "@dxos/log";
1154
1181
  function _ts_decorate2(decorators, target, key, desc) {
1155
1182
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -1157,13 +1184,13 @@ function _ts_decorate2(decorators, target, key, desc) {
1157
1184
  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;
1158
1185
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1159
1186
  }
1160
- var __dxlog_file4 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/media-manager.ts";
1187
+ var __dxlog_file5 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/media-manager.ts";
1161
1188
  var VIDEO_WIDTH = 1280;
1162
1189
  var VIDEO_HEIGHT = 720;
1163
1190
  var MAX_WEB_CAM_FRAMERATE = 24;
1164
1191
  var MAX_WEB_CAM_BITRATE = 12e5;
1165
- var RETRY_INTERVAL = 500;
1166
- var USE_INAUDIBLE_AUDIO = false;
1192
+ var RETRY_INTERVAL = 100;
1193
+ var USE_INAUDIBLE_AUDIO = true;
1167
1194
  var MediaManager = class extends Resource4 {
1168
1195
  stateUpdated = new Event3();
1169
1196
  _state = {
@@ -1314,8 +1341,8 @@ var MediaManager = class extends Resource4 {
1314
1341
  }
1315
1342
  async _reconcilePulledMedia() {
1316
1343
  log4("reconciling tracks", void 0, {
1317
- F: __dxlog_file4,
1318
- L: 222,
1344
+ F: __dxlog_file5,
1345
+ L: 229,
1319
1346
  S: this,
1320
1347
  C: (f, a) => f(...a)
1321
1348
  });
@@ -1332,12 +1359,12 @@ var MediaManager = class extends Resource4 {
1332
1359
  currentAudioTracks: Object.keys(this._state.pulledAudioTracks),
1333
1360
  currentVideoStreams: Object.keys(this._state.pulledVideoStreams)
1334
1361
  }, {
1335
- F: __dxlog_file4,
1336
- L: 241,
1362
+ F: __dxlog_file5,
1363
+ L: 247,
1337
1364
  S: this,
1338
1365
  C: (f, a) => f(...a)
1339
1366
  });
1340
- await Promise.all(tracksToPull.map((name) => this._pullTrack(name)));
1367
+ const pullResults = await Promise.all(tracksToPull.map((name) => this._pullTrack(name)));
1341
1368
  await Promise.all([
1342
1369
  ...audioTracksToClose,
1343
1370
  ...videoStreamsToClose
@@ -1346,55 +1373,102 @@ var MediaManager = class extends Resource4 {
1346
1373
  currentAudioTracks: Object.keys(this._state.pulledAudioTracks),
1347
1374
  currentVideoStreams: Object.keys(this._state.pulledVideoStreams)
1348
1375
  }, {
1349
- F: __dxlog_file4,
1350
- L: 256,
1376
+ F: __dxlog_file5,
1377
+ L: 262,
1351
1378
  S: this,
1352
1379
  C: (f, a) => f(...a)
1353
1380
  });
1354
1381
  this.stateUpdated.emit(this._state);
1382
+ if (pullResults.some(({ shouldRetry }) => shouldRetry)) {
1383
+ await cancelWithContext(this._ctx, sleep2(RETRY_INTERVAL));
1384
+ log4.info("retrying pull tracks", {
1385
+ tracksToPull
1386
+ }, {
1387
+ F: __dxlog_file5,
1388
+ L: 270,
1389
+ S: this,
1390
+ C: (f, a) => f(...a)
1391
+ });
1392
+ invariant4(this._pullTracksTask, void 0, {
1393
+ F: __dxlog_file5,
1394
+ L: 271,
1395
+ S: this,
1396
+ A: [
1397
+ "this._pullTracksTask",
1398
+ ""
1399
+ ]
1400
+ });
1401
+ this._pullTracksTask.schedule();
1402
+ }
1355
1403
  }
1356
1404
  async _pushTracks() {
1357
1405
  if (!this._state.peer?.isOpen) {
1358
1406
  return;
1359
1407
  }
1360
1408
  let updated = false;
1361
- const [pushedVideoTrack, pushedAudioTrack, pushedScreenshareTrack] = await Promise.all([
1362
- this._pushTrack(this._state.videoTrack, this._state.pushedVideoTrack, [
1409
+ const [pushVideoResult, pushAudioResult, pushScreenshareResult] = await Promise.all([
1410
+ this._maybePushTrack(this._state.videoTrack, this._state.pushedVideoTrack, [
1363
1411
  {
1364
1412
  maxFramerate: MAX_WEB_CAM_FRAMERATE,
1365
1413
  maxBitrate: MAX_WEB_CAM_BITRATE
1366
1414
  }
1367
1415
  ]),
1368
- this._pushTrack(this._state.audioTrack, this._state.pushedAudioTrack, [
1416
+ this._maybePushTrack(this._state.audioTrack, this._state.pushedAudioTrack, [
1369
1417
  {
1370
1418
  networkPriority: "high"
1371
1419
  }
1372
1420
  ]),
1373
- this._pushTrack(this._state.screenshareTrack, this._state.pushedScreenshareTrack)
1421
+ this._maybePushTrack(this._state.screenshareTrack, this._state.pushedScreenshareTrack)
1374
1422
  ]);
1375
- if (pushedVideoTrack !== this._state.pushedVideoTrack) {
1376
- this._state.pushedVideoTrack = pushedVideoTrack;
1423
+ if (pushVideoResult.track !== this._state.pushedVideoTrack) {
1424
+ this._state.pushedVideoTrack = pushVideoResult.track;
1377
1425
  updated = true;
1378
1426
  }
1379
- if (pushedAudioTrack !== this._state.pushedAudioTrack) {
1380
- this._state.pushedAudioTrack = pushedAudioTrack;
1427
+ if (pushAudioResult.track !== this._state.pushedAudioTrack) {
1428
+ this._state.pushedAudioTrack = pushAudioResult.track;
1381
1429
  updated = true;
1382
1430
  }
1383
- if (pushedScreenshareTrack !== this._state.pushedScreenshareTrack) {
1384
- this._state.pushedScreenshareTrack = pushedScreenshareTrack;
1431
+ if (pushScreenshareResult.track !== this._state.pushedScreenshareTrack) {
1432
+ this._state.pushedScreenshareTrack = pushScreenshareResult.track;
1385
1433
  updated = true;
1386
1434
  }
1387
- if (!updated) {
1388
- return;
1435
+ const shouldRetry = pushVideoResult.shouldRetry || pushAudioResult.shouldRetry || pushScreenshareResult.shouldRetry;
1436
+ if (updated) {
1437
+ this.stateUpdated.emit(this._state);
1438
+ }
1439
+ if (shouldRetry) {
1440
+ await cancelWithContext(this._ctx, sleep2(RETRY_INTERVAL));
1441
+ log4.info("retrying push tracks", {
1442
+ pushVideoResult,
1443
+ pushAudioResult,
1444
+ pushScreenshareResult
1445
+ }, {
1446
+ F: __dxlog_file5,
1447
+ L: 310,
1448
+ S: this,
1449
+ C: (f, a) => f(...a)
1450
+ });
1451
+ invariant4(this._pushTracksTask, void 0, {
1452
+ F: __dxlog_file5,
1453
+ L: 311,
1454
+ S: this,
1455
+ A: [
1456
+ "this._pushTracksTask",
1457
+ ""
1458
+ ]
1459
+ });
1460
+ this._pushTracksTask.schedule();
1389
1461
  }
1390
- this.stateUpdated.emit(this._state);
1391
1462
  }
1392
1463
  async _pullTrack(name) {
1393
1464
  const ctx = this._ctx.derive();
1394
1465
  try {
1395
1466
  const trackData = TrackNameCodec.decode(name);
1396
1467
  const track = await this._state.peer.pullTrack({
1397
- trackData,
1468
+ trackData: {
1469
+ ...trackData,
1470
+ mid: void 0
1471
+ },
1398
1472
  ctx
1399
1473
  });
1400
1474
  if (track?.readyState === "ended") {
@@ -1407,7 +1481,9 @@ var MediaManager = class extends Resource4 {
1407
1481
  ctx
1408
1482
  };
1409
1483
  ctx.onDispose(() => delete this._state.pulledAudioTracks[name]);
1410
- break;
1484
+ return {
1485
+ shouldRetry: false
1486
+ };
1411
1487
  }
1412
1488
  case "video": {
1413
1489
  const mediaStream = new MediaStream();
@@ -1421,43 +1497,62 @@ var MediaManager = class extends Resource4 {
1421
1497
  track.stop();
1422
1498
  delete this._state.pulledVideoStreams[name];
1423
1499
  });
1424
- break;
1500
+ return {
1501
+ shouldRetry: false
1502
+ };
1425
1503
  }
1426
1504
  default:
1427
1505
  throw new Error(`Invalid track kind: ${track?.kind}`);
1428
1506
  }
1429
1507
  } catch (err) {
1430
- log4.verbose("failed to pull track", {
1508
+ log4.info("failed to pull track", {
1431
1509
  err,
1432
1510
  name
1433
1511
  }, {
1434
- F: __dxlog_file4,
1435
- L: 326,
1512
+ F: __dxlog_file5,
1513
+ L: 347,
1436
1514
  S: this,
1437
1515
  C: (f, a) => f(...a)
1438
1516
  });
1439
1517
  void ctx.dispose();
1440
- await cancelWithContext(this._ctx, sleep2(RETRY_INTERVAL));
1441
- log4.verbose("retrying pull track", {
1442
- name
1518
+ return {
1519
+ shouldRetry: true
1520
+ };
1521
+ }
1522
+ }
1523
+ async _maybePushTrack(track, previousTrack, encodings) {
1524
+ if (!track && !previousTrack) {
1525
+ return {
1526
+ track: void 0
1527
+ };
1528
+ }
1529
+ const ctx = this._ctx.derive();
1530
+ try {
1531
+ return {
1532
+ track: await this._state.peer.pushTrack({
1533
+ ctx,
1534
+ track: track ?? null,
1535
+ previousTrack,
1536
+ encodings
1537
+ })
1538
+ };
1539
+ } catch (err) {
1540
+ log4.info("failed to push track", {
1541
+ err,
1542
+ track,
1543
+ previousTrack,
1544
+ encodings
1443
1545
  }, {
1444
- F: __dxlog_file4,
1445
- L: 329,
1546
+ F: __dxlog_file5,
1547
+ L: 373,
1446
1548
  S: this,
1447
1549
  C: (f, a) => f(...a)
1448
1550
  });
1449
- this._pullTracksTask.schedule();
1450
- }
1451
- }
1452
- async _pushTrack(track, previousTrack, encodings) {
1453
- if (!track && !previousTrack) {
1454
- return;
1551
+ void ctx.dispose();
1552
+ return {
1553
+ shouldRetry: true
1554
+ };
1455
1555
  }
1456
- return this._state.peer.pushTrack({
1457
- track: track ?? null,
1458
- previousTrack,
1459
- encodings
1460
- });
1461
1556
  }
1462
1557
  };
1463
1558
  _ts_decorate2([
@@ -1471,7 +1566,7 @@ _ts_decorate2([
1471
1566
  import { computed } from "@preact/signals-core";
1472
1567
  import { Event as Event4, synchronized as synchronized3 } from "@dxos/async";
1473
1568
  import { Resource as Resource5 } from "@dxos/context";
1474
- import { invariant as invariant3 } from "@dxos/invariant";
1569
+ import { invariant as invariant5 } from "@dxos/invariant";
1475
1570
  import { live } from "@dxos/live-object";
1476
1571
  import { isNonNullable as isNonNullable2 } from "@dxos/util";
1477
1572
  function _ts_decorate3(decorators, target, key, desc) {
@@ -1480,22 +1575,28 @@ function _ts_decorate3(decorators, target, key, desc) {
1480
1575
  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;
1481
1576
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1482
1577
  }
1483
- var __dxlog_file5 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/call-manager.ts";
1578
+ var __dxlog_file6 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/call-manager.ts";
1484
1579
  var CallManager = class extends Resource5 {
1485
1580
  _client;
1486
- callStateUpdated;
1581
+ callStateUpdated = new Event4();
1487
1582
  // TODO(wittjosiah): Consolidate isSpeaking into the MediaState type.
1488
- mediaStateUpdated;
1489
- left;
1583
+ mediaStateUpdated = new Event4();
1584
+ left = new Event4();
1490
1585
  /**
1491
1586
  * Live object state. Is changed on internal events.
1492
1587
  * CAUTION: Do not change directly.
1493
1588
  */
1494
- _state;
1589
+ _state = live({
1590
+ call: {},
1591
+ media: {
1592
+ pulledAudioTracks: {},
1593
+ pulledVideoStreams: {}
1594
+ }
1595
+ });
1495
1596
  // TODO(wittjosiah): This shouldn't be necessary, live-object's signals should be granular.
1496
- _raisedHandSignal;
1497
- _speakingSignal;
1498
- _joinedSignal;
1597
+ _raisedHandSignal = computed(() => this._state.call.raisedHand ?? false);
1598
+ _speakingSignal = computed(() => this._state.call.speaking ?? false);
1599
+ _joinedSignal = computed(() => this._state.call.joined ?? false);
1499
1600
  _swarmSynchronizer;
1500
1601
  _mediaManager;
1501
1602
  /** @reactive */
@@ -1578,17 +1679,11 @@ var CallManager = class extends Resource5 {
1578
1679
  }
1579
1680
  // TODO(burdon): Can this be mocked?
1580
1681
  constructor(_client) {
1581
- super(), this._client = _client, this.callStateUpdated = new Event4(), this.mediaStateUpdated = new Event4(), this.left = new Event4(), this._state = live({
1582
- call: {},
1583
- media: {
1584
- pulledAudioTracks: {},
1585
- pulledVideoStreams: {}
1586
- }
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);
1682
+ super(), this._client = _client;
1588
1683
  this._client.config.getOrThrow("runtime.services.edge.url");
1589
1684
  const networkService = this._client.services.services.NetworkService;
1590
- invariant3(networkService, "network service not found", {
1591
- F: __dxlog_file5,
1685
+ invariant5(networkService, "network service not found", {
1686
+ F: __dxlog_file6,
1592
1687
  L: 159,
1593
1688
  S: this,
1594
1689
  A: [
@@ -1641,7 +1736,7 @@ var CallManager = class extends Resource5 {
1641
1736
  this.roomId && this.left.emit(this.roomId);
1642
1737
  }
1643
1738
  _onCallStateUpdated(state) {
1644
- const tracksToPull = state.users?.filter((user) => user.joined && user.id !== state.self?.id)?.flatMap((user) => [
1739
+ const tracksToPull = state.users?.filter((user) => user.joined && user.id !== state.self.id)?.flatMap((user) => [
1645
1740
  user.tracks?.video,
1646
1741
  user.tracks?.audio,
1647
1742
  user.tracks?.screenshare
@@ -1696,4 +1791,4 @@ export {
1696
1791
  MediaManager,
1697
1792
  CallManager
1698
1793
  };
1699
- //# sourceMappingURL=chunk-4TME3BR4.mjs.map
1794
+ //# sourceMappingURL=chunk-7KZWZS2U.mjs.map