@dxos/plugin-thread 0.8.4-main.bc674ce → 0.8.4-main.bcb3aa67d6

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 (436) hide show
  1. package/dist/lib/browser/add-message-RNUQFJTH.mjs +97 -0
  2. package/dist/lib/browser/add-message-RNUQFJTH.mjs.map +7 -0
  3. package/dist/lib/browser/blueprints/index.mjs +33 -4
  4. package/dist/lib/browser/blueprints/index.mjs.map +4 -4
  5. package/dist/lib/browser/chunk-BHQ62SKT.mjs +259 -0
  6. package/dist/lib/browser/chunk-BHQ62SKT.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-H32XEGIV.mjs +61 -0
  8. package/dist/lib/browser/chunk-H32XEGIV.mjs.map +7 -0
  9. package/dist/lib/browser/create-UWYTS35R.mjs +55 -0
  10. package/dist/lib/browser/create-UWYTS35R.mjs.map +7 -0
  11. package/dist/lib/browser/create-channel-7RX3G7QV.mjs +21 -0
  12. package/dist/lib/browser/create-channel-7RX3G7QV.mjs.map +7 -0
  13. package/dist/lib/browser/create-channel-thread-ZA7IVGTL.mjs +28 -0
  14. package/dist/lib/browser/create-channel-thread-ZA7IVGTL.mjs.map +7 -0
  15. package/dist/lib/browser/create-proposals-74FZ3XTC.mjs +57 -0
  16. package/dist/lib/browser/create-proposals-74FZ3XTC.mjs.map +7 -0
  17. package/dist/lib/browser/delete-SJBDYXW3.mjs +59 -0
  18. package/dist/lib/browser/delete-SJBDYXW3.mjs.map +7 -0
  19. package/dist/lib/browser/delete-message-AHSDDYXK.mjs +64 -0
  20. package/dist/lib/browser/delete-message-AHSDDYXK.mjs.map +7 -0
  21. package/dist/lib/browser/index.mjs +2225 -211
  22. package/dist/lib/browser/index.mjs.map +4 -4
  23. package/dist/lib/browser/meta.json +1 -1
  24. package/dist/lib/browser/on-create-space-YNZHJSZ5.mjs +25 -0
  25. package/dist/lib/browser/on-create-space-YNZHJSZ5.mjs.map +7 -0
  26. package/dist/lib/browser/operations/index.mjs +14 -0
  27. package/dist/lib/browser/operations/index.mjs.map +7 -0
  28. package/dist/lib/browser/restore-X2K3ZKFD.mjs +33 -0
  29. package/dist/lib/browser/restore-X2K3ZKFD.mjs.map +7 -0
  30. package/dist/lib/browser/restore-message-EHSQSLM3.mjs +42 -0
  31. package/dist/lib/browser/restore-message-EHSQSLM3.mjs.map +7 -0
  32. package/dist/lib/browser/select-GKW3QALS.mjs +26 -0
  33. package/dist/lib/browser/select-GKW3QALS.mjs.map +7 -0
  34. package/dist/lib/browser/toggle-resolved-Y5KJLQO3.mjs +45 -0
  35. package/dist/lib/browser/toggle-resolved-Y5KJLQO3.mjs.map +7 -0
  36. package/dist/lib/browser/types/index.mjs +5 -7
  37. package/dist/lib/node-esm/add-message-R3XLXRZ5.mjs +98 -0
  38. package/dist/lib/node-esm/add-message-R3XLXRZ5.mjs.map +7 -0
  39. package/dist/lib/node-esm/blueprints/index.mjs +33 -4
  40. package/dist/lib/node-esm/blueprints/index.mjs.map +4 -4
  41. package/dist/lib/node-esm/chunk-BAKHDRSB.mjs +260 -0
  42. package/dist/lib/node-esm/chunk-BAKHDRSB.mjs.map +7 -0
  43. package/dist/lib/node-esm/chunk-M6EZRL5B.mjs +62 -0
  44. package/dist/lib/node-esm/chunk-M6EZRL5B.mjs.map +7 -0
  45. package/dist/lib/node-esm/create-SKEKGLSD.mjs +56 -0
  46. package/dist/lib/node-esm/create-SKEKGLSD.mjs.map +7 -0
  47. package/dist/lib/node-esm/create-channel-4UICXKGI.mjs +22 -0
  48. package/dist/lib/node-esm/create-channel-4UICXKGI.mjs.map +7 -0
  49. package/dist/lib/node-esm/create-channel-thread-EWDR3J44.mjs +29 -0
  50. package/dist/lib/node-esm/create-channel-thread-EWDR3J44.mjs.map +7 -0
  51. package/dist/lib/node-esm/create-proposals-SASCDSNZ.mjs +58 -0
  52. package/dist/lib/node-esm/create-proposals-SASCDSNZ.mjs.map +7 -0
  53. package/dist/lib/node-esm/delete-IGQXPUHX.mjs +60 -0
  54. package/dist/lib/node-esm/delete-IGQXPUHX.mjs.map +7 -0
  55. package/dist/lib/node-esm/delete-message-IEJYQNZY.mjs +65 -0
  56. package/dist/lib/node-esm/delete-message-IEJYQNZY.mjs.map +7 -0
  57. package/dist/lib/node-esm/index.mjs +2225 -211
  58. package/dist/lib/node-esm/index.mjs.map +4 -4
  59. package/dist/lib/node-esm/meta.json +1 -1
  60. package/dist/lib/node-esm/on-create-space-UGALNIWK.mjs +26 -0
  61. package/dist/lib/node-esm/on-create-space-UGALNIWK.mjs.map +7 -0
  62. package/dist/lib/node-esm/operations/index.mjs +15 -0
  63. package/dist/lib/node-esm/operations/index.mjs.map +7 -0
  64. package/dist/lib/node-esm/restore-4EAMGSOF.mjs +34 -0
  65. package/dist/lib/node-esm/restore-4EAMGSOF.mjs.map +7 -0
  66. package/dist/lib/node-esm/restore-message-2Z6KR3RJ.mjs +43 -0
  67. package/dist/lib/node-esm/restore-message-2Z6KR3RJ.mjs.map +7 -0
  68. package/dist/lib/node-esm/select-MLVUUPYK.mjs +27 -0
  69. package/dist/lib/node-esm/select-MLVUUPYK.mjs.map +7 -0
  70. package/dist/lib/node-esm/toggle-resolved-Y2FRSWZ3.mjs +46 -0
  71. package/dist/lib/node-esm/toggle-resolved-Y2FRSWZ3.mjs.map +7 -0
  72. package/dist/lib/node-esm/types/index.mjs +5 -7
  73. package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
  74. package/dist/types/src/blueprints/index.d.ts +1 -1
  75. package/dist/types/src/blueprints/index.d.ts.map +1 -1
  76. package/dist/types/src/blueprints/thread-blueprint.d.ts +3 -20
  77. package/dist/types/src/blueprints/thread-blueprint.d.ts.map +1 -1
  78. package/dist/types/src/calls-service.stories.d.ts +2 -2
  79. package/dist/types/src/calls-service.stories.d.ts.map +1 -1
  80. package/dist/types/src/capabilities/app-graph-builder.d.ts +6 -0
  81. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  82. package/dist/types/src/capabilities/blueprint-definition.d.ts +6 -0
  83. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
  84. package/dist/types/src/capabilities/call-manager.d.ts +6 -0
  85. package/dist/types/src/capabilities/call-manager.d.ts.map +1 -0
  86. package/dist/types/src/capabilities/index.d.ts +15 -10
  87. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  88. package/dist/types/src/capabilities/markdown.d.ts +5 -0
  89. package/dist/types/src/capabilities/markdown.d.ts.map +1 -0
  90. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  91. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  92. package/dist/types/src/capabilities/{react-root/react-root.d.ts → react-root.d.ts} +1 -1
  93. package/dist/types/src/capabilities/react-root.d.ts.map +1 -0
  94. package/dist/types/src/capabilities/react-surface.d.ts +5 -0
  95. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  96. package/dist/types/src/capabilities/settings.d.ts +6 -0
  97. package/dist/types/src/capabilities/settings.d.ts.map +1 -0
  98. package/dist/types/src/capabilities/state.d.ts +7 -0
  99. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  100. package/dist/types/src/capabilities/undo-mappings.d.ts +5 -0
  101. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -0
  102. package/dist/types/src/components/Call/Toolbar.d.ts +1 -1
  103. package/dist/types/src/components/Call/Toolbar.d.ts.map +1 -1
  104. package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts +13 -0
  105. package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts.map +1 -0
  106. package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts +160 -0
  107. package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts.map +1 -0
  108. package/dist/types/src/components/{CommentsThreadContainer.d.ts → CommentsPanel/CommentsThread.d.ts} +3 -3
  109. package/dist/types/src/components/CommentsPanel/CommentsThread.d.ts.map +1 -0
  110. package/dist/types/src/components/CommentsPanel/index.d.ts +3 -0
  111. package/dist/types/src/components/CommentsPanel/index.d.ts.map +1 -0
  112. package/dist/types/src/components/MessagePanel/MessagePanel.d.ts +15 -0
  113. package/dist/types/src/components/MessagePanel/MessagePanel.d.ts.map +1 -0
  114. package/dist/types/src/components/MessagePanel/index.d.ts +2 -0
  115. package/dist/types/src/components/MessagePanel/index.d.ts.map +1 -0
  116. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +142 -144
  117. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +1 -1
  118. package/dist/types/src/components/ResponsiveGrid/{ResponsiveContainer.d.ts → ResponsivePanel.d.ts} +4 -4
  119. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.d.ts.map +1 -0
  120. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.stories.d.ts +164 -0
  121. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.stories.d.ts.map +1 -0
  122. package/dist/types/src/components/ResponsiveGrid/index.d.ts +1 -1
  123. package/dist/types/src/components/ResponsiveGrid/index.d.ts.map +1 -1
  124. package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts +6 -0
  125. package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts.map +1 -0
  126. package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts +161 -0
  127. package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts.map +1 -0
  128. package/dist/types/src/components/ThreadSettings/index.d.ts +3 -0
  129. package/dist/types/src/components/ThreadSettings/index.d.ts.map +1 -0
  130. package/dist/types/src/components/index.d.ts +4 -9
  131. package/dist/types/src/components/index.d.ts.map +1 -1
  132. package/dist/types/src/{components → containers/CallDebugPanel}/CallDebugPanel.d.ts +1 -1
  133. package/dist/types/src/containers/CallDebugPanel/CallDebugPanel.d.ts.map +1 -0
  134. package/dist/types/src/containers/CallDebugPanel/index.d.ts +3 -0
  135. package/dist/types/src/containers/CallDebugPanel/index.d.ts.map +1 -0
  136. package/dist/types/src/{components → containers/CallSidebar}/CallSidebar.d.ts +0 -1
  137. package/dist/types/src/containers/CallSidebar/CallSidebar.d.ts.map +1 -0
  138. package/dist/types/src/containers/CallSidebar/index.d.ts +3 -0
  139. package/dist/types/src/containers/CallSidebar/index.d.ts.map +1 -0
  140. package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts +12 -0
  141. package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts.map +1 -0
  142. package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts +162 -0
  143. package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts.map +1 -0
  144. package/dist/types/src/containers/ChannelContainer/index.d.ts +3 -0
  145. package/dist/types/src/containers/ChannelContainer/index.d.ts.map +1 -0
  146. package/dist/types/src/{components → containers/ChatContainer}/ChatContainer.d.ts +7 -5
  147. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts.map +1 -0
  148. package/dist/types/src/containers/ChatContainer/ChatContainer.stories.d.ts +162 -0
  149. package/dist/types/src/containers/ChatContainer/ChatContainer.stories.d.ts.map +1 -0
  150. package/dist/types/src/containers/ChatContainer/index.d.ts +4 -0
  151. package/dist/types/src/containers/ChatContainer/index.d.ts.map +1 -0
  152. package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts +8 -0
  153. package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts.map +1 -0
  154. package/dist/types/src/containers/ThreadCompanion/index.d.ts +3 -0
  155. package/dist/types/src/containers/ThreadCompanion/index.d.ts.map +1 -0
  156. package/dist/types/src/containers/index.d.ts +7 -0
  157. package/dist/types/src/containers/index.d.ts.map +1 -0
  158. package/dist/types/src/{components/command-extension.d.ts → extensions/command.d.ts} +1 -1
  159. package/dist/types/src/extensions/command.d.ts.map +1 -0
  160. package/dist/types/src/extensions/index.d.ts +1 -0
  161. package/dist/types/src/extensions/index.d.ts.map +1 -1
  162. package/dist/types/src/extensions/threads.d.ts +1 -1
  163. package/dist/types/src/extensions/threads.d.ts.map +1 -1
  164. package/dist/types/src/hooks/analytics.d.ts.map +1 -1
  165. package/dist/types/src/operations/add-message.d.ts +5 -0
  166. package/dist/types/src/operations/add-message.d.ts.map +1 -0
  167. package/dist/types/src/operations/create-channel-thread.d.ts +5 -0
  168. package/dist/types/src/operations/create-channel-thread.d.ts.map +1 -0
  169. package/dist/types/src/operations/create-channel.d.ts +5 -0
  170. package/dist/types/src/operations/create-channel.d.ts.map +1 -0
  171. package/dist/types/src/operations/create-proposals.d.ts +5 -0
  172. package/dist/types/src/operations/create-proposals.d.ts.map +1 -0
  173. package/dist/types/src/operations/create.d.ts +5 -0
  174. package/dist/types/src/operations/create.d.ts.map +1 -0
  175. package/dist/types/src/operations/definitions.d.ts +2789 -0
  176. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  177. package/dist/types/src/operations/delete-message.d.ts +5 -0
  178. package/dist/types/src/operations/delete-message.d.ts.map +1 -0
  179. package/dist/types/src/operations/delete.d.ts +5 -0
  180. package/dist/types/src/operations/delete.d.ts.map +1 -0
  181. package/dist/types/src/operations/index.d.ts +4 -0
  182. package/dist/types/src/operations/index.d.ts.map +1 -0
  183. package/dist/types/src/operations/on-create-space.d.ts +5 -0
  184. package/dist/types/src/operations/on-create-space.d.ts.map +1 -0
  185. package/dist/types/src/operations/restore-message.d.ts +5 -0
  186. package/dist/types/src/operations/restore-message.d.ts.map +1 -0
  187. package/dist/types/src/operations/restore.d.ts +5 -0
  188. package/dist/types/src/operations/restore.d.ts.map +1 -0
  189. package/dist/types/src/operations/select.d.ts +5 -0
  190. package/dist/types/src/operations/select.d.ts.map +1 -0
  191. package/dist/types/src/operations/toggle-resolved.d.ts +5 -0
  192. package/dist/types/src/operations/toggle-resolved.d.ts.map +1 -0
  193. package/dist/types/src/{components/testing.d.ts → testing/data.d.ts} +1 -1
  194. package/dist/types/src/testing/data.d.ts.map +1 -0
  195. package/dist/types/src/testing/stories.d.ts.map +1 -1
  196. package/dist/types/src/translations.d.ts +140 -142
  197. package/dist/types/src/translations.d.ts.map +1 -1
  198. package/dist/types/src/types/Channel.d.ts +25 -9
  199. package/dist/types/src/types/Channel.d.ts.map +1 -1
  200. package/dist/types/src/types/Settings.d.ts +4 -0
  201. package/dist/types/src/types/Settings.d.ts.map +1 -0
  202. package/dist/types/src/types/capabilities.d.ts.map +1 -1
  203. package/dist/types/src/types/types.d.ts +1 -3227
  204. package/dist/types/src/types/types.d.ts.map +1 -1
  205. package/dist/types/tsconfig.tsbuildinfo +1 -1
  206. package/package.json +88 -66
  207. package/src/ThreadPlugin.tsx +55 -57
  208. package/src/blueprints/index.ts +1 -1
  209. package/src/blueprints/thread-blueprint.ts +13 -8
  210. package/src/calls-service.stories.tsx +8 -8
  211. package/src/capabilities/{app-graph-builder/app-graph-builder.ts → app-graph-builder.ts} +41 -50
  212. package/src/capabilities/blueprint-definition.ts +17 -0
  213. package/src/capabilities/{call-manager/call-manager.ts → call-manager.ts} +5 -5
  214. package/src/capabilities/index.ts +16 -10
  215. package/src/capabilities/{markdown/markdown.ts → markdown.ts} +13 -15
  216. package/src/capabilities/operation-handler.ts +16 -0
  217. package/src/capabilities/{react-root/react-root.tsx → react-root.tsx} +4 -4
  218. package/src/capabilities/{react-surface/react-surface.tsx → react-surface.tsx} +32 -34
  219. package/src/capabilities/{settings/settings.ts → settings.ts} +8 -7
  220. package/src/capabilities/{state/state.ts → state.ts} +1 -1
  221. package/src/capabilities/undo-mappings.ts +46 -0
  222. package/src/components/Call/Call.tsx +4 -4
  223. package/src/components/Call/Toolbar.tsx +30 -21
  224. package/src/components/{Comments.stories.tsx → CommentsPanel/CommentsPanel.stories.tsx} +14 -13
  225. package/src/components/{CommentsContainer.tsx → CommentsPanel/CommentsPanel.tsx} +15 -14
  226. package/src/components/{CommentsThreadContainer.tsx → CommentsPanel/CommentsThread.tsx} +19 -20
  227. package/src/components/CommentsPanel/index.ts +6 -0
  228. package/src/components/Lobby/Lobby.tsx +7 -7
  229. package/src/components/Media/VideoObject.stories.tsx +6 -6
  230. package/src/components/Media/VideoObject.tsx +1 -1
  231. package/src/components/{MessageContainer.tsx → MessagePanel/MessagePanel.tsx} +18 -18
  232. package/src/components/MessagePanel/index.ts +5 -0
  233. package/src/components/Participant/Participant.tsx +2 -2
  234. package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +6 -6
  235. package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +8 -8
  236. package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +9 -9
  237. package/src/components/ResponsiveGrid/{ResponsiveContainer.stories.tsx → ResponsivePanel.stories.tsx} +7 -7
  238. package/src/components/ResponsiveGrid/{ResponsiveContainer.tsx → ResponsivePanel.tsx} +5 -5
  239. package/src/components/ResponsiveGrid/index.ts +1 -1
  240. package/src/components/ThreadSettings/ThreadSettings.stories.tsx +32 -0
  241. package/src/components/ThreadSettings/ThreadSettings.tsx +20 -0
  242. package/src/components/ThreadSettings/index.ts +7 -0
  243. package/src/components/index.ts +5 -9
  244. package/src/{components → containers/CallDebugPanel}/CallDebugPanel.tsx +7 -7
  245. package/src/containers/CallDebugPanel/index.ts +7 -0
  246. package/src/{components → containers/CallSidebar}/CallSidebar.tsx +4 -7
  247. package/src/containers/CallSidebar/index.ts +7 -0
  248. package/src/{components → containers/ChannelContainer}/ChannelContainer.stories.tsx +11 -13
  249. package/src/{components → containers/ChannelContainer}/ChannelContainer.tsx +75 -60
  250. package/src/containers/ChannelContainer/index.ts +7 -0
  251. package/src/{components/Chat.stories.tsx → containers/ChatContainer/ChatContainer.stories.tsx} +20 -18
  252. package/src/containers/ChatContainer/ChatContainer.tsx +130 -0
  253. package/src/containers/ChatContainer/index.ts +8 -0
  254. package/src/{components → containers/ThreadCompanion}/ThreadCompanion.tsx +74 -50
  255. package/src/containers/ThreadCompanion/index.ts +7 -0
  256. package/src/containers/index.ts +11 -0
  257. package/src/{components/command-extension.ts → extensions/command.ts} +1 -1
  258. package/src/extensions/index.ts +1 -0
  259. package/src/extensions/threads.ts +14 -13
  260. package/src/hooks/analytics.ts +3 -2
  261. package/src/meta.ts +2 -2
  262. package/src/operations/add-message.ts +82 -0
  263. package/src/operations/create-channel-thread.ts +26 -0
  264. package/src/operations/create-channel.ts +21 -0
  265. package/src/operations/create-proposals.ts +49 -0
  266. package/src/operations/create.ts +49 -0
  267. package/src/operations/definitions.ts +177 -0
  268. package/src/operations/delete-message.ts +53 -0
  269. package/src/operations/delete.ts +64 -0
  270. package/src/operations/index.ts +22 -0
  271. package/src/operations/on-create-space.ts +27 -0
  272. package/src/operations/restore-message.ts +38 -0
  273. package/src/operations/restore.ts +38 -0
  274. package/src/operations/select.ts +25 -0
  275. package/src/operations/toggle-resolved.ts +41 -0
  276. package/src/testing/stories.ts +6 -11
  277. package/src/translations.ts +72 -76
  278. package/src/types/Channel.ts +11 -4
  279. package/src/types/Settings.ts +10 -0
  280. package/src/types/capabilities.ts +8 -7
  281. package/src/types/types.ts +2 -184
  282. package/src/util.ts +1 -1
  283. package/dist/lib/browser/app-graph-builder-7C2QW32W.mjs +0 -188
  284. package/dist/lib/browser/app-graph-builder-7C2QW32W.mjs.map +0 -7
  285. package/dist/lib/browser/blueprint-definition-UQ63QKQG.mjs +0 -17
  286. package/dist/lib/browser/blueprint-definition-UQ63QKQG.mjs.map +0 -7
  287. package/dist/lib/browser/call-manager-4P536YNX.mjs +0 -26
  288. package/dist/lib/browser/call-manager-4P536YNX.mjs.map +0 -7
  289. package/dist/lib/browser/chunk-2FIHSX35.mjs +0 -293
  290. package/dist/lib/browser/chunk-2FIHSX35.mjs.map +0 -7
  291. package/dist/lib/browser/chunk-CP7E2HRE.mjs +0 -31
  292. package/dist/lib/browser/chunk-CP7E2HRE.mjs.map +0 -7
  293. package/dist/lib/browser/chunk-DLO2G3DM.mjs +0 -184
  294. package/dist/lib/browser/chunk-DLO2G3DM.mjs.map +0 -7
  295. package/dist/lib/browser/chunk-ERK254BS.mjs +0 -1810
  296. package/dist/lib/browser/chunk-ERK254BS.mjs.map +0 -7
  297. package/dist/lib/browser/chunk-ISCHODBV.mjs +0 -106
  298. package/dist/lib/browser/chunk-ISCHODBV.mjs.map +0 -7
  299. package/dist/lib/browser/chunk-YSHXWAL3.mjs +0 -1815
  300. package/dist/lib/browser/chunk-YSHXWAL3.mjs.map +0 -7
  301. package/dist/lib/browser/chunk-ZFLSTQSE.mjs +0 -106
  302. package/dist/lib/browser/chunk-ZFLSTQSE.mjs.map +0 -7
  303. package/dist/lib/browser/markdown-QMJLRR6R.mjs +0 -210
  304. package/dist/lib/browser/markdown-QMJLRR6R.mjs.map +0 -7
  305. package/dist/lib/browser/operation-resolver-T63EP5TY.mjs +0 -441
  306. package/dist/lib/browser/operation-resolver-T63EP5TY.mjs.map +0 -7
  307. package/dist/lib/browser/react-root-56MJI77R.mjs +0 -25
  308. package/dist/lib/browser/react-root-56MJI77R.mjs.map +0 -7
  309. package/dist/lib/browser/react-surface-DMBHQOXJ.mjs +0 -110
  310. package/dist/lib/browser/react-surface-DMBHQOXJ.mjs.map +0 -7
  311. package/dist/lib/browser/repair-6OZ75AUU.mjs +0 -38
  312. package/dist/lib/browser/repair-6OZ75AUU.mjs.map +0 -7
  313. package/dist/lib/browser/settings-WZMJMML3.mjs +0 -32
  314. package/dist/lib/browser/settings-WZMJMML3.mjs.map +0 -7
  315. package/dist/lib/browser/state-SJR2GL5G.mjs +0 -24
  316. package/dist/lib/browser/state-SJR2GL5G.mjs.map +0 -7
  317. package/dist/lib/node-esm/app-graph-builder-JCSVFRVY.mjs +0 -189
  318. package/dist/lib/node-esm/app-graph-builder-JCSVFRVY.mjs.map +0 -7
  319. package/dist/lib/node-esm/blueprint-definition-MZZXXL37.mjs +0 -18
  320. package/dist/lib/node-esm/blueprint-definition-MZZXXL37.mjs.map +0 -7
  321. package/dist/lib/node-esm/call-manager-FMLRR5S5.mjs +0 -27
  322. package/dist/lib/node-esm/call-manager-FMLRR5S5.mjs.map +0 -7
  323. package/dist/lib/node-esm/chunk-7XQLXMX7.mjs +0 -1816
  324. package/dist/lib/node-esm/chunk-7XQLXMX7.mjs.map +0 -7
  325. package/dist/lib/node-esm/chunk-ABUFOZVX.mjs +0 -33
  326. package/dist/lib/node-esm/chunk-ABUFOZVX.mjs.map +0 -7
  327. package/dist/lib/node-esm/chunk-AQHPP6ZX.mjs +0 -107
  328. package/dist/lib/node-esm/chunk-AQHPP6ZX.mjs.map +0 -7
  329. package/dist/lib/node-esm/chunk-KRBZBJRI.mjs +0 -185
  330. package/dist/lib/node-esm/chunk-KRBZBJRI.mjs.map +0 -7
  331. package/dist/lib/node-esm/chunk-QP3KQOPQ.mjs +0 -1811
  332. package/dist/lib/node-esm/chunk-QP3KQOPQ.mjs.map +0 -7
  333. package/dist/lib/node-esm/chunk-VBI32FGI.mjs +0 -108
  334. package/dist/lib/node-esm/chunk-VBI32FGI.mjs.map +0 -7
  335. package/dist/lib/node-esm/chunk-WMWUXWAS.mjs +0 -294
  336. package/dist/lib/node-esm/chunk-WMWUXWAS.mjs.map +0 -7
  337. package/dist/lib/node-esm/markdown-L6LLQLIN.mjs +0 -211
  338. package/dist/lib/node-esm/markdown-L6LLQLIN.mjs.map +0 -7
  339. package/dist/lib/node-esm/operation-resolver-G6GZPBRP.mjs +0 -442
  340. package/dist/lib/node-esm/operation-resolver-G6GZPBRP.mjs.map +0 -7
  341. package/dist/lib/node-esm/react-root-V4W4X5GL.mjs +0 -26
  342. package/dist/lib/node-esm/react-root-V4W4X5GL.mjs.map +0 -7
  343. package/dist/lib/node-esm/react-surface-ELDSTUA3.mjs +0 -111
  344. package/dist/lib/node-esm/react-surface-ELDSTUA3.mjs.map +0 -7
  345. package/dist/lib/node-esm/repair-6777EPOM.mjs +0 -39
  346. package/dist/lib/node-esm/repair-6777EPOM.mjs.map +0 -7
  347. package/dist/lib/node-esm/settings-37CO3SNR.mjs +0 -33
  348. package/dist/lib/node-esm/settings-37CO3SNR.mjs.map +0 -7
  349. package/dist/lib/node-esm/state-5R3TZJQE.mjs +0 -25
  350. package/dist/lib/node-esm/state-5R3TZJQE.mjs.map +0 -7
  351. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +0 -6
  352. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +0 -1
  353. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +0 -3
  354. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +0 -1
  355. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +0 -9
  356. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +0 -1
  357. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +0 -3
  358. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +0 -1
  359. package/dist/types/src/capabilities/call-manager/call-manager.d.ts +0 -6
  360. package/dist/types/src/capabilities/call-manager/call-manager.d.ts.map +0 -1
  361. package/dist/types/src/capabilities/call-manager/index.d.ts +0 -3
  362. package/dist/types/src/capabilities/call-manager/index.d.ts.map +0 -1
  363. package/dist/types/src/capabilities/markdown/index.d.ts +0 -3
  364. package/dist/types/src/capabilities/markdown/index.d.ts.map +0 -1
  365. package/dist/types/src/capabilities/markdown/markdown.d.ts +0 -5
  366. package/dist/types/src/capabilities/markdown/markdown.d.ts.map +0 -1
  367. package/dist/types/src/capabilities/operation-resolver/index.d.ts +0 -3
  368. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +0 -1
  369. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +0 -5
  370. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +0 -1
  371. package/dist/types/src/capabilities/react-root/index.d.ts +0 -6
  372. package/dist/types/src/capabilities/react-root/index.d.ts.map +0 -1
  373. package/dist/types/src/capabilities/react-root/react-root.d.ts.map +0 -1
  374. package/dist/types/src/capabilities/react-surface/index.d.ts +0 -3
  375. package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
  376. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +0 -5
  377. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
  378. package/dist/types/src/capabilities/repair/index.d.ts +0 -3
  379. package/dist/types/src/capabilities/repair/index.d.ts.map +0 -1
  380. package/dist/types/src/capabilities/repair/repair.d.ts +0 -6
  381. package/dist/types/src/capabilities/repair/repair.d.ts.map +0 -1
  382. package/dist/types/src/capabilities/settings/index.d.ts +0 -3
  383. package/dist/types/src/capabilities/settings/index.d.ts.map +0 -1
  384. package/dist/types/src/capabilities/settings/settings.d.ts +0 -5
  385. package/dist/types/src/capabilities/settings/settings.d.ts.map +0 -1
  386. package/dist/types/src/capabilities/state/index.d.ts +0 -3
  387. package/dist/types/src/capabilities/state/index.d.ts.map +0 -1
  388. package/dist/types/src/capabilities/state/state.d.ts +0 -7
  389. package/dist/types/src/capabilities/state/state.d.ts.map +0 -1
  390. package/dist/types/src/components/CallDebugPanel.d.ts.map +0 -1
  391. package/dist/types/src/components/CallSidebar.d.ts.map +0 -1
  392. package/dist/types/src/components/ChannelContainer.d.ts +0 -13
  393. package/dist/types/src/components/ChannelContainer.d.ts.map +0 -1
  394. package/dist/types/src/components/ChannelContainer.stories.d.ts +0 -164
  395. package/dist/types/src/components/ChannelContainer.stories.d.ts.map +0 -1
  396. package/dist/types/src/components/Chat.stories.d.ts +0 -164
  397. package/dist/types/src/components/Chat.stories.d.ts.map +0 -1
  398. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  399. package/dist/types/src/components/Comments.stories.d.ts +0 -162
  400. package/dist/types/src/components/Comments.stories.d.ts.map +0 -1
  401. package/dist/types/src/components/CommentsContainer.d.ts +0 -13
  402. package/dist/types/src/components/CommentsContainer.d.ts.map +0 -1
  403. package/dist/types/src/components/CommentsThreadContainer.d.ts.map +0 -1
  404. package/dist/types/src/components/MessageContainer.d.ts +0 -15
  405. package/dist/types/src/components/MessageContainer.d.ts.map +0 -1
  406. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.d.ts.map +0 -1
  407. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +0 -166
  408. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +0 -1
  409. package/dist/types/src/components/ThreadCompanion.d.ts +0 -5
  410. package/dist/types/src/components/ThreadCompanion.d.ts.map +0 -1
  411. package/dist/types/src/components/ThreadSettings.d.ts +0 -8
  412. package/dist/types/src/components/ThreadSettings.d.ts.map +0 -1
  413. package/dist/types/src/components/command-extension.d.ts.map +0 -1
  414. package/dist/types/src/components/testing.d.ts.map +0 -1
  415. package/dist/types/src/functions/create-proposals.d.ts +0 -6
  416. package/dist/types/src/functions/create-proposals.d.ts.map +0 -1
  417. package/dist/types/src/functions/index.d.ts +0 -2
  418. package/dist/types/src/functions/index.d.ts.map +0 -1
  419. package/src/capabilities/app-graph-builder/index.ts +0 -7
  420. package/src/capabilities/blueprint-definition/blueprint-definition.ts +0 -23
  421. package/src/capabilities/blueprint-definition/index.ts +0 -7
  422. package/src/capabilities/call-manager/index.ts +0 -7
  423. package/src/capabilities/markdown/index.ts +0 -7
  424. package/src/capabilities/operation-resolver/index.ts +0 -7
  425. package/src/capabilities/operation-resolver/operation-resolver.ts +0 -400
  426. package/src/capabilities/react-root/index.ts +0 -7
  427. package/src/capabilities/react-surface/index.ts +0 -7
  428. package/src/capabilities/repair/index.ts +0 -7
  429. package/src/capabilities/repair/repair.ts +0 -51
  430. package/src/capabilities/settings/index.ts +0 -7
  431. package/src/capabilities/state/index.ts +0 -7
  432. package/src/components/ChatContainer.tsx +0 -155
  433. package/src/components/ThreadSettings.tsx +0 -21
  434. package/src/functions/create-proposals.ts +0 -57
  435. package/src/functions/index.ts +0 -5
  436. /package/src/{components/testing.ts → testing/data.ts} +0 -0
