@dxos/plugin-thread 0.8.2-main.fbd8ed0 → 0.8.2-staging.4d6ad0f

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 (385) hide show
  1. package/dist/lib/browser/ChannelContainer-XFNGSLHL.mjs +15 -0
  2. package/dist/lib/browser/ChatContainer-JWRI73OG.mjs +14 -0
  3. package/dist/lib/browser/app-graph-builder-K3CFBN7V.mjs +171 -0
  4. package/dist/lib/browser/app-graph-builder-K3CFBN7V.mjs.map +7 -0
  5. package/dist/lib/browser/call-manager-I4IKVCAK.mjs +23 -0
  6. package/dist/lib/browser/call-manager-I4IKVCAK.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-32EIWOAL.mjs → chunk-5P5BH5GE.mjs} +57 -35
  8. package/dist/lib/browser/chunk-5P5BH5GE.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-5PGLGDIP.mjs +983 -0
  10. package/dist/lib/browser/chunk-5PGLGDIP.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-G3TS64FP.mjs +351 -0
  12. package/dist/lib/browser/chunk-G3TS64FP.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-WBJLUUOK.mjs → chunk-IIUTBDVB.mjs} +4 -4
  14. package/dist/lib/browser/chunk-IIUTBDVB.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-IYY42OE2.mjs +545 -0
  16. package/dist/lib/browser/chunk-IYY42OE2.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-JKQUJOTX.mjs +31 -0
  18. package/dist/lib/browser/chunk-JKQUJOTX.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-N2V6MV6B.mjs +21 -0
  20. package/dist/lib/browser/chunk-N2V6MV6B.mjs.map +7 -0
  21. package/dist/lib/browser/{chunk-EP6MRLY7.mjs → chunk-R5MDLUPC.mjs} +5 -3
  22. package/dist/lib/browser/chunk-R5MDLUPC.mjs.map +7 -0
  23. package/dist/lib/browser/chunk-RJGJXXWK.mjs +1708 -0
  24. package/dist/lib/browser/chunk-RJGJXXWK.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-WDOQXTI2.mjs +126 -0
  26. package/dist/lib/browser/chunk-WDOQXTI2.mjs.map +7 -0
  27. package/dist/lib/browser/index.mjs +101 -35
  28. package/dist/lib/browser/index.mjs.map +4 -4
  29. package/dist/lib/browser/{intent-resolver-PDOLX5B7.mjs → intent-resolver-YUYZCTLF.mjs} +95 -62
  30. package/dist/lib/browser/intent-resolver-YUYZCTLF.mjs.map +7 -0
  31. package/dist/lib/browser/markdown-4EC3OCF2.mjs +169 -0
  32. package/dist/lib/browser/markdown-4EC3OCF2.mjs.map +7 -0
  33. package/dist/lib/browser/meta.json +1 -1
  34. package/dist/lib/browser/react-root-YYDCVHGL.mjs +27 -0
  35. package/dist/lib/browser/react-root-YYDCVHGL.mjs.map +7 -0
  36. package/dist/lib/browser/react-surface-MEYBFPBC.mjs +108 -0
  37. package/dist/lib/browser/react-surface-MEYBFPBC.mjs.map +7 -0
  38. package/dist/lib/browser/{settings-K56QXNJ4.mjs → settings-KVBQQSO5.mjs} +3 -3
  39. package/dist/lib/browser/{state-KBGI3QTR.mjs → state-RKL5MSDP.mjs} +4 -4
  40. package/dist/lib/browser/{state-KBGI3QTR.mjs.map → state-RKL5MSDP.mjs.map} +3 -3
  41. package/dist/lib/browser/types/index.mjs +16 -0
  42. package/dist/lib/browser/types/index.mjs.map +7 -0
  43. package/dist/lib/node/ChannelContainer-F24RHJPX.cjs +36 -0
  44. package/dist/lib/node/ChannelContainer-F24RHJPX.cjs.map +7 -0
  45. package/dist/lib/node/ChatContainer-EE3FPSYO.cjs +35 -0
  46. package/dist/lib/node/ChatContainer-EE3FPSYO.cjs.map +7 -0
  47. package/dist/lib/node/app-graph-builder-IRE3GYKE.cjs +179 -0
  48. package/dist/lib/node/app-graph-builder-IRE3GYKE.cjs.map +7 -0
  49. package/dist/lib/node/call-manager-FZ4OMTB6.cjs +37 -0
  50. package/dist/lib/node/call-manager-FZ4OMTB6.cjs.map +7 -0
  51. package/dist/lib/node/chunk-4B3PPXA6.cjs +371 -0
  52. package/dist/lib/node/chunk-4B3PPXA6.cjs.map +7 -0
  53. package/dist/lib/node/{chunk-NQ5DTPOY.cjs → chunk-4YSNVPWU.cjs} +10 -8
  54. package/dist/lib/node/chunk-4YSNVPWU.cjs.map +7 -0
  55. package/dist/lib/node/chunk-6B3M6XRE.cjs +984 -0
  56. package/dist/lib/node/chunk-6B3M6XRE.cjs.map +7 -0
  57. package/dist/lib/node/chunk-AUIU6JGD.cjs +549 -0
  58. package/dist/lib/node/chunk-AUIU6JGD.cjs.map +7 -0
  59. package/dist/lib/node/chunk-ECIVLX56.cjs +1731 -0
  60. package/dist/lib/node/chunk-ECIVLX56.cjs.map +7 -0
  61. package/dist/lib/node/{chunk-AZ275P4V.cjs → chunk-EYAUPLHT.cjs} +16 -10
  62. package/dist/lib/node/chunk-EYAUPLHT.cjs.map +7 -0
  63. package/dist/lib/node/{chunk-NO6WQR36.cjs → chunk-FUXJAVFZ.cjs} +50 -29
  64. package/dist/lib/node/chunk-FUXJAVFZ.cjs.map +7 -0
  65. package/dist/lib/node/{chunk-ONLWOUYZ.cjs → chunk-HLMCEE5K.cjs} +7 -7
  66. package/dist/lib/node/{chunk-ONLWOUYZ.cjs.map → chunk-HLMCEE5K.cjs.map} +2 -2
  67. package/dist/lib/node/chunk-LR5NENBE.cjs +54 -0
  68. package/dist/lib/node/chunk-LR5NENBE.cjs.map +7 -0
  69. package/dist/lib/node/chunk-TKHJVC2C.cjs +147 -0
  70. package/dist/lib/node/chunk-TKHJVC2C.cjs.map +7 -0
  71. package/dist/lib/node/index.cjs +136 -74
  72. package/dist/lib/node/index.cjs.map +4 -4
  73. package/dist/lib/node/{intent-resolver-MNTL32W2.cjs → intent-resolver-MZ3HADNY.cjs} +107 -76
  74. package/dist/lib/node/intent-resolver-MZ3HADNY.cjs.map +7 -0
  75. package/dist/lib/node/markdown-NJDPXIKD.cjs +178 -0
  76. package/dist/lib/node/markdown-NJDPXIKD.cjs.map +7 -0
  77. package/dist/lib/node/meta.json +1 -1
  78. package/dist/lib/node/react-root-HQDBRGD3.cjs +51 -0
  79. package/dist/lib/node/react-root-HQDBRGD3.cjs.map +7 -0
  80. package/dist/lib/node/react-surface-KY5KFKVQ.cjs +122 -0
  81. package/dist/lib/node/react-surface-KY5KFKVQ.cjs.map +7 -0
  82. package/dist/lib/node/{settings-4WLSO726.cjs → settings-H45P5YO2.cjs} +8 -8
  83. package/dist/lib/node/{state-FOHMAVSU.cjs → state-IY5XX3H2.cjs} +8 -8
  84. package/dist/lib/node/{state-FOHMAVSU.cjs.map → state-IY5XX3H2.cjs.map} +3 -3
  85. package/dist/lib/node/{types.cjs → types/index.cjs} +12 -6
  86. package/dist/lib/node/types/index.cjs.map +7 -0
  87. package/dist/lib/node-esm/ChannelContainer-AOXWXM53.mjs +16 -0
  88. package/dist/lib/node-esm/ChannelContainer-AOXWXM53.mjs.map +7 -0
  89. package/dist/lib/node-esm/ChatContainer-UJYPQMLV.mjs +15 -0
  90. package/dist/lib/node-esm/ChatContainer-UJYPQMLV.mjs.map +7 -0
  91. package/dist/lib/node-esm/app-graph-builder-I5VMPLE4.mjs +172 -0
  92. package/dist/lib/node-esm/app-graph-builder-I5VMPLE4.mjs.map +7 -0
  93. package/dist/lib/node-esm/call-manager-B3D3RK3R.mjs +24 -0
  94. package/dist/lib/node-esm/call-manager-B3D3RK3R.mjs.map +7 -0
  95. package/dist/lib/node-esm/chunk-CSO73XLB.mjs +546 -0
  96. package/dist/lib/node-esm/chunk-CSO73XLB.mjs.map +7 -0
  97. package/dist/lib/node-esm/{chunk-42F2DTMM.mjs → chunk-ESQC6SYE.mjs} +4 -4
  98. package/dist/lib/node-esm/chunk-ESQC6SYE.mjs.map +7 -0
  99. package/dist/lib/node-esm/chunk-J323VQ4P.mjs +127 -0
  100. package/dist/lib/node-esm/chunk-J323VQ4P.mjs.map +7 -0
  101. package/dist/lib/node-esm/chunk-JJLYSLLU.mjs +23 -0
  102. package/dist/lib/node-esm/chunk-JJLYSLLU.mjs.map +7 -0
  103. package/dist/lib/node-esm/{chunk-WLY2HMDB.mjs → chunk-K4KAUOKT.mjs} +5 -3
  104. package/dist/lib/node-esm/chunk-K4KAUOKT.mjs.map +7 -0
  105. package/dist/lib/node-esm/{chunk-IZWN4KAY.mjs → chunk-O3V45YJP.mjs} +57 -35
  106. package/dist/lib/node-esm/chunk-O3V45YJP.mjs.map +7 -0
  107. package/dist/lib/node-esm/chunk-PGRP3O4O.mjs +33 -0
  108. package/dist/lib/node-esm/chunk-PGRP3O4O.mjs.map +7 -0
  109. package/dist/lib/node-esm/chunk-POKXRTII.mjs +352 -0
  110. package/dist/lib/node-esm/chunk-POKXRTII.mjs.map +7 -0
  111. package/dist/lib/node-esm/chunk-WBNC7KMA.mjs +1710 -0
  112. package/dist/lib/node-esm/chunk-WBNC7KMA.mjs.map +7 -0
  113. package/dist/lib/node-esm/chunk-X6AUQDTE.mjs +984 -0
  114. package/dist/lib/node-esm/chunk-X6AUQDTE.mjs.map +7 -0
  115. package/dist/lib/node-esm/index.mjs +101 -35
  116. package/dist/lib/node-esm/index.mjs.map +4 -4
  117. package/dist/lib/node-esm/{intent-resolver-X2FNKFSK.mjs → intent-resolver-CU22OPAH.mjs} +95 -62
  118. package/dist/lib/node-esm/intent-resolver-CU22OPAH.mjs.map +7 -0
  119. package/dist/lib/node-esm/markdown-HRGGO7IA.mjs +170 -0
  120. package/dist/lib/node-esm/markdown-HRGGO7IA.mjs.map +7 -0
  121. package/dist/lib/node-esm/meta.json +1 -1
  122. package/dist/lib/node-esm/react-root-MKN5SK3G.mjs +28 -0
  123. package/dist/lib/node-esm/react-root-MKN5SK3G.mjs.map +7 -0
  124. package/dist/lib/node-esm/react-surface-J2C7CVX7.mjs +109 -0
  125. package/dist/lib/node-esm/react-surface-J2C7CVX7.mjs.map +7 -0
  126. package/dist/lib/node-esm/{settings-5UA6FBMW.mjs → settings-IJGUOU3F.mjs} +3 -3
  127. package/dist/lib/node-esm/{state-IRLEO2SB.mjs → state-6AUTNROZ.mjs} +4 -4
  128. package/dist/lib/node-esm/{state-IRLEO2SB.mjs.map → state-6AUTNROZ.mjs.map} +3 -3
  129. package/dist/lib/node-esm/types/index.mjs +17 -0
  130. package/dist/lib/node-esm/types/index.mjs.map +7 -0
  131. package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
  132. package/dist/types/src/calls/call-manager.d.ts +77 -0
  133. package/dist/types/src/calls/call-manager.d.ts.map +1 -0
  134. package/dist/types/src/calls/call-swarm-synchronizer.d.ts +66 -0
  135. package/dist/types/src/calls/call-swarm-synchronizer.d.ts.map +1 -0
  136. package/dist/types/src/calls/index.d.ts +7 -0
  137. package/dist/types/src/calls/index.d.ts.map +1 -0
  138. package/dist/types/src/calls/media-manager.d.ts +60 -0
  139. package/dist/types/src/calls/media-manager.d.ts.map +1 -0
  140. package/dist/types/src/calls/speaking-monitor.d.ts +24 -0
  141. package/dist/types/src/calls/speaking-monitor.d.ts.map +1 -0
  142. package/dist/types/src/calls/types.d.ts +45 -0
  143. package/dist/types/src/calls/types.d.ts.map +1 -0
  144. package/dist/types/src/calls/util/audio.d.ts +6 -0
  145. package/dist/types/src/calls/util/audio.d.ts.map +1 -0
  146. package/dist/types/src/calls/util/calls-service.d.ts +72 -0
  147. package/dist/types/src/calls/util/calls-service.d.ts.map +1 -0
  148. package/dist/types/src/calls/util/history-cache.d.ts +11 -0
  149. package/dist/types/src/calls/util/history-cache.d.ts.map +1 -0
  150. package/dist/types/src/calls/util/index.d.ts +5 -0
  151. package/dist/types/src/calls/util/index.d.ts.map +1 -0
  152. package/dist/types/src/calls/util/media.d.ts +6 -0
  153. package/dist/types/src/calls/util/media.d.ts.map +1 -0
  154. package/dist/types/src/calls/util/stub-media-streams.d.ts +18 -0
  155. package/dist/types/src/calls/util/stub-media-streams.d.ts.map +1 -0
  156. package/dist/types/src/calls/util/task-scheduling.d.ts +17 -0
  157. package/dist/types/src/calls/util/task-scheduling.d.ts.map +1 -0
  158. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  159. package/dist/types/src/capabilities/call-manager.d.ts +5 -0
  160. package/dist/types/src/capabilities/call-manager.d.ts.map +1 -0
  161. package/dist/types/src/capabilities/capabilities.d.ts +13 -1
  162. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  163. package/dist/types/src/capabilities/index.d.ts +5 -0
  164. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  165. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  166. package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
  167. package/dist/types/src/capabilities/react-root.d.ts +7 -0
  168. package/dist/types/src/capabilities/react-root.d.ts.map +1 -0
  169. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  170. package/dist/types/src/components/Call/Call.d.ts +17 -0
  171. package/dist/types/src/components/Call/Call.d.ts.map +1 -0
  172. package/dist/types/src/components/Call/Toolbar.d.ts +16 -0
  173. package/dist/types/src/components/Call/Toolbar.d.ts.map +1 -0
  174. package/dist/types/src/components/Call/index.d.ts +3 -0
  175. package/dist/types/src/components/Call/index.d.ts.map +1 -0
  176. package/dist/types/src/components/CallDebugPanel.d.ts +8 -0
  177. package/dist/types/src/components/CallDebugPanel.d.ts.map +1 -0
  178. package/dist/types/src/components/CallSidebar.d.ts +4 -0
  179. package/dist/types/src/components/CallSidebar.d.ts.map +1 -0
  180. package/dist/types/src/components/ChannelContainer.d.ts +14 -0
  181. package/dist/types/src/components/ChannelContainer.d.ts.map +1 -0
  182. package/dist/types/src/components/ChannelContainer.stories.d.ts +10 -0
  183. package/dist/types/src/components/ChannelContainer.stories.d.ts.map +1 -0
  184. package/dist/types/src/components/ChatContainer.d.ts +9 -7
  185. package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
  186. package/dist/types/src/components/CommentContainer.d.ts +11 -2
  187. package/dist/types/src/components/CommentContainer.d.ts.map +1 -1
  188. package/dist/types/src/components/Comments.stories.d.ts.map +1 -1
  189. package/dist/types/src/components/CommentsContainer.d.ts +5 -9
  190. package/dist/types/src/components/CommentsContainer.d.ts.map +1 -1
  191. package/dist/types/src/components/Lobby/Lobby.d.ts +15 -0
  192. package/dist/types/src/components/Lobby/Lobby.d.ts.map +1 -0
  193. package/dist/types/src/components/Lobby/index.d.ts +2 -0
  194. package/dist/types/src/components/Lobby/index.d.ts.map +1 -0
  195. package/dist/types/src/components/Media/AudioStream.d.ts +6 -0
  196. package/dist/types/src/components/Media/AudioStream.d.ts.map +1 -0
  197. package/dist/types/src/components/Media/VideoObject.d.ts +15 -0
  198. package/dist/types/src/components/Media/VideoObject.d.ts.map +1 -0
  199. package/dist/types/src/components/Media/VideoObject.stories.d.ts +8 -0
  200. package/dist/types/src/components/Media/VideoObject.stories.d.ts.map +1 -0
  201. package/dist/types/src/components/Media/index.d.ts +3 -0
  202. package/dist/types/src/components/Media/index.d.ts.map +1 -0
  203. package/dist/types/src/components/Participant/Participant.d.ts +6 -0
  204. package/dist/types/src/components/Participant/Participant.d.ts.map +1 -0
  205. package/dist/types/src/components/Participant/ParticipantGrid.d.ts +11 -0
  206. package/dist/types/src/components/Participant/ParticipantGrid.d.ts.map +1 -0
  207. package/dist/types/src/components/Participant/index.d.ts +3 -0
  208. package/dist/types/src/components/Participant/index.d.ts.map +1 -0
  209. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.d.ts +12 -0
  210. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.d.ts.map +1 -0
  211. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +10 -0
  212. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +1 -0
  213. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.d.ts +32 -0
  214. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.d.ts.map +1 -0
  215. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +23 -0
  216. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +1 -0
  217. package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts +21 -0
  218. package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts.map +1 -0
  219. package/dist/types/src/components/ResponsiveGrid/index.d.ts +4 -0
  220. package/dist/types/src/components/ResponsiveGrid/index.d.ts.map +1 -0
  221. package/dist/types/src/components/ThreadComplementary.d.ts.map +1 -1
  222. package/dist/types/src/components/index.d.ts +5 -1
  223. package/dist/types/src/components/index.d.ts.map +1 -1
  224. package/dist/types/src/components/testing.d.ts +14 -14
  225. package/dist/types/src/components/testing.d.ts.map +1 -1
  226. package/dist/types/src/extensions/threads.d.ts.map +1 -1
  227. package/dist/types/src/hooks/index.d.ts +2 -1
  228. package/dist/types/src/hooks/index.d.ts.map +1 -1
  229. package/dist/types/src/hooks/useDebugMode.d.ts +2 -0
  230. package/dist/types/src/hooks/useDebugMode.d.ts.map +1 -0
  231. package/dist/types/src/index.d.ts +1 -1
  232. package/dist/types/src/index.d.ts.map +1 -1
  233. package/dist/types/src/meta.d.ts.map +1 -1
  234. package/dist/types/src/peers.stories.d.ts +11 -0
  235. package/dist/types/src/peers.stories.d.ts.map +1 -0
  236. package/dist/types/src/testing/index.d.ts +2 -0
  237. package/dist/types/src/testing/index.d.ts.map +1 -0
  238. package/dist/types/src/testing/stories.d.ts +2 -0
  239. package/dist/types/src/testing/stories.d.ts.map +1 -0
  240. package/dist/types/src/translations.d.ts +34 -1
  241. package/dist/types/src/translations.d.ts.map +1 -1
  242. package/dist/types/src/types/index.d.ts +3 -0
  243. package/dist/types/src/types/index.d.ts.map +1 -0
  244. package/dist/types/src/types/schema.d.ts +317 -0
  245. package/dist/types/src/types/schema.d.ts.map +1 -0
  246. package/dist/types/src/types/types.d.ts +1015 -0
  247. package/dist/types/src/types/types.d.ts.map +1 -0
  248. package/dist/types/src/util.d.ts +2 -0
  249. package/dist/types/src/util.d.ts.map +1 -1
  250. package/package.json +54 -41
  251. package/src/ThreadPlugin.tsx +28 -9
  252. package/src/calls/call-manager.ts +242 -0
  253. package/src/calls/call-swarm-synchronizer.ts +350 -0
  254. package/src/calls/index.ts +10 -0
  255. package/src/calls/media-manager.ts +342 -0
  256. package/src/calls/speaking-monitor.ts +85 -0
  257. package/src/calls/types.ts +70 -0
  258. package/src/calls/util/audio.ts +58 -0
  259. package/src/calls/util/calls-service.ts +527 -0
  260. package/src/calls/util/history-cache.ts +27 -0
  261. package/src/calls/util/index.ts +8 -0
  262. package/src/calls/util/media.ts +52 -0
  263. package/src/calls/util/stub-media-streams.ts +73 -0
  264. package/src/calls/util/task-scheduling.ts +92 -0
  265. package/src/capabilities/app-graph-builder.ts +148 -12
  266. package/src/capabilities/call-manager.ts +19 -0
  267. package/src/capabilities/capabilities.ts +15 -1
  268. package/src/capabilities/index.ts +2 -0
  269. package/src/capabilities/intent-resolver.ts +69 -47
  270. package/src/capabilities/markdown.ts +51 -1
  271. package/src/capabilities/react-root.tsx +17 -0
  272. package/src/capabilities/react-surface.tsx +52 -27
  273. package/src/capabilities/state.ts +1 -1
  274. package/src/components/Call/Call.tsx +88 -0
  275. package/src/components/Call/Toolbar.tsx +182 -0
  276. package/src/components/Call/index.ts +6 -0
  277. package/src/components/CallDebugPanel.tsx +115 -0
  278. package/src/components/CallSidebar.tsx +17 -0
  279. package/src/components/ChannelContainer.stories.tsx +58 -0
  280. package/src/components/ChannelContainer.tsx +203 -0
  281. package/src/components/Chat.stories.tsx +6 -6
  282. package/src/components/ChatContainer.tsx +36 -24
  283. package/src/components/CommentContainer.tsx +31 -12
  284. package/src/components/Comments.stories.tsx +13 -11
  285. package/src/components/CommentsContainer.tsx +18 -28
  286. package/src/components/Lobby/Lobby.tsx +119 -0
  287. package/src/components/Lobby/index.ts +5 -0
  288. package/src/components/Media/AudioStream.tsx +67 -0
  289. package/src/components/Media/VideoObject.stories.tsx +52 -0
  290. package/src/components/Media/VideoObject.tsx +58 -0
  291. package/src/components/Media/index.ts +6 -0
  292. package/src/components/Participant/Participant.tsx +57 -0
  293. package/src/components/Participant/ParticipantGrid.tsx +88 -0
  294. package/src/components/Participant/index.ts +6 -0
  295. package/src/components/ResponsiveGrid/ResponsiveContainer.stories.tsx +54 -0
  296. package/src/components/ResponsiveGrid/ResponsiveContainer.tsx +31 -0
  297. package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +156 -0
  298. package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +341 -0
  299. package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +131 -0
  300. package/src/components/ResponsiveGrid/index.ts +7 -0
  301. package/src/components/ThreadComplementary.tsx +37 -42
  302. package/src/components/index.ts +4 -0
  303. package/src/components/testing.ts +2 -1
  304. package/src/extensions/threads.ts +42 -24
  305. package/src/hooks/index.ts +2 -1
  306. package/src/hooks/useDebugMode.ts +25 -0
  307. package/src/index.ts +1 -1
  308. package/src/meta.ts +4 -3
  309. package/src/peers.stories.tsx +189 -0
  310. package/src/testing/index.ts +5 -0
  311. package/src/testing/stories.ts +50 -0
  312. package/src/translations.ts +44 -3
  313. package/src/types/index.ts +6 -0
  314. package/src/types/schema.ts +29 -0
  315. package/src/{types.ts → types/types.ts} +24 -14
  316. package/src/typings/peermetrics-webrtc-stats.d.ts +30 -0
  317. package/src/util.ts +12 -0
  318. package/dist/lib/browser/ChatContainer-H4XTHM3A.mjs +0 -138
  319. package/dist/lib/browser/ChatContainer-H4XTHM3A.mjs.map +0 -7
  320. package/dist/lib/browser/app-graph-builder-V7UUHGUI.mjs +0 -44
  321. package/dist/lib/browser/app-graph-builder-V7UUHGUI.mjs.map +0 -7
  322. package/dist/lib/browser/chunk-32EIWOAL.mjs.map +0 -7
  323. package/dist/lib/browser/chunk-EP6MRLY7.mjs.map +0 -7
  324. package/dist/lib/browser/chunk-I3JK6CBS.mjs +0 -209
  325. package/dist/lib/browser/chunk-I3JK6CBS.mjs.map +0 -7
  326. package/dist/lib/browser/chunk-OO7PQPV5.mjs +0 -93
  327. package/dist/lib/browser/chunk-OO7PQPV5.mjs.map +0 -7
  328. package/dist/lib/browser/chunk-WBJLUUOK.mjs.map +0 -7
  329. package/dist/lib/browser/chunk-YRGWE35W.mjs +0 -17
  330. package/dist/lib/browser/chunk-YRGWE35W.mjs.map +0 -7
  331. package/dist/lib/browser/intent-resolver-PDOLX5B7.mjs.map +0 -7
  332. package/dist/lib/browser/markdown-XJJVUBDO.mjs +0 -111
  333. package/dist/lib/browser/markdown-XJJVUBDO.mjs.map +0 -7
  334. package/dist/lib/browser/react-surface-7DJZKIOK.mjs +0 -436
  335. package/dist/lib/browser/react-surface-7DJZKIOK.mjs.map +0 -7
  336. package/dist/lib/browser/types.mjs +0 -10
  337. package/dist/lib/node/ChatContainer-TUISUIY7.cjs +0 -163
  338. package/dist/lib/node/ChatContainer-TUISUIY7.cjs.map +0 -7
  339. package/dist/lib/node/app-graph-builder-MMM26FEH.cjs +0 -60
  340. package/dist/lib/node/app-graph-builder-MMM26FEH.cjs.map +0 -7
  341. package/dist/lib/node/chunk-AZ275P4V.cjs.map +0 -7
  342. package/dist/lib/node/chunk-ETDNE4Z6.cjs +0 -234
  343. package/dist/lib/node/chunk-ETDNE4Z6.cjs.map +0 -7
  344. package/dist/lib/node/chunk-GRMB5VRN.cjs +0 -113
  345. package/dist/lib/node/chunk-GRMB5VRN.cjs.map +0 -7
  346. package/dist/lib/node/chunk-NO6WQR36.cjs.map +0 -7
  347. package/dist/lib/node/chunk-NQ5DTPOY.cjs.map +0 -7
  348. package/dist/lib/node/intent-resolver-MNTL32W2.cjs.map +0 -7
  349. package/dist/lib/node/markdown-25NI6Q4Y.cjs +0 -121
  350. package/dist/lib/node/markdown-25NI6Q4Y.cjs.map +0 -7
  351. package/dist/lib/node/react-surface-KGUZJVRL.cjs +0 -438
  352. package/dist/lib/node/react-surface-KGUZJVRL.cjs.map +0 -7
  353. package/dist/lib/node/types.cjs.map +0 -7
  354. package/dist/lib/node-esm/ChatContainer-G7VTTRDN.mjs +0 -139
  355. package/dist/lib/node-esm/ChatContainer-G7VTTRDN.mjs.map +0 -7
  356. package/dist/lib/node-esm/app-graph-builder-QEFJ2KA4.mjs +0 -45
  357. package/dist/lib/node-esm/app-graph-builder-QEFJ2KA4.mjs.map +0 -7
  358. package/dist/lib/node-esm/chunk-42F2DTMM.mjs.map +0 -7
  359. package/dist/lib/node-esm/chunk-5XUQJWUG.mjs +0 -19
  360. package/dist/lib/node-esm/chunk-5XUQJWUG.mjs.map +0 -7
  361. package/dist/lib/node-esm/chunk-A7RLBTTZ.mjs +0 -94
  362. package/dist/lib/node-esm/chunk-A7RLBTTZ.mjs.map +0 -7
  363. package/dist/lib/node-esm/chunk-IZWN4KAY.mjs.map +0 -7
  364. package/dist/lib/node-esm/chunk-V7HLWNAO.mjs +0 -210
  365. package/dist/lib/node-esm/chunk-V7HLWNAO.mjs.map +0 -7
  366. package/dist/lib/node-esm/chunk-WLY2HMDB.mjs.map +0 -7
  367. package/dist/lib/node-esm/intent-resolver-X2FNKFSK.mjs.map +0 -7
  368. package/dist/lib/node-esm/markdown-2ERASVEO.mjs +0 -112
  369. package/dist/lib/node-esm/markdown-2ERASVEO.mjs.map +0 -7
  370. package/dist/lib/node-esm/react-surface-DLD2UJRM.mjs +0 -437
  371. package/dist/lib/node-esm/react-surface-DLD2UJRM.mjs.map +0 -7
  372. package/dist/lib/node-esm/types.mjs +0 -11
  373. package/dist/types/src/components/types.d.ts +0 -28
  374. package/dist/types/src/components/types.d.ts.map +0 -1
  375. package/dist/types/src/events.d.ts +0 -4
  376. package/dist/types/src/events.d.ts.map +0 -1
  377. package/dist/types/src/types.d.ts +0 -276
  378. package/dist/types/src/types.d.ts.map +0 -1
  379. package/src/components/types.ts +0 -32
  380. package/src/events.ts +0 -11
  381. /package/dist/lib/browser/{types.mjs.map → ChannelContainer-XFNGSLHL.mjs.map} +0 -0
  382. /package/dist/lib/{node-esm/types.mjs.map → browser/ChatContainer-JWRI73OG.mjs.map} +0 -0
  383. /package/dist/lib/browser/{settings-K56QXNJ4.mjs.map → settings-KVBQQSO5.mjs.map} +0 -0
  384. /package/dist/lib/node/{settings-4WLSO726.cjs.map → settings-H45P5YO2.cjs.map} +0 -0
  385. /package/dist/lib/node-esm/{settings-5UA6FBMW.mjs.map → settings-IJGUOU3F.mjs.map} +0 -0
