@dxos/plugin-thread 0.8.4-main.abd8ff62ef → 0.8.4-main.bc2380dfbc

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 (431) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/neutral/ChannelArticle-ACZD7YFT.mjs +28 -0
  4. package/dist/lib/neutral/ChannelArticle-ACZD7YFT.mjs.map +7 -0
  5. package/dist/lib/neutral/ChannelChat-6YTD5HWL.mjs +10 -0
  6. package/dist/lib/neutral/ThreadCompanion-NQWPS2H6.mjs +208 -0
  7. package/dist/lib/neutral/ThreadCompanion-NQWPS2H6.mjs.map +7 -0
  8. package/dist/lib/neutral/ThreadContainer-XYEPEOSD.mjs +61 -0
  9. package/dist/lib/neutral/ThreadContainer-XYEPEOSD.mjs.map +7 -0
  10. package/dist/lib/neutral/ThreadPlugin.mjs +80 -0
  11. package/dist/lib/neutral/ThreadPlugin.mjs.map +7 -0
  12. package/dist/lib/neutral/ThreadPlugin.node.mjs +40 -0
  13. package/dist/lib/neutral/ThreadPlugin.node.mjs.map +7 -0
  14. package/dist/lib/neutral/ThreadPlugin.workerd.mjs +24 -0
  15. package/dist/lib/neutral/ThreadPlugin.workerd.mjs.map +7 -0
  16. package/dist/lib/neutral/ThreadSettings-5MKTDK3A.mjs +15 -0
  17. package/dist/lib/neutral/ThreadSettings-5MKTDK3A.mjs.map +7 -0
  18. package/dist/lib/{browser/add-message-LRVGIHDH.mjs → neutral/add-message-FBIROBEZ.mjs} +8 -10
  19. package/dist/lib/neutral/add-message-FBIROBEZ.mjs.map +7 -0
  20. package/dist/lib/neutral/app-graph-builder-7Q6MA6RT.mjs +120 -0
  21. package/dist/lib/neutral/app-graph-builder-7Q6MA6RT.mjs.map +7 -0
  22. package/dist/lib/{browser/append-channel-message-CO3M6FSA.mjs → neutral/append-channel-message-FTFAD3PK.mjs} +5 -5
  23. package/dist/lib/neutral/append-channel-message-FTFAD3PK.mjs.map +7 -0
  24. package/dist/lib/neutral/blueprint-definition-S3EBOH4R.mjs +15 -0
  25. package/dist/lib/neutral/blueprint-definition-S3EBOH4R.mjs.map +7 -0
  26. package/dist/lib/neutral/blueprints/index.mjs +8 -0
  27. package/dist/lib/neutral/capabilities/index.mjs +25 -0
  28. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  29. package/dist/lib/{browser/blueprints/index.mjs → neutral/chunk-5T5LPLBN.mjs} +4 -5
  30. package/dist/lib/neutral/chunk-5T5LPLBN.mjs.map +7 -0
  31. package/dist/lib/neutral/chunk-7GHUS3IX.mjs +20 -0
  32. package/dist/lib/neutral/chunk-7GHUS3IX.mjs.map +7 -0
  33. package/dist/lib/neutral/chunk-D5LGFCUY.mjs +55 -0
  34. package/dist/lib/neutral/chunk-D5LGFCUY.mjs.map +7 -0
  35. package/dist/lib/neutral/chunk-JLY4NVTA.mjs +38 -0
  36. package/dist/lib/neutral/chunk-JLY4NVTA.mjs.map +7 -0
  37. package/dist/lib/neutral/chunk-KRXHIW4P.mjs +164 -0
  38. package/dist/lib/neutral/chunk-KRXHIW4P.mjs.map +7 -0
  39. package/dist/lib/{browser/chunk-TPNZ43NB.mjs → neutral/chunk-PE7IH7EL.mjs} +86 -73
  40. package/dist/lib/neutral/chunk-PE7IH7EL.mjs.map +7 -0
  41. package/dist/lib/neutral/chunk-QFDT33VT.mjs +69 -0
  42. package/dist/lib/neutral/chunk-QFDT33VT.mjs.map +7 -0
  43. package/dist/lib/neutral/chunk-QMLVLKE3.mjs +8 -0
  44. package/dist/lib/neutral/chunk-QMLVLKE3.mjs.map +7 -0
  45. package/dist/lib/neutral/components/index.mjs +539 -0
  46. package/dist/lib/neutral/components/index.mjs.map +7 -0
  47. package/dist/lib/neutral/containers/index.mjs +15 -0
  48. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  49. package/dist/lib/{browser/create-BTGLHLBA.mjs → neutral/create-OAQJ6LXN.mjs} +7 -10
  50. package/dist/lib/neutral/create-OAQJ6LXN.mjs.map +7 -0
  51. package/dist/lib/{browser/create-channel-ZXKSLHGN.mjs → neutral/create-channel-3E4FJ662.mjs} +4 -4
  52. package/dist/lib/neutral/create-channel-3E4FJ662.mjs.map +7 -0
  53. package/dist/lib/neutral/create-object-HIEWSBZB.mjs +27 -0
  54. package/dist/lib/neutral/create-object-HIEWSBZB.mjs.map +7 -0
  55. package/dist/lib/{browser/create-proposals-AV5CREPV.mjs → neutral/create-proposals-GRYZXRMV.mjs} +4 -4
  56. package/dist/lib/neutral/create-proposals-GRYZXRMV.mjs.map +7 -0
  57. package/dist/lib/{browser/delete-GLYEP7NE.mjs → neutral/delete-HCCG5RVR.mjs} +7 -9
  58. package/dist/lib/neutral/delete-HCCG5RVR.mjs.map +7 -0
  59. package/dist/lib/{browser/delete-message-RQ72ZY5D.mjs → neutral/delete-message-DHFRACB4.mjs} +6 -7
  60. package/dist/lib/neutral/delete-message-DHFRACB4.mjs.map +7 -0
  61. package/dist/lib/neutral/hooks/index.mjs +10 -0
  62. package/dist/lib/neutral/index.mjs +28 -0
  63. package/dist/lib/neutral/index.mjs.map +7 -0
  64. package/dist/lib/neutral/markdown-BUORNCPG.mjs +83 -0
  65. package/dist/lib/neutral/markdown-BUORNCPG.mjs.map +7 -0
  66. package/dist/lib/neutral/meta.json +1 -0
  67. package/dist/lib/neutral/meta.mjs +10 -0
  68. package/dist/lib/neutral/meta.mjs.map +7 -0
  69. package/dist/lib/{browser/on-create-space-SPE3QVFZ.mjs → neutral/on-create-space-OEBRKOAM.mjs} +5 -6
  70. package/dist/lib/neutral/on-create-space-OEBRKOAM.mjs.map +7 -0
  71. package/dist/lib/neutral/operation-handler-RU6K2S4L.mjs +13 -0
  72. package/dist/lib/neutral/operation-handler-RU6K2S4L.mjs.map +7 -0
  73. package/dist/lib/neutral/operations/index.mjs +8 -0
  74. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  75. package/dist/lib/neutral/plugin.mjs +16 -0
  76. package/dist/lib/neutral/plugin.mjs.map +7 -0
  77. package/dist/lib/neutral/react-surface-XY23GVZH.mjs +76 -0
  78. package/dist/lib/neutral/react-surface-XY23GVZH.mjs.map +7 -0
  79. package/dist/lib/{browser/restore-VX7FLZOZ.mjs → neutral/restore-P4ZLXLF7.mjs} +5 -5
  80. package/dist/lib/neutral/restore-P4ZLXLF7.mjs.map +7 -0
  81. package/dist/lib/{browser/restore-message-D65NSWUA.mjs → neutral/restore-message-AUBOP2DF.mjs} +5 -5
  82. package/dist/lib/neutral/restore-message-AUBOP2DF.mjs.map +7 -0
  83. package/dist/lib/{browser/select-AT4L7EBU.mjs → neutral/select-LIVAMBCE.mjs} +6 -8
  84. package/dist/lib/neutral/select-LIVAMBCE.mjs.map +7 -0
  85. package/dist/lib/neutral/settings-HK4EB6TF.mjs +30 -0
  86. package/dist/lib/neutral/settings-HK4EB6TF.mjs.map +7 -0
  87. package/dist/lib/neutral/state-UU7VEAKV.mjs +22 -0
  88. package/dist/lib/neutral/state-UU7VEAKV.mjs.map +7 -0
  89. package/dist/lib/neutral/testing/index.mjs +58 -0
  90. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  91. package/dist/lib/{browser/toggle-resolved-JD3D4WBZ.mjs → neutral/toggle-resolved-RQBDQZSV.mjs} +5 -5
  92. package/dist/lib/neutral/toggle-resolved-RQBDQZSV.mjs.map +7 -0
  93. package/dist/lib/{browser → neutral}/translations.mjs +2 -2
  94. package/dist/lib/neutral/translations.mjs.map +7 -0
  95. package/dist/lib/neutral/types/index.mjs +12 -0
  96. package/dist/lib/neutral/types/index.mjs.map +7 -0
  97. package/dist/lib/neutral/undo-mappings-HOKL2L3M.mjs +54 -0
  98. package/dist/lib/neutral/undo-mappings-HOKL2L3M.mjs.map +7 -0
  99. package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
  100. package/dist/types/src/ThreadPlugin.node.d.ts.map +1 -1
  101. package/dist/types/src/ThreadPlugin.workerd.d.ts +4 -0
  102. package/dist/types/src/ThreadPlugin.workerd.d.ts.map +1 -0
  103. package/dist/types/src/capabilities/create-object.d.ts +11 -0
  104. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  105. package/dist/types/src/capabilities/index.d.ts +7 -6
  106. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  107. package/dist/types/src/capabilities/markdown.d.ts +1 -1
  108. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  109. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  110. package/dist/types/src/components/Chat/Chat.d.ts +8 -1
  111. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  112. package/dist/types/src/components/CommentsPanel/CommentsThread.d.ts.map +1 -1
  113. package/dist/types/src/components/MessagePanel/MessagePanel.d.ts.map +1 -1
  114. package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts.map +1 -1
  115. package/dist/types/src/components/index.d.ts +0 -1
  116. package/dist/types/src/components/index.d.ts.map +1 -1
  117. package/dist/types/src/containers/ChannelArticle/ChannelArticle.d.ts +13 -0
  118. package/dist/types/src/containers/ChannelArticle/ChannelArticle.d.ts.map +1 -0
  119. package/dist/types/src/containers/{ChannelContainer/ChannelContainer.stories.d.ts → ChannelArticle/ChannelArticle.stories.d.ts} +4 -4
  120. package/dist/types/src/containers/ChannelArticle/ChannelArticle.stories.d.ts.map +1 -0
  121. package/dist/types/src/containers/ChannelArticle/index.d.ts +2 -0
  122. package/dist/types/src/containers/{CallDebugPanel → ChannelArticle}/index.d.ts.map +1 -1
  123. package/dist/types/src/containers/ChannelChat/ChannelChat.d.ts +4 -0
  124. package/dist/types/src/containers/ChannelChat/ChannelChat.d.ts.map +1 -1
  125. package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts.map +1 -1
  126. package/dist/types/src/containers/index.d.ts +1 -3
  127. package/dist/types/src/containers/index.d.ts.map +1 -1
  128. package/dist/types/src/extensions/threads.d.ts +1 -1
  129. package/dist/types/src/extensions/threads.d.ts.map +1 -1
  130. package/dist/types/src/hooks/index.d.ts +0 -4
  131. package/dist/types/src/hooks/index.d.ts.map +1 -1
  132. package/dist/types/src/index.d.ts +3 -5
  133. package/dist/types/src/index.d.ts.map +1 -1
  134. package/dist/types/src/meta.d.ts.map +1 -1
  135. package/dist/types/src/operations/add-message.d.ts +2 -2
  136. package/dist/types/src/operations/add-message.d.ts.map +1 -1
  137. package/dist/types/src/operations/append-channel-message.d.ts +2 -2
  138. package/dist/types/src/operations/append-channel-message.d.ts.map +1 -1
  139. package/dist/types/src/operations/create-channel.d.ts +2 -2
  140. package/dist/types/src/operations/create-channel.d.ts.map +1 -1
  141. package/dist/types/src/operations/create-proposals.d.ts +2 -2
  142. package/dist/types/src/operations/create-proposals.d.ts.map +1 -1
  143. package/dist/types/src/operations/create.d.ts +2 -2
  144. package/dist/types/src/operations/create.d.ts.map +1 -1
  145. package/dist/types/src/operations/delete-message.d.ts +2 -2
  146. package/dist/types/src/operations/delete-message.d.ts.map +1 -1
  147. package/dist/types/src/operations/delete.d.ts +2 -2
  148. package/dist/types/src/operations/delete.d.ts.map +1 -1
  149. package/dist/types/src/operations/index.d.ts +0 -1
  150. package/dist/types/src/operations/index.d.ts.map +1 -1
  151. package/dist/types/src/operations/on-create-space.d.ts +2 -2
  152. package/dist/types/src/operations/on-create-space.d.ts.map +1 -1
  153. package/dist/types/src/operations/restore-message.d.ts +2 -2
  154. package/dist/types/src/operations/restore-message.d.ts.map +1 -1
  155. package/dist/types/src/operations/restore.d.ts +2 -2
  156. package/dist/types/src/operations/restore.d.ts.map +1 -1
  157. package/dist/types/src/operations/select.d.ts +2 -2
  158. package/dist/types/src/operations/select.d.ts.map +1 -1
  159. package/dist/types/src/operations/toggle-resolved.d.ts +2 -2
  160. package/dist/types/src/operations/toggle-resolved.d.ts.map +1 -1
  161. package/dist/types/src/plugin.d.ts +4 -0
  162. package/dist/types/src/plugin.d.ts.map +1 -0
  163. package/dist/types/src/translations.d.ts.map +1 -1
  164. package/dist/types/src/types/ThreadCapabilities.d.ts +13 -0
  165. package/dist/types/src/types/ThreadCapabilities.d.ts.map +1 -0
  166. package/dist/types/src/{operations/definitions.d.ts → types/ThreadOperation.d.ts} +1 -1
  167. package/dist/types/src/types/ThreadOperation.d.ts.map +1 -0
  168. package/dist/types/src/types/index.d.ts +3 -1
  169. package/dist/types/src/types/index.d.ts.map +1 -1
  170. package/dist/types/src/types/types.d.ts +1 -1
  171. package/dist/types/src/types/types.d.ts.map +1 -1
  172. package/dist/types/src/util.d.ts +4 -1
  173. package/dist/types/src/util.d.ts.map +1 -1
  174. package/dist/types/tsconfig.tsbuildinfo +1 -1
  175. package/package.json +123 -99
  176. package/src/ThreadPlugin.node.ts +5 -50
  177. package/src/ThreadPlugin.test.ts +3 -3
  178. package/src/ThreadPlugin.tsx +6 -59
  179. package/src/ThreadPlugin.workerd.ts +20 -0
  180. package/src/blueprints/thread-blueprint.ts +1 -1
  181. package/src/capabilities/app-graph-builder.ts +18 -69
  182. package/src/capabilities/create-object.ts +29 -0
  183. package/src/capabilities/index.ts +1 -2
  184. package/src/capabilities/markdown.ts +1 -1
  185. package/src/capabilities/react-surface.tsx +4 -26
  186. package/src/capabilities/settings.ts +1 -3
  187. package/src/capabilities/undo-mappings.ts +1 -1
  188. package/src/components/Chat/Chat.tsx +52 -12
  189. package/src/components/CommentsPanel/CommentsPanel.stories.tsx +1 -1
  190. package/src/components/CommentsPanel/CommentsPanel.tsx +4 -4
  191. package/src/components/CommentsPanel/CommentsThread.tsx +2 -3
  192. package/src/components/MessagePanel/MessagePanel.tsx +7 -8
  193. package/src/components/ThreadSettings/ThreadSettings.tsx +0 -1
  194. package/src/components/index.ts +0 -1
  195. package/src/containers/{ChannelContainer/ChannelContainer.stories.tsx → ChannelArticle/ChannelArticle.stories.tsx} +10 -10
  196. package/src/containers/ChannelArticle/ChannelArticle.tsx +42 -0
  197. package/src/containers/ChannelArticle/index.ts +5 -0
  198. package/src/containers/ChannelChat/ChannelChat.tsx +12 -2
  199. package/src/containers/ThreadCompanion/ThreadCompanion.tsx +10 -12
  200. package/src/containers/index.ts +1 -3
  201. package/src/extensions/command.ts +1 -1
  202. package/src/extensions/threads.ts +2 -2
  203. package/src/hooks/analytics.ts +1 -1
  204. package/src/hooks/index.ts +0 -5
  205. package/src/index.ts +3 -10
  206. package/src/meta.ts +1 -2
  207. package/src/operations/add-message.ts +4 -4
  208. package/src/operations/append-channel-message.ts +20 -19
  209. package/src/operations/create-channel.ts +2 -2
  210. package/src/operations/create-proposals.ts +2 -2
  211. package/src/operations/create.ts +3 -3
  212. package/src/operations/delete-message.ts +4 -4
  213. package/src/operations/delete.ts +3 -3
  214. package/src/operations/index.ts +0 -2
  215. package/src/operations/on-create-space.ts +3 -3
  216. package/src/operations/restore-message.ts +3 -3
  217. package/src/operations/restore.ts +3 -3
  218. package/src/operations/select.ts +2 -2
  219. package/src/operations/toggle-resolved.ts +3 -3
  220. package/src/plugin.ts +11 -0
  221. package/src/translations.ts +2 -2
  222. package/src/types/ThreadCapabilities.ts +26 -0
  223. package/src/{operations/definitions.ts → types/ThreadOperation.ts} +5 -4
  224. package/src/types/index.ts +4 -1
  225. package/src/types/types.ts +0 -2
  226. package/src/util.ts +36 -4
  227. package/dist/lib/browser/add-message-LRVGIHDH.mjs.map +0 -7
  228. package/dist/lib/browser/append-channel-message-CO3M6FSA.mjs.map +0 -7
  229. package/dist/lib/browser/blueprints/index.mjs.map +0 -7
  230. package/dist/lib/browser/chunk-E4GG3NX2.mjs +0 -29
  231. package/dist/lib/browser/chunk-E4GG3NX2.mjs.map +0 -7
  232. package/dist/lib/browser/chunk-TPNZ43NB.mjs.map +0 -7
  233. package/dist/lib/browser/create-BTGLHLBA.mjs.map +0 -7
  234. package/dist/lib/browser/create-channel-ZXKSLHGN.mjs.map +0 -7
  235. package/dist/lib/browser/create-proposals-AV5CREPV.mjs.map +0 -7
  236. package/dist/lib/browser/delete-GLYEP7NE.mjs.map +0 -7
  237. package/dist/lib/browser/delete-message-RQ72ZY5D.mjs.map +0 -7
  238. package/dist/lib/browser/index.mjs +0 -1821
  239. package/dist/lib/browser/index.mjs.map +0 -7
  240. package/dist/lib/browser/meta.json +0 -1
  241. package/dist/lib/browser/on-create-space-SPE3QVFZ.mjs.map +0 -7
  242. package/dist/lib/browser/operations/index.mjs +0 -13
  243. package/dist/lib/browser/operations/index.mjs.map +0 -7
  244. package/dist/lib/browser/restore-VX7FLZOZ.mjs.map +0 -7
  245. package/dist/lib/browser/restore-message-D65NSWUA.mjs.map +0 -7
  246. package/dist/lib/browser/select-AT4L7EBU.mjs.map +0 -7
  247. package/dist/lib/browser/toggle-resolved-JD3D4WBZ.mjs.map +0 -7
  248. package/dist/lib/browser/translations.mjs.map +0 -7
  249. package/dist/lib/browser/types/index.mjs +0 -10
  250. package/dist/lib/node-esm/add-message-4EAQ2ZPI.mjs +0 -90
  251. package/dist/lib/node-esm/add-message-4EAQ2ZPI.mjs.map +0 -7
  252. package/dist/lib/node-esm/append-channel-message-F7KGBSWP.mjs +0 -41
  253. package/dist/lib/node-esm/append-channel-message-F7KGBSWP.mjs.map +0 -7
  254. package/dist/lib/node-esm/blueprints/index.mjs +0 -38
  255. package/dist/lib/node-esm/blueprints/index.mjs.map +0 -7
  256. package/dist/lib/node-esm/chunk-BVEZBGIY.mjs +0 -30
  257. package/dist/lib/node-esm/chunk-BVEZBGIY.mjs.map +0 -7
  258. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  259. package/dist/lib/node-esm/chunk-XKUMDYGR.mjs +0 -259
  260. package/dist/lib/node-esm/chunk-XKUMDYGR.mjs.map +0 -7
  261. package/dist/lib/node-esm/create-DEZFPN2Y.mjs +0 -56
  262. package/dist/lib/node-esm/create-DEZFPN2Y.mjs.map +0 -7
  263. package/dist/lib/node-esm/create-channel-6VHTC2OR.mjs +0 -20
  264. package/dist/lib/node-esm/create-channel-6VHTC2OR.mjs.map +0 -7
  265. package/dist/lib/node-esm/create-proposals-P5O2ICOL.mjs +0 -57
  266. package/dist/lib/node-esm/create-proposals-P5O2ICOL.mjs.map +0 -7
  267. package/dist/lib/node-esm/delete-QG45QLPY.mjs +0 -60
  268. package/dist/lib/node-esm/delete-QG45QLPY.mjs.map +0 -7
  269. package/dist/lib/node-esm/delete-message-PGNLB6TL.mjs +0 -56
  270. package/dist/lib/node-esm/delete-message-PGNLB6TL.mjs.map +0 -7
  271. package/dist/lib/node-esm/index.mjs +0 -1822
  272. package/dist/lib/node-esm/index.mjs.map +0 -7
  273. package/dist/lib/node-esm/meta.json +0 -1
  274. package/dist/lib/node-esm/on-create-space-TFBSHWQ4.mjs +0 -25
  275. package/dist/lib/node-esm/on-create-space-TFBSHWQ4.mjs.map +0 -7
  276. package/dist/lib/node-esm/operations/index.mjs +0 -14
  277. package/dist/lib/node-esm/operations/index.mjs.map +0 -7
  278. package/dist/lib/node-esm/restore-E27OAIFJ.mjs +0 -33
  279. package/dist/lib/node-esm/restore-E27OAIFJ.mjs.map +0 -7
  280. package/dist/lib/node-esm/restore-message-J3CH6NGI.mjs +0 -34
  281. package/dist/lib/node-esm/restore-message-J3CH6NGI.mjs.map +0 -7
  282. package/dist/lib/node-esm/select-UU6Q2XAB.mjs +0 -27
  283. package/dist/lib/node-esm/select-UU6Q2XAB.mjs.map +0 -7
  284. package/dist/lib/node-esm/toggle-resolved-VS6NKXL3.mjs +0 -37
  285. package/dist/lib/node-esm/toggle-resolved-VS6NKXL3.mjs.map +0 -7
  286. package/dist/lib/node-esm/translations.mjs +0 -91
  287. package/dist/lib/node-esm/translations.mjs.map +0 -7
  288. package/dist/lib/node-esm/types/index.mjs +0 -11
  289. package/dist/types/src/calls/call-manager.d.ts +0 -87
  290. package/dist/types/src/calls/call-manager.d.ts.map +0 -1
  291. package/dist/types/src/calls/call-swarm-synchronizer.d.ts +0 -66
  292. package/dist/types/src/calls/call-swarm-synchronizer.d.ts.map +0 -1
  293. package/dist/types/src/calls/index.d.ts +0 -7
  294. package/dist/types/src/calls/index.d.ts.map +0 -1
  295. package/dist/types/src/calls/media-manager.d.ts +0 -60
  296. package/dist/types/src/calls/media-manager.d.ts.map +0 -1
  297. package/dist/types/src/calls/speaking-monitor.d.ts +0 -21
  298. package/dist/types/src/calls/speaking-monitor.d.ts.map +0 -1
  299. package/dist/types/src/calls/types.d.ts +0 -45
  300. package/dist/types/src/calls/types.d.ts.map +0 -1
  301. package/dist/types/src/calls/util/audio.d.ts +0 -6
  302. package/dist/types/src/calls/util/audio.d.ts.map +0 -1
  303. package/dist/types/src/calls/util/calls-service.d.ts +0 -77
  304. package/dist/types/src/calls/util/calls-service.d.ts.map +0 -1
  305. package/dist/types/src/calls/util/history-cache.d.ts +0 -11
  306. package/dist/types/src/calls/util/history-cache.d.ts.map +0 -1
  307. package/dist/types/src/calls/util/index.d.ts +0 -5
  308. package/dist/types/src/calls/util/index.d.ts.map +0 -1
  309. package/dist/types/src/calls/util/media.d.ts +0 -6
  310. package/dist/types/src/calls/util/media.d.ts.map +0 -1
  311. package/dist/types/src/calls/util/stub-media-streams.d.ts +0 -18
  312. package/dist/types/src/calls/util/stub-media-streams.d.ts.map +0 -1
  313. package/dist/types/src/calls/util/task-scheduling.d.ts +0 -17
  314. package/dist/types/src/calls/util/task-scheduling.d.ts.map +0 -1
  315. package/dist/types/src/calls-service.stories.d.ts +0 -23
  316. package/dist/types/src/calls-service.stories.d.ts.map +0 -1
  317. package/dist/types/src/capabilities/call-manager.d.ts +0 -6
  318. package/dist/types/src/capabilities/call-manager.d.ts.map +0 -1
  319. package/dist/types/src/capabilities/react-root.d.ts +0 -9
  320. package/dist/types/src/capabilities/react-root.d.ts.map +0 -1
  321. package/dist/types/src/components/Call/Call.d.ts +0 -45
  322. package/dist/types/src/components/Call/Call.d.ts.map +0 -1
  323. package/dist/types/src/components/Call/Toolbar.d.ts +0 -16
  324. package/dist/types/src/components/Call/Toolbar.d.ts.map +0 -1
  325. package/dist/types/src/components/Call/index.d.ts +0 -3
  326. package/dist/types/src/components/Call/index.d.ts.map +0 -1
  327. package/dist/types/src/components/Lobby/Lobby.d.ts +0 -36
  328. package/dist/types/src/components/Lobby/Lobby.d.ts.map +0 -1
  329. package/dist/types/src/components/Lobby/index.d.ts +0 -2
  330. package/dist/types/src/components/Lobby/index.d.ts.map +0 -1
  331. package/dist/types/src/components/Media/AudioStream.d.ts +0 -6
  332. package/dist/types/src/components/Media/AudioStream.d.ts.map +0 -1
  333. package/dist/types/src/components/Media/VideoObject.d.ts +0 -15
  334. package/dist/types/src/components/Media/VideoObject.d.ts.map +0 -1
  335. package/dist/types/src/components/Media/VideoObject.stories.d.ts +0 -22
  336. package/dist/types/src/components/Media/VideoObject.stories.d.ts.map +0 -1
  337. package/dist/types/src/components/Media/index.d.ts +0 -3
  338. package/dist/types/src/components/Media/index.d.ts.map +0 -1
  339. package/dist/types/src/components/Participant/Participant.d.ts +0 -6
  340. package/dist/types/src/components/Participant/Participant.d.ts.map +0 -1
  341. package/dist/types/src/components/Participant/ParticipantGrid.d.ts +0 -11
  342. package/dist/types/src/components/Participant/ParticipantGrid.d.ts.map +0 -1
  343. package/dist/types/src/components/Participant/index.d.ts +0 -3
  344. package/dist/types/src/components/Participant/index.d.ts.map +0 -1
  345. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.d.ts +0 -32
  346. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.d.ts.map +0 -1
  347. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +0 -178
  348. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +0 -1
  349. package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts +0 -21
  350. package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts.map +0 -1
  351. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.d.ts +0 -12
  352. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.d.ts.map +0 -1
  353. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.stories.d.ts +0 -164
  354. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.stories.d.ts.map +0 -1
  355. package/dist/types/src/components/ResponsiveGrid/index.d.ts +0 -4
  356. package/dist/types/src/components/ResponsiveGrid/index.d.ts.map +0 -1
  357. package/dist/types/src/containers/CallDebugPanel/CallDebugPanel.d.ts +0 -15
  358. package/dist/types/src/containers/CallDebugPanel/CallDebugPanel.d.ts.map +0 -1
  359. package/dist/types/src/containers/CallDebugPanel/index.d.ts +0 -2
  360. package/dist/types/src/containers/CallSidebar/CallSidebar.d.ts +0 -3
  361. package/dist/types/src/containers/CallSidebar/CallSidebar.d.ts.map +0 -1
  362. package/dist/types/src/containers/CallSidebar/index.d.ts +0 -2
  363. package/dist/types/src/containers/CallSidebar/index.d.ts.map +0 -1
  364. package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts +0 -12
  365. package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts.map +0 -1
  366. package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts.map +0 -1
  367. package/dist/types/src/containers/ChannelContainer/index.d.ts +0 -2
  368. package/dist/types/src/containers/ChannelContainer/index.d.ts.map +0 -1
  369. package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts +0 -2
  370. package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts.map +0 -1
  371. package/dist/types/src/hooks/useDebugMode.d.ts +0 -2
  372. package/dist/types/src/hooks/useDebugMode.d.ts.map +0 -1
  373. package/dist/types/src/hooks/useInaudibleAudioStreamTrack.d.ts +0 -2
  374. package/dist/types/src/hooks/useInaudibleAudioStreamTrack.d.ts.map +0 -1
  375. package/dist/types/src/hooks/useVideoStreamTrack.d.ts +0 -3
  376. package/dist/types/src/hooks/useVideoStreamTrack.d.ts.map +0 -1
  377. package/dist/types/src/operations/definitions.d.ts.map +0 -1
  378. package/dist/types/src/types/capabilities.d.ts +0 -25
  379. package/dist/types/src/types/capabilities.d.ts.map +0 -1
  380. package/src/calls/call-manager.ts +0 -270
  381. package/src/calls/call-swarm-synchronizer.ts +0 -350
  382. package/src/calls/index.ts +0 -10
  383. package/src/calls/media-manager.ts +0 -378
  384. package/src/calls/speaking-monitor.ts +0 -85
  385. package/src/calls/types.ts +0 -74
  386. package/src/calls/util/audio.ts +0 -58
  387. package/src/calls/util/calls-service.ts +0 -582
  388. package/src/calls/util/history-cache.ts +0 -27
  389. package/src/calls/util/index.ts +0 -8
  390. package/src/calls/util/media.ts +0 -52
  391. package/src/calls/util/stub-media-streams.ts +0 -129
  392. package/src/calls/util/task-scheduling.ts +0 -92
  393. package/src/calls-service.stories.tsx +0 -230
  394. package/src/capabilities/call-manager.ts +0 -27
  395. package/src/capabilities/react-root.tsx +0 -20
  396. package/src/components/Call/Call.tsx +0 -93
  397. package/src/components/Call/Toolbar.tsx +0 -199
  398. package/src/components/Call/index.ts +0 -6
  399. package/src/components/Lobby/Lobby.tsx +0 -123
  400. package/src/components/Lobby/index.ts +0 -5
  401. package/src/components/Media/AudioStream.tsx +0 -67
  402. package/src/components/Media/VideoObject.stories.tsx +0 -59
  403. package/src/components/Media/VideoObject.tsx +0 -58
  404. package/src/components/Media/index.ts +0 -6
  405. package/src/components/Participant/Participant.tsx +0 -77
  406. package/src/components/Participant/ParticipantGrid.tsx +0 -88
  407. package/src/components/Participant/index.ts +0 -6
  408. package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +0 -158
  409. package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +0 -341
  410. package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +0 -134
  411. package/src/components/ResponsiveGrid/ResponsivePanel.stories.tsx +0 -54
  412. package/src/components/ResponsiveGrid/ResponsivePanel.tsx +0 -31
  413. package/src/components/ResponsiveGrid/index.ts +0 -7
  414. package/src/containers/CallDebugPanel/CallDebugPanel.tsx +0 -173
  415. package/src/containers/CallDebugPanel/index.ts +0 -5
  416. package/src/containers/CallSidebar/CallSidebar.tsx +0 -18
  417. package/src/containers/CallSidebar/index.ts +0 -5
  418. package/src/containers/ChannelContainer/ChannelContainer.tsx +0 -223
  419. package/src/containers/ChannelContainer/index.ts +0 -5
  420. package/src/hooks/useBlackCanvasStreamTrack.tsx +0 -27
  421. package/src/hooks/useDebugMode.ts +0 -25
  422. package/src/hooks/useInaudibleAudioStreamTrack.tsx +0 -27
  423. package/src/hooks/useVideoStreamTrack.tsx +0 -36
  424. package/src/types/capabilities.ts +0 -37
  425. package/src/typings/peermetrics-webrtc-stats.d.ts +0 -46
  426. package/src/typings.d.ts +0 -8
  427. /package/dist/lib/{browser/chunk-J5LGTIGS.mjs.map → neutral/ChannelChat-6YTD5HWL.mjs.map} +0 -0
  428. /package/dist/lib/{browser/types → neutral/blueprints}/index.mjs.map +0 -0
  429. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
  430. /package/dist/lib/{node-esm/chunk-HSLMI22Q.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  431. /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
+ }
@@ -2,9 +2,33 @@ import {
2
2
  __export
3
3
  } from "./chunk-J5LGTIGS.mjs";
