@dxos/plugin-thread 0.8.4-main.74a063c4e0 → 0.8.4-main.765dc60934

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 (490) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/neutral/ChannelArticle-ACZD7YFT.mjs +28 -0
  4. package/dist/lib/neutral/ChannelArticle-ACZD7YFT.mjs.map +7 -0
  5. package/dist/lib/neutral/ChannelChat-6YTD5HWL.mjs +10 -0
  6. package/dist/lib/neutral/ThreadCompanion-NQWPS2H6.mjs +208 -0
  7. package/dist/lib/neutral/ThreadCompanion-NQWPS2H6.mjs.map +7 -0
  8. package/dist/lib/neutral/ThreadContainer-XYEPEOSD.mjs +61 -0
  9. package/dist/lib/neutral/ThreadContainer-XYEPEOSD.mjs.map +7 -0
  10. package/dist/lib/neutral/ThreadPlugin.mjs +80 -0
  11. package/dist/lib/neutral/ThreadPlugin.mjs.map +7 -0
  12. package/dist/lib/neutral/ThreadPlugin.node.mjs +40 -0
  13. package/dist/lib/neutral/ThreadPlugin.node.mjs.map +7 -0
  14. package/dist/lib/neutral/ThreadSettings-5MKTDK3A.mjs +15 -0
  15. package/dist/lib/neutral/ThreadSettings-5MKTDK3A.mjs.map +7 -0
  16. package/dist/lib/{browser/add-message-MJDIN4K4.mjs → neutral/add-message-FBIROBEZ.mjs} +14 -24
  17. package/dist/lib/neutral/add-message-FBIROBEZ.mjs.map +7 -0
  18. package/dist/lib/neutral/app-graph-builder-7Q6MA6RT.mjs +120 -0
  19. package/dist/lib/neutral/app-graph-builder-7Q6MA6RT.mjs.map +7 -0
  20. package/dist/lib/neutral/append-channel-message-FTFAD3PK.mjs +40 -0
  21. package/dist/lib/neutral/append-channel-message-FTFAD3PK.mjs.map +7 -0
  22. package/dist/lib/neutral/blueprint-definition-S3EBOH4R.mjs +15 -0
  23. package/dist/lib/neutral/blueprint-definition-S3EBOH4R.mjs.map +7 -0
  24. package/dist/lib/neutral/blueprints/index.mjs +8 -0
  25. package/dist/lib/neutral/capabilities/index.mjs +25 -0
  26. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  27. package/dist/lib/{browser/blueprints/index.mjs → neutral/chunk-5T5LPLBN.mjs} +5 -6
  28. package/dist/lib/neutral/chunk-5T5LPLBN.mjs.map +7 -0
  29. package/dist/lib/neutral/chunk-7GHUS3IX.mjs +20 -0
  30. package/dist/lib/neutral/chunk-7GHUS3IX.mjs.map +7 -0
  31. package/dist/lib/neutral/chunk-D5LGFCUY.mjs +55 -0
  32. package/dist/lib/neutral/chunk-D5LGFCUY.mjs.map +7 -0
  33. package/dist/lib/neutral/chunk-JLY4NVTA.mjs +38 -0
  34. package/dist/lib/neutral/chunk-JLY4NVTA.mjs.map +7 -0
  35. package/dist/lib/neutral/chunk-KRXHIW4P.mjs +164 -0
  36. package/dist/lib/neutral/chunk-KRXHIW4P.mjs.map +7 -0
  37. package/dist/lib/{browser/chunk-2QNKWX4H.mjs → neutral/chunk-PE7IH7EL.mjs} +97 -85
  38. package/dist/lib/neutral/chunk-PE7IH7EL.mjs.map +7 -0
  39. package/dist/lib/neutral/chunk-QFDT33VT.mjs +69 -0
  40. package/dist/lib/neutral/chunk-QFDT33VT.mjs.map +7 -0
  41. package/dist/lib/neutral/chunk-QK4QZUR5.mjs +8 -0
  42. package/dist/lib/neutral/chunk-QK4QZUR5.mjs.map +7 -0
  43. package/dist/lib/neutral/components/index.mjs +539 -0
  44. package/dist/lib/neutral/components/index.mjs.map +7 -0
  45. package/dist/lib/neutral/containers/index.mjs +15 -0
  46. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  47. package/dist/lib/{browser/create-N2ZVTONJ.mjs → neutral/create-OAQJ6LXN.mjs} +11 -14
  48. package/dist/lib/neutral/create-OAQJ6LXN.mjs.map +7 -0
  49. package/dist/lib/neutral/create-channel-3E4FJ662.mjs +19 -0
  50. package/dist/lib/neutral/create-channel-3E4FJ662.mjs.map +7 -0
  51. package/dist/lib/neutral/create-object-HIEWSBZB.mjs +27 -0
  52. package/dist/lib/neutral/create-object-HIEWSBZB.mjs.map +7 -0
  53. package/dist/lib/{browser/create-proposals-VTOSWUOX.mjs → neutral/create-proposals-GRYZXRMV.mjs} +5 -6
  54. package/dist/lib/neutral/create-proposals-GRYZXRMV.mjs.map +7 -0
  55. package/dist/lib/{browser/delete-QZZE655Y.mjs → neutral/delete-HCCG5RVR.mjs} +8 -10
  56. package/dist/lib/neutral/delete-HCCG5RVR.mjs.map +7 -0
  57. package/dist/lib/{browser/delete-message-JTBPACDE.mjs → neutral/delete-message-DHFRACB4.mjs} +10 -20
  58. package/dist/lib/neutral/delete-message-DHFRACB4.mjs.map +7 -0
  59. package/dist/lib/neutral/hooks/index.mjs +10 -0
  60. package/dist/lib/neutral/index.mjs +28 -0
  61. package/dist/lib/neutral/index.mjs.map +7 -0
  62. package/dist/lib/neutral/markdown-BUORNCPG.mjs +83 -0
  63. package/dist/lib/neutral/markdown-BUORNCPG.mjs.map +7 -0
  64. package/dist/lib/neutral/meta.json +1 -0
  65. package/dist/lib/neutral/meta.mjs +10 -0
  66. package/dist/lib/neutral/meta.mjs.map +7 -0
  67. package/dist/lib/neutral/on-create-space-OEBRKOAM.mjs +23 -0
  68. package/dist/lib/neutral/on-create-space-OEBRKOAM.mjs.map +7 -0
  69. package/dist/lib/neutral/operation-handler-RU6K2S4L.mjs +13 -0
  70. package/dist/lib/neutral/operation-handler-RU6K2S4L.mjs.map +7 -0
  71. package/dist/lib/neutral/operations/index.mjs +8 -0
  72. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  73. package/dist/lib/neutral/plugin.mjs +16 -0
  74. package/dist/lib/neutral/plugin.mjs.map +7 -0
  75. package/dist/lib/neutral/react-surface-XY23GVZH.mjs +76 -0
  76. package/dist/lib/neutral/react-surface-XY23GVZH.mjs.map +7 -0
  77. package/dist/lib/{browser/restore-KKQHFLYO.mjs → neutral/restore-P4ZLXLF7.mjs} +6 -7
  78. package/dist/lib/neutral/restore-P4ZLXLF7.mjs.map +7 -0
  79. package/dist/lib/{browser/restore-message-YN4BJQIZ.mjs → neutral/restore-message-AUBOP2DF.mjs} +9 -18
  80. package/dist/lib/neutral/restore-message-AUBOP2DF.mjs.map +7 -0
  81. package/dist/lib/{browser/select-VBJ3MBLN.mjs → neutral/select-LIVAMBCE.mjs} +7 -9
  82. package/dist/lib/neutral/select-LIVAMBCE.mjs.map +7 -0
  83. package/dist/lib/neutral/settings-HK4EB6TF.mjs +30 -0
  84. package/dist/lib/neutral/settings-HK4EB6TF.mjs.map +7 -0
  85. package/dist/lib/neutral/state-UU7VEAKV.mjs +22 -0
  86. package/dist/lib/neutral/state-UU7VEAKV.mjs.map +7 -0
  87. package/dist/lib/neutral/testing/index.mjs +58 -0
  88. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  89. package/dist/lib/{browser/toggle-resolved-OX7UEZG5.mjs → neutral/toggle-resolved-RQBDQZSV.mjs} +12 -21
  90. package/dist/lib/neutral/toggle-resolved-RQBDQZSV.mjs.map +7 -0
  91. package/dist/lib/neutral/translations.mjs +90 -0
  92. package/dist/lib/neutral/translations.mjs.map +7 -0
  93. package/dist/lib/neutral/types/index.mjs +12 -0
  94. package/dist/lib/neutral/types/index.mjs.map +7 -0
  95. package/dist/lib/neutral/undo-mappings-HOKL2L3M.mjs +54 -0
  96. package/dist/lib/neutral/undo-mappings-HOKL2L3M.mjs.map +7 -0
  97. package/dist/types/src/ThreadPlugin.d.ts +1 -0
  98. package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
  99. package/dist/types/src/ThreadPlugin.node.d.ts +4 -0
  100. package/dist/types/src/ThreadPlugin.node.d.ts.map +1 -0
  101. package/dist/types/src/ThreadPlugin.test.d.ts +2 -0
  102. package/dist/types/src/ThreadPlugin.test.d.ts.map +1 -0
  103. package/dist/types/src/blueprints/thread-blueprint.d.ts +2 -2
  104. package/dist/types/src/blueprints/thread-blueprint.d.ts.map +1 -1
  105. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  106. package/dist/types/src/capabilities/blueprint-definition.d.ts +2 -2
  107. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  108. package/dist/types/src/capabilities/create-object.d.ts +11 -0
  109. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  110. package/dist/types/src/capabilities/index.d.ts +10 -9
  111. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  112. package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
  113. package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
  114. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -1
  115. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  116. package/dist/types/src/capabilities/settings.d.ts +2 -1
  117. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  118. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  119. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -1
  120. package/dist/types/src/components/Chat/Chat.d.ts +51 -0
  121. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -0
  122. package/dist/types/src/components/Chat/index.d.ts +2 -0
  123. package/dist/types/src/components/Chat/index.d.ts.map +1 -0
  124. package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts.map +1 -1
  125. package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts +70 -70
  126. package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts.map +1 -1
  127. package/dist/types/src/components/CommentsPanel/CommentsThread.d.ts.map +1 -1
  128. package/dist/types/src/components/MessagePanel/MessagePanel.d.ts.map +1 -1
  129. package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts.map +1 -1
  130. package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts +70 -70
  131. package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts.map +1 -1
  132. package/dist/types/src/components/index.d.ts +1 -1
  133. package/dist/types/src/containers/ChannelArticle/ChannelArticle.d.ts +13 -0
  134. package/dist/types/src/containers/ChannelArticle/ChannelArticle.d.ts.map +1 -0
  135. package/dist/types/src/containers/ChannelArticle/ChannelArticle.stories.d.ts +162 -0
  136. package/dist/types/src/containers/ChannelArticle/ChannelArticle.stories.d.ts.map +1 -0
  137. package/dist/types/src/containers/ChannelArticle/index.d.ts +2 -0
  138. package/dist/types/src/containers/{CallDebugPanel → ChannelArticle}/index.d.ts.map +1 -1
  139. package/dist/types/src/containers/ChannelChat/ChannelChat.d.ts +20 -0
  140. package/dist/types/src/containers/ChannelChat/ChannelChat.d.ts.map +1 -0
  141. package/dist/types/src/containers/ChannelChat/index.d.ts +4 -0
  142. package/dist/types/src/containers/ChannelChat/index.d.ts.map +1 -0
  143. package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts.map +1 -1
  144. package/dist/types/src/containers/ThreadContainer/ThreadContainer.d.ts +20 -0
  145. package/dist/types/src/containers/ThreadContainer/ThreadContainer.d.ts.map +1 -0
  146. package/dist/types/src/containers/{ChatContainer/ChatContainer.stories.d.ts → ThreadContainer/ThreadContainer.stories.d.ts} +71 -71
  147. package/dist/types/src/containers/ThreadContainer/ThreadContainer.stories.d.ts.map +1 -0
  148. package/dist/types/src/containers/ThreadContainer/index.d.ts +4 -0
  149. package/dist/types/src/containers/ThreadContainer/index.d.ts.map +1 -0
  150. package/dist/types/src/containers/index.d.ts +3 -4
  151. package/dist/types/src/containers/index.d.ts.map +1 -1
  152. package/dist/types/src/extensions/threads.d.ts +3 -3
  153. package/dist/types/src/extensions/threads.d.ts.map +1 -1
  154. package/dist/types/src/hooks/analytics.d.ts.map +1 -1
  155. package/dist/types/src/hooks/index.d.ts +0 -4
  156. package/dist/types/src/hooks/index.d.ts.map +1 -1
  157. package/dist/types/src/hooks/useStatus.d.ts.map +1 -1
  158. package/dist/types/src/index.d.ts +2 -3
  159. package/dist/types/src/index.d.ts.map +1 -1
  160. package/dist/types/src/meta.d.ts.map +1 -1
  161. package/dist/types/src/operations/add-message.d.ts +3 -3
  162. package/dist/types/src/operations/add-message.d.ts.map +1 -1
  163. package/dist/types/src/operations/append-channel-message.d.ts +5 -0
  164. package/dist/types/src/operations/append-channel-message.d.ts.map +1 -0
  165. package/dist/types/src/operations/create-channel.d.ts +3 -3
  166. package/dist/types/src/operations/create-channel.d.ts.map +1 -1
  167. package/dist/types/src/operations/create-proposals.d.ts +3 -3
  168. package/dist/types/src/operations/create-proposals.d.ts.map +1 -1
  169. package/dist/types/src/operations/create.d.ts +3 -3
  170. package/dist/types/src/operations/create.d.ts.map +1 -1
  171. package/dist/types/src/operations/delete-message.d.ts +3 -3
  172. package/dist/types/src/operations/delete-message.d.ts.map +1 -1
  173. package/dist/types/src/operations/delete.d.ts +3 -3
  174. package/dist/types/src/operations/delete.d.ts.map +1 -1
  175. package/dist/types/src/operations/index.d.ts +1 -2
  176. package/dist/types/src/operations/index.d.ts.map +1 -1
  177. package/dist/types/src/operations/on-create-space.d.ts +3 -3
  178. package/dist/types/src/operations/on-create-space.d.ts.map +1 -1
  179. package/dist/types/src/operations/restore-message.d.ts +3 -3
  180. package/dist/types/src/operations/restore-message.d.ts.map +1 -1
  181. package/dist/types/src/operations/restore.d.ts +3 -3
  182. package/dist/types/src/operations/restore.d.ts.map +1 -1
  183. package/dist/types/src/operations/select.d.ts +3 -3
  184. package/dist/types/src/operations/select.d.ts.map +1 -1
  185. package/dist/types/src/operations/toggle-resolved.d.ts +3 -3
  186. package/dist/types/src/operations/toggle-resolved.d.ts.map +1 -1
  187. package/dist/types/src/plugin.d.ts +4 -0
  188. package/dist/types/src/plugin.d.ts.map +1 -0
  189. package/dist/types/src/testing/data.d.ts.map +1 -1
  190. package/dist/types/src/testing/index.d.ts +1 -1
  191. package/dist/types/src/testing/index.d.ts.map +1 -1
  192. package/dist/types/src/translations.d.ts +70 -70
  193. package/dist/types/src/translations.d.ts.map +1 -1
  194. package/dist/types/src/types/Settings.d.ts +2 -1
  195. package/dist/types/src/types/Settings.d.ts.map +1 -1
  196. package/dist/types/src/types/ThreadCapabilities.d.ts +13 -0
  197. package/dist/types/src/types/ThreadCapabilities.d.ts.map +1 -0
  198. package/dist/types/src/{operations/definitions.d.ts → types/ThreadOperation.d.ts} +856 -1650
  199. package/dist/types/src/types/ThreadOperation.d.ts.map +1 -0
  200. package/dist/types/src/types/index.d.ts +3 -2
  201. package/dist/types/src/types/index.d.ts.map +1 -1
  202. package/dist/types/src/types/types.d.ts +1 -1
  203. package/dist/types/src/types/types.d.ts.map +1 -1
  204. package/dist/types/src/util.d.ts +6 -3
  205. package/dist/types/src/util.d.ts.map +1 -1
  206. package/dist/types/tsconfig.tsbuildinfo +1 -1
  207. package/package.json +126 -106
  208. package/src/ThreadPlugin.node.ts +39 -0
  209. package/src/ThreadPlugin.test.ts +37 -0
  210. package/src/ThreadPlugin.tsx +12 -65
  211. package/src/blueprints/thread-blueprint.ts +3 -4
  212. package/src/capabilities/app-graph-builder.ts +21 -71
  213. package/src/capabilities/blueprint-definition.ts +2 -0
  214. package/src/capabilities/create-object.ts +29 -0
  215. package/src/capabilities/index.ts +3 -3
  216. package/src/capabilities/markdown.ts +9 -5
  217. package/src/capabilities/operation-handler.ts +1 -1
  218. package/src/capabilities/react-surface.tsx +19 -34
  219. package/src/capabilities/settings.ts +1 -3
  220. package/src/capabilities/undo-mappings.ts +1 -1
  221. package/src/components/Chat/Chat.tsx +258 -0
  222. package/src/components/Chat/index.ts +5 -0
  223. package/src/components/CommentsPanel/CommentsPanel.stories.tsx +6 -4
  224. package/src/components/CommentsPanel/CommentsPanel.tsx +4 -4
  225. package/src/components/CommentsPanel/CommentsThread.tsx +2 -3
  226. package/src/components/MessagePanel/MessagePanel.tsx +10 -11
  227. package/src/components/ThreadSettings/ThreadSettings.stories.tsx +2 -1
  228. package/src/components/ThreadSettings/ThreadSettings.tsx +0 -1
  229. package/src/components/index.ts +1 -1
  230. package/src/containers/ChannelArticle/ChannelArticle.stories.tsx +105 -0
  231. package/src/containers/ChannelArticle/ChannelArticle.tsx +42 -0
  232. package/src/containers/ChannelArticle/index.ts +5 -0
  233. package/src/containers/ChannelChat/ChannelChat.tsx +75 -0
  234. package/src/containers/ChannelChat/index.ts +8 -0
  235. package/src/containers/ThreadCompanion/ThreadCompanion.tsx +10 -12
  236. package/src/containers/{ChatContainer/ChatContainer.stories.tsx → ThreadContainer/ThreadContainer.stories.tsx} +10 -11
  237. package/src/containers/ThreadContainer/ThreadContainer.tsx +75 -0
  238. package/src/containers/ThreadContainer/index.ts +8 -0
  239. package/src/containers/index.ts +3 -4
  240. package/src/extensions/command.ts +1 -1
  241. package/src/extensions/threads.ts +15 -15
  242. package/src/hooks/analytics.ts +1 -1
  243. package/src/hooks/index.ts +0 -5
  244. package/src/index.ts +4 -4
  245. package/src/meta.ts +1 -2
  246. package/src/operations/add-message.ts +9 -9
  247. package/src/operations/append-channel-message.ts +37 -0
  248. package/src/operations/create-channel.ts +4 -4
  249. package/src/operations/create-proposals.ts +3 -3
  250. package/src/operations/create.ts +7 -7
  251. package/src/operations/delete-message.ts +7 -7
  252. package/src/operations/delete.ts +4 -4
  253. package/src/operations/index.ts +2 -4
  254. package/src/operations/on-create-space.ts +4 -4
  255. package/src/operations/restore-message.ts +6 -6
  256. package/src/operations/restore.ts +4 -4
  257. package/src/operations/select.ts +3 -3
  258. package/src/operations/toggle-resolved.ts +9 -9
  259. package/src/plugin.ts +11 -0
  260. package/src/testing/index.ts +1 -1
  261. package/src/translations.ts +3 -3
  262. package/src/types/Settings.ts +1 -1
  263. package/src/types/ThreadCapabilities.ts +26 -0
  264. package/src/{operations/definitions.ts → types/ThreadOperation.ts} +14 -13
  265. package/src/types/index.ts +4 -2
  266. package/src/types/types.ts +0 -2
  267. package/src/util.ts +36 -4
  268. package/dist/lib/browser/add-message-MJDIN4K4.mjs.map +0 -7
  269. package/dist/lib/browser/blueprints/index.mjs.map +0 -7
  270. package/dist/lib/browser/chunk-2QNKWX4H.mjs.map +0 -7
  271. package/dist/lib/browser/chunk-7T7J6ZR6.mjs +0 -61
  272. package/dist/lib/browser/chunk-7T7J6ZR6.mjs.map +0 -7
  273. package/dist/lib/browser/create-N2ZVTONJ.mjs.map +0 -7
  274. package/dist/lib/browser/create-channel-Y4H3535D.mjs +0 -21
  275. package/dist/lib/browser/create-channel-Y4H3535D.mjs.map +0 -7
  276. package/dist/lib/browser/create-channel-thread-6N7TKEAW.mjs +0 -28
  277. package/dist/lib/browser/create-channel-thread-6N7TKEAW.mjs.map +0 -7
  278. package/dist/lib/browser/create-proposals-VTOSWUOX.mjs.map +0 -7
  279. package/dist/lib/browser/delete-QZZE655Y.mjs.map +0 -7
  280. package/dist/lib/browser/delete-message-JTBPACDE.mjs.map +0 -7
  281. package/dist/lib/browser/index.mjs +0 -2334
  282. package/dist/lib/browser/index.mjs.map +0 -7
  283. package/dist/lib/browser/meta.json +0 -1
  284. package/dist/lib/browser/on-create-space-2UGS234J.mjs +0 -25
  285. package/dist/lib/browser/on-create-space-2UGS234J.mjs.map +0 -7
  286. package/dist/lib/browser/operations/index.mjs +0 -14
  287. package/dist/lib/browser/operations/index.mjs.map +0 -7
  288. package/dist/lib/browser/restore-KKQHFLYO.mjs.map +0 -7
  289. package/dist/lib/browser/restore-message-YN4BJQIZ.mjs.map +0 -7
  290. package/dist/lib/browser/select-VBJ3MBLN.mjs.map +0 -7
  291. package/dist/lib/browser/toggle-resolved-OX7UEZG5.mjs.map +0 -7
  292. package/dist/lib/browser/types/index.mjs +0 -12
  293. package/dist/lib/node-esm/add-message-X6IRTANN.mjs +0 -98
  294. package/dist/lib/node-esm/add-message-X6IRTANN.mjs.map +0 -7
  295. package/dist/lib/node-esm/blueprints/index.mjs +0 -38
  296. package/dist/lib/node-esm/blueprints/index.mjs.map +0 -7
  297. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  298. package/dist/lib/node-esm/chunk-I6LAZYVU.mjs +0 -260
  299. package/dist/lib/node-esm/chunk-I6LAZYVU.mjs.map +0 -7
  300. package/dist/lib/node-esm/chunk-UGSMYQLZ.mjs +0 -62
  301. package/dist/lib/node-esm/chunk-UGSMYQLZ.mjs.map +0 -7
  302. package/dist/lib/node-esm/create-A6XQZR7M.mjs +0 -56
  303. package/dist/lib/node-esm/create-A6XQZR7M.mjs.map +0 -7
  304. package/dist/lib/node-esm/create-channel-KA5T23ZS.mjs +0 -22
  305. package/dist/lib/node-esm/create-channel-KA5T23ZS.mjs.map +0 -7
  306. package/dist/lib/node-esm/create-channel-thread-44PXAPGM.mjs +0 -29
  307. package/dist/lib/node-esm/create-channel-thread-44PXAPGM.mjs.map +0 -7
  308. package/dist/lib/node-esm/create-proposals-HDBVDNUX.mjs +0 -58
  309. package/dist/lib/node-esm/create-proposals-HDBVDNUX.mjs.map +0 -7
  310. package/dist/lib/node-esm/delete-3RAWD5GG.mjs +0 -60
  311. package/dist/lib/node-esm/delete-3RAWD5GG.mjs.map +0 -7
  312. package/dist/lib/node-esm/delete-message-QQHNJBHY.mjs +0 -65
  313. package/dist/lib/node-esm/delete-message-QQHNJBHY.mjs.map +0 -7
  314. package/dist/lib/node-esm/index.mjs +0 -2335
  315. package/dist/lib/node-esm/index.mjs.map +0 -7
  316. package/dist/lib/node-esm/meta.json +0 -1
  317. package/dist/lib/node-esm/on-create-space-ZURB6UKR.mjs +0 -26
  318. package/dist/lib/node-esm/on-create-space-ZURB6UKR.mjs.map +0 -7
  319. package/dist/lib/node-esm/operations/index.mjs +0 -15
  320. package/dist/lib/node-esm/operations/index.mjs.map +0 -7
  321. package/dist/lib/node-esm/restore-PDYEKDE3.mjs +0 -34
  322. package/dist/lib/node-esm/restore-PDYEKDE3.mjs.map +0 -7
  323. package/dist/lib/node-esm/restore-message-OB32YYKF.mjs +0 -43
  324. package/dist/lib/node-esm/restore-message-OB32YYKF.mjs.map +0 -7
  325. package/dist/lib/node-esm/select-6KETLVWY.mjs +0 -27
  326. package/dist/lib/node-esm/select-6KETLVWY.mjs.map +0 -7
  327. package/dist/lib/node-esm/toggle-resolved-V74EBRQZ.mjs +0 -46
  328. package/dist/lib/node-esm/toggle-resolved-V74EBRQZ.mjs.map +0 -7
  329. package/dist/lib/node-esm/types/index.mjs +0 -13
  330. package/dist/types/src/calls/call-manager.d.ts +0 -87
  331. package/dist/types/src/calls/call-manager.d.ts.map +0 -1
  332. package/dist/types/src/calls/call-swarm-synchronizer.d.ts +0 -66
  333. package/dist/types/src/calls/call-swarm-synchronizer.d.ts.map +0 -1
  334. package/dist/types/src/calls/index.d.ts +0 -7
  335. package/dist/types/src/calls/index.d.ts.map +0 -1
  336. package/dist/types/src/calls/media-manager.d.ts +0 -60
  337. package/dist/types/src/calls/media-manager.d.ts.map +0 -1
  338. package/dist/types/src/calls/speaking-monitor.d.ts +0 -24
  339. package/dist/types/src/calls/speaking-monitor.d.ts.map +0 -1
  340. package/dist/types/src/calls/types.d.ts +0 -45
  341. package/dist/types/src/calls/types.d.ts.map +0 -1
  342. package/dist/types/src/calls/util/audio.d.ts +0 -6
  343. package/dist/types/src/calls/util/audio.d.ts.map +0 -1
  344. package/dist/types/src/calls/util/calls-service.d.ts +0 -77
  345. package/dist/types/src/calls/util/calls-service.d.ts.map +0 -1
  346. package/dist/types/src/calls/util/history-cache.d.ts +0 -11
  347. package/dist/types/src/calls/util/history-cache.d.ts.map +0 -1
  348. package/dist/types/src/calls/util/index.d.ts +0 -5
  349. package/dist/types/src/calls/util/index.d.ts.map +0 -1
  350. package/dist/types/src/calls/util/media.d.ts +0 -6
  351. package/dist/types/src/calls/util/media.d.ts.map +0 -1
  352. package/dist/types/src/calls/util/stub-media-streams.d.ts +0 -18
  353. package/dist/types/src/calls/util/stub-media-streams.d.ts.map +0 -1
  354. package/dist/types/src/calls/util/task-scheduling.d.ts +0 -17
  355. package/dist/types/src/calls/util/task-scheduling.d.ts.map +0 -1
  356. package/dist/types/src/calls-service.stories.d.ts +0 -23
  357. package/dist/types/src/calls-service.stories.d.ts.map +0 -1
  358. package/dist/types/src/capabilities/call-manager.d.ts +0 -6
  359. package/dist/types/src/capabilities/call-manager.d.ts.map +0 -1
  360. package/dist/types/src/capabilities/react-root.d.ts +0 -9
  361. package/dist/types/src/capabilities/react-root.d.ts.map +0 -1
  362. package/dist/types/src/components/Call/Call.d.ts +0 -17
  363. package/dist/types/src/components/Call/Call.d.ts.map +0 -1
  364. package/dist/types/src/components/Call/Toolbar.d.ts +0 -16
  365. package/dist/types/src/components/Call/Toolbar.d.ts.map +0 -1
  366. package/dist/types/src/components/Call/index.d.ts +0 -3
  367. package/dist/types/src/components/Call/index.d.ts.map +0 -1
  368. package/dist/types/src/components/Lobby/Lobby.d.ts +0 -15
  369. package/dist/types/src/components/Lobby/Lobby.d.ts.map +0 -1
  370. package/dist/types/src/components/Lobby/index.d.ts +0 -2
  371. package/dist/types/src/components/Lobby/index.d.ts.map +0 -1
  372. package/dist/types/src/components/Media/AudioStream.d.ts +0 -6
  373. package/dist/types/src/components/Media/AudioStream.d.ts.map +0 -1
  374. package/dist/types/src/components/Media/VideoObject.d.ts +0 -15
  375. package/dist/types/src/components/Media/VideoObject.d.ts.map +0 -1
  376. package/dist/types/src/components/Media/VideoObject.stories.d.ts +0 -22
  377. package/dist/types/src/components/Media/VideoObject.stories.d.ts.map +0 -1
  378. package/dist/types/src/components/Media/index.d.ts +0 -3
  379. package/dist/types/src/components/Media/index.d.ts.map +0 -1
  380. package/dist/types/src/components/Participant/Participant.d.ts +0 -6
  381. package/dist/types/src/components/Participant/Participant.d.ts.map +0 -1
  382. package/dist/types/src/components/Participant/ParticipantGrid.d.ts +0 -11
  383. package/dist/types/src/components/Participant/ParticipantGrid.d.ts.map +0 -1
  384. package/dist/types/src/components/Participant/index.d.ts +0 -3
  385. package/dist/types/src/components/Participant/index.d.ts.map +0 -1
  386. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.d.ts +0 -32
  387. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.d.ts.map +0 -1
  388. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +0 -178
  389. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +0 -1
  390. package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts +0 -21
  391. package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts.map +0 -1
  392. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.d.ts +0 -12
  393. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.d.ts.map +0 -1
  394. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.stories.d.ts +0 -164
  395. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.stories.d.ts.map +0 -1
  396. package/dist/types/src/components/ResponsiveGrid/index.d.ts +0 -4
  397. package/dist/types/src/components/ResponsiveGrid/index.d.ts.map +0 -1
  398. package/dist/types/src/containers/CallDebugPanel/CallDebugPanel.d.ts +0 -15
  399. package/dist/types/src/containers/CallDebugPanel/CallDebugPanel.d.ts.map +0 -1
  400. package/dist/types/src/containers/CallDebugPanel/index.d.ts +0 -2
  401. package/dist/types/src/containers/CallSidebar/CallSidebar.d.ts +0 -3
  402. package/dist/types/src/containers/CallSidebar/CallSidebar.d.ts.map +0 -1
  403. package/dist/types/src/containers/CallSidebar/index.d.ts +0 -2
  404. package/dist/types/src/containers/CallSidebar/index.d.ts.map +0 -1
  405. package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts +0 -12
  406. package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts.map +0 -1
  407. package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts +0 -162
  408. package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts.map +0 -1
  409. package/dist/types/src/containers/ChannelContainer/index.d.ts +0 -2
  410. package/dist/types/src/containers/ChannelContainer/index.d.ts.map +0 -1
  411. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts +0 -20
  412. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts.map +0 -1
  413. package/dist/types/src/containers/ChatContainer/ChatContainer.stories.d.ts.map +0 -1
  414. package/dist/types/src/containers/ChatContainer/index.d.ts +0 -4
  415. package/dist/types/src/containers/ChatContainer/index.d.ts.map +0 -1
  416. package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts +0 -2
  417. package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts.map +0 -1
  418. package/dist/types/src/hooks/useDebugMode.d.ts +0 -2
  419. package/dist/types/src/hooks/useDebugMode.d.ts.map +0 -1
  420. package/dist/types/src/hooks/useInaudibleAudioStreamTrack.d.ts +0 -2
  421. package/dist/types/src/hooks/useInaudibleAudioStreamTrack.d.ts.map +0 -1
  422. package/dist/types/src/hooks/useVideoStreamTrack.d.ts +0 -3
  423. package/dist/types/src/hooks/useVideoStreamTrack.d.ts.map +0 -1
  424. package/dist/types/src/operations/create-channel-thread.d.ts +0 -5
  425. package/dist/types/src/operations/create-channel-thread.d.ts.map +0 -1
  426. package/dist/types/src/operations/definitions.d.ts.map +0 -1
  427. package/dist/types/src/testing/stories.d.ts +0 -3
  428. package/dist/types/src/testing/stories.d.ts.map +0 -1
  429. package/dist/types/src/types/Channel.d.ts +0 -711
  430. package/dist/types/src/types/Channel.d.ts.map +0 -1
  431. package/dist/types/src/types/capabilities.d.ts +0 -23
  432. package/dist/types/src/types/capabilities.d.ts.map +0 -1
  433. package/src/calls/call-manager.ts +0 -270
  434. package/src/calls/call-swarm-synchronizer.ts +0 -350
  435. package/src/calls/index.ts +0 -10
  436. package/src/calls/media-manager.ts +0 -378
  437. package/src/calls/speaking-monitor.ts +0 -85
  438. package/src/calls/types.ts +0 -74
  439. package/src/calls/util/audio.ts +0 -58
  440. package/src/calls/util/calls-service.ts +0 -580
  441. package/src/calls/util/history-cache.ts +0 -27
  442. package/src/calls/util/index.ts +0 -8
  443. package/src/calls/util/media.ts +0 -52
  444. package/src/calls/util/stub-media-streams.ts +0 -127
  445. package/src/calls/util/task-scheduling.ts +0 -92
  446. package/src/calls-service.stories.tsx +0 -230
  447. package/src/capabilities/call-manager.ts +0 -27
  448. package/src/capabilities/react-root.tsx +0 -20
  449. package/src/components/Call/Call.tsx +0 -93
  450. package/src/components/Call/Toolbar.tsx +0 -199
  451. package/src/components/Call/index.ts +0 -6
  452. package/src/components/Lobby/Lobby.tsx +0 -122
  453. package/src/components/Lobby/index.ts +0 -5
  454. package/src/components/Media/AudioStream.tsx +0 -67
  455. package/src/components/Media/VideoObject.stories.tsx +0 -59
  456. package/src/components/Media/VideoObject.tsx +0 -58
  457. package/src/components/Media/index.ts +0 -6
  458. package/src/components/Participant/Participant.tsx +0 -77
  459. package/src/components/Participant/ParticipantGrid.tsx +0 -88
  460. package/src/components/Participant/index.ts +0 -6
  461. package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +0 -157
  462. package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +0 -341
  463. package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +0 -134
  464. package/src/components/ResponsiveGrid/ResponsivePanel.stories.tsx +0 -53
  465. package/src/components/ResponsiveGrid/ResponsivePanel.tsx +0 -31
  466. package/src/components/ResponsiveGrid/index.ts +0 -7
  467. package/src/containers/CallDebugPanel/CallDebugPanel.tsx +0 -173
  468. package/src/containers/CallDebugPanel/index.ts +0 -5
  469. package/src/containers/CallSidebar/CallSidebar.tsx +0 -18
  470. package/src/containers/CallSidebar/index.ts +0 -5
  471. package/src/containers/ChannelContainer/ChannelContainer.stories.tsx +0 -61
  472. package/src/containers/ChannelContainer/ChannelContainer.tsx +0 -223
  473. package/src/containers/ChannelContainer/index.ts +0 -5
  474. package/src/containers/ChatContainer/ChatContainer.tsx +0 -131
  475. package/src/containers/ChatContainer/index.ts +0 -8
  476. package/src/hooks/useBlackCanvasStreamTrack.tsx +0 -27
  477. package/src/hooks/useDebugMode.ts +0 -25
  478. package/src/hooks/useInaudibleAudioStreamTrack.tsx +0 -27
  479. package/src/hooks/useVideoStreamTrack.tsx +0 -36
  480. package/src/operations/create-channel-thread.ts +0 -26
  481. package/src/testing/stories.ts +0 -51
  482. package/src/types/Channel.ts +0 -37
  483. package/src/types/capabilities.ts +0 -36
  484. package/src/typings/peermetrics-webrtc-stats.d.ts +0 -46
  485. package/src/typings.d.ts +0 -8
  486. /package/dist/lib/{browser/chunk-J5LGTIGS.mjs.map → neutral/ChannelChat-6YTD5HWL.mjs.map} +0 -0
  487. /package/dist/lib/{browser/types → neutral/blueprints}/index.mjs.map +0 -0
  488. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
  489. /package/dist/lib/{node-esm/chunk-HSLMI22Q.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  490. /package/dist/lib/{node-esm/types → neutral/hooks}/index.mjs.map +0 -0
@@ -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.getDXN(doc).toString();
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.getDXN(Relation.getSource(anchor)).toString(),
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.getDXN(draft).toString() === 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.getDXN(d).toString() === 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-foreground font-medium")
153
+ }
154
+ ]);
155
+ var command = [
156
+ parser,
157
+ syntaxHighlighting(styles)
158
+ ];
159
+
160
+ export {
161
+ command,
162
+ threads
163
+ };
164
+ //# sourceMappingURL=chunk-KRXHIW4P.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.getDXN(doc).toString();\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.getDXN(Relation.getSource(anchor)).toString(),\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.getDXN(draft).toString() === 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.getDXN(d).toString() === 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-foreground 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", "getDXN", "toString", "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
+ }
@@ -1,17 +1,38 @@
1
- import {
2
- Channel_exports
3
- } from "./chunk-7T7J6ZR6.mjs";
4
1
  import {
5
2
  __export
6
3
  } from "./chunk-J5LGTIGS.mjs";
