@dxos/plugin-thread 0.8.4-main.ead640a → 0.8.4-main.effb148878

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 (600) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/neutral/ChannelArticle-UJHPOUWA.mjs +28 -0
  4. package/dist/lib/neutral/ChannelArticle-UJHPOUWA.mjs.map +7 -0
  5. package/dist/lib/neutral/ChannelChat-LZEDFJVD.mjs +10 -0
  6. package/dist/lib/neutral/CommentsCompanion-3H3ZVIBH.mjs +208 -0
  7. package/dist/lib/neutral/CommentsCompanion-3H3ZVIBH.mjs.map +7 -0
  8. package/dist/lib/neutral/ThreadContainer-QWB6WRMI.mjs +61 -0
  9. package/dist/lib/neutral/ThreadContainer-QWB6WRMI.mjs.map +7 -0
  10. package/dist/lib/neutral/ThreadPlugin.mjs +96 -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-DATVSMVU.mjs +122 -0
  19. package/dist/lib/neutral/add-message-DATVSMVU.mjs.map +7 -0
  20. package/dist/lib/neutral/agent-runner-JK2Y4RU3.mjs +244 -0
  21. package/dist/lib/neutral/agent-runner-JK2Y4RU3.mjs.map +7 -0
  22. package/dist/lib/neutral/app-graph-builder-ACCHZXZA.mjs +120 -0
  23. package/dist/lib/neutral/app-graph-builder-ACCHZXZA.mjs.map +7 -0
  24. package/dist/lib/neutral/append-channel-message-4ACLATZY.mjs +40 -0
  25. package/dist/lib/neutral/append-channel-message-4ACLATZY.mjs.map +7 -0
  26. package/dist/lib/neutral/blueprint-definition-S3EBOH4R.mjs +15 -0
  27. package/dist/lib/neutral/blueprint-definition-S3EBOH4R.mjs.map +7 -0
  28. package/dist/lib/neutral/blueprints/index.mjs +8 -0
  29. package/dist/lib/neutral/capabilities/index.mjs +27 -0
  30. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  31. package/dist/lib/neutral/chunk-5T5LPLBN.mjs +36 -0
  32. package/dist/lib/neutral/chunk-5T5LPLBN.mjs.map +7 -0
  33. package/dist/lib/neutral/chunk-6HC3NAXD.mjs +164 -0
  34. package/dist/lib/neutral/chunk-6HC3NAXD.mjs.map +7 -0
  35. package/dist/lib/neutral/chunk-BHEZLLXG.mjs +55 -0
  36. package/dist/lib/neutral/chunk-BHEZLLXG.mjs.map +7 -0
  37. package/dist/lib/neutral/chunk-D3SCNWLT.mjs +335 -0
  38. package/dist/lib/neutral/chunk-D3SCNWLT.mjs.map +7 -0
  39. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  40. package/dist/lib/{browser/chunk-CP7E2HRE.mjs → neutral/chunk-JLY4NVTA.mjs} +12 -5
  41. package/dist/lib/neutral/chunk-JLY4NVTA.mjs.map +7 -0
  42. package/dist/lib/neutral/chunk-QFDT33VT.mjs +69 -0
  43. package/dist/lib/neutral/chunk-QFDT33VT.mjs.map +7 -0
  44. package/dist/lib/neutral/chunk-TT6PWRR5.mjs +8 -0
  45. package/dist/lib/neutral/chunk-TT6PWRR5.mjs.map +7 -0
  46. package/dist/lib/neutral/chunk-WMP3QCOR.mjs +46 -0
  47. package/dist/lib/neutral/chunk-WMP3QCOR.mjs.map +7 -0
  48. package/dist/lib/neutral/components/index.mjs +541 -0
  49. package/dist/lib/neutral/components/index.mjs.map +7 -0
  50. package/dist/lib/neutral/containers/index.mjs +15 -0
  51. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  52. package/dist/lib/neutral/create-2NJDD73M.mjs +61 -0
  53. package/dist/lib/neutral/create-2NJDD73M.mjs.map +7 -0
  54. package/dist/lib/neutral/create-channel-RYSV44N3.mjs +19 -0
  55. package/dist/lib/neutral/create-channel-RYSV44N3.mjs.map +7 -0
  56. package/dist/lib/neutral/create-object-D5XEG7MQ.mjs +28 -0
  57. package/dist/lib/neutral/create-object-D5XEG7MQ.mjs.map +7 -0
  58. package/dist/lib/neutral/create-proposals-7UZYZ32V.mjs +56 -0
  59. package/dist/lib/neutral/create-proposals-7UZYZ32V.mjs.map +7 -0
  60. package/dist/lib/neutral/delete-JVGAPD46.mjs +57 -0
  61. package/dist/lib/neutral/delete-JVGAPD46.mjs.map +7 -0
  62. package/dist/lib/neutral/delete-message-5EGR3HWH.mjs +54 -0
  63. package/dist/lib/neutral/delete-message-5EGR3HWH.mjs.map +7 -0
  64. package/dist/lib/neutral/hooks/index.mjs +10 -0
  65. package/dist/lib/neutral/index.mjs +32 -0
  66. package/dist/lib/neutral/markdown-B6RNVR2H.mjs +83 -0
  67. package/dist/lib/neutral/markdown-B6RNVR2H.mjs.map +7 -0
  68. package/dist/lib/neutral/meta.json +1 -0
  69. package/dist/lib/neutral/meta.mjs +10 -0
  70. package/dist/lib/neutral/on-create-space-ZQF55KSO.mjs +23 -0
  71. package/dist/lib/neutral/on-create-space-ZQF55KSO.mjs.map +7 -0
  72. package/dist/lib/neutral/operation-handler-RU6K2S4L.mjs +13 -0
  73. package/dist/lib/neutral/operation-handler-RU6K2S4L.mjs.map +7 -0
  74. package/dist/lib/neutral/operations/index.mjs +8 -0
  75. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  76. package/dist/lib/neutral/plugin.mjs +16 -0
  77. package/dist/lib/neutral/plugin.mjs.map +7 -0
  78. package/dist/lib/neutral/react-surface-ZSIQHN5P.mjs +76 -0
  79. package/dist/lib/neutral/react-surface-ZSIQHN5P.mjs.map +7 -0
  80. package/dist/lib/neutral/respond-to-thread-LVLDZON3.mjs +32 -0
  81. package/dist/lib/neutral/respond-to-thread-LVLDZON3.mjs.map +7 -0
  82. package/dist/lib/neutral/restore-Z5PYV7I2.mjs +32 -0
  83. package/dist/lib/neutral/restore-Z5PYV7I2.mjs.map +7 -0
  84. package/dist/lib/neutral/restore-message-B263PLUH.mjs +33 -0
  85. package/dist/lib/neutral/restore-message-B263PLUH.mjs.map +7 -0
  86. package/dist/lib/neutral/select-GXDEAH5D.mjs +24 -0
  87. package/dist/lib/neutral/select-GXDEAH5D.mjs.map +7 -0
  88. package/dist/lib/neutral/set-agent-config-7HHS6KZZ.mjs +20 -0
  89. package/dist/lib/neutral/set-agent-config-7HHS6KZZ.mjs.map +7 -0
  90. package/dist/lib/neutral/settings-HK4EB6TF.mjs +30 -0
  91. package/dist/lib/neutral/settings-HK4EB6TF.mjs.map +7 -0
  92. package/dist/lib/neutral/state-UU7VEAKV.mjs +22 -0
  93. package/dist/lib/neutral/state-UU7VEAKV.mjs.map +7 -0
  94. package/dist/lib/neutral/testing/index.mjs +58 -0
  95. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  96. package/dist/lib/neutral/toggle-resolved-LBVNAVVF.mjs +36 -0
  97. package/dist/lib/neutral/toggle-resolved-LBVNAVVF.mjs.map +7 -0
  98. package/dist/lib/neutral/translations.mjs +91 -0
  99. package/dist/lib/neutral/translations.mjs.map +7 -0
  100. package/dist/lib/neutral/types/index.mjs +16 -0
  101. package/dist/lib/neutral/types/index.mjs.map +7 -0
  102. package/dist/lib/neutral/undo-mappings-HOKL2L3M.mjs +54 -0
  103. package/dist/lib/neutral/undo-mappings-HOKL2L3M.mjs.map +7 -0
  104. package/dist/types/src/ThreadPlugin.d.ts +3 -1
  105. package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
  106. package/dist/types/src/ThreadPlugin.node.d.ts +4 -0
  107. package/dist/types/src/ThreadPlugin.node.d.ts.map +1 -0
  108. package/dist/types/src/ThreadPlugin.test.d.ts +2 -0
  109. package/dist/types/src/ThreadPlugin.test.d.ts.map +1 -0
  110. package/dist/types/src/ThreadPlugin.workerd.d.ts +4 -0
  111. package/dist/types/src/ThreadPlugin.workerd.d.ts.map +1 -0
  112. package/dist/types/src/blueprints/index.d.ts +2 -0
  113. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  114. package/dist/types/src/blueprints/thread-blueprint.d.ts +4 -0
  115. package/dist/types/src/blueprints/thread-blueprint.d.ts.map +1 -0
  116. package/dist/types/src/capabilities/agent-runner.d.ts +22 -0
  117. package/dist/types/src/capabilities/agent-runner.d.ts.map +1 -0
  118. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  119. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  120. package/dist/types/src/capabilities/blueprint-definition.d.ts +6 -0
  121. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
  122. package/dist/types/src/capabilities/create-object.d.ts +11 -0
  123. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  124. package/dist/types/src/capabilities/index.d.ts +16 -15
  125. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  126. package/dist/types/src/capabilities/markdown.d.ts +3 -2
  127. package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
  128. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  129. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  130. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  131. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  132. package/dist/types/src/capabilities/settings.d.ts +5 -2
  133. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  134. package/dist/types/src/capabilities/state.d.ts +5 -5
  135. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  136. package/dist/types/src/capabilities/undo-mappings.d.ts +5 -0
  137. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -0
  138. package/dist/types/src/components/Chat/Chat.d.ts +51 -0
  139. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -0
  140. package/dist/types/src/components/Chat/index.d.ts +2 -0
  141. package/dist/types/src/components/Chat/index.d.ts.map +1 -0
  142. package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts +13 -0
  143. package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts.map +1 -0
  144. package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts +160 -0
  145. package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts.map +1 -0
  146. package/dist/types/src/components/CommentsPanel/CommentsThread.d.ts +14 -0
  147. package/dist/types/src/components/CommentsPanel/CommentsThread.d.ts.map +1 -0
  148. package/dist/types/src/components/CommentsPanel/index.d.ts +3 -0
  149. package/dist/types/src/components/CommentsPanel/index.d.ts.map +1 -0
  150. package/dist/types/src/components/MessagePanel/MessagePanel.d.ts +15 -0
  151. package/dist/types/src/components/MessagePanel/MessagePanel.d.ts.map +1 -0
  152. package/dist/types/src/components/MessagePanel/index.d.ts +2 -0
  153. package/dist/types/src/components/MessagePanel/index.d.ts.map +1 -0
  154. package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts +6 -0
  155. package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts.map +1 -0
  156. package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts +161 -0
  157. package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts.map +1 -0
  158. package/dist/types/src/components/ThreadSettings/index.d.ts +2 -0
  159. package/dist/types/src/components/ThreadSettings/index.d.ts.map +1 -0
  160. package/dist/types/src/components/index.d.ts +5 -10
  161. package/dist/types/src/components/index.d.ts.map +1 -1
  162. package/dist/types/src/containers/ChannelArticle/ChannelArticle.d.ts +13 -0
  163. package/dist/types/src/containers/ChannelArticle/ChannelArticle.d.ts.map +1 -0
  164. package/dist/types/src/containers/ChannelArticle/ChannelArticle.stories.d.ts +162 -0
  165. package/dist/types/src/containers/ChannelArticle/ChannelArticle.stories.d.ts.map +1 -0
  166. package/dist/types/src/containers/ChannelArticle/index.d.ts +2 -0
  167. package/dist/types/src/containers/ChannelArticle/index.d.ts.map +1 -0
  168. package/dist/types/src/containers/ChannelChat/ChannelChat.d.ts +20 -0
  169. package/dist/types/src/containers/ChannelChat/ChannelChat.d.ts.map +1 -0
  170. package/dist/types/src/containers/ChannelChat/index.d.ts +4 -0
  171. package/dist/types/src/containers/ChannelChat/index.d.ts.map +1 -0
  172. package/dist/types/src/containers/CommentsCompanion/CommentsCompanion.d.ts +11 -0
  173. package/dist/types/src/containers/CommentsCompanion/CommentsCompanion.d.ts.map +1 -0
  174. package/dist/types/src/containers/CommentsCompanion/CommentsCompanion.stories.d.ts +198 -0
  175. package/dist/types/src/containers/CommentsCompanion/CommentsCompanion.stories.d.ts.map +1 -0
  176. package/dist/types/src/containers/CommentsCompanion/index.d.ts +2 -0
  177. package/dist/types/src/containers/CommentsCompanion/index.d.ts.map +1 -0
  178. package/dist/types/src/containers/ThreadContainer/ThreadContainer.d.ts +20 -0
  179. package/dist/types/src/containers/ThreadContainer/ThreadContainer.d.ts.map +1 -0
  180. package/dist/types/src/containers/ThreadContainer/ThreadContainer.stories.d.ts +162 -0
  181. package/dist/types/src/containers/ThreadContainer/ThreadContainer.stories.d.ts.map +1 -0
  182. package/dist/types/src/containers/ThreadContainer/index.d.ts +4 -0
  183. package/dist/types/src/containers/ThreadContainer/index.d.ts.map +1 -0
  184. package/dist/types/src/containers/index.d.ts +6 -0
  185. package/dist/types/src/containers/index.d.ts.map +1 -0
  186. package/dist/types/src/{components/command-extension.d.ts → extensions/command.d.ts} +1 -1
  187. package/dist/types/src/extensions/command.d.ts.map +1 -0
  188. package/dist/types/src/extensions/index.d.ts +1 -0
  189. package/dist/types/src/extensions/index.d.ts.map +1 -1
  190. package/dist/types/src/extensions/threads.d.ts +9 -4
  191. package/dist/types/src/extensions/threads.d.ts.map +1 -1
  192. package/dist/types/src/hooks/analytics.d.ts +2 -3
  193. package/dist/types/src/hooks/analytics.d.ts.map +1 -1
  194. package/dist/types/src/hooks/index.d.ts +0 -4
  195. package/dist/types/src/hooks/index.d.ts.map +1 -1
  196. package/dist/types/src/hooks/useStatus.d.ts.map +1 -1
  197. package/dist/types/src/index.d.ts +2 -3
  198. package/dist/types/src/index.d.ts.map +1 -1
  199. package/dist/types/src/meta.d.ts +2 -2
  200. package/dist/types/src/meta.d.ts.map +1 -1
  201. package/dist/types/src/operations/add-message.d.ts +5 -0
  202. package/dist/types/src/operations/add-message.d.ts.map +1 -0
  203. package/dist/types/src/operations/append-channel-message.d.ts +5 -0
  204. package/dist/types/src/operations/append-channel-message.d.ts.map +1 -0
  205. package/dist/types/src/operations/create-channel.d.ts +5 -0
  206. package/dist/types/src/operations/create-channel.d.ts.map +1 -0
  207. package/dist/types/src/operations/create-proposals.d.ts +5 -0
  208. package/dist/types/src/operations/create-proposals.d.ts.map +1 -0
  209. package/dist/types/src/operations/create.d.ts +5 -0
  210. package/dist/types/src/operations/create.d.ts.map +1 -0
  211. package/dist/types/src/operations/delete-message.d.ts +5 -0
  212. package/dist/types/src/operations/delete-message.d.ts.map +1 -0
  213. package/dist/types/src/operations/delete.d.ts +5 -0
  214. package/dist/types/src/operations/delete.d.ts.map +1 -0
  215. package/dist/types/src/operations/index.d.ts +3 -0
  216. package/dist/types/src/operations/index.d.ts.map +1 -0
  217. package/dist/types/src/operations/on-create-space.d.ts +5 -0
  218. package/dist/types/src/operations/on-create-space.d.ts.map +1 -0
  219. package/dist/types/src/operations/respond-to-thread.d.ts +5 -0
  220. package/dist/types/src/operations/respond-to-thread.d.ts.map +1 -0
  221. package/dist/types/src/operations/restore-message.d.ts +5 -0
  222. package/dist/types/src/operations/restore-message.d.ts.map +1 -0
  223. package/dist/types/src/operations/restore.d.ts +5 -0
  224. package/dist/types/src/operations/restore.d.ts.map +1 -0
  225. package/dist/types/src/operations/select.d.ts +5 -0
  226. package/dist/types/src/operations/select.d.ts.map +1 -0
  227. package/dist/types/src/operations/set-agent-config.d.ts +5 -0
  228. package/dist/types/src/operations/set-agent-config.d.ts.map +1 -0
  229. package/dist/types/src/operations/toggle-resolved.d.ts +5 -0
  230. package/dist/types/src/operations/toggle-resolved.d.ts.map +1 -0
  231. package/dist/types/src/plugin.d.ts +4 -0
  232. package/dist/types/src/plugin.d.ts.map +1 -0
  233. package/dist/types/src/should-trigger-agent.d.ts +22 -0
  234. package/dist/types/src/should-trigger-agent.d.ts.map +1 -0
  235. package/dist/types/src/should-trigger-agent.test.d.ts +2 -0
  236. package/dist/types/src/should-trigger-agent.test.d.ts.map +1 -0
  237. package/dist/types/src/{components/testing.d.ts → testing/data.d.ts} +4 -4
  238. package/dist/types/src/testing/data.d.ts.map +1 -0
  239. package/dist/types/src/testing/index.d.ts +1 -1
  240. package/dist/types/src/testing/index.d.ts.map +1 -1
  241. package/dist/types/src/translations.d.ts +142 -74
  242. package/dist/types/src/translations.d.ts.map +1 -1
  243. package/dist/types/src/types/AgentIdentity.d.ts +27 -0
  244. package/dist/types/src/types/AgentIdentity.d.ts.map +1 -0
  245. package/dist/types/src/types/Settings.d.ts +5 -0
  246. package/dist/types/src/types/Settings.d.ts.map +1 -0
  247. package/dist/types/src/types/ThreadCapabilities.d.ts +34 -0
  248. package/dist/types/src/types/ThreadCapabilities.d.ts.map +1 -0
  249. package/dist/types/src/types/ThreadOperation.d.ts +2409 -0
  250. package/dist/types/src/types/ThreadOperation.d.ts.map +1 -0
  251. package/dist/types/src/types/index.d.ts +4 -1
  252. package/dist/types/src/types/index.d.ts.map +1 -1
  253. package/dist/types/src/types/types.d.ts +3 -458
  254. package/dist/types/src/types/types.d.ts.map +1 -1
  255. package/dist/types/src/util.d.ts +6 -3
  256. package/dist/types/src/util.d.ts.map +1 -1
  257. package/dist/types/tsconfig.tsbuildinfo +1 -1
  258. package/package.json +156 -85
  259. package/src/ThreadPlugin.node.ts +39 -0
  260. package/src/ThreadPlugin.test.ts +37 -0
  261. package/src/ThreadPlugin.tsx +58 -125
  262. package/src/ThreadPlugin.workerd.ts +20 -0
  263. package/src/blueprints/index.ts +5 -0
  264. package/src/blueprints/thread-blueprint.ts +36 -0
  265. package/src/capabilities/agent-runner.ts +291 -0
  266. package/src/capabilities/app-graph-builder.ts +124 -165
  267. package/src/capabilities/blueprint-definition.ts +19 -0
  268. package/src/capabilities/create-object.ts +30 -0
  269. package/src/capabilities/index.ts +16 -12
  270. package/src/capabilities/markdown.ts +53 -36
  271. package/src/capabilities/operation-handler.ts +16 -0
  272. package/src/capabilities/react-surface.tsx +64 -78
  273. package/src/capabilities/settings.ts +26 -12
  274. package/src/capabilities/state.ts +14 -18
  275. package/src/capabilities/undo-mappings.ts +46 -0
  276. package/src/components/Chat/Chat.tsx +259 -0
  277. package/src/components/Chat/index.ts +5 -0
  278. package/src/components/CommentsPanel/CommentsPanel.stories.tsx +94 -0
  279. package/src/components/CommentsPanel/CommentsPanel.tsx +71 -0
  280. package/src/components/CommentsPanel/CommentsThread.tsx +176 -0
  281. package/src/components/CommentsPanel/index.ts +6 -0
  282. package/src/components/{MessageContainer.tsx → MessagePanel/MessagePanel.tsx} +83 -47
  283. package/src/components/MessagePanel/index.ts +5 -0
  284. package/src/components/ThreadSettings/ThreadSettings.stories.tsx +32 -0
  285. package/src/components/ThreadSettings/ThreadSettings.tsx +19 -0
  286. package/src/components/ThreadSettings/index.ts +5 -0
  287. package/src/components/index.ts +5 -12
  288. package/src/containers/ChannelArticle/ChannelArticle.stories.tsx +105 -0
  289. package/src/containers/ChannelArticle/ChannelArticle.tsx +42 -0
  290. package/src/containers/ChannelArticle/index.ts +5 -0
  291. package/src/containers/ChannelChat/ChannelChat.tsx +75 -0
  292. package/src/containers/ChannelChat/index.ts +8 -0
  293. package/src/containers/CommentsCompanion/CommentsCompanion.stories.tsx +339 -0
  294. package/src/containers/CommentsCompanion/CommentsCompanion.tsx +216 -0
  295. package/src/containers/CommentsCompanion/index.ts +5 -0
  296. package/src/containers/ThreadContainer/ThreadContainer.stories.tsx +86 -0
  297. package/src/containers/ThreadContainer/ThreadContainer.tsx +75 -0
  298. package/src/containers/ThreadContainer/index.ts +8 -0
  299. package/src/containers/index.ts +10 -0
  300. package/src/{components/command-extension.ts → extensions/command.ts} +3 -3
  301. package/src/extensions/index.ts +1 -0
  302. package/src/extensions/threads.ts +88 -43
  303. package/src/hooks/analytics.ts +22 -21
  304. package/src/hooks/index.ts +0 -4
  305. package/src/index.ts +4 -4
  306. package/src/meta.ts +37 -7
  307. package/src/operations/add-message.ts +94 -0
  308. package/src/operations/append-channel-message.ts +37 -0
  309. package/src/operations/create-channel.ts +20 -0
  310. package/src/operations/create-proposals.ts +49 -0
  311. package/src/operations/create.ts +63 -0
  312. package/src/operations/delete-message.ts +53 -0
  313. package/src/operations/delete.ts +63 -0
  314. package/src/operations/index.ts +22 -0
  315. package/src/operations/on-create-space.ts +27 -0
  316. package/src/operations/respond-to-thread.ts +32 -0
  317. package/src/operations/restore-message.ts +38 -0
  318. package/src/operations/restore.ts +38 -0
  319. package/src/operations/select.ts +24 -0
  320. package/src/operations/set-agent-config.ts +24 -0
  321. package/src/operations/toggle-resolved.ts +41 -0
  322. package/src/plugin.ts +11 -0
  323. package/src/should-trigger-agent.test.ts +72 -0
  324. package/src/should-trigger-agent.ts +50 -0
  325. package/src/testing/data.ts +49 -0
  326. package/src/testing/index.ts +1 -1
  327. package/src/translations.ts +75 -75
  328. package/src/types/AgentIdentity.ts +35 -0
  329. package/src/types/Settings.ts +10 -0
  330. package/src/types/ThreadCapabilities.ts +46 -0
  331. package/src/types/ThreadOperation.ts +217 -0
  332. package/src/types/index.ts +5 -1
  333. package/src/types/types.ts +4 -109
  334. package/src/util.ts +37 -5
  335. package/dist/lib/browser/ChannelContainer-BGDGZHV4.mjs +0 -16
  336. package/dist/lib/browser/ChatContainer-75KJZ4XR.mjs +0 -15
  337. package/dist/lib/browser/app-graph-builder-ODKIAXR7.mjs +0 -171
  338. package/dist/lib/browser/app-graph-builder-ODKIAXR7.mjs.map +0 -7
  339. package/dist/lib/browser/call-manager-BCKLI4QD.mjs +0 -24
  340. package/dist/lib/browser/call-manager-BCKLI4QD.mjs.map +0 -7
  341. package/dist/lib/browser/chunk-2MUYQOQE.mjs +0 -23
  342. package/dist/lib/browser/chunk-2MUYQOQE.mjs.map +0 -7
  343. package/dist/lib/browser/chunk-B7YQ7QR2.mjs +0 -376
  344. package/dist/lib/browser/chunk-B7YQ7QR2.mjs.map +0 -7
  345. package/dist/lib/browser/chunk-CMCVHULC.mjs +0 -986
  346. package/dist/lib/browser/chunk-CMCVHULC.mjs.map +0 -7
  347. package/dist/lib/browser/chunk-CP7E2HRE.mjs.map +0 -7
  348. package/dist/lib/browser/chunk-HDEQRBOC.mjs +0 -181
  349. package/dist/lib/browser/chunk-HDEQRBOC.mjs.map +0 -7
  350. package/dist/lib/browser/chunk-L326LSNS.mjs +0 -18
  351. package/dist/lib/browser/chunk-L326LSNS.mjs.map +0 -7
  352. package/dist/lib/browser/chunk-T4KJ5JR4.mjs +0 -15
  353. package/dist/lib/browser/chunk-T4KJ5JR4.mjs.map +0 -7
  354. package/dist/lib/browser/chunk-VJMKS4CZ.mjs +0 -619
  355. package/dist/lib/browser/chunk-VJMKS4CZ.mjs.map +0 -7
  356. package/dist/lib/browser/chunk-VTYX3SIM.mjs +0 -147
  357. package/dist/lib/browser/chunk-VTYX3SIM.mjs.map +0 -7
  358. package/dist/lib/browser/chunk-XYUJXHYV.mjs +0 -106
  359. package/dist/lib/browser/chunk-XYUJXHYV.mjs.map +0 -7
  360. package/dist/lib/browser/chunk-ZCEU5K23.mjs +0 -1890
  361. package/dist/lib/browser/chunk-ZCEU5K23.mjs.map +0 -7
  362. package/dist/lib/browser/index.mjs +0 -312
  363. package/dist/lib/browser/index.mjs.map +0 -7
  364. package/dist/lib/browser/intent-resolver-VOQD3TQ2.mjs +0 -427
  365. package/dist/lib/browser/intent-resolver-VOQD3TQ2.mjs.map +0 -7
  366. package/dist/lib/browser/markdown-R6MGRIA6.mjs +0 -169
  367. package/dist/lib/browser/markdown-R6MGRIA6.mjs.map +0 -7
  368. package/dist/lib/browser/meta.json +0 -1
  369. package/dist/lib/browser/react-root-UMSBTN6H.mjs +0 -28
  370. package/dist/lib/browser/react-root-UMSBTN6H.mjs.map +0 -7
  371. package/dist/lib/browser/react-surface-SXMQEWKE.mjs +0 -109
  372. package/dist/lib/browser/react-surface-SXMQEWKE.mjs.map +0 -7
  373. package/dist/lib/browser/settings-TCNF54PN.mjs +0 -22
  374. package/dist/lib/browser/settings-TCNF54PN.mjs.map +0 -7
  375. package/dist/lib/browser/state-ZQ4IPOJT.mjs +0 -34
  376. package/dist/lib/browser/state-ZQ4IPOJT.mjs.map +0 -7
  377. package/dist/lib/browser/toolkit-JF4B4QIO.mjs +0 -84
  378. package/dist/lib/browser/toolkit-JF4B4QIO.mjs.map +0 -7
  379. package/dist/lib/browser/types/index.mjs +0 -16
  380. package/dist/lib/node-esm/ChannelContainer-OXC6BTU7.mjs +0 -17
  381. package/dist/lib/node-esm/ChatContainer-SH6LTFQL.mjs +0 -16
  382. package/dist/lib/node-esm/app-graph-builder-DMPT3MY6.mjs +0 -172
  383. package/dist/lib/node-esm/app-graph-builder-DMPT3MY6.mjs.map +0 -7
  384. package/dist/lib/node-esm/call-manager-Q7RY2YP4.mjs +0 -25
  385. package/dist/lib/node-esm/call-manager-Q7RY2YP4.mjs.map +0 -7
  386. package/dist/lib/node-esm/chunk-2KZ4ODHU.mjs +0 -987
  387. package/dist/lib/node-esm/chunk-2KZ4ODHU.mjs.map +0 -7
  388. package/dist/lib/node-esm/chunk-2MMJF7DW.mjs +0 -182
  389. package/dist/lib/node-esm/chunk-2MMJF7DW.mjs.map +0 -7
  390. package/dist/lib/node-esm/chunk-2V3WSLUZ.mjs +0 -108
  391. package/dist/lib/node-esm/chunk-2V3WSLUZ.mjs.map +0 -7
  392. package/dist/lib/node-esm/chunk-ABUFOZVX.mjs +0 -33
  393. package/dist/lib/node-esm/chunk-ABUFOZVX.mjs.map +0 -7
  394. package/dist/lib/node-esm/chunk-BAMZXJS4.mjs +0 -148
  395. package/dist/lib/node-esm/chunk-BAMZXJS4.mjs.map +0 -7
  396. package/dist/lib/node-esm/chunk-BTGKI5IK.mjs +0 -377
  397. package/dist/lib/node-esm/chunk-BTGKI5IK.mjs.map +0 -7
  398. package/dist/lib/node-esm/chunk-GZ4WL2IS.mjs +0 -25
  399. package/dist/lib/node-esm/chunk-GZ4WL2IS.mjs.map +0 -7
  400. package/dist/lib/node-esm/chunk-LCHTNRK7.mjs +0 -19
  401. package/dist/lib/node-esm/chunk-LCHTNRK7.mjs.map +0 -7
  402. package/dist/lib/node-esm/chunk-NHSIAEDW.mjs +0 -620
  403. package/dist/lib/node-esm/chunk-NHSIAEDW.mjs.map +0 -7
  404. package/dist/lib/node-esm/chunk-OBVAURUU.mjs +0 -17
  405. package/dist/lib/node-esm/chunk-OBVAURUU.mjs.map +0 -7
  406. package/dist/lib/node-esm/chunk-TIPIOH2J.mjs +0 -1891
  407. package/dist/lib/node-esm/chunk-TIPIOH2J.mjs.map +0 -7
  408. package/dist/lib/node-esm/index.mjs +0 -313
  409. package/dist/lib/node-esm/index.mjs.map +0 -7
  410. package/dist/lib/node-esm/intent-resolver-AKVH66PH.mjs +0 -428
  411. package/dist/lib/node-esm/intent-resolver-AKVH66PH.mjs.map +0 -7
  412. package/dist/lib/node-esm/markdown-MYGTDXT6.mjs +0 -170
  413. package/dist/lib/node-esm/markdown-MYGTDXT6.mjs.map +0 -7
  414. package/dist/lib/node-esm/meta.json +0 -1
  415. package/dist/lib/node-esm/react-root-W6AVTL5M.mjs +0 -29
  416. package/dist/lib/node-esm/react-root-W6AVTL5M.mjs.map +0 -7
  417. package/dist/lib/node-esm/react-surface-NLSZJGMO.mjs +0 -110
  418. package/dist/lib/node-esm/react-surface-NLSZJGMO.mjs.map +0 -7
  419. package/dist/lib/node-esm/settings-ZQHGVFBY.mjs +0 -23
  420. package/dist/lib/node-esm/settings-ZQHGVFBY.mjs.map +0 -7
  421. package/dist/lib/node-esm/state-FSLLJ5TZ.mjs +0 -35
  422. package/dist/lib/node-esm/state-FSLLJ5TZ.mjs.map +0 -7
  423. package/dist/lib/node-esm/toolkit-DHPKJITO.mjs +0 -85
  424. package/dist/lib/node-esm/toolkit-DHPKJITO.mjs.map +0 -7
  425. package/dist/lib/node-esm/types/index.mjs +0 -17
  426. package/dist/types/src/calls/call-manager.d.ts +0 -77
  427. package/dist/types/src/calls/call-manager.d.ts.map +0 -1
  428. package/dist/types/src/calls/call-swarm-synchronizer.d.ts +0 -66
  429. package/dist/types/src/calls/call-swarm-synchronizer.d.ts.map +0 -1
  430. package/dist/types/src/calls/index.d.ts +0 -7
  431. package/dist/types/src/calls/index.d.ts.map +0 -1
  432. package/dist/types/src/calls/media-manager.d.ts +0 -60
  433. package/dist/types/src/calls/media-manager.d.ts.map +0 -1
  434. package/dist/types/src/calls/speaking-monitor.d.ts +0 -24
  435. package/dist/types/src/calls/speaking-monitor.d.ts.map +0 -1
  436. package/dist/types/src/calls/types.d.ts +0 -45
  437. package/dist/types/src/calls/types.d.ts.map +0 -1
  438. package/dist/types/src/calls/util/audio.d.ts +0 -6
  439. package/dist/types/src/calls/util/audio.d.ts.map +0 -1
  440. package/dist/types/src/calls/util/calls-service.d.ts +0 -77
  441. package/dist/types/src/calls/util/calls-service.d.ts.map +0 -1
  442. package/dist/types/src/calls/util/history-cache.d.ts +0 -11
  443. package/dist/types/src/calls/util/history-cache.d.ts.map +0 -1
  444. package/dist/types/src/calls/util/index.d.ts +0 -5
  445. package/dist/types/src/calls/util/index.d.ts.map +0 -1
  446. package/dist/types/src/calls/util/media.d.ts +0 -6
  447. package/dist/types/src/calls/util/media.d.ts.map +0 -1
  448. package/dist/types/src/calls/util/stub-media-streams.d.ts +0 -18
  449. package/dist/types/src/calls/util/stub-media-streams.d.ts.map +0 -1
  450. package/dist/types/src/calls/util/task-scheduling.d.ts +0 -17
  451. package/dist/types/src/calls/util/task-scheduling.d.ts.map +0 -1
  452. package/dist/types/src/calls-service.stories.d.ts +0 -23
  453. package/dist/types/src/calls-service.stories.d.ts.map +0 -1
  454. package/dist/types/src/capabilities/call-manager.d.ts +0 -5
  455. package/dist/types/src/capabilities/call-manager.d.ts.map +0 -1
  456. package/dist/types/src/capabilities/capabilities.d.ts +0 -27
  457. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  458. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  459. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  460. package/dist/types/src/capabilities/react-root.d.ts +0 -7
  461. package/dist/types/src/capabilities/react-root.d.ts.map +0 -1
  462. package/dist/types/src/capabilities/toolkit.d.ts +0 -6
  463. package/dist/types/src/capabilities/toolkit.d.ts.map +0 -1
  464. package/dist/types/src/components/Call/Call.d.ts +0 -17
  465. package/dist/types/src/components/Call/Call.d.ts.map +0 -1
  466. package/dist/types/src/components/Call/Toolbar.d.ts +0 -16
  467. package/dist/types/src/components/Call/Toolbar.d.ts.map +0 -1
  468. package/dist/types/src/components/Call/index.d.ts +0 -3
  469. package/dist/types/src/components/Call/index.d.ts.map +0 -1
  470. package/dist/types/src/components/CallDebugPanel.d.ts +0 -15
  471. package/dist/types/src/components/CallDebugPanel.d.ts.map +0 -1
  472. package/dist/types/src/components/CallSidebar.d.ts +0 -4
  473. package/dist/types/src/components/CallSidebar.d.ts.map +0 -1
  474. package/dist/types/src/components/ChannelContainer.d.ts +0 -14
  475. package/dist/types/src/components/ChannelContainer.d.ts.map +0 -1
  476. package/dist/types/src/components/ChannelContainer.stories.d.ts +0 -93
  477. package/dist/types/src/components/ChannelContainer.stories.d.ts.map +0 -1
  478. package/dist/types/src/components/Chat.stories.d.ts +0 -93
  479. package/dist/types/src/components/Chat.stories.d.ts.map +0 -1
  480. package/dist/types/src/components/ChatContainer.d.ts +0 -17
  481. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  482. package/dist/types/src/components/Comments.stories.d.ts +0 -158
  483. package/dist/types/src/components/Comments.stories.d.ts.map +0 -1
  484. package/dist/types/src/components/CommentsContainer.d.ts +0 -13
  485. package/dist/types/src/components/CommentsContainer.d.ts.map +0 -1
  486. package/dist/types/src/components/CommentsThreadContainer.d.ts +0 -14
  487. package/dist/types/src/components/CommentsThreadContainer.d.ts.map +0 -1
  488. package/dist/types/src/components/Lobby/Lobby.d.ts +0 -15
  489. package/dist/types/src/components/Lobby/Lobby.d.ts.map +0 -1
  490. package/dist/types/src/components/Lobby/index.d.ts +0 -2
  491. package/dist/types/src/components/Lobby/index.d.ts.map +0 -1
  492. package/dist/types/src/components/Media/AudioStream.d.ts +0 -6
  493. package/dist/types/src/components/Media/AudioStream.d.ts.map +0 -1
  494. package/dist/types/src/components/Media/VideoObject.d.ts +0 -15
  495. package/dist/types/src/components/Media/VideoObject.d.ts.map +0 -1
  496. package/dist/types/src/components/Media/VideoObject.stories.d.ts +0 -22
  497. package/dist/types/src/components/Media/VideoObject.stories.d.ts.map +0 -1
  498. package/dist/types/src/components/Media/index.d.ts +0 -3
  499. package/dist/types/src/components/Media/index.d.ts.map +0 -1
  500. package/dist/types/src/components/MessageContainer.d.ts +0 -14
  501. package/dist/types/src/components/MessageContainer.d.ts.map +0 -1
  502. package/dist/types/src/components/Participant/Participant.d.ts +0 -6
  503. package/dist/types/src/components/Participant/Participant.d.ts.map +0 -1
  504. package/dist/types/src/components/Participant/ParticipantGrid.d.ts +0 -11
  505. package/dist/types/src/components/Participant/ParticipantGrid.d.ts.map +0 -1
  506. package/dist/types/src/components/Participant/index.d.ts +0 -3
  507. package/dist/types/src/components/Participant/index.d.ts.map +0 -1
  508. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.d.ts +0 -12
  509. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.d.ts.map +0 -1
  510. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +0 -162
  511. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +0 -1
  512. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.d.ts +0 -32
  513. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.d.ts.map +0 -1
  514. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +0 -176
  515. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +0 -1
  516. package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts +0 -21
  517. package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts.map +0 -1
  518. package/dist/types/src/components/ResponsiveGrid/index.d.ts +0 -4
  519. package/dist/types/src/components/ResponsiveGrid/index.d.ts.map +0 -1
  520. package/dist/types/src/components/ThreadComplementary.d.ts +0 -5
  521. package/dist/types/src/components/ThreadComplementary.d.ts.map +0 -1
  522. package/dist/types/src/components/ThreadSettings.d.ts +0 -6
  523. package/dist/types/src/components/ThreadSettings.d.ts.map +0 -1
  524. package/dist/types/src/components/command-extension.d.ts.map +0 -1
  525. package/dist/types/src/components/testing.d.ts.map +0 -1
  526. package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts +0 -2
  527. package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts.map +0 -1
  528. package/dist/types/src/hooks/useDebugMode.d.ts +0 -2
  529. package/dist/types/src/hooks/useDebugMode.d.ts.map +0 -1
  530. package/dist/types/src/hooks/useInaudibleAudioStreamTrack.d.ts +0 -2
  531. package/dist/types/src/hooks/useInaudibleAudioStreamTrack.d.ts.map +0 -1
  532. package/dist/types/src/hooks/useVideoStreamTrack.d.ts +0 -3
  533. package/dist/types/src/hooks/useVideoStreamTrack.d.ts.map +0 -1
  534. package/dist/types/src/testing/stories.d.ts +0 -2
  535. package/dist/types/src/testing/stories.d.ts.map +0 -1
  536. package/dist/types/src/types/schema.d.ts +0 -179
  537. package/dist/types/src/types/schema.d.ts.map +0 -1
  538. package/src/calls/call-manager.ts +0 -246
  539. package/src/calls/call-swarm-synchronizer.ts +0 -350
  540. package/src/calls/index.ts +0 -10
  541. package/src/calls/media-manager.ts +0 -375
  542. package/src/calls/speaking-monitor.ts +0 -85
  543. package/src/calls/types.ts +0 -74
  544. package/src/calls/util/audio.ts +0 -58
  545. package/src/calls/util/calls-service.ts +0 -581
  546. package/src/calls/util/history-cache.ts +0 -27
  547. package/src/calls/util/index.ts +0 -8
  548. package/src/calls/util/media.ts +0 -52
  549. package/src/calls/util/stub-media-streams.ts +0 -127
  550. package/src/calls/util/task-scheduling.ts +0 -92
  551. package/src/calls-service.stories.tsx +0 -229
  552. package/src/capabilities/call-manager.ts +0 -20
  553. package/src/capabilities/capabilities.ts +0 -33
  554. package/src/capabilities/intent-resolver.ts +0 -348
  555. package/src/capabilities/react-root.tsx +0 -17
  556. package/src/capabilities/toolkit.ts +0 -82
  557. package/src/components/Call/Call.tsx +0 -89
  558. package/src/components/Call/Toolbar.tsx +0 -182
  559. package/src/components/Call/index.ts +0 -6
  560. package/src/components/CallDebugPanel.tsx +0 -174
  561. package/src/components/CallSidebar.tsx +0 -18
  562. package/src/components/ChannelContainer.stories.tsx +0 -59
  563. package/src/components/ChannelContainer.tsx +0 -201
  564. package/src/components/Chat.stories.tsx +0 -91
  565. package/src/components/ChatContainer.tsx +0 -145
  566. package/src/components/Comments.stories.tsx +0 -91
  567. package/src/components/CommentsContainer.tsx +0 -72
  568. package/src/components/CommentsThreadContainer.tsx +0 -169
  569. package/src/components/Lobby/Lobby.tsx +0 -119
  570. package/src/components/Lobby/index.ts +0 -5
  571. package/src/components/Media/AudioStream.tsx +0 -67
  572. package/src/components/Media/VideoObject.stories.tsx +0 -60
  573. package/src/components/Media/VideoObject.tsx +0 -58
  574. package/src/components/Media/index.ts +0 -6
  575. package/src/components/Participant/Participant.tsx +0 -63
  576. package/src/components/Participant/ParticipantGrid.tsx +0 -89
  577. package/src/components/Participant/index.ts +0 -6
  578. package/src/components/ResponsiveGrid/ResponsiveContainer.stories.tsx +0 -54
  579. package/src/components/ResponsiveGrid/ResponsiveContainer.tsx +0 -31
  580. package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +0 -158
  581. package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +0 -341
  582. package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +0 -131
  583. package/src/components/ResponsiveGrid/index.ts +0 -7
  584. package/src/components/ThreadComplementary.tsx +0 -181
  585. package/src/components/ThreadSettings.tsx +0 -16
  586. package/src/components/testing.ts +0 -51
  587. package/src/hooks/useBlackCanvasStreamTrack.tsx +0 -27
  588. package/src/hooks/useDebugMode.ts +0 -25
  589. package/src/hooks/useInaudibleAudioStreamTrack.tsx +0 -27
  590. package/src/hooks/useVideoStreamTrack.tsx +0 -36
  591. package/src/testing/stories.ts +0 -54
  592. package/src/types/schema.ts +0 -33
  593. package/src/typings/peermetrics-webrtc-stats.d.ts +0 -46
  594. package/src/typings.d.ts +0 -8
  595. /package/dist/lib/{browser/ChannelContainer-BGDGZHV4.mjs.map → neutral/ChannelChat-LZEDFJVD.mjs.map} +0 -0
  596. /package/dist/lib/{browser/types → neutral/blueprints}/index.mjs.map +0 -0
  597. /package/dist/lib/{browser/ChatContainer-75KJZ4XR.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  598. /package/dist/lib/{node-esm/types → neutral/hooks}/index.mjs.map +0 -0
  599. /package/dist/lib/{node-esm/ChannelContainer-OXC6BTU7.mjs.map → neutral/index.mjs.map} +0 -0
  600. /package/dist/lib/{node-esm/ChatContainer-SH6LTFQL.mjs.map → neutral/meta.mjs.map} +0 -0
@@ -2,96 +2,96 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
+ import { Type } from '@dxos/echo';
5
6
  import { type Resource } from '@dxos/react-ui';
7
+ import { Channel } from '@dxos/types';
6
8
 
7
- import { meta } from './meta';
8
- import { ChannelType } from './types';
9
+ import { meta } from '#meta';
9
10
 
10
11
  export const translations = [
11
12
  {
12
13
  'en-US': {
13
- [ChannelType.typename]: {
14
- 'typename label': 'Channel',
15
- 'typename label_zero': 'Channels',
16
- 'typename label_one': 'Channel',
17
- 'typename label_other': 'Channels',
18
- 'object name placeholder': 'New channel',
19
- 'rename object label': 'Rename channel',
20
- 'delete object label': 'Delete channel',
14
+ // TODO(burdon): Thread.
15
+ [Type.getTypename(Channel.Channel)]: {
16
+ 'typename.label': 'Channel',
17
+ 'typename.label_zero': 'Channels',
18
+ 'typename.label_one': 'Channel',
19
+ 'typename.label_other': 'Channels',
20
+ 'object-name.placeholder': 'New channel',
21
+ 'add-object.label': 'Add channel',
22
+ 'rename-object.label': 'Rename channel',
23
+ 'delete-object.label': 'Delete channel',
24
+ 'object-deleted.label': 'Channel deleted',
21
25
  },
22
26
  [meta.id]: {
23
- 'plugin name': 'Chat',
24
- 'channel title label': 'Title',
25
- 'message placeholder': 'Reply…',
26
- 'activity message': 'Processing…',
27
- 'anonymous label': 'Anonymous',
28
- 'delete message block label': 'Delete message block',
29
- 'detached thread label': 'Referenced content was removed',
30
- 'delete thread label': 'Delete thread',
31
- 'resolve thread label': 'Resolve thread',
32
- 'thread deleted label': 'Thread deleted',
33
- 'message deleted label': 'Message deleted',
34
- 'comments heading': 'Comments',
35
- 'chat heading': 'Chat',
36
- 'draft button': 'DRAFT',
37
- 'no comments title': 'Comments',
38
- 'no comments message':
27
+ 'plugin.name': 'Chat',
28
+ 'channel-title.label': 'Title',
29
+ 'message.placeholder': 'Reply…',
30
+ 'activity.message': 'Processing…',
31
+ 'anonymous.label': 'Anonymous',
32
+ 'delete-message-block.label': 'Delete message block',
33
+ 'detached-thread.label': 'Referenced content was removed',
34
+ 'delete-thread.label': 'Delete thread',
35
+ 'resolve-thread.label': 'Resolve thread',
36
+ 'thread-deleted.label': 'Thread deleted',
37
+ 'message-deleted.label': 'Message deleted',
38
+ 'comments.heading': 'Comments',
39
+ 'chat.heading': 'Chat',
40
+ 'draft.button': 'DRAFT',
41
+ 'no-comments.title': 'Comments',
42
+ 'no-comments.message':
39
43
  'Click on the <commentIcon></commentIcon> button in the document toolbar to create a comment thread on the selected text.',
40
- 'toggle show resolved': 'Show resolved',
41
- 'unnamed object threads label': 'Threads',
42
- 'mark as resolved label': 'Mark as resolved',
43
- 'mark as unresolved label': 'Mark as unresolved',
44
- 'save message label': 'Save',
45
- 'edit message label': 'Edit',
46
- 'delete message label': 'Delete message',
47
- 'accept proposal label': 'Accept proposal',
48
- 'open comments panel label': 'Show Comments',
49
- 'comments label': 'Comments',
50
- 'show all label': 'All comments',
51
- 'show unresolved label': 'Unresolved comments',
44
+ 'toggle-show-resolved.label': 'Show resolved',
45
+ 'unnamed-object-threads.label': 'Threads',
46
+ 'mark-as-resolved.label': 'Mark as resolved',
47
+ 'mark-as-unresolved.label': 'Mark as unresolved',
48
+ 'save-message.label': 'Save',
49
+ 'edit-message.label': 'Edit',
50
+ 'delete-message.label': 'Delete message',
51
+ 'accept-proposal.label': 'Accept proposal',
52
+ 'open-comments-panel.label': 'Show Comments',
53
+ 'comments.label': 'Comments',
54
+ 'show-all.label': 'All comments',
55
+ 'show-unresolved.label': 'Unresolved comments',
56
+ 'add-comment.label': 'Add comment',
52
57
 
53
- 'channel companion label': 'Channel',
54
- 'call panel label': 'Active Call',
58
+ 'channel-companion.label': 'Channel',
59
+ 'call-panel.label': 'Active Call',
55
60
 
56
- 'display name label': 'Display name',
57
- 'display name description': 'Set your display name before joining a meeting.',
58
- 'display name input placeholder': 'Enter your name',
59
- 'set display name label': 'Continue',
61
+ 'display-name.label': 'Display name',
62
+ 'display-name.description': 'Set your display name before joining a meeting.',
63
+ 'display-name-input.placeholder': 'Enter your name',
64
+ 'set-display-name.label': 'Continue',
60
65
 
61
- 'call tab label': 'Call',
62
- 'meeting status title': 'Meeting',
63
- 'share meeting link label': 'Share meeting',
64
- 'show webrtc stats title': 'WebRTC Stats',
65
- 'show calls history title': 'Service History',
66
+ 'call-tab.label': 'Call',
67
+ 'meeting-status.title': 'Calls',
68
+ 'share-meeting-link.label': 'Share meeting',
69
+ 'show-webrtc-stats.title': 'WebRTC Stats',
70
+ 'show-calls-history.title': 'Service History',
66
71
 
67
- 'meeting summary label': 'Summary',
68
- 'summarize label': 'Summarize',
69
- 'summarizing label': 'Creating summary...',
70
- 'create summary message': 'A summary doesn’t exist for this meeting yet. Create one now?',
72
+ 'meeting-summary.label': 'Summary',
73
+ 'summarize.label': 'Summarize',
74
+ 'summarizing.label': 'Creating summary...',
75
+ 'create-summary.message': 'A summary doesn’t exist for this meeting yet. Create one now?',
71
76
 
72
- 'join call': 'Join',
73
- 'leave call': 'Leave',
77
+ 'icon-pin.label': 'Pin video',
78
+ 'icon-unpin.label': 'Unpin video',
79
+ 'icon-wave.label': 'Waving',
80
+ 'icon-muted.label': 'Muted',
81
+ 'join-call.button': 'Join',
82
+ 'leave-call.button': 'Leave',
83
+ 'mic-on.button': 'Unmute',
84
+ 'mic-off.button': 'Mute',
85
+ 'camera-on.button': 'Turn camera on',
86
+ 'camera-off.button': 'Turn camera off',
87
+ 'camera-off.label': 'Camera off',
88
+ 'raise-hand.button': 'Raise hand',
89
+ 'lower-hand.button': 'Lower hand',
90
+ 'screenshare-on.button': 'Share screen',
91
+ 'screenshare-off.button': 'Stop streaming',
74
92
 
75
- 'lobby participants_zero': 'No participants',
76
- 'lobby participants_one': '1 participant',
77
- 'lobby participants_other': '{{count}} participants',
78
-
79
- 'icon pin': 'Pin video',
80
- 'icon unpin': 'Unpin video',
81
- 'icon wave': 'Waving',
82
- 'icon muted': 'Muted',
83
- 'icon speaking': 'Speaking',
84
-
85
- 'mic on': 'Unmute',
86
- 'mic off': 'Mute',
87
- 'camera on': 'Turn camera on',
88
- 'camera off': 'Turn camera off',
89
- 'camera off label': 'Camera off',
90
-
91
- 'raise hand': 'Raise hand',
92
- 'lower hand': 'Lower hand',
93
- 'screenshare on': 'Share screen',
94
- 'screenshare off': 'Stop streaming',
93
+ 'channel-toolbar.title': 'Channel actions',
94
+ 'start-video-call.menu': 'Start video call',
95
95
  },
96
96
  },
97
97
  },
@@ -0,0 +1,35 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { Capability } from '@dxos/app-framework';
6
+
7
+ import { meta } from '#meta';
8
+
9
+ /**
10
+ * Runtime identity of the comment-thread AI agent.
11
+ *
12
+ * Resolved via a Capability contribution at plugin activation, never stored on
13
+ * Thread.Thread. Renaming the agent globally (e.g. via plugin settings)
14
+ * immediately affects gating and sender metadata on every opted-in thread —
15
+ * past and future.
16
+ *
17
+ * - `name`: display name and @mention token (case-insensitive match).
18
+ * - `identityDid`: optional ECHO DID stamped on assistant messages.
19
+ * - `avatar`: optional icon hint.
20
+ */
21
+ export interface AgentIdentity {
22
+ readonly name: string;
23
+ readonly identityDid?: string;
24
+ readonly avatar?: string;
25
+ }
26
+
27
+ export const AgentIdentity = Capability.make<AgentIdentity>(`${meta.id}.capability.agent-identity`);
28
+
29
+ /**
30
+ * Built-in default identity used by ThreadPlugin when no host has contributed
31
+ * a stronger `AgentIdentity`. Hosts that want to override (e.g. a workspace-
32
+ * scoped bot record, a settings panel) must contribute their identity earlier
33
+ * in plugin order so `Capability.get` returns it first.
34
+ */
35
+ export const DEFAULT_AGENT_IDENTITY: AgentIdentity = { name: 'Kai' };
@@ -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,46 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ // @import-as-namespace
6
+
7
+ import { type Atom } from '@effect-atom/atom-react';
8
+ import * as Effect from 'effect/Effect';
9
+
10
+ import { Capability } from '@dxos/app-framework';
11
+ import { AppCapabilities } from '@dxos/app-toolkit';
12
+ import { type Obj } from '@dxos/echo';
13
+ import { type Thread } from '@dxos/types';
14
+
15
+ import { meta } from '#meta';
16
+
17
+ import { type ThreadState, type ViewStore } from '../types';
18
+
19
+ export const Settings = Capability.make<Atom.Writable<import('./Settings').Settings>>(`${meta.id}.capability.settings`);
20
+
21
+ /** Comment configuration contributed per typename by plugins that support commenting. */
22
+ export type CommentConfig = AppCapabilities.CommentConfig;
23
+ export const CommentConfig: Capability.InterfaceDef<AppCapabilities.CommentConfig> = AppCapabilities.CommentConfig;
24
+
25
+ /** Thread state (drafts, toolbar state, current selection). */
26
+ export const State = Capability.make<Atom.Writable<ThreadState>>(`${meta.id}.capability.state`);
27
+
28
+ /** Per-subject view state (e.g., showResolvedThreads). */
29
+ export const ViewState = Capability.make<Atom.Writable<ViewStore>>(`${meta.id}.capability.view-state`);
30
+
31
+ /**
32
+ * Runs one comment-thread agent turn against a thread/subject pair.
33
+ *
34
+ * `run` may depend on `Capability.Service` so implementations can read
35
+ * `AgentIdentity` and any other contributed capabilities. The caller
36
+ * (RespondToThread operation handler) already provides `Capability.Service`.
37
+ *
38
+ * The default implementation (built atop AiSession) is not yet wired; storybook
39
+ * and tests contribute stub implementations via `Capability.contributes` to
40
+ * exercise the trigger plumbing without making network calls.
41
+ */
42
+ export interface AgentRunner {
43
+ run(input: { thread: Thread.Thread; subject: Obj.Any }): Effect.Effect<void, Error, Capability.Service>;
44
+ }
45
+
46
+ export const AgentRunner = Capability.make<AgentRunner>(`${meta.id}.capability.agent-runner`);
@@ -0,0 +1,217 @@
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, Type } 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', icon: 'ph--chat-text--regular' },
22
+ services: [Capability.Service],
23
+ input: Schema.Struct({
24
+ space: SpaceSchema,
25
+ rootCollection: Type.getSchema(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', icon: 'ph--hash--regular' },
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: Type.getSchema(Channel.Channel),
40
+ }),
41
+ });
42
+
43
+ export const AppendChannelMessage = Operation.make({
44
+ meta: {
45
+ key: `${THREAD_OPERATION}.append-channel-message`,
46
+ name: 'Append Channel Message',
47
+ icon: 'ph--chat-text--regular',
48
+ },
49
+ // Note: Feed.FeedService is provided inside the handler from space.queues, not at the
50
+ // operation level — the runtime can't fulfill it without a space context.
51
+ services: [Capability.Service],
52
+ input: Schema.Struct({
53
+ channel: Type.getSchema(Channel.Channel),
54
+ sender: Actor.Actor,
55
+ text: Schema.String,
56
+ }),
57
+ output: Schema.Void,
58
+ });
59
+
60
+ export const Create = Operation.make({
61
+ meta: { key: `${THREAD_OPERATION}.create`, name: 'Create Thread', icon: 'ph--chat-text--regular' },
62
+ services: [Capability.Service],
63
+ input: Schema.Struct({
64
+ name: Schema.optional(Schema.String),
65
+ anchor: Schema.optional(Schema.String),
66
+ subject: Obj.Unknown,
67
+ }),
68
+ output: Schema.Void,
69
+ });
70
+
71
+ export const DeleteOutput = Schema.Struct({
72
+ thread: Type.getSchema(Thread.Thread).annotations({ description: 'The deleted thread.' }),
73
+ anchor: Type.getSchema(AnchoredTo.AnchoredTo).annotations({ description: 'The deleted anchor.' }),
74
+ }).pipe(Schema.partial);
75
+
76
+ export type DeleteOutput = Schema.Schema.Type<typeof DeleteOutput>;
77
+
78
+ export const Delete = Operation.make({
79
+ meta: { key: `${THREAD_OPERATION}.delete`, name: 'Delete Thread', icon: 'ph--trash--regular' },
80
+ services: [Capability.Service],
81
+ input: Schema.Struct({
82
+ anchor: Type.getSchema(AnchoredTo.AnchoredTo),
83
+ subject: Obj.Unknown,
84
+ thread: Schema.optional(Type.getSchema(Thread.Thread)),
85
+ }),
86
+ output: DeleteOutput,
87
+ });
88
+
89
+ export const Select = Operation.make({
90
+ meta: { key: `${THREAD_OPERATION}.select`, name: 'Select Thread', icon: 'ph--check--regular' },
91
+ services: [Capability.Service],
92
+ input: Schema.Struct({
93
+ current: Schema.String,
94
+ }),
95
+ output: Schema.Void,
96
+ });
97
+
98
+ export const ToggleResolved = Operation.make({
99
+ meta: { key: `${THREAD_OPERATION}.toggle-resolved`, name: 'Toggle Resolved', icon: 'ph--check-circle--regular' },
100
+ services: [Capability.Service],
101
+ input: Schema.Struct({
102
+ thread: Type.getSchema(Thread.Thread),
103
+ }),
104
+ output: Schema.Void,
105
+ });
106
+
107
+ export const AddMessage = Operation.make({
108
+ meta: { key: `${THREAD_OPERATION}.add-message`, name: 'Add Message', icon: 'ph--chat-text--regular' },
109
+ services: [Capability.Service],
110
+ input: Schema.Struct({
111
+ subject: Obj.Unknown,
112
+ anchor: Type.getSchema(AnchoredTo.AnchoredTo),
113
+ sender: Actor.Actor,
114
+ text: Schema.String,
115
+ }),
116
+ output: Schema.Void,
117
+ });
118
+
119
+ export const DeleteMessageOutput = Schema.partial(
120
+ Schema.Struct({
121
+ message: Type.getSchema(Message.Message).annotations({ description: 'The deleted message.' }),
122
+ messageIndex: Schema.Number.annotations({ description: 'The index the message was at.' }),
123
+ }),
124
+ );
125
+
126
+ export type DeleteMessageOutput = Schema.Schema.Type<typeof DeleteMessageOutput>;
127
+
128
+ export const DeleteMessage = Operation.make({
129
+ meta: { key: `${THREAD_OPERATION}.delete-message`, name: 'Delete Message', icon: 'ph--trash--regular' },
130
+ services: [Capability.Service],
131
+ input: Schema.Struct({
132
+ anchor: Type.getSchema(AnchoredTo.AnchoredTo),
133
+ subject: Obj.Unknown,
134
+ messageId: Schema.String,
135
+ }),
136
+ output: DeleteMessageOutput,
137
+ });
138
+
139
+ /**
140
+ * Restore a deleted thread (inverse of Delete).
141
+ */
142
+ export const Restore = Operation.make({
143
+ meta: { key: `${THREAD_OPERATION}.restore`, name: 'Restore Thread', icon: 'ph--clock-counter-clockwise--regular' },
144
+ services: [Capability.Service],
145
+ input: Schema.Struct({
146
+ thread: Type.getSchema(Thread.Thread).annotations({ description: 'The thread to restore.' }),
147
+ anchor: Type.getSchema(AnchoredTo.AnchoredTo).annotations({ description: 'The anchor relation to restore.' }),
148
+ }),
149
+ output: Schema.Void,
150
+ });
151
+
152
+ /**
153
+ * Restore a deleted message (inverse of DeleteMessage).
154
+ */
155
+ export const RestoreMessage = Operation.make({
156
+ meta: {
157
+ key: `${THREAD_OPERATION}.restore-message`,
158
+ name: 'Restore Message',
159
+ icon: 'ph--clock-counter-clockwise--regular',
160
+ },
161
+ services: [Capability.Service],
162
+ input: Schema.Struct({
163
+ anchor: Type.getSchema(AnchoredTo.AnchoredTo).annotations({ description: 'The anchor of the thread.' }),
164
+ message: Type.getSchema(Message.Message).annotations({ description: 'The message to restore.' }),
165
+ messageIndex: Schema.Number.annotations({ description: 'The index to restore the message at.' }),
166
+ }),
167
+ output: Schema.Void,
168
+ });
169
+
170
+ export const RespondToThread = Operation.make({
171
+ meta: {
172
+ key: `${THREAD_OPERATION}.respond-to-thread`,
173
+ name: 'Respond to Thread',
174
+ description: 'Runs one comment-thread agent turn against the given thread + subject.',
175
+ },
176
+ services: [Capability.Service],
177
+ input: Schema.Struct({
178
+ thread: Ref.Ref(Thread.Thread).annotations({ description: 'The thread to respond to.' }),
179
+ subject: Ref.Ref(Obj.Unknown).annotations({ description: 'The object the thread is anchored to.' }),
180
+ }),
181
+ output: Schema.Void,
182
+ });
183
+
184
+ export const SetAgentConfig = Operation.make({
185
+ meta: {
186
+ key: `${THREAD_OPERATION}.set-agent-config`,
187
+ name: 'Set Agent Config',
188
+ description: 'Updates thread.agent. Undefined config disables the agent.',
189
+ },
190
+ services: [Database.Service],
191
+ input: Schema.Struct({
192
+ thread: Ref.Ref(Thread.Thread).annotations({ description: 'The thread to configure.' }),
193
+ config: Schema.optional(Thread.AgentConfig).annotations({
194
+ description: 'New agent config; omit to disable.',
195
+ }),
196
+ }),
197
+ output: Schema.Void,
198
+ });
199
+
200
+ export const CreateProposals = Operation.make({
201
+ meta: {
202
+ key: 'org.dxos.function.thread.create-proposals',
203
+ name: 'Create Proposals',
204
+ description: 'Proposes a set of changes to a document.',
205
+ icon: 'ph--sparkle--regular',
206
+ },
207
+ input: Schema.Struct({
208
+ doc: Ref.Ref(Markdown.Document).annotations({
209
+ description: 'The ID of the document.',
210
+ }),
211
+ diffs: Schema.Array(Schema.String).annotations({
212
+ description: 'The diffs to propose for the document.',
213
+ }),
214
+ }),
215
+ output: Schema.Void,
216
+ services: [Database.Service],
217
+ });
@@ -2,5 +2,9 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- export * from './schema';
6
5
  export * from './types';
6
+
7
+ export * from './AgentIdentity';
8
+ export * as Settings from './Settings';
9
+ export * as ThreadCapabilities from './ThreadCapabilities';
10
+ export * as ThreadOperation from './ThreadOperation';
@@ -2,116 +2,10 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import * as Schema from 'effect/Schema';
6
-
7
- import { Type } from '@dxos/echo';
8
- import { EchoObjectSchema, SpaceSchema } from '@dxos/react-client/echo';
9
- import { AnchoredTo, DataType } from '@dxos/schema';
10
-
11
- import { meta } from '../meta';
12
-
13
- import { ChannelType, ThreadType } from './schema';
14
-
15
- export namespace ThreadAction {
16
- export class onCreateSpace extends Schema.TaggedClass<onCreateSpace>()(`${meta.id}/action/on-space-created`, {
17
- input: Schema.Struct({
18
- space: SpaceSchema,
19
- rootCollection: DataType.Collection,
20
- }),
21
- output: Schema.Void,
22
- }) {}
23
-
24
- export class CreateChannel extends Schema.TaggedClass<CreateChannel>()(`${meta.id}/action/create-channel`, {
25
- input: Schema.Struct({
26
- spaceId: Type.SpaceId,
27
- name: Schema.optional(Schema.String),
28
- }),
29
- output: Schema.Struct({
30
- object: ChannelType,
31
- }),
32
- }) {}
33
-
34
- export class CreateChannelThread extends Schema.TaggedClass<CreateChannelThread>()(
35
- `${meta.id}/action/create-channel-thread`,
36
- {
37
- input: Schema.Struct({
38
- channel: ChannelType,
39
- }),
40
- output: Schema.Struct({
41
- object: ThreadType,
42
- }),
43
- },
44
- ) {}
45
-
46
- export class Create extends Schema.TaggedClass<Create>()(`${meta.id}/action/create`, {
47
- input: Schema.Struct({
48
- name: Schema.optional(Schema.String),
49
- anchor: Schema.optional(Schema.String),
50
- subject: EchoObjectSchema,
51
- }),
52
- output: Schema.Void,
53
- }) {}
54
-
55
- export class Delete extends Schema.TaggedClass<Delete>()(`${meta.id}/action/delete`, {
56
- input: Schema.Struct({
57
- anchor: AnchoredTo,
58
- subject: EchoObjectSchema,
59
- thread: Schema.optional(ThreadType),
60
- }),
61
- output: Schema.Void,
62
- }) {}
63
-
64
- export class Select extends Schema.TaggedClass<Select>()(`${meta.id}/action/select`, {
65
- input: Schema.Struct({
66
- current: Schema.String,
67
- }),
68
- output: Schema.Void,
69
- }) {}
70
-
71
- export class ToggleResolved extends Schema.TaggedClass<ToggleResolved>()(`${meta.id}/action/toggle-resolved`, {
72
- input: Schema.Struct({
73
- thread: ThreadType,
74
- }),
75
- output: Schema.Void,
76
- }) {}
77
-
78
- export class AddProposal extends Schema.TaggedClass<AddProposal>()(`${meta.id}/action/add-proposal`, {
79
- input: Schema.Struct({
80
- text: Schema.String,
81
- anchor: Schema.String,
82
- sender: DataType.Actor,
83
- subject: EchoObjectSchema,
84
- }),
85
- output: Schema.Void,
86
- }) {}
87
-
88
- export class AddMessage extends Schema.TaggedClass<AddMessage>()(`${meta.id}/action/add-message`, {
89
- input: Schema.Struct({
90
- subject: EchoObjectSchema,
91
- anchor: AnchoredTo,
92
- sender: DataType.Actor,
93
- text: Schema.String,
94
- }),
95
- output: Schema.Void,
96
- }) {}
97
-
98
- export class DeleteMessage extends Schema.TaggedClass<DeleteMessage>()(`${meta.id}/action/delete-message`, {
99
- input: Schema.Struct({
100
- anchor: AnchoredTo,
101
- subject: EchoObjectSchema,
102
- messageId: Schema.String,
103
- message: Schema.optional(DataType.Message),
104
- messageIndex: Schema.optional(Schema.Number),
105
- }),
106
- output: Schema.Void,
107
- }) {}
108
- }
109
-
110
- export const ThreadSettingsSchema = Schema.mutable(Schema.Struct({}));
111
- export type ThreadSettingsProps = Schema.Schema.Type<typeof ThreadSettingsSchema>;
5
+ import { AnchoredTo, Thread } from '@dxos/types';
112
6
 
113
7
  export interface ThreadModel {
114
- root: ThreadType;
8
+ root: Thread.Thread;
115
9
  }
116
10
 
117
11
  type SubjectId = string;
@@ -122,6 +16,7 @@ export type ThreadState = {
122
16
  /** Object toolbar state. */
123
17
  toolbar: Record<string, boolean>;
124
18
  /** In-memory draft threads. */
125
- drafts: Record<string, AnchoredTo[]>;
19
+ // TODO(burdon): Drafts are getting lost.
20
+ drafts: Record<string, AnchoredTo.AnchoredTo[]>;
126
21
  current?: string | undefined;
127
22
  };