@@ -1,45 +1,58 @@
1
+ import {
2
+ CALLS_URL,
3
+ CallManager,
4
+ CallSwarmSynchronizer,
5
+ CallsServicePeer,
6
+ MediaManager,
7
+ SpeakingMonitor,
8
+ TrackNameCodec,
9
+ codec,
10
+ createBlackCanvasStreamTrack,
11
+ createInaudibleAudioStreamTrack,
12
+ getDeviceList,
13
+ getScreenshare,
14
+ getUserMediaTrack,
15
+ monitorAudioLevel
16
+ } from "./chunk-RJGJXXWK.mjs";
17
+ import {
18
+ ChannelType,
19
+ ThreadAction,
20
+ ThreadType
21
+ } from "./chunk-WDOQXTI2.mjs";
1
22
  import {
2
23
  AppGraphBuilder,
24
+ CallManager as CallManager2,
3
25
  IntentResolver,
4
26
  Markdown,
27
+ ReactRoot,
5
28
  ReactSurface,
6
29
  ThreadState
7
- } from "./chunk-YRGWE35W.mjs";
30
+ } from "./chunk-N2V6MV6B.mjs";
8
31
  import {
9
32
  ThreadCapabilities
10
- } from "./chunk-EP6MRLY7.mjs";
33
+ } from "./chunk-R5MDLUPC.mjs";
11
34
  import {
35
+ useDebugMode,
12
36
  useOnEditAnalytics,
13
37
  useStatus
14
- } from "./chunk-32EIWOAL.mjs";
15
- import {
16
- ThreadAction
17
- } from "./chunk-OO7PQPV5.mjs";
38
+ } from "./chunk-5P5BH5GE.mjs";
18
39
  import {
19
40
  THREAD_ITEM,
20
41
  THREAD_PLUGIN,
21
42
  meta
22
- } from "./chunk-WBJLUUOK.mjs";
23
-
24
- // packages/plugins/plugin-thread/src/events.ts
25
- import { Events } from "@dxos/app-framework";
26
- var ThreadEvents;
27
- (function(ThreadEvents3) {
28
- ThreadEvents3.SetupActivity = Events.createStateEvent(`${THREAD_PLUGIN}/setup-activity`);
29
- })(ThreadEvents || (ThreadEvents = {}));
43
+ } from "./chunk-IIUTBDVB.mjs";
30
44
 
