@dxos/plugin-thread 0.8.4-main.c1de068 → 0.8.4-main.c85a9c8dae

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 (482) hide show
  1. package/dist/lib/browser/CallDebugPanel-FGCTY7Q4.mjs +182 -0
  2. package/dist/lib/browser/CallDebugPanel-FGCTY7Q4.mjs.map +7 -0
  3. package/dist/lib/browser/CallSidebar-PJCMNDIF.mjs +33 -0
  4. package/dist/lib/browser/CallSidebar-PJCMNDIF.mjs.map +7 -0
  5. package/dist/lib/browser/ChannelContainer-EPYG4QAC.mjs +15 -0
  6. package/dist/lib/browser/ChatContainer-2243UD2M.mjs +14 -0
  7. package/dist/lib/browser/ThreadCompanion-2CMLJH76.mjs +204 -0
  8. package/dist/lib/browser/ThreadCompanion-2CMLJH76.mjs.map +7 -0
  9. package/dist/lib/browser/ThreadSettings-S55YVOGA.mjs +20 -0
  10. package/dist/lib/browser/ThreadSettings-S55YVOGA.mjs.map +7 -0
  11. package/dist/lib/browser/app-graph-builder-5LCAM746.mjs +191 -0
  12. package/dist/lib/browser/app-graph-builder-5LCAM746.mjs.map +7 -0
  13. package/dist/lib/browser/blueprint-definition-42M2EJ2Y.mjs +17 -0
  14. package/dist/lib/browser/blueprint-definition-42M2EJ2Y.mjs.map +7 -0
  15. package/dist/lib/browser/blueprints/index.mjs +8 -0
  16. package/dist/lib/browser/call-manager-2PRP4QVZ.mjs +27 -0
  17. package/dist/lib/browser/call-manager-2PRP4QVZ.mjs.map +7 -0
  18. package/dist/lib/browser/{chunk-GERVMFQW.mjs → chunk-CP7E2HRE.mjs} +2 -2
  19. package/dist/lib/browser/chunk-CP7E2HRE.mjs.map +7 -0
  20. package/dist/lib/browser/{chunk-ZE7KWN36.mjs → chunk-ERK254BS.mjs} +381 -240
  21. package/dist/lib/browser/chunk-ERK254BS.mjs.map +7 -0
  22. package/dist/lib/browser/chunk-G6FJBSXX.mjs +1123 -0
  23. package/dist/lib/browser/chunk-G6FJBSXX.mjs.map +7 -0
  24. package/dist/lib/browser/{chunk-ERWASUQK.mjs → chunk-HDLDMR54.mjs} +85 -50
  25. package/dist/lib/browser/chunk-HDLDMR54.mjs.map +7 -0
  26. package/dist/lib/browser/{chunk-6NSMBO3B.mjs → chunk-ISCHODBV.mjs} +55 -5
  27. package/dist/lib/browser/chunk-ISCHODBV.mjs.map +7 -0
  28. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  29. package/dist/lib/browser/chunk-LUK4UNFA.mjs +20 -0
  30. package/dist/lib/browser/chunk-LUK4UNFA.mjs.map +7 -0
  31. package/dist/lib/browser/chunk-PDHCY236.mjs +223 -0
  32. package/dist/lib/browser/chunk-PDHCY236.mjs.map +7 -0
  33. package/dist/lib/browser/chunk-PL5LIVP4.mjs +105 -0
  34. package/dist/lib/browser/chunk-PL5LIVP4.mjs.map +7 -0
  35. package/dist/lib/browser/chunk-U32R23JO.mjs +277 -0
  36. package/dist/lib/browser/chunk-U32R23JO.mjs.map +7 -0
  37. package/dist/lib/browser/chunk-UVUCB7QO.mjs +125 -0
  38. package/dist/lib/browser/chunk-UVUCB7QO.mjs.map +7 -0
  39. package/dist/lib/browser/index.mjs +143 -137
  40. package/dist/lib/browser/index.mjs.map +4 -4
  41. package/dist/lib/browser/markdown-GRRPCZHJ.mjs +210 -0
  42. package/dist/lib/browser/markdown-GRRPCZHJ.mjs.map +7 -0
  43. package/dist/lib/browser/meta.json +1 -1
  44. package/dist/lib/browser/operation-resolver-EP7FAYEB.mjs +442 -0
  45. package/dist/lib/browser/operation-resolver-EP7FAYEB.mjs.map +7 -0
  46. package/dist/lib/browser/react-root-7UFFPPRD.mjs +26 -0
  47. package/dist/lib/browser/react-root-7UFFPPRD.mjs.map +7 -0
  48. package/dist/lib/browser/react-surface-TIHBSZPD.mjs +113 -0
  49. package/dist/lib/browser/react-surface-TIHBSZPD.mjs.map +7 -0
  50. package/dist/lib/browser/repair-TBU45SBG.mjs +40 -0
  51. package/dist/lib/browser/repair-TBU45SBG.mjs.map +7 -0
  52. package/dist/lib/browser/settings-Y75FG6XR.mjs +35 -0
  53. package/dist/lib/browser/settings-Y75FG6XR.mjs.map +7 -0
  54. package/dist/lib/browser/state-OBTMMEUZ.mjs +25 -0
  55. package/dist/lib/browser/state-OBTMMEUZ.mjs.map +7 -0
  56. package/dist/lib/browser/types/index.mjs +11 -12
  57. package/dist/lib/node-esm/CallDebugPanel-CYACANSP.mjs +183 -0
  58. package/dist/lib/node-esm/CallDebugPanel-CYACANSP.mjs.map +7 -0
  59. package/dist/lib/node-esm/CallSidebar-XD7J7EQ6.mjs +34 -0
  60. package/dist/lib/node-esm/CallSidebar-XD7J7EQ6.mjs.map +7 -0
  61. package/dist/lib/node-esm/ChannelContainer-NU4LSLB4.mjs +16 -0
  62. package/dist/lib/node-esm/ChannelContainer-NU4LSLB4.mjs.map +7 -0
  63. package/dist/lib/node-esm/ChatContainer-FPNIG33R.mjs +15 -0
  64. package/dist/lib/node-esm/ChatContainer-FPNIG33R.mjs.map +7 -0
  65. package/dist/lib/node-esm/ThreadCompanion-TLWTONG6.mjs +205 -0
  66. package/dist/lib/node-esm/ThreadCompanion-TLWTONG6.mjs.map +7 -0
  67. package/dist/lib/node-esm/ThreadSettings-EUH4AGYV.mjs +21 -0
  68. package/dist/lib/node-esm/ThreadSettings-EUH4AGYV.mjs.map +7 -0
  69. package/dist/lib/node-esm/app-graph-builder-VBLHLX75.mjs +192 -0
  70. package/dist/lib/node-esm/app-graph-builder-VBLHLX75.mjs.map +7 -0
  71. package/dist/lib/node-esm/blueprint-definition-PEXTS56K.mjs +18 -0
  72. package/dist/lib/node-esm/blueprint-definition-PEXTS56K.mjs.map +7 -0
  73. package/dist/lib/node-esm/blueprints/index.mjs +9 -0
  74. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  75. package/dist/lib/node-esm/call-manager-BLQCEM2F.mjs +28 -0
  76. package/dist/lib/node-esm/call-manager-BLQCEM2F.mjs.map +7 -0
  77. package/dist/lib/node-esm/chunk-6K5ACCGB.mjs +107 -0
  78. package/dist/lib/node-esm/chunk-6K5ACCGB.mjs.map +7 -0
  79. package/dist/lib/node-esm/chunk-7SZBKQUU.mjs +224 -0
  80. package/dist/lib/node-esm/chunk-7SZBKQUU.mjs.map +7 -0
  81. package/dist/lib/node-esm/{chunk-57XR3LEF.mjs → chunk-ABUFOZVX.mjs} +2 -2
  82. package/dist/lib/node-esm/chunk-ABUFOZVX.mjs.map +7 -0
  83. package/dist/lib/node-esm/chunk-GPPP2MZ3.mjs +22 -0
  84. package/dist/lib/node-esm/chunk-GPPP2MZ3.mjs.map +7 -0
  85. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  86. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  87. package/dist/lib/node-esm/chunk-IQUV7DR6.mjs +1124 -0
  88. package/dist/lib/node-esm/chunk-IQUV7DR6.mjs.map +7 -0
  89. package/dist/lib/node-esm/{chunk-IHDNQLLR.mjs → chunk-QP3KQOPQ.mjs} +381 -240
  90. package/dist/lib/node-esm/chunk-QP3KQOPQ.mjs.map +7 -0
  91. package/dist/lib/node-esm/chunk-QYAVWNVM.mjs +278 -0
  92. package/dist/lib/node-esm/chunk-QYAVWNVM.mjs.map +7 -0
  93. package/dist/lib/node-esm/chunk-V2GXQ2UB.mjs +126 -0
  94. package/dist/lib/node-esm/chunk-V2GXQ2UB.mjs.map +7 -0
  95. package/dist/lib/node-esm/{chunk-OU5BYIDO.mjs → chunk-VBI32FGI.mjs} +55 -5
  96. package/dist/lib/node-esm/chunk-VBI32FGI.mjs.map +7 -0
  97. package/dist/lib/node-esm/{chunk-25ABSYP2.mjs → chunk-YN2Y7GPW.mjs} +85 -50
  98. package/dist/lib/node-esm/chunk-YN2Y7GPW.mjs.map +7 -0
  99. package/dist/lib/node-esm/index.mjs +143 -137
  100. package/dist/lib/node-esm/index.mjs.map +4 -4
  101. package/dist/lib/node-esm/markdown-WHWUESF7.mjs +211 -0
  102. package/dist/lib/node-esm/markdown-WHWUESF7.mjs.map +7 -0
  103. package/dist/lib/node-esm/meta.json +1 -1
  104. package/dist/lib/node-esm/operation-resolver-R7QJW3TW.mjs +443 -0
  105. package/dist/lib/node-esm/operation-resolver-R7QJW3TW.mjs.map +7 -0
  106. package/dist/lib/node-esm/react-root-D7CWS5XP.mjs +27 -0
  107. package/dist/lib/node-esm/react-root-D7CWS5XP.mjs.map +7 -0
  108. package/dist/lib/node-esm/react-surface-WWZFSK5Y.mjs +114 -0
  109. package/dist/lib/node-esm/react-surface-WWZFSK5Y.mjs.map +7 -0
  110. package/dist/lib/node-esm/repair-7JEKRNR3.mjs +41 -0
  111. package/dist/lib/node-esm/repair-7JEKRNR3.mjs.map +7 -0
  112. package/dist/lib/node-esm/settings-W4JN2YKJ.mjs +36 -0
  113. package/dist/lib/node-esm/settings-W4JN2YKJ.mjs.map +7 -0
  114. package/dist/lib/node-esm/state-7UWCSIWQ.mjs +26 -0
  115. package/dist/lib/node-esm/state-7UWCSIWQ.mjs.map +7 -0
  116. package/dist/lib/node-esm/types/index.mjs +11 -12
  117. package/dist/types/src/ThreadPlugin.d.ts +2 -1
  118. package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
  119. package/dist/types/src/blueprints/index.d.ts +2 -0
  120. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  121. package/dist/types/src/blueprints/thread-blueprint.d.ts +4 -0
  122. package/dist/types/src/blueprints/thread-blueprint.d.ts.map +1 -0
  123. package/dist/types/src/calls/call-manager.d.ts +40 -30
  124. package/dist/types/src/calls/call-manager.d.ts.map +1 -1
  125. package/dist/types/src/calls/call-swarm-synchronizer.d.ts +2 -2
  126. package/dist/types/src/calls/call-swarm-synchronizer.d.ts.map +1 -1
  127. package/dist/types/src/calls/media-manager.d.ts +2 -2
  128. package/dist/types/src/calls/media-manager.d.ts.map +1 -1
  129. package/dist/types/src/calls/types.d.ts +1 -1
  130. package/dist/types/src/calls/types.d.ts.map +1 -1
  131. package/dist/types/src/calls/util/calls-service.d.ts +5 -3
  132. package/dist/types/src/calls/util/calls-service.d.ts.map +1 -1
  133. package/dist/types/src/calls/util/stub-media-streams.d.ts.map +1 -1
  134. package/dist/types/src/calls/util/task-scheduling.d.ts +2 -2
  135. package/dist/types/src/calls/util/task-scheduling.d.ts.map +1 -1
  136. package/dist/types/src/calls-service.stories.d.ts +10 -9
  137. package/dist/types/src/calls-service.stories.d.ts.map +1 -1
  138. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  139. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  140. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  141. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  142. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +6 -0
  143. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
  144. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +3 -0
  145. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
  146. package/dist/types/src/capabilities/call-manager/call-manager.d.ts +6 -0
  147. package/dist/types/src/capabilities/call-manager/call-manager.d.ts.map +1 -0
  148. package/dist/types/src/capabilities/call-manager/index.d.ts +3 -0
  149. package/dist/types/src/capabilities/call-manager/index.d.ts.map +1 -0
  150. package/dist/types/src/capabilities/index.d.ts +10 -15
  151. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  152. package/dist/types/src/capabilities/markdown/index.d.ts +3 -0
  153. package/dist/types/src/capabilities/markdown/index.d.ts.map +1 -0
  154. package/dist/types/src/capabilities/markdown/markdown.d.ts +5 -0
  155. package/dist/types/src/capabilities/markdown/markdown.d.ts.map +1 -0
  156. package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
  157. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  158. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
  159. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  160. package/dist/types/src/capabilities/react-root/index.d.ts +6 -0
  161. package/dist/types/src/capabilities/react-root/index.d.ts.map +1 -0
  162. package/dist/types/src/capabilities/react-root/react-root.d.ts +9 -0
  163. package/dist/types/src/capabilities/react-root/react-root.d.ts.map +1 -0
  164. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  165. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  166. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  167. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  168. package/dist/types/src/capabilities/repair/index.d.ts +3 -0
  169. package/dist/types/src/capabilities/repair/index.d.ts.map +1 -0
  170. package/dist/types/src/capabilities/repair/repair.d.ts +6 -0
  171. package/dist/types/src/capabilities/repair/repair.d.ts.map +1 -0
  172. package/dist/types/src/capabilities/settings/index.d.ts +3 -0
  173. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  174. package/dist/types/src/capabilities/settings/settings.d.ts +6 -0
  175. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  176. package/dist/types/src/capabilities/state/index.d.ts +3 -0
  177. package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
  178. package/dist/types/src/capabilities/state/state.d.ts +7 -0
  179. package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
  180. package/dist/types/src/components/Call/Call.d.ts.map +1 -1
  181. package/dist/types/src/components/Call/Toolbar.d.ts +2 -2
  182. package/dist/types/src/components/Call/Toolbar.d.ts.map +1 -1
  183. package/dist/types/src/components/Comments.stories.d.ts +160 -4
  184. package/dist/types/src/components/Comments.stories.d.ts.map +1 -1
  185. package/dist/types/src/components/CommentsContainer.d.ts +2 -2
  186. package/dist/types/src/components/CommentsContainer.d.ts.map +1 -1
  187. package/dist/types/src/components/CommentsThreadContainer.d.ts +9 -9
  188. package/dist/types/src/components/CommentsThreadContainer.d.ts.map +1 -1
  189. package/dist/types/src/components/Lobby/Lobby.d.ts.map +1 -1
  190. package/dist/types/src/components/Media/VideoObject.d.ts +3 -3
  191. package/dist/types/src/components/Media/VideoObject.d.ts.map +1 -1
  192. package/dist/types/src/components/Media/VideoObject.stories.d.ts +18 -4
  193. package/dist/types/src/components/Media/VideoObject.stories.d.ts.map +1 -1
  194. package/dist/types/src/components/MessageContainer.d.ts +7 -3
  195. package/dist/types/src/components/MessageContainer.d.ts.map +1 -1
  196. package/dist/types/src/components/Participant/Participant.d.ts.map +1 -1
  197. package/dist/types/src/components/Participant/ParticipantGrid.d.ts.map +1 -1
  198. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +159 -3
  199. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +1 -1
  200. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +161 -4
  201. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +1 -1
  202. package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts.map +1 -1
  203. package/dist/types/src/components/command-extension.d.ts.map +1 -1
  204. package/dist/types/src/components/index.d.ts +0 -6
  205. package/dist/types/src/components/index.d.ts.map +1 -1
  206. package/dist/types/src/components/testing.d.ts +3 -2
  207. package/dist/types/src/components/testing.d.ts.map +1 -1
  208. package/dist/types/src/containers/CallDebugPanel/CallDebugPanel.d.ts +15 -0
  209. package/dist/types/src/containers/CallDebugPanel/CallDebugPanel.d.ts.map +1 -0
  210. package/dist/types/src/containers/CallDebugPanel/index.d.ts +3 -0
  211. package/dist/types/src/containers/CallDebugPanel/index.d.ts.map +1 -0
  212. package/dist/types/src/{components → containers/CallSidebar}/CallSidebar.d.ts +0 -1
  213. package/dist/types/src/containers/CallSidebar/CallSidebar.d.ts.map +1 -0
  214. package/dist/types/src/containers/CallSidebar/index.d.ts +3 -0
  215. package/dist/types/src/containers/CallSidebar/index.d.ts.map +1 -0
  216. package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts +12 -0
  217. package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts.map +1 -0
  218. package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts +164 -0
  219. package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts.map +1 -0
  220. package/dist/types/src/containers/ChannelContainer/index.d.ts +3 -0
  221. package/dist/types/src/containers/ChannelContainer/index.d.ts.map +1 -0
  222. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts +17 -0
  223. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts.map +1 -0
  224. package/dist/types/src/containers/ChatContainer/ChatContainer.stories.d.ts +164 -0
  225. package/dist/types/src/containers/ChatContainer/ChatContainer.stories.d.ts.map +1 -0
  226. package/dist/types/src/containers/ChatContainer/index.d.ts +3 -0
  227. package/dist/types/src/containers/ChatContainer/index.d.ts.map +1 -0
  228. package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts +5 -0
  229. package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts.map +1 -0
  230. package/dist/types/src/containers/ThreadCompanion/index.d.ts +3 -0
  231. package/dist/types/src/containers/ThreadCompanion/index.d.ts.map +1 -0
  232. package/dist/types/src/containers/ThreadSettings/ThreadSettings.d.ts +8 -0
  233. package/dist/types/src/containers/ThreadSettings/ThreadSettings.d.ts.map +1 -0
  234. package/dist/types/src/containers/ThreadSettings/index.d.ts +3 -0
  235. package/dist/types/src/containers/ThreadSettings/index.d.ts.map +1 -0
  236. package/dist/types/src/containers/index.d.ts +8 -0
  237. package/dist/types/src/containers/index.d.ts.map +1 -0
  238. package/dist/types/src/extensions/threads.d.ts +8 -3
  239. package/dist/types/src/extensions/threads.d.ts.map +1 -1
  240. package/dist/types/src/functions/create-proposals.d.ts +13 -0
  241. package/dist/types/src/functions/create-proposals.d.ts.map +1 -0
  242. package/dist/types/src/functions/index.d.ts +14 -0
  243. package/dist/types/src/functions/index.d.ts.map +1 -0
  244. package/dist/types/src/hooks/analytics.d.ts +2 -3
  245. package/dist/types/src/hooks/analytics.d.ts.map +1 -1
  246. package/dist/types/src/hooks/index.d.ts +2 -1
  247. package/dist/types/src/hooks/index.d.ts.map +1 -1
  248. package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts +2 -0
  249. package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts.map +1 -0
  250. package/dist/types/src/hooks/useVideoStreamTrack.d.ts +1 -1
  251. package/dist/types/src/hooks/useVideoStreamTrack.d.ts.map +1 -1
  252. package/dist/types/src/index.d.ts +1 -1
  253. package/dist/types/src/index.d.ts.map +1 -1
  254. package/dist/types/src/meta.d.ts +3 -4
  255. package/dist/types/src/meta.d.ts.map +1 -1
  256. package/dist/types/src/testing/stories.d.ts +2 -1
  257. package/dist/types/src/testing/stories.d.ts.map +1 -1
  258. package/dist/types/src/translations.d.ts +79 -7
  259. package/dist/types/src/translations.d.ts.map +1 -1
  260. package/dist/types/src/types/Channel.d.ts +711 -0
  261. package/dist/types/src/types/Channel.d.ts.map +1 -0
  262. package/dist/types/src/types/capabilities.d.ts +23 -0
  263. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  264. package/dist/types/src/types/index.d.ts +2 -1
  265. package/dist/types/src/types/index.d.ts.map +1 -1
  266. package/dist/types/src/types/types.d.ts +3300 -365
  267. package/dist/types/src/types/types.d.ts.map +1 -1
  268. package/dist/types/tsconfig.tsbuildinfo +1 -1
  269. package/package.json +93 -66
  270. package/src/ThreadPlugin.tsx +97 -130
  271. package/src/blueprints/index.ts +5 -0
  272. package/src/blueprints/thread-blueprint.ts +40 -0
  273. package/src/calls/call-manager.ts +78 -54
  274. package/src/calls/call-swarm-synchronizer.ts +3 -3
  275. package/src/calls/media-manager.ts +67 -38
  276. package/src/calls/types.ts +8 -4
  277. package/src/calls/util/calls-service.ts +66 -15
  278. package/src/calls/util/stub-media-streams.ts +64 -7
  279. package/src/calls/util/task-scheduling.ts +4 -4
  280. package/src/calls-service.stories.tsx +79 -66
  281. package/src/capabilities/app-graph-builder/app-graph-builder.ts +202 -0
  282. package/src/capabilities/app-graph-builder/index.ts +7 -0
  283. package/src/capabilities/blueprint-definition/blueprint-definition.ts +17 -0
  284. package/src/capabilities/blueprint-definition/index.ts +7 -0
  285. package/src/capabilities/call-manager/call-manager.ts +26 -0
  286. package/src/capabilities/call-manager/index.ts +7 -0
  287. package/src/capabilities/index.ts +10 -12
  288. package/src/capabilities/markdown/index.ts +7 -0
  289. package/src/capabilities/markdown/markdown.ts +82 -0
  290. package/src/capabilities/operation-resolver/index.ts +7 -0
  291. package/src/capabilities/operation-resolver/operation-resolver.ts +399 -0
  292. package/src/capabilities/react-root/index.ts +7 -0
  293. package/src/capabilities/react-root/react-root.tsx +20 -0
  294. package/src/capabilities/react-surface/index.ts +7 -0
  295. package/src/capabilities/react-surface/react-surface.tsx +98 -0
  296. package/src/capabilities/repair/index.ts +7 -0
  297. package/src/capabilities/repair/repair.ts +55 -0
  298. package/src/capabilities/settings/index.ts +7 -0
  299. package/src/capabilities/settings/settings.ts +34 -0
  300. package/src/capabilities/state/index.ts +7 -0
  301. package/src/capabilities/state/state.ts +22 -0
  302. package/src/components/Call/Call.tsx +11 -6
  303. package/src/components/Call/Toolbar.tsx +40 -33
  304. package/src/components/Comments.stories.tsx +55 -53
  305. package/src/components/CommentsContainer.tsx +16 -16
  306. package/src/components/CommentsThreadContainer.tsx +50 -45
  307. package/src/components/Lobby/Lobby.tsx +10 -8
  308. package/src/components/Media/AudioStream.tsx +2 -2
  309. package/src/components/Media/VideoObject.stories.tsx +36 -28
  310. package/src/components/Media/VideoObject.tsx +1 -1
  311. package/src/components/MessageContainer.tsx +98 -33
  312. package/src/components/Participant/Participant.tsx +34 -15
  313. package/src/components/Participant/ParticipantGrid.tsx +2 -1
  314. package/src/components/ResponsiveGrid/ResponsiveContainer.stories.tsx +9 -9
  315. package/src/components/ResponsiveGrid/ResponsiveContainer.tsx +1 -1
  316. package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +45 -43
  317. package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +2 -2
  318. package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +9 -6
  319. package/src/components/command-extension.ts +7 -4
  320. package/src/components/index.ts +0 -10
  321. package/src/components/testing.ts +26 -6
  322. package/src/containers/CallDebugPanel/CallDebugPanel.tsx +172 -0
  323. package/src/containers/CallDebugPanel/index.ts +7 -0
  324. package/src/containers/CallSidebar/CallSidebar.tsx +17 -0
  325. package/src/containers/CallSidebar/index.ts +7 -0
  326. package/src/containers/ChannelContainer/ChannelContainer.stories.tsx +60 -0
  327. package/src/{components → containers/ChannelContainer}/ChannelContainer.tsx +76 -59
  328. package/src/containers/ChannelContainer/index.ts +7 -0
  329. package/src/containers/ChatContainer/ChatContainer.stories.tsx +88 -0
  330. package/src/{components → containers/ChatContainer}/ChatContainer.tsx +58 -50
  331. package/src/containers/ChatContainer/index.ts +7 -0
  332. package/src/containers/ThreadCompanion/ThreadCompanion.tsx +197 -0
  333. package/src/containers/ThreadCompanion/index.ts +7 -0
  334. package/src/containers/ThreadSettings/ThreadSettings.tsx +22 -0
  335. package/src/containers/ThreadSettings/index.ts +7 -0
  336. package/src/containers/index.ts +12 -0
  337. package/src/extensions/threads.ts +88 -44
  338. package/src/functions/create-proposals.ts +57 -0
  339. package/src/functions/index.ts +9 -0
  340. package/src/hooks/analytics.ts +22 -21
  341. package/src/hooks/index.ts +3 -1
  342. package/src/hooks/useBlackCanvasStreamTrack.tsx +27 -0
  343. package/src/hooks/useDebugMode.ts +1 -1
  344. package/src/hooks/useVideoStreamTrack.tsx +6 -3
  345. package/src/index.ts +1 -1
  346. package/src/meta.ts +11 -7
  347. package/src/testing/stories.ts +18 -16
  348. package/src/translations.ts +9 -4
  349. package/src/types/Channel.ts +30 -0
  350. package/src/types/capabilities.ts +34 -0
  351. package/src/types/index.ts +2 -1
  352. package/src/types/types.ts +170 -82
  353. package/src/typings/peermetrics-webrtc-stats.d.ts +17 -1
  354. package/src/typings.d.ts +8 -0
  355. package/src/util.ts +1 -1
  356. package/dist/lib/browser/ChannelContainer-IY2UIRLF.mjs +0 -16
  357. package/dist/lib/browser/ChatContainer-AIGIWAUG.mjs +0 -15
  358. package/dist/lib/browser/app-graph-builder-N7BE5TYW.mjs +0 -171
  359. package/dist/lib/browser/app-graph-builder-N7BE5TYW.mjs.map +0 -7
  360. package/dist/lib/browser/call-manager-NIPDYUVD.mjs +0 -24
  361. package/dist/lib/browser/call-manager-NIPDYUVD.mjs.map +0 -7
  362. package/dist/lib/browser/chunk-4OYAYON2.mjs +0 -21
  363. package/dist/lib/browser/chunk-4OYAYON2.mjs.map +0 -7
  364. package/dist/lib/browser/chunk-6NSMBO3B.mjs.map +0 -7
  365. package/dist/lib/browser/chunk-ERWASUQK.mjs.map +0 -7
  366. package/dist/lib/browser/chunk-EV4JWI7L.mjs +0 -17
  367. package/dist/lib/browser/chunk-EV4JWI7L.mjs.map +0 -7
  368. package/dist/lib/browser/chunk-GCLD5ESP.mjs +0 -137
  369. package/dist/lib/browser/chunk-GCLD5ESP.mjs.map +0 -7
  370. package/dist/lib/browser/chunk-GERVMFQW.mjs.map +0 -7
  371. package/dist/lib/browser/chunk-KWPRNHTK.mjs +0 -984
  372. package/dist/lib/browser/chunk-KWPRNHTK.mjs.map +0 -7
  373. package/dist/lib/browser/chunk-LGSDKXPF.mjs +0 -18
  374. package/dist/lib/browser/chunk-LGSDKXPF.mjs.map +0 -7
  375. package/dist/lib/browser/chunk-VUWC4IJM.mjs +0 -479
  376. package/dist/lib/browser/chunk-VUWC4IJM.mjs.map +0 -7
  377. package/dist/lib/browser/chunk-XLPJXUKO.mjs +0 -367
  378. package/dist/lib/browser/chunk-XLPJXUKO.mjs.map +0 -7
  379. package/dist/lib/browser/chunk-ZE7KWN36.mjs.map +0 -7
  380. package/dist/lib/browser/intent-resolver-JFGLZ6VI.mjs +0 -369
  381. package/dist/lib/browser/intent-resolver-JFGLZ6VI.mjs.map +0 -7
  382. package/dist/lib/browser/markdown-GEXBVJYN.mjs +0 -169
  383. package/dist/lib/browser/markdown-GEXBVJYN.mjs.map +0 -7
  384. package/dist/lib/browser/react-root-X4UIVGTX.mjs +0 -28
  385. package/dist/lib/browser/react-root-X4UIVGTX.mjs.map +0 -7
  386. package/dist/lib/browser/react-surface-YCYEFBPM.mjs +0 -109
  387. package/dist/lib/browser/react-surface-YCYEFBPM.mjs.map +0 -7
  388. package/dist/lib/browser/settings-E32MTL7A.mjs +0 -22
  389. package/dist/lib/browser/settings-E32MTL7A.mjs.map +0 -7
  390. package/dist/lib/browser/state-H6CYONWE.mjs +0 -34
  391. package/dist/lib/browser/state-H6CYONWE.mjs.map +0 -7
  392. package/dist/lib/node-esm/ChannelContainer-DET6T5N2.mjs +0 -17
  393. package/dist/lib/node-esm/ChatContainer-IQUWU426.mjs +0 -16
  394. package/dist/lib/node-esm/app-graph-builder-VCW76Z6V.mjs +0 -172
  395. package/dist/lib/node-esm/app-graph-builder-VCW76Z6V.mjs.map +0 -7
  396. package/dist/lib/node-esm/call-manager-D6O5ZJJ4.mjs +0 -25
  397. package/dist/lib/node-esm/call-manager-D6O5ZJJ4.mjs.map +0 -7
  398. package/dist/lib/node-esm/chunk-25ABSYP2.mjs.map +0 -7
  399. package/dist/lib/node-esm/chunk-2MFNK53T.mjs +0 -480
  400. package/dist/lib/node-esm/chunk-2MFNK53T.mjs.map +0 -7
  401. package/dist/lib/node-esm/chunk-57XR3LEF.mjs.map +0 -7
  402. package/dist/lib/node-esm/chunk-75RJ5DJI.mjs +0 -19
  403. package/dist/lib/node-esm/chunk-75RJ5DJI.mjs.map +0 -7
  404. package/dist/lib/node-esm/chunk-C3XFMUAY.mjs +0 -985
  405. package/dist/lib/node-esm/chunk-C3XFMUAY.mjs.map +0 -7
  406. package/dist/lib/node-esm/chunk-GRLRWTRU.mjs +0 -19
  407. package/dist/lib/node-esm/chunk-GRLRWTRU.mjs.map +0 -7
  408. package/dist/lib/node-esm/chunk-GW37AAM4.mjs +0 -23
  409. package/dist/lib/node-esm/chunk-GW37AAM4.mjs.map +0 -7
  410. package/dist/lib/node-esm/chunk-IHDNQLLR.mjs.map +0 -7
  411. package/dist/lib/node-esm/chunk-J4NSON5Q.mjs +0 -368
  412. package/dist/lib/node-esm/chunk-J4NSON5Q.mjs.map +0 -7
  413. package/dist/lib/node-esm/chunk-OU5BYIDO.mjs.map +0 -7
  414. package/dist/lib/node-esm/chunk-TDFHTCZZ.mjs +0 -138
  415. package/dist/lib/node-esm/chunk-TDFHTCZZ.mjs.map +0 -7
  416. package/dist/lib/node-esm/intent-resolver-OXGNQ44Y.mjs +0 -370
  417. package/dist/lib/node-esm/intent-resolver-OXGNQ44Y.mjs.map +0 -7
  418. package/dist/lib/node-esm/markdown-LIJZDK2J.mjs +0 -170
  419. package/dist/lib/node-esm/markdown-LIJZDK2J.mjs.map +0 -7
  420. package/dist/lib/node-esm/react-root-M7J6PZVW.mjs +0 -29
  421. package/dist/lib/node-esm/react-root-M7J6PZVW.mjs.map +0 -7
  422. package/dist/lib/node-esm/react-surface-IRSEKM42.mjs +0 -110
  423. package/dist/lib/node-esm/react-surface-IRSEKM42.mjs.map +0 -7
  424. package/dist/lib/node-esm/settings-SJ24YG7M.mjs +0 -23
  425. package/dist/lib/node-esm/settings-SJ24YG7M.mjs.map +0 -7
  426. package/dist/lib/node-esm/state-D7WNDT3N.mjs +0 -35
  427. package/dist/lib/node-esm/state-D7WNDT3N.mjs.map +0 -7
  428. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  429. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  430. package/dist/types/src/capabilities/call-manager.d.ts +0 -5
  431. package/dist/types/src/capabilities/call-manager.d.ts.map +0 -1
  432. package/dist/types/src/capabilities/capabilities.d.ts +0 -27
  433. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  434. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  435. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  436. package/dist/types/src/capabilities/markdown.d.ts +0 -4
  437. package/dist/types/src/capabilities/markdown.d.ts.map +0 -1
  438. package/dist/types/src/capabilities/react-root.d.ts +0 -7
  439. package/dist/types/src/capabilities/react-root.d.ts.map +0 -1
  440. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  441. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  442. package/dist/types/src/capabilities/settings.d.ts +0 -4
  443. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  444. package/dist/types/src/capabilities/state.d.ts +0 -7
  445. package/dist/types/src/capabilities/state.d.ts.map +0 -1
  446. package/dist/types/src/components/CallDebugPanel.d.ts +0 -8
  447. package/dist/types/src/components/CallDebugPanel.d.ts.map +0 -1
  448. package/dist/types/src/components/CallSidebar.d.ts.map +0 -1
  449. package/dist/types/src/components/ChannelContainer.d.ts +0 -14
  450. package/dist/types/src/components/ChannelContainer.d.ts.map +0 -1
  451. package/dist/types/src/components/ChannelContainer.stories.d.ts +0 -10
  452. package/dist/types/src/components/ChannelContainer.stories.d.ts.map +0 -1
  453. package/dist/types/src/components/Chat.stories.d.ts +0 -7
  454. package/dist/types/src/components/Chat.stories.d.ts.map +0 -1
  455. package/dist/types/src/components/ChatContainer.d.ts +0 -17
  456. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  457. package/dist/types/src/components/ThreadComplementary.d.ts +0 -5
  458. package/dist/types/src/components/ThreadComplementary.d.ts.map +0 -1
  459. package/dist/types/src/components/ThreadSettings.d.ts +0 -6
  460. package/dist/types/src/components/ThreadSettings.d.ts.map +0 -1
  461. package/dist/types/src/types/schema.d.ts +0 -162
  462. package/dist/types/src/types/schema.d.ts.map +0 -1
  463. package/src/capabilities/app-graph-builder.ts +0 -180
  464. package/src/capabilities/call-manager.ts +0 -19
  465. package/src/capabilities/capabilities.ts +0 -33
  466. package/src/capabilities/intent-resolver.ts +0 -314
  467. package/src/capabilities/markdown.ts +0 -68
  468. package/src/capabilities/react-root.tsx +0 -17
  469. package/src/capabilities/react-surface.tsx +0 -88
  470. package/src/capabilities/settings.ts +0 -19
  471. package/src/capabilities/state.ts +0 -25
  472. package/src/components/CallDebugPanel.tsx +0 -115
  473. package/src/components/CallSidebar.tsx +0 -17
  474. package/src/components/ChannelContainer.stories.tsx +0 -58
  475. package/src/components/Chat.stories.tsx +0 -88
  476. package/src/components/ThreadComplementary.tsx +0 -151
  477. package/src/components/ThreadSettings.tsx +0 -17
  478. package/src/types/schema.ts +0 -33
  479. /package/dist/lib/browser/{ChannelContainer-IY2UIRLF.mjs.map → ChannelContainer-EPYG4QAC.mjs.map} +0 -0
  480. /package/dist/lib/browser/{ChatContainer-AIGIWAUG.mjs.map → ChatContainer-2243UD2M.mjs.map} +0 -0
  481. /package/dist/lib/{node-esm/ChannelContainer-DET6T5N2.mjs.map → browser/blueprints/index.mjs.map} +0 -0
  482. /package/dist/lib/{node-esm/ChatContainer-IQUWU426.mjs.map → browser/chunk-J5LGTIGS.mjs.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/capabilities.ts", "../../../src/types/Channel.ts", "../../../src/types/types.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Atom } from '@effect-atom/atom-react';\n\nimport { Capability } from '@dxos/app-framework';\n\nimport { type CallManager, type CallState, type MediaState } from '../calls';\nimport { meta } from '../meta';\nimport { type Channel, type ThreadSettingsProps, type ThreadState, type ViewStore } from '../types';\n\nexport namespace ThreadCapabilities {\n export const Settings = Capability.make<Atom.Writable<ThreadSettingsProps>>(`${meta.id}/capability/settings`);\n export const CallManager = Capability.make<CallManager>(`${meta.id}/capability/call-manager`);\n\n // TODO(burdon): Better way to define specific extensions for meeting companions.\n // TODO(burdon): This brings in deps from ../calls; how should we manage/minimize explicit type exposure to other plugins?\n // TODO(wittjosiah): These callbacks could be intents once we support broadcast.\n export type CallProperties = {\n onJoin: (state: { channel?: Channel.Channel; roomId?: string }) => Promise<void>;\n onLeave: (roomId?: string) => Promise<void>;\n onCallStateUpdated: (callState: CallState) => Promise<void>;\n onMediaStateUpdated: ([mediaState, isSpeaking]: [MediaState, boolean]) => Promise<void>;\n };\n\n export const CallExtension = Capability.make<CallProperties>(`${meta.id}/capability/call-extension`);\n\n /** Thread state (drafts, toolbar state, current selection). */\n export const State = Capability.make<Atom.Writable<ThreadState>>(`${meta.id}/capability/state`);\n\n /** Per-subject view state (e.g., showResolvedThreads). */\n export const ViewState = Capability.make<Atom.Writable<ViewStore>>(`${meta.id}/capability/view-state`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Obj, Ref, Type } from '@dxos/echo';\nimport { FormInputAnnotation } from '@dxos/echo/internal';\nimport { Thread } from '@dxos/types';\n\nexport const Channel = Schema.Struct({\n name: Schema.optional(Schema.String),\n defaultThread: Ref.Ref(Thread.Thread).pipe(FormInputAnnotation.set(false)),\n // TODO(wittjosiah): Should be an \"ordered collection\".\n threads: Ref.Ref(Thread.Thread).pipe(Schema.Array, FormInputAnnotation.set(false)),\n}).pipe(\n Type.object({\n typename: 'dxos.org/type/Channel',\n version: '0.1.0',\n }),\n);\n\nexport interface Channel extends Schema.Schema.Type<typeof Channel> {}\n\nexport const make = (props: Pick<Obj.MakeProps<typeof Channel>, 'name'> = {}) =>\n Obj.make(Channel, {\n ...props,\n defaultThread: Ref.make(Obj.make(Thread.Thread, { messages: [], status: 'active' })),\n threads: [],\n });\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Key, Obj } from '@dxos/echo';\nimport { Collection } from '@dxos/echo';\nimport { Operation } from '@dxos/operation';\nimport { SpaceSchema } from '@dxos/react-client/echo';\nimport { Actor, AnchoredTo, Message, Thread } from '@dxos/types';\n\nimport { meta } from '../meta';\n\nimport * as Channel from './Channel';\n\nconst THREAD_OPERATION = `${meta.id}/operation`;\n\n/**\n * Operations for the Thread plugin.\n * Note: Complex ECHO types are typed as Schema.Any to avoid serialization issues.\n */\nexport namespace ThreadOperation {\n export const OnCreateSpace = Operation.make({\n meta: { key: `${THREAD_OPERATION}/on-create-space`, name: 'On Create Space' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n space: SpaceSchema,\n rootCollection: Collection.Collection,\n isDefault: Schema.Boolean.pipe(Schema.optional),\n }),\n output: Schema.Void,\n },\n });\n\n export const CreateChannel = Operation.make({\n meta: { key: `${THREAD_OPERATION}/create-channel`, name: 'Create Channel' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n spaceId: Key.SpaceId,\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: Channel.Channel,\n }),\n },\n });\n\n export const CreateChannelThread = Operation.make({\n meta: { key: `${THREAD_OPERATION}/create-channel-thread`, name: 'Create Channel Thread' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n channel: Channel.Channel,\n }),\n output: Schema.Struct({\n object: Thread.Thread,\n }),\n },\n });\n\n export const Create = Operation.make({\n meta: { key: `${THREAD_OPERATION}/create`, name: 'Create Thread' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n anchor: Schema.optional(Schema.String),\n subject: Obj.Unknown,\n }),\n output: Schema.Void,\n },\n });\n\n export const DeleteOutput = Schema.Struct({\n thread: Thread.Thread.annotations({ description: 'The deleted thread.' }),\n anchor: AnchoredTo.AnchoredTo.annotations({ description: 'The deleted anchor.' }),\n }).pipe(Schema.partial);\n\n export type DeleteOutput = Schema.Schema.Type<typeof DeleteOutput>;\n\n export const Delete = Operation.make({\n meta: { key: `${THREAD_OPERATION}/delete`, name: 'Delete Thread' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n anchor: AnchoredTo.AnchoredTo,\n subject: Obj.Unknown,\n thread: Schema.optional(Thread.Thread),\n }),\n output: DeleteOutput,\n },\n });\n\n export const Select = Operation.make({\n meta: { key: `${THREAD_OPERATION}/select`, name: 'Select Thread' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n current: Schema.String,\n }),\n output: Schema.Void,\n },\n });\n\n export const ToggleResolved = Operation.make({\n meta: { key: `${THREAD_OPERATION}/toggle-resolved`, name: 'Toggle Resolved' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n thread: Thread.Thread,\n }),\n output: Schema.Void,\n },\n });\n\n export const AddMessage = Operation.make({\n meta: { key: `${THREAD_OPERATION}/add-message`, name: 'Add Message' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n subject: Obj.Unknown,\n anchor: AnchoredTo.AnchoredTo,\n sender: Actor.Actor,\n text: Schema.String,\n }),\n output: Schema.Void,\n },\n });\n\n export const DeleteMessageOutput = Schema.partial(\n Schema.Struct({\n message: Message.Message.annotations({ description: 'The deleted message.' }),\n messageIndex: Schema.Number.annotations({ description: 'The index the message was at.' }),\n }),\n );\n\n export type DeleteMessageOutput = Schema.Schema.Type<typeof DeleteMessageOutput>;\n\n export const DeleteMessage = Operation.make({\n meta: { key: `${THREAD_OPERATION}/delete-message`, name: 'Delete Message' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n anchor: AnchoredTo.AnchoredTo,\n subject: Obj.Unknown,\n messageId: Schema.String,\n }),\n output: DeleteMessageOutput,\n },\n });\n\n /**\n * Restore a deleted thread (inverse of Delete).\n */\n export const Restore = Operation.make({\n meta: { key: `${THREAD_OPERATION}/restore`, name: 'Restore Thread' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n thread: Thread.Thread.annotations({ description: 'The thread to restore.' }),\n anchor: AnchoredTo.AnchoredTo.annotations({ description: 'The anchor relation to restore.' }),\n }),\n output: Schema.Void,\n },\n });\n\n /**\n * Restore a deleted message (inverse of DeleteMessage).\n */\n export const RestoreMessage = Operation.make({\n meta: { key: `${THREAD_OPERATION}/restore-message`, name: 'Restore Message' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n anchor: AnchoredTo.AnchoredTo.annotations({ description: 'The anchor of the thread.' }),\n message: Message.Message.annotations({ description: 'The message to restore.' }),\n messageIndex: Schema.Number.annotations({ description: 'The index to restore the message at.' }),\n }),\n output: Schema.Void,\n },\n });\n}\n\nexport const ThreadSettingsSchema = Schema.mutable(Schema.Struct({}));\nexport type ThreadSettingsProps = Schema.Schema.Type<typeof ThreadSettingsSchema>;\n\nexport interface ThreadModel {\n root: Thread.Thread;\n}\n\ntype SubjectId = string;\nexport type ViewState = { showResolvedThreads: boolean };\nexport type ViewStore = Record<SubjectId, ViewState>;\n\nexport type ThreadState = {\n /** Object toolbar state. */\n toolbar: Record<string, boolean>;\n /** In-memory draft threads. */\n // TODO(burdon): Drafts are getting lost.\n drafts: Record<string, AnchoredTo.AnchoredTo[]>;\n current?: string | undefined;\n};\n"],
5
+ "mappings": ";;;;;;;;AAMA,SAASA,kBAAkB;UAMVC,qBAAAA;sBACFC,WAAWC,WAAWC,KAAyC,GAAGC,KAAKC,EAAE,sBAAsB;sBAC/FC,cAAcJ,WAAWC,KAAkB,GAAGC,KAAKC,EAAE,0BAA0B;sBAY/EE,gBAAgBL,WAAWC,KAAqB,GAAGC,KAAKC,EAAE,4BAA4B;sBAGtFG,QAAQN,WAAWC,KAAiC,GAAGC,KAAKC,EAAE,mBAAmB;sBAGjFI,YAAYP,WAAWC,KAA+B,GAAGC,KAAKC,EAAE,wBAAwB;AACvG,GArBiBL,uBAAAA,qBAAAA,CAAAA,EAAAA;;;;ACZjB;;;;;AAIA,YAAYU,YAAY;AAExB,SAASC,KAAKC,KAAKC,YAAY;AAC/B,SAASC,2BAA2B;AACpC,SAASC,cAAc;AAEhB,IAAMC,UAAiBC,cAAO;EACnCC,MAAaC,gBAAgBC,aAAM;EACnCC,eAAeC,IAAIA,IAAIC,OAAOA,MAAM,EAAEC,KAAKC,oBAAoBC,IAAI,KAAA,CAAA;;EAEnEC,SAASL,IAAIA,IAAIC,OAAOA,MAAM,EAAEC,KAAYI,cAAOH,oBAAoBC,IAAI,KAAA,CAAA;AAC7E,CAAA,EAAGF,KACDK,KAAKC,OAAO;EACVC,UAAU;EACVC,SAAS;AACX,CAAA,CAAA;AAKK,IAAMC,OAAO,CAACC,QAAqD,CAAC,MACzEC,IAAIF,KAAKjB,SAAS;EAChB,GAAGkB;EACHb,eAAeC,IAAIW,KAAKE,IAAIF,KAAKV,OAAOA,QAAQ;IAAEa,UAAU,CAAA;IAAIC,QAAQ;EAAS,CAAA,CAAA;EACjFV,SAAS,CAAA;AACX,CAAA;;;ACzBF,YAAYW,aAAY;AAExB,SAASC,cAAAA,mBAAkB;AAC3B,SAASC,KAAKC,OAAAA,YAAW;AACzB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAC1B,SAASC,mBAAmB;AAC5B,SAASC,OAAOC,YAAYC,SAASC,UAAAA,eAAc;AAMnD,IAAMC,mBAAmB,GAAGC,KAAKC,EAAE;UAMlBC,kBAAAA;mBACFC,gBAAgBC,UAAUC,KAAK;IAC1CL,MAAM;MAAEM,KAAK,GAAGP,gBAAAA;MAAoCQ,MAAM;IAAkB;IAC5EC,UAAU;MAACC,YAAWC;;IACtBC,QAAQ;MACNC,OAAcC,eAAO;QACnBC,OAAOC;QACPC,gBAAgBC,WAAWA;QAC3BC,WAAkBC,gBAAQC,KAAYC,gBAAQ;MAChD,CAAA;MACAC,QAAeC;IACjB;EACF,CAAA;mBAEaC,gBAAgBpB,UAAUC,KAAK;IAC1CL,MAAM;MAAEM,KAAK,GAAGP,gBAAAA;MAAmCQ,MAAM;IAAiB;IAC1EC,UAAU;MAACC,YAAWC;;IACtBC,QAAQ;MACNC,OAAcC,eAAO;QACnBY,SAASC,IAAIC;QACbpB,MAAac,iBAAgBO,cAAM;MACrC,CAAA;MACAN,QAAeT,eAAO;QACpBgB,QAAgBC;MAClB,CAAA;IACF;EACF,CAAA;mBAEaC,sBAAsB3B,UAAUC,KAAK;IAChDL,MAAM;MAAEM,KAAK,GAAGP,gBAAAA;MAA0CQ,MAAM;IAAwB;IACxFC,UAAU;MAACC,YAAWC;;IACtBC,QAAQ;MACNC,OAAcC,eAAO;QACnBmB,SAAiBF;MACnB,CAAA;MACAR,QAAeT,eAAO;QACpBgB,QAAQI,QAAOA;MACjB,CAAA;IACF;EACF,CAAA;mBAEaC,SAAS9B,UAAUC,KAAK;IACnCL,MAAM;MAAEM,KAAK,GAAGP,gBAAAA;MAA2BQ,MAAM;IAAgB;IACjEC,UAAU;MAACC,YAAWC;;IACtBC,QAAQ;MACNC,OAAcC,eAAO;QACnBN,MAAac,iBAAgBO,cAAM;QACnCO,QAAed,iBAAgBO,cAAM;QACrCQ,SAASC,KAAIC;MACf,CAAA;MACAhB,QAAeC;IACjB;EACF,CAAA;mBAEagB,eAAsB1B,eAAO;IACxC2B,QAAQP,QAAOA,OAAOQ,YAAY;MAAEC,aAAa;IAAsB,CAAA;IACvEP,QAAQQ,WAAWA,WAAWF,YAAY;MAAEC,aAAa;IAAsB,CAAA;EACjF,CAAA,EAAGtB,KAAYwB,eAAO;mBAITC,SAASzC,UAAUC,KAAK;IACnCL,MAAM;MAAEM,KAAK,GAAGP,gBAAAA;MAA2BQ,MAAM;IAAgB;IACjEC,UAAU;MAACC,YAAWC;;IACtBC,QAAQ;MACNC,OAAcC,eAAO;QACnBsB,QAAQQ,WAAWA;QACnBP,SAASC,KAAIC;QACbE,QAAenB,iBAASY,QAAOA,MAAM;MACvC,CAAA;MACAX,QAAMpB,iBAAEqC;IACV;EACF,CAAA;mBAEaO,SAAS1C,UAAUC,KAAK;IACnCL,MAAM;MAAEM,KAAK,GAAGP,gBAAAA;MAA2BQ,MAAM;IAAgB;IACjEC,UAAU;MAACC,YAAWC;;IACtBC,QAAQ;MACNC,OAAcC,eAAO;QACnBkC,SAAgBnB;MAClB,CAAA;MACAN,QAAeC;IACjB;EACF,CAAA;mBAEayB,iBAAiB5C,UAAUC,KAAK;IAC3CL,MAAM;MAAEM,KAAK,GAAGP,gBAAAA;MAAoCQ,MAAM;IAAkB;IAC5EC,UAAU;MAACC,YAAWC;;IACtBC,QAAQ;MACNC,OAAcC,eAAO;QACnB2B,QAAQP,QAAOA;MACjB,CAAA;MACAX,QAAeC;IACjB;EACF,CAAA;mBAEa0B,aAAa7C,UAAUC,KAAK;IACvCL,MAAM;MAAEM,KAAK,GAAGP,gBAAAA;MAAgCQ,MAAM;IAAc;IACpEC,UAAU;MAACC,YAAWC;;IACtBC,QAAQ;MACNC,OAAcC,eAAO;QACnBuB,SAASC,KAAIC;QACbH,QAAQQ,WAAWA;QACnBO,QAAQC,MAAMA;QACdC,MAAaxB;MACf,CAAA;MACAN,QAAeC;IACjB;EACF,CAAA;mBAEa8B,sBAA6BT,gBACjC/B,eAAO;IACZyC,SAASC,QAAQA,QAAQd,YAAY;MAAEC,aAAa;IAAuB,CAAA;IAC3Ec,cAAqBC,eAAOhB,YAAY;MAAEC,aAAa;IAAgC,CAAA;EACzF,CAAA,CAAA;mBAKWgB,gBAAgBtD,UAAUC,KAAK;IAC1CL,MAAM;MAAEM,KAAK,GAAGP,gBAAAA;MAAmCQ,MAAM;IAAiB;IAC1EC,UAAU;MAACC,YAAWC;;IACtBC,QAAQ;MACNC,OAAcC,eAAO;QACnBsB,QAAQQ,WAAWA;QACnBP,SAASC,KAAIC;QACbqB,WAAkB/B;MACpB,CAAA;MACAN,QAAMpB,iBAAEmD;IACV;EACF,CAAA;mBAKaO,UAAUxD,UAAUC,KAAK;IACpCL,MAAM;MAAEM,KAAK,GAAGP,gBAAAA;MAA4BQ,MAAM;IAAiB;IACnEC,UAAU;MAACC,YAAWC;;IACtBC,QAAQ;MACNC,OAAcC,eAAO;QACnB2B,QAAQP,QAAOA,OAAOQ,YAAY;UAAEC,aAAa;QAAyB,CAAA;QAC1EP,QAAQQ,WAAWA,WAAWF,YAAY;UAAEC,aAAa;QAAkC,CAAA;MAC7F,CAAA;MACApB,QAAeC;IACjB;EACF,CAAA;mBAKasC,iBAAiBzD,UAAUC,KAAK;IAC3CL,MAAM;MAAEM,KAAK,GAAGP,gBAAAA;MAAoCQ,MAAM;IAAkB;IAC5EC,UAAU;MAACC,YAAWC;;IACtBC,QAAQ;MACNC,OAAcC,eAAO;QACnBsB,QAAQQ,WAAWA,WAAWF,YAAY;UAAEC,aAAa;QAA4B,CAAA;QACrFY,SAASC,QAAQA,QAAQd,YAAY;UAAEC,aAAa;QAA0B,CAAA;QAC9Ec,cAAqBC,eAAOhB,YAAY;UAAEC,aAAa;QAAuC,CAAA;MAChG,CAAA;MACApB,QAAeC;IACjB;EACF,CAAA;AACF,GAlKiBrB,oBAAAA,kBAAAA,CAAAA,EAAAA;AAoKV,IAAM4D,uBAA8BC,gBAAelD,eAAO,CAAC,CAAA,CAAA;;",
6
+ "names": ["Capability", "ThreadCapabilities", "Settings", "Capability", "make", "meta", "id", "CallManager", "CallExtension", "State", "ViewState", "Schema", "Obj", "Ref", "Type", "FormInputAnnotation", "Thread", "Channel", "Struct", "name", "optional", "String", "defaultThread", "Ref", "Thread", "pipe", "FormInputAnnotation", "set", "threads", "Array", "Type", "object", "typename", "version", "make", "props", "Obj", "messages", "status", "Schema", "Capability", "Key", "Obj", "Collection", "Operation", "SpaceSchema", "Actor", "AnchoredTo", "Message", "Thread", "THREAD_OPERATION", "meta", "id", "ThreadOperation", "OnCreateSpace", "Operation", "make", "key", "name", "services", "Capability", "Service", "schema", "input", "Struct", "space", "SpaceSchema", "rootCollection", "Collection", "isDefault", "Boolean", "pipe", "optional", "output", "Void", "CreateChannel", "spaceId", "Key", "SpaceId", "String", "object", "Channel", "CreateChannelThread", "channel", "Thread", "Create", "anchor", "subject", "Obj", "Unknown", "DeleteOutput", "thread", "annotations", "description", "AnchoredTo", "partial", "Delete", "Select", "current", "ToggleResolved", "AddMessage", "sender", "Actor", "text", "DeleteMessageOutput", "message", "Message", "messageIndex", "Number", "DeleteMessage", "messageId", "Restore", "RestoreMessage", "ThreadSettingsSchema", "mutable"]
7
+ }
@@ -0,0 +1,125 @@
1
+ import {
2
+ MessageContainer,
3
+ command
4
+ } from "./chunk-G6FJBSXX.mjs";
5
+ import {
6
+ useStatus
7
+ } from "./chunk-HDLDMR54.mjs";
8
+ import {
9
+ getMessageMetadata
10
+ } from "./chunk-CP7E2HRE.mjs";
11
+ import {
12
+ meta
13
+ } from "./chunk-LUK4UNFA.mjs";
14
+
15
+ // src/containers/ChatContainer/ChatContainer.tsx
16
+ import React, { useLayoutEffect, useMemo, useRef, useState } from "react";
17
+ import { Obj, Ref } from "@dxos/echo";
18
+ import { useMembers } from "@dxos/react-client/echo";
19
+ import { useIdentity } from "@dxos/react-client/halo";
20
+ import { Icon, ScrollArea, useThemeContext, useTranslation } from "@dxos/react-ui";
21
+ import { StackItem } from "@dxos/react-ui-stack";
22
+ import { MessageTextbox, Thread as ThreadComponent, threadLayout } from "@dxos/react-ui-thread";
23
+ import { Message } from "@dxos/types";
24
+ import { createBasicExtensions, createThemeExtensions, listener } from "@dxos/ui-editor";
25
+ import { mx } from "@dxos/ui-theme";
26
+ import { isNonNullable } from "@dxos/util";
27
+ var ChatContainer = ({ classNames, space, thread, context, current, autoFocusTextbox }) => {
28
+ const { t } = useTranslation(meta.id);
29
+ const { themeMode } = useThemeContext();
30
+ const id = Obj.getDXN(thread).toString();
31
+ const identity = useIdentity();
32
+ const members = useMembers(space?.id);
33
+ const activity = useStatus(space, id);
34
+ const [autoFocus, setAutoFocus] = useState(autoFocusTextbox);
35
+ const threadScrollRef = useRef(null);
36
+ const [_count, _setCount] = useState(0);
37
+ const rerenderEditor = () => _setCount((count) => count + 1);
38
+ const textboxMetadata = getMessageMetadata(id, identity);
39
+ const messageRef = useRef("");
40
+ const extensions = useMemo(() => [
41
+ createBasicExtensions({
42
+ placeholder: t("message placeholder")
43
+ }),
44
+ createThemeExtensions({
45
+ themeMode
46
+ }),
47
+ listener({
48
+ onChange: ({ text }) => messageRef.current = text
49
+ }),
50
+ command
51
+ ], [
52
+ themeMode,
53
+ _count
54
+ ]);
55
+ const scrollToEnd = (behavior) => setTimeout(() => threadScrollRef.current?.scrollIntoView({
56
+ behavior,
57
+ block: "end"
58
+ }), 10);
59
+ useLayoutEffect(() => {
60
+ scrollToEnd("instant");
61
+ }, []);
62
+ const handleCreate = () => {
63
+ if (!messageRef.current?.length) {
64
+ return false;
65
+ }
66
+ Obj.change(thread, (t2) => {
67
+ t2.messages.push(Ref.make(Obj.make(Message.Message, {
68
+ created: (/* @__PURE__ */ new Date()).toISOString(),
69
+ sender: {
70
+ identityDid: identity.did
71
+ },
72
+ blocks: [
73
+ {
74
+ _tag: "text",
75
+ text: messageRef.current
76
+ }
77
+ ],
78
+ properties: context ? {
79
+ context: Ref.make(context)
80
+ } : void 0
81
+ })));
82
+ });
83
+ messageRef.current = "";
84
+ setAutoFocus(true);
85
+ scrollToEnd("smooth");
86
+ rerenderEditor();
87
+ return true;
88
+ };
89
+ return /* @__PURE__ */ React.createElement(ThreadComponent.Root, {
90
+ current,
91
+ id,
92
+ classNames: [
93
+ "h-full grid-rows-[1fr_min-content_min-content] overflow-hidden",
94
+ "transition-[padding-h-end] [[data-sidebar-left-state=open]_&]:lg:pb-0",
95
+ classNames
96
+ ]
97
+ }, /* @__PURE__ */ React.createElement(ScrollArea.Root, {
98
+ classNames: "col-span-2",
99
+ orientation: "vertical"
100
+ }, /* @__PURE__ */ React.createElement(ScrollArea.Viewport, {
101
+ ref: threadScrollRef
102
+ }, /* @__PURE__ */ React.createElement("div", {
103
+ role: "none",
104
+ className: mx(threadLayout, "place-self-end")
105
+ }, thread.messages.map((message) => message.target).filter(isNonNullable).map((message) => /* @__PURE__ */ React.createElement(MessageContainer, {
106
+ key: message.id,
107
+ message,
108
+ members
109
+ }))))), /* @__PURE__ */ React.createElement(MessageTextbox, {
110
+ extensions,
111
+ autoFocus,
112
+ onSend: handleCreate,
113
+ ...textboxMetadata
114
+ }), /* @__PURE__ */ React.createElement(ThreadComponent.Status, {
115
+ activity
116
+ }, t("activity message")));
117
+ };
118
+
119
+ // src/containers/ChatContainer/index.ts
120
+ var ChatContainer_default = ChatContainer;
121
+
122
+ export {
123
+ ChatContainer_default
124
+ };
125
+ //# sourceMappingURL=chunk-UVUCB7QO.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/ChatContainer/ChatContainer.tsx", "../../../src/containers/ChatContainer/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useLayoutEffect, useMemo, useRef, useState } from 'react';\n\nimport { Obj, Ref } from '@dxos/echo';\nimport { type Space, useMembers } from '@dxos/react-client/echo';\nimport { useIdentity } from '@dxos/react-client/halo';\nimport { Icon, ScrollArea, type ThemedClassName, useThemeContext, useTranslation } from '@dxos/react-ui';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport {\n MessageTextbox,\n type MessageTextboxProps,\n Thread as ThreadComponent,\n type ThreadRootProps,\n threadLayout,\n} from '@dxos/react-ui-thread';\nimport { Message, type Thread } from '@dxos/types';\nimport { createBasicExtensions, createThemeExtensions, listener } from '@dxos/ui-editor';\nimport { mx } from '@dxos/ui-theme';\nimport { isNonNullable } from '@dxos/util';\n\nimport { MessageContainer } from '../../components';\nimport { command } from '../../components/command-extension';\nimport { useStatus } from '../../hooks';\nimport { meta } from '../../meta';\nimport { getMessageMetadata } from '../../util';\n\nexport const ChatHeading = ({ attendableId }: { attendableId?: string }) => {\n const { t } = useTranslation(meta.id);\n return (\n <div role='none' className='flex items-center'>\n <StackItem.SigilButton attendableId={attendableId}>\n <Icon icon='ph--chat--regular' size={5} />\n </StackItem.SigilButton>\n <StackItem.HeadingLabel attendableId={attendableId}>{t('chat heading')}</StackItem.HeadingLabel>\n </div>\n );\n};\n\nexport type ChatContainerProps = ThemedClassName<\n {\n space: Space;\n thread: Thread.Thread;\n context?: Obj.Unknown;\n autoFocusTextbox?: boolean;\n } & Pick<ThreadRootProps, 'current'>\n>;\n\nexport const ChatContainer = ({\n classNames,\n space,\n thread,\n context,\n current,\n autoFocusTextbox,\n}: ChatContainerProps) => {\n const { t } = useTranslation(meta.id);\n const { themeMode } = useThemeContext();\n\n const id = Obj.getDXN(thread).toString();\n const identity = useIdentity()!;\n const members = useMembers(space?.id);\n const activity = useStatus(space, id);\n const [autoFocus, setAutoFocus] = useState(autoFocusTextbox);\n const threadScrollRef = useRef<HTMLDivElement | null>(null);\n\n // TODO(wittjosiah): This is a hack to reset the editor after a message is sent.\n const [_count, _setCount] = useState(0);\n const rerenderEditor = () => _setCount((count) => count + 1);\n\n const textboxMetadata = getMessageMetadata(id, identity);\n const messageRef = useRef('');\n const extensions = useMemo(\n () => [\n createBasicExtensions({ placeholder: t('message placeholder') }),\n createThemeExtensions({ themeMode }),\n listener({ onChange: ({ text }) => (messageRef.current = text) }),\n command,\n ],\n [themeMode, _count],\n );\n\n // TODO(thure): Factor out.\n // TODO(thure): `flex-col-reverse` does not work to start the container scrolled to the end while also using\n // `ScrollArea`. This is the least-bad way I found to scroll to the end on mount. Note that 0ms was insufficient\n // for the desired effect; this is likely hardware-dependent and should be reevaluated.\n const scrollToEnd = (behavior: ScrollBehavior) =>\n setTimeout(() => threadScrollRef.current?.scrollIntoView({ behavior, block: 'end' }), 10);\n\n useLayoutEffect(() => {\n scrollToEnd('instant');\n }, []);\n\n // TODO(burdon): Change to model.\n const handleCreate: MessageTextboxProps['onSend'] = () => {\n if (!messageRef.current?.length) {\n return false;\n }\n\n Obj.change(thread, (t) => {\n t.messages.push(\n Ref.make(\n Obj.make(Message.Message, {\n created: new Date().toISOString(),\n sender: { identityDid: identity.did },\n blocks: [{ _tag: 'text', text: messageRef.current }],\n properties: context ? { context: Ref.make(context) } : undefined,\n }),\n ),\n );\n });\n\n messageRef.current = '';\n setAutoFocus(true);\n scrollToEnd('smooth');\n rerenderEditor();\n return true;\n };\n\n return (\n <ThreadComponent.Root\n current={current}\n id={id}\n classNames={[\n 'h-full grid-rows-[1fr_min-content_min-content] overflow-hidden',\n 'transition-[padding-h-end] [[data-sidebar-left-state=open]_&]:lg:pb-0',\n classNames,\n ]}\n >\n <ScrollArea.Root classNames='col-span-2' orientation='vertical'>\n <ScrollArea.Viewport ref={threadScrollRef}>\n <div role='none' className={mx(threadLayout, 'place-self-end')}>\n {thread.messages\n .map((message) => message.target)\n .filter(isNonNullable)\n .map((message) => (\n <MessageContainer key={message.id} message={message} members={members} />\n ))}\n </div>\n </ScrollArea.Viewport>\n </ScrollArea.Root>\n\n <MessageTextbox extensions={extensions} autoFocus={autoFocus} onSend={handleCreate} {...textboxMetadata} />\n <ThreadComponent.Status activity={activity}>{t('activity message')}</ThreadComponent.Status>\n </ThreadComponent.Root>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { ChatContainer } from './ChatContainer';\n\nexport default ChatContainer;\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "useLayoutEffect", "useMemo", "useRef", "useState", "Obj", "Ref", "useMembers", "useIdentity", "Icon", "ScrollArea", "useThemeContext", "useTranslation", "StackItem", "MessageTextbox", "Thread", "ThreadComponent", "threadLayout", "Message", "createBasicExtensions", "createThemeExtensions", "listener", "mx", "isNonNullable", "ChatContainer", "classNames", "space", "thread", "context", "current", "autoFocusTextbox", "t", "useTranslation", "meta", "id", "themeMode", "useThemeContext", "Obj", "getDXN", "toString", "identity", "useIdentity", "members", "useMembers", "activity", "useStatus", "autoFocus", "setAutoFocus", "useState", "threadScrollRef", "useRef", "_count", "_setCount", "rerenderEditor", "count", "textboxMetadata", "getMessageMetadata", "messageRef", "extensions", "useMemo", "createBasicExtensions", "placeholder", "createThemeExtensions", "listener", "onChange", "text", "command", "scrollToEnd", "behavior", "setTimeout", "scrollIntoView", "block", "useLayoutEffect", "handleCreate", "length", "change", "messages", "push", "Ref", "make", "Message", "created", "Date", "toISOString", "sender", "identityDid", "did", "blocks", "_tag", "properties", "undefined", "ThreadComponent", "Root", "ScrollArea", "orientation", "Viewport", "ref", "div", "role", "className", "mx", "threadLayout", "map", "message", "target", "filter", "isNonNullable", "MessageContainer", "key", "MessageTextbox", "onSend", "Status", "ChatContainer"]
7
+ }
@@ -1,3 +1,11 @@
1
+ import {
2
+ useBlackCanvasStreamTrack,
3
+ useDebugMode,
4
+ useInaudibleAudioStreamTrack,
5
+ useOnEditAnalytics,
6
+ useStatus,
7
+ useVideoStreamTrack
8
+ } from "./chunk-HDLDMR54.mjs";
1
9
  import {
2
10
  CALLS_URL,
3
11
  CallManager,
@@ -11,63 +19,88 @@ import {
11
19
  getScreenshare,
12
20
  getUserMediaTrack,
13
21
  monitorAudioLevel
14
- } from "./chunk-ZE7KWN36.mjs";
15
- import {
16
- ChannelType,
17
- ThreadAction,
18
- ThreadType
19
- } from "./chunk-GCLD5ESP.mjs";
20
- import {
21
- AppGraphBuilder,
22
- CallManager as CallManager2,
23
- IntentResolver,
24
- Markdown,
25
- ReactRoot,
26
- ReactSurface,
27
- ThreadState
28
- } from "./chunk-4OYAYON2.mjs";
29
- import {
30
- ThreadCapabilities
31
- } from "./chunk-LGSDKXPF.mjs";
32
- import {
33
- useDebugMode,
34
- useInaudibleAudioStreamTrack,
35
- useOnEditAnalytics,
36
- useStatus,
37
- useVideoStreamTrack
38
- } from "./chunk-ERWASUQK.mjs";
22
+ } from "./chunk-ERK254BS.mjs";
39
23
  import {
40
24
  createBlackCanvasStreamTrack,
41
25
  createInaudibleAudioStreamTrack
42
- } from "./chunk-6NSMBO3B.mjs";
26
+ } from "./chunk-ISCHODBV.mjs";
27
+ import {
28
+ Channel_exports,
29
+ ThreadCapabilities,
30
+ ThreadOperation
31
+ } from "./chunk-U32R23JO.mjs";
43
32
  import {
44
33
  THREAD_ITEM,
45
- THREAD_PLUGIN,
46
34
  meta
47
- } from "./chunk-EV4JWI7L.mjs";
35
+ } from "./chunk-LUK4UNFA.mjs";
36
+ import "./chunk-J5LGTIGS.mjs";
48
37
 
