@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
@@ -1,11 +1,13 @@
1
1
  import {
2
2
  createBlackCanvasStreamTrack,
3
3
  createInaudibleAudioStreamTrack
4
- } from "./chunk-JGKMMI65.mjs";
4
+ } from "./chunk-ISCHODBV.mjs";
5
5
 
6
6
  // src/calls/types.ts
7
+ import { invariant } from "@dxos/invariant";
7
8
  import { buf } from "@dxos/protocols/buf";
8
9
  import { UserStateSchema } from "@dxos/protocols/buf/dxos/edge/calls_pb";
10
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/types.ts";
9
11
  var CALLS_URL = "https://calls-service.dxos.workers.dev";
10
12
  var codec = {
11
13
  encode: (message) => {
@@ -17,14 +19,42 @@ var codec = {
17
19
  };
18
20
  var TrackNameCodec = {
19
21
  encode: (trackData) => {
20
- return trackData.sessionId + "/" + trackData.trackName;
22
+ invariant(trackData.sessionId, void 0, {
23
+ F: __dxlog_file,
24
+ L: 65,
25
+ S: void 0,
26
+ A: [
27
+ "trackData.sessionId",
28
+ ""
29
+ ]
30
+ });
31
+ invariant(trackData.trackName, void 0, {
32
+ F: __dxlog_file,
33
+ L: 66,
34
+ S: void 0,
35
+ A: [
36
+ "trackData.trackName",
37
+ ""
38
+ ]
39
+ });
40
+ invariant(trackData.mid, void 0, {
41
+ F: __dxlog_file,
42
+ L: 67,
43
+ S: void 0,
44
+ A: [
45
+ "trackData.mid",
46
+ ""
47
+ ]
48
+ });
49
+ return trackData.sessionId + "/" + trackData.trackName + "/" + trackData.mid;
21
50
  },
22
51
  decode: (name) => {
23
- const [sessionId, trackName] = name.split("/");
52
+ const [sessionId, trackName, mid] = name.split("/");
24
53
  return {
25
54
  sessionId,
26
55
  trackName,
27
- location: "remote"
56
+ location: "remote",
57
+ mid
28
58
  };
29
59
  }
30
60
  };
@@ -34,7 +64,7 @@ import md5Hex from "md5-hex";
34
64
  import { DeferredTask, Event, scheduleTaskInterval, synchronized } from "@dxos/async";
35
65
  import { Context, Resource } from "@dxos/context";
36
66
  import { generateName } from "@dxos/display-name";
37
- import { invariant } from "@dxos/invariant";
67
+ import { invariant as invariant2 } from "@dxos/invariant";
38
68
  import { PublicKey } from "@dxos/keys";
39
69
  import { log } from "@dxos/log";
40
70
  import { buf as buf2 } from "@dxos/protocols/buf";
@@ -47,7 +77,7 @@ function _ts_decorate(decorators, target, key, desc) {
47
77
  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;
48
78
  return c > 3 && r && Object.defineProperty(target, key, r), r;
49
79
  }
50
- var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/call-swarm-synchronizer.ts";
80
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/call-swarm-synchronizer.ts";
51
81
  var DISCONNECTED_ABRUPT_TIMEOUT = 1e4;
52
82
  var CallSwarmSynchronizer = class extends Resource {
53
83
  stateUpdated = new Event();
@@ -131,7 +161,7 @@ var CallSwarmSynchronizer = class extends Resource {
131
161
  log.verbose("joined to a different room", {
132
162
  roomId
133
163
  }, {
134
- F: __dxlog_file,
164
+ F: __dxlog_file2,
135
165
  L: 152,
136
166
  S: this,
137
167
  C: (f, a) => f(...a)
@@ -153,8 +183,8 @@ var CallSwarmSynchronizer = class extends Resource {
153
183
  this._reconcileSwarmStateTask = void 0;
154
184
  }
155
185
  async join() {
156
- invariant(this._state.roomId, void 0, {
157
- F: __dxlog_file,
186
+ invariant2(this._state.roomId, void 0, {
187
+ F: __dxlog_file2,
158
188
  L: 176,
159
189
  S: this,
160
190
  A: [
@@ -162,8 +192,8 @@ var CallSwarmSynchronizer = class extends Resource {
162
192
  ""
163
193
  ]
164
194
  });
165
- invariant(!this._swarmCtx, "Already joined", {
166
- F: __dxlog_file,
195
+ invariant2(!this._swarmCtx, "Already joined", {
196
+ F: __dxlog_file2,
167
197
  L: 177,
168
198
  S: this,
169
199
  A: [
@@ -172,7 +202,7 @@ var CallSwarmSynchronizer = class extends Resource {
172
202
  ]
173
203
  });
174
204
  this._swarmCtx = new Context(void 0, {
175
- F: __dxlog_file,
205
+ F: __dxlog_file2,
176
206
  L: 179
177
207
  });
178
208
  const topic = getTopic(this._state.roomId);
@@ -183,7 +213,7 @@ var CallSwarmSynchronizer = class extends Resource {
183
213
  peerKey: this._deviceKey
184
214
  }
185
215
  }, {
186
- F: __dxlog_file,
216
+ F: __dxlog_file2,
187
217
  L: 181,
188
218
  S: this,
189
219
  C: (f, a) => f(...a)
@@ -202,7 +232,7 @@ var CallSwarmSynchronizer = class extends Resource {
202
232
  peerKey: this._deviceKey
203
233
  }
204
234
  }, {
205
- F: __dxlog_file,
235
+ F: __dxlog_file2,
206
236
  L: 188,
207
237
  S: this,
208
238
  C: (f, a) => f(...a)
@@ -214,7 +244,7 @@ var CallSwarmSynchronizer = class extends Resource {
214
244
  peerKey: this._deviceKey
215
245
  }
216
246
  }).catch((err) => log.catch(err, void 0, {
217
- F: __dxlog_file,
247
+ F: __dxlog_file2,
218
248
  L: 194,
219
249
  S: this,
220
250
  C: (f, a) => f(...a)
@@ -282,8 +312,8 @@ var CallSwarmSynchronizer = class extends Resource {
282
312
  }
283
313
  async _reconcileSwarmState() {
284
314
  const swarmEvent = this._lastSwarmEvent;
285
- invariant(swarmEvent, void 0, {
286
- F: __dxlog_file,
315
+ invariant2(swarmEvent, void 0, {
316
+ F: __dxlog_file2,
287
317
  L: 273,
288
318
  S: this,
289
319
  A: [
@@ -303,7 +333,7 @@ var CallSwarmSynchronizer = class extends Resource {
303
333
  error,
304
334
  peer
305
335
  }, {
306
- F: __dxlog_file,
336
+ F: __dxlog_file2,
307
337
  L: 290,
308
338
  S: this,
309
339
  C: (f, a) => f(...a)
@@ -316,7 +346,7 @@ var CallSwarmSynchronizer = class extends Resource {
316
346
  log("reconciling swarm state", {
317
347
  users
318
348
  }, {
319
- F: __dxlog_file,
349
+ F: __dxlog_file2,
320
350
  L: 297,
321
351
  S: this,
322
352
  C: (f, a) => f(...a)
@@ -404,9 +434,9 @@ var monitorAudioLevel = ({ mediaStreamTrack, intervalMs = 1e3 / 10, onMeasure })
404
434
  };
405
435
 
406
436
  // src/calls/util/calls-service.ts
407
- import { PersistentLifecycle } from "@dxos/async";
437
+ import { PersistentLifecycle, Trigger, scheduleTask } from "@dxos/async";
408
438
  import { Resource as Resource2 } from "@dxos/context";
409
- import { invariant as invariant2 } from "@dxos/invariant";
439
+ import { invariant as invariant3 } from "@dxos/invariant";
410
440
  import { log as log2 } from "@dxos/log";
411
441
 
412
442
  // src/calls/util/history-cache.ts
@@ -486,7 +516,7 @@ var BulkRequestDispatcher = class {
486
516
  };
487
517
 
488
518
  // src/calls/util/calls-service.ts
489
- var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/util/calls-service.ts";
519
+ var __dxlog_file3 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/util/calls-service.ts";
490
520
  var NETWORK_TIMEOUT = 5e3;
491
521
  var CallsServicePeer = class extends Resource2 {
492
522
  history = new HistoryCache(100);
@@ -530,11 +560,11 @@ var CallsServicePeer = class extends Resource2 {
530
560
  });
531
561
  peerConnection.addEventListener("connectionstatechange", () => {
532
562
  if (peerConnection.connectionState === "failed" || peerConnection.connectionState === "closed") {
533
- log2.warn("calls connection failed", {
563
+ log2.info("calls connection failed", {
534
564
  state: peerConnection.connectionState
535
565
  }, {
536
- F: __dxlog_file2,
537
- L: 119,
566
+ F: __dxlog_file3,
567
+ L: 121,
538
568
  S: this,
539
569
  C: (f, a) => f(...a)
540
570
  });
@@ -545,11 +575,11 @@ var CallsServicePeer = class extends Resource2 {
545
575
  peerConnection.addEventListener("iceconnectionstatechange", () => {
546
576
  clearTimeout(iceTimeout);
547
577
  if (peerConnection.iceConnectionState === "failed" || peerConnection.iceConnectionState === "closed") {
548
- log2.warn("calls connection to ICEs failed", {
578
+ log2.info("calls connection to ICEs failed", {
549
579
  state: peerConnection.iceConnectionState
550
580
  }, {
551
- F: __dxlog_file2,
552
- L: 128,
581
+ F: __dxlog_file3,
582
+ L: 130,
553
583
  S: this,
554
584
  C: (f, a) => f(...a)
555
585
  });
@@ -559,19 +589,19 @@ var CallsServicePeer = class extends Resource2 {
559
589
  iceTimeout = window.setTimeout(() => {
560
590
  if (peerConnection.iceConnectionState === "connected") {
561
591
  log2.info("calls iceConnectionState is connected", void 0, {
562
- F: __dxlog_file2,
563
- L: 137,
592
+ F: __dxlog_file3,
593
+ L: 139,
564
594
  S: this,
565
595
  C: (f, a) => f(...a)
566
596
  });
567
597
  return;
568
598
  }
569
- log2.warn("calls iceConnectionState timed out", {
599
+ log2.info("calls iceConnectionState timed out", {
570
600
  state: peerConnection.iceConnectionState,
571
601
  timeoutSeconds
572
602
  }, {
573
- F: __dxlog_file2,
574
- L: 141,
603
+ F: __dxlog_file3,
604
+ L: 143,
575
605
  S: this,
576
606
  C: (f, a) => f(...a)
577
607
  });
@@ -583,8 +613,8 @@ var CallsServicePeer = class extends Resource2 {
583
613
  }
584
614
  async _initiateCallSession() {
585
615
  log2("creating new session", void 0, {
586
- F: __dxlog_file2,
587
- L: 151,
616
+ F: __dxlog_file3,
617
+ L: 153,
588
618
  S: this,
589
619
  C: (f, a) => f(...a)
590
620
  });
@@ -595,6 +625,7 @@ var CallsServicePeer = class extends Resource2 {
595
625
  }
596
626
  async _fetch(relativePath, requestInit) {
597
627
  this.history.push({
628
+ endpoint: relativePath,
598
629
  type: "request",
599
630
  time: (/* @__PURE__ */ new Date()).toISOString(),
600
631
  method: requestInit?.method ?? "GET",
@@ -609,8 +640,8 @@ var CallsServicePeer = class extends Resource2 {
609
640
  status: response.status,
610
641
  text: await response.text()
611
642
  }, {
612
- F: __dxlog_file2,
613
- L: 166,
643
+ F: __dxlog_file3,
644
+ L: 169,
614
645
  S: this,
615
646
  C: (f, a) => f(...a)
616
647
  });
@@ -619,6 +650,7 @@ var CallsServicePeer = class extends Resource2 {
619
650
  try {
620
651
  const data = await response.clone().json();
621
652
  this.history.push({
653
+ endpoint: relativePath,
622
654
  type: "response",
623
655
  time: (/* @__PURE__ */ new Date()).toISOString(),
624
656
  status: response.status,
@@ -631,6 +663,7 @@ var CallsServicePeer = class extends Resource2 {
631
663
  } catch (error) {
632
664
  const text = await response.text();
633
665
  this.history.push({
666
+ endpoint: relativePath,
634
667
  type: "response",
635
668
  time: (/* @__PURE__ */ new Date()).toISOString(),
636
669
  status: response.status,
@@ -641,8 +674,8 @@ var CallsServicePeer = class extends Resource2 {
641
674
  text,
642
675
  status: response.status
643
676
  }, {
644
- F: __dxlog_file2,
645
- L: 191,
677
+ F: __dxlog_file3,
678
+ L: 196,
646
679
  S: this,
647
680
  C: (f, a) => f(...a)
648
681
  });
@@ -651,8 +684,8 @@ var CallsServicePeer = class extends Resource2 {
651
684
  }
652
685
  async _pushTrackInBulk({ ctx, peerConnection, transceiver, sessionId, trackName }) {
653
686
  log2.verbose("pushing track ", trackName, {
654
- F: __dxlog_file2,
655
- L: 213,
687
+ F: __dxlog_file3,
688
+ L: 218,
656
689
  S: this,
657
690
  C: (f, a) => f(...a)
658
691
  });
@@ -677,9 +710,9 @@ var CallsServicePeer = class extends Resource2 {
677
710
  }))
678
711
  })
679
712
  });
680
- invariant2(response.tracks !== void 0, void 0, {
681
- F: __dxlog_file2,
682
- L: 238,
713
+ invariant3(response.tracks !== void 0, void 0, {
714
+ F: __dxlog_file3,
715
+ L: 243,
683
716
  S: this,
684
717
  A: [
685
718
  "response.tracks !== undefined",
@@ -693,7 +726,7 @@ var CallsServicePeer = class extends Resource2 {
693
726
  return {
694
727
  tracks: response.tracks
695
728
  };
696
- })).then(({ tracks }) => {
729
+ })).then(async ({ tracks }) => {
697
730
  const trackData = tracks.find((t) => t.mid === transceiver.mid);
698
731
  if (trackData) {
699
732
  return {
@@ -703,19 +736,12 @@ var CallsServicePeer = class extends Resource2 {
703
736
  };
704
737
  } else {
705
738
  log2.error("missing track data", void 0, {
706
- F: __dxlog_file2,
707
- L: 258,
739
+ F: __dxlog_file3,
740
+ L: 267,
708
741
  S: this,
709
742
  C: (f, a) => f(...a)
710
743
  });
711
744
  }
712
- }).catch((err) => {
713
- log2.catch(err, void 0, {
714
- F: __dxlog_file2,
715
- L: 262,
716
- S: this,
717
- C: (f, a) => f(...a)
718
- });
719
745
  });
720
746
  const onDispose = async () => {
721
747
  if (transceiver.mid) {
@@ -728,9 +754,9 @@ var CallsServicePeer = class extends Resource2 {
728
754
  }
729
755
  async pushTrack({ track, encodings = [], ctx, previousTrack }) {
730
756
  await this.waitUntilOpen();
731
- invariant2(this.session, void 0, {
732
- F: __dxlog_file2,
733
- L: 289,
757
+ invariant3(this.session, void 0, {
758
+ F: __dxlog_file3,
759
+ L: 295,
734
760
  S: this,
735
761
  A: [
736
762
  "this.session",
@@ -742,8 +768,8 @@ var CallsServicePeer = class extends Resource2 {
742
768
  previousTrack,
743
769
  encodings
744
770
  }, {
745
- F: __dxlog_file2,
746
- L: 290,
771
+ F: __dxlog_file3,
772
+ L: 296,
747
773
  S: this,
748
774
  C: (f, a) => f(...a)
749
775
  });
@@ -755,8 +781,8 @@ var CallsServicePeer = class extends Resource2 {
755
781
  previousTrack,
756
782
  transceiver: transceiver2
757
783
  }, {
758
- F: __dxlog_file2,
759
- L: 294,
784
+ F: __dxlog_file3,
785
+ L: 300,
760
786
  S: this,
761
787
  C: (f, a) => f(...a)
762
788
  });
@@ -767,23 +793,23 @@ var CallsServicePeer = class extends Resource2 {
767
793
  previousTrack,
768
794
  transceiver: transceiver2
769
795
  }, {
770
- F: __dxlog_file2,
771
- L: 297,
796
+ F: __dxlog_file3,
797
+ L: 303,
772
798
  S: this,
773
799
  C: (f, a) => f(...a)
774
800
  });
775
801
  transceiver2.sender.replaceTrack(track).catch((err) => log2.catch(err, void 0, {
776
- F: __dxlog_file2,
777
- L: 298,
802
+ F: __dxlog_file3,
803
+ L: 304,
778
804
  S: this,
779
805
  C: (f, a) => f(...a)
780
806
  }));
781
807
  return previousTrack;
782
808
  }
783
809
  }
784
- invariant2(track, void 0, {
785
- F: __dxlog_file2,
786
- L: 302,
810
+ invariant3(track, void 0, {
811
+ F: __dxlog_file3,
812
+ L: 308,
787
813
  S: this,
788
814
  A: [
789
815
  "track",
@@ -795,8 +821,8 @@ var CallsServicePeer = class extends Resource2 {
795
821
  direction: "sendonly"
796
822
  });
797
823
  log2.verbose("creating transceiver", void 0, {
798
- F: __dxlog_file2,
799
- L: 307,
824
+ F: __dxlog_file3,
825
+ L: 313,
800
826
  S: this,
801
827
  C: (f, a) => f(...a)
802
828
  });
@@ -807,9 +833,9 @@ var CallsServicePeer = class extends Resource2 {
807
833
  sessionId: this.session.sessionId,
808
834
  trackName: stableId
809
835
  });
810
- invariant2(pushedTrackData, void 0, {
811
- F: __dxlog_file2,
812
- L: 316,
836
+ invariant3(pushedTrackData, void 0, {
837
+ F: __dxlog_file3,
838
+ L: 322,
813
839
  S: this,
814
840
  A: [
815
841
  "pushedTrackData",
@@ -825,8 +851,8 @@ var CallsServicePeer = class extends Resource2 {
825
851
  };
826
852
  });
827
853
  transceiver.sender.setParameters(parameters).catch((err) => log2.catch(err, void 0, {
828
- F: __dxlog_file2,
829
- L: 323,
854
+ F: __dxlog_file3,
855
+ L: 329,
830
856
  S: this,
831
857
  C: (f, a) => f(...a)
832
858
  }));
@@ -838,8 +864,8 @@ var CallsServicePeer = class extends Resource2 {
838
864
  log2("pulling track", {
839
865
  trackName: trackData.trackName
840
866
  }, {
841
- F: __dxlog_file2,
842
- L: 341,
867
+ F: __dxlog_file3,
868
+ L: 347,
843
869
  S: this,
844
870
  C: (f, a) => f(...a)
845
871
  });
@@ -853,9 +879,9 @@ var CallsServicePeer = class extends Resource2 {
853
879
  if (newTrackResponse.errorCode) {
854
880
  throw new Error(newTrackResponse.errorDescription);
855
881
  }
856
- invariant2(newTrackResponse.tracks, void 0, {
857
- F: __dxlog_file2,
858
- L: 354,
882
+ invariant3(newTrackResponse.tracks, void 0, {
883
+ F: __dxlog_file3,
884
+ L: 360,
859
885
  S: this,
860
886
  A: [
861
887
  "newTrackResponse.tracks",
@@ -901,18 +927,18 @@ var CallsServicePeer = class extends Resource2 {
901
927
  mid = trackInfo.mid;
902
928
  return track;
903
929
  }).catch((err) => log2.catch(err, void 0, {
904
- F: __dxlog_file2,
905
- L: 406,
930
+ F: __dxlog_file3,
931
+ L: 412,
906
932
  S: this,
907
933
  C: (f, a) => f(...a)
908
934
  }));
909
935
  } else {
910
- log2.warn("missing track info", {
936
+ log2.info("missing track info", {
911
937
  trackData,
912
938
  availableTracks: Array.from(trackMap.keys())
913
939
  }, {
914
- F: __dxlog_file2,
915
- L: 408,
940
+ F: __dxlog_file3,
941
+ L: 414,
916
942
  S: this,
917
943
  C: (f, a) => f(...a)
918
944
  });
@@ -921,8 +947,8 @@ var CallsServicePeer = class extends Resource2 {
921
947
  const onDispose = async () => {
922
948
  if (mid) {
923
949
  log2("closing pulled track ", trackData.trackName, {
924
- F: __dxlog_file2,
925
- L: 414,
950
+ F: __dxlog_file3,
951
+ L: 420,
926
952
  S: this,
927
953
  C: (f, a) => f(...a)
928
954
  });
@@ -936,9 +962,9 @@ var CallsServicePeer = class extends Resource2 {
936
962
  }
937
963
  async pullTrack({ ctx, trackData }) {
938
964
  await this.waitUntilOpen();
939
- invariant2(this.session, void 0, {
940
- F: __dxlog_file2,
941
- L: 435,
965
+ invariant3(this.session, void 0, {
966
+ F: __dxlog_file3,
967
+ L: 441,
942
968
  S: this,
943
969
  A: [
944
970
  "this.session",
@@ -1024,7 +1050,7 @@ var peerConnectionIsConnected = async (peerConnection) => {
1024
1050
 
1025
1051
  // src/calls/util/media.ts
1026
1052
  import { log as log3 } from "@dxos/log";
1027
- var __dxlog_file3 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/util/media.ts";
1053
+ var __dxlog_file4 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/util/media.ts";
1028
1054
  var getUserMediaTrack = async (kind, constraints = {}, deviceList) => {
1029
1055
  deviceList ??= (await getDeviceList()).filter((device) => device.kind === kind);
1030
1056
  const firstDevice = deviceList[0];
@@ -1036,7 +1062,7 @@ var getUserMediaTrack = async (kind, constraints = {}, deviceList) => {
1036
1062
  var acquireTrack = async (device, constraints) => {
1037
1063
  const { deviceId, label } = device;
1038
1064
  log3.info(`requesting ${label}`, void 0, {
1039
- F: __dxlog_file3,
1065
+ F: __dxlog_file4,
1040
1066
  L: 23,
1041
1067
  S: void 0,
1042
1068
  C: (f, a) => f(...a)
@@ -1091,15 +1117,15 @@ var SpeakingMonitor = class extends Resource3 {
1091
1117
  * Event that is emitted when the user starts or stops speaking.
1092
1118
  * It is debounced to prevent rapid state changes.
1093
1119
  */
1094
- speakingChanged;
1120
+ speakingChanged = new Event2();
1095
1121
  /**
1096
1122
  * Real state of the user speaking.
1097
1123
  */
1098
- _isSpeaking;
1099
- _lastEventTime;
1124
+ _isSpeaking = false;
1125
+ _lastEventTime = 0;
1100
1126
  _deferredUpdate;
1101
1127
  constructor(_mediaStreamTrack) {
1102
- super(), this._mediaStreamTrack = _mediaStreamTrack, this.speakingChanged = new Event2(), this._isSpeaking = false, this._lastEventTime = 0;
1128
+ super(), this._mediaStreamTrack = _mediaStreamTrack;
1103
1129
  }
1104
1130
  get isSpeaking() {
1105
1131
  return this._isSpeaking;
@@ -1149,6 +1175,7 @@ var SpeakingMonitor = class extends Resource3 {
1149
1175
  // src/calls/media-manager.ts
1150
1176
  import { DeferredTask as DeferredTask3, Event as Event3, sleep as sleep2, synchronized as synchronized2 } from "@dxos/async";
1151
1177
  import { Resource as Resource4, cancelWithContext } from "@dxos/context";
1178
+ import { invariant as invariant4 } from "@dxos/invariant";
1152
1179
  import { log as log4 } from "@dxos/log";
1153
1180
  function _ts_decorate2(decorators, target, key, desc) {
1154
1181
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -1156,13 +1183,13 @@ function _ts_decorate2(decorators, target, key, desc) {
1156
1183
  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;
1157
1184
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1158
1185
  }
1159
- var __dxlog_file4 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/media-manager.ts";
1186
+ var __dxlog_file5 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/media-manager.ts";
1160
1187
  var VIDEO_WIDTH = 1280;
1161
1188
  var VIDEO_HEIGHT = 720;
1162
1189
  var MAX_WEB_CAM_FRAMERATE = 24;
1163
1190
  var MAX_WEB_CAM_BITRATE = 12e5;
1164
- var RETRY_INTERVAL = 500;
1165
- var USE_INAUDIBLE_AUDIO = false;
1191
+ var RETRY_INTERVAL = 100;
1192
+ var USE_INAUDIBLE_AUDIO = true;
1166
1193
  var MediaManager = class extends Resource4 {
1167
1194
  stateUpdated = new Event3();
1168
1195
  _state = {
@@ -1313,8 +1340,8 @@ var MediaManager = class extends Resource4 {
1313
1340
  }
1314
1341
  async _reconcilePulledMedia() {
1315
1342
  log4("reconciling tracks", void 0, {
1316
- F: __dxlog_file4,
1317
- L: 222,
1343
+ F: __dxlog_file5,
1344
+ L: 229,
1318
1345
  S: this,
1319
1346
  C: (f, a) => f(...a)
1320
1347
  });
@@ -1331,12 +1358,12 @@ var MediaManager = class extends Resource4 {
1331
1358
  currentAudioTracks: Object.keys(this._state.pulledAudioTracks),
1332
1359
  currentVideoStreams: Object.keys(this._state.pulledVideoStreams)
1333
1360
  }, {
1334
- F: __dxlog_file4,
1335
- L: 241,
1361
+ F: __dxlog_file5,
1362
+ L: 247,
1336
1363
  S: this,
1337
1364
  C: (f, a) => f(...a)
1338
1365
  });
1339
- await Promise.all(tracksToPull.map((name) => this._pullTrack(name)));
1366
+ const pullResults = await Promise.all(tracksToPull.map((name) => this._pullTrack(name)));
1340
1367
  await Promise.all([
1341
1368
  ...audioTracksToClose,
1342
1369
  ...videoStreamsToClose
@@ -1345,55 +1372,102 @@ var MediaManager = class extends Resource4 {
1345
1372
  currentAudioTracks: Object.keys(this._state.pulledAudioTracks),
1346
1373
  currentVideoStreams: Object.keys(this._state.pulledVideoStreams)
1347
1374
  }, {
1348
- F: __dxlog_file4,
1349
- L: 256,
1375
+ F: __dxlog_file5,
1376
+ L: 262,
1350
1377
  S: this,
1351
1378
  C: (f, a) => f(...a)
1352
1379
  });
1353
1380
  this.stateUpdated.emit(this._state);
1381
+ if (pullResults.some(({ shouldRetry }) => shouldRetry)) {
1382
+ await cancelWithContext(this._ctx, sleep2(RETRY_INTERVAL));
1383
+ log4.info("retrying pull tracks", {
1384
+ tracksToPull
1385
+ }, {
1386
+ F: __dxlog_file5,
1387
+ L: 270,
1388
+ S: this,
1389
+ C: (f, a) => f(...a)
1390
+ });
1391
+ invariant4(this._pullTracksTask, void 0, {
1392
+ F: __dxlog_file5,
1393
+ L: 271,
1394
+ S: this,
1395
+ A: [
1396
+ "this._pullTracksTask",
1397
+ ""
1398
+ ]
1399
+ });
1400
+ this._pullTracksTask.schedule();
1401
+ }
1354
1402
  }
1355
1403
  async _pushTracks() {
1356
1404
  if (!this._state.peer?.isOpen) {
1357
1405
  return;
1358
1406
  }
1359
1407
  let updated = false;
1360
- const [pushedVideoTrack, pushedAudioTrack, pushedScreenshareTrack] = await Promise.all([
1361
- this._pushTrack(this._state.videoTrack, this._state.pushedVideoTrack, [
1408
+ const [pushVideoResult, pushAudioResult, pushScreenshareResult] = await Promise.all([
1409
+ this._maybePushTrack(this._state.videoTrack, this._state.pushedVideoTrack, [
1362
1410
  {
1363
1411
  maxFramerate: MAX_WEB_CAM_FRAMERATE,
1364
1412
  maxBitrate: MAX_WEB_CAM_BITRATE
1365
1413
  }
1366
1414
  ]),
1367
- this._pushTrack(this._state.audioTrack, this._state.pushedAudioTrack, [
1415
+ this._maybePushTrack(this._state.audioTrack, this._state.pushedAudioTrack, [
1368
1416
  {
1369
1417
  networkPriority: "high"
1370
1418
  }
1371
1419
  ]),
1372
- this._pushTrack(this._state.screenshareTrack, this._state.pushedScreenshareTrack)
1420
+ this._maybePushTrack(this._state.screenshareTrack, this._state.pushedScreenshareTrack)
1373
1421
  ]);
1374
- if (pushedVideoTrack !== this._state.pushedVideoTrack) {
1375
- this._state.pushedVideoTrack = pushedVideoTrack;
1422
+ if (pushVideoResult.track !== this._state.pushedVideoTrack) {
1423
+ this._state.pushedVideoTrack = pushVideoResult.track;
1376
1424
  updated = true;
1377
1425
  }
1378
- if (pushedAudioTrack !== this._state.pushedAudioTrack) {
1379
- this._state.pushedAudioTrack = pushedAudioTrack;
1426
+ if (pushAudioResult.track !== this._state.pushedAudioTrack) {
1427
+ this._state.pushedAudioTrack = pushAudioResult.track;
1380
1428
  updated = true;
1381
1429
  }
1382
- if (pushedScreenshareTrack !== this._state.pushedScreenshareTrack) {
1383
- this._state.pushedScreenshareTrack = pushedScreenshareTrack;
1430
+ if (pushScreenshareResult.track !== this._state.pushedScreenshareTrack) {
1431
+ this._state.pushedScreenshareTrack = pushScreenshareResult.track;
1384
1432
  updated = true;
1385
1433
  }
1386
- if (!updated) {
1387
- return;
1434
+ const shouldRetry = pushVideoResult.shouldRetry || pushAudioResult.shouldRetry || pushScreenshareResult.shouldRetry;
1435
+ if (updated) {
1436
+ this.stateUpdated.emit(this._state);
1437
+ }
1438
+ if (shouldRetry) {
1439
+ await cancelWithContext(this._ctx, sleep2(RETRY_INTERVAL));
1440
+ log4.info("retrying push tracks", {
1441
+ pushVideoResult,
1442
+ pushAudioResult,
1443
+ pushScreenshareResult
1444
+ }, {
1445
+ F: __dxlog_file5,
1446
+ L: 310,
1447
+ S: this,
1448
+ C: (f, a) => f(...a)
1449
+ });
1450
+ invariant4(this._pushTracksTask, void 0, {
1451
+ F: __dxlog_file5,
1452
+ L: 311,
1453
+ S: this,
1454
+ A: [
1455
+ "this._pushTracksTask",
1456
+ ""
1457
+ ]
1458
+ });
1459
+ this._pushTracksTask.schedule();
1388
1460
  }
1389
- this.stateUpdated.emit(this._state);
1390
1461
  }
1391
1462
  async _pullTrack(name) {
1392
1463
  const ctx = this._ctx.derive();
1393
1464
  try {
1394
1465
  const trackData = TrackNameCodec.decode(name);
1395
1466
  const track = await this._state.peer.pullTrack({
1396
- trackData,
1467
+ trackData: {
1468
+ ...trackData,
1469
+ mid: void 0
1470
+ },
1397
1471
  ctx
1398
1472
  });
1399
1473
  if (track?.readyState === "ended") {
@@ -1406,7 +1480,9 @@ var MediaManager = class extends Resource4 {
1406
1480
  ctx
1407
1481
  };
1408
1482
  ctx.onDispose(() => delete this._state.pulledAudioTracks[name]);
1409
- break;
1483
+ return {
1484
+ shouldRetry: false
1485
+ };
1410
1486
  }
1411
1487
  case "video": {
1412
1488
  const mediaStream = new MediaStream();
@@ -1420,43 +1496,62 @@ var MediaManager = class extends Resource4 {
1420
1496
  track.stop();
1421
1497
  delete this._state.pulledVideoStreams[name];
1422
1498
  });
1423
- break;
1499
+ return {
1500
+ shouldRetry: false
1501
+ };
1424
1502
  }
1425
1503
  default:
1426
1504
  throw new Error(`Invalid track kind: ${track?.kind}`);
1427
1505
  }
1428
1506
  } catch (err) {
1429
- log4.verbose("failed to pull track", {
1507
+ log4.info("failed to pull track", {
1430
1508
  err,
1431
1509
  name
1432
1510
  }, {
1433
- F: __dxlog_file4,
1434
- L: 326,
1511
+ F: __dxlog_file5,
1512
+ L: 347,
1435
1513
  S: this,
1436
1514
  C: (f, a) => f(...a)
1437
1515
  });
1438
1516
  void ctx.dispose();
1439
- await cancelWithContext(this._ctx, sleep2(RETRY_INTERVAL));
1440
- log4.verbose("retrying pull track", {
1441
- name
1517
+ return {
1518
+ shouldRetry: true
1519
+ };
1520
+ }
1521
+ }
1522
+ async _maybePushTrack(track, previousTrack, encodings) {
1523
+ if (!track && !previousTrack) {
1524
+ return {
1525
+ track: void 0
1526
+ };
1527
+ }
1528
+ const ctx = this._ctx.derive();
1529
+ try {
1530
+ return {
1531
+ track: await this._state.peer.pushTrack({
1532
+ ctx,
1533
+ track: track ?? null,
1534
+ previousTrack,
1535
+ encodings
1536
+ })
1537
+ };
1538
+ } catch (err) {
1539
+ log4.info("failed to push track", {
1540
+ err,
1541
+ track,
1542
+ previousTrack,
1543
+ encodings
1442
1544
  }, {
1443
- F: __dxlog_file4,
1444
- L: 329,
1545
+ F: __dxlog_file5,
1546
+ L: 373,
1445
1547
  S: this,
1446
1548
  C: (f, a) => f(...a)
1447
1549
  });
1448
- this._pullTracksTask.schedule();
1449
- }
1450
- }
1451
- async _pushTrack(track, previousTrack, encodings) {
1452
- if (!track && !previousTrack) {
1453
- return;
1550
+ void ctx.dispose();
1551
+ return {
1552
+ shouldRetry: true
1553
+ };
1454
1554
  }
1455
- return this._state.peer.pushTrack({
1456
- track: track ?? null,
1457
- previousTrack,
1458
- encodings
1459
- });
1460
1555
  }
1461
1556
  };
1462
1557
  _ts_decorate2([
@@ -1470,7 +1565,7 @@ _ts_decorate2([
1470
1565
  import { computed } from "@preact/signals-core";
1471
1566
  import { Event as Event4, synchronized as synchronized3 } from "@dxos/async";
1472
1567
  import { Resource as Resource5 } from "@dxos/context";
1473
- import { invariant as invariant3 } from "@dxos/invariant";
1568
+ import { invariant as invariant5 } from "@dxos/invariant";
1474
1569
  import { live } from "@dxos/live-object";
1475
1570
  import { isNonNullable as isNonNullable2 } from "@dxos/util";
1476
1571
  function _ts_decorate3(decorators, target, key, desc) {
@@ -1479,22 +1574,28 @@ function _ts_decorate3(decorators, target, key, desc) {
1479
1574
  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;
1480
1575
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1481
1576
  }
1482
- var __dxlog_file5 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/call-manager.ts";
1577
+ var __dxlog_file6 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/call-manager.ts";
1483
1578
  var CallManager = class extends Resource5 {
1484
1579
  _client;
1485
- callStateUpdated;
1580
+ callStateUpdated = new Event4();
1486
1581
  // TODO(wittjosiah): Consolidate isSpeaking into the MediaState type.
1487
- mediaStateUpdated;
1488
- left;
1582
+ mediaStateUpdated = new Event4();
1583
+ left = new Event4();
1489
1584
  /**
1490
1585
  * Live object state. Is changed on internal events.
1491
1586
  * CAUTION: Do not change directly.
1492
1587
  */
1493
- _state;
1588
+ _state = live({
1589
+ call: {},
1590
+ media: {
1591
+ pulledAudioTracks: {},
1592
+ pulledVideoStreams: {}
1593
+ }
1594
+ });
1494
1595
  // TODO(wittjosiah): This shouldn't be necessary, live-object's signals should be granular.
1495
- _raisedHandSignal;
1496
- _speakingSignal;
1497
- _joinedSignal;
1596
+ _raisedHandSignal = computed(() => this._state.call.raisedHand ?? false);
1597
+ _speakingSignal = computed(() => this._state.call.speaking ?? false);
1598
+ _joinedSignal = computed(() => this._state.call.joined ?? false);
1498
1599
  _swarmSynchronizer;
1499
1600
  _mediaManager;
1500
1601
  /** @reactive */
@@ -1577,17 +1678,11 @@ var CallManager = class extends Resource5 {
1577
1678
  }
1578
1679
  // TODO(burdon): Can this be mocked?
1579
1680
  constructor(_client) {
1580
- super(), this._client = _client, this.callStateUpdated = new Event4(), this.mediaStateUpdated = new Event4(), this.left = new Event4(), this._state = live({
1581
- call: {},
1582
- media: {
1583
- pulledAudioTracks: {},
1584
- pulledVideoStreams: {}
1585
- }
1586
- }), this._raisedHandSignal = computed(() => this._state.call.raisedHand ?? false), this._speakingSignal = computed(() => this._state.call.speaking ?? false), this._joinedSignal = computed(() => this._state.call.joined ?? false);
1681
+ super(), this._client = _client;
1587
1682
  this._client.config.getOrThrow("runtime.services.edge.url");
1588
1683
  const networkService = this._client.services.services.NetworkService;
1589
- invariant3(networkService, "network service not found", {
1590
- F: __dxlog_file5,
1684
+ invariant5(networkService, "network service not found", {
1685
+ F: __dxlog_file6,
1591
1686
  L: 159,
1592
1687
  S: this,
1593
1688
  A: [
@@ -1640,7 +1735,7 @@ var CallManager = class extends Resource5 {
1640
1735
  this.roomId && this.left.emit(this.roomId);
1641
1736
  }
1642
1737
  _onCallStateUpdated(state) {
1643
- const tracksToPull = state.users?.filter((user) => user.joined && user.id !== state.self?.id)?.flatMap((user) => [
1738
+ const tracksToPull = state.users?.filter((user) => user.joined && user.id !== state.self.id)?.flatMap((user) => [
1644
1739
  user.tracks?.video,
1645
1740
  user.tracks?.audio,
1646
1741
  user.tracks?.screenshare
@@ -1695,4 +1790,4 @@ export {
1695
1790
  MediaManager,
1696
1791
  CallManager
1697
1792
  };
1698
- //# sourceMappingURL=chunk-TUFWPOVS.mjs.map
1793
+ //# sourceMappingURL=chunk-ZCW3NSDZ.mjs.map