@dxos/plugin-thread 0.8.4-main.c4373fc → 0.8.4-main.d9fc60f731

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 (602) hide show
  1. package/LICENSE +102 -5
  2. package/PLUGIN.mdl +271 -0
  3. package/README.md +1 -1
  4. package/dist/lib/neutral/ChannelArticle-UJHPOUWA.mjs +28 -0
  5. package/dist/lib/neutral/ChannelArticle-UJHPOUWA.mjs.map +7 -0
  6. package/dist/lib/neutral/ChannelChat-LZEDFJVD.mjs +10 -0
  7. package/dist/lib/neutral/CommentsCompanion-FOUIGCEK.mjs +208 -0
  8. package/dist/lib/neutral/CommentsCompanion-FOUIGCEK.mjs.map +7 -0
  9. package/dist/lib/neutral/ThreadContainer-QWB6WRMI.mjs +61 -0
  10. package/dist/lib/neutral/ThreadContainer-QWB6WRMI.mjs.map +7 -0
  11. package/dist/lib/neutral/ThreadPlugin.mjs +109 -0
  12. package/dist/lib/neutral/ThreadPlugin.mjs.map +7 -0
  13. package/dist/lib/neutral/ThreadPlugin.node.mjs +40 -0
  14. package/dist/lib/neutral/ThreadPlugin.node.mjs.map +7 -0
  15. package/dist/lib/neutral/ThreadPlugin.workerd.mjs +24 -0
  16. package/dist/lib/neutral/ThreadPlugin.workerd.mjs.map +7 -0
  17. package/dist/lib/neutral/ThreadSettings-5MKTDK3A.mjs +15 -0
  18. package/dist/lib/neutral/ThreadSettings-5MKTDK3A.mjs.map +7 -0
  19. package/dist/lib/neutral/add-message-RDIABSIX.mjs +122 -0
  20. package/dist/lib/neutral/add-message-RDIABSIX.mjs.map +7 -0
  21. package/dist/lib/neutral/agent-runner-RB7N5HLD.mjs +244 -0
  22. package/dist/lib/neutral/agent-runner-RB7N5HLD.mjs.map +7 -0
  23. package/dist/lib/neutral/app-graph-builder-PDLRFYSI.mjs +120 -0
  24. package/dist/lib/neutral/app-graph-builder-PDLRFYSI.mjs.map +7 -0
  25. package/dist/lib/neutral/append-channel-message-TBBQUVMH.mjs +40 -0
  26. package/dist/lib/neutral/append-channel-message-TBBQUVMH.mjs.map +7 -0
  27. package/dist/lib/neutral/blueprint-definition-S3EBOH4R.mjs +15 -0
  28. package/dist/lib/neutral/blueprint-definition-S3EBOH4R.mjs.map +7 -0
  29. package/dist/lib/neutral/blueprints/index.mjs +8 -0
  30. package/dist/lib/neutral/capabilities/index.mjs +27 -0
  31. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  32. package/dist/lib/neutral/chunk-35GUWXBB.mjs +48 -0
  33. package/dist/lib/neutral/chunk-35GUWXBB.mjs.map +7 -0
  34. package/dist/lib/neutral/chunk-5T5LPLBN.mjs +36 -0
  35. package/dist/lib/neutral/chunk-5T5LPLBN.mjs.map +7 -0
  36. package/dist/lib/neutral/chunk-BHEZLLXG.mjs +55 -0
  37. package/dist/lib/neutral/chunk-BHEZLLXG.mjs.map +7 -0
  38. package/dist/lib/neutral/chunk-HQZWTDJC.mjs +164 -0
  39. package/dist/lib/neutral/chunk-HQZWTDJC.mjs.map +7 -0
  40. package/dist/lib/neutral/chunk-IQBZZAMX.mjs +335 -0
  41. package/dist/lib/neutral/chunk-IQBZZAMX.mjs.map +7 -0
  42. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  43. package/dist/lib/neutral/chunk-JJETHBAZ.mjs +8 -0
  44. package/dist/lib/neutral/chunk-JJETHBAZ.mjs.map +7 -0
  45. package/dist/lib/{browser/chunk-CP7E2HRE.mjs → neutral/chunk-JLY4NVTA.mjs} +12 -5
  46. package/dist/lib/neutral/chunk-JLY4NVTA.mjs.map +7 -0
  47. package/dist/lib/neutral/chunk-QFDT33VT.mjs +69 -0
  48. package/dist/lib/neutral/chunk-QFDT33VT.mjs.map +7 -0
  49. package/dist/lib/neutral/components/index.mjs +541 -0
  50. package/dist/lib/neutral/components/index.mjs.map +7 -0
  51. package/dist/lib/neutral/containers/index.mjs +15 -0
  52. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  53. package/dist/lib/neutral/create-VXM6HJMN.mjs +61 -0
  54. package/dist/lib/neutral/create-VXM6HJMN.mjs.map +7 -0
  55. package/dist/lib/neutral/create-channel-FSJOMRHF.mjs +19 -0
  56. package/dist/lib/neutral/create-channel-FSJOMRHF.mjs.map +7 -0
  57. package/dist/lib/neutral/create-object-D5XEG7MQ.mjs +28 -0
  58. package/dist/lib/neutral/create-object-D5XEG7MQ.mjs.map +7 -0
  59. package/dist/lib/neutral/create-proposals-ILYIYJEN.mjs +56 -0
  60. package/dist/lib/neutral/create-proposals-ILYIYJEN.mjs.map +7 -0
  61. package/dist/lib/neutral/delete-6KZERY6K.mjs +57 -0
  62. package/dist/lib/neutral/delete-6KZERY6K.mjs.map +7 -0
  63. package/dist/lib/neutral/delete-message-PATSHW36.mjs +54 -0
  64. package/dist/lib/neutral/delete-message-PATSHW36.mjs.map +7 -0
  65. package/dist/lib/neutral/hooks/index.mjs +10 -0
  66. package/dist/lib/neutral/index.mjs +32 -0
  67. package/dist/lib/neutral/markdown-5UHAAC5Z.mjs +83 -0
  68. package/dist/lib/neutral/markdown-5UHAAC5Z.mjs.map +7 -0
  69. package/dist/lib/neutral/meta.json +1 -0
  70. package/dist/lib/neutral/meta.mjs +10 -0
  71. package/dist/lib/neutral/on-create-space-6NLTBGGD.mjs +23 -0
  72. package/dist/lib/neutral/on-create-space-6NLTBGGD.mjs.map +7 -0
  73. package/dist/lib/neutral/operation-handler-RU6K2S4L.mjs +13 -0
  74. package/dist/lib/neutral/operation-handler-RU6K2S4L.mjs.map +7 -0
  75. package/dist/lib/neutral/operations/index.mjs +8 -0
  76. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  77. package/dist/lib/neutral/plugin.mjs +16 -0
  78. package/dist/lib/neutral/plugin.mjs.map +7 -0
  79. package/dist/lib/neutral/react-surface-TUMXARMI.mjs +76 -0
  80. package/dist/lib/neutral/react-surface-TUMXARMI.mjs.map +7 -0
  81. package/dist/lib/neutral/respond-to-thread-ROQA3B6U.mjs +32 -0
  82. package/dist/lib/neutral/respond-to-thread-ROQA3B6U.mjs.map +7 -0
  83. package/dist/lib/neutral/restore-SP4HADCE.mjs +32 -0
  84. package/dist/lib/neutral/restore-SP4HADCE.mjs.map +7 -0
  85. package/dist/lib/neutral/restore-message-TVIC66VL.mjs +33 -0
  86. package/dist/lib/neutral/restore-message-TVIC66VL.mjs.map +7 -0
  87. package/dist/lib/neutral/select-DLHPEKEA.mjs +24 -0
  88. package/dist/lib/neutral/select-DLHPEKEA.mjs.map +7 -0
  89. package/dist/lib/neutral/set-agent-config-7GEYCG7Y.mjs +20 -0
  90. package/dist/lib/neutral/set-agent-config-7GEYCG7Y.mjs.map +7 -0
  91. package/dist/lib/neutral/settings-HK4EB6TF.mjs +30 -0
  92. package/dist/lib/neutral/settings-HK4EB6TF.mjs.map +7 -0
  93. package/dist/lib/neutral/state-UU7VEAKV.mjs +22 -0
  94. package/dist/lib/neutral/state-UU7VEAKV.mjs.map +7 -0
  95. package/dist/lib/neutral/testing/index.mjs +58 -0
  96. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  97. package/dist/lib/neutral/toggle-resolved-GMAD3SZ2.mjs +36 -0
  98. package/dist/lib/neutral/toggle-resolved-GMAD3SZ2.mjs.map +7 -0
  99. package/dist/lib/neutral/translations.mjs +91 -0
  100. package/dist/lib/neutral/translations.mjs.map +7 -0
  101. package/dist/lib/neutral/types/index.mjs +16 -0
  102. package/dist/lib/neutral/types/index.mjs.map +7 -0
  103. package/dist/lib/neutral/undo-mappings-HOKL2L3M.mjs +54 -0
  104. package/dist/lib/neutral/undo-mappings-HOKL2L3M.mjs.map +7 -0
  105. package/dist/types/src/ThreadPlugin.d.ts +3 -1
  106. package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
  107. package/dist/types/src/ThreadPlugin.node.d.ts +4 -0
  108. package/dist/types/src/ThreadPlugin.node.d.ts.map +1 -0
  109. package/dist/types/src/ThreadPlugin.test.d.ts +2 -0
  110. package/dist/types/src/ThreadPlugin.test.d.ts.map +1 -0
  111. package/dist/types/src/ThreadPlugin.workerd.d.ts +4 -0
  112. package/dist/types/src/ThreadPlugin.workerd.d.ts.map +1 -0
  113. package/dist/types/src/blueprints/index.d.ts +2 -0
  114. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  115. package/dist/types/src/blueprints/thread-blueprint.d.ts +4 -0
  116. package/dist/types/src/blueprints/thread-blueprint.d.ts.map +1 -0
  117. package/dist/types/src/capabilities/agent-runner.d.ts +22 -0
  118. package/dist/types/src/capabilities/agent-runner.d.ts.map +1 -0
  119. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  120. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  121. package/dist/types/src/capabilities/blueprint-definition.d.ts +6 -0
  122. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
  123. package/dist/types/src/capabilities/create-object.d.ts +11 -0
  124. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  125. package/dist/types/src/capabilities/index.d.ts +16 -15
  126. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  127. package/dist/types/src/capabilities/markdown.d.ts +3 -2
  128. package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
  129. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  130. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  131. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  132. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  133. package/dist/types/src/capabilities/settings.d.ts +5 -2
  134. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  135. package/dist/types/src/capabilities/state.d.ts +5 -5
  136. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  137. package/dist/types/src/capabilities/undo-mappings.d.ts +5 -0
  138. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -0
  139. package/dist/types/src/components/Chat/Chat.d.ts +51 -0
  140. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -0
  141. package/dist/types/src/components/Chat/index.d.ts +2 -0
  142. package/dist/types/src/components/Chat/index.d.ts.map +1 -0
  143. package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts +13 -0
  144. package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts.map +1 -0
  145. package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts +160 -0
  146. package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts.map +1 -0
  147. package/dist/types/src/components/CommentsPanel/CommentsThread.d.ts +14 -0
  148. package/dist/types/src/components/CommentsPanel/CommentsThread.d.ts.map +1 -0
  149. package/dist/types/src/components/CommentsPanel/index.d.ts +3 -0
  150. package/dist/types/src/components/CommentsPanel/index.d.ts.map +1 -0
  151. package/dist/types/src/components/MessagePanel/MessagePanel.d.ts +15 -0
  152. package/dist/types/src/components/MessagePanel/MessagePanel.d.ts.map +1 -0
  153. package/dist/types/src/components/MessagePanel/index.d.ts +2 -0
  154. package/dist/types/src/components/MessagePanel/index.d.ts.map +1 -0
  155. package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts +6 -0
  156. package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts.map +1 -0
  157. package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts +161 -0
  158. package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts.map +1 -0
  159. package/dist/types/src/components/ThreadSettings/index.d.ts +2 -0
  160. package/dist/types/src/components/ThreadSettings/index.d.ts.map +1 -0
  161. package/dist/types/src/components/index.d.ts +5 -10
  162. package/dist/types/src/components/index.d.ts.map +1 -1
  163. package/dist/types/src/containers/ChannelArticle/ChannelArticle.d.ts +13 -0
  164. package/dist/types/src/containers/ChannelArticle/ChannelArticle.d.ts.map +1 -0
  165. package/dist/types/src/containers/ChannelArticle/ChannelArticle.stories.d.ts +162 -0
  166. package/dist/types/src/containers/ChannelArticle/ChannelArticle.stories.d.ts.map +1 -0
  167. package/dist/types/src/containers/ChannelArticle/index.d.ts +2 -0
  168. package/dist/types/src/containers/ChannelArticle/index.d.ts.map +1 -0
  169. package/dist/types/src/containers/ChannelChat/ChannelChat.d.ts +20 -0
  170. package/dist/types/src/containers/ChannelChat/ChannelChat.d.ts.map +1 -0
  171. package/dist/types/src/containers/ChannelChat/index.d.ts +4 -0
  172. package/dist/types/src/containers/ChannelChat/index.d.ts.map +1 -0
  173. package/dist/types/src/containers/CommentsCompanion/CommentsCompanion.d.ts +11 -0
  174. package/dist/types/src/containers/CommentsCompanion/CommentsCompanion.d.ts.map +1 -0
  175. package/dist/types/src/containers/CommentsCompanion/CommentsCompanion.stories.d.ts +198 -0
  176. package/dist/types/src/containers/CommentsCompanion/CommentsCompanion.stories.d.ts.map +1 -0
  177. package/dist/types/src/containers/CommentsCompanion/index.d.ts +2 -0
  178. package/dist/types/src/containers/CommentsCompanion/index.d.ts.map +1 -0
  179. package/dist/types/src/containers/ThreadContainer/ThreadContainer.d.ts +20 -0
  180. package/dist/types/src/containers/ThreadContainer/ThreadContainer.d.ts.map +1 -0
  181. package/dist/types/src/containers/ThreadContainer/ThreadContainer.stories.d.ts +162 -0
  182. package/dist/types/src/containers/ThreadContainer/ThreadContainer.stories.d.ts.map +1 -0
  183. package/dist/types/src/containers/ThreadContainer/index.d.ts +4 -0
  184. package/dist/types/src/containers/ThreadContainer/index.d.ts.map +1 -0
  185. package/dist/types/src/containers/index.d.ts +6 -0
  186. package/dist/types/src/containers/index.d.ts.map +1 -0
  187. package/dist/types/src/{components/command-extension.d.ts → extensions/command.d.ts} +1 -1
  188. package/dist/types/src/extensions/command.d.ts.map +1 -0
  189. package/dist/types/src/extensions/index.d.ts +1 -0
  190. package/dist/types/src/extensions/index.d.ts.map +1 -1
  191. package/dist/types/src/extensions/threads.d.ts +9 -4
  192. package/dist/types/src/extensions/threads.d.ts.map +1 -1
  193. package/dist/types/src/hooks/analytics.d.ts +2 -3
  194. package/dist/types/src/hooks/analytics.d.ts.map +1 -1
  195. package/dist/types/src/hooks/index.d.ts +0 -4
  196. package/dist/types/src/hooks/index.d.ts.map +1 -1
  197. package/dist/types/src/hooks/useStatus.d.ts.map +1 -1
  198. package/dist/types/src/index.d.ts +2 -3
  199. package/dist/types/src/index.d.ts.map +1 -1
  200. package/dist/types/src/meta.d.ts +2 -2
  201. package/dist/types/src/meta.d.ts.map +1 -1
  202. package/dist/types/src/operations/add-message.d.ts +5 -0
  203. package/dist/types/src/operations/add-message.d.ts.map +1 -0
  204. package/dist/types/src/operations/append-channel-message.d.ts +5 -0
  205. package/dist/types/src/operations/append-channel-message.d.ts.map +1 -0
  206. package/dist/types/src/operations/create-channel.d.ts +5 -0
  207. package/dist/types/src/operations/create-channel.d.ts.map +1 -0
  208. package/dist/types/src/operations/create-proposals.d.ts +5 -0
  209. package/dist/types/src/operations/create-proposals.d.ts.map +1 -0
  210. package/dist/types/src/operations/create.d.ts +5 -0
  211. package/dist/types/src/operations/create.d.ts.map +1 -0
  212. package/dist/types/src/operations/delete-message.d.ts +5 -0
  213. package/dist/types/src/operations/delete-message.d.ts.map +1 -0
  214. package/dist/types/src/operations/delete.d.ts +5 -0
  215. package/dist/types/src/operations/delete.d.ts.map +1 -0
  216. package/dist/types/src/operations/index.d.ts +3 -0
  217. package/dist/types/src/operations/index.d.ts.map +1 -0
  218. package/dist/types/src/operations/on-create-space.d.ts +5 -0
  219. package/dist/types/src/operations/on-create-space.d.ts.map +1 -0
  220. package/dist/types/src/operations/respond-to-thread.d.ts +5 -0
  221. package/dist/types/src/operations/respond-to-thread.d.ts.map +1 -0
  222. package/dist/types/src/operations/restore-message.d.ts +5 -0
  223. package/dist/types/src/operations/restore-message.d.ts.map +1 -0
  224. package/dist/types/src/operations/restore.d.ts +5 -0
  225. package/dist/types/src/operations/restore.d.ts.map +1 -0
  226. package/dist/types/src/operations/select.d.ts +5 -0
  227. package/dist/types/src/operations/select.d.ts.map +1 -0
  228. package/dist/types/src/operations/set-agent-config.d.ts +5 -0
  229. package/dist/types/src/operations/set-agent-config.d.ts.map +1 -0
  230. package/dist/types/src/operations/toggle-resolved.d.ts +5 -0
  231. package/dist/types/src/operations/toggle-resolved.d.ts.map +1 -0
  232. package/dist/types/src/plugin.d.ts +4 -0
  233. package/dist/types/src/plugin.d.ts.map +1 -0
  234. package/dist/types/src/should-trigger-agent.d.ts +22 -0
  235. package/dist/types/src/should-trigger-agent.d.ts.map +1 -0
  236. package/dist/types/src/should-trigger-agent.test.d.ts +2 -0
  237. package/dist/types/src/should-trigger-agent.test.d.ts.map +1 -0
  238. package/dist/types/src/{components/testing.d.ts → testing/data.d.ts} +4 -4
  239. package/dist/types/src/testing/data.d.ts.map +1 -0
  240. package/dist/types/src/testing/index.d.ts +1 -1
  241. package/dist/types/src/testing/index.d.ts.map +1 -1
  242. package/dist/types/src/translations.d.ts +142 -74
  243. package/dist/types/src/translations.d.ts.map +1 -1
  244. package/dist/types/src/types/AgentIdentity.d.ts +27 -0
  245. package/dist/types/src/types/AgentIdentity.d.ts.map +1 -0
  246. package/dist/types/src/types/Settings.d.ts +5 -0
  247. package/dist/types/src/types/Settings.d.ts.map +1 -0
  248. package/dist/types/src/types/ThreadCapabilities.d.ts +34 -0
  249. package/dist/types/src/types/ThreadCapabilities.d.ts.map +1 -0
  250. package/dist/types/src/types/ThreadOperation.d.ts +2745 -0
  251. package/dist/types/src/types/ThreadOperation.d.ts.map +1 -0
  252. package/dist/types/src/types/index.d.ts +4 -1
  253. package/dist/types/src/types/index.d.ts.map +1 -1
  254. package/dist/types/src/types/types.d.ts +3 -458
  255. package/dist/types/src/types/types.d.ts.map +1 -1
  256. package/dist/types/src/util.d.ts +6 -3
  257. package/dist/types/src/util.d.ts.map +1 -1
  258. package/dist/types/tsconfig.tsbuildinfo +1 -1
  259. package/package.json +150 -83
  260. package/src/ThreadPlugin.node.ts +39 -0
  261. package/src/ThreadPlugin.test.ts +37 -0
  262. package/src/ThreadPlugin.tsx +63 -123
  263. package/src/ThreadPlugin.workerd.ts +20 -0
  264. package/src/blueprints/index.ts +5 -0
  265. package/src/blueprints/thread-blueprint.ts +36 -0
  266. package/src/capabilities/agent-runner.ts +291 -0
  267. package/src/capabilities/app-graph-builder.ts +124 -165
  268. package/src/capabilities/blueprint-definition.ts +19 -0
  269. package/src/capabilities/create-object.ts +30 -0
  270. package/src/capabilities/index.ts +16 -12
  271. package/src/capabilities/markdown.ts +53 -36
  272. package/src/capabilities/operation-handler.ts +16 -0
  273. package/src/capabilities/react-surface.tsx +64 -78
  274. package/src/capabilities/settings.ts +26 -12
  275. package/src/capabilities/state.ts +14 -18
  276. package/src/capabilities/undo-mappings.ts +46 -0
  277. package/src/components/Chat/Chat.tsx +259 -0
  278. package/src/components/Chat/index.ts +5 -0
  279. package/src/components/CommentsPanel/CommentsPanel.stories.tsx +94 -0
  280. package/src/components/CommentsPanel/CommentsPanel.tsx +71 -0
  281. package/src/components/CommentsPanel/CommentsThread.tsx +176 -0
  282. package/src/components/CommentsPanel/index.ts +6 -0
  283. package/src/components/{MessageContainer.tsx → MessagePanel/MessagePanel.tsx} +83 -47
  284. package/src/components/MessagePanel/index.ts +5 -0
  285. package/src/components/ThreadSettings/ThreadSettings.stories.tsx +32 -0
  286. package/src/components/ThreadSettings/ThreadSettings.tsx +19 -0
  287. package/src/components/ThreadSettings/index.ts +5 -0
  288. package/src/components/index.ts +5 -12
  289. package/src/containers/ChannelArticle/ChannelArticle.stories.tsx +105 -0
  290. package/src/containers/ChannelArticle/ChannelArticle.tsx +42 -0
  291. package/src/containers/ChannelArticle/index.ts +5 -0
  292. package/src/containers/ChannelChat/ChannelChat.tsx +75 -0
  293. package/src/containers/ChannelChat/index.ts +8 -0
  294. package/src/containers/CommentsCompanion/CommentsCompanion.stories.tsx +355 -0
  295. package/src/containers/CommentsCompanion/CommentsCompanion.tsx +216 -0
  296. package/src/containers/CommentsCompanion/index.ts +5 -0
  297. package/src/containers/ThreadContainer/ThreadContainer.stories.tsx +86 -0
  298. package/src/containers/ThreadContainer/ThreadContainer.tsx +75 -0
  299. package/src/containers/ThreadContainer/index.ts +8 -0
  300. package/src/containers/index.ts +10 -0
  301. package/src/{components/command-extension.ts → extensions/command.ts} +3 -3
  302. package/src/extensions/index.ts +1 -0
  303. package/src/extensions/threads.ts +88 -43
  304. package/src/hooks/analytics.ts +22 -21
  305. package/src/hooks/index.ts +0 -4
  306. package/src/index.ts +4 -4
  307. package/src/meta.ts +39 -8
  308. package/src/operations/add-message.ts +94 -0
  309. package/src/operations/append-channel-message.ts +37 -0
  310. package/src/operations/create-channel.ts +20 -0
  311. package/src/operations/create-proposals.ts +49 -0
  312. package/src/operations/create.ts +63 -0
  313. package/src/operations/delete-message.ts +53 -0
  314. package/src/operations/delete.ts +63 -0
  315. package/src/operations/index.ts +22 -0
  316. package/src/operations/on-create-space.ts +27 -0
  317. package/src/operations/respond-to-thread.ts +32 -0
  318. package/src/operations/restore-message.ts +38 -0
  319. package/src/operations/restore.ts +38 -0
  320. package/src/operations/select.ts +24 -0
  321. package/src/operations/set-agent-config.ts +24 -0
  322. package/src/operations/toggle-resolved.ts +41 -0
  323. package/src/plugin.ts +11 -0
  324. package/src/should-trigger-agent.test.ts +72 -0
  325. package/src/should-trigger-agent.ts +50 -0
  326. package/src/testing/data.ts +49 -0
  327. package/src/testing/index.ts +1 -1
  328. package/src/translations.ts +75 -75
  329. package/src/types/AgentIdentity.ts +35 -0
  330. package/src/types/Settings.ts +10 -0
  331. package/src/types/ThreadCapabilities.ts +46 -0
  332. package/src/types/ThreadOperation.ts +225 -0
  333. package/src/types/index.ts +5 -1
  334. package/src/types/types.ts +4 -109
  335. package/src/util.ts +37 -5
  336. package/src/vite-env.d.ts +10 -0
  337. package/dist/lib/browser/ChannelContainer-BGDGZHV4.mjs +0 -16
  338. package/dist/lib/browser/ChatContainer-75KJZ4XR.mjs +0 -15
  339. package/dist/lib/browser/app-graph-builder-ODKIAXR7.mjs +0 -171
  340. package/dist/lib/browser/app-graph-builder-ODKIAXR7.mjs.map +0 -7
  341. package/dist/lib/browser/call-manager-BCKLI4QD.mjs +0 -24
  342. package/dist/lib/browser/call-manager-BCKLI4QD.mjs.map +0 -7
  343. package/dist/lib/browser/chunk-2MUYQOQE.mjs +0 -23
  344. package/dist/lib/browser/chunk-2MUYQOQE.mjs.map +0 -7
  345. package/dist/lib/browser/chunk-B7YQ7QR2.mjs +0 -376
  346. package/dist/lib/browser/chunk-B7YQ7QR2.mjs.map +0 -7
  347. package/dist/lib/browser/chunk-CMCVHULC.mjs +0 -986
  348. package/dist/lib/browser/chunk-CMCVHULC.mjs.map +0 -7
  349. package/dist/lib/browser/chunk-CP7E2HRE.mjs.map +0 -7
  350. package/dist/lib/browser/chunk-HDEQRBOC.mjs +0 -181
  351. package/dist/lib/browser/chunk-HDEQRBOC.mjs.map +0 -7
  352. package/dist/lib/browser/chunk-L326LSNS.mjs +0 -18
  353. package/dist/lib/browser/chunk-L326LSNS.mjs.map +0 -7
  354. package/dist/lib/browser/chunk-T4KJ5JR4.mjs +0 -15
  355. package/dist/lib/browser/chunk-T4KJ5JR4.mjs.map +0 -7
  356. package/dist/lib/browser/chunk-VJMKS4CZ.mjs +0 -619
  357. package/dist/lib/browser/chunk-VJMKS4CZ.mjs.map +0 -7
  358. package/dist/lib/browser/chunk-VTYX3SIM.mjs +0 -147
  359. package/dist/lib/browser/chunk-VTYX3SIM.mjs.map +0 -7
  360. package/dist/lib/browser/chunk-XYUJXHYV.mjs +0 -106
  361. package/dist/lib/browser/chunk-XYUJXHYV.mjs.map +0 -7
  362. package/dist/lib/browser/chunk-ZCEU5K23.mjs +0 -1890
  363. package/dist/lib/browser/chunk-ZCEU5K23.mjs.map +0 -7
  364. package/dist/lib/browser/index.mjs +0 -311
  365. package/dist/lib/browser/index.mjs.map +0 -7
  366. package/dist/lib/browser/intent-resolver-VOQD3TQ2.mjs +0 -427
  367. package/dist/lib/browser/intent-resolver-VOQD3TQ2.mjs.map +0 -7
  368. package/dist/lib/browser/markdown-R6MGRIA6.mjs +0 -169
  369. package/dist/lib/browser/markdown-R6MGRIA6.mjs.map +0 -7
  370. package/dist/lib/browser/meta.json +0 -1
  371. package/dist/lib/browser/react-root-UMSBTN6H.mjs +0 -28
  372. package/dist/lib/browser/react-root-UMSBTN6H.mjs.map +0 -7
  373. package/dist/lib/browser/react-surface-SXMQEWKE.mjs +0 -109
  374. package/dist/lib/browser/react-surface-SXMQEWKE.mjs.map +0 -7
  375. package/dist/lib/browser/settings-TCNF54PN.mjs +0 -22
  376. package/dist/lib/browser/settings-TCNF54PN.mjs.map +0 -7
  377. package/dist/lib/browser/state-ZQ4IPOJT.mjs +0 -34
  378. package/dist/lib/browser/state-ZQ4IPOJT.mjs.map +0 -7
  379. package/dist/lib/browser/toolkit-JF4B4QIO.mjs +0 -84
  380. package/dist/lib/browser/toolkit-JF4B4QIO.mjs.map +0 -7
  381. package/dist/lib/browser/types/index.mjs +0 -16
  382. package/dist/lib/node-esm/ChannelContainer-OXC6BTU7.mjs +0 -17
  383. package/dist/lib/node-esm/ChatContainer-SH6LTFQL.mjs +0 -16
  384. package/dist/lib/node-esm/app-graph-builder-DMPT3MY6.mjs +0 -172
  385. package/dist/lib/node-esm/app-graph-builder-DMPT3MY6.mjs.map +0 -7
  386. package/dist/lib/node-esm/call-manager-Q7RY2YP4.mjs +0 -25
  387. package/dist/lib/node-esm/call-manager-Q7RY2YP4.mjs.map +0 -7
  388. package/dist/lib/node-esm/chunk-2KZ4ODHU.mjs +0 -987
  389. package/dist/lib/node-esm/chunk-2KZ4ODHU.mjs.map +0 -7
  390. package/dist/lib/node-esm/chunk-2MMJF7DW.mjs +0 -182
  391. package/dist/lib/node-esm/chunk-2MMJF7DW.mjs.map +0 -7
  392. package/dist/lib/node-esm/chunk-2V3WSLUZ.mjs +0 -108
  393. package/dist/lib/node-esm/chunk-2V3WSLUZ.mjs.map +0 -7
  394. package/dist/lib/node-esm/chunk-ABUFOZVX.mjs +0 -33
  395. package/dist/lib/node-esm/chunk-ABUFOZVX.mjs.map +0 -7
  396. package/dist/lib/node-esm/chunk-BAMZXJS4.mjs +0 -148
  397. package/dist/lib/node-esm/chunk-BAMZXJS4.mjs.map +0 -7
  398. package/dist/lib/node-esm/chunk-BTGKI5IK.mjs +0 -377
  399. package/dist/lib/node-esm/chunk-BTGKI5IK.mjs.map +0 -7
  400. package/dist/lib/node-esm/chunk-GZ4WL2IS.mjs +0 -25
  401. package/dist/lib/node-esm/chunk-GZ4WL2IS.mjs.map +0 -7
  402. package/dist/lib/node-esm/chunk-LCHTNRK7.mjs +0 -19
  403. package/dist/lib/node-esm/chunk-LCHTNRK7.mjs.map +0 -7
  404. package/dist/lib/node-esm/chunk-NHSIAEDW.mjs +0 -620
  405. package/dist/lib/node-esm/chunk-NHSIAEDW.mjs.map +0 -7
  406. package/dist/lib/node-esm/chunk-OBVAURUU.mjs +0 -17
  407. package/dist/lib/node-esm/chunk-OBVAURUU.mjs.map +0 -7
  408. package/dist/lib/node-esm/chunk-TIPIOH2J.mjs +0 -1891
  409. package/dist/lib/node-esm/chunk-TIPIOH2J.mjs.map +0 -7
  410. package/dist/lib/node-esm/index.mjs +0 -312
  411. package/dist/lib/node-esm/index.mjs.map +0 -7
  412. package/dist/lib/node-esm/intent-resolver-AKVH66PH.mjs +0 -428
  413. package/dist/lib/node-esm/intent-resolver-AKVH66PH.mjs.map +0 -7
  414. package/dist/lib/node-esm/markdown-MYGTDXT6.mjs +0 -170
  415. package/dist/lib/node-esm/markdown-MYGTDXT6.mjs.map +0 -7
  416. package/dist/lib/node-esm/meta.json +0 -1
  417. package/dist/lib/node-esm/react-root-W6AVTL5M.mjs +0 -29
  418. package/dist/lib/node-esm/react-root-W6AVTL5M.mjs.map +0 -7
  419. package/dist/lib/node-esm/react-surface-NLSZJGMO.mjs +0 -110
  420. package/dist/lib/node-esm/react-surface-NLSZJGMO.mjs.map +0 -7
  421. package/dist/lib/node-esm/settings-ZQHGVFBY.mjs +0 -23
  422. package/dist/lib/node-esm/settings-ZQHGVFBY.mjs.map +0 -7
  423. package/dist/lib/node-esm/state-FSLLJ5TZ.mjs +0 -35
  424. package/dist/lib/node-esm/state-FSLLJ5TZ.mjs.map +0 -7
  425. package/dist/lib/node-esm/toolkit-DHPKJITO.mjs +0 -85
  426. package/dist/lib/node-esm/toolkit-DHPKJITO.mjs.map +0 -7
  427. package/dist/lib/node-esm/types/index.mjs +0 -17
  428. package/dist/types/src/calls/call-manager.d.ts +0 -77
  429. package/dist/types/src/calls/call-manager.d.ts.map +0 -1
  430. package/dist/types/src/calls/call-swarm-synchronizer.d.ts +0 -66
  431. package/dist/types/src/calls/call-swarm-synchronizer.d.ts.map +0 -1
  432. package/dist/types/src/calls/index.d.ts +0 -7
  433. package/dist/types/src/calls/index.d.ts.map +0 -1
  434. package/dist/types/src/calls/media-manager.d.ts +0 -60
  435. package/dist/types/src/calls/media-manager.d.ts.map +0 -1
  436. package/dist/types/src/calls/speaking-monitor.d.ts +0 -24
  437. package/dist/types/src/calls/speaking-monitor.d.ts.map +0 -1
  438. package/dist/types/src/calls/types.d.ts +0 -45
  439. package/dist/types/src/calls/types.d.ts.map +0 -1
  440. package/dist/types/src/calls/util/audio.d.ts +0 -6
  441. package/dist/types/src/calls/util/audio.d.ts.map +0 -1
  442. package/dist/types/src/calls/util/calls-service.d.ts +0 -77
  443. package/dist/types/src/calls/util/calls-service.d.ts.map +0 -1
  444. package/dist/types/src/calls/util/history-cache.d.ts +0 -11
  445. package/dist/types/src/calls/util/history-cache.d.ts.map +0 -1
  446. package/dist/types/src/calls/util/index.d.ts +0 -5
  447. package/dist/types/src/calls/util/index.d.ts.map +0 -1
  448. package/dist/types/src/calls/util/media.d.ts +0 -6
  449. package/dist/types/src/calls/util/media.d.ts.map +0 -1
  450. package/dist/types/src/calls/util/stub-media-streams.d.ts +0 -18
  451. package/dist/types/src/calls/util/stub-media-streams.d.ts.map +0 -1
  452. package/dist/types/src/calls/util/task-scheduling.d.ts +0 -17
  453. package/dist/types/src/calls/util/task-scheduling.d.ts.map +0 -1
  454. package/dist/types/src/calls-service.stories.d.ts +0 -23
  455. package/dist/types/src/calls-service.stories.d.ts.map +0 -1
  456. package/dist/types/src/capabilities/call-manager.d.ts +0 -5
  457. package/dist/types/src/capabilities/call-manager.d.ts.map +0 -1
  458. package/dist/types/src/capabilities/capabilities.d.ts +0 -27
  459. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  460. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  461. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  462. package/dist/types/src/capabilities/react-root.d.ts +0 -7
  463. package/dist/types/src/capabilities/react-root.d.ts.map +0 -1
  464. package/dist/types/src/capabilities/toolkit.d.ts +0 -6
  465. package/dist/types/src/capabilities/toolkit.d.ts.map +0 -1
  466. package/dist/types/src/components/Call/Call.d.ts +0 -17
  467. package/dist/types/src/components/Call/Call.d.ts.map +0 -1
  468. package/dist/types/src/components/Call/Toolbar.d.ts +0 -16
  469. package/dist/types/src/components/Call/Toolbar.d.ts.map +0 -1
  470. package/dist/types/src/components/Call/index.d.ts +0 -3
  471. package/dist/types/src/components/Call/index.d.ts.map +0 -1
  472. package/dist/types/src/components/CallDebugPanel.d.ts +0 -15
  473. package/dist/types/src/components/CallDebugPanel.d.ts.map +0 -1
  474. package/dist/types/src/components/CallSidebar.d.ts +0 -4
  475. package/dist/types/src/components/CallSidebar.d.ts.map +0 -1
  476. package/dist/types/src/components/ChannelContainer.d.ts +0 -14
  477. package/dist/types/src/components/ChannelContainer.d.ts.map +0 -1
  478. package/dist/types/src/components/ChannelContainer.stories.d.ts +0 -94
  479. package/dist/types/src/components/ChannelContainer.stories.d.ts.map +0 -1
  480. package/dist/types/src/components/Chat.stories.d.ts +0 -93
  481. package/dist/types/src/components/Chat.stories.d.ts.map +0 -1
  482. package/dist/types/src/components/ChatContainer.d.ts +0 -17
  483. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  484. package/dist/types/src/components/Comments.stories.d.ts +0 -162
  485. package/dist/types/src/components/Comments.stories.d.ts.map +0 -1
  486. package/dist/types/src/components/CommentsContainer.d.ts +0 -13
  487. package/dist/types/src/components/CommentsContainer.d.ts.map +0 -1
  488. package/dist/types/src/components/CommentsThreadContainer.d.ts +0 -14
  489. package/dist/types/src/components/CommentsThreadContainer.d.ts.map +0 -1
  490. package/dist/types/src/components/Lobby/Lobby.d.ts +0 -15
  491. package/dist/types/src/components/Lobby/Lobby.d.ts.map +0 -1
  492. package/dist/types/src/components/Lobby/index.d.ts +0 -2
  493. package/dist/types/src/components/Lobby/index.d.ts.map +0 -1
  494. package/dist/types/src/components/Media/AudioStream.d.ts +0 -6
  495. package/dist/types/src/components/Media/AudioStream.d.ts.map +0 -1
  496. package/dist/types/src/components/Media/VideoObject.d.ts +0 -15
  497. package/dist/types/src/components/Media/VideoObject.d.ts.map +0 -1
  498. package/dist/types/src/components/Media/VideoObject.stories.d.ts +0 -22
  499. package/dist/types/src/components/Media/VideoObject.stories.d.ts.map +0 -1
  500. package/dist/types/src/components/Media/index.d.ts +0 -3
  501. package/dist/types/src/components/Media/index.d.ts.map +0 -1
  502. package/dist/types/src/components/MessageContainer.d.ts +0 -14
  503. package/dist/types/src/components/MessageContainer.d.ts.map +0 -1
  504. package/dist/types/src/components/Participant/Participant.d.ts +0 -6
  505. package/dist/types/src/components/Participant/Participant.d.ts.map +0 -1
  506. package/dist/types/src/components/Participant/ParticipantGrid.d.ts +0 -11
  507. package/dist/types/src/components/Participant/ParticipantGrid.d.ts.map +0 -1
  508. package/dist/types/src/components/Participant/index.d.ts +0 -3
  509. package/dist/types/src/components/Participant/index.d.ts.map +0 -1
  510. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.d.ts +0 -12
  511. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.d.ts.map +0 -1
  512. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +0 -162
  513. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +0 -1
  514. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.d.ts +0 -32
  515. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.d.ts.map +0 -1
  516. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +0 -176
  517. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +0 -1
  518. package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts +0 -21
  519. package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts.map +0 -1
  520. package/dist/types/src/components/ResponsiveGrid/index.d.ts +0 -4
  521. package/dist/types/src/components/ResponsiveGrid/index.d.ts.map +0 -1
  522. package/dist/types/src/components/ThreadComplementary.d.ts +0 -5
  523. package/dist/types/src/components/ThreadComplementary.d.ts.map +0 -1
  524. package/dist/types/src/components/ThreadSettings.d.ts +0 -6
  525. package/dist/types/src/components/ThreadSettings.d.ts.map +0 -1
  526. package/dist/types/src/components/command-extension.d.ts.map +0 -1
  527. package/dist/types/src/components/testing.d.ts.map +0 -1
  528. package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts +0 -2
  529. package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts.map +0 -1
  530. package/dist/types/src/hooks/useDebugMode.d.ts +0 -2
  531. package/dist/types/src/hooks/useDebugMode.d.ts.map +0 -1
  532. package/dist/types/src/hooks/useInaudibleAudioStreamTrack.d.ts +0 -2
  533. package/dist/types/src/hooks/useInaudibleAudioStreamTrack.d.ts.map +0 -1
  534. package/dist/types/src/hooks/useVideoStreamTrack.d.ts +0 -3
  535. package/dist/types/src/hooks/useVideoStreamTrack.d.ts.map +0 -1
  536. package/dist/types/src/testing/stories.d.ts +0 -2
  537. package/dist/types/src/testing/stories.d.ts.map +0 -1
  538. package/dist/types/src/types/schema.d.ts +0 -179
  539. package/dist/types/src/types/schema.d.ts.map +0 -1
  540. package/src/calls/call-manager.ts +0 -246
  541. package/src/calls/call-swarm-synchronizer.ts +0 -350
  542. package/src/calls/index.ts +0 -10
  543. package/src/calls/media-manager.ts +0 -375
  544. package/src/calls/speaking-monitor.ts +0 -85
  545. package/src/calls/types.ts +0 -74
  546. package/src/calls/util/audio.ts +0 -58
  547. package/src/calls/util/calls-service.ts +0 -581
  548. package/src/calls/util/history-cache.ts +0 -27
  549. package/src/calls/util/index.ts +0 -8
  550. package/src/calls/util/media.ts +0 -52
  551. package/src/calls/util/stub-media-streams.ts +0 -127
  552. package/src/calls/util/task-scheduling.ts +0 -92
  553. package/src/calls-service.stories.tsx +0 -229
  554. package/src/capabilities/call-manager.ts +0 -20
  555. package/src/capabilities/capabilities.ts +0 -33
  556. package/src/capabilities/intent-resolver.ts +0 -348
  557. package/src/capabilities/react-root.tsx +0 -17
  558. package/src/capabilities/toolkit.ts +0 -82
  559. package/src/components/Call/Call.tsx +0 -89
  560. package/src/components/Call/Toolbar.tsx +0 -182
  561. package/src/components/Call/index.ts +0 -6
  562. package/src/components/CallDebugPanel.tsx +0 -174
  563. package/src/components/CallSidebar.tsx +0 -18
  564. package/src/components/ChannelContainer.stories.tsx +0 -59
  565. package/src/components/ChannelContainer.tsx +0 -201
  566. package/src/components/Chat.stories.tsx +0 -91
  567. package/src/components/ChatContainer.tsx +0 -145
  568. package/src/components/Comments.stories.tsx +0 -93
  569. package/src/components/CommentsContainer.tsx +0 -72
  570. package/src/components/CommentsThreadContainer.tsx +0 -169
  571. package/src/components/Lobby/Lobby.tsx +0 -119
  572. package/src/components/Lobby/index.ts +0 -5
  573. package/src/components/Media/AudioStream.tsx +0 -67
  574. package/src/components/Media/VideoObject.stories.tsx +0 -60
  575. package/src/components/Media/VideoObject.tsx +0 -58
  576. package/src/components/Media/index.ts +0 -6
  577. package/src/components/Participant/Participant.tsx +0 -63
  578. package/src/components/Participant/ParticipantGrid.tsx +0 -89
  579. package/src/components/Participant/index.ts +0 -6
  580. package/src/components/ResponsiveGrid/ResponsiveContainer.stories.tsx +0 -54
  581. package/src/components/ResponsiveGrid/ResponsiveContainer.tsx +0 -31
  582. package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +0 -158
  583. package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +0 -341
  584. package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +0 -131
  585. package/src/components/ResponsiveGrid/index.ts +0 -7
  586. package/src/components/ThreadComplementary.tsx +0 -181
  587. package/src/components/ThreadSettings.tsx +0 -16
  588. package/src/components/testing.ts +0 -51
  589. package/src/hooks/useBlackCanvasStreamTrack.tsx +0 -27
  590. package/src/hooks/useDebugMode.ts +0 -25
  591. package/src/hooks/useInaudibleAudioStreamTrack.tsx +0 -27
  592. package/src/hooks/useVideoStreamTrack.tsx +0 -36
  593. package/src/testing/stories.ts +0 -54
  594. package/src/types/schema.ts +0 -33
  595. package/src/typings/peermetrics-webrtc-stats.d.ts +0 -46
  596. package/src/typings.d.ts +0 -8
  597. /package/dist/lib/{browser/ChannelContainer-BGDGZHV4.mjs.map → neutral/ChannelChat-LZEDFJVD.mjs.map} +0 -0
  598. /package/dist/lib/{browser/types → neutral/blueprints}/index.mjs.map +0 -0
  599. /package/dist/lib/{browser/ChatContainer-75KJZ4XR.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  600. /package/dist/lib/{node-esm/types → neutral/hooks}/index.mjs.map +0 -0
  601. /package/dist/lib/{node-esm/ChannelContainer-OXC6BTU7.mjs.map → neutral/index.mjs.map} +0 -0
  602. /package/dist/lib/{node-esm/ChatContainer-SH6LTFQL.mjs.map → neutral/meta.mjs.map} +0 -0
@@ -0,0 +1,36 @@
1
+ // src/blueprints/thread-blueprint.ts
2
+ import { Blueprint, Template } from "@dxos/compute";
3
+ import { trim } from "@dxos/util";
4
+ import { ThreadOperation } from "#types";
5
+ var BLUEPRINT_KEY = "org.dxos.blueprint.thread";
6
+ var make = () => Blueprint.make({
7
+ key: BLUEPRINT_KEY,
8
+ name: "Thread",
9
+ tools: Blueprint.toolDefinitions({
10
+ operations: [
11
+ ThreadOperation.CreateProposals
12
+ ]
13
+ }),
14
+ instructions: Template.make({
15
+ // TODO(wittjosiah): Move example to function input schema annotation.
16
+ source: trim`
17
+ You can update markdown documents via proposals.
18
+ For each diff, respond with the smallest possible matching span.
19
+ For example:
20
+ - "There is a tyop in this sentence."
21
+ + "There is a typo in this sentence."
22
+ - "This id goof."
23
+ + "This is good."
24
+ `
25
+ })
26
+ });
27
+ var blueprint = {
28
+ key: BLUEPRINT_KEY,
29
+ make
30
+ };
31
+ var thread_blueprint_default = blueprint;
32
+
33
+ export {
34
+ thread_blueprint_default
35
+ };
36
+ //# sourceMappingURL=chunk-5T5LPLBN.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/blueprints/thread-blueprint.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Blueprint, Template } from '@dxos/compute';\nimport { trim } from '@dxos/util';\n\nimport { ThreadOperation } from '#types';\n\nconst BLUEPRINT_KEY = 'org.dxos.blueprint.thread';\n\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Thread',\n tools: Blueprint.toolDefinitions({ operations: [ThreadOperation.CreateProposals] }),\n instructions: Template.make({\n // TODO(wittjosiah): Move example to function input schema annotation.\n source: trim`\n You can update markdown documents via proposals.\n For each diff, respond with the smallest possible matching span.\n For example:\n - \"There is a tyop in this sentence.\"\n + \"There is a typo in this sentence.\"\n - \"This id goof.\"\n + \"This is good.\"\n `,\n }),\n });\n\nconst blueprint: Blueprint.Definition = {\n key: BLUEPRINT_KEY,\n make,\n};\n\nexport default blueprint;\n"],
5
+ "mappings": ";AAIA,SAASA,WAAWC,gBAAgB;AACpC,SAASC,YAAY;AAErB,SAASC,uBAAuB;AAEhC,IAAMC,gBAAgB;AAEtB,IAAMC,OAAO,MACXL,UAAUK,KAAK;EACbC,KAAKF;EACLG,MAAM;EACNC,OAAOR,UAAUS,gBAAgB;IAAEC,YAAY;MAACP,gBAAgBQ;;EAAiB,CAAA;EACjFC,cAAcX,SAASI,KAAK;;IAE1BQ,QAAQX;;;;;;;;;EASV,CAAA;AACF,CAAA;AAEF,IAAMY,YAAkC;EACtCR,KAAKF;EACLC;AACF;AAEA,IAAA,2BAAeS;",
6
+ "names": ["Blueprint", "Template", "trim", "ThreadOperation", "BLUEPRINT_KEY", "make", "key", "name", "tools", "toolDefinitions", "operations", "CreateProposals", "instructions", "source", "blueprint"]
7
+ }
@@ -0,0 +1,55 @@
1
+ // src/containers/ChannelChat/ChannelChat.tsx
2
+ import React from "react";
3
+ import { useOperationInvoker } from "@dxos/app-framework/ui";
4
+ import { Filter, Obj, Query } from "@dxos/echo";
5
+ import { useMembers, useQuery } from "@dxos/react-client/echo";
6
+ import { useIdentity } from "@dxos/react-client/halo";
7
+ import { composable, composableProps } from "@dxos/react-ui";
8
+ import { Message } from "@dxos/types";
9
+ import { Chat } from "#components";
10
+ import { useStatus } from "#hooks";
11
+ import { ThreadOperation } from "#types";
12
+ var ChannelChat = composable(({ space, channel, ...props }, forwardedRef) => {
13
+ const identity = useIdentity();
14
+ const members = useMembers(space.id);
15
+ const id = Obj.getURI(channel);
16
+ const activity = useStatus(space, id);
17
+ const { invokePromise } = useOperationInvoker();
18
+ const feed = channel.feed?.target;
19
+ const messages = useQuery(space.db, feed ? Query.select(Filter.type(Message.Message)).from(feed) : Query.select(Filter.nothing()));
20
+ const readOnly = Obj.getMeta(channel).keys.length > 0;
21
+ const handleSend = (text) => {
22
+ if (readOnly) {
23
+ return false;
24
+ }
25
+ void invokePromise(ThreadOperation.AppendChannelMessage, {
26
+ channel,
27
+ sender: {
28
+ identityDid: identity.did
29
+ },
30
+ text
31
+ });
32
+ return true;
33
+ };
34
+ return /* @__PURE__ */ React.createElement(Chat, {
35
+ ...composableProps(props),
36
+ id,
37
+ identity,
38
+ members,
39
+ messages,
40
+ activity,
41
+ onSend: handleSend,
42
+ orientation: "bottom",
43
+ readOnly,
44
+ ref: forwardedRef
45
+ });
46
+ });
47
+
48
+ // src/containers/ChannelChat/index.ts
49
+ var ChannelChat_default = ChannelChat;
50
+
51
+ export {
52
+ ChannelChat,
53
+ ChannelChat_default
54
+ };
55
+ //# sourceMappingURL=chunk-BHEZLLXG.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/ChannelChat/ChannelChat.tsx", "../../../src/containers/ChannelChat/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport React from 'react';\n\nimport { useOperationInvoker } from '@dxos/app-framework/ui';\nimport { Filter, Obj, Query } from '@dxos/echo';\nimport { type Space, useMembers, useQuery } from '@dxos/react-client/echo';\nimport { useIdentity } from '@dxos/react-client/halo';\nimport { composable, composableProps } from '@dxos/react-ui';\nimport { type Channel, Message } from '@dxos/types';\n\nimport { Chat } from '#components';\nimport { useStatus } from '#hooks';\nimport { ThreadOperation } from '#types';\n\nexport type ChannelChatProps = {\n space: Space;\n channel: Channel.Channel;\n};\n\n/**\n * Channel chat: composer pinned to the bottom of the panel, messages scrolling\n * above it (newest at the bottom). Threading via `Message.threadId` is\n * intentionally not reconstructed in this round.\n *\n * Externally-synced channels (any Channel carrying foreign-key `Obj.Meta`,\n * e.g. Slack/Discord-sourced rooms) render read-only — the composer is\n * suppressed because there's no local-write path back to the source.\n */\nexport const ChannelChat = composable<HTMLDivElement, ChannelChatProps>(\n ({ space, channel, ...props }, forwardedRef) => {\n const identity = useIdentity()!;\n const members = useMembers(space.id);\n const id = Obj.getURI(channel);\n const activity = useStatus(space, id);\n const { invokePromise } = useOperationInvoker();\n\n const feed = channel.feed?.target;\n const messages = useQuery(\n space.db,\n feed ? Query.select(Filter.type(Message.Message)).from(feed) : Query.select(Filter.nothing()),\n );\n\n const readOnly = Obj.getMeta(channel).keys.length > 0;\n\n const handleSend = (text: string) => {\n if (readOnly) {\n return false;\n }\n void invokePromise(ThreadOperation.AppendChannelMessage, {\n channel,\n sender: { identityDid: identity.did },\n text,\n });\n return true;\n };\n\n return (\n <Chat\n {...composableProps(props)}\n id={id}\n identity={identity}\n members={members}\n messages={messages}\n activity={activity}\n onSend={handleSend}\n orientation='bottom'\n readOnly={readOnly}\n ref={forwardedRef}\n />\n );\n },\n);\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { ChannelChat } from './ChannelChat';\n\nexport { ChannelChat };\nexport default ChannelChat;\n"],
5
+ "mappings": ";AAIA,OAAOA,WAAW;AAElB,SAASC,2BAA2B;AACpC,SAASC,QAAQC,KAAKC,aAAa;AACnC,SAAqBC,YAAYC,gBAAgB;AACjD,SAASC,mBAAmB;AAC5B,SAASC,YAAYC,uBAAuB;AAC5C,SAAuBC,eAAe;AAEtC,SAASC,YAAY;AACrB,SAASC,iBAAiB;AAC1B,SAASC,uBAAuB;AAgBzB,IAAMC,cAAcN,WACzB,CAAC,EAAEO,OAAOC,SAAS,GAAGC,MAAAA,GAASC,iBAAAA;AAC7B,QAAMC,WAAWZ,YAAAA;AACjB,QAAMa,UAAUf,WAAWU,MAAMM,EAAE;AACnC,QAAMA,KAAKlB,IAAImB,OAAON,OAAAA;AACtB,QAAMO,WAAWX,UAAUG,OAAOM,EAAAA;AAClC,QAAM,EAAEG,cAAa,IAAKvB,oBAAAA;AAE1B,QAAMwB,OAAOT,QAAQS,MAAMC;AAC3B,QAAMC,WAAWrB,SACfS,MAAMa,IACNH,OAAOrB,MAAMyB,OAAO3B,OAAO4B,KAAKpB,QAAQA,OAAO,CAAA,EAAGqB,KAAKN,IAAAA,IAAQrB,MAAMyB,OAAO3B,OAAO8B,QAAO,CAAA,CAAA;AAG5F,QAAMC,WAAW9B,IAAI+B,QAAQlB,OAAAA,EAASmB,KAAKC,SAAS;AAEpD,QAAMC,aAAa,CAACC,SAAAA;AAClB,QAAIL,UAAU;AACZ,aAAO;IACT;AACA,SAAKT,cAAcX,gBAAgB0B,sBAAsB;MACvDvB;MACAwB,QAAQ;QAAEC,aAAatB,SAASuB;MAAI;MACpCJ;IACF,CAAA;AACA,WAAO;EACT;AAEA,SACE,sBAAA,cAAC3B,MAAAA;IACE,GAAGF,gBAAgBQ,KAAAA;IACpBI;IACAF;IACAC;IACAO;IACAJ;IACAoB,QAAQN;IACRO,aAAY;IACZX;IACAY,KAAK3B;;AAGX,CAAA;;;AClEF,IAAA,sBAAe4B;",
6
+ "names": ["React", "useOperationInvoker", "Filter", "Obj", "Query", "useMembers", "useQuery", "useIdentity", "composable", "composableProps", "Message", "Chat", "useStatus", "ThreadOperation", "ChannelChat", "space", "channel", "props", "forwardedRef", "identity", "members", "id", "getURI", "activity", "invokePromise", "feed", "target", "messages", "db", "select", "type", "from", "nothing", "readOnly", "getMeta", "keys", "length", "handleSend", "text", "AppendChannelMessage", "sender", "identityDid", "did", "onSend", "orientation", "ref", "ChannelChat"]
7
+ }
@@ -0,0 +1,164 @@
1
+ // src/extensions/threads.ts
2
+ import { EditorView } from "@codemirror/view";
3
+ import { Filter, Obj, Query, Relation } from "@dxos/echo";
4
+ import { createDocAccessor, getTextInRange } from "@dxos/echo-db";
5
+ import { AnchoredTo, Thread } from "@dxos/types";
6
+ import { comments, createExternalCommentSync } from "@dxos/ui-editor";
7
+ import { ThreadOperation } from "#types";
8
+ var getName = (doc, anchor) => {
9
+ if (doc.content) {
10
+ const [start, end] = anchor.split(":");
11
+ return getTextInRange(createDocAccessor(doc.content.target, [
12
+ "content"
13
+ ]), start, end);
14
+ }
15
+ };
16
+ var threads = (store, doc, invokePromise) => {
17
+ const db = doc && Obj.getDatabase(doc);
18
+ if (!doc || !db || !invokePromise) {
19
+ return [
20
+ comments()
21
+ ];
22
+ }
23
+ const { registry, stateAtom } = store;
24
+ const objectId = Obj.getURI(doc);
25
+ const query = db.query(Query.select(Filter.id(doc.id)).targetOf(AnchoredTo.AnchoredTo));
26
+ const getAnchors = () => query.results.filter((anchor) => {
27
+ const thread = Relation.getSource(anchor);
28
+ return Obj.instanceOf(Thread.Thread, thread) && thread.status !== "resolved";
29
+ }).concat(registry.get(stateAtom).drafts[objectId] ?? []);
30
+ return [
31
+ EditorView.domEventHandlers({
32
+ destroy: () => {
33
+ }
34
+ }),
35
+ EditorView.updateListener.of((update) => {
36
+ if (update.docChanged) {
37
+ getAnchors().forEach((anchor) => {
38
+ if (anchor.anchor) {
39
+ const name = getName(doc, anchor.anchor);
40
+ const thread = Relation.getSource(anchor);
41
+ if (name && name !== thread.name) {
42
+ Obj.update(thread, (thread2) => {
43
+ thread2.name = name;
44
+ });
45
+ }
46
+ }
47
+ });
48
+ }
49
+ }),
50
+ createExternalCommentSync(objectId, (sink) => {
51
+ const unsubQuery = query.subscribe(sink);
52
+ const unsubStore = registry.subscribe(stateAtom, sink);
53
+ return () => {
54
+ unsubQuery();
55
+ unsubStore();
56
+ };
57
+ }, () => getAnchors().filter((anchor) => anchor.anchor).map((anchor) => ({
58
+ id: Obj.getURI(Relation.getSource(anchor)),
59
+ cursor: anchor.anchor
60
+ }))),
61
+ comments({
62
+ id: objectId,
63
+ onCreate: ({ cursor }) => {
64
+ const name = getName(doc, cursor);
65
+ void invokePromise(ThreadOperation.Create, {
66
+ anchor: cursor,
67
+ name,
68
+ subject: doc
69
+ });
70
+ },
71
+ onDelete: ({ id }) => {
72
+ const drafts = registry.get(stateAtom).drafts[objectId];
73
+ if (drafts) {
74
+ const index = drafts.findIndex((draft) => Relation.getURI(draft) === id);
75
+ if (index !== -1) {
76
+ const current = registry.get(stateAtom);
77
+ registry.set(stateAtom, {
78
+ ...current,
79
+ drafts: {
80
+ ...current.drafts,
81
+ [objectId]: current.drafts[objectId]?.filter((_, i) => i !== index)
82
+ }
83
+ });
84
+ }
85
+ }
86
+ const thread = query.results.find((object) => Relation.getSource(object).id === id);
87
+ if (thread) {
88
+ Relation.update(thread, (thread2) => {
89
+ thread2.anchor = void 0;
90
+ });
91
+ }
92
+ },
93
+ onUpdate: ({ id, cursor }) => {
94
+ const draft = registry.get(stateAtom).drafts[objectId]?.find((d) => Relation.getURI(d) === id);
95
+ if (draft) {
96
+ const thread = Relation.getSource(draft);
97
+ Obj.update(thread, (thread2) => {
98
+ thread2.name = getName(doc, cursor);
99
+ });
100
+ Relation.update(draft, (draft2) => {
101
+ draft2.anchor = cursor;
102
+ });
103
+ }
104
+ const relation = query.results.find((object) => Relation.getSource(object).id === id);
105
+ if (relation) {
106
+ const thread = Relation.getSource(relation);
107
+ if (Obj.instanceOf(Thread.Thread, thread)) {
108
+ Obj.update(thread, (thread2) => {
109
+ thread2.name = getName(doc, cursor);
110
+ });
111
+ Relation.update(relation, (relation2) => {
112
+ relation2.anchor = cursor;
113
+ });
114
+ }
115
+ }
116
+ },
117
+ onSelect: ({ selection }) => {
118
+ const current = selection.current ?? selection.closest;
119
+ if (current) {
120
+ void invokePromise(ThreadOperation.Select, {
121
+ current
122
+ });
123
+ }
124
+ }
125
+ })
126
+ ];
127
+ };
128
+
129
+ // src/extensions/command.ts
130
+ import { HighlightStyle, StreamLanguage, syntaxHighlighting } from "@codemirror/language";
131
+ import { tags } from "@dxos/ui-editor";
132
+ import { mx } from "@dxos/ui-theme";
133
+ var parser = StreamLanguage.define({
134
+ startState: () => ({
135
+ count: 0
136
+ }),
137
+ token: (stream, state) => {
138
+ state.count++;
139
+ if (stream.eatSpace()) {
140
+ return null;
141
+ }
142
+ if (state.count === 1 && stream.match(/^(\/\w+)/)) {
143
+ return "tagName";
144
+ }
145
+ stream.next();
146
+ return null;
147
+ }
148
+ });
149
+ var styles = HighlightStyle.define([
150
+ {
151
+ tag: tags.tagName,
152
+ class: mx("dx-tag dx-tag--indigo text-base-fg font-medium")
153
+ }
154
+ ]);
155
+ var command = [
156
+ parser,
157
+ syntaxHighlighting(styles)
158
+ ];
159
+
160
+ export {
161
+ command,
162
+ threads
163
+ };
164
+ //# sourceMappingURL=chunk-HQZWTDJC.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/extensions/threads.ts", "../../../src/extensions/command.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { type Extension } from '@codemirror/state';\nimport { EditorView } from '@codemirror/view';\nimport { type Atom, type Registry } from '@effect-atom/atom-react';\n\nimport { Filter, Obj, Query, Relation } from '@dxos/echo';\nimport { createDocAccessor, getTextInRange } from '@dxos/echo-db';\nimport { OperationInvoker } from '@dxos/operation';\nimport { type Markdown } from '@dxos/plugin-markdown';\nimport { AnchoredTo, Thread } from '@dxos/types';\nimport { comments, createExternalCommentSync } from '@dxos/ui-editor';\n\nimport { ThreadOperation } from '#types';\nimport { type ThreadState } from '#types';\n\n// TODO(burdon): Factor out.\nconst getName = (doc: Markdown.Document, anchor: string): string | undefined => {\n if (doc.content) {\n const [start, end] = anchor.split(':');\n return getTextInRange(createDocAccessor(doc.content.target!, ['content']), start, end);\n }\n};\n\nexport type ThreadStore = {\n registry: Registry.Registry;\n stateAtom: Atom.Writable<ThreadState>;\n};\n\n/**\n * Construct plugins.\n */\nexport const threads = (\n store: ThreadStore,\n doc?: Markdown.Document,\n invokePromise?: OperationInvoker.OperationInvoker['invokePromise'],\n): Extension => {\n const db = doc && Obj.getDatabase(doc);\n if (!doc || !db || !invokePromise) {\n // Include no-op comments extension here to ensure that the facets are always present when they are expected.\n // TODO(wittjosiah): The Editor should only look for these facets when comments are available.\n return [comments()];\n }\n\n const { registry, stateAtom } = store;\n const objectId = Obj.getURI(doc);\n const query = db.query(Query.select(Filter.id(doc.id)).targetOf(AnchoredTo.AnchoredTo));\n\n // Get current anchors by combining query results with store drafts.\n const getAnchors = () =>\n query.results\n .filter((anchor) => {\n const thread = Relation.getSource(anchor);\n return Obj.instanceOf(Thread.Thread, thread) && thread.status !== 'resolved';\n })\n .concat(registry.get(stateAtom).drafts[objectId] ?? []);\n\n return [\n EditorView.domEventHandlers({\n destroy: () => {\n // Note: cleanup functions for subscriptions are handled by createExternalCommentSync.\n },\n }),\n\n EditorView.updateListener.of((update) => {\n if (update.docChanged) {\n getAnchors().forEach((anchor) => {\n if (anchor.anchor) {\n // Only update if the name has changed, otherwise this will cause an infinite loop.\n // Skip if the name is empty; this means comment text was deleted, but thread name should remain.\n const name = getName(doc, anchor.anchor);\n const thread = Relation.getSource(anchor) as Thread.Thread;\n if (name && name !== thread.name) {\n Obj.update(thread, (thread) => {\n thread.name = name;\n });\n }\n }\n });\n }\n }),\n\n createExternalCommentSync(\n objectId,\n (sink) => {\n // Subscribe to both query changes and store state changes.\n const unsubQuery = query.subscribe(sink);\n const unsubStore = registry.subscribe(stateAtom, sink);\n return () => {\n unsubQuery();\n unsubStore();\n };\n },\n () =>\n getAnchors()\n .filter((anchor) => anchor.anchor)\n .map((anchor) => ({\n id: Obj.getURI(Relation.getSource(anchor)),\n cursor: anchor.anchor,\n })),\n ),\n\n comments({\n id: objectId,\n onCreate: ({ cursor }) => {\n const name = getName(doc, cursor);\n void invokePromise(ThreadOperation.Create, {\n anchor: cursor,\n name,\n subject: doc,\n });\n },\n onDelete: ({ id }) => {\n const drafts = registry.get(stateAtom).drafts[objectId];\n if (drafts) {\n const index = drafts.findIndex((draft) => Relation.getURI(draft) === id);\n if (index !== -1) {\n const current = registry.get(stateAtom);\n registry.set(stateAtom, {\n ...current,\n drafts: {\n ...current.drafts,\n [objectId]: current.drafts[objectId]?.filter((_, i) => i !== index),\n },\n });\n }\n }\n\n const thread = query.results.find((object) => Relation.getSource(object).id === id);\n if (thread) {\n Relation.update(thread, (thread) => {\n thread.anchor = undefined;\n });\n }\n },\n onUpdate: ({ id, cursor }) => {\n const draft = registry.get(stateAtom).drafts[objectId]?.find((d) => Relation.getURI(d) === id);\n if (draft) {\n const thread = Relation.getSource(draft) as Thread.Thread;\n Obj.update(thread, (thread) => {\n thread.name = getName(doc, cursor);\n });\n Relation.update(draft, (draft) => {\n draft.anchor = cursor;\n });\n }\n\n const relation = query.results.find((object) => Relation.getSource(object).id === id);\n if (relation) {\n const thread = Relation.getSource(relation);\n if (Obj.instanceOf(Thread.Thread, thread)) {\n Obj.update(thread, (thread) => {\n thread.name = getName(doc, cursor);\n });\n Relation.update(relation, (relation) => {\n relation.anchor = cursor;\n });\n }\n }\n },\n onSelect: ({ selection }) => {\n const current = selection.current ?? selection.closest;\n if (current) {\n void invokePromise(ThreadOperation.Select, { current });\n }\n },\n }),\n ];\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { HighlightStyle, StreamLanguage, syntaxHighlighting } from '@codemirror/language';\nimport { type Extension } from '@codemirror/state';\n\nimport { tags } from '@dxos/ui-editor';\nimport { mx } from '@dxos/ui-theme';\n\n/**\n * https://github.com/codemirror/stream-parser/blob/main/test/test-stream-parser.ts\n */\nconst parser = StreamLanguage.define<{ count: number }>({\n startState: () => ({ count: 0 }),\n token: (stream, state) => {\n state.count++;\n if (stream.eatSpace()) {\n return null;\n }\n if (state.count === 1 && stream.match(/^(\\/\\w+)/)) {\n return 'tagName';\n }\n stream.next();\n return null;\n },\n});\n\nconst styles = HighlightStyle.define([\n {\n tag: tags.tagName,\n class: mx('dx-tag dx-tag--indigo text-base-fg font-medium'),\n },\n]);\n\nexport const command: Extension = [parser, syntaxHighlighting(styles)];\n"],
5
+ "mappings": "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",
6
+ "names": ["EditorView", "Filter", "Obj", "Query", "Relation", "createDocAccessor", "getTextInRange", "AnchoredTo", "Thread", "comments", "createExternalCommentSync", "ThreadOperation", "getName", "doc", "anchor", "content", "start", "end", "split", "target", "threads", "store", "invokePromise", "db", "getDatabase", "registry", "stateAtom", "objectId", "getURI", "query", "select", "id", "targetOf", "getAnchors", "results", "filter", "thread", "getSource", "instanceOf", "status", "concat", "get", "drafts", "domEventHandlers", "destroy", "updateListener", "of", "update", "docChanged", "forEach", "name", "sink", "unsubQuery", "subscribe", "unsubStore", "map", "cursor", "onCreate", "Create", "subject", "onDelete", "index", "findIndex", "draft", "current", "set", "_", "i", "find", "object", "undefined", "onUpdate", "d", "relation", "onSelect", "selection", "closest", "Select", "HighlightStyle", "StreamLanguage", "syntaxHighlighting", "tags", "mx", "parser", "define", "startState", "count", "token", "stream", "state", "eatSpace", "match", "next", "styles", "tag", "tagName", "class", "command"]
7
+ }
@@ -0,0 +1,335 @@
1
+ import {
2
+ __export
3
+ } from "./chunk-J5LGTIGS.mjs";
4
+
5
+ // src/types/AgentIdentity.ts
6
+ import { Capability } from "@dxos/app-framework";
7
+ import { meta } from "#meta";
8
+ var AgentIdentity = Capability.make(`${meta.id}.capability.agent-identity`);
9
+ var DEFAULT_AGENT_IDENTITY = {
10
+ name: "Kai"
11
+ };
12
+
13
+ // src/types/Settings.ts
14
+ var Settings_exports = {};
15
+ __export(Settings_exports, {
16
+ Settings: () => Settings
17
+ });
18
+ import * as Schema from "effect/Schema";
19
+ var Settings = Schema.mutable(Schema.Struct({}));
20
+
21
+ // src/types/ThreadCapabilities.ts
22
+ var ThreadCapabilities_exports = {};
23
+ __export(ThreadCapabilities_exports, {
24
+ AgentRunner: () => AgentRunner,
25
+ CommentConfig: () => CommentConfig,
26
+ Settings: () => Settings2,
27
+ State: () => State,
28
+ ViewState: () => ViewState
29
+ });
30
+ import { Capability as Capability2 } from "@dxos/app-framework";
31
+ import { AppCapabilities } from "@dxos/app-toolkit";
32
+ import { meta as meta2 } from "#meta";
33
+ var Settings2 = Capability2.make(`${meta2.id}.capability.settings`);
34
+ var CommentConfig = AppCapabilities.CommentConfig;
35
+ var State = Capability2.make(`${meta2.id}.capability.state`);
36
+ var ViewState = Capability2.make(`${meta2.id}.capability.view-state`);
37
+ var AgentRunner = Capability2.make(`${meta2.id}.capability.agent-runner`);
38
+
39
+ // src/types/ThreadOperation.ts
40
+ var ThreadOperation_exports = {};
41
+ __export(ThreadOperation_exports, {
42
+ AddMessage: () => AddMessage,
43
+ AppendChannelMessage: () => AppendChannelMessage,
44
+ Create: () => Create,
45
+ CreateChannel: () => CreateChannel,
46
+ CreateProposals: () => CreateProposals,
47
+ Delete: () => Delete,
48
+ DeleteMessage: () => DeleteMessage,
49
+ DeleteMessageOutput: () => DeleteMessageOutput,
50
+ DeleteOutput: () => DeleteOutput,
51
+ OnCreateSpace: () => OnCreateSpace,
52
+ RespondToThread: () => RespondToThread,
53
+ Restore: () => Restore,
54
+ RestoreMessage: () => RestoreMessage,
55
+ Select: () => Select,
56
+ SetAgentConfig: () => SetAgentConfig,
57
+ ToggleResolved: () => ToggleResolved
58
+ });
59
+ import * as Schema2 from "effect/Schema";
60
+ import { Capability as Capability3 } from "@dxos/app-framework";
61
+ import { SpaceSchema } from "@dxos/client-protocol";
62
+ import { Operation } from "@dxos/compute";
63
+ import { Collection, Database, Key, Obj, Ref, Type, DXN } from "@dxos/echo";
64
+ import { Markdown } from "@dxos/plugin-markdown";
65
+ import { Actor, AnchoredTo, Channel, Message, Thread } from "@dxos/types";
66
+ import { meta as meta3 } from "#meta";
67
+ var makeKey = (name) => DXN.make(`${meta3.id}.operation.${name}`);
68
+ var OnCreateSpace = Operation.make({
69
+ meta: {
70
+ key: makeKey("onCreateSpace"),
71
+ name: "On Create Space",
72
+ icon: "ph--chat-text--regular"
73
+ },
74
+ services: [
75
+ Capability3.Service
76
+ ],
77
+ input: Schema2.Struct({
78
+ space: SpaceSchema,
79
+ rootCollection: Type.getSchema(Collection.Collection),
80
+ isDefault: Schema2.Boolean.pipe(Schema2.optional)
81
+ }),
82
+ output: Schema2.Void
83
+ });
84
+ var CreateChannel = Operation.make({
85
+ meta: {
86
+ key: makeKey("createChannel"),
87
+ name: "Create Channel",
88
+ icon: "ph--hash--regular"
89
+ },
90
+ services: [
91
+ Capability3.Service
92
+ ],
93
+ input: Schema2.Struct({
94
+ spaceId: Key.SpaceId,
95
+ name: Schema2.optional(Schema2.String)
96
+ }),
97
+ output: Schema2.Struct({
98
+ object: Type.getSchema(Channel.Channel)
99
+ })
100
+ });
101
+ var AppendChannelMessage = Operation.make({
102
+ meta: {
103
+ key: makeKey("appendChannelMessage"),
104
+ name: "Append Channel Message",
105
+ icon: "ph--chat-text--regular"
106
+ },
107
+ // Note: Feed.FeedService is provided inside the handler from space.queues, not at the
108
+ // operation level — the runtime can't fulfill it without a space context.
109
+ services: [
110
+ Capability3.Service
111
+ ],
112
+ input: Schema2.Struct({
113
+ channel: Type.getSchema(Channel.Channel),
114
+ sender: Actor.Actor,
115
+ text: Schema2.String
116
+ }),
117
+ output: Schema2.Void
118
+ });
119
+ var Create = Operation.make({
120
+ meta: {
121
+ key: makeKey("create"),
122
+ name: "Create Thread",
123
+ icon: "ph--chat-text--regular"
124
+ },
125
+ services: [
126
+ Capability3.Service
127
+ ],
128
+ input: Schema2.Struct({
129
+ name: Schema2.optional(Schema2.String),
130
+ anchor: Schema2.optional(Schema2.String),
131
+ subject: Obj.Unknown
132
+ }),
133
+ output: Schema2.Void
134
+ });
135
+ var DeleteOutput = Schema2.Struct({
136
+ thread: Type.getSchema(Thread.Thread).annotations({
137
+ description: "The deleted thread."
138
+ }),
139
+ anchor: Type.getSchema(AnchoredTo.AnchoredTo).annotations({
140
+ description: "The deleted anchor."
141
+ })
142
+ }).pipe(Schema2.partial);
143
+ var Delete = Operation.make({
144
+ meta: {
145
+ key: makeKey("delete"),
146
+ name: "Delete Thread",
147
+ icon: "ph--trash--regular"
148
+ },
149
+ services: [
150
+ Capability3.Service
151
+ ],
152
+ input: Schema2.Struct({
153
+ anchor: Type.getSchema(AnchoredTo.AnchoredTo),
154
+ subject: Obj.Unknown,
155
+ thread: Schema2.optional(Type.getSchema(Thread.Thread))
156
+ }),
157
+ output: DeleteOutput
158
+ });
159
+ var Select = Operation.make({
160
+ meta: {
161
+ key: makeKey("select"),
162
+ name: "Select Thread",
163
+ icon: "ph--check--regular"
164
+ },
165
+ services: [
166
+ Capability3.Service
167
+ ],
168
+ input: Schema2.Struct({
169
+ current: Schema2.String
170
+ }),
171
+ output: Schema2.Void
172
+ });
173
+ var ToggleResolved = Operation.make({
174
+ meta: {
175
+ key: makeKey("toggleResolved"),
176
+ name: "Toggle Resolved",
177
+ icon: "ph--check-circle--regular"
178
+ },
179
+ services: [
180
+ Capability3.Service
181
+ ],
182
+ input: Schema2.Struct({
183
+ thread: Type.getSchema(Thread.Thread)
184
+ }),
185
+ output: Schema2.Void
186
+ });
187
+ var AddMessage = Operation.make({
188
+ meta: {
189
+ key: makeKey("addMessage"),
190
+ name: "Add Message",
191
+ icon: "ph--chat-text--regular"
192
+ },
193
+ services: [
194
+ Capability3.Service
195
+ ],
196
+ input: Schema2.Struct({
197
+ subject: Obj.Unknown,
198
+ anchor: Type.getSchema(AnchoredTo.AnchoredTo),
199
+ sender: Actor.Actor,
200
+ text: Schema2.String
201
+ }),
202
+ output: Schema2.Void
203
+ });
204
+ var DeleteMessageOutput = Schema2.partial(Schema2.Struct({
205
+ message: Type.getSchema(Message.Message).annotations({
206
+ description: "The deleted message."
207
+ }),
208
+ messageIndex: Schema2.Number.annotations({
209
+ description: "The index the message was at."
210
+ })
211
+ }));
212
+ var DeleteMessage = Operation.make({
213
+ meta: {
214
+ key: makeKey("deleteMessage"),
215
+ name: "Delete Message",
216
+ icon: "ph--trash--regular"
217
+ },
218
+ services: [
219
+ Capability3.Service
220
+ ],
221
+ input: Schema2.Struct({
222
+ anchor: Type.getSchema(AnchoredTo.AnchoredTo),
223
+ subject: Obj.Unknown,
224
+ messageId: Schema2.String
225
+ }),
226
+ output: DeleteMessageOutput
227
+ });
228
+ var Restore = Operation.make({
229
+ meta: {
230
+ key: makeKey("restore"),
231
+ name: "Restore Thread",
232
+ icon: "ph--clock-counter-clockwise--regular"
233
+ },
234
+ services: [
235
+ Capability3.Service
236
+ ],
237
+ input: Schema2.Struct({
238
+ thread: Type.getSchema(Thread.Thread).annotations({
239
+ description: "The thread to restore."
240
+ }),
241
+ anchor: Type.getSchema(AnchoredTo.AnchoredTo).annotations({
242
+ description: "The anchor relation to restore."
243
+ })
244
+ }),
245
+ output: Schema2.Void
246
+ });
247
+ var RestoreMessage = Operation.make({
248
+ meta: {
249
+ key: makeKey("restoreMessage"),
250
+ name: "Restore Message",
251
+ icon: "ph--clock-counter-clockwise--regular"
252
+ },
253
+ services: [
254
+ Capability3.Service
255
+ ],
256
+ input: Schema2.Struct({
257
+ anchor: Type.getSchema(AnchoredTo.AnchoredTo).annotations({
258
+ description: "The anchor of the thread."
259
+ }),
260
+ message: Type.getSchema(Message.Message).annotations({
261
+ description: "The message to restore."
262
+ }),
263
+ messageIndex: Schema2.Number.annotations({
264
+ description: "The index to restore the message at."
265
+ })
266
+ }),
267
+ output: Schema2.Void
268
+ });
269
+ var RespondToThread = Operation.make({
270
+ meta: {
271
+ key: makeKey("respondToThread"),
272
+ name: "Respond to Thread",
273
+ description: "Runs one comment-thread agent turn against the given thread + subject."
274
+ },
275
+ services: [
276
+ Capability3.Service
277
+ ],
278
+ input: Schema2.Struct({
279
+ thread: Ref.Ref(Thread.Thread).annotations({
280
+ description: "The thread to respond to."
281
+ }),
282
+ subject: Ref.Ref(Obj.Unknown).annotations({
283
+ description: "The object the thread is anchored to."
284
+ })
285
+ }),
286
+ output: Schema2.Void
287
+ });
288
+ var SetAgentConfig = Operation.make({
289
+ meta: {
290
+ key: makeKey("setAgentConfig"),
291
+ name: "Set Agent Config",
292
+ description: "Updates thread.agent. Undefined config disables the agent."
293
+ },
294
+ services: [
295
+ Database.Service
296
+ ],
297
+ input: Schema2.Struct({
298
+ thread: Ref.Ref(Thread.Thread).annotations({
299
+ description: "The thread to configure."
300
+ }),
301
+ config: Schema2.optional(Thread.AgentConfig).annotations({
302
+ description: "New agent config; omit to disable."
303
+ })
304
+ }),
305
+ output: Schema2.Void
306
+ });
307
+ var CreateProposals = Operation.make({
308
+ meta: {
309
+ key: DXN.make("org.dxos.function.thread.createProposals"),
310
+ name: "Create Proposals",
311
+ description: "Proposes a set of changes to a document.",
312
+ icon: "ph--sparkle--regular"
313
+ },
314
+ input: Schema2.Struct({
315
+ doc: Ref.Ref(Markdown.Document).annotations({
316
+ description: "The ID of the document."
317
+ }),
318
+ diffs: Schema2.Array(Schema2.String).annotations({
319
+ description: "The diffs to propose for the document."
320
+ })
321
+ }),
322
+ output: Schema2.Void,
323
+ services: [
324
+ Database.Service
325
+ ]
326
+ });
327
+
328
+ export {
329
+ AgentIdentity,
330
+ DEFAULT_AGENT_IDENTITY,
331
+ Settings_exports,
332
+ ThreadCapabilities_exports,
333
+ ThreadOperation_exports
334
+ };
335
+ //# sourceMappingURL=chunk-IQBZZAMX.mjs.map