@dxos/plugin-thread 0.8.4-main.7ace549 → 0.8.4-main.8baae0fced

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 (578) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/neutral/ChannelArticle-ACZD7YFT.mjs +28 -0
  4. package/dist/lib/neutral/ChannelArticle-ACZD7YFT.mjs.map +7 -0
  5. package/dist/lib/neutral/ChannelChat-6YTD5HWL.mjs +10 -0
  6. package/dist/lib/neutral/ThreadCompanion-NQWPS2H6.mjs +208 -0
  7. package/dist/lib/neutral/ThreadCompanion-NQWPS2H6.mjs.map +7 -0
  8. package/dist/lib/neutral/ThreadContainer-XYEPEOSD.mjs +61 -0
  9. package/dist/lib/neutral/ThreadContainer-XYEPEOSD.mjs.map +7 -0
  10. package/dist/lib/neutral/ThreadPlugin.mjs +80 -0
  11. package/dist/lib/neutral/ThreadPlugin.mjs.map +7 -0
  12. package/dist/lib/neutral/ThreadPlugin.node.mjs +40 -0
  13. package/dist/lib/neutral/ThreadPlugin.node.mjs.map +7 -0
  14. package/dist/lib/neutral/ThreadPlugin.workerd.mjs +24 -0
  15. package/dist/lib/neutral/ThreadPlugin.workerd.mjs.map +7 -0
  16. package/dist/lib/neutral/ThreadSettings-5MKTDK3A.mjs +15 -0
  17. package/dist/lib/neutral/ThreadSettings-5MKTDK3A.mjs.map +7 -0
  18. package/dist/lib/neutral/add-message-FBIROBEZ.mjs +87 -0
  19. package/dist/lib/neutral/add-message-FBIROBEZ.mjs.map +7 -0
  20. package/dist/lib/neutral/app-graph-builder-MJU3WYMY.mjs +120 -0
  21. package/dist/lib/neutral/app-graph-builder-MJU3WYMY.mjs.map +7 -0
  22. package/dist/lib/neutral/append-channel-message-FTFAD3PK.mjs +40 -0
  23. package/dist/lib/neutral/append-channel-message-FTFAD3PK.mjs.map +7 -0
  24. package/dist/lib/neutral/blueprint-definition-S3EBOH4R.mjs +15 -0
  25. package/dist/lib/neutral/blueprint-definition-S3EBOH4R.mjs.map +7 -0
  26. package/dist/lib/neutral/blueprints/index.mjs +8 -0
  27. package/dist/lib/neutral/capabilities/index.mjs +25 -0
  28. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  29. package/dist/lib/neutral/chunk-5T5LPLBN.mjs +36 -0
  30. package/dist/lib/neutral/chunk-5T5LPLBN.mjs.map +7 -0
  31. package/dist/lib/neutral/chunk-D5LGFCUY.mjs +55 -0
  32. package/dist/lib/neutral/chunk-D5LGFCUY.mjs.map +7 -0
  33. package/dist/lib/{browser/chunk-CP7E2HRE.mjs → neutral/chunk-JLY4NVTA.mjs} +12 -5
  34. package/dist/lib/neutral/chunk-JLY4NVTA.mjs.map +7 -0
  35. package/dist/lib/neutral/chunk-KRXHIW4P.mjs +164 -0
  36. package/dist/lib/neutral/chunk-KRXHIW4P.mjs.map +7 -0
  37. package/dist/lib/neutral/chunk-PE7IH7EL.mjs +271 -0
  38. package/dist/lib/neutral/chunk-PE7IH7EL.mjs.map +7 -0
  39. package/dist/lib/{browser/chunk-QM34EZQK.mjs → neutral/chunk-QDCG6XQI.mjs} +5 -4
  40. package/dist/lib/neutral/chunk-QDCG6XQI.mjs.map +7 -0
  41. package/dist/lib/neutral/chunk-QFDT33VT.mjs +69 -0
  42. package/dist/lib/neutral/chunk-QFDT33VT.mjs.map +7 -0
  43. package/dist/lib/neutral/chunk-QMLVLKE3.mjs +8 -0
  44. package/dist/lib/neutral/chunk-QMLVLKE3.mjs.map +7 -0
  45. package/dist/lib/neutral/components/index.mjs +539 -0
  46. package/dist/lib/neutral/components/index.mjs.map +7 -0
  47. package/dist/lib/neutral/containers/index.mjs +15 -0
  48. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  49. package/dist/lib/neutral/create-OAQJ6LXN.mjs +52 -0
  50. package/dist/lib/neutral/create-OAQJ6LXN.mjs.map +7 -0
  51. package/dist/lib/neutral/create-channel-3E4FJ662.mjs +19 -0
  52. package/dist/lib/neutral/create-channel-3E4FJ662.mjs.map +7 -0
  53. package/dist/lib/neutral/create-object-HIEWSBZB.mjs +27 -0
  54. package/dist/lib/neutral/create-object-HIEWSBZB.mjs.map +7 -0
  55. package/dist/lib/neutral/create-proposals-GRYZXRMV.mjs +56 -0
  56. package/dist/lib/neutral/create-proposals-GRYZXRMV.mjs.map +7 -0
  57. package/dist/lib/neutral/delete-HCCG5RVR.mjs +57 -0
  58. package/dist/lib/neutral/delete-HCCG5RVR.mjs.map +7 -0
  59. package/dist/lib/neutral/delete-message-DHFRACB4.mjs +54 -0
  60. package/dist/lib/neutral/delete-message-DHFRACB4.mjs.map +7 -0
  61. package/dist/lib/neutral/hooks/index.mjs +10 -0
  62. package/dist/lib/neutral/index.mjs +28 -0
  63. package/dist/lib/neutral/markdown-BUORNCPG.mjs +83 -0
  64. package/dist/lib/neutral/markdown-BUORNCPG.mjs.map +7 -0
  65. package/dist/lib/neutral/meta.json +1 -0
  66. package/dist/lib/neutral/meta.mjs +10 -0
  67. package/dist/lib/neutral/on-create-space-OEBRKOAM.mjs +23 -0
  68. package/dist/lib/neutral/on-create-space-OEBRKOAM.mjs.map +7 -0
  69. package/dist/lib/neutral/operation-handler-RU6K2S4L.mjs +13 -0
  70. package/dist/lib/neutral/operation-handler-RU6K2S4L.mjs.map +7 -0
  71. package/dist/lib/neutral/operations/index.mjs +8 -0
  72. package/dist/lib/neutral/plugin.mjs +16 -0
  73. package/dist/lib/neutral/plugin.mjs.map +7 -0
  74. package/dist/lib/neutral/react-surface-XY23GVZH.mjs +76 -0
  75. package/dist/lib/neutral/react-surface-XY23GVZH.mjs.map +7 -0
  76. package/dist/lib/neutral/restore-P4ZLXLF7.mjs +32 -0
  77. package/dist/lib/neutral/restore-P4ZLXLF7.mjs.map +7 -0
  78. package/dist/lib/neutral/restore-message-AUBOP2DF.mjs +33 -0
  79. package/dist/lib/neutral/restore-message-AUBOP2DF.mjs.map +7 -0
  80. package/dist/lib/neutral/select-LIVAMBCE.mjs +24 -0
  81. package/dist/lib/neutral/select-LIVAMBCE.mjs.map +7 -0
  82. package/dist/lib/neutral/settings-HK4EB6TF.mjs +30 -0
  83. package/dist/lib/neutral/settings-HK4EB6TF.mjs.map +7 -0
  84. package/dist/lib/neutral/state-UU7VEAKV.mjs +22 -0
  85. package/dist/lib/neutral/state-UU7VEAKV.mjs.map +7 -0
  86. package/dist/lib/neutral/testing/index.mjs +58 -0
  87. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  88. package/dist/lib/neutral/toggle-resolved-RQBDQZSV.mjs +36 -0
  89. package/dist/lib/neutral/toggle-resolved-RQBDQZSV.mjs.map +7 -0
  90. package/dist/lib/neutral/translations.mjs +90 -0
  91. package/dist/lib/neutral/translations.mjs.map +7 -0
  92. package/dist/lib/neutral/types/index.mjs +12 -0
  93. package/dist/lib/neutral/undo-mappings-HOKL2L3M.mjs +54 -0
  94. package/dist/lib/neutral/undo-mappings-HOKL2L3M.mjs.map +7 -0
  95. package/dist/types/src/ThreadPlugin.d.ts +3 -1
  96. package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
  97. package/dist/types/src/ThreadPlugin.node.d.ts +4 -0
  98. package/dist/types/src/ThreadPlugin.node.d.ts.map +1 -0
  99. package/dist/types/src/ThreadPlugin.test.d.ts +2 -0
  100. package/dist/types/src/ThreadPlugin.test.d.ts.map +1 -0
  101. package/dist/types/src/ThreadPlugin.workerd.d.ts +4 -0
  102. package/dist/types/src/ThreadPlugin.workerd.d.ts.map +1 -0
  103. package/dist/types/src/blueprints/index.d.ts +2 -0
  104. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  105. package/dist/types/src/blueprints/thread-blueprint.d.ts +4 -0
  106. package/dist/types/src/blueprints/thread-blueprint.d.ts.map +1 -0
  107. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  108. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  109. package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -4
  110. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  111. package/dist/types/src/capabilities/create-object.d.ts +11 -0
  112. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  113. package/dist/types/src/capabilities/index.d.ts +15 -16
  114. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  115. package/dist/types/src/capabilities/markdown.d.ts +3 -2
  116. package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
  117. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  118. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  119. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  120. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  121. package/dist/types/src/capabilities/settings.d.ts +5 -2
  122. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  123. package/dist/types/src/capabilities/state.d.ts +5 -5
  124. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  125. package/dist/types/src/capabilities/undo-mappings.d.ts +5 -0
  126. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -0
  127. package/dist/types/src/components/Chat/Chat.d.ts +51 -0
  128. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -0
  129. package/dist/types/src/components/Chat/index.d.ts +2 -0
  130. package/dist/types/src/components/Chat/index.d.ts.map +1 -0
  131. package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts +13 -0
  132. package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts.map +1 -0
  133. package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts +160 -0
  134. package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts.map +1 -0
  135. package/dist/types/src/components/{CommentsThreadContainer.d.ts → CommentsPanel/CommentsThread.d.ts} +3 -3
  136. package/dist/types/src/components/CommentsPanel/CommentsThread.d.ts.map +1 -0
  137. package/dist/types/src/components/CommentsPanel/index.d.ts +3 -0
  138. package/dist/types/src/components/CommentsPanel/index.d.ts.map +1 -0
  139. package/dist/types/src/components/MessagePanel/MessagePanel.d.ts +15 -0
  140. package/dist/types/src/components/MessagePanel/MessagePanel.d.ts.map +1 -0
  141. package/dist/types/src/components/MessagePanel/index.d.ts +2 -0
  142. package/dist/types/src/components/MessagePanel/index.d.ts.map +1 -0
  143. package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts +6 -0
  144. package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts.map +1 -0
  145. package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts +161 -0
  146. package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts.map +1 -0
  147. package/dist/types/src/components/ThreadSettings/index.d.ts +2 -0
  148. package/dist/types/src/components/ThreadSettings/index.d.ts.map +1 -0
  149. package/dist/types/src/components/index.d.ts +5 -10
  150. package/dist/types/src/components/index.d.ts.map +1 -1
  151. package/dist/types/src/containers/ChannelArticle/ChannelArticle.d.ts +13 -0
  152. package/dist/types/src/containers/ChannelArticle/ChannelArticle.d.ts.map +1 -0
  153. package/dist/types/src/containers/ChannelArticle/ChannelArticle.stories.d.ts +162 -0
  154. package/dist/types/src/containers/ChannelArticle/ChannelArticle.stories.d.ts.map +1 -0
  155. package/dist/types/src/containers/ChannelArticle/index.d.ts +2 -0
  156. package/dist/types/src/containers/ChannelArticle/index.d.ts.map +1 -0
  157. package/dist/types/src/containers/ChannelChat/ChannelChat.d.ts +20 -0
  158. package/dist/types/src/containers/ChannelChat/ChannelChat.d.ts.map +1 -0
  159. package/dist/types/src/containers/ChannelChat/index.d.ts +4 -0
  160. package/dist/types/src/containers/ChannelChat/index.d.ts.map +1 -0
  161. package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts +8 -0
  162. package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts.map +1 -0
  163. package/dist/types/src/containers/ThreadCompanion/index.d.ts +2 -0
  164. package/dist/types/src/containers/ThreadCompanion/index.d.ts.map +1 -0
  165. package/dist/types/src/containers/ThreadContainer/ThreadContainer.d.ts +20 -0
  166. package/dist/types/src/containers/ThreadContainer/ThreadContainer.d.ts.map +1 -0
  167. package/dist/types/src/containers/ThreadContainer/ThreadContainer.stories.d.ts +162 -0
  168. package/dist/types/src/containers/ThreadContainer/ThreadContainer.stories.d.ts.map +1 -0
  169. package/dist/types/src/containers/ThreadContainer/index.d.ts +4 -0
  170. package/dist/types/src/containers/ThreadContainer/index.d.ts.map +1 -0
  171. package/dist/types/src/containers/index.d.ts +6 -0
  172. package/dist/types/src/containers/index.d.ts.map +1 -0
  173. package/dist/types/src/{components/command-extension.d.ts → extensions/command.d.ts} +1 -1
  174. package/dist/types/src/extensions/command.d.ts.map +1 -0
  175. package/dist/types/src/extensions/index.d.ts +1 -0
  176. package/dist/types/src/extensions/index.d.ts.map +1 -1
  177. package/dist/types/src/extensions/threads.d.ts +9 -4
  178. package/dist/types/src/extensions/threads.d.ts.map +1 -1
  179. package/dist/types/src/hooks/analytics.d.ts +1 -2
  180. package/dist/types/src/hooks/analytics.d.ts.map +1 -1
  181. package/dist/types/src/hooks/index.d.ts +0 -4
  182. package/dist/types/src/hooks/index.d.ts.map +1 -1
  183. package/dist/types/src/hooks/useStatus.d.ts.map +1 -1
  184. package/dist/types/src/index.d.ts +2 -3
  185. package/dist/types/src/index.d.ts.map +1 -1
  186. package/dist/types/src/meta.d.ts +2 -2
  187. package/dist/types/src/meta.d.ts.map +1 -1
  188. package/dist/types/src/operations/add-message.d.ts +5 -0
  189. package/dist/types/src/operations/add-message.d.ts.map +1 -0
  190. package/dist/types/src/operations/append-channel-message.d.ts +5 -0
  191. package/dist/types/src/operations/append-channel-message.d.ts.map +1 -0
  192. package/dist/types/src/operations/create-channel.d.ts +5 -0
  193. package/dist/types/src/operations/create-channel.d.ts.map +1 -0
  194. package/dist/types/src/operations/create-proposals.d.ts +5 -0
  195. package/dist/types/src/operations/create-proposals.d.ts.map +1 -0
  196. package/dist/types/src/operations/create.d.ts +5 -0
  197. package/dist/types/src/operations/create.d.ts.map +1 -0
  198. package/dist/types/src/operations/delete-message.d.ts +5 -0
  199. package/dist/types/src/operations/delete-message.d.ts.map +1 -0
  200. package/dist/types/src/operations/delete.d.ts +5 -0
  201. package/dist/types/src/operations/delete.d.ts.map +1 -0
  202. package/dist/types/src/operations/index.d.ts +3 -0
  203. package/dist/types/src/operations/index.d.ts.map +1 -0
  204. package/dist/types/src/operations/on-create-space.d.ts +5 -0
  205. package/dist/types/src/operations/on-create-space.d.ts.map +1 -0
  206. package/dist/types/src/operations/restore-message.d.ts +5 -0
  207. package/dist/types/src/operations/restore-message.d.ts.map +1 -0
  208. package/dist/types/src/operations/restore.d.ts +5 -0
  209. package/dist/types/src/operations/restore.d.ts.map +1 -0
  210. package/dist/types/src/operations/select.d.ts +5 -0
  211. package/dist/types/src/operations/select.d.ts.map +1 -0
  212. package/dist/types/src/operations/toggle-resolved.d.ts +5 -0
  213. package/dist/types/src/operations/toggle-resolved.d.ts.map +1 -0
  214. package/dist/types/src/plugin.d.ts +4 -0
  215. package/dist/types/src/plugin.d.ts.map +1 -0
  216. package/dist/types/src/{components/testing.d.ts → testing/data.d.ts} +1 -1
  217. package/dist/types/src/testing/data.d.ts.map +1 -0
  218. package/dist/types/src/testing/index.d.ts +1 -1
  219. package/dist/types/src/testing/index.d.ts.map +1 -1
  220. package/dist/types/src/translations.d.ts +140 -142
  221. package/dist/types/src/translations.d.ts.map +1 -1
  222. package/dist/types/src/types/Settings.d.ts +5 -0
  223. package/dist/types/src/types/Settings.d.ts.map +1 -0
  224. package/dist/types/src/types/ThreadCapabilities.d.ts +13 -0
  225. package/dist/types/src/types/ThreadCapabilities.d.ts.map +1 -0
  226. package/dist/types/src/types/ThreadOperation.d.ts +2015 -0
  227. package/dist/types/src/types/ThreadOperation.d.ts.map +1 -0
  228. package/dist/types/src/types/index.d.ts +3 -1
  229. package/dist/types/src/types/index.d.ts.map +1 -1
  230. package/dist/types/src/types/types.d.ts +0 -339
  231. package/dist/types/src/types/types.d.ts.map +1 -1
  232. package/dist/types/src/util.d.ts +6 -3
  233. package/dist/types/src/util.d.ts.map +1 -1
  234. package/dist/types/tsconfig.tsbuildinfo +1 -1
  235. package/package.json +151 -87
  236. package/src/ThreadPlugin.node.ts +39 -0
  237. package/src/ThreadPlugin.test.ts +37 -0
  238. package/src/ThreadPlugin.tsx +43 -128
  239. package/src/ThreadPlugin.workerd.ts +20 -0
  240. package/src/blueprints/index.ts +5 -0
  241. package/src/blueprints/thread-blueprint.ts +36 -0
  242. package/src/capabilities/app-graph-builder.ts +123 -174
  243. package/src/capabilities/blueprint-definition.ts +11 -30
  244. package/src/capabilities/create-object.ts +29 -0
  245. package/src/capabilities/index.ts +15 -13
  246. package/src/capabilities/markdown.ts +53 -38
  247. package/src/capabilities/operation-handler.ts +16 -0
  248. package/src/capabilities/react-surface.tsx +64 -80
  249. package/src/capabilities/settings.ts +26 -12
  250. package/src/capabilities/state.ts +14 -18
  251. package/src/capabilities/undo-mappings.ts +46 -0
  252. package/src/components/Chat/Chat.tsx +258 -0
  253. package/src/components/Chat/index.ts +5 -0
  254. package/src/components/CommentsPanel/CommentsPanel.stories.tsx +94 -0
  255. package/src/components/{CommentsContainer.tsx → CommentsPanel/CommentsPanel.tsx} +15 -14
  256. package/src/components/{CommentsThreadContainer.tsx → CommentsPanel/CommentsThread.tsx} +29 -31
  257. package/src/components/CommentsPanel/index.ts +6 -0
  258. package/src/components/{MessageContainer.tsx → MessagePanel/MessagePanel.tsx} +80 -46
  259. package/src/components/MessagePanel/index.ts +5 -0
  260. package/src/components/ThreadSettings/ThreadSettings.stories.tsx +32 -0
  261. package/src/components/ThreadSettings/ThreadSettings.tsx +19 -0
  262. package/src/components/ThreadSettings/index.ts +5 -0
  263. package/src/components/index.ts +5 -12
  264. package/src/containers/ChannelArticle/ChannelArticle.stories.tsx +105 -0
  265. package/src/containers/ChannelArticle/ChannelArticle.tsx +42 -0
  266. package/src/containers/ChannelArticle/index.ts +5 -0
  267. package/src/containers/ChannelChat/ChannelChat.tsx +75 -0
  268. package/src/containers/ChannelChat/index.ts +8 -0
  269. package/src/containers/ThreadCompanion/ThreadCompanion.tsx +215 -0
  270. package/src/containers/ThreadCompanion/index.ts +5 -0
  271. package/src/{components/Chat.stories.tsx → containers/ThreadContainer/ThreadContainer.stories.tsx} +26 -25
  272. package/src/containers/ThreadContainer/ThreadContainer.tsx +75 -0
  273. package/src/containers/ThreadContainer/index.ts +8 -0
  274. package/src/containers/index.ts +10 -0
  275. package/src/{components/command-extension.ts → extensions/command.ts} +3 -3
  276. package/src/extensions/index.ts +1 -0
  277. package/src/extensions/threads.ts +77 -42
  278. package/src/hooks/analytics.ts +24 -20
  279. package/src/hooks/index.ts +0 -5
  280. package/src/index.ts +4 -4
  281. package/src/meta.ts +6 -6
  282. package/src/operations/add-message.ts +81 -0
  283. package/src/operations/append-channel-message.ts +37 -0
  284. package/src/operations/create-channel.ts +20 -0
  285. package/src/operations/create-proposals.ts +49 -0
  286. package/src/operations/create.ts +48 -0
  287. package/src/operations/delete-message.ts +53 -0
  288. package/src/operations/delete.ts +63 -0
  289. package/src/operations/index.ts +20 -0
  290. package/src/operations/on-create-space.ts +27 -0
  291. package/src/operations/restore-message.ts +38 -0
  292. package/src/operations/restore.ts +38 -0
  293. package/src/operations/select.ts +24 -0
  294. package/src/operations/toggle-resolved.ts +41 -0
  295. package/src/plugin.ts +11 -0
  296. package/src/{components/testing.ts → testing/data.ts} +7 -7
  297. package/src/testing/index.ts +1 -1
  298. package/src/translations.ts +74 -78
  299. package/src/types/Settings.ts +10 -0
  300. package/src/types/ThreadCapabilities.ts +26 -0
  301. package/src/types/ThreadOperation.ts +178 -0
  302. package/src/types/index.ts +4 -1
  303. package/src/types/types.ts +2 -99
  304. package/src/util.ts +37 -5
  305. package/dist/lib/browser/ChannelContainer-L7MKV7DS.mjs +0 -17
  306. package/dist/lib/browser/ChatContainer-KPY4BAUE.mjs +0 -16
  307. package/dist/lib/browser/app-graph-builder-TWJ2UCOZ.mjs +0 -171
  308. package/dist/lib/browser/app-graph-builder-TWJ2UCOZ.mjs.map +0 -7
  309. package/dist/lib/browser/blueprint-definition-TQ4JFMZZ.mjs +0 -101
  310. package/dist/lib/browser/blueprint-definition-TQ4JFMZZ.mjs.map +0 -7
  311. package/dist/lib/browser/call-manager-4YFT4XA6.mjs +0 -25
  312. package/dist/lib/browser/call-manager-4YFT4XA6.mjs.map +0 -7
  313. package/dist/lib/browser/chunk-ALZKJOZK.mjs +0 -989
  314. package/dist/lib/browser/chunk-ALZKJOZK.mjs.map +0 -7
  315. package/dist/lib/browser/chunk-ANTFU4JB.mjs +0 -25
  316. package/dist/lib/browser/chunk-ANTFU4JB.mjs.map +0 -7
  317. package/dist/lib/browser/chunk-CFC7LEPD.mjs +0 -18
  318. package/dist/lib/browser/chunk-CFC7LEPD.mjs.map +0 -7
  319. package/dist/lib/browser/chunk-CP7E2HRE.mjs.map +0 -7
  320. package/dist/lib/browser/chunk-ISCHODBV.mjs +0 -106
  321. package/dist/lib/browser/chunk-ISCHODBV.mjs.map +0 -7
  322. package/dist/lib/browser/chunk-JDJPMI7V.mjs +0 -143
  323. package/dist/lib/browser/chunk-JDJPMI7V.mjs.map +0 -7
  324. package/dist/lib/browser/chunk-KOBXMDCI.mjs +0 -182
  325. package/dist/lib/browser/chunk-KOBXMDCI.mjs.map +0 -7
  326. package/dist/lib/browser/chunk-NPT5S6N4.mjs +0 -611
  327. package/dist/lib/browser/chunk-NPT5S6N4.mjs.map +0 -7
  328. package/dist/lib/browser/chunk-QM34EZQK.mjs.map +0 -7
  329. package/dist/lib/browser/chunk-TLOOZTRD.mjs +0 -377
  330. package/dist/lib/browser/chunk-TLOOZTRD.mjs.map +0 -7
  331. package/dist/lib/browser/chunk-ZCW3NSDZ.mjs +0 -1793
  332. package/dist/lib/browser/chunk-ZCW3NSDZ.mjs.map +0 -7
  333. package/dist/lib/browser/index.mjs +0 -310
  334. package/dist/lib/browser/index.mjs.map +0 -7
  335. package/dist/lib/browser/intent-resolver-G33FT3NO.mjs +0 -355
  336. package/dist/lib/browser/intent-resolver-G33FT3NO.mjs.map +0 -7
  337. package/dist/lib/browser/markdown-WFZFYJBQ.mjs +0 -172
  338. package/dist/lib/browser/markdown-WFZFYJBQ.mjs.map +0 -7
  339. package/dist/lib/browser/meta.json +0 -1
  340. package/dist/lib/browser/react-root-ED7PHA44.mjs +0 -29
  341. package/dist/lib/browser/react-root-ED7PHA44.mjs.map +0 -7
  342. package/dist/lib/browser/react-surface-AUQQSQQC.mjs +0 -111
  343. package/dist/lib/browser/react-surface-AUQQSQQC.mjs.map +0 -7
  344. package/dist/lib/browser/repair-JFJLEM2O.mjs +0 -35
  345. package/dist/lib/browser/repair-JFJLEM2O.mjs.map +0 -7
  346. package/dist/lib/browser/settings-E6IOLK46.mjs +0 -23
  347. package/dist/lib/browser/settings-E6IOLK46.mjs.map +0 -7
  348. package/dist/lib/browser/state-UYPLBGZJ.mjs +0 -35
  349. package/dist/lib/browser/state-UYPLBGZJ.mjs.map +0 -7
  350. package/dist/lib/browser/types/index.mjs +0 -13
  351. package/dist/lib/node-esm/ChannelContainer-FYONOOZ6.mjs +0 -18
  352. package/dist/lib/node-esm/ChatContainer-TLQG23K7.mjs +0 -17
  353. package/dist/lib/node-esm/app-graph-builder-VD6I2V5H.mjs +0 -172
  354. package/dist/lib/node-esm/app-graph-builder-VD6I2V5H.mjs.map +0 -7
  355. package/dist/lib/node-esm/blueprint-definition-TSX5HHW7.mjs +0 -102
  356. package/dist/lib/node-esm/blueprint-definition-TSX5HHW7.mjs.map +0 -7
  357. package/dist/lib/node-esm/call-manager-UMUXEYH5.mjs +0 -26
  358. package/dist/lib/node-esm/call-manager-UMUXEYH5.mjs.map +0 -7
  359. package/dist/lib/node-esm/chunk-2AEIN5MI.mjs +0 -22
  360. package/dist/lib/node-esm/chunk-2AEIN5MI.mjs.map +0 -7
  361. package/dist/lib/node-esm/chunk-7KZWZS2U.mjs +0 -1794
  362. package/dist/lib/node-esm/chunk-7KZWZS2U.mjs.map +0 -7
  363. package/dist/lib/node-esm/chunk-AB42KYF3.mjs +0 -990
  364. package/dist/lib/node-esm/chunk-AB42KYF3.mjs.map +0 -7
  365. package/dist/lib/node-esm/chunk-ABUFOZVX.mjs +0 -33
  366. package/dist/lib/node-esm/chunk-ABUFOZVX.mjs.map +0 -7
  367. package/dist/lib/node-esm/chunk-ATNY37UV.mjs +0 -27
  368. package/dist/lib/node-esm/chunk-ATNY37UV.mjs.map +0 -7
  369. package/dist/lib/node-esm/chunk-E5HNHFYH.mjs +0 -378
  370. package/dist/lib/node-esm/chunk-E5HNHFYH.mjs.map +0 -7
  371. package/dist/lib/node-esm/chunk-FF3QVPY4.mjs +0 -612
  372. package/dist/lib/node-esm/chunk-FF3QVPY4.mjs.map +0 -7
  373. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  374. package/dist/lib/node-esm/chunk-P2M364TO.mjs +0 -144
  375. package/dist/lib/node-esm/chunk-P2M364TO.mjs.map +0 -7
  376. package/dist/lib/node-esm/chunk-PZH2EDU5.mjs +0 -183
  377. package/dist/lib/node-esm/chunk-PZH2EDU5.mjs.map +0 -7
  378. package/dist/lib/node-esm/chunk-RT6NRL2I.mjs +0 -19
  379. package/dist/lib/node-esm/chunk-RT6NRL2I.mjs.map +0 -7
  380. package/dist/lib/node-esm/chunk-VBI32FGI.mjs +0 -108
  381. package/dist/lib/node-esm/chunk-VBI32FGI.mjs.map +0 -7
  382. package/dist/lib/node-esm/index.mjs +0 -311
  383. package/dist/lib/node-esm/index.mjs.map +0 -7
  384. package/dist/lib/node-esm/intent-resolver-4PX3WXQG.mjs +0 -356
  385. package/dist/lib/node-esm/intent-resolver-4PX3WXQG.mjs.map +0 -7
  386. package/dist/lib/node-esm/markdown-CSR5MAPZ.mjs +0 -173
  387. package/dist/lib/node-esm/markdown-CSR5MAPZ.mjs.map +0 -7
  388. package/dist/lib/node-esm/meta.json +0 -1
  389. package/dist/lib/node-esm/react-root-DZN324JA.mjs +0 -30
  390. package/dist/lib/node-esm/react-root-DZN324JA.mjs.map +0 -7
  391. package/dist/lib/node-esm/react-surface-AMVESEF4.mjs +0 -112
  392. package/dist/lib/node-esm/react-surface-AMVESEF4.mjs.map +0 -7
  393. package/dist/lib/node-esm/repair-RMLR24YR.mjs +0 -36
  394. package/dist/lib/node-esm/repair-RMLR24YR.mjs.map +0 -7
  395. package/dist/lib/node-esm/settings-RGZHWDSO.mjs +0 -24
  396. package/dist/lib/node-esm/settings-RGZHWDSO.mjs.map +0 -7
  397. package/dist/lib/node-esm/state-XNWOLBNE.mjs +0 -36
  398. package/dist/lib/node-esm/state-XNWOLBNE.mjs.map +0 -7
  399. package/dist/lib/node-esm/types/index.mjs +0 -14
  400. package/dist/types/src/calls/call-manager.d.ts +0 -77
  401. package/dist/types/src/calls/call-manager.d.ts.map +0 -1
  402. package/dist/types/src/calls/call-swarm-synchronizer.d.ts +0 -66
  403. package/dist/types/src/calls/call-swarm-synchronizer.d.ts.map +0 -1
  404. package/dist/types/src/calls/index.d.ts +0 -7
  405. package/dist/types/src/calls/index.d.ts.map +0 -1
  406. package/dist/types/src/calls/media-manager.d.ts +0 -60
  407. package/dist/types/src/calls/media-manager.d.ts.map +0 -1
  408. package/dist/types/src/calls/speaking-monitor.d.ts +0 -24
  409. package/dist/types/src/calls/speaking-monitor.d.ts.map +0 -1
  410. package/dist/types/src/calls/types.d.ts +0 -45
  411. package/dist/types/src/calls/types.d.ts.map +0 -1
  412. package/dist/types/src/calls/util/audio.d.ts +0 -6
  413. package/dist/types/src/calls/util/audio.d.ts.map +0 -1
  414. package/dist/types/src/calls/util/calls-service.d.ts +0 -77
  415. package/dist/types/src/calls/util/calls-service.d.ts.map +0 -1
  416. package/dist/types/src/calls/util/history-cache.d.ts +0 -11
  417. package/dist/types/src/calls/util/history-cache.d.ts.map +0 -1
  418. package/dist/types/src/calls/util/index.d.ts +0 -5
  419. package/dist/types/src/calls/util/index.d.ts.map +0 -1
  420. package/dist/types/src/calls/util/media.d.ts +0 -6
  421. package/dist/types/src/calls/util/media.d.ts.map +0 -1
  422. package/dist/types/src/calls/util/stub-media-streams.d.ts +0 -18
  423. package/dist/types/src/calls/util/stub-media-streams.d.ts.map +0 -1
  424. package/dist/types/src/calls/util/task-scheduling.d.ts +0 -17
  425. package/dist/types/src/calls/util/task-scheduling.d.ts.map +0 -1
  426. package/dist/types/src/calls-service.stories.d.ts +0 -23
  427. package/dist/types/src/calls-service.stories.d.ts.map +0 -1
  428. package/dist/types/src/capabilities/call-manager.d.ts +0 -5
  429. package/dist/types/src/capabilities/call-manager.d.ts.map +0 -1
  430. package/dist/types/src/capabilities/capabilities.d.ts +0 -27
  431. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  432. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  433. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  434. package/dist/types/src/capabilities/react-root.d.ts +0 -7
  435. package/dist/types/src/capabilities/react-root.d.ts.map +0 -1
  436. package/dist/types/src/capabilities/repair.d.ts +0 -4
  437. package/dist/types/src/capabilities/repair.d.ts.map +0 -1
  438. package/dist/types/src/components/Call/Call.d.ts +0 -17
  439. package/dist/types/src/components/Call/Call.d.ts.map +0 -1
  440. package/dist/types/src/components/Call/Toolbar.d.ts +0 -16
  441. package/dist/types/src/components/Call/Toolbar.d.ts.map +0 -1
  442. package/dist/types/src/components/Call/index.d.ts +0 -3
  443. package/dist/types/src/components/Call/index.d.ts.map +0 -1
  444. package/dist/types/src/components/CallDebugPanel.d.ts +0 -15
  445. package/dist/types/src/components/CallDebugPanel.d.ts.map +0 -1
  446. package/dist/types/src/components/CallSidebar.d.ts +0 -4
  447. package/dist/types/src/components/CallSidebar.d.ts.map +0 -1
  448. package/dist/types/src/components/ChannelContainer.d.ts +0 -14
  449. package/dist/types/src/components/ChannelContainer.d.ts.map +0 -1
  450. package/dist/types/src/components/ChannelContainer.stories.d.ts +0 -164
  451. package/dist/types/src/components/ChannelContainer.stories.d.ts.map +0 -1
  452. package/dist/types/src/components/Chat.stories.d.ts +0 -164
  453. package/dist/types/src/components/Chat.stories.d.ts.map +0 -1
  454. package/dist/types/src/components/ChatContainer.d.ts +0 -18
  455. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  456. package/dist/types/src/components/Comments.stories.d.ts +0 -162
  457. package/dist/types/src/components/Comments.stories.d.ts.map +0 -1
  458. package/dist/types/src/components/CommentsContainer.d.ts +0 -13
  459. package/dist/types/src/components/CommentsContainer.d.ts.map +0 -1
  460. package/dist/types/src/components/CommentsThreadContainer.d.ts.map +0 -1
  461. package/dist/types/src/components/Lobby/Lobby.d.ts +0 -15
  462. package/dist/types/src/components/Lobby/Lobby.d.ts.map +0 -1
  463. package/dist/types/src/components/Lobby/index.d.ts +0 -2
  464. package/dist/types/src/components/Lobby/index.d.ts.map +0 -1
  465. package/dist/types/src/components/Media/AudioStream.d.ts +0 -6
  466. package/dist/types/src/components/Media/AudioStream.d.ts.map +0 -1
  467. package/dist/types/src/components/Media/VideoObject.d.ts +0 -15
  468. package/dist/types/src/components/Media/VideoObject.d.ts.map +0 -1
  469. package/dist/types/src/components/Media/VideoObject.stories.d.ts +0 -22
  470. package/dist/types/src/components/Media/VideoObject.stories.d.ts.map +0 -1
  471. package/dist/types/src/components/Media/index.d.ts +0 -3
  472. package/dist/types/src/components/Media/index.d.ts.map +0 -1
  473. package/dist/types/src/components/MessageContainer.d.ts +0 -16
  474. package/dist/types/src/components/MessageContainer.d.ts.map +0 -1
  475. package/dist/types/src/components/Participant/Participant.d.ts +0 -6
  476. package/dist/types/src/components/Participant/Participant.d.ts.map +0 -1
  477. package/dist/types/src/components/Participant/ParticipantGrid.d.ts +0 -11
  478. package/dist/types/src/components/Participant/ParticipantGrid.d.ts.map +0 -1
  479. package/dist/types/src/components/Participant/index.d.ts +0 -3
  480. package/dist/types/src/components/Participant/index.d.ts.map +0 -1
  481. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.d.ts +0 -12
  482. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.d.ts.map +0 -1
  483. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +0 -166
  484. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +0 -1
  485. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.d.ts +0 -32
  486. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.d.ts.map +0 -1
  487. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +0 -180
  488. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +0 -1
  489. package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts +0 -21
  490. package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts.map +0 -1
  491. package/dist/types/src/components/ResponsiveGrid/index.d.ts +0 -4
  492. package/dist/types/src/components/ResponsiveGrid/index.d.ts.map +0 -1
  493. package/dist/types/src/components/ThreadCompanion.d.ts +0 -5
  494. package/dist/types/src/components/ThreadCompanion.d.ts.map +0 -1
  495. package/dist/types/src/components/ThreadSettings.d.ts +0 -6
  496. package/dist/types/src/components/ThreadSettings.d.ts.map +0 -1
  497. package/dist/types/src/components/command-extension.d.ts.map +0 -1
  498. package/dist/types/src/components/testing.d.ts.map +0 -1
  499. package/dist/types/src/functions/create-proposals.d.ts +0 -6
  500. package/dist/types/src/functions/create-proposals.d.ts.map +0 -1
  501. package/dist/types/src/functions/index.d.ts +0 -2
  502. package/dist/types/src/functions/index.d.ts.map +0 -1
  503. package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts +0 -2
  504. package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts.map +0 -1
  505. package/dist/types/src/hooks/useDebugMode.d.ts +0 -2
  506. package/dist/types/src/hooks/useDebugMode.d.ts.map +0 -1
  507. package/dist/types/src/hooks/useInaudibleAudioStreamTrack.d.ts +0 -2
  508. package/dist/types/src/hooks/useInaudibleAudioStreamTrack.d.ts.map +0 -1
  509. package/dist/types/src/hooks/useVideoStreamTrack.d.ts +0 -3
  510. package/dist/types/src/hooks/useVideoStreamTrack.d.ts.map +0 -1
  511. package/dist/types/src/testing/stories.d.ts +0 -2
  512. package/dist/types/src/testing/stories.d.ts.map +0 -1
  513. package/dist/types/src/types/Channel.d.ts +0 -16
  514. package/dist/types/src/types/Channel.d.ts.map +0 -1
  515. package/src/calls/call-manager.ts +0 -246
  516. package/src/calls/call-swarm-synchronizer.ts +0 -350
  517. package/src/calls/index.ts +0 -10
  518. package/src/calls/media-manager.ts +0 -378
  519. package/src/calls/speaking-monitor.ts +0 -85
  520. package/src/calls/types.ts +0 -74
  521. package/src/calls/util/audio.ts +0 -58
  522. package/src/calls/util/calls-service.ts +0 -581
  523. package/src/calls/util/history-cache.ts +0 -27
  524. package/src/calls/util/index.ts +0 -8
  525. package/src/calls/util/media.ts +0 -52
  526. package/src/calls/util/stub-media-streams.ts +0 -127
  527. package/src/calls/util/task-scheduling.ts +0 -92
  528. package/src/calls-service.stories.tsx +0 -229
  529. package/src/capabilities/call-manager.ts +0 -20
  530. package/src/capabilities/capabilities.ts +0 -33
  531. package/src/capabilities/intent-resolver.ts +0 -311
  532. package/src/capabilities/react-root.tsx +0 -17
  533. package/src/capabilities/repair.ts +0 -40
  534. package/src/components/Call/Call.tsx +0 -89
  535. package/src/components/Call/Toolbar.tsx +0 -182
  536. package/src/components/Call/index.ts +0 -6
  537. package/src/components/CallDebugPanel.tsx +0 -172
  538. package/src/components/CallSidebar.tsx +0 -18
  539. package/src/components/ChannelContainer.stories.tsx +0 -59
  540. package/src/components/ChannelContainer.tsx +0 -205
  541. package/src/components/ChatContainer.tsx +0 -153
  542. package/src/components/Comments.stories.tsx +0 -90
  543. package/src/components/Lobby/Lobby.tsx +0 -119
  544. package/src/components/Lobby/index.ts +0 -5
  545. package/src/components/Media/AudioStream.tsx +0 -67
  546. package/src/components/Media/VideoObject.stories.tsx +0 -60
  547. package/src/components/Media/VideoObject.tsx +0 -58
  548. package/src/components/Media/index.ts +0 -6
  549. package/src/components/Participant/Participant.tsx +0 -63
  550. package/src/components/Participant/ParticipantGrid.tsx +0 -89
  551. package/src/components/Participant/index.ts +0 -6
  552. package/src/components/ResponsiveGrid/ResponsiveContainer.stories.tsx +0 -54
  553. package/src/components/ResponsiveGrid/ResponsiveContainer.tsx +0 -31
  554. package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +0 -158
  555. package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +0 -341
  556. package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +0 -134
  557. package/src/components/ResponsiveGrid/index.ts +0 -7
  558. package/src/components/ThreadCompanion.tsx +0 -188
  559. package/src/components/ThreadSettings.tsx +0 -16
  560. package/src/functions/create-proposals.ts +0 -56
  561. package/src/functions/index.ts +0 -5
  562. package/src/hooks/useBlackCanvasStreamTrack.tsx +0 -27
  563. package/src/hooks/useDebugMode.ts +0 -25
  564. package/src/hooks/useInaudibleAudioStreamTrack.tsx +0 -27
  565. package/src/hooks/useVideoStreamTrack.tsx +0 -36
  566. package/src/testing/stories.ts +0 -51
  567. package/src/types/Channel.ts +0 -26
  568. package/src/typings/peermetrics-webrtc-stats.d.ts +0 -46
  569. package/src/typings.d.ts +0 -8
  570. /package/dist/lib/{browser/ChannelContainer-L7MKV7DS.mjs.map → neutral/ChannelChat-6YTD5HWL.mjs.map} +0 -0
  571. /package/dist/lib/{browser/types → neutral/blueprints}/index.mjs.map +0 -0
  572. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
  573. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs.map +0 -0
  574. /package/dist/lib/{node-esm/types → neutral/hooks}/index.mjs.map +0 -0
  575. /package/dist/lib/{browser/ChatContainer-KPY4BAUE.mjs.map → neutral/index.mjs.map} +0 -0
  576. /package/dist/lib/{node-esm/ChannelContainer-FYONOOZ6.mjs.map → neutral/meta.mjs.map} +0 -0
  577. /package/dist/lib/{node-esm/ChatContainer-TLQG23K7.mjs.map → neutral/operations/index.mjs.map} +0 -0
  578. /package/dist/lib/{node-esm/chunk-HSLMI22Q.mjs.map → neutral/types/index.mjs.map} +0 -0
