@dxos/plugin-thread 0.8.3 → 0.8.4-main.f9ba587

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 (232) hide show
  1. package/dist/lib/browser/ChannelContainer-5YH4FTBL.mjs +16 -0
  2. package/dist/lib/browser/ChatContainer-2UYQ23KO.mjs +15 -0
  3. package/dist/lib/browser/{app-graph-builder-OY7R7EJP.mjs → app-graph-builder-Q5V3KXE3.mjs} +6 -6
  4. package/dist/lib/browser/{call-manager-APQAZWHT.mjs → call-manager-NIPDYUVD.mjs} +6 -5
  5. package/dist/lib/browser/chunk-5ZVJ4GAS.mjs +21 -0
  6. package/dist/lib/browser/chunk-6NSMBO3B.mjs +56 -0
  7. package/dist/lib/browser/chunk-6NSMBO3B.mjs.map +7 -0
  8. package/dist/lib/browser/{chunk-5P5BH5GE.mjs → chunk-ERWASUQK.mjs} +66 -5
  9. package/dist/lib/browser/chunk-ERWASUQK.mjs.map +7 -0
  10. package/dist/lib/browser/{chunk-IIUTBDVB.mjs → chunk-EV4JWI7L.mjs} +2 -2
  11. package/dist/lib/browser/{chunk-JKQUJOTX.mjs → chunk-GERVMFQW.mjs} +2 -2
  12. package/dist/lib/browser/{chunk-AEXWNS6Z.mjs → chunk-JVIKVYTI.mjs} +4 -4
  13. package/dist/lib/browser/{chunk-XZKBN3NS.mjs → chunk-LCJD3NOB.mjs} +32 -31
  14. package/dist/lib/browser/chunk-LCJD3NOB.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-R5MDLUPC.mjs → chunk-LGSDKXPF.mjs} +3 -3
  16. package/dist/lib/browser/chunk-NCSFNWBZ.mjs +479 -0
  17. package/dist/lib/browser/chunk-NCSFNWBZ.mjs.map +7 -0
  18. package/dist/lib/browser/chunk-YD57K2SL.mjs +367 -0
  19. package/dist/lib/browser/chunk-YD57K2SL.mjs.map +7 -0
  20. package/dist/lib/browser/{chunk-4H4A264L.mjs → chunk-ZE7KWN36.mjs} +85 -124
  21. package/dist/lib/browser/chunk-ZE7KWN36.mjs.map +7 -0
  22. package/dist/lib/browser/index.mjs +28 -22
  23. package/dist/lib/browser/index.mjs.map +3 -3
  24. package/dist/lib/browser/{intent-resolver-FK2MDVDT.mjs → intent-resolver-MWE6XLPY.mjs} +6 -6
  25. package/dist/lib/browser/{markdown-TE5SWWNJ.mjs → markdown-ZO34G7RM.mjs} +7 -7
  26. package/dist/lib/browser/meta.json +1 -1
  27. package/dist/lib/browser/react-root-YNDNPODD.mjs +28 -0
  28. package/dist/lib/browser/{react-surface-VXUJKSOG.mjs → react-surface-2AXRNTCA.mjs} +12 -11
  29. package/dist/lib/browser/{settings-RB2RSLXV.mjs → settings-XZGPZNAU.mjs} +4 -4
  30. package/dist/lib/browser/{state-RKL5MSDP.mjs → state-H6CYONWE.mjs} +4 -4
  31. package/dist/lib/browser/types/index.mjs +2 -2
  32. package/dist/lib/node-esm/ChannelContainer-O2LZKMRM.mjs +17 -0
  33. package/dist/lib/node-esm/{ChatContainer-F6CSADV7.mjs → ChatContainer-6N35MP5J.mjs} +6 -5
  34. package/dist/lib/node-esm/{app-graph-builder-BAHBHYWI.mjs → app-graph-builder-GAKBZNU3.mjs} +6 -6
  35. package/dist/lib/node-esm/{call-manager-UUYXLF4T.mjs → call-manager-D6O5ZJJ4.mjs} +6 -5
  36. package/dist/lib/{browser/call-manager-APQAZWHT.mjs.map → node-esm/call-manager-D6O5ZJJ4.mjs.map} +1 -1
  37. package/dist/lib/node-esm/{chunk-O3V45YJP.mjs → chunk-25ABSYP2.mjs} +65 -5
  38. package/dist/lib/node-esm/chunk-25ABSYP2.mjs.map +7 -0
  39. package/dist/lib/node-esm/{chunk-UJMPYKT3.mjs → chunk-3X3YKRM2.mjs} +4 -4
  40. package/dist/lib/node-esm/{chunk-PGRP3O4O.mjs → chunk-57XR3LEF.mjs} +2 -2
  41. package/dist/lib/node-esm/{chunk-2RNIPFDA.mjs → chunk-5UQ4KKDE.mjs} +32 -31
  42. package/dist/lib/node-esm/chunk-5UQ4KKDE.mjs.map +7 -0
  43. package/dist/lib/node-esm/{chunk-K4KAUOKT.mjs → chunk-75RJ5DJI.mjs} +3 -3
  44. package/dist/lib/node-esm/chunk-A6QLTZCY.mjs +480 -0
  45. package/dist/lib/node-esm/chunk-A6QLTZCY.mjs.map +7 -0
  46. package/dist/lib/node-esm/{chunk-ESQC6SYE.mjs → chunk-GRLRWTRU.mjs} +2 -2
  47. package/dist/lib/node-esm/{chunk-WXNPD542.mjs → chunk-IHDNQLLR.mjs} +84 -124
  48. package/dist/lib/node-esm/chunk-IHDNQLLR.mjs.map +7 -0
  49. package/dist/lib/node-esm/chunk-OU5BYIDO.mjs +58 -0
  50. package/dist/lib/node-esm/chunk-OU5BYIDO.mjs.map +7 -0
  51. package/dist/lib/node-esm/chunk-RGTWAVEE.mjs +368 -0
  52. package/dist/lib/node-esm/chunk-RGTWAVEE.mjs.map +7 -0
  53. package/dist/lib/node-esm/chunk-X62X3VOK.mjs +23 -0
  54. package/dist/lib/node-esm/index.mjs +28 -22
  55. package/dist/lib/node-esm/index.mjs.map +3 -3
  56. package/dist/lib/node-esm/{intent-resolver-BU73VYW3.mjs → intent-resolver-B6PNTMPY.mjs} +6 -6
  57. package/dist/lib/node-esm/{markdown-HJUWNBLS.mjs → markdown-ZJUFV2TA.mjs} +7 -7
  58. package/dist/lib/node-esm/meta.json +1 -1
  59. package/dist/lib/node-esm/{react-root-RUXOAQNW.mjs → react-root-ZUVVTKWG.mjs} +12 -11
  60. package/dist/lib/{browser/react-root-NK3A4VG7.mjs.map → node-esm/react-root-ZUVVTKWG.mjs.map} +1 -1
  61. package/dist/lib/node-esm/{react-surface-ELXFYKP6.mjs → react-surface-OMEZTOU6.mjs} +12 -11
  62. package/dist/lib/{browser/react-surface-VXUJKSOG.mjs.map → node-esm/react-surface-OMEZTOU6.mjs.map} +1 -1
  63. package/dist/lib/node-esm/{settings-EA7DFSM6.mjs → settings-XECBSD6Q.mjs} +4 -4
  64. package/dist/lib/node-esm/{state-6AUTNROZ.mjs → state-D7WNDT3N.mjs} +4 -4
  65. package/dist/lib/node-esm/types/index.mjs +2 -2
  66. package/dist/types/src/calls/call-manager.d.ts +1 -1
  67. package/dist/types/src/calls/call-manager.d.ts.map +1 -1
  68. package/dist/types/src/calls/media-manager.d.ts.map +1 -1
  69. package/dist/types/src/calls/util/calls-service.d.ts +4 -1
  70. package/dist/types/src/calls/util/calls-service.d.ts.map +1 -1
  71. package/dist/types/src/calls/util/stub-media-streams.d.ts.map +1 -1
  72. package/dist/types/src/calls-service.stories.d.ts +22 -0
  73. package/dist/types/src/calls-service.stories.d.ts.map +1 -0
  74. package/dist/types/src/components/ChannelContainer.d.ts.map +1 -1
  75. package/dist/types/src/components/ChannelContainer.stories.d.ts +2 -2
  76. package/dist/types/src/components/ChannelContainer.stories.d.ts.map +1 -1
  77. package/dist/types/src/components/Chat.stories.d.ts +3 -2
  78. package/dist/types/src/components/Chat.stories.d.ts.map +1 -1
  79. package/dist/types/src/components/ChatContainer.d.ts +2 -2
  80. package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
  81. package/dist/types/src/components/Comments.stories.d.ts +1 -1
  82. package/dist/types/src/components/Comments.stories.d.ts.map +1 -1
  83. package/dist/types/src/components/CommentsContainer.d.ts +4 -4
  84. package/dist/types/src/components/CommentsContainer.d.ts.map +1 -1
  85. package/dist/types/src/components/CommentsThreadContainer.d.ts +14 -0
  86. package/dist/types/src/components/CommentsThreadContainer.d.ts.map +1 -0
  87. package/dist/types/src/components/Media/VideoObject.stories.d.ts +1 -1
  88. package/dist/types/src/components/Media/VideoObject.stories.d.ts.map +1 -1
  89. package/dist/types/src/components/MessageContainer.d.ts.map +1 -1
  90. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +1 -1
  91. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +1 -1
  92. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +1 -1
  93. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +1 -1
  94. package/dist/types/src/components/index.d.ts +1 -1
  95. package/dist/types/src/components/index.d.ts.map +1 -1
  96. package/dist/types/src/hooks/index.d.ts +2 -0
  97. package/dist/types/src/hooks/index.d.ts.map +1 -1
  98. package/dist/types/src/hooks/useInaudibleAudioStreamTrack.d.ts +2 -0
  99. package/dist/types/src/hooks/useInaudibleAudioStreamTrack.d.ts.map +1 -0
  100. package/dist/types/src/hooks/useVideoStreamTrack.d.ts +3 -0
  101. package/dist/types/src/hooks/useVideoStreamTrack.d.ts.map +1 -0
  102. package/dist/types/src/testing/stories.d.ts.map +1 -1
  103. package/dist/types/src/translations.d.ts +72 -194
  104. package/dist/types/src/translations.d.ts.map +1 -1
  105. package/dist/types/tsconfig.tsbuildinfo +1 -1
  106. package/package.json +47 -48
  107. package/src/ThreadPlugin.tsx +1 -1
  108. package/src/calls/call-manager.ts +6 -2
  109. package/src/calls/media-manager.ts +11 -4
  110. package/src/calls/util/calls-service.ts +8 -5
  111. package/src/calls/util/stub-media-streams.ts +3 -6
  112. package/src/calls-service.stories.tsx +216 -0
  113. package/src/components/Call/Call.tsx +1 -1
  114. package/src/components/Call/Toolbar.tsx +2 -2
  115. package/src/components/CallDebugPanel.tsx +2 -2
  116. package/src/components/ChannelContainer.stories.tsx +5 -5
  117. package/src/components/ChannelContainer.tsx +6 -5
  118. package/src/components/Chat.stories.tsx +4 -4
  119. package/src/components/ChatContainer.tsx +10 -9
  120. package/src/components/Comments.stories.tsx +22 -15
  121. package/src/components/CommentsContainer.tsx +16 -11
  122. package/src/components/{CommentContainer.tsx → CommentsThreadContainer.tsx} +49 -80
  123. package/src/components/Media/VideoObject.stories.tsx +1 -1
  124. package/src/components/MessageContainer.tsx +27 -43
  125. package/src/components/ResponsiveGrid/ResponsiveContainer.stories.tsx +2 -2
  126. package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +2 -2
  127. package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +2 -2
  128. package/src/components/ThreadComplementary.tsx +2 -2
  129. package/src/components/ThreadSettings.tsx +2 -2
  130. package/src/components/index.ts +1 -1
  131. package/src/hooks/index.ts +2 -0
  132. package/src/hooks/useInaudibleAudioStreamTrack.tsx +27 -0
  133. package/src/hooks/useVideoStreamTrack.tsx +33 -0
  134. package/src/testing/stories.ts +5 -1
  135. package/src/translations.ts +9 -8
  136. package/dist/lib/browser/ChannelContainer-PKFBVENP.mjs +0 -15
  137. package/dist/lib/browser/ChatContainer-RSOKYAMK.mjs +0 -14
  138. package/dist/lib/browser/chunk-4H4A264L.mjs.map +0 -7
  139. package/dist/lib/browser/chunk-5P5BH5GE.mjs.map +0 -7
  140. package/dist/lib/browser/chunk-6NBVNXTM.mjs +0 -21
  141. package/dist/lib/browser/chunk-PG5CTFKK.mjs +0 -550
  142. package/dist/lib/browser/chunk-PG5CTFKK.mjs.map +0 -7
  143. package/dist/lib/browser/chunk-TAFSCSUR.mjs +0 -351
  144. package/dist/lib/browser/chunk-TAFSCSUR.mjs.map +0 -7
  145. package/dist/lib/browser/chunk-XZKBN3NS.mjs.map +0 -7
  146. package/dist/lib/browser/react-root-NK3A4VG7.mjs +0 -27
  147. package/dist/lib/node/ChannelContainer-YS5YT2ML.cjs +0 -36
  148. package/dist/lib/node/ChannelContainer-YS5YT2ML.cjs.map +0 -7
  149. package/dist/lib/node/ChatContainer-GCOM3M56.cjs +0 -35
  150. package/dist/lib/node/ChatContainer-GCOM3M56.cjs.map +0 -7
  151. package/dist/lib/node/app-graph-builder-PBHJNDQY.cjs +0 -179
  152. package/dist/lib/node/app-graph-builder-PBHJNDQY.cjs.map +0 -7
  153. package/dist/lib/node/call-manager-HV2XJW5O.cjs +0 -37
  154. package/dist/lib/node/call-manager-HV2XJW5O.cjs.map +0 -7
  155. package/dist/lib/node/chunk-44I33JDT.cjs +0 -1731
  156. package/dist/lib/node/chunk-44I33JDT.cjs.map +0 -7
  157. package/dist/lib/node/chunk-4YSNVPWU.cjs +0 -37
  158. package/dist/lib/node/chunk-4YSNVPWU.cjs.map +0 -7
  159. package/dist/lib/node/chunk-E3WBZTTI.cjs +0 -371
  160. package/dist/lib/node/chunk-E3WBZTTI.cjs.map +0 -7
  161. package/dist/lib/node/chunk-ERG7G6FF.cjs +0 -59
  162. package/dist/lib/node/chunk-ERG7G6FF.cjs.map +0 -7
  163. package/dist/lib/node/chunk-FUXJAVFZ.cjs +0 -108
  164. package/dist/lib/node/chunk-FUXJAVFZ.cjs.map +0 -7
  165. package/dist/lib/node/chunk-HLMCEE5K.cjs +0 -41
  166. package/dist/lib/node/chunk-HLMCEE5K.cjs.map +0 -7
  167. package/dist/lib/node/chunk-IP533AMV.cjs +0 -554
  168. package/dist/lib/node/chunk-IP533AMV.cjs.map +0 -7
  169. package/dist/lib/node/chunk-LR5NENBE.cjs +0 -54
  170. package/dist/lib/node/chunk-LR5NENBE.cjs.map +0 -7
  171. package/dist/lib/node/chunk-UM36TPCT.cjs +0 -984
  172. package/dist/lib/node/chunk-UM36TPCT.cjs.map +0 -7
  173. package/dist/lib/node/chunk-ZGDN3XBR.cjs +0 -149
  174. package/dist/lib/node/chunk-ZGDN3XBR.cjs.map +0 -7
  175. package/dist/lib/node/index.cjs +0 -310
  176. package/dist/lib/node/index.cjs.map +0 -7
  177. package/dist/lib/node/intent-resolver-SYSJ5SJG.cjs +0 -363
  178. package/dist/lib/node/intent-resolver-SYSJ5SJG.cjs.map +0 -7
  179. package/dist/lib/node/markdown-GQIPJS2F.cjs +0 -178
  180. package/dist/lib/node/markdown-GQIPJS2F.cjs.map +0 -7
  181. package/dist/lib/node/meta.json +0 -1
  182. package/dist/lib/node/react-root-6HHDMULJ.cjs +0 -51
  183. package/dist/lib/node/react-root-6HHDMULJ.cjs.map +0 -7
  184. package/dist/lib/node/react-surface-NBH42NN2.cjs +0 -122
  185. package/dist/lib/node/react-surface-NBH42NN2.cjs.map +0 -7
  186. package/dist/lib/node/settings-4LQSFEDK.cjs +0 -36
  187. package/dist/lib/node/settings-4LQSFEDK.cjs.map +0 -7
  188. package/dist/lib/node/state-IY5XX3H2.cjs +0 -50
  189. package/dist/lib/node/state-IY5XX3H2.cjs.map +0 -7
  190. package/dist/lib/node/types/index.cjs +0 -38
  191. package/dist/lib/node/types/index.cjs.map +0 -7
  192. package/dist/lib/node-esm/ChannelContainer-O4QJII2P.mjs +0 -16
  193. package/dist/lib/node-esm/chunk-2RNIPFDA.mjs.map +0 -7
  194. package/dist/lib/node-esm/chunk-O3V45YJP.mjs.map +0 -7
  195. package/dist/lib/node-esm/chunk-O63QJPQX.mjs +0 -23
  196. package/dist/lib/node-esm/chunk-P6RLFCNT.mjs +0 -352
  197. package/dist/lib/node-esm/chunk-P6RLFCNT.mjs.map +0 -7
  198. package/dist/lib/node-esm/chunk-UZWVVFT3.mjs +0 -551
  199. package/dist/lib/node-esm/chunk-UZWVVFT3.mjs.map +0 -7
  200. package/dist/lib/node-esm/chunk-WXNPD542.mjs.map +0 -7
  201. package/dist/types/src/components/CommentContainer.d.ts +0 -13
  202. package/dist/types/src/components/CommentContainer.d.ts.map +0 -1
  203. package/dist/types/src/peers.stories.d.ts +0 -11
  204. package/dist/types/src/peers.stories.d.ts.map +0 -1
  205. package/src/peers.stories.tsx +0 -189
  206. /package/dist/lib/browser/{ChannelContainer-PKFBVENP.mjs.map → ChannelContainer-5YH4FTBL.mjs.map} +0 -0
  207. /package/dist/lib/browser/{ChatContainer-RSOKYAMK.mjs.map → ChatContainer-2UYQ23KO.mjs.map} +0 -0
  208. /package/dist/lib/browser/{app-graph-builder-OY7R7EJP.mjs.map → app-graph-builder-Q5V3KXE3.mjs.map} +0 -0
  209. /package/dist/lib/{node-esm/call-manager-UUYXLF4T.mjs.map → browser/call-manager-NIPDYUVD.mjs.map} +0 -0
  210. /package/dist/lib/browser/{chunk-6NBVNXTM.mjs.map → chunk-5ZVJ4GAS.mjs.map} +0 -0
  211. /package/dist/lib/browser/{chunk-IIUTBDVB.mjs.map → chunk-EV4JWI7L.mjs.map} +0 -0
  212. /package/dist/lib/browser/{chunk-JKQUJOTX.mjs.map → chunk-GERVMFQW.mjs.map} +0 -0
  213. /package/dist/lib/browser/{chunk-AEXWNS6Z.mjs.map → chunk-JVIKVYTI.mjs.map} +0 -0
  214. /package/dist/lib/browser/{chunk-R5MDLUPC.mjs.map → chunk-LGSDKXPF.mjs.map} +0 -0
  215. /package/dist/lib/browser/{intent-resolver-FK2MDVDT.mjs.map → intent-resolver-MWE6XLPY.mjs.map} +0 -0
  216. /package/dist/lib/browser/{markdown-TE5SWWNJ.mjs.map → markdown-ZO34G7RM.mjs.map} +0 -0
  217. /package/dist/lib/{node-esm/react-root-RUXOAQNW.mjs.map → browser/react-root-YNDNPODD.mjs.map} +0 -0
  218. /package/dist/lib/{node-esm/react-surface-ELXFYKP6.mjs.map → browser/react-surface-2AXRNTCA.mjs.map} +0 -0
  219. /package/dist/lib/browser/{settings-RB2RSLXV.mjs.map → settings-XZGPZNAU.mjs.map} +0 -0
  220. /package/dist/lib/browser/{state-RKL5MSDP.mjs.map → state-H6CYONWE.mjs.map} +0 -0
  221. /package/dist/lib/node-esm/{ChannelContainer-O4QJII2P.mjs.map → ChannelContainer-O2LZKMRM.mjs.map} +0 -0
  222. /package/dist/lib/node-esm/{ChatContainer-F6CSADV7.mjs.map → ChatContainer-6N35MP5J.mjs.map} +0 -0
  223. /package/dist/lib/node-esm/{app-graph-builder-BAHBHYWI.mjs.map → app-graph-builder-GAKBZNU3.mjs.map} +0 -0
  224. /package/dist/lib/node-esm/{chunk-UJMPYKT3.mjs.map → chunk-3X3YKRM2.mjs.map} +0 -0
  225. /package/dist/lib/node-esm/{chunk-PGRP3O4O.mjs.map → chunk-57XR3LEF.mjs.map} +0 -0
  226. /package/dist/lib/node-esm/{chunk-K4KAUOKT.mjs.map → chunk-75RJ5DJI.mjs.map} +0 -0
  227. /package/dist/lib/node-esm/{chunk-ESQC6SYE.mjs.map → chunk-GRLRWTRU.mjs.map} +0 -0
  228. /package/dist/lib/node-esm/{chunk-O63QJPQX.mjs.map → chunk-X62X3VOK.mjs.map} +0 -0
  229. /package/dist/lib/node-esm/{intent-resolver-BU73VYW3.mjs.map → intent-resolver-B6PNTMPY.mjs.map} +0 -0
  230. /package/dist/lib/node-esm/{markdown-HJUWNBLS.mjs.map → markdown-ZJUFV2TA.mjs.map} +0 -0
  231. /package/dist/lib/node-esm/{settings-EA7DFSM6.mjs.map → settings-XECBSD6Q.mjs.map} +0 -0
  232. /package/dist/lib/node-esm/{state-6AUTNROZ.mjs.map → state-D7WNDT3N.mjs.map} +0 -0