49
38
  // src/ThreadPlugin.tsx
50
- import { Capabilities, contributes, createIntent, defineModule, definePlugin, Events } from "@dxos/app-framework";
51
- import { Ref } from "@dxos/echo";
52
- import { ClientCapabilities, ClientEvents } from "@dxos/plugin-client";
39
+ import * as Effect from "effect/Effect";
40
+ import { Capability as Capability11, Plugin } from "@dxos/app-framework";
41
+ import { AppActivationEvents, AppPlugin } from "@dxos/app-toolkit";
42
+ import { Ref, Type as Type2 } from "@dxos/echo";
43
+ import { Operation } from "@dxos/operation";
44
+ import { ClientEvents } from "@dxos/plugin-client";
53
45
  import { MarkdownEvents } from "@dxos/plugin-markdown";
54
46
  import { SpaceCapabilities, SpaceEvents } from "@dxos/plugin-space";
55
- import { defineObjectForm } from "@dxos/plugin-space/types";
56
47
  import { translations as threadTranslations } from "@dxos/react-ui-thread";
57
- import { AnchoredTo, DataType } from "@dxos/schema";
48
+ import { AnchoredTo, Message, Thread } from "@dxos/types";
49
+
50
+ // src/capabilities/app-graph-builder/index.ts
51
+ import { Capability } from "@dxos/app-framework";
52
+ var AppGraphBuilder = Capability.lazy("AppGraphBuilder", () => import("./app-graph-builder-5LCAM746.mjs"));
53
+
54
+ // src/capabilities/blueprint-definition/index.ts
55
+ import { Capability as Capability2 } from "@dxos/app-framework";
56
+ var BlueprintDefinition = Capability2.lazy("BlueprintDefinition", () => import("./blueprint-definition-42M2EJ2Y.mjs"));
57
+
58
+ // src/capabilities/call-manager/index.ts
59
+ import { Capability as Capability3 } from "@dxos/app-framework";
60
+ var CallManager2 = Capability3.lazy("CallManager", () => import("./call-manager-2PRP4QVZ.mjs"));
61
+
62
+ // src/capabilities/markdown/index.ts
63
+ import { Capability as Capability4 } from "@dxos/app-framework";
64
+ var Markdown = Capability4.lazy("Markdown", () => import("./markdown-GRRPCZHJ.mjs"));
65
+
66
+ // src/capabilities/operation-resolver/index.ts
67
+ import { Capability as Capability5 } from "@dxos/app-framework";
68
+ var OperationResolver = Capability5.lazy("OperationResolver", () => import("./operation-resolver-EP7FAYEB.mjs"));
69
+
70
+ // src/capabilities/react-root/index.ts
71
+ import { Capability as Capability6 } from "@dxos/app-framework";
72
+ var ReactRoot = Capability6.lazy("ReactRoot", () => import("./react-root-7UFFPPRD.mjs"));
73
+
74
+ // src/capabilities/react-surface/index.ts
75
+ import { Capability as Capability7 } from "@dxos/app-framework";
76
+ var ReactSurface = Capability7.lazy("ReactSurface", () => import("./react-surface-TIHBSZPD.mjs"));
77
+
78
+ // src/capabilities/repair/index.ts
79
+ import { Capability as Capability8 } from "@dxos/app-framework";
80
+ var Repair = Capability8.lazy("Repair", () => import("./repair-TBU45SBG.mjs"));
81
+
82
+ // src/capabilities/settings/index.ts
83
+ import { Capability as Capability9 } from "@dxos/app-framework";
84
+ var ThreadSettings = Capability9.lazy("ThreadSettings", () => import("./settings-Y75FG6XR.mjs"));
85
+
86
+ // src/capabilities/state/index.ts
87
+ import { Capability as Capability10 } from "@dxos/app-framework";
88
+ var ThreadState = Capability10.lazy("ThreadState", () => import("./state-OBTMMEUZ.mjs"));
58
89
 