@@ -0,0 +1,38 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+
7
+ import { Obj, Ref, Relation } from '@dxos/echo';
8
+ import { invariant } from '@dxos/invariant';
9
+ import { Operation } from '@dxos/operation';
10
+ import { ObservabilityOperation } from '@dxos/plugin-observability/operations';
11
+ import { Thread } from '@dxos/types';
12
+
13
+ import { RestoreMessage } from './definitions';
14
+
15
+ const handler: Operation.WithHandler<typeof RestoreMessage> = RestoreMessage.pipe(
16
+ Operation.withHandler(
17
+ Effect.fnUntraced(function* ({ anchor, message, messageIndex }) {
18
+ const thread = Relation.getSource(anchor) as Thread.Thread;
19
+ const db = Obj.getDatabase(thread);
20
+ invariant(db, 'Database not found');
21
+
22
+ Obj.change(thread, (obj) => {
23
+ obj.messages.splice(messageIndex, 0, Ref.make(message));
24
+ });
25
+
26
+ yield* Operation.schedule(ObservabilityOperation.SendEvent, {
27
+ name: 'threads.message.undo-delete',
28
+ properties: {
29
+ spaceId: db.spaceId,
30
+ threadId: thread.id,
31
+ messageId: message.id,
32
+ },
33
+ });
34
+ }),
35
+ ),
36
+ );
37
+
38
+ export default handler;
@@ -0,0 +1,38 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+
7
+ import { sleep } from '@dxos/async';
8
+ import { Obj } from '@dxos/echo';
9
+ import { Operation } from '@dxos/operation';
10
+ import { ObservabilityOperation } from '@dxos/plugin-observability/operations';
11
+
12
+ import { Restore } from './definitions';
13
+
14
+ const handler: Operation.WithHandler<typeof Restore> = Restore.pipe(
15
+ Operation.withHandler(
16
+ Effect.fnUntraced(function* ({ thread, anchor }) {
17
+ const db = Obj.getDatabase(thread);
18
+ if (!db) {
19
+ return;
20
+ }
21
+
22
+ // TODO(wittjosiah): Without sleep, rendering crashes at `Relation.setSource(anchor)`.
23
+ db.add(thread);
24
+ yield* Effect.promise(() => sleep(100));
25
+ db.add(anchor);
26
+
27
+ yield* Operation.schedule(ObservabilityOperation.SendEvent, {
28
+ name: 'threads.undo-delete',
29
+ properties: {
30
+ spaceId: db.spaceId,
31
+ threadId: thread.id,
32
+ },
33
+ });
34
+ }),
35
+ ),
36
+ );
37
+
38
+ export default handler;
@@ -0,0 +1,25 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+
7
+ import { Capabilities, Capability } from '@dxos/app-framework';
8
+ import { Operation } from '@dxos/operation';
9
+
10
+ import { Select } from './definitions';
11
+
12
+ import { ThreadCapabilities } from '../types';
13
+
14
+ const handler: Operation.WithHandler<typeof Select> = Select.pipe(
15
+ Operation.withHandler(
16
+ Effect.fnUntraced(function* (input) {
17
+ const registry = yield* Capability.get(Capabilities.AtomRegistry);
18
+ const stateAtom = yield* Capability.get(ThreadCapabilities.State);
19
+ const current = registry.get(stateAtom);
20
+ registry.set(stateAtom, { ...current, current: input.current });
21
+ }),
22
+ ),
23
+ );
24
+
25
+ export default handler;
@@ -0,0 +1,41 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+
7
+ import { Obj } from '@dxos/echo';
8
+ import { invariant } from '@dxos/invariant';
9
+ import { Operation } from '@dxos/operation';
10
+ import { ObservabilityOperation } from '@dxos/plugin-observability/operations';
11
+
12
+ import { ToggleResolved } from './definitions';
13
+
14
+ const handler: Operation.WithHandler<typeof ToggleResolved> = ToggleResolved.pipe(
15
+ Operation.withHandler(
16
+ Effect.fnUntraced(function* (input) {
17
+ const thread = input.thread;
18
+
19
+ Obj.change(thread, (obj) => {
20
+ if (obj.status === 'active' || obj.status === undefined) {
21
+ obj.status = 'resolved';
22
+ } else if (obj.status === 'resolved') {
23
+ obj.status = 'active';
24
+ }
25
+ });
26
+
27
+ const db = Obj.getDatabase(thread);
28
+ invariant(db, 'Database not found');
29
+
30
+ yield* Operation.schedule(ObservabilityOperation.SendEvent, {
31
+ name: 'threads.toggle-resolved',
32
+ properties: {
33
+ spaceId: db.spaceId,
34
+ threadId: thread.id,
35
+ },
36
+ });
37
+ }),
38
+ ),
39
+ );
40
+
41
+ export default handler;
@@ -4,19 +4,17 @@
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
6
 