@@ -0,0 +1,16 @@
1
+ import {
2
+ ChannelContainer,
3
+ ChannelContainer_default
4
+ } from "./chunk-LCJD3NOB.mjs";
5
+ import "./chunk-5ZVJ4GAS.mjs";
6
+ import "./chunk-LGSDKXPF.mjs";
7
+ import "./chunk-NCSFNWBZ.mjs";
8
+ import "./chunk-ERWASUQK.mjs";
9
+ import "./chunk-GERVMFQW.mjs";
10
+ import "./chunk-6NSMBO3B.mjs";
11
+ import "./chunk-EV4JWI7L.mjs";
12
+ export {
13
+ ChannelContainer,
14
+ ChannelContainer_default as default
15
+ };
16
+ //# sourceMappingURL=ChannelContainer-5YH4FTBL.mjs.map
@@ -0,0 +1,15 @@
1
+ import {
2
+ ChatContainer,
3
+ ChatContainer_default,
4
+ ChatHeading
5
+ } from "./chunk-NCSFNWBZ.mjs";
6
+ import "./chunk-ERWASUQK.mjs";
7
+ import "./chunk-GERVMFQW.mjs";
8
+ import "./chunk-6NSMBO3B.mjs";
9
+ import "./chunk-EV4JWI7L.mjs";
10
+ export {
11
+ ChatContainer,
12
+ ChatHeading,
13
+ ChatContainer_default as default
14
+ };
15
+ //# sourceMappingURL=ChatContainer-2UYQ23KO.mjs.map
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  ChannelType,
3
3
  ThreadAction