4
4
 
5
- // src/operations/definitions.ts
6
- var definitions_exports = {};
7
- __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, {
8
32
  AddMessage: () => AddMessage,
9
33
  AppendChannelMessage: () => AppendChannelMessage,
10
34
  Create: () => Create,
@@ -20,30 +44,29 @@ __export(definitions_exports, {
20
44
  Select: () => Select,
21
45
  ToggleResolved: () => ToggleResolved
22
46
  });
23
- import * as Schema from "effect/Schema";
24
- import { Capability } from "@dxos/app-framework";
47
+ import * as Schema2 from "effect/Schema";
48
+ import { Capability as Capability2 } from "@dxos/app-framework";
49
+ import { SpaceSchema } from "@dxos/client-protocol";
25
50
  import { Operation } from "@dxos/compute";
26
- import { Database, Key, Obj, Ref } from "@dxos/echo";
27
- import { Collection } from "@dxos/echo";
28
- import { Markdown } from "@dxos/plugin-markdown/types";
29
- import { SpaceSchema } from "@dxos/react-client/echo";
51
+ import { Collection, Database, Key, Obj, Ref } from "@dxos/echo";
52
+ import { Markdown } from "@dxos/plugin-markdown";
30
53
  import { Actor, AnchoredTo, Channel, Message, Thread } from "@dxos/types";
31
- import { meta } from "#meta";
32
- var THREAD_OPERATION = `${meta.id}.operation`;
54
+ import { meta as meta2 } from "#meta";
55
+ var THREAD_OPERATION = `${meta2.id}.operation`;
33
56
  var OnCreateSpace = Operation.make({
34
57
  meta: {
35
58
  key: `${THREAD_OPERATION}.on-create-space`,
36
59
  name: "On Create Space"
37
60
  },
38
61
  services: [
39
- Capability.Service
62
+ Capability2.Service
40
63
  ],
41
- input: Schema.Struct({
64
+ input: Schema2.Struct({
42
65
  space: SpaceSchema,
43
66
  rootCollection: Collection.Collection,
44
- isDefault: Schema.Boolean.pipe(Schema.optional)
67
+ isDefault: Schema2.Boolean.pipe(Schema2.optional)
45
68
  }),
46
- output: Schema.Void
69
+ output: Schema2.Void
47
70
  });
48
71
  var CreateChannel = Operation.make({
49
72
  meta: {
@@ -51,13 +74,13 @@ var CreateChannel = Operation.make({
51
74
  name: "Create Channel"
52
75
  },
53
76
  services: [
54
- Capability.Service
77
+ Capability2.Service
55
78
  ],
56
- input: Schema.Struct({
79
+ input: Schema2.Struct({
57
80
  spaceId: Key.SpaceId,
58
- name: Schema.optional(Schema.String)
81
+ name: Schema2.optional(Schema2.String)
59
82
  }),
60
- output: Schema.Struct({
83
+ output: Schema2.Struct({
61
84
  object: Channel.Channel
62
85
  })
63
86
  });
@@ -69,14 +92,14 @@ var AppendChannelMessage = Operation.make({
69
92
  // Note: Feed.FeedService is provided inside the handler from space.queues, not at the
70
93
  // operation level — the runtime can't fulfill it without a space context.
71
94
  services: [
72
- Capability.Service
95
+ Capability2.Service
73
96
  ],
74
- input: Schema.Struct({
97
+ input: Schema2.Struct({
75
98
  channel: Channel.Channel,
76
99
  sender: Actor.Actor,
77
- text: Schema.String
100
+ text: Schema2.String
78
101
  }),
79
- output: Schema.Void
102
+ output: Schema2.Void
80
103
  });
81
104
  var Create = Operation.make({
82
105
  meta: {
@@ -84,35 +107,35 @@ var Create = Operation.make({
84
107
  name: "Create Thread"
85
108
  },
86
109
  services: [
87
- Capability.Service
110
+ Capability2.Service
88
111
  ],
89
- input: Schema.Struct({
90
- name: Schema.optional(Schema.String),
91
- anchor: Schema.optional(Schema.String),
112
+ input: Schema2.Struct({
113
+ name: Schema2.optional(Schema2.String),
114
+ anchor: Schema2.optional(Schema2.String),
92
115
  subject: Obj.Unknown
93
116
  }),
94
- output: Schema.Void
117
+ output: Schema2.Void
95
118
  });
96
- var DeleteOutput = Schema.Struct({
119
+ var DeleteOutput = Schema2.Struct({
97
120
  thread: Thread.Thread.annotations({
98
121
  description: "The deleted thread."
99
122
  }),
100
123
  anchor: AnchoredTo.AnchoredTo.annotations({
101
124
  description: "The deleted anchor."
102
125
  })
103
- }).pipe(Schema.partial);
126
+ }).pipe(Schema2.partial);
104
127
  var Delete = Operation.make({
105
128
  meta: {
106
129
  key: `${THREAD_OPERATION}.delete`,
107
130
  name: "Delete Thread"
108
131
  },
109
132
  services: [
110
- Capability.Service
133
+ Capability2.Service
111
134
  ],
112
- input: Schema.Struct({
135
+ input: Schema2.Struct({
113
136
  anchor: AnchoredTo.AnchoredTo,
114
137
  subject: Obj.Unknown,
115
- thread: Schema.optional(Thread.Thread)
138
+ thread: Schema2.optional(Thread.Thread)
116
139
  }),
117
140
  output: DeleteOutput
118
141
  });
@@ -122,12 +145,12 @@ var Select = Operation.make({
122
145
  name: "Select Thread"
123
146
  },
124
147
  services: [
125
- Capability.Service
148
+ Capability2.Service
126
149
  ],
127
- input: Schema.Struct({
128
- current: Schema.String
150
+ input: Schema2.Struct({
151
+ current: Schema2.String
129
152
  }),
130
- output: Schema.Void
153
+ output: Schema2.Void
131
154
  });
132
155
  var ToggleResolved = Operation.make({
133
156
  meta: {
@@ -135,12 +158,12 @@ var ToggleResolved = Operation.make({
135
158
  name: "Toggle Resolved"
136
159
  },
137
160
  services: [
138
- Capability.Service
161
+ Capability2.Service
139
162
  ],
140
- input: Schema.Struct({
163
+ input: Schema2.Struct({
141
164
  thread: Thread.Thread
142
165
  }),
143
- output: Schema.Void
166
+ output: Schema2.Void
144
167
  });
145
168
  var AddMessage = Operation.make({
146
169
  meta: {
@@ -148,21 +171,21 @@ var AddMessage = Operation.make({
148
171
  name: "Add Message"
149
172
  },
150
173
  services: [
151
- Capability.Service
174
+ Capability2.Service
152
175
  ],
153
- input: Schema.Struct({
176
+ input: Schema2.Struct({
154
177
  subject: Obj.Unknown,
155
178
  anchor: AnchoredTo.AnchoredTo,
156
179
  sender: Actor.Actor,
157
- text: Schema.String
180
+ text: Schema2.String
158
181
  }),
159
- output: Schema.Void
182
+ output: Schema2.Void
160
183
  });
161
- var DeleteMessageOutput = Schema.partial(Schema.Struct({
184
+ var DeleteMessageOutput = Schema2.partial(Schema2.Struct({
162
185
  message: Message.Message.annotations({
163
186
  description: "The deleted message."
164
187
  }),
165
- messageIndex: Schema.Number.annotations({
188
+ messageIndex: Schema2.Number.annotations({
166
189
  description: "The index the message was at."
167
190
  })
168
191
  }));
@@ -172,12 +195,12 @@ var DeleteMessage = Operation.make({
172
195
  name: "Delete Message"
173
196
  },
174
197
  services: [
175
- Capability.Service
198
+ Capability2.Service
176
199
  ],
177
- input: Schema.Struct({
200
+ input: Schema2.Struct({
178
201
  anchor: AnchoredTo.AnchoredTo,
179
202
  subject: Obj.Unknown,
180
- messageId: Schema.String
203
+ messageId: Schema2.String
181
204
  }),
182
205
  output: DeleteMessageOutput
183
206
  });
@@ -187,9 +210,9 @@ var Restore = Operation.make({
187
210
  name: "Restore Thread"
188
211
  },
189
212
  services: [
190
- Capability.Service
213
+ Capability2.Service
191
214
  ],
192
- input: Schema.Struct({
215
+ input: Schema2.Struct({
193
216
  thread: Thread.Thread.annotations({
194
217
  description: "The thread to restore."
195
218
  }),
@@ -197,7 +220,7 @@ var Restore = Operation.make({
197
220
  description: "The anchor relation to restore."
198
221
  })
199
222
  }),
200
- output: Schema.Void
223
+ output: Schema2.Void
201
224
  });
202
225
  var RestoreMessage = Operation.make({
203
226
  meta: {
@@ -205,20 +228,20 @@ var RestoreMessage = Operation.make({
205
228
  name: "Restore Message"
206
229
  },
207
230
  services: [
208
- Capability.Service
231
+ Capability2.Service
209
232
  ],
210
- input: Schema.Struct({
233
+ input: Schema2.Struct({
211
234
  anchor: AnchoredTo.AnchoredTo.annotations({
212
235
  description: "The anchor of the thread."
213
236
  }),
214
237
  message: Message.Message.annotations({
215
238
  description: "The message to restore."
216
239
  }),
217
- messageIndex: Schema.Number.annotations({
240
+ messageIndex: Schema2.Number.annotations({
218
241
  description: "The index to restore the message at."
219
242
  })
220
243
  }),
221
- output: Schema.Void
244
+ output: Schema2.Void
222
245
  });
223
246
  var CreateProposals = Operation.make({
224
247
  meta: {
@@ -226,33 +249,23 @@ var CreateProposals = Operation.make({
226
249
  name: "Create Proposals",
227
250
  description: "Proposes a set of changes to a document."
228
251
  },
229
- input: Schema.Struct({
252
+ input: Schema2.Struct({
230
253
  doc: Ref.Ref(Markdown.Document).annotations({
231
254
  description: "The ID of the document."
232
255
  }),
233
- diffs: Schema.Array(Schema.String).annotations({
256
+ diffs: Schema2.Array(Schema2.String).annotations({
234
257
  description: "The diffs to propose for the document."
235
258
  })
236
259
  }),
237
- output: Schema.Void,
260
+ output: Schema2.Void,
238
261
  services: [
239
262
  Database.Service
240
263
  ]
241
264
  });
242
265
 
243
266
  export {
244
- OnCreateSpace,
245
- CreateChannel,
246
- AppendChannelMessage,
247
- Create,
248
- Delete,
249
- Select,
250
- ToggleResolved,
251
- AddMessage,
252
- DeleteMessage,
253
- Restore,
254
- RestoreMessage,
255
- CreateProposals,
256
- definitions_exports
267
+ Settings_exports,
268
+ ThreadCapabilities_exports,
269
+ ThreadOperation_exports
257
270
  };
258
- //# sourceMappingURL=chunk-TPNZ43NB.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": "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",
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-QMLVLKE3.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport const ThreadOperationHandlerSet = OperationHandlerSet.lazy(\n () => import('./add-message'),\n () => import('./append-channel-message'),\n () => import('./create'),\n () => import('./create-channel'),\n () => import('./create-proposals'),\n () => import('./delete'),\n () => import('./delete-message'),\n () => import('./on-create-space'),\n () => import('./restore'),\n () => import('./restore-message'),\n () => import('./select'),\n () => import('./toggle-resolved'),\n);\n"],
5
+ "mappings": ";AAIA,SAASA,2BAA2B;AAE7B,IAAMC,4BAA4BD,oBAAoBE,KAC3D,MAAM,OAAO,4BAAA,GACb,MAAM,OAAO,uCAAA,GACb,MAAM,OAAO,uBAAA,GACb,MAAM,OAAO,+BAAA,GACb,MAAM,OAAO,iCAAA,GACb,MAAM,OAAO,uBAAA,GACb,MAAM,OAAO,+BAAA,GACb,MAAM,OAAO,gCAAA,GACb,MAAM,OAAO,wBAAA,GACb,MAAM,OAAO,gCAAA,GACb,MAAM,OAAO,uBAAA,GACb,MAAM,OAAO,gCAAA,CAAA;",
6
+ "names": ["OperationHandlerSet", "ThreadOperationHandlerSet", "lazy"]
7
+ }