59
90
  // src/translations.ts
91
+ import { Type } from "@dxos/echo";
60
92
  var translations = [
61
93
  {
62
94
  "en-US": {
63
- [ChannelType.typename]: {
95
+ [Type.getTypename(Channel_exports.Channel)]: {
64
96
  "typename label": "Channel",
65
97
  "typename label_zero": "Channels",
66
98
  "typename label_one": "Channel",
67
99
  "typename label_other": "Channels",
68
100
  "object name placeholder": "New channel",
69
101
  "rename object label": "Rename channel",
70
- "delete object label": "Delete channel"
102
+ "delete object label": "Delete channel",
103
+ "object deleted label": "Channel deleted"
71
104
  },
72
105
  [meta.id]: {
73
106
  "plugin name": "Chat",
@@ -93,10 +126,12 @@ var translations = [
93
126
  "save message label": "Save",
94
127
  "edit message label": "Edit",
95
128
  "delete message label": "Delete message",
129
+ "accept proposal label": "Accept proposal",
96
130
  "open comments panel label": "Show Comments",
97
131
  "comments label": "Comments",
98
132
  "show all label": "All comments",
99
133
  "show unresolved label": "Unresolved comments",
134
+ "add comment label": "Add comment",
100
135
  "channel companion label": "Channel",
101
136
  "call panel label": "Active Call",
102
137
  "display name label": "Display name",
@@ -104,9 +139,10 @@ var translations = [
104
139
  "display name input placeholder": "Enter your name",
105
140
  "set display name label": "Continue",
106
141
  "call tab label": "Call",
107
- "meeting status title": "Meeting",
142
+ "meeting status title": "Calls",
108
143
  "share meeting link label": "Share meeting",
109
- "show webrtc stats title": "Detailed WebRTC Stats",
144
+ "show webrtc stats title": "WebRTC Stats",
145
+ "show calls history title": "Service History",
110
146
  "meeting summary label": "Summary",
111
147
  "summarize label": "Summarize",
112
148
  "summarizing label": "Creating summary...",
@@ -136,59 +172,31 @@ var translations = [
136
172
  ];
137
173
 
138
174
  // src/ThreadPlugin.tsx
139
- var ThreadPlugin = () => definePlugin(meta, [
140
- defineModule({
141
- id: `${meta.id}/module/call-manager`,
142
- activatesOn: ClientEvents.ClientReady,
143
- activate: CallManager2
144
- }),
145
- // TODO(wittjosiah): Currently not used but leaving because there will likely be settings for threads again.
146
- // defineModule({
147
- // id: `${meta.id}/module/settings`,
148
- // activatesOn: Events.SetupSettings,
149
- // activate: ThreadSettings,
150
- // }),
151
- defineModule({
152
- id: `${meta.id}/module/state`,
153
- // TODO(wittjosiah): Does not integrate with settings store.
154
- // Should this be a different event?
155
- // Should settings store be renamed to be more generic?
156
- activatesOn: Events.SetupSettings,
157
- activate: ThreadState
175
+ var ThreadPlugin = Plugin.define(meta).pipe(
176
+ AppPlugin.addAppGraphModule({
177
+ activate: AppGraphBuilder
158
178
  }),
159
- defineModule({
160
- id: `${meta.id}/module/translations`,
161
- activatesOn: Events.SetupTranslations,
162
- activate: () => contributes(Capabilities.Translations, [
163
- ...translations,
164
- ...threadTranslations
165
- ])
179
+ AppPlugin.addBlueprintDefinitionModule({
180
+ activate: BlueprintDefinition
166
181
  }),
167
- defineModule({
168
- id: `${meta.id}/module/metadata`,
169
- activatesOn: Events.SetupMetadata,
170
- activate: () => [
171
- contributes(Capabilities.Metadata, {
172
- id: ChannelType.typename,
182
+ AppPlugin.addMetadataModule({
183
+ metadata: [
184
+ {
185
+ id: Type2.getTypename(Channel_exports.Channel),
173
186
  metadata: {
174
- icon: "ph--hash--regular"
187
+ icon: "ph--hash--regular",
188
+ iconHue: "rose",
189
+ createObject: (props) => Effect.sync(() => Channel_exports.make(props))
175
190
  }
176
- }),
177
- contributes(Capabilities.Metadata, {
178
- id: ThreadType.typename,
191
+ },
192
+ {
193
+ id: Type2.getTypename(Thread.Thread),
179
194
  metadata: {
180
195
  // TODO(wittjosiah): Move out of metadata.
181
196
  loadReferences: async (thread) => await Ref.Array.loadAll(thread.messages ?? [])
182
197
  }
183
- }),
184
- contributes(Capabilities.Metadata, {
185
- id: DataType.Message.typename,
186
- metadata: {
187
- // TODO(wittjosiah): Move out of metadata.
188
- loadReferences: (message) => []
189
- }
190
- }),
191
- contributes(Capabilities.Metadata, {
198
+ },
199
+ {
192
200
  id: THREAD_ITEM,
193
201
  metadata: {
194
202
  parse: (item, type) => {
@@ -209,70 +217,68 @@ var ThreadPlugin = () => definePlugin(meta, [
209
217
  }
210
218
  }
211
219
  }
212
- })
220
+ }
213
221
  ]
214
222
  }),
215
- defineModule({
216
- id: `${meta.id}/module/object-form`,
217
- activatesOn: ClientEvents.SetupSchema,
218
- activate: () => contributes(SpaceCapabilities.ObjectForm, defineObjectForm({
219
- objectSchema: ChannelType,
220
- getIntent: (_, options) => createIntent(ThreadAction.CreateChannel, {
221
- spaceId: options.space.id
222
- })
223
- }))
223
+ AppPlugin.addOperationResolverModule({
224
+ activate: OperationResolver
224
225
  }),
225
- defineModule({
226
- id: `${meta.id}/module/schema`,
227
- activatesOn: ClientEvents.SetupSchema,
228
- activate: () => contributes(ClientCapabilities.Schema, [
229
- AnchoredTo,
230
- ThreadType,
231
- DataType.Message,
232
- DataType.MessageV1
233
- ])
226
+ AppPlugin.addReactRootModule({
227
+ activate: ReactRoot
234
228
  }),
235
- defineModule({
236
- id: `${meta.id}/module/migration`,
237
- activatesOn: ClientEvents.SetupMigration,
238
- activate: () => contributes(ClientCapabilities.Migration, [
239
- DataType.MessageV1ToV2
240
- ])
229
+ AppPlugin.addSchemaModule({
230
+ schema: [
231
+ AnchoredTo.AnchoredTo,
232
+ Channel_exports.Channel,
233
+ Message.Message,
234
+ Thread.Thread
235
+ ]
241
236
  }),
242
- defineModule({
243
- id: `${meta.id}/module/on-space-created`,
244
- activatesOn: SpaceEvents.SpaceCreated,
245
- activate: () => contributes(SpaceCapabilities.OnSpaceCreated, ({ space, rootCollection }) => createIntent(ThreadAction.OnSpaceCreated, {
246
- space,
247
- rootCollection
248
- }))
237
+ AppPlugin.addSurfaceModule({
238
+ activate: ReactSurface
249
239
  }),
250
- defineModule({
251
- id: `${meta.id}/module/markdown`,
252
- activatesOn: MarkdownEvents.SetupExtensions,
253
- activate: Markdown
240
+ AppPlugin.addTranslationsModule({
241
+ translations: [
242
+ ...translations,
243
+ ...threadTranslations
244
+ ]
254
245
  }),
255
- defineModule({
256
- id: `${meta.id}/module/react-root`,
257
- activatesOn: Events.Startup,
258
- activate: ReactRoot
246
+ Plugin.addModule({
247
+ id: "call-manager",
248
+ activatesOn: ClientEvents.ClientReady,
249
+ activate: CallManager2
259
250
  }),
260
- defineModule({
261
- id: `${meta.id}/module/react-surface`,
262
- activatesOn: Events.SetupReactSurface,
263
- activate: ReactSurface
251
+ // TODO(wittjosiah): Currently not used but leaving because there will likely be settings for threads again.
252
+ // Plugin.addModule({
253
+ // id: 'settings',
254
+ // activatesOn: Events.SetupSettings,
255
+ // activate: ThreadSettings,
256
+ // }),
257
+ Plugin.addModule({
258
+ id: "state",
259
+ // TODO(wittjosiah): Does not integrate with settings store.
260
+ // Should this be a different event?
261
+ // Should settings store be renamed to be more generic?
262
+ activatesOn: AppActivationEvents.SetupSettings,
263
+ activate: ThreadState
264
264
  }),
265
- defineModule({
266
- id: `${meta.id}/module/intent-resolver`,
267
- activatesOn: Events.SetupIntentResolver,
268
- activate: IntentResolver
265
+ Plugin.addModule({
266
+ id: "on-space-created",
267
+ activatesOn: SpaceEvents.SpaceCreated,
268
+ activate: () => Effect.succeed(Capability11.contributes(SpaceCapabilities.OnCreateSpace, (params) => Operation.invoke(ThreadOperation.OnCreateSpace, params)))
269
269
  }),
270
- defineModule({
271
- id: `${meta.id}/module/app-graph-builder`,
272
- activatesOn: Events.SetupAppGraph,
273
- activate: AppGraphBuilder
274
- })
275
- ]);
270
+ Plugin.addModule({
271
+ id: "repair",
272
+ activatesOn: ClientEvents.SpacesReady,
273
+ activate: Repair
274
+ }),
275
+ Plugin.addModule({
276
+ id: "markdown",
277
+ activatesOn: MarkdownEvents.SetupExtensions,
278
+ activate: Markdown
279
+ }),
280
+ Plugin.make
281
+ );
276
282
  export {
277
283
  CALLS_URL,
278
284
  CallManager,
@@ -281,7 +287,6 @@ export {
281
287
  MediaManager,
282
288
  SpeakingMonitor,
283
289
  THREAD_ITEM,
284
- THREAD_PLUGIN,
285
290
  ThreadCapabilities,
286
291
  ThreadPlugin,
287
292
  TrackNameCodec,
@@ -293,6 +298,7 @@ export {
293
298
  getUserMediaTrack,
294
299
  meta,
295
300
  monitorAudioLevel,
301
+ useBlackCanvasStreamTrack,
296
302
  useDebugMode,
297
303
  useInaudibleAudioStreamTrack,
298
304
  useOnEditAnalytics,