7
4
 
8
- // src/operations/definitions.ts
9
- var definitions_exports = {};
10
- __export(definitions_exports, {
5
+ // src/types/Settings.ts
6
+ var Settings_exports = {};
7
+ __export(Settings_exports, {
8
+ Settings: () => Settings
9
+ });
10
+ import * as Schema from "effect/Schema";
11
+ var Settings = Schema.mutable(Schema.Struct({}));
12
+
13
+ // src/types/ThreadCapabilities.ts
14
+ var ThreadCapabilities_exports = {};
15
+ __export(ThreadCapabilities_exports, {
16
+ CommentConfig: () => CommentConfig,
17
+ Settings: () => Settings2,
18
+ State: () => State,
19
+ ViewState: () => ViewState
20
+ });
21
+ import { Capability } from "@dxos/app-framework";
22
+ import { AppCapabilities } from "@dxos/app-toolkit";
23
+ import { meta } from "#meta";
24
+ var Settings2 = Capability.make(`${meta.id}.capability.settings`);
25
+ var CommentConfig = AppCapabilities.CommentConfig;
26
+ var State = Capability.make(`${meta.id}.capability.state`);
27
+ var ViewState = Capability.make(`${meta.id}.capability.view-state`);
28
+
29
+ // src/types/ThreadOperation.ts
30
+ var ThreadOperation_exports = {};
31
+ __export(ThreadOperation_exports, {
11
32
  AddMessage: () => AddMessage,
33
+ AppendChannelMessage: () => AppendChannelMessage,
12
34
  Create: () => Create,
13
35
  CreateChannel: () => CreateChannel,
14
- CreateChannelThread: () => CreateChannelThread,
15
36
  CreateProposals: () => CreateProposals,
16
37
  Delete: () => Delete,
17
38
  DeleteMessage: () => DeleteMessage,
@@ -23,30 +44,29 @@ __export(definitions_exports, {
23
44
  Select: () => Select,
24
45
  ToggleResolved: () => ToggleResolved
25
46
  });
26
- import * as Schema from "effect/Schema";
27
- import { Capability } from "@dxos/app-framework";
28
- import { Database, Key, Obj, Ref } from "@dxos/echo";
29
- import { Collection } from "@dxos/echo";
30
- import { Operation } from "@dxos/operation";
31
- import { Markdown } from "@dxos/plugin-markdown/types";
32
- import { SpaceSchema } from "@dxos/react-client/echo";
33
- import { Actor, AnchoredTo, Message, Thread } from "@dxos/types";
34
- import { meta } from "#meta";
35
- var THREAD_OPERATION = `${meta.id}.operation`;
47
+ import * as Schema2 from "effect/Schema";
48
+ import { Capability as Capability2 } from "@dxos/app-framework";
49
+ import { SpaceSchema } from "@dxos/client-protocol";
50
+ import { Operation } from "@dxos/compute";
51
+ import { Collection, Database, Key, Obj, Ref } from "@dxos/echo";
52
+ import { Markdown } from "@dxos/plugin-markdown";
53
+ import { Actor, AnchoredTo, Channel, Message, Thread } from "@dxos/types";
54
+ import { meta as meta2 } from "#meta";
55
+ var THREAD_OPERATION = `${meta2.id}.operation`;
36
56
  var OnCreateSpace = Operation.make({
37
57
  meta: {
38
58
  key: `${THREAD_OPERATION}.on-create-space`,
39
59
  name: "On Create Space"
40
60
  },
41
61
  services: [
42
- Capability.Service
62
+ Capability2.Service
43
63
  ],
44
- input: Schema.Struct({
64
+ input: Schema2.Struct({
45
65
  space: SpaceSchema,
46
66
  rootCollection: Collection.Collection,
47
- isDefault: Schema.Boolean.pipe(Schema.optional)
67
+ isDefault: Schema2.Boolean.pipe(Schema2.optional)
48
68
  }),
49
- output: Schema.Void
69
+ output: Schema2.Void
50
70
  });
51
71
  var CreateChannel = Operation.make({
52
72
  meta: {
@@ -54,30 +74,32 @@ var CreateChannel = Operation.make({
54
74
  name: "Create Channel"
55
75
  },
56
76
  services: [
57
- Capability.Service
77
+ Capability2.Service
58
78
  ],
59
- input: Schema.Struct({
79
+ input: Schema2.Struct({
60
80
  spaceId: Key.SpaceId,
61
- name: Schema.optional(Schema.String)
81
+ name: Schema2.optional(Schema2.String)
62
82
  }),
63
- output: Schema.Struct({
64
- object: Channel_exports.Channel
83
+ output: Schema2.Struct({
84
+ object: Channel.Channel
65
85
  })
66
86
  });
67
- var CreateChannelThread = Operation.make({
87
+ var AppendChannelMessage = Operation.make({
68
88
  meta: {
69
- key: `${THREAD_OPERATION}.create-channel-thread`,
70
- name: "Create Channel Thread"
89
+ key: `${THREAD_OPERATION}.append-channel-message`,
90
+ name: "Append Channel Message"
71
91
  },
92
+ // Note: Feed.FeedService is provided inside the handler from space.queues, not at the
93
+ // operation level — the runtime can't fulfill it without a space context.
72
94
  services: [
73
- Capability.Service
95
+ Capability2.Service
74
96
  ],
75
- input: Schema.Struct({
76
- channel: Channel_exports.Channel
97
+ input: Schema2.Struct({
98
+ channel: Channel.Channel,
99
+ sender: Actor.Actor,
100
+ text: Schema2.String
77
101
  }),
78
- output: Schema.Struct({
79
- object: Thread.Thread
80
- })
102
+ output: Schema2.Void
81
103
  });
82
104
  var Create = Operation.make({
83
105
  meta: {
@@ -85,35 +107,35 @@ var Create = Operation.make({
85
107
  name: "Create Thread"
86
108
  },
87
109
  services: [
88
- Capability.Service
110
+ Capability2.Service
89
111
  ],
90
- input: Schema.Struct({
91
- name: Schema.optional(Schema.String),
92
- anchor: Schema.optional(Schema.String),
112
+ input: Schema2.Struct({
113
+ name: Schema2.optional(Schema2.String),
114
+ anchor: Schema2.optional(Schema2.String),
93
115
  subject: Obj.Unknown
94
116
  }),
95
- output: Schema.Void
117
+ output: Schema2.Void
96
118
  });
97
- var DeleteOutput = Schema.Struct({
119
+ var DeleteOutput = Schema2.Struct({
98
120
  thread: Thread.Thread.annotations({
99
121
  description: "The deleted thread."
100
122
  }),
101
123
  anchor: AnchoredTo.AnchoredTo.annotations({
102
124
  description: "The deleted anchor."
103
125
  })
104
- }).pipe(Schema.partial);
126
+ }).pipe(Schema2.partial);
105
127
  var Delete = Operation.make({
106
128
  meta: {
107
129
  key: `${THREAD_OPERATION}.delete`,
108
130
  name: "Delete Thread"
109
131
  },
110
132
  services: [
111
- Capability.Service
133
+ Capability2.Service
112
134
  ],
113
- input: Schema.Struct({
135
+ input: Schema2.Struct({
114
136
  anchor: AnchoredTo.AnchoredTo,
115
137
  subject: Obj.Unknown,
116
- thread: Schema.optional(Thread.Thread)
138
+ thread: Schema2.optional(Thread.Thread)
117
139
  }),
118
140
  output: DeleteOutput
119
141
  });
@@ -123,12 +145,12 @@ var Select = Operation.make({
123
145
  name: "Select Thread"
124
146
  },
125
147
  services: [
126
- Capability.Service
148
+ Capability2.Service
127
149
  ],
128
- input: Schema.Struct({
129
- current: Schema.String
150
+ input: Schema2.Struct({
151
+ current: Schema2.String
130
152
  }),
131
- output: Schema.Void
153
+ output: Schema2.Void
132
154
  });
133
155
  var ToggleResolved = Operation.make({
134
156
  meta: {
@@ -136,12 +158,12 @@ var ToggleResolved = Operation.make({
136
158
  name: "Toggle Resolved"
137
159
  },
138
160
  services: [
139
- Capability.Service
161
+ Capability2.Service
140
162
  ],
141
- input: Schema.Struct({
163
+ input: Schema2.Struct({
142
164
  thread: Thread.Thread
143
165
  }),
144
- output: Schema.Void
166
+ output: Schema2.Void
145
167
  });
146
168
  var AddMessage = Operation.make({
147
169
  meta: {
@@ -149,21 +171,21 @@ var AddMessage = Operation.make({
149
171
  name: "Add Message"
150
172
  },
151
173
  services: [
152
- Capability.Service
174
+ Capability2.Service
153
175
  ],
154
- input: Schema.Struct({
176
+ input: Schema2.Struct({
155
177
  subject: Obj.Unknown,
156
178
  anchor: AnchoredTo.AnchoredTo,
157
179
  sender: Actor.Actor,
158
- text: Schema.String
180
+ text: Schema2.String
159
181
  }),
160
- output: Schema.Void
182
+ output: Schema2.Void
161
183
  });
162
- var DeleteMessageOutput = Schema.partial(Schema.Struct({
184
+ var DeleteMessageOutput = Schema2.partial(Schema2.Struct({
163
185
  message: Message.Message.annotations({
164
186
  description: "The deleted message."
165
187
  }),
166
- messageIndex: Schema.Number.annotations({
188
+ messageIndex: Schema2.Number.annotations({
167
189
  description: "The index the message was at."
168
190
  })
169
191
  }));
@@ -173,12 +195,12 @@ var DeleteMessage = Operation.make({
173
195
  name: "Delete Message"
174
196
  },
175
197
  services: [
176
- Capability.Service
198
+ Capability2.Service
177
199
  ],
178
- input: Schema.Struct({
200
+ input: Schema2.Struct({
179
201
  anchor: AnchoredTo.AnchoredTo,
180
202
  subject: Obj.Unknown,
181
- messageId: Schema.String
203
+ messageId: Schema2.String
182
204
  }),
183
205
  output: DeleteMessageOutput
184
206
  });
@@ -188,9 +210,9 @@ var Restore = Operation.make({
188
210
  name: "Restore Thread"
189
211
  },
190
212
  services: [
191
- Capability.Service
213
+ Capability2.Service
192
214
  ],
193
- input: Schema.Struct({
215
+ input: Schema2.Struct({
194
216
  thread: Thread.Thread.annotations({
195
217
  description: "The thread to restore."
196
218
  }),
@@ -198,7 +220,7 @@ var Restore = Operation.make({
198
220
  description: "The anchor relation to restore."
199
221
  })
200
222
  }),
201
- output: Schema.Void
223
+ output: Schema2.Void
202
224
  });
203
225
  var RestoreMessage = Operation.make({
204
226
  meta: {
@@ -206,20 +228,20 @@ var RestoreMessage = Operation.make({
206
228
  name: "Restore Message"
207
229
  },
208
230
  services: [
209
- Capability.Service
231
+ Capability2.Service
210
232
  ],
211
- input: Schema.Struct({
233
+ input: Schema2.Struct({
212
234
  anchor: AnchoredTo.AnchoredTo.annotations({
213
235
  description: "The anchor of the thread."
214
236
  }),
215
237
  message: Message.Message.annotations({
216
238
  description: "The message to restore."
217
239
  }),
218
- messageIndex: Schema.Number.annotations({
240
+ messageIndex: Schema2.Number.annotations({
219
241
  description: "The index to restore the message at."
220
242
  })
221
243
  }),
222
- output: Schema.Void
244
+ output: Schema2.Void
223
245
  });
224
246
  var CreateProposals = Operation.make({
225
247
  meta: {
@@ -227,33 +249,23 @@ var CreateProposals = Operation.make({
227
249
  name: "Create Proposals",
228
250
  description: "Proposes a set of changes to a document."
229
251
  },
230
- input: Schema.Struct({
252
+ input: Schema2.Struct({
231
253
  doc: Ref.Ref(Markdown.Document).annotations({
232
254
  description: "The ID of the document."
233
255
  }),
234
- diffs: Schema.Array(Schema.String).annotations({
256
+ diffs: Schema2.Array(Schema2.String).annotations({
235
257
  description: "The diffs to propose for the document."
236
258
  })
237
259
  }),
238
- output: Schema.Void,
260
+ output: Schema2.Void,
239
261
  services: [
240
262
  Database.Service
241
263
  ]
242
264
  });
243
265
 
244
266
  export {
245
- OnCreateSpace,
246
- CreateChannel,
247
- CreateChannelThread,
248
- Create,
249
- Delete,
250
- Select,
251
- ToggleResolved,
252
- AddMessage,
253
- DeleteMessage,
254
- Restore,
255
- RestoreMessage,
256
- CreateProposals,
257
- definitions_exports
267
+ Settings_exports,
268
+ ThreadCapabilities_exports,
269
+ ThreadOperation_exports
258
270
  };
259
- //# sourceMappingURL=chunk-2QNKWX4H.mjs.map
271
+ //# sourceMappingURL=chunk-PE7IH7EL.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/Settings.ts", "../../../src/types/ThreadCapabilities.ts", "../../../src/types/ThreadOperation.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nexport const Settings = Schema.mutable(Schema.Struct({}));\nexport interface Settings extends Schema.Schema.Type<typeof Settings> {}\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport { type Atom } from '@effect-atom/atom-react';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\n\nimport { meta } from '#meta';\n\nimport { type ThreadState, type ViewStore } from '../types';\n\nexport const Settings = Capability.make<Atom.Writable<import('./Settings').Settings>>(`${meta.id}.capability.settings`);\n\n/** Comment configuration contributed per typename by plugins that support commenting. */\nexport type CommentConfig = AppCapabilities.CommentConfig;\nexport const CommentConfig: Capability.InterfaceDef<AppCapabilities.CommentConfig> = AppCapabilities.CommentConfig;\n\n/** Thread state (drafts, toolbar state, current selection). */\nexport const State = Capability.make<Atom.Writable<ThreadState>>(`${meta.id}.capability.state`);\n\n/** Per-subject view state (e.g., showResolvedThreads). */\nexport const ViewState = Capability.make<Atom.Writable<ViewStore>>(`${meta.id}.capability.view-state`);\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { SpaceSchema } from '@dxos/client-protocol';\nimport { Operation } from '@dxos/compute';\nimport { Collection, Database, Key, Obj, Ref } from '@dxos/echo';\nimport { Markdown } from '@dxos/plugin-markdown';\nimport { Actor, AnchoredTo, Channel, Message, Thread } from '@dxos/types';\n\nimport { meta } from '#meta';\n\nconst THREAD_OPERATION = `${meta.id}.operation`;\n\nexport const OnCreateSpace = Operation.make({\n meta: { key: `${THREAD_OPERATION}.on-create-space`, name: 'On Create Space' },\n services: [Capability.Service],\n input: Schema.Struct({\n space: SpaceSchema,\n rootCollection: Collection.Collection,\n isDefault: Schema.Boolean.pipe(Schema.optional),\n }),\n output: Schema.Void,\n});\n\nexport const CreateChannel = Operation.make({\n meta: { key: `${THREAD_OPERATION}.create-channel`, name: 'Create Channel' },\n services: [Capability.Service],\n input: Schema.Struct({\n spaceId: Key.SpaceId,\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: Channel.Channel,\n }),\n});\n\nexport const AppendChannelMessage = Operation.make({\n meta: { key: `${THREAD_OPERATION}.append-channel-message`, name: 'Append Channel Message' },\n // Note: Feed.FeedService is provided inside the handler from space.queues, not at the\n // operation level — the runtime can't fulfill it without a space context.\n services: [Capability.Service],\n input: Schema.Struct({\n channel: Channel.Channel,\n sender: Actor.Actor,\n text: Schema.String,\n }),\n output: Schema.Void,\n});\n\nexport const Create = Operation.make({\n meta: { key: `${THREAD_OPERATION}.create`, name: 'Create Thread' },\n services: [Capability.Service],\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n anchor: Schema.optional(Schema.String),\n subject: Obj.Unknown,\n }),\n output: Schema.Void,\n});\n\nexport const DeleteOutput = Schema.Struct({\n thread: Thread.Thread.annotations({ description: 'The deleted thread.' }),\n anchor: AnchoredTo.AnchoredTo.annotations({ description: 'The deleted anchor.' }),\n}).pipe(Schema.partial);\n\nexport type DeleteOutput = Schema.Schema.Type<typeof DeleteOutput>;\n\nexport const Delete = Operation.make({\n meta: { key: `${THREAD_OPERATION}.delete`, name: 'Delete Thread' },\n services: [Capability.Service],\n input: Schema.Struct({\n anchor: AnchoredTo.AnchoredTo,\n subject: Obj.Unknown,\n thread: Schema.optional(Thread.Thread),\n }),\n output: DeleteOutput,\n});\n\nexport const Select = Operation.make({\n meta: { key: `${THREAD_OPERATION}.select`, name: 'Select Thread' },\n services: [Capability.Service],\n input: Schema.Struct({\n current: Schema.String,\n }),\n output: Schema.Void,\n});\n\nexport const ToggleResolved = Operation.make({\n meta: { key: `${THREAD_OPERATION}.toggle-resolved`, name: 'Toggle Resolved' },\n services: [Capability.Service],\n input: Schema.Struct({\n thread: Thread.Thread,\n }),\n output: Schema.Void,\n});\n\nexport const AddMessage = Operation.make({\n meta: { key: `${THREAD_OPERATION}.add-message`, name: 'Add Message' },\n services: [Capability.Service],\n input: Schema.Struct({\n subject: Obj.Unknown,\n anchor: AnchoredTo.AnchoredTo,\n sender: Actor.Actor,\n text: Schema.String,\n }),\n output: Schema.Void,\n});\n\nexport const DeleteMessageOutput = Schema.partial(\n Schema.Struct({\n message: Message.Message.annotations({ description: 'The deleted message.' }),\n messageIndex: Schema.Number.annotations({ description: 'The index the message was at.' }),\n }),\n);\n\nexport type DeleteMessageOutput = Schema.Schema.Type<typeof DeleteMessageOutput>;\n\nexport const DeleteMessage = Operation.make({\n meta: { key: `${THREAD_OPERATION}.delete-message`, name: 'Delete Message' },\n services: [Capability.Service],\n input: Schema.Struct({\n anchor: AnchoredTo.AnchoredTo,\n subject: Obj.Unknown,\n messageId: Schema.String,\n }),\n output: DeleteMessageOutput,\n});\n\n/**\n * Restore a deleted thread (inverse of Delete).\n */\nexport const Restore = Operation.make({\n meta: { key: `${THREAD_OPERATION}.restore`, name: 'Restore Thread' },\n services: [Capability.Service],\n input: Schema.Struct({\n thread: Thread.Thread.annotations({ description: 'The thread to restore.' }),\n anchor: AnchoredTo.AnchoredTo.annotations({ description: 'The anchor relation to restore.' }),\n }),\n output: Schema.Void,\n});\n\n/**\n * Restore a deleted message (inverse of DeleteMessage).\n */\nexport const RestoreMessage = Operation.make({\n meta: { key: `${THREAD_OPERATION}.restore-message`, name: 'Restore Message' },\n services: [Capability.Service],\n input: Schema.Struct({\n anchor: AnchoredTo.AnchoredTo.annotations({ description: 'The anchor of the thread.' }),\n message: Message.Message.annotations({ description: 'The message to restore.' }),\n messageIndex: Schema.Number.annotations({ description: 'The index to restore the message at.' }),\n }),\n output: Schema.Void,\n});\n\nexport const CreateProposals = Operation.make({\n meta: {\n key: 'org.dxos.function.thread.create-proposals',\n name: 'Create Proposals',\n description: 'Proposes a set of changes to a document.',\n },\n input: Schema.Struct({\n doc: Ref.Ref(Markdown.Document).annotations({\n description: 'The ID of the document.',\n }),\n diffs: Schema.Array(Schema.String).annotations({\n description: 'The diffs to propose for the document.',\n }),\n }),\n output: Schema.Void,\n services: [Database.Service],\n});\n"],
5
+ "mappings": ";;;;;AAAA;;;;AAMA,YAAYA,YAAY;AAEjB,IAAMC,WAAkBC,eAAeC,cAAO,CAAC,CAAA,CAAA;;;ACRtD;;;kBAAAC;EAAA;;;AAQA,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAEhC,SAASC,YAAY;AAId,IAAMH,YAAWC,WAAWG,KAAmD,GAAGD,KAAKE,EAAE,sBAAsB;AAI/G,IAAMC,gBAAwEJ,gBAAgBI;AAG9F,IAAMC,QAAQN,WAAWG,KAAiC,GAAGD,KAAKE,EAAE,mBAAmB;AAGvF,IAAMG,YAAYP,WAAWG,KAA+B,GAAGD,KAAKE,EAAE,wBAAwB;;;ACzBrG;;;;;;;;;;;;;;;;;AAMA,YAAYI,aAAY;AAExB,SAASC,cAAAA,mBAAkB;AAC3B,SAASC,mBAAmB;AAC5B,SAASC,iBAAiB;AAC1B,SAASC,YAAYC,UAAUC,KAAKC,KAAKC,WAAW;AACpD,SAASC,gBAAgB;AACzB,SAASC,OAAOC,YAAYC,SAASC,SAASC,cAAc;AAE5D,SAASC,QAAAA,aAAY;AAErB,IAAMC,mBAAmB,GAAGD,MAAKE,EAAE;AAE5B,IAAMC,gBAAgBf,UAAUgB,KAAK;EAC1CJ,MAAM;IAAEK,KAAK,GAAGJ,gBAAAA;IAAoCK,MAAM;EAAkB;EAC5EC,UAAU;IAACrB,YAAWsB;;EACtBC,OAAcC,eAAO;IACnBC,OAAOxB;IACPyB,gBAAgBvB,WAAWA;IAC3BwB,WAAkBC,gBAAQC,KAAYC,gBAAQ;EAChD,CAAA;EACAC,QAAeC;AACjB,CAAA;AAEO,IAAMC,gBAAgB/B,UAAUgB,KAAK;EAC1CJ,MAAM;IAAEK,KAAK,GAAGJ,gBAAAA;IAAmCK,MAAM;EAAiB;EAC1EC,UAAU;IAACrB,YAAWsB;;EACtBC,OAAcC,eAAO;IACnBU,SAAS7B,IAAI8B;IACbf,MAAaU,iBAAgBM,cAAM;EACrC,CAAA;EACAL,QAAeP,eAAO;IACpBa,QAAQ1B,QAAQA;EAClB,CAAA;AACF,CAAA;AAEO,IAAM2B,uBAAuBpC,UAAUgB,KAAK;EACjDJ,MAAM;IAAEK,KAAK,GAAGJ,gBAAAA;IAA2CK,MAAM;EAAyB;;;EAG1FC,UAAU;IAACrB,YAAWsB;;EACtBC,OAAcC,eAAO;IACnBe,SAAS5B,QAAQA;IACjB6B,QAAQ/B,MAAMA;IACdgC,MAAaL;EACf,CAAA;EACAL,QAAeC;AACjB,CAAA;AAEO,IAAMU,SAASxC,UAAUgB,KAAK;EACnCJ,MAAM;IAAEK,KAAK,GAAGJ,gBAAAA;IAA2BK,MAAM;EAAgB;EACjEC,UAAU;IAACrB,YAAWsB;;EACtBC,OAAcC,eAAO;IACnBJ,MAAaU,iBAAgBM,cAAM;IACnCO,QAAeb,iBAAgBM,cAAM;IACrCQ,SAAStC,IAAIuC;EACf,CAAA;EACAd,QAAeC;AACjB,CAAA;AAEO,IAAMc,eAAsBtB,eAAO;EACxCuB,QAAQlC,OAAOA,OAAOmC,YAAY;IAAEC,aAAa;EAAsB,CAAA;EACvEN,QAAQjC,WAAWA,WAAWsC,YAAY;IAAEC,aAAa;EAAsB,CAAA;AACjF,CAAA,EAAGpB,KAAYqB,eAAO;AAIf,IAAMC,SAASjD,UAAUgB,KAAK;EACnCJ,MAAM;IAAEK,KAAK,GAAGJ,gBAAAA;IAA2BK,MAAM;EAAgB;EACjEC,UAAU;IAACrB,YAAWsB;;EACtBC,OAAcC,eAAO;IACnBmB,QAAQjC,WAAWA;IACnBkC,SAAStC,IAAIuC;IACbE,QAAejB,iBAASjB,OAAOA,MAAM;EACvC,CAAA;EACAkB,QAAQe;AACV,CAAA;AAEO,IAAMM,SAASlD,UAAUgB,KAAK;EACnCJ,MAAM;IAAEK,KAAK,GAAGJ,gBAAAA;IAA2BK,MAAM;EAAgB;EACjEC,UAAU;IAACrB,YAAWsB;;EACtBC,OAAcC,eAAO;IACnB6B,SAAgBjB;EAClB,CAAA;EACAL,QAAeC;AACjB,CAAA;AAEO,IAAMsB,iBAAiBpD,UAAUgB,KAAK;EAC3CJ,MAAM;IAAEK,KAAK,GAAGJ,gBAAAA;IAAoCK,MAAM;EAAkB;EAC5EC,UAAU;IAACrB,YAAWsB;;EACtBC,OAAcC,eAAO;IACnBuB,QAAQlC,OAAOA;EACjB,CAAA;EACAkB,QAAeC;AACjB,CAAA;AAEO,IAAMuB,aAAarD,UAAUgB,KAAK;EACvCJ,MAAM;IAAEK,KAAK,GAAGJ,gBAAAA;IAAgCK,MAAM;EAAc;EACpEC,UAAU;IAACrB,YAAWsB;;EACtBC,OAAcC,eAAO;IACnBoB,SAAStC,IAAIuC;IACbF,QAAQjC,WAAWA;IACnB8B,QAAQ/B,MAAMA;IACdgC,MAAaL;EACf,CAAA;EACAL,QAAeC;AACjB,CAAA;AAEO,IAAMwB,sBAA6BN,gBACjC1B,eAAO;EACZiC,SAAS7C,QAAQA,QAAQoC,YAAY;IAAEC,aAAa;EAAuB,CAAA;EAC3ES,cAAqBC,eAAOX,YAAY;IAAEC,aAAa;EAAgC,CAAA;AACzF,CAAA,CAAA;AAKK,IAAMW,gBAAgB1D,UAAUgB,KAAK;EAC1CJ,MAAM;IAAEK,KAAK,GAAGJ,gBAAAA;IAAmCK,MAAM;EAAiB;EAC1EC,UAAU;IAACrB,YAAWsB;;EACtBC,OAAcC,eAAO;IACnBmB,QAAQjC,WAAWA;IACnBkC,SAAStC,IAAIuC;IACbgB,WAAkBzB;EACpB,CAAA;EACAL,QAAQyB;AACV,CAAA;AAKO,IAAMM,UAAU5D,UAAUgB,KAAK;EACpCJ,MAAM;IAAEK,KAAK,GAAGJ,gBAAAA;IAA4BK,MAAM;EAAiB;EACnEC,UAAU;IAACrB,YAAWsB;;EACtBC,OAAcC,eAAO;IACnBuB,QAAQlC,OAAOA,OAAOmC,YAAY;MAAEC,aAAa;IAAyB,CAAA;IAC1EN,QAAQjC,WAAWA,WAAWsC,YAAY;MAAEC,aAAa;IAAkC,CAAA;EAC7F,CAAA;EACAlB,QAAeC;AACjB,CAAA;AAKO,IAAM+B,iBAAiB7D,UAAUgB,KAAK;EAC3CJ,MAAM;IAAEK,KAAK,GAAGJ,gBAAAA;IAAoCK,MAAM;EAAkB;EAC5EC,UAAU;IAACrB,YAAWsB;;EACtBC,OAAcC,eAAO;IACnBmB,QAAQjC,WAAWA,WAAWsC,YAAY;MAAEC,aAAa;IAA4B,CAAA;IACrFQ,SAAS7C,QAAQA,QAAQoC,YAAY;MAAEC,aAAa;IAA0B,CAAA;IAC9ES,cAAqBC,eAAOX,YAAY;MAAEC,aAAa;IAAuC,CAAA;EAChG,CAAA;EACAlB,QAAeC;AACjB,CAAA;AAEO,IAAMgC,kBAAkB9D,UAAUgB,KAAK;EAC5CJ,MAAM;IACJK,KAAK;IACLC,MAAM;IACN6B,aAAa;EACf;EACA1B,OAAcC,eAAO;IACnByC,KAAK1D,IAAIA,IAAIC,SAAS0D,QAAQ,EAAElB,YAAY;MAC1CC,aAAa;IACf,CAAA;IACAkB,OAAcC,cAAahC,cAAM,EAAEY,YAAY;MAC7CC,aAAa;IACf,CAAA;EACF,CAAA;EACAlB,QAAeC;EACfX,UAAU;IAACjB,SAASkB;;AACtB,CAAA;",
6
+ "names": ["Schema", "Settings", "mutable", "Struct", "Settings", "Capability", "AppCapabilities", "meta", "make", "id", "CommentConfig", "State", "ViewState", "Schema", "Capability", "SpaceSchema", "Operation", "Collection", "Database", "Key", "Obj", "Ref", "Markdown", "Actor", "AnchoredTo", "Channel", "Message", "Thread", "meta", "THREAD_OPERATION", "id", "OnCreateSpace", "make", "key", "name", "services", "Service", "input", "Struct", "space", "rootCollection", "isDefault", "Boolean", "pipe", "optional", "output", "Void", "CreateChannel", "spaceId", "SpaceId", "String", "object", "AppendChannelMessage", "channel", "sender", "text", "Create", "anchor", "subject", "Unknown", "DeleteOutput", "thread", "annotations", "description", "partial", "Delete", "Select", "current", "ToggleResolved", "AddMessage", "DeleteMessageOutput", "message", "messageIndex", "Number", "DeleteMessage", "messageId", "Restore", "RestoreMessage", "CreateProposals", "doc", "Document", "diffs", "Array"]
7
+ }
@@ -0,0 +1,69 @@
1
+ // src/hooks/analytics.ts
2
+ import { useCallback } from "react";
3
+ import { useOperationInvoker } from "@dxos/app-framework/ui";
4
+ import { Obj } from "@dxos/echo";
5
+ import { ObservabilityOperation } from "@dxos/plugin-observability";
6
+ import { useOnTransition } from "@dxos/react-ui";
7
+ var useOnEditAnalytics = (message, textBlock, editing) => {
8
+ const { invokePromise } = useOperationInvoker();
9
+ const onEdit = useCallback(() => {
10
+ if (!message || !textBlock) {
11
+ return;
12
+ }
13
+ const db = Obj.getDatabase(message);
14
+ if (!db) {
15
+ return;
16
+ }
17
+ void invokePromise(ObservabilityOperation.SendEvent, {
18
+ name: "threads.message.update",
19
+ properties: {
20
+ spaceId: db.spaceId,
21
+ messageId: message.id,
22
+ messageLength: textBlock?.text.length
23
+ }
24
+ });
25
+ }, [
26
+ invokePromise,
27
+ message,
28
+ textBlock
29
+ ]);
30
+ useOnTransition(editing, true, false, onEdit);
31
+ };
32
+
33
+ // src/hooks/useStatus.ts
34
+ import { useEffect, useState } from "react";
35
+ var useStatus = (space, channel) => {
36
+ const [processing, setProcessing] = useState(false);
37
+ useEffect(() => {
38
+ if (!space || !channel) {
39
+ return;
40
+ }
41
+ const unsubscribe = space.listen(`status/${channel}`, (status) => {
42
+ const { event } = status.payload ?? {};
43
+ setProcessing(event === "processing");
44
+ });
45
+ const t = setInterval(() => {
46
+ setProcessing((prev) => {
47
+ if (typeof prev?.ts === "number" && Date.now() - prev.ts > 3e4) {
48
+ return void 0;
49
+ } else {
50
+ return prev;
51
+ }
52
+ });
53
+ }, 1e3);
54
+ return () => {
55
+ unsubscribe();
56
+ clearInterval(t);
57
+ };
58
+ }, [
59
+ space,
60
+ channel
61
+ ]);
62
+ return processing;
63
+ };
64
+
65
+ export {
66
+ useOnEditAnalytics,
67
+ useStatus
68
+ };
69
+ //# sourceMappingURL=chunk-QFDT33VT.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/analytics.ts", "../../../src/hooks/useStatus.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { useCallback } from 'react';\n\nimport { useOperationInvoker } from '@dxos/app-framework/ui';\nimport { Obj } from '@dxos/echo';\nimport { ObservabilityOperation } from '@dxos/plugin-observability';\nimport { useOnTransition } from '@dxos/react-ui';\nimport { type ContentBlock } from '@dxos/types';\n\nexport const useOnEditAnalytics = (\n message: any | undefined,\n textBlock: ContentBlock.Text | undefined,\n editing: boolean,\n) => {\n const { invokePromise } = useOperationInvoker();\n\n const onEdit = useCallback(() => {\n if (!message || !textBlock) {\n return;\n }\n\n const db = Obj.getDatabase(message);\n if (!db) {\n return;\n }\n\n void invokePromise(ObservabilityOperation.SendEvent, {\n name: 'threads.message.update',\n properties: {\n spaceId: db.spaceId,\n messageId: message.id,\n messageLength: textBlock?.text.length,\n },\n });\n }, [invokePromise, message, textBlock]);\n\n useOnTransition(editing, true, false, onEdit);\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { useEffect, useState } from 'react';\n\nimport { type Space } from '@dxos/react-client/echo';\n\n// TODO(burdon): Generalize and factor out.\nexport const useStatus = (space?: Space, channel?: string) => {\n const [processing, setProcessing] = useState(false);\n useEffect(() => {\n if (!space || !channel) {\n return;\n }\n\n const unsubscribe = space.listen(`status/${channel}`, (status) => {\n const { event } = status.payload ?? {};\n setProcessing(event === 'processing');\n });\n\n const t = setInterval(() => {\n setProcessing((prev: any) => {\n if (typeof prev?.ts === 'number' && Date.now() - prev.ts > 30_000) {\n return undefined;\n } else {\n return prev;\n }\n });\n }, 1_000);\n\n return () => {\n unsubscribe();\n clearInterval(t);\n };\n }, [space, channel]);\n\n return processing;\n};\n"],
5
+ "mappings": ";AAIA,SAASA,mBAAmB;AAE5B,SAASC,2BAA2B;AACpC,SAASC,WAAW;AACpB,SAASC,8BAA8B;AACvC,SAASC,uBAAuB;AAGzB,IAAMC,qBAAqB,CAChCC,SACAC,WACAC,YAAAA;AAEA,QAAM,EAAEC,cAAa,IAAKR,oBAAAA;AAE1B,QAAMS,SAASV,YAAY,MAAA;AACzB,QAAI,CAACM,WAAW,CAACC,WAAW;AAC1B;IACF;AAEA,UAAMI,KAAKT,IAAIU,YAAYN,OAAAA;AAC3B,QAAI,CAACK,IAAI;AACP;IACF;AAEA,SAAKF,cAAcN,uBAAuBU,WAAW;MACnDC,MAAM;MACNC,YAAY;QACVC,SAASL,GAAGK;QACZC,WAAWX,QAAQY;QACnBC,eAAeZ,WAAWa,KAAKC;MACjC;IACF,CAAA;EACF,GAAG;IAACZ;IAAeH;IAASC;GAAU;AAEtCH,kBAAgBI,SAAS,MAAM,OAAOE,MAAAA;AACxC;;;ACpCA,SAASY,WAAWC,gBAAgB;AAK7B,IAAMC,YAAY,CAACC,OAAeC,YAAAA;AACvC,QAAM,CAACC,YAAYC,aAAAA,IAAiBL,SAAS,KAAA;AAC7CD,YAAU,MAAA;AACR,QAAI,CAACG,SAAS,CAACC,SAAS;AACtB;IACF;AAEA,UAAMG,cAAcJ,MAAMK,OAAO,UAAUJ,OAAAA,IAAW,CAACK,WAAAA;AACrD,YAAM,EAAEC,MAAK,IAAKD,OAAOE,WAAW,CAAC;AACrCL,oBAAcI,UAAU,YAAA;IAC1B,CAAA;AAEA,UAAME,IAAIC,YAAY,MAAA;AACpBP,oBAAc,CAACQ,SAAAA;AACb,YAAI,OAAOA,MAAMC,OAAO,YAAYC,KAAKC,IAAG,IAAKH,KAAKC,KAAK,KAAQ;AACjE,iBAAOG;QACT,OAAO;AACL,iBAAOJ;QACT;MACF,CAAA;IACF,GAAG,GAAA;AAEH,WAAO,MAAA;AACLP,kBAAAA;AACAY,oBAAcP,CAAAA;IAChB;EACF,GAAG;IAACT;IAAOC;GAAQ;AAEnB,SAAOC;AACT;",
6
+ "names": ["useCallback", "useOperationInvoker", "Obj", "ObservabilityOperation", "useOnTransition", "useOnEditAnalytics", "message", "textBlock", "editing", "invokePromise", "onEdit", "db", "getDatabase", "SendEvent", "name", "properties", "spaceId", "messageId", "id", "messageLength", "text", "length", "useEffect", "useState", "useStatus", "space", "channel", "processing", "setProcessing", "unsubscribe", "listen", "status", "event", "payload", "t", "setInterval", "prev", "ts", "Date", "now", "undefined", "clearInterval"]
7
+ }
@@ -0,0 +1,8 @@
1
+ // src/operations/index.ts
2
+ import { OperationHandlerSet } from "@dxos/compute";
3
+ var ThreadOperationHandlerSet = OperationHandlerSet.lazy(() => import("./add-message-FBIROBEZ.mjs"), () => import("./append-channel-message-FTFAD3PK.mjs"), () => import("./create-OAQJ6LXN.mjs"), () => import("./create-channel-3E4FJ662.mjs"), () => import("./create-proposals-GRYZXRMV.mjs"), () => import("./delete-HCCG5RVR.mjs"), () => import("./delete-message-DHFRACB4.mjs"), () => import("./on-create-space-OEBRKOAM.mjs"), () => import("./restore-P4ZLXLF7.mjs"), () => import("./restore-message-AUBOP2DF.mjs"), () => import("./select-LIVAMBCE.mjs"), () => import("./toggle-resolved-RQBDQZSV.mjs"));
4
+
5
+ export {
6
+ ThreadOperationHandlerSet
7
+ };
8
+ //# sourceMappingURL=chunk-QK4QZUR5.mjs.map