4
- } from "./chunk-AEXWNS6Z.mjs";
4
+ } from "./chunk-JVIKVYTI.mjs";
5
5
  import {
6
6
  ThreadCapabilities
7
- } from "./chunk-R5MDLUPC.mjs";
7
+ } from "./chunk-LGSDKXPF.mjs";
8
8
  import {
9
9
  getAnchor
10
- } from "./chunk-JKQUJOTX.mjs";
10
+ } from "./chunk-GERVMFQW.mjs";
11
11
  import {
12
12
  THREAD_PLUGIN,
13
13
  meta
14
- } from "./chunk-IIUTBDVB.mjs";
14
+ } from "./chunk-EV4JWI7L.mjs";
15
15
 
16
- // packages/plugins/plugin-thread/src/capabilities/app-graph-builder.ts
16
+ // src/capabilities/app-graph-builder.ts
17
17
  import { Rx } from "@effect-rx/rx-react";
18
18
  import { Option, pipe } from "effect";
19
19
  import { Capabilities, contributes, createIntent } from "@dxos/app-framework";
@@ -168,4 +168,4 @@ var app_graph_builder_default = (context) => {
168
168
  export {
169
169
  app_graph_builder_default as default
170
170
  };
171
- //# sourceMappingURL=app-graph-builder-OY7R7EJP.mjs.map
171
+ //# sourceMappingURL=app-graph-builder-Q5V3KXE3.mjs.map
@@ -1,12 +1,13 @@
1
1
  import {
2
2
  CallManager
3
- } from "./chunk-4H4A264L.mjs";
3
+ } from "./chunk-ZE7KWN36.mjs";
4
4
  import {
5
5
  ThreadCapabilities
6
- } from "./chunk-R5MDLUPC.mjs";
7
- import "./chunk-IIUTBDVB.mjs";
6
+ } from "./chunk-LGSDKXPF.mjs";
7
+ import "./chunk-6NSMBO3B.mjs";
8
+ import "./chunk-EV4JWI7L.mjs";
8
9
 