31
45
  // packages/plugins/plugin-thread/src/ThreadPlugin.tsx
32
- import { Capabilities, contributes, createIntent, defineModule, definePlugin, Events as Events2 } from "@dxos/app-framework";
46
+ import { Capabilities, contributes, createIntent, defineModule, definePlugin, Events } from "@dxos/app-framework";
33
47
  import { ClientCapabilities, ClientEvents } from "@dxos/plugin-client";
34
48
  import { MarkdownEvents } from "@dxos/plugin-markdown";
35
- import { SpaceCapabilities, ThreadEvents as ThreadEvents2 } from "@dxos/plugin-space";
36
- import { ChannelType as ChannelType2, defineObjectForm, ThreadType } from "@dxos/plugin-space/types";
49
+ import { SpaceCapabilities } from "@dxos/plugin-space";
50
+ import { defineObjectForm } from "@dxos/plugin-space/types";
37
51
  import { RefArray } from "@dxos/react-client/echo";
38
52
  import { translations as threadTranslations } from "@dxos/react-ui-thread";
39
- import { DataType } from "@dxos/schema";
53
+ import { AnchoredTo, DataType } from "@dxos/schema";
40
54
 
41
55
  // packages/plugins/plugin-thread/src/translations.ts
42
- import { ChannelType } from "@dxos/plugin-space/types";
43
56
  var translations_default = [
44
57
  {
45
58
  "en-US": {
@@ -48,7 +61,7 @@ var translations_default = [
48
61
  "object name placeholder": "New channel"
49
62
  },
50
63
  [THREAD_PLUGIN]: {
51
- "plugin name": "Threads",
64
+ "plugin name": "Chat",
52
65
  "channel title label": "Title",
53
66
  "message placeholder": "Reply\u2026",
54
67
  "activity message": "Processing\u2026",
@@ -73,7 +86,40 @@ var translations_default = [
73
86
  "open comments panel label": "Show Comments",
74
87
  "comments label": "Comments",
75
88
  "show all label": "All comments",
76
- "show unresolved label": "Unresolved only"
89
+ "show unresolved label": "Unresolved only",
90
+ "channel companion label": "Channel",
91
+ "call panel label": "Active Call",
92
+ "display name label": "Display name",
93
+ "display name description": "Set your display name before joining a meeting.",
94
+ "display name input placeholder": "Enter your name",
95
+ "set display name label": "Continue",
96
+ "call tab label": "Call",
97
+ "meeting status title": "Meeting",
98
+ "share meeting link label": "Share meeting",
99
+ "show webrtc stats title": "Detailed WebRTC Stats",
100
+ "meeting summary label": "Summary",
101
+ "summarize label": "Summarize",
102
+ "summarizing label": "Creating summary...",
103
+ "create summary message": "A summary doesn\u2019t exist for this meeting yet. Create one now?",
104
+ "join call": "Join",
105
+ "leave call": "Leave",
106
+ "lobby participants_zero": "No participants",
107
+ "lobby participants_one": "1 participant",
108
+ "lobby participants_other": "{{count}} participants",
109
+ "icon pin": "Pin video",
110
+ "icon unpin": "Unpin video",
111
+ "icon wave": "Waving",
112
+ "icon muted": "Muted",
113
+ "icon speaking": "Speaking",
114
+ "mic on": "Unmute",
115
+ "mic off": "Mute",
116
+ "camera on": "Turn camera on",
117
+ "camera off": "Turn camera off",
118
+ "camera off label": "Camera off",
119
+ "raise hand": "Raise hand",
120
+ "lower hand": "Lower hand",
121
+ "screenshare on": "Share screen",
122
+ "screenshare off": "Stop streaming"
77
123
  }
78
124
  }
79
125
  }
@@ -81,6 +127,11 @@ var translations_default = [
81
127
 
82
128
  // packages/plugins/plugin-thread/src/ThreadPlugin.tsx
83
129
  var ThreadPlugin = () => definePlugin(meta, [
130
+ defineModule({
131
+ id: `${meta.id}/module/call-manager`,
132
+ activatesOn: ClientEvents.ClientReady,
133
+ activate: CallManager2
134
+ }),
84
135
  // TODO(wittjosiah): Currently not used but leaving because there will likely be settings for threads again.
85
136
  // defineModule({
86
137
  // id: `${meta.id}/module/settings`,
@@ -92,12 +143,12 @@ var ThreadPlugin = () => definePlugin(meta, [
92
143
  // TODO(wittjosiah): Does not integrate with settings store.
93
144
  // Should this be a different event?
94
145
  // Should settings store be renamed to be more generic?
95
- activatesOn: Events2.SetupSettings,
146
+ activatesOn: Events.SetupSettings,
96
147
  activate: ThreadState
97
148
  }),
98
149
  defineModule({
99
150
  id: `${meta.id}/module/translations`,
100
- activatesOn: Events2.SetupTranslations,
151
+ activatesOn: Events.SetupTranslations,
101
152
  activate: () => contributes(Capabilities.Translations, [
102
153
  ...translations_default,
103
154
  ...threadTranslations
@@ -105,10 +156,10 @@ var ThreadPlugin = () => definePlugin(meta, [
105
156
  }),
106
157
  defineModule({
107
158
  id: `${meta.id}/module/metadata`,
108
- activatesOn: Events2.SetupMetadata,
159
+ activatesOn: Events.SetupMetadata,
109
160
  activate: () => [
110
161
  contributes(Capabilities.Metadata, {
111
- id: ChannelType2.typename,
162
+ id: ChannelType.typename,
112
163
  metadata: {
113
164
  icon: "ph--hash--regular"
114
165
  }
@@ -155,7 +206,7 @@ var ThreadPlugin = () => definePlugin(meta, [
155
206
  id: `${meta.id}/module/object-form`,
156
207
  activatesOn: ClientEvents.SetupSchema,
157
208
  activate: () => contributes(SpaceCapabilities.ObjectForm, defineObjectForm({
158
- objectSchema: ChannelType2,
209
+ objectSchema: ChannelType,
159
210
  getIntent: (_, options) => createIntent(ThreadAction.CreateChannel, {
160
211
  spaceId: options.space.id
161
212
  })
@@ -165,6 +216,7 @@ var ThreadPlugin = () => definePlugin(meta, [
165
216
  id: `${meta.id}/module/schema`,
166
217
  activatesOn: ClientEvents.SetupSchema,
167
218
  activate: () => contributes(ClientCapabilities.Schema, [
219
+ AnchoredTo,
168
220
  ThreadType,
169
221
  DataType.Message,
170
222
  DataType.MessageV1
@@ -182,34 +234,48 @@ var ThreadPlugin = () => definePlugin(meta, [
182
234
  activatesOn: MarkdownEvents.SetupExtensions,
183
235
  activate: Markdown
184
236
  }),
237
+ defineModule({
238
+ id: `${meta.id}/module/react-root`,
239
+ activatesOn: Events.Startup,
240
+ activate: ReactRoot
241
+ }),
185
242
  defineModule({
186
243
  id: `${meta.id}/module/react-surface`,
187
- activatesOn: Events2.SetupReactSurface,
188
- // TODO(wittjosiah): Should occur before the comments thread is loaded when surfaces activation is more granular.
189
- activatesBefore: [
190
- ThreadEvents2.SetupThread,
191
- ThreadEvents.SetupActivity
192
- ],
244
+ activatesOn: Events.SetupReactSurface,
193
245
  activate: ReactSurface
194
246
  }),
195
247
  defineModule({
196
248
  id: `${meta.id}/module/intent-resolver`,
197
- activatesOn: Events2.SetupIntentResolver,
249
+ activatesOn: Events.SetupIntentResolver,
198
250
  activate: IntentResolver
199
251
  }),
200
252
  defineModule({
201
253
  id: `${meta.id}/module/app-graph-builder`,
202
- activatesOn: Events2.SetupAppGraph,
254
+ activatesOn: Events.SetupAppGraph,
203
255
  activate: AppGraphBuilder
204
256
  })
205
257
  ]);
206
258
  export {
259
+ CALLS_URL,
260
+ CallManager,
261
+ CallSwarmSynchronizer,
262
+ CallsServicePeer,
263
+ MediaManager,
264
+ SpeakingMonitor,
207
265
  THREAD_ITEM,
208
266
  THREAD_PLUGIN,
209
267
  ThreadCapabilities,
210
- ThreadEvents,
211
268
  ThreadPlugin,
269
+ TrackNameCodec,
270
+ codec,
271
+ createBlackCanvasStreamTrack,
272
+ createInaudibleAudioStreamTrack,
273
+ getDeviceList,
274
+ getScreenshare,
275
+ getUserMediaTrack,
212
276
  meta,
277
+ monitorAudioLevel,
278
+ useDebugMode,
213
279
  useOnEditAnalytics,
214
280
  useStatus
215
281
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/events.ts", "../../../src/ThreadPlugin.tsx", "../../../src/translations.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Events } from '@dxos/app-framework';\n\nimport { THREAD_PLUGIN } from './meta';\n\nexport namespace ThreadEvents {\n export const SetupActivity = Events.createStateEvent(`${THREAD_PLUGIN}/setup-activity`);\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, defineModule, definePlugin, Events } from '@dxos/app-framework';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { MarkdownEvents } from '@dxos/plugin-markdown';\nimport { SpaceCapabilities, ThreadEvents } from '@dxos/plugin-space';\nimport { ChannelType, defineObjectForm, ThreadType } from '@dxos/plugin-space/types';\nimport { type AnyLiveObject, RefArray } from '@dxos/react-client/echo';\nimport { translations as threadTranslations } from '@dxos/react-ui-thread';\nimport { DataType } from '@dxos/schema';\n\nimport { AppGraphBuilder, IntentResolver, Markdown, ReactSurface, ThreadState } from './capabilities';\nimport { ThreadEvents as LocalThreadEvents } from './events';\nimport { meta, THREAD_ITEM } from './meta';\nimport translations from './translations';\nimport { ThreadAction } from './types';\n\n// TODO(Zan): Every instance of `cursor` should be replaced with `anchor`.\n// NOTE(burdon): Review/discuss CursorConverter semantics.\nexport const ThreadPlugin = () =>\n definePlugin(meta, [\n // TODO(wittjosiah): Currently not used but leaving because there will likely be settings for threads again.\n // defineModule({\n // id: `${meta.id}/module/settings`,\n // activatesOn: Events.SetupSettings,\n // activate: ThreadSettings,\n // }),\n defineModule({\n id: `${meta.id}/module/state`,\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: Events.SetupSettings,\n activate: ThreadState,\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, ...threadTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () => [\n contributes(Capabilities.Metadata, {\n id: ChannelType.typename,\n metadata: {\n icon: 'ph--hash--regular',\n },\n }),\n contributes(Capabilities.Metadata, {\n id: ThreadType.typename,\n metadata: {\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (thread: ThreadType) => await RefArray.loadAll(thread.messages ?? []),\n },\n }),\n contributes(Capabilities.Metadata, {\n id: DataType.Message.typename,\n metadata: {\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: (message: DataType.Message) => [], // loadObjectReferences(message, (message) => [...message.parts, message.context]),\n },\n }),\n contributes(Capabilities.Metadata, {\n id: THREAD_ITEM,\n metadata: {\n parse: (item: AnyLiveObject<any>, type: string) => {\n switch (type) {\n case 'node':\n return { id: item.id, label: item.title, data: item };\n case 'object':\n return item;\n case 'view-object':\n return { id: `${item.id}-view`, object: item };\n }\n },\n },\n }),\n ],\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: ChannelType,\n getIntent: (_, options) => createIntent(ThreadAction.CreateChannel, { spaceId: options.space.id }),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => contributes(ClientCapabilities.Schema, [ThreadType, DataType.Message, DataType.MessageV1]),\n }),\n defineModule({\n id: `${meta.id}/module/migration`,\n activatesOn: ClientEvents.SetupMigration,\n activate: () => contributes(ClientCapabilities.Migration, [DataType.MessageV1ToV2]),\n }),\n defineModule({\n id: `${meta.id}/module/markdown`,\n activatesOn: MarkdownEvents.SetupExtensions,\n activate: Markdown,\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the comments thread is loaded when surfaces activation is more granular.\n activatesBefore: [ThreadEvents.SetupThread, LocalThreadEvents.SetupActivity],\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n ]);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { ChannelType } from '@dxos/plugin-space/types';\n\nimport { THREAD_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [ChannelType.typename]: {\n 'typename label': 'Channel',\n 'object name placeholder': 'New channel',\n },\n [THREAD_PLUGIN]: {\n 'plugin name': 'Threads',\n 'channel title label': 'Title',\n 'message placeholder': 'Reply…',\n 'activity message': 'Processing…',\n 'anonymous label': 'Anonymous',\n 'delete message block label': 'Delete message block',\n 'detached thread label': 'Referenced content was removed',\n 'delete thread label': 'Delete thread',\n 'thread deleted label': 'You deleted a thread.',\n 'message deleted label': 'You deleted a message.',\n 'comments heading': 'Comments',\n 'chat heading': 'Chat',\n 'draft button': 'DRAFT',\n 'no comments title': 'Comments',\n 'no comments message':\n 'Click on the <commentIcon></commentIcon> button in the document toolbar to create a comment thread on the selected text.',\n 'toggle show resolved': 'Show resolved',\n 'unnamed object threads label': 'Threads',\n 'mark as resolved label': 'Mark as resolved',\n 'mark as unresolved label': 'Mark as unresolved',\n 'save message label': 'Save',\n 'edit message label': 'Edit',\n 'delete message label': 'Delete message',\n 'open comments panel label': 'Show Comments',\n 'comments label': 'Comments',\n 'show all label': 'All comments',\n 'show unresolved label': 'Unresolved only',\n },\n },\n },\n];\n"],
5
- "mappings": "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",
6
- "names": ["Events", "ThreadEvents", "SetupActivity", "Events", "createStateEvent", "THREAD_PLUGIN", "Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "ClientCapabilities", "ClientEvents", "MarkdownEvents", "SpaceCapabilities", "ThreadEvents", "ChannelType", "defineObjectForm", "ThreadType", "RefArray", "translations", "threadTranslations", "DataType", "ChannelType", "ChannelType", "typename", "THREAD_PLUGIN", "ThreadPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupSettings", "activate", "ThreadState", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "threadTranslations", "SetupMetadata", "Metadata", "ChannelType", "typename", "metadata", "icon", "ThreadType", "loadReferences", "thread", "RefArray", "loadAll", "messages", "DataType", "Message", "message", "THREAD_ITEM", "parse", "item", "type", "label", "title", "data", "object", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "getIntent", "_", "options", "createIntent", "ThreadAction", "CreateChannel", "spaceId", "space", "ClientCapabilities", "Schema", "MessageV1", "SetupMigration", "Migration", "MessageV1ToV2", "MarkdownEvents", "SetupExtensions", "Markdown", "SetupReactSurface", "activatesBefore", "ThreadEvents", "SetupThread", "LocalThreadEvents", "SetupActivity", "ReactSurface", "SetupIntentResolver", "IntentResolver", "SetupAppGraph", "AppGraphBuilder"]
3
+ "sources": ["../../../src/ThreadPlugin.tsx", "../../../src/translations.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, defineModule, definePlugin, Events } from '@dxos/app-framework';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { MarkdownEvents } from '@dxos/plugin-markdown';\nimport { SpaceCapabilities } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\nimport { type AnyLiveObject, RefArray } from '@dxos/react-client/echo';\nimport { translations as threadTranslations } from '@dxos/react-ui-thread';\nimport { AnchoredTo, DataType } from '@dxos/schema';\n\nimport {\n AppGraphBuilder,\n CallManager,\n IntentResolver,\n Markdown,\n ReactRoot,\n ReactSurface,\n ThreadState,\n} from './capabilities';\nimport { meta, THREAD_ITEM } from './meta';\nimport translations from './translations';\nimport { ChannelType, ThreadAction, ThreadType } from './types';\n\n// TODO(Zan): Every instance of `cursor` should be replaced with `anchor`.\n// NOTE(burdon): Review/discuss CursorConverter semantics.\n\n// TODO(wittjosiah): Rename to ChatPlugin.\n// TODO(wittjosiah): Enabling comments should likely be factored out of this plugin but depend on it's capabilities.\nexport const ThreadPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/call-manager`,\n activatesOn: ClientEvents.ClientReady,\n activate: CallManager,\n }),\n // TODO(wittjosiah): Currently not used but leaving because there will likely be settings for threads again.\n // defineModule({\n // id: `${meta.id}/module/settings`,\n // activatesOn: Events.SetupSettings,\n // activate: ThreadSettings,\n // }),\n defineModule({\n id: `${meta.id}/module/state`,\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: Events.SetupSettings,\n activate: ThreadState,\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, ...threadTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () => [\n contributes(Capabilities.Metadata, {\n id: ChannelType.typename,\n metadata: {\n icon: 'ph--hash--regular',\n },\n }),\n contributes(Capabilities.Metadata, {\n id: ThreadType.typename,\n metadata: {\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (thread: ThreadType) => await RefArray.loadAll(thread.messages ?? []),\n },\n }),\n contributes(Capabilities.Metadata, {\n id: DataType.Message.typename,\n metadata: {\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: (message: DataType.Message) => [], // loadObjectReferences(message, (message) => [...message.parts, message.context]),\n },\n }),\n contributes(Capabilities.Metadata, {\n id: THREAD_ITEM,\n metadata: {\n parse: (item: AnyLiveObject<any>, type: string) => {\n switch (type) {\n case 'node':\n return { id: item.id, label: item.title, data: item };\n case 'object':\n return item;\n case 'view-object':\n return { id: `${item.id}-view`, object: item };\n }\n },\n },\n }),\n ],\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: ChannelType,\n getIntent: (_, options) => createIntent(ThreadAction.CreateChannel, { spaceId: options.space.id }),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(ClientCapabilities.Schema, [AnchoredTo, ThreadType, DataType.Message, DataType.MessageV1]),\n }),\n defineModule({\n id: `${meta.id}/module/migration`,\n activatesOn: ClientEvents.SetupMigration,\n activate: () => contributes(ClientCapabilities.Migration, [DataType.MessageV1ToV2]),\n }),\n defineModule({\n id: `${meta.id}/module/markdown`,\n activatesOn: MarkdownEvents.SetupExtensions,\n activate: Markdown,\n }),\n defineModule({\n id: `${meta.id}/module/react-root`,\n activatesOn: Events.Startup,\n activate: ReactRoot,\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n ]);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { THREAD_PLUGIN } from './meta';\nimport { ChannelType } from './types';\n\nexport default [\n {\n 'en-US': {\n [ChannelType.typename]: {\n 'typename label': 'Channel',\n 'object name placeholder': 'New channel',\n },\n [THREAD_PLUGIN]: {\n 'plugin name': 'Chat',\n 'channel title label': 'Title',\n 'message placeholder': 'Reply…',\n 'activity message': 'Processing…',\n 'anonymous label': 'Anonymous',\n 'delete message block label': 'Delete message block',\n 'detached thread label': 'Referenced content was removed',\n 'delete thread label': 'Delete thread',\n 'thread deleted label': 'You deleted a thread.',\n 'message deleted label': 'You deleted a message.',\n 'comments heading': 'Comments',\n 'chat heading': 'Chat',\n 'draft button': 'DRAFT',\n 'no comments title': 'Comments',\n 'no comments message':\n 'Click on the <commentIcon></commentIcon> button in the document toolbar to create a comment thread on the selected text.',\n 'toggle show resolved': 'Show resolved',\n 'unnamed object threads label': 'Threads',\n 'mark as resolved label': 'Mark as resolved',\n 'mark as unresolved label': 'Mark as unresolved',\n 'save message label': 'Save',\n 'edit message label': 'Edit',\n 'delete message label': 'Delete message',\n 'open comments panel label': 'Show Comments',\n 'comments label': 'Comments',\n 'show all label': 'All comments',\n 'show unresolved label': 'Unresolved only',\n\n 'channel companion label': 'Channel',\n 'call panel label': 'Active Call',\n\n 'display name label': 'Display name',\n 'display name description': 'Set your display name before joining a meeting.',\n 'display name input placeholder': 'Enter your name',\n 'set display name label': 'Continue',\n\n 'call tab label': 'Call',\n 'meeting status title': 'Meeting',\n 'share meeting link label': 'Share meeting',\n 'show webrtc stats title': 'Detailed WebRTC Stats',\n\n 'meeting summary label': 'Summary',\n 'summarize label': 'Summarize',\n 'summarizing label': 'Creating summary...',\n 'create summary message': 'A summary doesn’t exist for this meeting yet. Create one now?',\n\n 'join call': 'Join',\n 'leave call': 'Leave',\n\n 'lobby participants_zero': 'No participants',\n 'lobby participants_one': '1 participant',\n 'lobby participants_other': '{{count}} participants',\n\n 'icon pin': 'Pin video',\n 'icon unpin': 'Unpin video',\n 'icon wave': 'Waving',\n 'icon muted': 'Muted',\n 'icon speaking': 'Speaking',\n\n 'mic on': 'Unmute',\n 'mic off': 'Mute',\n 'camera on': 'Turn camera on',\n 'camera off': 'Turn camera off',\n 'camera off label': 'Camera off',\n\n 'raise hand': 'Raise hand',\n 'lower hand': 'Lower hand',\n 'screenshare on': 'Share screen',\n 'screenshare off': 'Stop streaming',\n },\n },\n },\n];\n"],
5
+ "mappings": "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",
6
+ "names": ["Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "ClientCapabilities", "ClientEvents", "MarkdownEvents", "SpaceCapabilities", "defineObjectForm", "RefArray", "translations", "threadTranslations", "AnchoredTo", "DataType", "ChannelType", "typename", "THREAD_PLUGIN", "ThreadPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "ClientEvents", "ClientReady", "activate", "CallManager", "Events", "SetupSettings", "ThreadState", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "threadTranslations", "SetupMetadata", "Metadata", "ChannelType", "typename", "metadata", "icon", "ThreadType", "loadReferences", "thread", "RefArray", "loadAll", "messages", "DataType", "Message", "message", "THREAD_ITEM", "parse", "item", "type", "label", "title", "data", "object", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "getIntent", "_", "options", "createIntent", "ThreadAction", "CreateChannel", "spaceId", "space", "ClientCapabilities", "Schema", "AnchoredTo", "MessageV1", "SetupMigration", "Migration", "MessageV1ToV2", "MarkdownEvents", "SetupExtensions", "Markdown", "Startup", "ReactRoot", "SetupReactSurface", "ReactSurface", "SetupIntentResolver", "IntentResolver", "SetupAppGraph", "AppGraphBuilder"]
7
7
  }
@@ -1,75 +1,92 @@
1
1
  import {
2
- ThreadCapabilities
3
- } from "./chunk-EP6MRLY7.mjs";
2
+ ChannelType,
3
+ ThreadAction,
4
+ ThreadType
5
+ } from "./chunk-WDOQXTI2.mjs";
4
6
  import {
5
- ThreadAction
6
- } from "./chunk-OO7PQPV5.mjs";
7
+ ThreadCapabilities
8
+ } from "./chunk-R5MDLUPC.mjs";
7
9
  import {
8
10
  THREAD_PLUGIN
9
- } from "./chunk-WBJLUUOK.mjs";
11
+ } from "./chunk-IIUTBDVB.mjs";
10
12
 
11
13
  // packages/plugins/plugin-thread/src/capabilities/intent-resolver.ts
14
+ import { batch } from "@preact/signals-core";
12
15
  import { Capabilities, contributes, createIntent, createResolver } from "@dxos/app-framework";
13
- import { createQueueDxn, Ref } from "@dxos/echo-schema";
16
+ import { RelationSourceId, RelationTargetId } from "@dxos/echo-schema";
14
17
  import { invariant } from "@dxos/invariant";
15
- import { refFromDXN } from "@dxos/live-object";
16
- import { log } from "@dxos/log";
17
18
  import { ATTENDABLE_PATH_SEPARATOR, DeckAction } from "@dxos/plugin-deck/types";
18
19
  import { ObservabilityAction } from "@dxos/plugin-observability/types";
19
- import { ChannelType, ThreadType } from "@dxos/plugin-space/types";
20
- import { live, fullyQualifiedId, getSpace, makeRef } from "@dxos/react-client/echo";
21
- import { DataType } from "@dxos/schema";
20
+ import { SpaceAction } from "@dxos/plugin-space/types";
21
+ import { live, fullyQualifiedId, getSpace, Ref } from "@dxos/react-client/echo";
22
+ import { AnchoredTo, DataType } from "@dxos/schema";
22
23
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-thread/src/capabilities/intent-resolver.ts";
23
24
  var intent_resolver_default = (context) => contributes(Capabilities.IntentResolver, [
24
25
  createResolver({
25
26
  intent: ThreadAction.CreateChannel,
26
- resolve: ({ spaceId, name }) => ({
27
+ resolve: ({ name }) => ({
27
28
  data: {
28
29
  object: live(ChannelType, {
29
30
  name,
30
- queue: refFromDXN(createQueueDxn(spaceId))
31
+ defaultThread: Ref.make(live(ThreadType, {
32
+ messages: [],
33
+ status: "active"
34
+ })),
35
+ threads: []
31
36
  })
32
37
  }
33
38
  })
34
39
  }),
35
40
  createResolver({
36
- intent: ThreadAction.Create,
37
- resolve: ({ name, cursor, subject }) => {
38
- if (subject?.threads === void 0) {
39
- try {
40
- subject.threads = [];
41
- } catch (err) {
42
- log.error("Subject does not support threads array", {
43
- typename: subject?.typename
44
- }, {
45
- F: __dxlog_file,
46
- L: 42,
47
- S: void 0,
48
- C: (f, a) => f(...a)
49
- });
50
- return;
41
+ intent: ThreadAction.CreateChannelThread,
42
+ resolve: ({ channel }) => {
43
+ const thread = live(ThreadType, {
44
+ messages: [],
45
+ status: "active"
46
+ });
47
+ channel.threads.push(Ref.make(thread));
48
+ return {
49
+ data: {
50
+ object: thread
51
51
  }
52
- }
52
+ };
53
+ }
54
+ }),
55
+ // TODO(wittjosiah): Break this up into more composable pieces.
56
+ createResolver({
57
+ intent: ThreadAction.Create,
58
+ resolve: ({ name, anchor: _anchor, subject }) => {
59
+ const space = getSpace(subject);
60
+ invariant(space, "Space not found", {
61
+ F: __dxlog_file,
62
+ L: 51,
63
+ S: void 0,
64
+ A: [
65
+ "space",
66
+ "'Space not found'"
67
+ ]
68
+ });
53
69
  const { state } = context.getCapability(ThreadCapabilities.MutableState);
54
70
  const subjectId = fullyQualifiedId(subject);
55
71
  const thread = live(ThreadType, {
56
72
  name,
57
- anchor: cursor,
58
73
  messages: [],
59
74
  status: "staged"
60
75
  });
76
+ const anchor = live(AnchoredTo, {
77
+ [RelationSourceId]: thread,
78
+ [RelationTargetId]: subject,
79
+ anchor: _anchor
80
+ });
61
81
  const draft = state.drafts[subjectId];
62
82
  if (draft) {
63
- draft.push(thread);
83
+ draft.push(anchor);
64
84
  } else {
65
85
  state.drafts[subjectId] = [
66
- thread
86
+ anchor
67
87
  ];
68
88
  }
69
89
  return {
70
- data: {
71
- object: thread
72
- },
73
90
  intents: [
74
91
  createIntent(ThreadAction.Select, {
75
92
  current: fullyQualifiedId(thread)
@@ -100,7 +117,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
100
117
  const space = getSpace(thread);
101
118
  invariant(space, "Space not found", {
102
119
  F: __dxlog_file,
103
- L: 86,
120
+ L: 96,
104
121
  S: void 0,
105
122
  A: [
106
123
  "space",
@@ -123,28 +140,27 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
123
140
  }),
124
141
  createResolver({
125
142
  intent: ThreadAction.Delete,
126
- resolve: ({ subject, thread }, undo) => {
143
+ resolve: ({ subject, anchor, thread: _thread }, undo) => {
144
+ const thread = _thread ?? anchor[RelationSourceId];
127
145
  const { state } = context.getCapability(ThreadCapabilities.MutableState);
128
146
  const subjectId = fullyQualifiedId(subject);
129
147
  const draft = state.drafts[subjectId];
130
148
  if (draft) {
131
- const index = draft.findIndex((t) => t.id === thread.id);
149
+ const index = draft.findIndex((a) => a.id === anchor.id);
132
150
  if (index !== -1) {
133
151
  draft.splice(index, 1);
134
152
  return;
135
153
  }
136
154
  }
137
- const space = getSpace(thread);
138
- if (!space || !subject.threads) {
155
+ const space = getSpace(anchor);
156
+ if (!space) {
139
157
  return;
140
158
  }
141
159
  if (!undo) {
142
- const index = subject.threads.findIndex((t) => t?.id === thread.id);
143
- const cursor = subject.threads[index]?.anchor;
144
- if (index !== -1) {
145
- subject.threads?.splice(index, 1);
146
- }
147
- space.db.remove(thread);
160
+ batch(() => {
161
+ space.db.remove(thread);
162
+ space.db.remove(anchor);
163
+ });
148
164
  return {
149
165
  undoable: {
150
166
  message: [
@@ -154,7 +170,8 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
154
170
  }
155
171
  ],
156
172
  data: {
157
- cursor
173
+ thread,
174
+ anchor
158
175
  }
159
176
  },
160
177
  intents: [
@@ -168,8 +185,10 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
168
185
  ]
169
186
  };
170
187
  } else {
171
- const savedThread = space.db.add(thread);
172
- subject.threads.push(savedThread);
188
+ batch(() => {
189
+ space.db.add(thread);
190
+ space.db.add(anchor);
191
+ });
173
192
  return {
174
193
  intents: [
175
194
  createIntent(ObservabilityAction.SendEvent, {
@@ -186,13 +205,14 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
186
205
  }),
187
206
  createResolver({
188
207
  intent: ThreadAction.AddMessage,
189
- resolve: ({ thread, subject, sender, text }) => {
208
+ resolve: ({ anchor, subject, sender, text }) => {
209
+ const thread = anchor[RelationSourceId];
190
210
  const { state } = context.getCapability(ThreadCapabilities.MutableState);
191
211
  const subjectId = fullyQualifiedId(subject);
192
212
  const space = getSpace(subject);
193
213
  invariant(space, "Space not found", {
194
214
  F: __dxlog_file,
195
- L: 171,
215
+ L: 181,
196
216
  S: void 0,
197
217
  A: [
198
218
  "space",
@@ -210,13 +230,25 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
210
230
  }
211
231
  ]
212
232
  });
213
- thread.messages.push(makeRef(message));
214
- if (state.drafts[subjectId]?.find((t) => t === thread)) {
233
+ thread.messages.push(Ref.make(message));
234
+ const draft = state.drafts[subjectId]?.find((a) => a.id === anchor.id);
235
+ if (draft) {
215
236
  thread.status = "active";
216
- subject.threads ? subject.threads.push(makeRef(thread)) : subject.threads = [
217
- makeRef(thread)
218
- ];
219
- state.drafts[subjectId] = state.drafts[subjectId]?.filter(({ id }) => id !== thread.id);
237
+ state.drafts[subjectId] = state.drafts[subjectId]?.filter((a) => a.id !== anchor.id);
238
+ intents.push(createIntent(SpaceAction.AddObject, {
239
+ object: thread,
240
+ target: space,
241
+ hidden: true
242
+ }));
243
+ intents.push(createIntent(SpaceAction.AddRelation, {
244
+ space,
245
+ schema: AnchoredTo,
246
+ source: thread,
247
+ target: subject,
248
+ fields: {
249
+ anchor: draft.anchor
250
+ }
251
+ }));
220
252
  intents.push(createIntent(ObservabilityAction.SendEvent, {
221
253
  name: "threads.create",
222
254
  properties: {
@@ -242,11 +274,12 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
242
274
  }),
243
275
  createResolver({
244
276
  intent: ThreadAction.DeleteMessage,
245
- resolve: ({ subject, thread, messageId, message, messageIndex }, undo) => {
277
+ resolve: ({ subject, anchor, messageId, message, messageIndex }, undo) => {
278
+ const thread = anchor[RelationSourceId];
246
279
  const space = getSpace(subject);
247
280
  invariant(space, "Space not found", {
248
281
  F: __dxlog_file,
249
- L: 219,
282
+ L: 241,
250
283
  S: void 0,
251
284
  A: [
252
285
  "space",
@@ -264,7 +297,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
264
297
  intents: [
265
298
  createIntent(ThreadAction.Delete, {
266
299
  subject,
267
- thread
300
+ anchor
268
301
  })
269
302
  ]
270
303
  };
@@ -299,7 +332,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
299
332
  if (messageIndex === void 0 || !message) {
300
333
  return;
301
334
  }
302
- thread.messages.splice(messageIndex, 0, makeRef(message));
335
+ thread.messages.splice(messageIndex, 0, Ref.make(message));
303
336
  return {
304
337
  intents: [
305
338
  createIntent(ObservabilityAction.SendEvent, {
@@ -319,4 +352,4 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
319
352
  export {
320
353
  intent_resolver_default as default
321
354
  };
322
- //# sourceMappingURL=intent-resolver-PDOLX5B7.mjs.map
355
+ //# sourceMappingURL=intent-resolver-YUYZCTLF.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { batch } from '@preact/signals-core';\n\nimport { Capabilities, contributes, createIntent, createResolver, type PluginContext } from '@dxos/app-framework';\nimport { RelationSourceId, RelationTargetId } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { ATTENDABLE_PATH_SEPARATOR, DeckAction } from '@dxos/plugin-deck/types';\nimport { ObservabilityAction } from '@dxos/plugin-observability/types';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { live, fullyQualifiedId, getSpace, Ref } from '@dxos/react-client/echo';\nimport { AnchoredTo, DataType } from '@dxos/schema';\n\nimport { ThreadCapabilities } from './capabilities';\nimport { THREAD_PLUGIN } from '../meta';\nimport { ChannelType, ThreadAction, ThreadType } from '../types';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: ThreadAction.CreateChannel,\n resolve: ({ name }) => ({\n data: {\n object: live(ChannelType, {\n name,\n defaultThread: Ref.make(live(ThreadType, { messages: [], status: 'active' })),\n threads: [],\n }),\n },\n }),\n }),\n createResolver({\n intent: ThreadAction.CreateChannelThread,\n resolve: ({ channel }) => {\n const thread = live(ThreadType, { messages: [], status: 'active' });\n channel.threads.push(Ref.make(thread));\n return {\n data: {\n object: thread,\n },\n };\n },\n }),\n // TODO(wittjosiah): Break this up into more composable pieces.\n createResolver({\n intent: ThreadAction.Create,\n resolve: ({ name, anchor: _anchor, subject }) => {\n const space = getSpace(subject);\n invariant(space, 'Space not found');\n\n const { state } = context.getCapability(ThreadCapabilities.MutableState);\n const subjectId = fullyQualifiedId(subject);\n const thread = live(ThreadType, { name, messages: [], status: 'staged' });\n const anchor = live(AnchoredTo, {\n [RelationSourceId]: thread,\n [RelationTargetId]: subject,\n anchor: _anchor,\n });\n const draft = state.drafts[subjectId];\n if (draft) {\n draft.push(anchor);\n } else {\n state.drafts[subjectId] = [anchor];\n }\n\n return {\n intents: [\n createIntent(ThreadAction.Select, { current: fullyQualifiedId(thread) }),\n createIntent(DeckAction.ChangeCompanion, {\n primary: subjectId,\n companion: `${subjectId}${ATTENDABLE_PATH_SEPARATOR}comments`,\n }),\n ],\n };\n },\n }),\n createResolver({\n intent: ThreadAction.Select,\n resolve: ({ current }) => {\n const { state } = context.getCapability(ThreadCapabilities.MutableState);\n state.current = current;\n },\n }),\n createResolver({\n intent: ThreadAction.ToggleResolved,\n resolve: ({ thread }) => {\n if (thread.status === 'active' || thread.status === undefined) {\n thread.status = 'resolved';\n } else if (thread.status === 'resolved') {\n thread.status = 'active';\n }\n\n const space = getSpace(thread);\n invariant(space, 'Space not found');\n const spaceId = space.id;\n\n return {\n intents: [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'threads.toggle-resolved',\n properties: {\n spaceId,\n threadId: thread.id,\n },\n }),\n ],\n };\n },\n }),\n createResolver({\n intent: ThreadAction.Delete,\n resolve: ({ subject, anchor, thread: _thread }, undo) => {\n const thread = _thread ?? (anchor[RelationSourceId] as ThreadType);\n const { state } = context.getCapability(ThreadCapabilities.MutableState);\n const subjectId = fullyQualifiedId(subject);\n const draft = state.drafts[subjectId];\n if (draft) {\n // Check if we're deleting a draft; if so, remove it.\n const index = draft.findIndex((a) => a.id === anchor.id);\n if (index !== -1) {\n draft.splice(index, 1);\n return;\n }\n }\n\n const space = getSpace(anchor);\n if (!space) {\n return;\n }\n\n if (!undo) {\n batch(() => {\n space.db.remove(thread);\n space.db.remove(anchor);\n });\n\n return {\n undoable: {\n message: ['thread deleted label', { ns: THREAD_PLUGIN }],\n data: { thread, anchor },\n },\n intents: [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'threads.delete',\n properties: {\n spaceId: space.id,\n threadId: thread.id,\n },\n }),\n ],\n };\n } else {\n batch(() => {\n space.db.add(thread);\n space.db.add(anchor);\n });\n\n return {\n intents: [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'threads.undo-delete',\n properties: {\n spaceId: space.id,\n threadId: thread.id,\n },\n }),\n ],\n };\n }\n },\n }),\n createResolver({\n intent: ThreadAction.AddMessage,\n resolve: ({ anchor, subject, sender, text }) => {\n const thread = anchor[RelationSourceId] as ThreadType;\n const { state } = context.getCapability(ThreadCapabilities.MutableState);\n const subjectId = fullyQualifiedId(subject);\n const space = getSpace(subject);\n invariant(space, 'Space not found');\n const intents = [];\n\n const message = live(DataType.Message, {\n sender,\n created: new Date().toISOString(),\n blocks: [{ type: 'text', text }],\n // TODO(wittjosiah): Context based on attention.\n // context: context ? makeRef(context) : undefined,\n });\n thread.messages.push(Ref.make(message));\n\n const draft = state.drafts[subjectId]?.find((a) => a.id === anchor.id);\n if (draft) {\n // Move draft to document.\n thread.status = 'active';\n // TODO(wittjosiah): This causes the thread to flash as it transitions from draft to db.\n state.drafts[subjectId] = state.drafts[subjectId]?.filter((a) => a.id !== anchor.id);\n intents.push(createIntent(SpaceAction.AddObject, { object: thread, target: space, hidden: true }));\n intents.push(\n createIntent(SpaceAction.AddRelation, {\n space,\n schema: AnchoredTo,\n source: thread,\n target: subject,\n fields: { anchor: draft.anchor },\n }),\n );\n intents.push(\n createIntent(ObservabilityAction.SendEvent, {\n name: 'threads.create',\n properties: {\n spaceId: space.id,\n threadId: thread.id,\n },\n }),\n );\n }\n\n intents.push(\n createIntent(ObservabilityAction.SendEvent, {\n name: 'threads.message.add',\n properties: {\n spaceId: space.id,\n threadId: thread.id,\n threadLength: thread.messages.length,\n messageId: message.id,\n messageLength: text.length,\n },\n }),\n );\n\n return { intents };\n },\n }),\n createResolver({\n intent: ThreadAction.DeleteMessage,\n resolve: ({ subject, anchor, messageId, message, messageIndex }, undo) => {\n const thread = anchor[RelationSourceId] as ThreadType;\n const space = getSpace(subject);\n invariant(space, 'Space not found');\n\n if (!undo) {\n const messageIndex = thread.messages.findIndex(Ref.hasObjectId(messageId));\n const message = thread.messages[messageIndex]?.target;\n if (!message) {\n return;\n }\n\n if (messageIndex === 0 && thread.messages.length === 1) {\n // If the message is the only message in the thread, delete the thread.\n return {\n intents: [createIntent(ThreadAction.Delete, { subject, anchor })],\n };\n } else {\n thread.messages.splice(messageIndex, 1);\n }\n\n return {\n undoable: {\n message: ['message deleted label', { ns: THREAD_PLUGIN }],\n data: { message, messageIndex },\n },\n intents: [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'threads.message.delete',\n properties: {\n spaceId: space.id,\n threadId: thread.id,\n messageId: message.id,\n },\n }),\n ],\n };\n } else {\n if (messageIndex === undefined || !message) {\n return;\n }\n\n thread.messages.splice(messageIndex, 0, Ref.make(message));\n return {\n intents: [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'threads.message.undo-delete',\n properties: {\n spaceId: space.id,\n threadId: thread.id,\n messageId: message.id,\n },\n }),\n ],\n };\n }\n },\n }),\n ]);\n"],
5
+ "mappings": "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",
6
+ "names": ["batch", "Capabilities", "contributes", "createIntent", "createResolver", "RelationSourceId", "RelationTargetId", "invariant", "ATTENDABLE_PATH_SEPARATOR", "DeckAction", "ObservabilityAction", "SpaceAction", "live", "fullyQualifiedId", "getSpace", "Ref", "AnchoredTo", "DataType", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "ThreadAction", "CreateChannel", "resolve", "name", "data", "object", "live", "ChannelType", "defaultThread", "Ref", "make", "ThreadType", "messages", "status", "threads", "CreateChannelThread", "channel", "thread", "push", "Create", "anchor", "_anchor", "subject", "space", "getSpace", "invariant", "state", "getCapability", "ThreadCapabilities", "MutableState", "subjectId", "fullyQualifiedId", "AnchoredTo", "RelationSourceId", "RelationTargetId", "draft", "drafts", "intents", "createIntent", "Select", "current", "DeckAction", "ChangeCompanion", "primary", "companion", "ATTENDABLE_PATH_SEPARATOR", "ToggleResolved", "undefined", "spaceId", "id", "ObservabilityAction", "SendEvent", "properties", "threadId", "Delete", "_thread", "undo", "index", "findIndex", "a", "splice", "batch", "db", "remove", "undoable", "message", "ns", "THREAD_PLUGIN", "add", "AddMessage", "sender", "text", "DataType", "Message", "created", "Date", "toISOString", "blocks", "type", "find", "filter", "SpaceAction", "AddObject", "target", "hidden", "AddRelation", "schema", "source", "fields", "threadLength", "length", "messageId", "messageLength", "DeleteMessage", "messageIndex", "hasObjectId"]
7
+ }