7
- import { OperationPlugin, type Plugin, SettingsPlugin } from '@dxos/app-framework';
7
+ import { type Plugin } from '@dxos/app-framework';
8
8
  import { ClientPlugin } from '@dxos/plugin-client';
9
- import { GraphPlugin } from '@dxos/plugin-graph';
10
9
  import { SpacePlugin } from '@dxos/plugin-space';
11
- import { ThemePlugin } from '@dxos/plugin-theme';
12
10
  import { Config } from '@dxos/react-client';
13
- import { defaultTx } from '@dxos/ui-theme';
11
+ import { corePlugins } from '@dxos/plugin-testing';
14
12
 
15
13
  import { ThreadPlugin } from '../ThreadPlugin';
16
- import { Channel } from '../types';
14
+ import { Channel } from '#types';
17
15
 
18
16
  export const createThreadPlugins = async (): Promise<Array<Plugin.Plugin>> => [
19
- ThemePlugin({ tx: defaultTx }),
17
+ ...corePlugins(),
20
18
  ClientPlugin({
21
19
  onClientInitialized: ({ client }) =>
22
20
  Effect.gen(function* () {
@@ -24,8 +22,8 @@ export const createThreadPlugins = async (): Promise<Array<Plugin.Plugin>> => [
24
22
  }),
25
23
  onSpacesReady: ({ client }) =>
26
24
  Effect.gen(function* () {
27
- yield* Effect.promise(() => client.spaces.default.waitUntilReady());
28
- client.spaces.default.db.add(Channel.make());
25
+ const space = client.spaces.get()[0];
26
+ space.db.add(Channel.make());
29
27
  }),
30
28
  config: new Config({
31
29
  runtime: {
@@ -48,8 +46,5 @@ export const createThreadPlugins = async (): Promise<Array<Plugin.Plugin>> => [
48
46
  }),
49
47
  }),
50
48
  SpacePlugin({}),
51
- OperationPlugin(),
52
- SettingsPlugin(),
53
- GraphPlugin(),
54
49
  ThreadPlugin(),
55
50
  ];
@@ -5,96 +5,92 @@
5
5
  import { Type } from '@dxos/echo';
6
6
  import { type Resource } from '@dxos/react-ui';
7
7
 
8
- import { meta } from './meta';
9
- import { Channel } from './types';
8
+ import { meta } from '#meta';
9
+ import { Channel } from '#types';
10
10
 
11
11
  export const translations = [
12
12
  {
13
13
  'en-US': {
14
14
  [Type.getTypename(Channel.Channel)]: {
15
- 'typename label': 'Channel',
16
- 'typename label_zero': 'Channels',
17
- 'typename label_one': 'Channel',
18
- 'typename label_other': 'Channels',
19
- 'object name placeholder': 'New channel',
20
- 'rename object label': 'Rename channel',
21
- 'delete object label': 'Delete channel',
22
- 'object deleted label': 'Channel deleted',
15
+ 'typename.label': 'Channel',
16
+ 'typename.label_zero': 'Channels',
17
+ 'typename.label_one': 'Channel',
18
+ 'typename.label_other': 'Channels',
19
+ 'object-name.placeholder': 'New channel',
20
+ 'add-object.label': 'Add channel',
21
+ 'rename-object.label': 'Rename channel',
22
+ 'delete-object.label': 'Delete channel',
23
+ 'object-deleted.label': 'Channel deleted',
23
24
  },
24
25
  [meta.id]: {
25
- 'plugin name': 'Chat',
26
- 'channel title label': 'Title',
27
- 'message placeholder': 'Reply…',
28
- 'activity message': 'Processing…',
29
- 'anonymous label': 'Anonymous',
30
- 'delete message block label': 'Delete message block',
31
- 'detached thread label': 'Referenced content was removed',
32
- 'delete thread label': 'Delete thread',
33
- 'resolve thread label': 'Resolve thread',
34
- 'thread deleted label': 'Thread deleted',
35
- 'message deleted label': 'Message deleted',
36
- 'comments heading': 'Comments',
37
- 'chat heading': 'Chat',
38
- 'draft button': 'DRAFT',
39
- 'no comments title': 'Comments',
40
- 'no comments message':
26
+ 'plugin.name': 'Chat',
27
+ 'channel-title.label': 'Title',
28
+ 'message.placeholder': 'Reply…',
29
+ 'activity.message': 'Processing…',
30
+ 'anonymous.label': 'Anonymous',
31
+ 'delete-message-block.label': 'Delete message block',
32
+ 'detached-thread.label': 'Referenced content was removed',
33
+ 'delete-thread.label': 'Delete thread',
34
+ 'resolve-thread.label': 'Resolve thread',
35
+ 'thread-deleted.label': 'Thread deleted',
36
+ 'message-deleted.label': 'Message deleted',
37
+ 'comments.heading': 'Comments',
38
+ 'chat.heading': 'Chat',
39
+ 'draft.button': 'DRAFT',
40
+ 'no-comments.title': 'Comments',
41
+ 'no-comments.message':
41
42
  'Click on the <commentIcon></commentIcon> button in the document toolbar to create a comment thread on the selected text.',
42
- 'toggle show resolved': 'Show resolved',
43
- 'unnamed object threads label': 'Threads',
44
- 'mark as resolved label': 'Mark as resolved',
45
- 'mark as unresolved label': 'Mark as unresolved',
46
- 'save message label': 'Save',
47
- 'edit message label': 'Edit',
48
- 'delete message label': 'Delete message',
49
- 'accept proposal label': 'Accept proposal',
50
- 'open comments panel label': 'Show Comments',
51
- 'comments label': 'Comments',
52
- 'show all label': 'All comments',
53
- 'show unresolved label': 'Unresolved comments',
54
- 'add comment label': 'Add comment',
43
+ 'toggle-show-resolved.label': 'Show resolved',
44
+ 'unnamed-object-threads.label': 'Threads',
45
+ 'mark-as-resolved.label': 'Mark as resolved',
46
+ 'mark-as-unresolved.label': 'Mark as unresolved',
47
+ 'save-message.label': 'Save',
48
+ 'edit-message.label': 'Edit',
49
+ 'delete-message.label': 'Delete message',
50
+ 'accept-proposal.label': 'Accept proposal',
51
+ 'open-comments-panel.label': 'Show Comments',
52
+ 'comments.label': 'Comments',
53
+ 'show-all.label': 'All comments',
54
+ 'show-unresolved.label': 'Unresolved comments',
55
+ 'add-comment.label': 'Add comment',
55
56
 
56
- 'channel companion label': 'Channel',
57
- 'call panel label': 'Active Call',
57
+ 'channel-companion.label': 'Channel',
58
+ 'call-panel.label': 'Active Call',
58
59
 
59
- 'display name label': 'Display name',
60
- 'display name description': 'Set your display name before joining a meeting.',
61
- 'display name input placeholder': 'Enter your name',
62
- 'set display name label': 'Continue',
60
+ 'display-name.label': 'Display name',
61
+ 'display-name.description': 'Set your display name before joining a meeting.',
62
+ 'display-name-input.placeholder': 'Enter your name',
63
+ 'set-display-name.label': 'Continue',
63
64
 
64
- 'call tab label': 'Call',
65
- 'meeting status title': 'Calls',
66
- 'share meeting link label': 'Share meeting',
67
- 'show webrtc stats title': 'WebRTC Stats',
68
- 'show calls history title': 'Service History',
65
+ 'call-tab.label': 'Call',
66
+ 'meeting-status.title': 'Calls',
67
+ 'share-meeting-link.label': 'Share meeting',
68
+ 'show-webrtc-stats.title': 'WebRTC Stats',
69
+ 'show-calls-history.title': 'Service History',
69
70
 
70
- 'meeting summary label': 'Summary',
71
- 'summarize label': 'Summarize',
72
- 'summarizing label': 'Creating summary...',
73
- 'create summary message': 'A summary doesn’t exist for this meeting yet. Create one now?',
71
+ 'meeting-summary.label': 'Summary',
72
+ 'summarize.label': 'Summarize',
73
+ 'summarizing.label': 'Creating summary...',
74
+ 'create-summary.message': 'A summary doesn’t exist for this meeting yet. Create one now?',
74
75
 
75
- 'join call': 'Join',
76
- 'leave call': 'Leave',
76
+ 'icon-pin.label': 'Pin video',
77
+ 'icon-unpin.label': 'Unpin video',
78
+ 'icon-wave.label': 'Waving',
79
+ 'icon-muted.label': 'Muted',
80
+ 'join-call.button': 'Join',
81
+ 'leave-call.button': 'Leave',
82
+ 'mic-on.button': 'Unmute',
83
+ 'mic-off.button': 'Mute',
84
+ 'camera-on.button': 'Turn camera on',
85
+ 'camera-off.button': 'Turn camera off',
86
+ 'camera-off.label': 'Camera off',
87
+ 'raise-hand.button': 'Raise hand',
88
+ 'lower-hand.button': 'Lower hand',
89
+ 'screenshare-on.button': 'Share screen',
90
+ 'screenshare-off.button': 'Stop streaming',
77
91
 
78
- 'lobby participants_zero': 'No participants',
79
- 'lobby participants_one': '1 participant',
80
- 'lobby participants_other': '{{count}} participants',
81
-
82
- 'icon pin': 'Pin video',
83
- 'icon unpin': 'Unpin video',
84
- 'icon wave': 'Waving',
85
- 'icon muted': 'Muted',
86
- 'icon speaking': 'Speaking',
87
-
88
- 'mic on': 'Unmute',
89
- 'mic off': 'Mute',
90
- 'camera on': 'Turn camera on',
91
- 'camera off': 'Turn camera off',
92
- 'camera off label': 'Camera off',
93
-
94
- 'raise hand': 'Raise hand',
95
- 'lower hand': 'Lower hand',
96
- 'screenshare on': 'Share screen',
97
- 'screenshare off': 'Stop streaming',
92
+ 'channel-toolbar.title': 'Channel actions',
93
+ 'start-video-call.menu': 'Start video call',
98
94
  },
99
95
  },
100
96
  },
@@ -2,22 +2,29 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
+ // @import-as-namespace
6
+
5
7
  import * as Schema from 'effect/Schema';
6
8
 
7
- import { Obj, Ref, Type } from '@dxos/echo';
9
+ import { Annotation, Obj, Ref, Type } from '@dxos/echo';
8
10
  import { FormInputAnnotation } from '@dxos/echo/internal';
9
11
  import { Thread } from '@dxos/types';
10
12
 
13
+ // TODO(burdon): What is the difference between Thread and Channel.
11
14
  export const Channel = Schema.Struct({
12
15
  name: Schema.optional(Schema.String),
13
- defaultThread: Type.Ref(Thread.Thread).pipe(FormInputAnnotation.set(false)),
16
+ defaultThread: Ref.Ref(Thread.Thread).pipe(FormInputAnnotation.set(false)),
14
17
  // TODO(wittjosiah): Should be an "ordered collection".
15
- threads: Type.Ref(Thread.Thread).pipe(Schema.Array, FormInputAnnotation.set(false)),
18
+ threads: Ref.Ref(Thread.Thread).pipe(Schema.Array, FormInputAnnotation.set(false)),
16
19
  }).pipe(
17
20
  Type.object({
18
- typename: 'dxos.org/type/Channel',
21
+ typename: 'org.dxos.type.channel',
19
22
  version: '0.1.0',
20
23
  }),
24
+ Annotation.IconAnnotation.set({
25
+ icon: 'ph--hash--regular',
26
+ hue: 'rose',
27
+ }),
21
28
  );
22
29
 
23
30
  export interface Channel extends Schema.Schema.Type<typeof Channel> {}
@@ -0,0 +1,10 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ // @import-as-namespace
6
+
7
+ import * as Schema from 'effect/Schema';
8
+
9
+ export const Settings = Schema.mutable(Schema.Struct({}));
10
+ export type Settings = Schema.Schema.Type<typeof Settings>;
@@ -7,12 +7,13 @@ import { type Atom } from '@effect-atom/atom-react';
7
7
  import { Capability } from '@dxos/app-framework';
8
8
 
9
9
  import { type CallManager, type CallState, type MediaState } from '../calls';
10
- import { meta } from '../meta';
11
- import { type Channel, type ThreadSettingsProps, type ThreadState, type ViewStore } from '../types';
10
+ import { meta } from '#meta';
11
+ import { type Channel, type ThreadState, type ViewStore } from '../types';
12
+ import * as Settings from './Settings';
12
13
 
13
14
  export namespace ThreadCapabilities {
14
- export const Settings = Capability.make<Atom.Writable<ThreadSettingsProps>>(`${meta.id}/capability/settings`);
15
- export const CallManager = Capability.make<CallManager>(`${meta.id}/capability/call-manager`);
15
+ export const Settings = Capability.make<Atom.Writable<Settings.Settings>>(`${meta.id}.capability.settings`);
16
+ export const CallManager = Capability.make<CallManager>(`${meta.id}.capability.call-manager`);
16
17
 
17
18
  // TODO(burdon): Better way to define specific extensions for meeting companions.
18
19
  // TODO(burdon): This brings in deps from ../calls; how should we manage/minimize explicit type exposure to other plugins?
@@ -24,11 +25,11 @@ export namespace ThreadCapabilities {
24
25
  onMediaStateUpdated: ([mediaState, isSpeaking]: [MediaState, boolean]) => Promise<void>;
25
26
  };
26
27
 
27
- export const CallExtension = Capability.make<CallProperties>(`${meta.id}/capability/call-extension`);
28
+ export const CallExtension = Capability.make<CallProperties>(`${meta.id}.capability.call-extension`);
28
29
 
29
30
  /** Thread state (drafts, toolbar state, current selection). */
30
- export const State = Capability.make<Atom.Writable<ThreadState>>(`${meta.id}/capability/state`);
31
+ export const State = Capability.make<Atom.Writable<ThreadState>>(`${meta.id}.capability.state`);
31
32
 
32
33
  /** Per-subject view state (e.g., showResolvedThreads). */
33
- export const ViewState = Capability.make<Atom.Writable<ViewStore>>(`${meta.id}/capability/view-state`);
34
+ export const ViewState = Capability.make<Atom.Writable<ViewStore>>(`${meta.id}.capability.view-state`);
34
35
  }
@@ -2,191 +2,9 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import * as Schema from 'effect/Schema';
5
+ import { AnchoredTo, Thread } from '@dxos/types';
6
6
 
7
- import { Capability } from '@dxos/app-framework';
8
- import { Key, Type } from '@dxos/echo';
9
- import { Operation } from '@dxos/operation';
10
- import { SpaceSchema } from '@dxos/react-client/echo';
11
- import { Collection } from '@dxos/schema';
12
- import { Actor, AnchoredTo, Message, Thread } from '@dxos/types';
13
-
14
- import { meta } from '../meta';
15
-
16
- import * as Channel from './Channel';
17
-
18
- const THREAD_OPERATION = `${meta.id}/operation`;
19
-
20
- /**
21
- * Operations for the Thread plugin.
22
- * Note: Complex ECHO types are typed as Schema.Any to avoid serialization issues.
23
- */
24
- export namespace ThreadOperation {
25
- export const OnCreateSpace = Operation.make({
26
- meta: { key: `${THREAD_OPERATION}/on-create-space`, name: 'On Create Space' },
27
- services: [Capability.Service],
28
- schema: {
29
- input: Schema.Struct({
30
- space: SpaceSchema,
31
- rootCollection: Collection.Collection,
32
- isDefault: Schema.Boolean.pipe(Schema.optional),
33
- }),
34
- output: Schema.Void,
35
- },
36
- });
37
-
38
- export const CreateChannel = Operation.make({
39
- meta: { key: `${THREAD_OPERATION}/create-channel`, name: 'Create Channel' },
40
- services: [Capability.Service],
41
- schema: {
42
- input: Schema.Struct({
43
- spaceId: Key.SpaceId,
44
- name: Schema.optional(Schema.String),
45
- }),
46
- output: Schema.Struct({
47
- object: Channel.Channel,
48
- }),
49
- },
50
- });
51
-
52
- export const CreateChannelThread = Operation.make({
53
- meta: { key: `${THREAD_OPERATION}/create-channel-thread`, name: 'Create Channel Thread' },
54
- services: [Capability.Service],
55
- schema: {
56
- input: Schema.Struct({
57
- channel: Channel.Channel,
58
- }),
59
- output: Schema.Struct({
60
- object: Thread.Thread,
61
- }),
62
- },
63
- });
64
-
65
- export const Create = Operation.make({
66
- meta: { key: `${THREAD_OPERATION}/create`, name: 'Create Thread' },
67
- services: [Capability.Service],
68
- schema: {
69
- input: Schema.Struct({
70
- name: Schema.optional(Schema.String),
71
- anchor: Schema.optional(Schema.String),
72
- subject: Type.Obj,
73
- }),
74
- output: Schema.Void,
75
- },
76
- });
77
-
78
- export const DeleteOutput = Schema.Struct({
79
- thread: Thread.Thread.annotations({ description: 'The deleted thread.' }),
80
- anchor: AnchoredTo.AnchoredTo.annotations({ description: 'The deleted anchor.' }),
81
- }).pipe(Schema.partial);
82
-
83
- export type DeleteOutput = Schema.Schema.Type<typeof DeleteOutput>;
84
-
85
- export const Delete = Operation.make({
86
- meta: { key: `${THREAD_OPERATION}/delete`, name: 'Delete Thread' },
87
- services: [Capability.Service],
88
- schema: {
89
- input: Schema.Struct({
90
- anchor: AnchoredTo.AnchoredTo,
91
- subject: Type.Obj,
92
- thread: Schema.optional(Thread.Thread),
93
- }),
94
- output: DeleteOutput,
95
- },
96
- });
97
-
98
- export const Select = Operation.make({
99
- meta: { key: `${THREAD_OPERATION}/select`, name: 'Select Thread' },
100
- services: [Capability.Service],
101
- schema: {
102
- input: Schema.Struct({
103
- current: Schema.String,
104
- }),
105
- output: Schema.Void,
106
- },
107
- });
108
-
109
- export const ToggleResolved = Operation.make({
110
- meta: { key: `${THREAD_OPERATION}/toggle-resolved`, name: 'Toggle Resolved' },
111
- services: [Capability.Service],
112
- schema: {
113
- input: Schema.Struct({
114
- thread: Thread.Thread,
115
- }),
116
- output: Schema.Void,
117
- },
118
- });
119
-
120
- export const AddMessage = Operation.make({
121
- meta: { key: `${THREAD_OPERATION}/add-message`, name: 'Add Message' },
122
- services: [Capability.Service],
123
- schema: {
124
- input: Schema.Struct({
125
- subject: Type.Obj,
126
- anchor: AnchoredTo.AnchoredTo,
127
- sender: Actor.Actor,
128
- text: Schema.String,
129
- }),
130
- output: Schema.Void,
131
- },
132
- });
133
-
134
- export const DeleteMessageOutput = Schema.partial(
135
- Schema.Struct({
136
- message: Message.Message.annotations({ description: 'The deleted message.' }),
137
- messageIndex: Schema.Number.annotations({ description: 'The index the message was at.' }),
138
- }),
139
- );
140
-
141
- export type DeleteMessageOutput = Schema.Schema.Type<typeof DeleteMessageOutput>;
142
-
143
- export const DeleteMessage = Operation.make({
144
- meta: { key: `${THREAD_OPERATION}/delete-message`, name: 'Delete Message' },
145
- services: [Capability.Service],
146
- schema: {
147
- input: Schema.Struct({
148
- anchor: AnchoredTo.AnchoredTo,
149
- subject: Type.Obj,
150
- messageId: Schema.String,
151
- }),
152
- output: DeleteMessageOutput,
153
- },
154
- });
155
-
156
- /**
157
- * Restore a deleted thread (inverse of Delete).
158
- */
159
- export const Restore = Operation.make({
160
- meta: { key: `${THREAD_OPERATION}/restore`, name: 'Restore Thread' },
161
- services: [Capability.Service],
162
- schema: {
163
- input: Schema.Struct({
164
- thread: Thread.Thread.annotations({ description: 'The thread to restore.' }),
165
- anchor: AnchoredTo.AnchoredTo.annotations({ description: 'The anchor relation to restore.' }),
166
- }),
167
- output: Schema.Void,
168
- },
169
- });
170
-
171
- /**
172
- * Restore a deleted message (inverse of DeleteMessage).
173
- */
174
- export const RestoreMessage = Operation.make({
175
- meta: { key: `${THREAD_OPERATION}/restore-message`, name: 'Restore Message' },
176
- services: [Capability.Service],
177
- schema: {
178
- input: Schema.Struct({
179
- anchor: AnchoredTo.AnchoredTo.annotations({ description: 'The anchor of the thread.' }),
180
- message: Message.Message.annotations({ description: 'The message to restore.' }),
181
- messageIndex: Schema.Number.annotations({ description: 'The index to restore the message at.' }),
182
- }),
183
- output: Schema.Void,
184
- },
185
- });
186
- }
187
-
188
- export const ThreadSettingsSchema = Schema.mutable(Schema.Struct({}));
189
- export type ThreadSettingsProps = Schema.Schema.Type<typeof ThreadSettingsSchema>;
7
+ export * as Settings from './Settings';
190
8
 
191
9
  export interface ThreadModel {
192
10
  root: Thread.Thread;
package/src/util.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  import * as Match from 'effect/Match';
6
6
 
7
7
  import { generateName } from '@dxos/display-name';
8
- import { type Selection } from '@dxos/plugin-attention';
8
+ import { type Selection } from '@dxos/react-ui-attention';
9
9
  import { type PublicKey } from '@dxos/react-client';
10
10
  import { type Identity } from '@dxos/react-client/halo';
11
11
  import { type MessageMetadata } from '@dxos/react-ui-thread';