9
- // packages/plugins/plugin-thread/src/capabilities/call-manager.ts
10
+ // src/capabilities/call-manager.ts
10
11
  import { contributes } from "@dxos/app-framework";
11
12
  import { ClientCapabilities } from "@dxos/plugin-client";
12
13
  var call_manager_default = async (context) => {
@@ -20,4 +21,4 @@ var call_manager_default = async (context) => {
20
21
  export {
21
22
  call_manager_default as default
22
23
  };
23
- //# sourceMappingURL=call-manager-APQAZWHT.mjs.map
24
+ //# sourceMappingURL=call-manager-NIPDYUVD.mjs.map
@@ -0,0 +1,21 @@
1
+ // src/capabilities/index.ts
2
+ import { lazy } from "@dxos/app-framework";
3
+ var AppGraphBuilder = lazy(() => import("./app-graph-builder-Q5V3KXE3.mjs"));
4
+ var CallManager = lazy(() => import("./call-manager-NIPDYUVD.mjs"));
5
+ var IntentResolver = lazy(() => import("./intent-resolver-MWE6XLPY.mjs"));
6
+ var Markdown = lazy(() => import("./markdown-ZO34G7RM.mjs"));
7
+ var ReactRoot = lazy(() => import("./react-root-YNDNPODD.mjs"));
8
+ var ReactSurface = lazy(() => import("./react-surface-2AXRNTCA.mjs"));
9
+ var ThreadSettings = lazy(() => import("./settings-XZGPZNAU.mjs"));
10
+ var ThreadState = lazy(() => import("./state-H6CYONWE.mjs"));
11
+
12
+ export {
13
+ AppGraphBuilder,
14
+ CallManager,
15
+ IntentResolver,
16
+ Markdown,
17
+ ReactRoot,
18
+ ReactSurface,
19
+ ThreadState
20
+ };
21
+ //# sourceMappingURL=chunk-5ZVJ4GAS.mjs.map
@@ -0,0 +1,56 @@
1
+ // src/calls/util/stub-media-streams.ts
2
+ import { waitForCondition, scheduleTaskInterval } from "@dxos/async";
3
+ import { cancelWithContext } from "@dxos/context";
4
+ import { invariant } from "@dxos/invariant";
5
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/util/stub-media-streams.ts";
6
+ var createBlackCanvasStreamTrack = async ({ ctx, width, height }) => {
7
+ const canvas = document.createElement("canvas");
8
+ canvas.width = width;
9
+ canvas.height = height;
10
+ const canvasCtx = canvas.getContext("2d");
11
+ invariant(canvasCtx, void 0, {
12
+ F: __dxlog_file,
13
+ L: 28,
14
+ S: void 0,
15
+ A: [
16
+ "canvasCtx",
17
+ ""
18
+ ]
19
+ });
20
+ const drawFrame = () => {
21
+ canvasCtx.fillStyle = "black";
22
+ canvasCtx.fillRect(0, 0, canvas.width, canvas.height);
23
+ };
24
+ scheduleTaskInterval(ctx, async () => drawFrame(), 1e3);
25
+ const track = canvas.captureStream().getVideoTracks()[0];
26
+ drawFrame();
27
+ await cancelWithContext(ctx, waitForCondition({
28
+ condition: () => track.readyState === "live",
29
+ timeout: 1e3
30
+ }));
31
+ return track;
32
+ };
33
+ var createInaudibleAudioStreamTrack = async ({ ctx }) => {
34
+ const audioContext = new window.AudioContext();
35
+ const oscillator = audioContext.createOscillator();
36
+ oscillator.type = "triangle";
37
+ oscillator.frequency.setValueAtTime(20, audioContext.currentTime);
38
+ const gainNode = audioContext.createGain();
39
+ gainNode.gain.setValueAtTime(0.02, audioContext.currentTime);
40
+ oscillator.connect(gainNode);
41
+ const destination = audioContext.createMediaStreamDestination();
42
+ gainNode.connect(destination);
43
+ oscillator.start();
44
+ ctx.onDispose(async () => {
45
+ oscillator.disconnect();
46
+ oscillator.stop();
47
+ await audioContext.close();
48
+ });
49
+ return destination.stream.getAudioTracks()[0];
50
+ };
51
+
52
+ export {
53
+ createBlackCanvasStreamTrack,
54
+ createInaudibleAudioStreamTrack
55
+ };
56
+ //# sourceMappingURL=chunk-6NSMBO3B.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/calls/util/stub-media-streams.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n//\n\nimport { waitForCondition, scheduleTaskInterval } from '@dxos/async';\nimport { cancelWithContext, type Context } from '@dxos/context';\nimport { invariant } from '@dxos/invariant';\n\n/**\n * Creates a black canvas stream track.\n * We need this to to have black rectangle video that is live (have frames) when video feed is disabled.\n */\nexport const createBlackCanvasStreamTrack = async ({\n ctx,\n width,\n height,\n}: {\n ctx: Context;\n width: number;\n height: number;\n}): Promise<MediaStreamTrack> => {\n const canvas = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n\n const canvasCtx = canvas.getContext('2d');\n invariant(canvasCtx);\n const drawFrame = () => {\n canvasCtx.fillStyle = 'black';\n canvasCtx.fillRect(0, 0, canvas.width, canvas.height);\n };\n scheduleTaskInterval(ctx, async () => drawFrame(), 1_000);\n\n const track = canvas.captureStream().getVideoTracks()[0];\n drawFrame();\n\n await cancelWithContext(ctx, waitForCondition({ condition: () => track.readyState === 'live', timeout: 1_000 }));\n\n return track;\n};\n\n/**\n * Creates an inaudible audio stream track.\n * We need this to have audio track available when audio is disabled.\n */\nexport const createInaudibleAudioStreamTrack = async ({ ctx }: { ctx: Context }): Promise<MediaStreamTrack> => {\n const audioContext = new window.AudioContext();\n const oscillator = audioContext.createOscillator();\n oscillator.type = 'triangle';\n // roughly sounds like a box fan\n oscillator.frequency.setValueAtTime(20, audioContext.currentTime);\n\n const gainNode = audioContext.createGain();\n // even w/ gain at 0 some packets are sent\n gainNode.gain.setValueAtTime(0.02, audioContext.currentTime);\n oscillator.connect(gainNode);\n\n const destination = audioContext.createMediaStreamDestination();\n gainNode.connect(destination);\n oscillator.start();\n\n ctx.onDispose(async () => {\n oscillator.disconnect();\n oscillator.stop();\n await audioContext.close();\n });\n\n return destination.stream.getAudioTracks()[0];\n};\n"],
5
+ "mappings": ";AAKA,SAASA,kBAAkBC,4BAA4B;AACvD,SAASC,yBAAuC;AAChD,SAASC,iBAAiB;;AAMnB,IAAMC,+BAA+B,OAAO,EACjDC,KACAC,OACAC,OAAM,MAKP;AACC,QAAMC,SAASC,SAASC,cAAc,QAAA;AACtCF,SAAOF,QAAQA;AACfE,SAAOD,SAASA;AAEhB,QAAMI,YAAYH,OAAOI,WAAW,IAAA;AACpCT,YAAUQ,WAAAA,QAAAA;;;;;;;;;AACV,QAAME,YAAY,MAAA;AAChBF,cAAUG,YAAY;AACtBH,cAAUI,SAAS,GAAG,GAAGP,OAAOF,OAAOE,OAAOD,MAAM;EACtD;AACAN,uBAAqBI,KAAK,YAAYQ,UAAAA,GAAa,GAAA;AAEnD,QAAMG,QAAQR,OAAOS,cAAa,EAAGC,eAAc,EAAG,CAAA;AACtDL,YAAAA;AAEA,QAAMX,kBAAkBG,KAAKL,iBAAiB;IAAEmB,WAAW,MAAMH,MAAMI,eAAe;IAAQC,SAAS;EAAM,CAAA,CAAA;AAE7G,SAAOL;AACT;AAMO,IAAMM,kCAAkC,OAAO,EAAEjB,IAAG,MAAoB;AAC7E,QAAMkB,eAAe,IAAIC,OAAOC,aAAY;AAC5C,QAAMC,aAAaH,aAAaI,iBAAgB;AAChDD,aAAWE,OAAO;AAElBF,aAAWG,UAAUC,eAAe,IAAIP,aAAaQ,WAAW;AAEhE,QAAMC,WAAWT,aAAaU,WAAU;AAExCD,WAASE,KAAKJ,eAAe,MAAMP,aAAaQ,WAAW;AAC3DL,aAAWS,QAAQH,QAAAA;AAEnB,QAAMI,cAAcb,aAAac,6BAA4B;AAC7DL,WAASG,QAAQC,WAAAA;AACjBV,aAAWY,MAAK;AAEhBjC,MAAIkC,UAAU,YAAA;AACZb,eAAWc,WAAU;AACrBd,eAAWe,KAAI;AACf,UAAMlB,aAAamB,MAAK;EAC1B,CAAA;AAEA,SAAON,YAAYO,OAAOC,eAAc,EAAG,CAAA;AAC7C;",
6
+ "names": ["waitForCondition", "scheduleTaskInterval", "cancelWithContext", "invariant", "createBlackCanvasStreamTrack", "ctx", "width", "height", "canvas", "document", "createElement", "canvasCtx", "getContext", "drawFrame", "fillStyle", "fillRect", "track", "captureStream", "getVideoTracks", "condition", "readyState", "timeout", "createInaudibleAudioStreamTrack", "audioContext", "window", "AudioContext", "oscillator", "createOscillator", "type", "frequency", "setValueAtTime", "currentTime", "gainNode", "createGain", "gain", "connect", "destination", "createMediaStreamDestination", "start", "onDispose", "disconnect", "stop", "close", "stream", "getAudioTracks"]
7
+ }
@@ -1,4 +1,8 @@
1
- // packages/plugins/plugin-thread/src/hooks/analytics.ts
1
+ import {
2
+ createInaudibleAudioStreamTrack
3
+ } from "./chunk-6NSMBO3B.mjs";
4
+
5
+ // src/hooks/analytics.ts
2
6
  import { useCallback } from "react";
3
7
  import { createIntent, useIntentDispatcher } from "@dxos/app-framework";
4
8
  import { ObservabilityAction } from "@dxos/plugin-observability/types";
@@ -27,7 +31,7 @@ var useOnEditAnalytics = (message, textBlock, editing) => {
27
31
  useOnTransition(editing, true, false, onEdit);
28
32
  };
29
33
 
30
- // packages/plugins/plugin-thread/src/hooks/useDebugMode.ts
34
+ // src/hooks/useDebugMode.ts
31
35
  import { useState, useEffect } from "react";
32
36
  var useDebugMode = () => {
33
37
  const [enabled, setEnabled] = useState(false);
@@ -48,7 +52,7 @@ var useDebugMode = () => {
48
52
  return enabled;
49
53
  };
50
54
 
51
- // packages/plugins/plugin-thread/src/hooks/useStatus.ts
55
+ // src/hooks/useStatus.ts
52
56
  import { useEffect as useEffect2, useState as useState2 } from "react";
53
57
  var useStatus = (space, channel) => {
54
58
  const [processing, setProcessing] = useState2(false);
@@ -80,9 +84,66 @@ var useStatus = (space, channel) => {
80
84
  return processing;
81
85
  };
82
86
 
87
+ // src/hooks/useVideoStreamTrack.tsx
88
+ import { useEffect as useEffect3, useRef, useState as useState3 } from "react";
89
+ var useVideoStreamTrack = (videoElement, videoSrc) => {
90
+ const [videoStreamTrack, setVideoStreamTrack] = useState3(void 0);
91
+ const hadRun = useRef(false);
92
+ useEffect3(() => {
93
+ if (!videoElement.current || hadRun.current || !videoSrc) {
94
+ return;
95
+ }
96
+ hadRun.current = true;
97
+ videoElement.current.addEventListener("playing", () => {
98
+ const stream = videoElement.current.captureStream();
99
+ const track = stream.getTracks()[0];
100
+ if (track) {
101
+ setVideoStreamTrack(track);
102
+ }
103
+ stream.onaddtrack = (event) => {
104
+ if (event.track.kind === "video") {
105
+ setVideoStreamTrack(event.track);
106
+ }
107
+ };
108
+ });
109
+ videoElement.current.src = videoSrc;
110
+ }, [
111
+ videoElement.current,
112
+ videoSrc
113
+ ]);
114
+ return videoStreamTrack;
115
+ };
116
+
117
+ // src/hooks/useInaudibleAudioStreamTrack.tsx
118
+ import { useEffect as useEffect4, useState as useState4 } from "react";
119
+ import { scheduleTask } from "@dxos/async";
120
+ import { Context } from "@dxos/context";
121
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/hooks/useInaudibleAudioStreamTrack.tsx";
122
+ var useInaudibleAudioStreamTrack = () => {
123
+ const [audioStreamTrack, setAudioStreamTrack] = useState4(void 0);
124
+ useEffect4(() => {
125
+ const ctx = new Context(void 0, {
126
+ F: __dxlog_file,
127
+ L: 15
128
+ });
129
+ scheduleTask(ctx, async () => {
130
+ const audioStreamTrack2 = await createInaudibleAudioStreamTrack({
131
+ ctx
132
+ });
133
+ setAudioStreamTrack(audioStreamTrack2);
134
+ });
135
+ return () => {
136
+ void ctx.dispose();
137
+ };
138
+ }, []);
139
+ return audioStreamTrack;
140
+ };
141
+
83
142
  export {
84
143
  useOnEditAnalytics,
85
144
  useDebugMode,
86
- useStatus
145
+ useStatus,
146
+ useVideoStreamTrack,
147
+ useInaudibleAudioStreamTrack
87
148
  };
88
- //# sourceMappingURL=chunk-5P5BH5GE.mjs.map
149
+ //# sourceMappingURL=chunk-ERWASUQK.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/analytics.ts", "../../../src/hooks/useDebugMode.ts", "../../../src/hooks/useStatus.ts", "../../../src/hooks/useVideoStreamTrack.tsx", "../../../src/hooks/useInaudibleAudioStreamTrack.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { useCallback } from 'react';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { type Live } from '@dxos/live-object';\nimport { ObservabilityAction } from '@dxos/plugin-observability/types';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { useOnTransition } from '@dxos/react-ui';\nimport { type DataType } from '@dxos/schema';\n\nexport const useOnEditAnalytics = (\n message: Live<any>,\n textBlock: DataType.MessageBlock.Text | undefined,\n editing: boolean,\n) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n\n const onEdit = useCallback(() => {\n const space = getSpace(message);\n if (!space || !textBlock) {\n return;\n }\n\n void dispatch(\n createIntent(ObservabilityAction.SendEvent, {\n name: 'threads.message.update',\n properties: {\n spaceId: space.id,\n messageId: message.id,\n messageLength: textBlock?.text.length,\n },\n }),\n );\n }, [dispatch, message, textBlock]);\n\n useOnTransition(editing, true, false, onEdit);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useState, useEffect } from 'react';\n\n// TODO(burdon): Standardize across plugins/composer.\nexport const useDebugMode = () => {\n const [enabled, setEnabled] = useState(false);\n useEffect(() => {\n const handler = (ev: KeyboardEvent) => {\n if (ev.key.toLowerCase() === 'd' && ev.ctrlKey) {\n ev.preventDefault();\n setEnabled(!enabled);\n }\n };\n\n document.addEventListener('keypress', handler);\n return () => {\n document.removeEventListener('keypress', handler);\n };\n }, [enabled]);\n\n return enabled;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { useEffect, useState } from 'react';\n\nimport { type Space } from '@dxos/react-client/echo';\n\n// TODO(burdon): Generalize and factor out.\nexport const useStatus = (space?: Space, channel?: string) => {\n const [processing, setProcessing] = useState(false);\n useEffect(() => {\n if (!space || !channel) {\n return;\n }\n\n const unsubscribe = space.listen(`status/${channel}`, (status) => {\n const { event } = status.payload ?? {};\n setProcessing(event === 'processing');\n });\n\n const t = setInterval(() => {\n setProcessing((prev: any) => {\n if (typeof prev?.ts === 'number' && Date.now() - prev.ts > 30_000) {\n return undefined;\n } else {\n return prev;\n }\n });\n }, 1_000);\n\n return () => {\n unsubscribe();\n clearInterval(t);\n };\n }, [space, channel]);\n\n return processing;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type RefObject, useEffect, useRef, useState } from 'react';\n\nexport const useVideoStreamTrack = (videoElement: RefObject<HTMLVideoElement>, videoSrc: string) => {\n // Get video stream track.\n const [videoStreamTrack, setVideoStreamTrack] = useState<MediaStreamTrack | undefined>(undefined);\n const hadRun = useRef(false);\n useEffect(() => {\n // This is done to capture only one video stream.\n if (!videoElement.current || hadRun.current || !videoSrc) {\n return;\n }\n hadRun.current = true;\n videoElement.current.addEventListener('playing', () => {\n const stream = (videoElement.current as any).captureStream();\n const track = stream.getTracks()[0];\n if (track) {\n setVideoStreamTrack(track);\n }\n stream.onaddtrack = (event: MediaStreamTrackEvent) => {\n if (event.track.kind === 'video') {\n setVideoStreamTrack(event.track);\n }\n };\n });\n videoElement.current.src = videoSrc;\n }, [videoElement.current, videoSrc]);\n\n return videoStreamTrack;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useEffect, useState } from 'react';\n\nimport { scheduleTask } from '@dxos/async';\nimport { Context } from '@dxos/context';\n\nimport { createInaudibleAudioStreamTrack } from '../calls/util/stub-media-streams';\n\nexport const useInaudibleAudioStreamTrack = () => {\n const [audioStreamTrack, setAudioStreamTrack] = useState<MediaStreamTrack | undefined>(undefined);\n useEffect(() => {\n const ctx = new Context();\n scheduleTask(ctx, async () => {\n const audioStreamTrack = await createInaudibleAudioStreamTrack({ ctx });\n setAudioStreamTrack(audioStreamTrack);\n });\n\n return () => {\n void ctx.dispose();\n };\n }, []);\n\n return audioStreamTrack;\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["useCallback", "createIntent", "useIntentDispatcher", "ObservabilityAction", "getSpace", "useOnTransition", "useOnEditAnalytics", "message", "textBlock", "editing", "dispatchPromise", "dispatch", "useIntentDispatcher", "onEdit", "useCallback", "space", "getSpace", "createIntent", "ObservabilityAction", "SendEvent", "name", "properties", "spaceId", "id", "messageId", "messageLength", "text", "length", "useOnTransition", "useState", "useEffect", "useDebugMode", "enabled", "setEnabled", "useState", "useEffect", "handler", "ev", "key", "toLowerCase", "ctrlKey", "preventDefault", "document", "addEventListener", "removeEventListener", "useEffect", "useState", "useStatus", "space", "channel", "processing", "setProcessing", "useState", "useEffect", "unsubscribe", "listen", "status", "event", "payload", "t", "setInterval", "prev", "ts", "Date", "now", "undefined", "clearInterval", "useEffect", "useRef", "useState", "useVideoStreamTrack", "videoElement", "videoSrc", "videoStreamTrack", "setVideoStreamTrack", "useState", "undefined", "hadRun", "useRef", "useEffect", "current", "addEventListener", "stream", "captureStream", "track", "getTracks", "onaddtrack", "event", "kind", "src", "useEffect", "useState", "scheduleTask", "Context", "useInaudibleAudioStreamTrack", "audioStreamTrack", "setAudioStreamTrack", "useState", "undefined", "useEffect", "ctx", "Context", "scheduleTask", "createInaudibleAudioStreamTrack", "dispose"]
7
+ }
@@ -1,4 +1,4 @@
1
- // packages/plugins/plugin-thread/src/meta.ts
1
+ // src/meta.ts
2
2
  var THREAD_PLUGIN = "dxos.org/plugin/thread";
3
3
  var THREAD_ITEM = `${THREAD_PLUGIN}/item`;
4
4
  var meta = {
@@ -14,4 +14,4 @@ export {
14
14
  THREAD_ITEM,
15
15
  meta
16
16
  };
17
- //# sourceMappingURL=chunk-IIUTBDVB.mjs.map
17
+ //# sourceMappingURL=chunk-EV4JWI7L.mjs.map
@@ -1,4 +1,4 @@
1
- // packages/plugins/plugin-thread/src/util.ts
1
+ // src/util.ts
2
2
  import { Match } from "effect";
3
3
  import { generateName } from "@dxos/display-name";
4
4
  import { hexToFallback } from "@dxos/util";
@@ -28,4 +28,4 @@ export {
28
28
  getMessageMetadata,
29
29
  getAnchor
30
30
  };
31
- //# sourceMappingURL=chunk-JKQUJOTX.mjs.map
31
+ //# sourceMappingURL=chunk-GERVMFQW.mjs.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  THREAD_PLUGIN
3
- } from "./chunk-IIUTBDVB.mjs";
3
+ } from "./chunk-EV4JWI7L.mjs";
4
4
 
5
- // packages/plugins/plugin-thread/src/types/schema.ts
5
+ // src/types/schema.ts
6
6
  import { Schema } from "effect";
7
7
  import { Type } from "@dxos/echo";
8
8
  import { DataType } from "@dxos/schema";
@@ -27,7 +27,7 @@ var _ChannelType = Schema.Struct({
27
27
  }));