@@ -0,0 +1,20 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { OperationHandlerSet } from '@dxos/compute';
6
+
7
+ export const ThreadOperationHandlerSet = OperationHandlerSet.lazy(
8
+ () => import('./add-message'),
9
+ () => import('./append-channel-message'),
10
+ () => import('./create'),
11
+ () => import('./create-channel'),
12
+ () => import('./create-proposals'),
13
+ () => import('./delete'),
14
+ () => import('./delete-message'),
15
+ () => import('./on-create-space'),
16
+ () => import('./restore'),
17
+ () => import('./restore-message'),
18
+ () => import('./select'),
19
+ () => import('./toggle-resolved'),
20
+ );
@@ -0,0 +1,27 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+
7
+ import { Operation } from '@dxos/compute';
8
+
9
+ import { ThreadOperation } from '../types';
10
+
11
+ const handler: Operation.WithHandler<typeof ThreadOperation.OnCreateSpace> = ThreadOperation.OnCreateSpace.pipe(
12
+ Operation.withHandler(
13
+ Effect.fnUntraced(function* ({ space, isDefault }) {
14
+ if (isDefault) {
15
+ return;
16
+ }
17
+
18
+ const { object: channel } = yield* Operation.invoke(ThreadOperation.CreateChannel, {
19
+ name: 'General',
20
+ spaceId: space.id,
21
+ });
22
+ space.db.add(channel);
23
+ }),
24
+ ),
25
+ );
26
+
27
+ 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 { Operation } from '@dxos/compute';
8
+ import { Obj, Ref, Relation } from '@dxos/echo';
9
+ import { invariant } from '@dxos/invariant';
10
+ import { ObservabilityOperation } from '@dxos/plugin-observability';
11
+ import { Thread } from '@dxos/types';
12
+
13
+ import { ThreadOperation } from '../types';
14
+
15
+ const handler: Operation.WithHandler<typeof ThreadOperation.RestoreMessage> = ThreadOperation.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.update(thread, (thread) => {
23
+ thread.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 { Operation } from '@dxos/compute';
9
+ import { Obj } from '@dxos/echo';
10
+ import { ObservabilityOperation } from '@dxos/plugin-observability';
11
+
12
+ import { ThreadOperation } from '../types';
13
+
14
+ const handler: Operation.WithHandler<typeof ThreadOperation.Restore> = ThreadOperation.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,24 @@
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/compute';
9
+
10
+ import { ThreadCapabilities } from '../types';
11
+ import { ThreadOperation } from '../types';
12
+
13
+ const handler: Operation.WithHandler<typeof ThreadOperation.Select> = ThreadOperation.Select.pipe(
14
+ Operation.withHandler(
15
+ Effect.fnUntraced(function* (input) {
16
+ const registry = yield* Capability.get(Capabilities.AtomRegistry);
17
+ const stateAtom = yield* Capability.get(ThreadCapabilities.State);
18
+ const current = registry.get(stateAtom);
19
+ registry.set(stateAtom, { ...current, current: input.current });
20
+ }),
21
+ ),
22
+ );
23
+
24
+ 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 { Operation } from '@dxos/compute';
8
+ import { Obj } from '@dxos/echo';
9
+ import { invariant } from '@dxos/invariant';
10
+ import { ObservabilityOperation } from '@dxos/plugin-observability';
11
+
12
+ import { ThreadOperation } from '../types';
13
+
14
+ const handler: Operation.WithHandler<typeof ThreadOperation.ToggleResolved> = ThreadOperation.ToggleResolved.pipe(
15
+ Operation.withHandler(
16
+ Effect.fnUntraced(function* (input) {
17
+ const thread = input.thread;
18
+
19
+ Obj.update(thread, (thread) => {
20
+ if (thread.status === 'active' || thread.status === undefined) {
21
+ thread.status = 'resolved';
22
+ } else if (thread.status === 'resolved') {
23
+ thread.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;
package/src/plugin.ts ADDED
@@ -0,0 +1,11 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ import { Plugin } from '@dxos/app-framework';
6
+
7
+ import { meta } from './meta';
8
+
9
+ export const ThreadPlugin = Plugin.lazy(meta, () => import('#plugin'));
10
+
11
+ export { ThreadOperationHandlerSet } from './operations';
@@ -4,22 +4,22 @@
4
4
 
5
5
  import { Obj, Ref } from '@dxos/echo';
6
6
  import { IdentityDid } from '@dxos/keys';
7
- import { faker } from '@dxos/random';
7
+ import { random } from '@dxos/random';
8
8
  import { type Identity } from '@dxos/react-client/halo';
9
9
  import { Message, Thread } from '@dxos/types';
10
10
 
11
11
  export const createCommentThread = (identity: Identity): Thread.Thread => {
12
12
  return Thread.make({
13
13
  name: 'Comment',
14
- messages: faker.helpers.multiple(
14
+ messages: random.helpers.multiple(
15
15
  () =>
16
16
  Ref.make(
17
17
  Obj.make(Message.Message, {
18
18
  created: new Date().toISOString(),
19
19
  sender: {
20
- identityDid: faker.datatype.boolean() ? identity.did : IdentityDid.random(),
20
+ identityDid: random.datatype.boolean() ? identity.did : IdentityDid.random(),
21
21
  },
22
- blocks: [{ _tag: 'text', text: faker.lorem.sentences(3) }],
22
+ blocks: [{ _tag: 'text', text: random.lorem.sentences(3) }],
23
23
  }),
24
24
  ),
25
25
  { count: { min: 2, max: 3 } },
@@ -31,15 +31,15 @@ export const createCommentThread = (identity: Identity): Thread.Thread => {
31
31
  export const createProposalThread = (identity: Identity): Thread.Thread => {
32
32
  return Thread.make({
33
33
  name: 'Proposal',
34
- messages: faker.helpers.multiple(
34
+ messages: random.helpers.multiple(
35
35
  () =>
36
36
  Ref.make(
37
37
  Obj.make(Message.Message, {
38
38
  created: new Date().toISOString(),
39
39
  sender: {
40
- identityDid: faker.datatype.boolean() ? identity.did : IdentityDid.random(),
40
+ identityDid: random.datatype.boolean() ? identity.did : IdentityDid.random(),
41
41
  },
42
- blocks: [{ _tag: 'proposal', text: faker.lorem.sentences(3) }],
42
+ blocks: [{ _tag: 'proposal', text: random.lorem.sentences(3) }],
43
43
  }),
44
44
  ),
45
45
  { count: { min: 1, max: 1 } },
@@ -2,4 +2,4 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- export * from './stories';
5
+ export * from './data';
@@ -2,99 +2,95 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { Type } from '@dxos/echo';
6
5
  import { type Resource } from '@dxos/react-ui';
6
+ import { Channel } from '@dxos/types';
7
7
 
8
- import { meta } from './meta';
9
- import { Channel } from './types';
8
+ import { meta } from '#meta';
10
9
 
11
10
  export const translations = [
12
11
  {
13
12
  'en-US': {
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',
13
+ // TODO(burdon): Thread.
14
+ [Channel.Channel.typename]: {
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
  },
@@ -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 interface Settings extends Schema.Schema.Type<typeof Settings> {}
@@ -0,0 +1,26 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ // @import-as-namespace
6
+
7
+ import { type Atom } from '@effect-atom/atom-react';
8
+
9
+ import { Capability } from '@dxos/app-framework';
10
+ import { AppCapabilities } from '@dxos/app-toolkit';
11
+
12
+ import { meta } from '#meta';
13
+
14
+ import { type ThreadState, type ViewStore } from '../types';
15
+
16
+ export const Settings = Capability.make<Atom.Writable<import('./Settings').Settings>>(`${meta.id}.capability.settings`);
17
+
18
+ /** Comment configuration contributed per typename by plugins that support commenting. */
19
+ export type CommentConfig = AppCapabilities.CommentConfig;
20
+ export const CommentConfig: Capability.InterfaceDef<AppCapabilities.CommentConfig> = AppCapabilities.CommentConfig;
21
+
22
+ /** Thread state (drafts, toolbar state, current selection). */
23
+ export const State = Capability.make<Atom.Writable<ThreadState>>(`${meta.id}.capability.state`);
24
+
25
+ /** Per-subject view state (e.g., showResolvedThreads). */
26
+ export const ViewState = Capability.make<Atom.Writable<ViewStore>>(`${meta.id}.capability.view-state`);
@@ -0,0 +1,178 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ // @import-as-namespace
6
+
7
+ import * as Schema from 'effect/Schema';
8
+
9
+ import { Capability } from '@dxos/app-framework';
10
+ import { SpaceSchema } from '@dxos/client-protocol';
11
+ import { Operation } from '@dxos/compute';
12
+ import { Collection, Database, Key, Obj, Ref } from '@dxos/echo';
13
+ import { Markdown } from '@dxos/plugin-markdown';
14
+ import { Actor, AnchoredTo, Channel, Message, Thread } from '@dxos/types';
15
+
16
+ import { meta } from '#meta';
17
+
18
+ const THREAD_OPERATION = `${meta.id}.operation`;
19
+
20
+ export const OnCreateSpace = Operation.make({
21
+ meta: { key: `${THREAD_OPERATION}.on-create-space`, name: 'On Create Space' },
22
+ services: [Capability.Service],
23
+ input: Schema.Struct({
24
+ space: SpaceSchema,
25
+ rootCollection: Collection.Collection,
26
+ isDefault: Schema.Boolean.pipe(Schema.optional),
27
+ }),
28
+ output: Schema.Void,
29
+ });
30
+
31
+ export const CreateChannel = Operation.make({
32
+ meta: { key: `${THREAD_OPERATION}.create-channel`, name: 'Create Channel' },
33
+ services: [Capability.Service],
34
+ input: Schema.Struct({
35
+ spaceId: Key.SpaceId,
36
+ name: Schema.optional(Schema.String),
37
+ }),
38
+ output: Schema.Struct({
39
+ object: Channel.Channel,
40
+ }),
41
+ });
42
+
43
+ export const AppendChannelMessage = Operation.make({
44
+ meta: { key: `${THREAD_OPERATION}.append-channel-message`, name: 'Append Channel Message' },
45
+ // Note: Feed.FeedService is provided inside the handler from space.queues, not at the
46
+ // operation level — the runtime can't fulfill it without a space context.
47
+ services: [Capability.Service],
48
+ input: Schema.Struct({
49
+ channel: Channel.Channel,
50
+ sender: Actor.Actor,
51
+ text: Schema.String,
52
+ }),
53
+ output: Schema.Void,
54
+ });
55
+
56
+ export const Create = Operation.make({
57
+ meta: { key: `${THREAD_OPERATION}.create`, name: 'Create Thread' },
58
+ services: [Capability.Service],
59
+ input: Schema.Struct({
60
+ name: Schema.optional(Schema.String),
61
+ anchor: Schema.optional(Schema.String),
62
+ subject: Obj.Unknown,
63
+ }),
64
+ output: Schema.Void,
65
+ });
66
+
67
+ export const DeleteOutput = Schema.Struct({
68
+ thread: Thread.Thread.annotations({ description: 'The deleted thread.' }),
69
+ anchor: AnchoredTo.AnchoredTo.annotations({ description: 'The deleted anchor.' }),
70
+ }).pipe(Schema.partial);
71
+
72
+ export type DeleteOutput = Schema.Schema.Type<typeof DeleteOutput>;
73
+
74
+ export const Delete = Operation.make({
75
+ meta: { key: `${THREAD_OPERATION}.delete`, name: 'Delete Thread' },
76
+ services: [Capability.Service],
77
+ input: Schema.Struct({
78
+ anchor: AnchoredTo.AnchoredTo,
79
+ subject: Obj.Unknown,
80
+ thread: Schema.optional(Thread.Thread),
81
+ }),
82
+ output: DeleteOutput,
83
+ });
84
+
85
+ export const Select = Operation.make({
86
+ meta: { key: `${THREAD_OPERATION}.select`, name: 'Select Thread' },
87
+ services: [Capability.Service],
88
+ input: Schema.Struct({
89
+ current: Schema.String,
90
+ }),
91
+ output: Schema.Void,
92
+ });
93
+
94
+ export const ToggleResolved = Operation.make({
95
+ meta: { key: `${THREAD_OPERATION}.toggle-resolved`, name: 'Toggle Resolved' },
96
+ services: [Capability.Service],
97
+ input: Schema.Struct({
98
+ thread: Thread.Thread,
99
+ }),
100
+ output: Schema.Void,
101
+ });
102
+
103
+ export const AddMessage = Operation.make({
104
+ meta: { key: `${THREAD_OPERATION}.add-message`, name: 'Add Message' },
105
+ services: [Capability.Service],
106
+ input: Schema.Struct({
107
+ subject: Obj.Unknown,
108
+ anchor: AnchoredTo.AnchoredTo,
109
+ sender: Actor.Actor,
110
+ text: Schema.String,
111
+ }),
112
+ output: Schema.Void,
113
+ });
114
+
115
+ export const DeleteMessageOutput = Schema.partial(
116
+ Schema.Struct({
117
+ message: Message.Message.annotations({ description: 'The deleted message.' }),
118
+ messageIndex: Schema.Number.annotations({ description: 'The index the message was at.' }),
119
+ }),
120
+ );
121
+
122
+ export type DeleteMessageOutput = Schema.Schema.Type<typeof DeleteMessageOutput>;
123
+
124
+ export const DeleteMessage = Operation.make({
125
+ meta: { key: `${THREAD_OPERATION}.delete-message`, name: 'Delete Message' },
126
+ services: [Capability.Service],
127
+ input: Schema.Struct({
128
+ anchor: AnchoredTo.AnchoredTo,
129
+ subject: Obj.Unknown,
130
+ messageId: Schema.String,
131
+ }),
132
+ output: DeleteMessageOutput,
133
+ });
134
+
135
+ /**
136
+ * Restore a deleted thread (inverse of Delete).
137
+ */
138
+ export const Restore = Operation.make({
139
+ meta: { key: `${THREAD_OPERATION}.restore`, name: 'Restore Thread' },
140
+ services: [Capability.Service],
141
+ input: Schema.Struct({
142
+ thread: Thread.Thread.annotations({ description: 'The thread to restore.' }),
143
+ anchor: AnchoredTo.AnchoredTo.annotations({ description: 'The anchor relation to restore.' }),
144
+ }),
145
+ output: Schema.Void,
146
+ });
147
+
148
+ /**
149
+ * Restore a deleted message (inverse of DeleteMessage).
150
+ */
151
+ export const RestoreMessage = Operation.make({
152
+ meta: { key: `${THREAD_OPERATION}.restore-message`, name: 'Restore Message' },
153
+ services: [Capability.Service],
154
+ input: Schema.Struct({
155
+ anchor: AnchoredTo.AnchoredTo.annotations({ description: 'The anchor of the thread.' }),
156
+ message: Message.Message.annotations({ description: 'The message to restore.' }),
157
+ messageIndex: Schema.Number.annotations({ description: 'The index to restore the message at.' }),
158
+ }),
159
+ output: Schema.Void,
160
+ });
161
+
162
+ export const CreateProposals = Operation.make({
163
+ meta: {
164
+ key: 'org.dxos.function.thread.create-proposals',
165
+ name: 'Create Proposals',
166
+ description: 'Proposes a set of changes to a document.',
167
+ },
168
+ input: Schema.Struct({
169
+ doc: Ref.Ref(Markdown.Document).annotations({
170
+ description: 'The ID of the document.',
171
+ }),
172
+ diffs: Schema.Array(Schema.String).annotations({
173
+ description: 'The diffs to propose for the document.',
174
+ }),
175
+ }),
176
+ output: Schema.Void,
177
+ services: [Database.Service],
178
+ });
@@ -2,5 +2,8 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- export * as Channel from './Channel';
6
5
  export * from './types';
6
+
7
+ export * as Settings from './Settings';
8
+ export * as ThreadCapabilities from './ThreadCapabilities';
9
+ export * as ThreadOperation from './ThreadOperation';