28
28
  var ChannelType = _ChannelType;
29
29
 
30
- // packages/plugins/plugin-thread/src/types/types.ts
30
+ // src/types/types.ts
31
31
  import { Schema as Schema2 } from "effect";
32
32
  import { Type as Type2 } from "@dxos/echo";
33
33
  import { EchoObjectSchema } from "@dxos/react-client/echo";
@@ -125,4 +125,4 @@ export {
125
125
  ThreadSettingsSchema,
126
126
  ThreadAction
127
127
  };
128
- //# sourceMappingURL=chunk-AEXWNS6Z.mjs.map
128
+ //# sourceMappingURL=chunk-JVIKVYTI.mjs.map
@@ -1,22 +1,23 @@
1
1
  import {
2
2
  ThreadCapabilities
3
- } from "./chunk-R5MDLUPC.mjs";
3
+ } from "./chunk-LGSDKXPF.mjs";
4
4
  import {
5
5
  ChatContainer_default
6
- } from "./chunk-TAFSCSUR.mjs";
6
+ } from "./chunk-NCSFNWBZ.mjs";
7
7
  import {
8
8
  useDebugMode
9
- } from "./chunk-5P5BH5GE.mjs";
9
+ } from "./chunk-ERWASUQK.mjs";
10
10
  import {
11
- THREAD_PLUGIN
12
- } from "./chunk-IIUTBDVB.mjs";
11
+ meta
12
+ } from "./chunk-EV4JWI7L.mjs";
13
13
 
14
- // packages/plugins/plugin-thread/src/components/ChannelContainer.tsx
14
+ // src/components/ChannelContainer.tsx
15
15
  import { useSignals as _useSignals10 } from "@preact-signals/safe-react/tracking";
16
16
  import { Rx } from "@effect-rx/rx-react";
17
17
  import React10, { useCallback as useCallback2, useEffect as useEffect6, useMemo as useMemo4, useState as useState4 } from "react";
18
18
  import { useCapabilities, useCapability as useCapability4 } from "@dxos/app-framework";
19
19
  import { Context } from "@dxos/context";
20
+ import { failUndefined } from "@dxos/debug";
20
21
  import { log } from "@dxos/log";
21
22
  import { useClient } from "@dxos/react-client";
22
23
  import { fullyQualifiedId as fullyQualifiedId2, getSpace } from "@dxos/react-client/echo";
@@ -27,12 +28,12 @@ import { ToolbarMenu, MenuProvider, createMenuAction, useMenuActions, createMenu
27
28
  import { useSoundEffect } from "@dxos/react-ui-sfx";
28
29
  import { StackItem } from "@dxos/react-ui-stack";
29
30
 
30
- // packages/plugins/plugin-thread/src/components/Call/Call.tsx
31
+ // src/components/Call/Call.tsx
31
32
  import { useSignals as _useSignals9 } from "@preact-signals/safe-react/tracking";
32
33
  import React9 from "react";
33
34
  import { useCapability as useCapability3 } from "@dxos/app-framework";
34
35
 
35
- // packages/plugins/plugin-thread/src/components/Call/Toolbar.tsx
36
+ // src/components/Call/Toolbar.tsx
36
37
  import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
37
38
  import React from "react";
38
39
  import { useAppGraph, useCapability } from "@dxos/app-framework";
@@ -43,7 +44,7 @@ import { groupHoverControlItemWithTransition, mx } from "@dxos/react-ui-theme";
43
44
  var Toolbar = ({ classNames, channel, participants, autoHideControls = true, onJoin, onLeave }) => {
44
45
  var _effect = _useSignals();
45
46
  try {
46
- const { t } = useTranslation(THREAD_PLUGIN);
47
+ const { t } = useTranslation(meta.id);
47
48
  const { graph } = useAppGraph();
48
49
  const call = useCapability(ThreadCapabilities.CallManager);
49
50
  const node = useNode(graph, channel && fullyQualifiedId(channel));
@@ -174,7 +175,7 @@ var ToggleButton = ({ active, state }) => {
174
175
  }
175
176
  };
176
177
 
177
- // packages/plugins/plugin-thread/src/components/Media/AudioStream.tsx
178
+ // src/components/Media/AudioStream.tsx
178
179
  import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
179
180
  import React2, { useEffect, useRef } from "react";
180
181
  var AudioStream = ({ tracks }) => {
@@ -230,7 +231,7 @@ var AudioTrack = ({ track, mediaStream, resetSrcObject }) => {
230
231
  return null;
231
232
  };
232
233
 
233
- // packages/plugins/plugin-thread/src/components/Media/VideoObject.tsx
234
+ // src/components/Media/VideoObject.tsx
234
235
  import { useSignals as _useSignals3 } from "@preact-signals/safe-react/tracking";
235
236
  import React3, { forwardRef, memo, useEffect as useEffect2, useRef as useRef2 } from "react";
236
237
  import { mx as mx2 } from "@dxos/react-ui-theme";
@@ -270,12 +271,12 @@ var VideoObject = /* @__PURE__ */ memo(/* @__PURE__ */ forwardRef(({ videoStream
270
271
  }));
271
272
  VideoObject.displayName = "VideoObject";
272
273
 
273
- // packages/plugins/plugin-thread/src/components/Participant/Participant.tsx
274
+ // src/components/Participant/Participant.tsx
274
275
  import { useSignals as _useSignals7 } from "@preact-signals/safe-react/tracking";
275
276
  import React7, { memo as memo2, useMemo as useMemo2 } from "react";
276
277
  import { useCapability as useCapability2 } from "@dxos/app-framework";
277
278
 
278
- // packages/plugins/plugin-thread/src/components/ResponsiveGrid/ResponsiveContainer.tsx
279
+ // src/components/ResponsiveGrid/ResponsiveContainer.tsx
279
280
  import { useSignals as _useSignals4 } from "@preact-signals/safe-react/tracking";
280
281
  import React4 from "react";
281
282
  import { mx as mx3 } from "@dxos/react-ui-theme";
@@ -300,13 +301,13 @@ var ResponsiveContainer = ({ children }) => {
300
301
  }
301
302
  };
302
303
 
303
- // packages/plugins/plugin-thread/src/components/ResponsiveGrid/ResponsiveGrid.tsx
304
+ // src/components/ResponsiveGrid/ResponsiveGrid.tsx
304
305
  import { useSignals as _useSignals5 } from "@preact-signals/safe-react/tracking";
305
306
  import React5, { useLayoutEffect, useState, useEffect as useEffect3, useMemo, useCallback } from "react";
306
307
  import { useResizeDetector } from "react-resize-detector";
307
308
  import { invariant } from "@dxos/invariant";
308
309
  import { mx as mx4 } from "@dxos/react-ui-theme";
309
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-thread/src/components/ResponsiveGrid/ResponsiveGrid.tsx";
310
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/components/ResponsiveGrid/ResponsiveGrid.tsx";
310
311
  var ASPECT_RATIO = 16 / 9;
311
312
  var MIN_GALLERY_HEIGHT = 250;
312
313
  var DEFAULT_GAP = 8;
@@ -529,7 +530,7 @@ var fitAspectRatio = (outerWidth, outerHeight, aspectRatio) => {
529
530
  };
530
531
  };
531
532
 
532
- // packages/plugins/plugin-thread/src/components/ResponsiveGrid/ResponsiveGridItem.tsx
533
+ // src/components/ResponsiveGrid/ResponsiveGridItem.tsx
533
534
  import { useSignals as _useSignals6 } from "@preact-signals/safe-react/tracking";
534
535
  import React6, { useEffect as useEffect4, useState as useState2 } from "react";
535
536
  import { Icon as Icon2, IconButton as IconButton2, useTranslation as useTranslation2 } from "@dxos/react-ui";
@@ -538,7 +539,7 @@ import { groupHoverControlItemWithTransition as groupHoverControlItemWithTransit
538
539
  var ResponsiveGridItem = ({ children, classNames, item, style, name, self, pinned, screenshare, video, mute, wave, speaking, onClick }) => {
539
540
  var _effect = _useSignals6();
540
541
  try {
541
- const { t } = useTranslation2(THREAD_PLUGIN);
542
+ const { t } = useTranslation2(meta.id);
542
543
  const iconProps = {
543
544
  wave: {
544
545
  icon: "ph--hand-waving--duotone",
@@ -600,7 +601,7 @@ var ResponsiveGridItem = ({ children, classNames, item, style, name, self, pinne
600
601
  }
601
602
  };
602
603
 
603
- // packages/plugins/plugin-thread/src/components/Participant/Participant.tsx
604
+ // src/components/Participant/Participant.tsx
604
605
  var SCREENSHARE_SUFFIX = "_screenshare";
605
606
  var Participant = /* @__PURE__ */ memo2(({ item: user, debug, ...props }) => {
606
607
  var _effect = _useSignals7();
@@ -647,7 +648,7 @@ var Participant = /* @__PURE__ */ memo2(({ item: user, debug, ...props }) => {
647
648
  });
648
649
  Participant.displayName = "Participant";
649
650
 
650
- // packages/plugins/plugin-thread/src/components/Participant/ParticipantGrid.tsx
651
+ // src/components/Participant/ParticipantGrid.tsx
651
652
  import { useSignals as _useSignals8 } from "@preact-signals/safe-react/tracking";
652
653
  import React8, { useEffect as useEffect5, useMemo as useMemo3, useState as useState3 } from "react";
653
654
  var getId = (user) => user.id;
@@ -721,7 +722,7 @@ var ParticipantGrid = ({ classNames, self, users, fullscreen, debug }) => {
721
722
  }
722
723
  };
723
724
 
724
- // packages/plugins/plugin-thread/src/components/Call/Call.tsx
725
+ // src/components/Call/Call.tsx
725
726
  var CallRoot = ({ children }) => {
726
727
  var _effect = _useSignals9();
727
728
  try {
@@ -738,7 +739,7 @@ var CallAudio = () => {
738
739
  try {
739
740
  const call = useCapability3(ThreadCapabilities.CallManager);
740
741
  return /* @__PURE__ */ React9.createElement(AudioStream, {
741
- tracks: call.pulledAudioTracks
742
+ tracks: call.audioTracksToPlay
742
743
  });
743
744
  } finally {
744
745
  _effect.f();
@@ -784,14 +785,14 @@ var Call = {
784
785
  Toolbar: CallToolbar
785
786
  };
786
787
 
787
- // packages/plugins/plugin-thread/src/components/ChannelContainer.tsx
788
- var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-thread/src/components/ChannelContainer.tsx";
788
+ // src/components/ChannelContainer.tsx
789
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/components/ChannelContainer.tsx";
789
790
  var ChannelContainer = ({ channel, roomId: _roomId, role, fullscreen }) => {
790
791
  var _effect = _useSignals10();
791
792
  try {
792
793
  const space = getSpace(channel);
793
794
  const callManager = useCapability4(ThreadCapabilities.CallManager);
794
- const roomId = channel ? fullyQualifiedId2(channel) : _roomId;
795
+ const roomId = _roomId ?? (channel ? fullyQualifiedId2(channel) : failUndefined());
795
796
  const identity = useIdentity();
796
797
  const isNamed = !!identity?.profile?.displayName;
797
798
  const joinSound = useSoundEffect("JoinCall");
@@ -800,7 +801,7 @@ var ChannelContainer = ({ channel, roomId: _roomId, role, fullscreen }) => {
800
801
  useEffect6(() => {
801
802
  const ctx = new Context(void 0, {
802
803
  F: __dxlog_file2,
803
- L: 47
804
+ L: 48
804
805
  });
805
806
  callManager.left.on(ctx, (roomId2) => {
806
807
  extensions.forEach((extension) => {
@@ -842,7 +843,7 @@ var ChannelContainer = ({ channel, roomId: _roomId, role, fullscreen }) => {
842
843
  } catch (err) {
843
844
  log.catch(err, void 0, {
844
845
  F: __dxlog_file2,
845
- L: 91,
846
+ L: 92,
846
847
  S: void 0,
847
848
  C: (f, a) => f(...a)
848
849
  });
@@ -858,7 +859,7 @@ var ChannelContainer = ({ channel, roomId: _roomId, role, fullscreen }) => {
858
859
  } catch (err) {
859
860
  log.catch(err, void 0, {
860
861
  F: __dxlog_file2,
861
- L: 103,
862
+ L: 104,
862
863
  S: void 0,
863
864
  C: (f, a) => f(...a)
864
865
  });
@@ -897,7 +898,7 @@ var ChannelContainer_default = ChannelContainer;
897
898
  var DisplayNameMissing = () => {
898
899
  var _effect = _useSignals10();
899
900
  try {
900
- const { t } = useTranslation3(THREAD_PLUGIN);
901
+ const { t } = useTranslation3(meta.id);
901
902
  const client = useClient();
902
903
  const [displayName, setDisplayName] = useState4("");
903
904
  const handleChange = useCallback2((event) => setDisplayName(event.target.value), []);
@@ -933,7 +934,7 @@ var useChannelToolbarActions = (onJoinCall) => {
933
934
  label: [
934
935
  "channel toolbar title",
935
936
  {
936
- ns: THREAD_PLUGIN
937
+ ns: meta.id
937
938
  }
938
939
  ]
939
940
  }),
@@ -941,7 +942,7 @@ var useChannelToolbarActions = (onJoinCall) => {
941
942
  label: [
942
943
  "start video call label",
943
944
  {
944
- ns: THREAD_PLUGIN
945
+ ns: meta.id
945
946
  }
946
947
  ],
947
948
  icon: "ph--video-camera--regular",
@@ -980,4 +981,4 @@ export {
980
981
  ChannelContainer,
981
982
  ChannelContainer_default
982
983
  };
983
- //# sourceMappingURL=chunk-XZKBN3NS.mjs.map
984
+ //# sourceMappingURL=chunk-LCJD3NOB.mjs.map