@dxos/plugin-markdown 0.8.4-main.72ec0f3 → 0.8.4-main.937b3ca

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 (357) hide show
  1. package/dist/lib/browser/MarkdownCard-HFNNE4B4.mjs +12 -0
  2. package/dist/lib/browser/MarkdownContainer-V7EAADMF.mjs +12 -0
  3. package/dist/lib/browser/{anchor-sort-3HGPGCOO.mjs → anchor-sort-WQ3TL7ZI.mjs} +11 -10
  4. package/dist/lib/browser/anchor-sort-WQ3TL7ZI.mjs.map +7 -0
  5. package/dist/lib/browser/app-graph-serializer-ULZUJKOD.mjs +58 -0
  6. package/dist/lib/browser/app-graph-serializer-ULZUJKOD.mjs.map +7 -0
  7. package/dist/lib/browser/blueprint-definition-TLV4PNZW.mjs +19 -0
  8. package/dist/lib/browser/blueprint-definition-TLV4PNZW.mjs.map +7 -0
  9. package/dist/lib/browser/blueprints/index.mjs +8 -0
  10. package/dist/lib/browser/chunk-BX73DASG.mjs +702 -0
  11. package/dist/lib/browser/chunk-BX73DASG.mjs.map +7 -0
  12. package/dist/lib/browser/chunk-CUGDX7KA.mjs +8 -0
  13. package/dist/lib/browser/chunk-CUGDX7KA.mjs.map +7 -0
  14. package/dist/lib/browser/{chunk-Y53FQREH.mjs → chunk-FWQQW6KU.mjs} +41 -47
  15. package/dist/lib/browser/chunk-FWQQW6KU.mjs.map +7 -0
  16. package/dist/lib/browser/{chunk-22XSSNBS.mjs → chunk-JOXYQLKH.mjs} +5 -6
  17. package/dist/lib/browser/chunk-JOXYQLKH.mjs.map +7 -0
  18. package/dist/lib/browser/chunk-KDKXFKDN.mjs +104 -0
  19. package/dist/lib/browser/chunk-KDKXFKDN.mjs.map +7 -0
  20. package/dist/lib/browser/chunk-LMO5UVKL.mjs +167 -0
  21. package/dist/lib/browser/chunk-LMO5UVKL.mjs.map +7 -0
  22. package/dist/lib/browser/chunk-S45ULIOG.mjs +101 -0
  23. package/dist/lib/browser/chunk-S45ULIOG.mjs.map +7 -0
  24. package/dist/lib/browser/chunk-VQ3WOAB6.mjs +60 -0
  25. package/dist/lib/browser/chunk-VQ3WOAB6.mjs.map +7 -0
  26. package/dist/lib/browser/cli/index.mjs +32 -0
  27. package/dist/lib/browser/cli/index.mjs.map +7 -0
  28. package/dist/lib/browser/index.mjs +121 -143
  29. package/dist/lib/browser/index.mjs.map +4 -4
  30. package/dist/lib/browser/meta.json +1 -1
  31. package/dist/lib/browser/operation-resolver-EGCWOQKJ.mjs +53 -0
  32. package/dist/lib/browser/operation-resolver-EGCWOQKJ.mjs.map +7 -0
  33. package/dist/lib/browser/react-surface-64FZ7T7F.mjs +213 -0
  34. package/dist/lib/browser/react-surface-64FZ7T7F.mjs.map +7 -0
  35. package/dist/lib/browser/settings-JY5JE7MI.mjs +35 -0
  36. package/dist/lib/browser/settings-JY5JE7MI.mjs.map +7 -0
  37. package/dist/lib/browser/state-QE7VSJWJ.mjs +29 -0
  38. package/dist/lib/browser/state-QE7VSJWJ.mjs.map +7 -0
  39. package/dist/lib/browser/types/index.mjs +10 -3
  40. package/dist/lib/node-esm/{MarkdownCard-ZXPJLUYO.mjs → MarkdownCard-GMNXUWWR.mjs} +5 -5
  41. package/dist/lib/node-esm/MarkdownContainer-LUSMORP2.mjs +13 -0
  42. package/dist/lib/node-esm/{anchor-sort-PCDXEBJ2.mjs → anchor-sort-G7D5TAI6.mjs} +11 -10
  43. package/dist/lib/node-esm/anchor-sort-G7D5TAI6.mjs.map +7 -0
  44. package/dist/lib/node-esm/app-graph-serializer-W5YMQP7P.mjs +59 -0
  45. package/dist/lib/node-esm/app-graph-serializer-W5YMQP7P.mjs.map +7 -0
  46. package/dist/lib/node-esm/blueprint-definition-HYFA7BKQ.mjs +20 -0
  47. package/dist/lib/node-esm/blueprint-definition-HYFA7BKQ.mjs.map +7 -0
  48. package/dist/lib/node-esm/blueprints/index.mjs +9 -0
  49. package/dist/lib/node-esm/chunk-3JYPCC7M.mjs +105 -0
  50. package/dist/lib/node-esm/chunk-3JYPCC7M.mjs.map +7 -0
  51. package/dist/lib/node-esm/{chunk-AMHACOXW.mjs → chunk-44VJC3QF.mjs} +5 -6
  52. package/dist/lib/node-esm/chunk-44VJC3QF.mjs.map +7 -0
  53. package/dist/lib/node-esm/chunk-D4BCFPKK.mjs +703 -0
  54. package/dist/lib/node-esm/chunk-D4BCFPKK.mjs.map +7 -0
  55. package/dist/lib/node-esm/{chunk-HAIEWPU7.mjs → chunk-EYAFC4N7.mjs} +41 -47
  56. package/dist/lib/node-esm/chunk-EYAFC4N7.mjs.map +7 -0
  57. package/dist/lib/node-esm/chunk-KXEQCFMB.mjs +61 -0
  58. package/dist/lib/node-esm/chunk-KXEQCFMB.mjs.map +7 -0
  59. package/dist/lib/node-esm/chunk-PRV35A7Z.mjs +168 -0
  60. package/dist/lib/node-esm/chunk-PRV35A7Z.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-PLZ7EVCT.mjs → chunk-SDTYEGGL.mjs} +56 -6
  62. package/dist/lib/node-esm/chunk-SDTYEGGL.mjs.map +7 -0
  63. package/dist/lib/node-esm/chunk-W3IIKDV5.mjs +10 -0
  64. package/dist/lib/node-esm/chunk-W3IIKDV5.mjs.map +7 -0
  65. package/dist/lib/node-esm/cli/index.mjs +33 -0
  66. package/dist/lib/node-esm/cli/index.mjs.map +7 -0
  67. package/dist/lib/node-esm/index.mjs +121 -143
  68. package/dist/lib/node-esm/index.mjs.map +4 -4
  69. package/dist/lib/node-esm/meta.json +1 -1
  70. package/dist/lib/node-esm/operation-resolver-2HIS2AQZ.mjs +54 -0
  71. package/dist/lib/node-esm/operation-resolver-2HIS2AQZ.mjs.map +7 -0
  72. package/dist/lib/node-esm/react-surface-PKEVHTJK.mjs +214 -0
  73. package/dist/lib/node-esm/react-surface-PKEVHTJK.mjs.map +7 -0
  74. package/dist/lib/node-esm/settings-4UGMPIRY.mjs +36 -0
  75. package/dist/lib/node-esm/settings-4UGMPIRY.mjs.map +7 -0
  76. package/dist/lib/node-esm/state-LXE5XIN4.mjs +30 -0
  77. package/dist/lib/node-esm/state-LXE5XIN4.mjs.map +7 -0
  78. package/dist/lib/node-esm/types/index.mjs +10 -3
  79. package/dist/types/src/MarkdownPlugin.d.ts +2 -1
  80. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  81. package/dist/types/src/blueprints/functions/create.d.ts.map +1 -0
  82. package/dist/types/src/blueprints/functions/create.test.d.ts.map +1 -0
  83. package/dist/types/src/blueprints/functions/index.d.ts +4 -0
  84. package/dist/types/src/blueprints/functions/index.d.ts.map +1 -0
  85. package/dist/types/src/blueprints/functions/open.d.ts.map +1 -0
  86. package/dist/types/src/blueprints/functions/update.d.ts.map +1 -0
  87. package/dist/types/src/blueprints/functions/update.test.d.ts.map +1 -0
  88. package/dist/types/src/blueprints/index.d.ts +2 -0
  89. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  90. package/dist/types/src/blueprints/markdown-blueprint.d.ts +21 -0
  91. package/dist/types/src/blueprints/markdown-blueprint.d.ts.map +1 -0
  92. package/dist/types/src/capabilities/anchor-sort/anchor-sort.d.ts +5 -0
  93. package/dist/types/src/capabilities/anchor-sort/anchor-sort.d.ts.map +1 -0
  94. package/dist/types/src/capabilities/anchor-sort/index.d.ts +3 -0
  95. package/dist/types/src/capabilities/anchor-sort/index.d.ts.map +1 -0
  96. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts +5 -0
  97. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts.map +1 -0
  98. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts +3 -0
  99. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts.map +1 -0
  100. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts +5 -0
  101. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts.map +1 -0
  102. package/dist/types/src/capabilities/artifact-definition/index.d.ts +3 -0
  103. package/dist/types/src/capabilities/artifact-definition/index.d.ts.map +1 -0
  104. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +10 -0
  105. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
  106. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +3 -0
  107. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
  108. package/dist/types/src/capabilities/index.d.ts +6 -13
  109. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  110. package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
  111. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  112. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
  113. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  114. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  115. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  116. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  117. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  118. package/dist/types/src/capabilities/settings/index.d.ts +3 -0
  119. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  120. package/dist/types/src/capabilities/settings/settings.d.ts +6 -0
  121. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  122. package/dist/types/src/capabilities/state/index.d.ts +3 -0
  123. package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
  124. package/dist/types/src/capabilities/state/state.d.ts +5 -0
  125. package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
  126. package/dist/types/src/cli/index.d.ts +2 -0
  127. package/dist/types/src/cli/index.d.ts.map +1 -0
  128. package/dist/types/src/cli/plugin.d.ts +3 -0
  129. package/dist/types/src/cli/plugin.d.ts.map +1 -0
  130. package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts +4 -3
  131. package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts.map +1 -1
  132. package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts +5 -5
  133. package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts.map +1 -1
  134. package/dist/types/src/components/MarkdownContainer.d.ts +19 -5
  135. package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
  136. package/dist/types/src/components/MarkdownContainer.stories.d.ts +1 -0
  137. package/dist/types/src/components/MarkdownContainer.stories.d.ts.map +1 -1
  138. package/dist/types/src/components/MarkdownEditor/FileUpload.d.ts +2 -2
  139. package/dist/types/src/components/MarkdownEditor/FileUpload.d.ts.map +1 -1
  140. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +8 -7
  141. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
  142. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts.map +1 -1
  143. package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts +12 -8
  144. package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts.map +1 -1
  145. package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts +4 -4
  146. package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts.map +1 -1
  147. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts +4 -2
  148. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts.map +1 -1
  149. package/dist/types/src/components/Suggestions.stories.d.ts.map +1 -1
  150. package/dist/types/src/components/index.d.ts +5 -2
  151. package/dist/types/src/components/index.d.ts.map +1 -1
  152. package/dist/types/src/hooks/useEditorMenuOptions.d.ts.map +1 -1
  153. package/dist/types/src/hooks/useExtensions.d.ts +3 -3
  154. package/dist/types/src/hooks/useExtensions.d.ts.map +1 -1
  155. package/dist/types/src/hooks/useLinkQuery.d.ts +2 -2
  156. package/dist/types/src/hooks/useLinkQuery.d.ts.map +1 -1
  157. package/dist/types/src/hooks/useSelectCurrentThread.d.ts.map +1 -1
  158. package/dist/types/src/index.d.ts +1 -2
  159. package/dist/types/src/index.d.ts.map +1 -1
  160. package/dist/types/src/meta.d.ts +2 -2
  161. package/dist/types/src/meta.d.ts.map +1 -1
  162. package/dist/types/src/testing.d.ts +2 -2
  163. package/dist/types/src/testing.d.ts.map +1 -1
  164. package/dist/types/src/translations.d.ts +1 -0
  165. package/dist/types/src/translations.d.ts.map +1 -1
  166. package/dist/types/src/types/Markdown.d.ts +15 -15
  167. package/dist/types/src/types/Markdown.d.ts.map +1 -1
  168. package/dist/types/src/types/MarkdownAction.d.ts +63 -31
  169. package/dist/types/src/types/MarkdownAction.d.ts.map +1 -1
  170. package/dist/types/src/types/capabilities.d.ts +22 -0
  171. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  172. package/dist/types/src/types/events.d.ts +5 -0
  173. package/dist/types/src/types/events.d.ts.map +1 -0
  174. package/dist/types/src/types/index.d.ts +3 -0
  175. package/dist/types/src/types/index.d.ts.map +1 -1
  176. package/dist/types/src/types/types.d.ts +2 -2
  177. package/dist/types/src/types/types.d.ts.map +1 -1
  178. package/dist/types/src/util.d.ts +3 -0
  179. package/dist/types/src/util.d.ts.map +1 -1
  180. package/dist/types/src/util.test.d.ts +2 -0
  181. package/dist/types/src/util.test.d.ts.map +1 -0
  182. package/dist/types/tsconfig.tsbuildinfo +1 -1
  183. package/package.json +82 -67
  184. package/src/MarkdownPlugin.tsx +60 -89
  185. package/src/blueprints/functions/create.conversations.json +1 -0
  186. package/src/{functions → blueprints/functions}/create.test.ts +22 -25
  187. package/src/{functions → blueprints/functions}/create.ts +1 -1
  188. package/src/blueprints/functions/index.ts +7 -0
  189. package/src/{functions → blueprints/functions}/open.ts +4 -3
  190. package/src/blueprints/functions/update.conversations.json +1 -0
  191. package/src/{functions → blueprints/functions}/update.test.ts +25 -27
  192. package/src/{functions → blueprints/functions}/update.ts +4 -3
  193. package/src/blueprints/index.ts +5 -0
  194. package/src/blueprints/markdown-blueprint.ts +38 -0
  195. package/src/capabilities/anchor-sort/anchor-sort.ts +36 -0
  196. package/src/capabilities/anchor-sort/index.ts +7 -0
  197. package/src/capabilities/app-graph-serializer/app-graph-serializer.ts +59 -0
  198. package/src/capabilities/app-graph-serializer/index.ts +7 -0
  199. package/src/capabilities/artifact-definition/artifact-definition.ts +110 -0
  200. package/src/capabilities/artifact-definition/index.ts +7 -0
  201. package/src/capabilities/blueprint-definition/blueprint-definition.ts +25 -0
  202. package/src/capabilities/blueprint-definition/index.ts +7 -0
  203. package/src/capabilities/index.ts +6 -11
  204. package/src/capabilities/operation-resolver/index.ts +7 -0
  205. package/src/capabilities/operation-resolver/operation-resolver.ts +45 -0
  206. package/src/capabilities/react-surface/index.ts +7 -0
  207. package/src/capabilities/react-surface/react-surface.tsx +100 -0
  208. package/src/capabilities/settings/index.ts +7 -0
  209. package/src/capabilities/settings/settings.ts +36 -0
  210. package/src/capabilities/state/index.ts +7 -0
  211. package/src/capabilities/state/state.ts +31 -0
  212. package/src/cli/index.ts +5 -0
  213. package/src/cli/plugin.ts +29 -0
  214. package/src/components/MarkdownCard/MarkdownCard.stories.tsx +25 -43
  215. package/src/components/MarkdownCard/MarkdownCard.tsx +17 -44
  216. package/src/components/MarkdownContainer.stories.tsx +47 -60
  217. package/src/components/MarkdownContainer.tsx +86 -88
  218. package/src/components/MarkdownEditor/FileUpload.tsx +3 -3
  219. package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +16 -17
  220. package/src/components/MarkdownEditor/MarkdownEditor.tsx +14 -15
  221. package/src/components/MarkdownEditor/MarkdownEditorContent.tsx +44 -18
  222. package/src/components/MarkdownEditor/MarkdownEditorToolbar.tsx +7 -4
  223. package/src/components/MarkdownSettings/MarkdownSettings.tsx +24 -10
  224. package/src/components/Suggestions.stories.tsx +23 -33
  225. package/src/components/index.ts +8 -3
  226. package/src/hooks/useEditorMenuOptions.ts +10 -13
  227. package/src/hooks/useExtensions.tsx +25 -30
  228. package/src/hooks/useLinkQuery.ts +19 -19
  229. package/src/hooks/useSelectCurrentThread.tsx +37 -42
  230. package/src/index.ts +1 -2
  231. package/src/meta.ts +2 -2
  232. package/src/testing.ts +5 -5
  233. package/src/translations.ts +1 -0
  234. package/src/types/Markdown.ts +6 -7
  235. package/src/types/MarkdownAction.ts +48 -18
  236. package/src/types/capabilities.ts +38 -0
  237. package/src/types/events.ts +13 -0
  238. package/src/types/index.ts +3 -0
  239. package/src/types/types.ts +3 -2
  240. package/src/util.test.ts +44 -0
  241. package/src/util.tsx +75 -5
  242. package/dist/lib/browser/MarkdownCard-JYMDPKV5.mjs +0 -12
  243. package/dist/lib/browser/MarkdownContainer-Y75XSVBX.mjs +0 -15
  244. package/dist/lib/browser/anchor-sort-3HGPGCOO.mjs.map +0 -7
  245. package/dist/lib/browser/app-graph-serializer-POZN234F.mjs +0 -51
  246. package/dist/lib/browser/app-graph-serializer-POZN234F.mjs.map +0 -7
  247. package/dist/lib/browser/blueprint-definition-GIPKFDY5.mjs +0 -13
  248. package/dist/lib/browser/chunk-22XSSNBS.mjs.map +0 -7
  249. package/dist/lib/browser/chunk-2MLGSYRN.mjs +0 -20
  250. package/dist/lib/browser/chunk-2MLGSYRN.mjs.map +0 -7
  251. package/dist/lib/browser/chunk-BQTYJOFB.mjs +0 -28
  252. package/dist/lib/browser/chunk-BQTYJOFB.mjs.map +0 -7
  253. package/dist/lib/browser/chunk-GH6GQSBL.mjs +0 -51
  254. package/dist/lib/browser/chunk-GH6GQSBL.mjs.map +0 -7
  255. package/dist/lib/browser/chunk-IBCHVMZW.mjs +0 -16
  256. package/dist/lib/browser/chunk-IBCHVMZW.mjs.map +0 -7
  257. package/dist/lib/browser/chunk-K3LXOU3E.mjs +0 -827
  258. package/dist/lib/browser/chunk-K3LXOU3E.mjs.map +0 -7
  259. package/dist/lib/browser/chunk-PBJLFIOX.mjs +0 -96
  260. package/dist/lib/browser/chunk-PBJLFIOX.mjs.map +0 -7
  261. package/dist/lib/browser/chunk-QYSEJ5GP.mjs +0 -79
  262. package/dist/lib/browser/chunk-QYSEJ5GP.mjs.map +0 -7
  263. package/dist/lib/browser/chunk-Y53FQREH.mjs.map +0 -7
  264. package/dist/lib/browser/intent-resolver-Z5L7TXUK.mjs +0 -62
  265. package/dist/lib/browser/intent-resolver-Z5L7TXUK.mjs.map +0 -7
  266. package/dist/lib/browser/react-surface-GO5ZOKNN.mjs +0 -211
  267. package/dist/lib/browser/react-surface-GO5ZOKNN.mjs.map +0 -7
  268. package/dist/lib/browser/settings-TZUDB5EW.mjs +0 -28
  269. package/dist/lib/browser/settings-TZUDB5EW.mjs.map +0 -7
  270. package/dist/lib/browser/state-BTUKVZHY.mjs +0 -37
  271. package/dist/lib/browser/state-BTUKVZHY.mjs.map +0 -7
  272. package/dist/lib/browser/toolkit.mjs +0 -13
  273. package/dist/lib/node-esm/MarkdownContainer-YRDSRDCS.mjs +0 -16
  274. package/dist/lib/node-esm/anchor-sort-PCDXEBJ2.mjs.map +0 -7
  275. package/dist/lib/node-esm/app-graph-serializer-NF65JYAS.mjs +0 -52
  276. package/dist/lib/node-esm/app-graph-serializer-NF65JYAS.mjs.map +0 -7
  277. package/dist/lib/node-esm/blueprint-definition-ENKJZYQS.mjs +0 -14
  278. package/dist/lib/node-esm/blueprint-definition-ENKJZYQS.mjs.map +0 -7
  279. package/dist/lib/node-esm/chunk-AMHACOXW.mjs.map +0 -7
  280. package/dist/lib/node-esm/chunk-CT7CFX5G.mjs +0 -828
  281. package/dist/lib/node-esm/chunk-CT7CFX5G.mjs.map +0 -7
  282. package/dist/lib/node-esm/chunk-GMMVSXQ6.mjs +0 -17
  283. package/dist/lib/node-esm/chunk-GMMVSXQ6.mjs.map +0 -7
  284. package/dist/lib/node-esm/chunk-HAIEWPU7.mjs.map +0 -7
  285. package/dist/lib/node-esm/chunk-KCHUTL3Q.mjs +0 -22
  286. package/dist/lib/node-esm/chunk-KCHUTL3Q.mjs.map +0 -7
  287. package/dist/lib/node-esm/chunk-NGYJNQ6A.mjs +0 -80
  288. package/dist/lib/node-esm/chunk-NGYJNQ6A.mjs.map +0 -7
  289. package/dist/lib/node-esm/chunk-PIOOG7A5.mjs +0 -97
  290. package/dist/lib/node-esm/chunk-PIOOG7A5.mjs.map +0 -7
  291. package/dist/lib/node-esm/chunk-PLZ7EVCT.mjs.map +0 -7
  292. package/dist/lib/node-esm/chunk-SHAMSMKQ.mjs +0 -29
  293. package/dist/lib/node-esm/chunk-SHAMSMKQ.mjs.map +0 -7
  294. package/dist/lib/node-esm/intent-resolver-6B3PFQ5F.mjs +0 -63
  295. package/dist/lib/node-esm/intent-resolver-6B3PFQ5F.mjs.map +0 -7
  296. package/dist/lib/node-esm/react-surface-I46BPCWT.mjs +0 -212
  297. package/dist/lib/node-esm/react-surface-I46BPCWT.mjs.map +0 -7
  298. package/dist/lib/node-esm/settings-CJ3T5EX4.mjs +0 -29
  299. package/dist/lib/node-esm/settings-CJ3T5EX4.mjs.map +0 -7
  300. package/dist/lib/node-esm/state-K6EH7SRZ.mjs +0 -38
  301. package/dist/lib/node-esm/state-K6EH7SRZ.mjs.map +0 -7
  302. package/dist/lib/node-esm/toolkit.mjs +0 -14
  303. package/dist/lib/node-esm/toolkit.mjs.map +0 -7
  304. package/dist/types/src/capabilities/anchor-sort.d.ts +0 -4
  305. package/dist/types/src/capabilities/anchor-sort.d.ts.map +0 -1
  306. package/dist/types/src/capabilities/app-graph-serializer.d.ts +0 -4
  307. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +0 -1
  308. package/dist/types/src/capabilities/artifact-definition.d.ts +0 -3
  309. package/dist/types/src/capabilities/artifact-definition.d.ts.map +0 -1
  310. package/dist/types/src/capabilities/blueprint-definition.d.ts +0 -7
  311. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +0 -1
  312. package/dist/types/src/capabilities/capabilities.d.ts +0 -12
  313. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  314. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  315. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  316. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  317. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  318. package/dist/types/src/capabilities/settings.d.ts +0 -4
  319. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  320. package/dist/types/src/capabilities/state.d.ts +0 -11
  321. package/dist/types/src/capabilities/state.d.ts.map +0 -1
  322. package/dist/types/src/events.d.ts +0 -4
  323. package/dist/types/src/events.d.ts.map +0 -1
  324. package/dist/types/src/functions/create.d.ts.map +0 -1
  325. package/dist/types/src/functions/create.test.d.ts.map +0 -1
  326. package/dist/types/src/functions/index.d.ts +0 -18
  327. package/dist/types/src/functions/index.d.ts.map +0 -1
  328. package/dist/types/src/functions/open.d.ts.map +0 -1
  329. package/dist/types/src/functions/update.d.ts.map +0 -1
  330. package/dist/types/src/functions/update.test.d.ts.map +0 -1
  331. package/dist/types/src/toolkit.d.ts +0 -3
  332. package/dist/types/src/toolkit.d.ts.map +0 -1
  333. package/src/capabilities/anchor-sort.ts +0 -30
  334. package/src/capabilities/app-graph-serializer.ts +0 -54
  335. package/src/capabilities/artifact-definition.ts +0 -112
  336. package/src/capabilities/blueprint-definition.ts +0 -43
  337. package/src/capabilities/capabilities.ts +0 -22
  338. package/src/capabilities/intent-resolver.ts +0 -58
  339. package/src/capabilities/react-surface.tsx +0 -93
  340. package/src/capabilities/settings.ts +0 -25
  341. package/src/capabilities/state.ts +0 -31
  342. package/src/events.ts +0 -11
  343. package/src/functions/create.conversations.json +0 -1
  344. package/src/functions/index.ts +0 -13
  345. package/src/functions/update.conversations.json +0 -1
  346. package/src/toolkit.ts +0 -6
  347. /package/dist/lib/browser/{MarkdownCard-JYMDPKV5.mjs.map → MarkdownCard-HFNNE4B4.mjs.map} +0 -0
  348. /package/dist/lib/browser/{MarkdownContainer-Y75XSVBX.mjs.map → MarkdownContainer-V7EAADMF.mjs.map} +0 -0
  349. /package/dist/lib/browser/{blueprint-definition-GIPKFDY5.mjs.map → blueprints/index.mjs.map} +0 -0
  350. /package/dist/lib/{browser/toolkit.mjs.map → node-esm/MarkdownCard-GMNXUWWR.mjs.map} +0 -0
  351. /package/dist/lib/node-esm/{MarkdownCard-ZXPJLUYO.mjs.map → MarkdownContainer-LUSMORP2.mjs.map} +0 -0
  352. /package/dist/lib/node-esm/{MarkdownContainer-YRDSRDCS.mjs.map → blueprints/index.mjs.map} +0 -0
  353. /package/dist/types/src/{functions → blueprints/functions}/create.d.ts +0 -0
  354. /package/dist/types/src/{functions → blueprints/functions}/create.test.d.ts +0 -0
  355. /package/dist/types/src/{functions → blueprints/functions}/open.d.ts +0 -0
  356. /package/dist/types/src/{functions → blueprints/functions}/update.d.ts +0 -0
  357. /package/dist/types/src/{functions → blueprints/functions}/update.test.d.ts +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useLinkQuery.ts", "../../../src/hooks/useEditorMenuOptions.ts", "../../../src/hooks/useExtensions.tsx", "../../../src/hooks/useSelectCurrentThread.tsx", "../../../src/components/MarkdownEditor/MarkdownEditor.tsx", "../../../src/components/MarkdownEditor/MarkdownEditorContent.tsx", "../../../src/components/MarkdownEditor/MarkdownEditorToolbar.tsx", "../../../src/components/MarkdownEditor/FileUpload.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Option from 'effect/Option';\nimport { useCallback, useMemo } from 'react';\n\nimport { Common } from '@dxos/app-framework';\nimport { usePluginManager } from '@dxos/app-framework/react';\nimport { type Database, Filter, Obj, Query, Type } from '@dxos/echo';\nimport { EntityKind, SystemTypeAnnotation, getTypeAnnotation } from '@dxos/echo/internal';\nimport { toLocalizedString, useTranslation } from '@dxos/react-ui';\nimport { type EditorMenuGroup, type EditorMenuItem } from '@dxos/react-ui-editor';\nimport { insertAtCursor, insertAtLineStart } from '@dxos/ui-editor';\n\nexport const useLinkQuery = (db: Database.Database | undefined) => {\n const { t } = useTranslation();\n\n const manager = usePluginManager();\n const resolve = useCallback(\n (typename: string) =>\n manager.capabilities.getAll(Common.Capability.Metadata).find(({ id }) => id === typename)?.metadata ?? {},\n [manager],\n );\n\n const filter = useMemo(\n () =>\n Filter.or(\n ...(db?.schemaRegistry.query({ location: ['database', 'runtime'] }).runSync() ?? [])\n .filter((schema) => getTypeAnnotation(schema)?.kind !== EntityKind.Relation)\n .filter((schema) => !SystemTypeAnnotation.get(schema).pipe(Option.getOrElse(() => false)))\n .map((schema) => Filter.typename(Type.getTypename(schema))),\n ),\n [db],\n );\n\n const handleLinkQuery = useCallback(\n async (query?: string): Promise<EditorMenuGroup[]> => {\n const name = query?.startsWith('@') ? query.slice(1).toLowerCase() : (query?.toLowerCase() ?? '');\n const results = await db?.query(Query.select(filter)).run();\n\n // TODO(wittjosiah): Use `Obj.Unknown` type.\n const getLabel = (object: any) => {\n const label = Obj.getLabel(object);\n if (label) {\n return label;\n }\n\n // TODO(wittjosiah): Remove metadata labels.\n const type = Obj.getTypename(object)!;\n const metadata = resolve(type);\n return metadata.label?.(object) || ['object name placeholder', { ns: type, default: 'New object' }];\n };\n\n const items =\n results\n ?.filter((object) => toLocalizedString(getLabel(object), t).toLowerCase().includes(name))\n // TODO(wittjosiah): Remove `any` type.\n .map((object: any): EditorMenuItem => {\n const metadata = resolve(Obj.getTypename(object)!);\n const label = toLocalizedString(getLabel(object), t);\n return {\n id: object.id,\n label,\n icon: metadata.icon,\n onSelect: ({ view, head }) => {\n const link = `[${label}](${Obj.getDXN(object)})`;\n if (query?.startsWith('@')) {\n insertAtLineStart(view, head, `!${link}\\n`);\n } else {\n insertAtCursor(view, head, `${link} `);\n }\n },\n };\n }) ?? [];\n\n return [{ id: 'echo', items }];\n },\n [db, filter, resolve],\n );\n\n return handleLinkQuery;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type EditorView } from '@codemirror/view';\nimport { useCallback, useMemo, useRef } from 'react';\n\nimport { toLocalizedString, useTranslation } from '@dxos/react-ui';\nimport {\n type EditorMenuGroup,\n type UseEditorMenuProps,\n filterMenuGroups,\n formattingCommands,\n linkSlashCommands,\n} from '@dxos/react-ui-editor';\nimport { Domino } from '@dxos/ui';\n\nimport { meta } from '../meta';\n\nexport type UseEditorMenuOptionsProps = {\n editorView?: EditorView;\n slashCommandGroups?: EditorMenuGroup[];\n onLinkQuery?: (query?: string) => Promise<EditorMenuGroup[]>;\n};\n\nexport const useEditorMenuOptions = ({\n editorView,\n slashCommandGroups,\n onLinkQuery,\n}: UseEditorMenuOptionsProps): UseEditorMenuProps => {\n const { t } = useTranslation(meta.id);\n\n const getMenu = useCallback<NonNullable<UseEditorMenuProps['getMenu']>>(\n ({ text, trigger }) => {\n switch (trigger) {\n case '@': {\n return onLinkQuery?.(text) ?? [];\n }\n\n case '/':\n default: {\n return filterMenuGroups([formattingCommands, linkSlashCommands, ...(slashCommandGroups ?? [])], (item) =>\n text ? toLocalizedString(item.label, t).toLowerCase().includes(text.toLowerCase()) : true,\n );\n }\n }\n },\n [slashCommandGroups, onLinkQuery],\n );\n\n const viewRef = useRef(editorView);\n return useMemo<UseEditorMenuProps>(() => {\n const trigger = onLinkQuery ? ['/', '@'] : ['/'];\n const placeholder = {\n delay: 3_000,\n content: () => {\n const pressEl = Domino.of('span').text('Press');\n const triggerEls = trigger.map((text) =>\n Domino.of('span').classNames('mx-1 pli-1.5 pt-[1px] pb-[2px] border border-separator rounded-sm').text(text),\n );\n const forCommandsEl = Domino.of('span').text('for commands.');\n return Domino.of('div').children(pressEl, ...triggerEls, forCommandsEl).root;\n },\n };\n\n return { viewRef, getMenu, trigger, placeholder };\n }, [getMenu, onLinkQuery]);\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type ViewUpdate } from '@codemirror/view';\nimport React, { type AnchorHTMLAttributes, type ReactNode, useMemo } from 'react';\nimport { createRoot } from 'react-dom/client';\n\nimport { Common } from '@dxos/app-framework';\nimport { useOperationInvoker } from '@dxos/app-framework/react';\nimport { debounceAndThrottle } from '@dxos/async';\nimport { Obj } from '@dxos/echo';\nimport { createDocAccessor } from '@dxos/echo-db';\nimport { invariant } from '@dxos/invariant';\nimport { getSpace, useObject } from '@dxos/react-client/echo';\nimport { useIdentity } from '@dxos/react-client/halo';\nimport { Icon, ThemeProvider } from '@dxos/react-ui';\nimport { type SelectionManager } from '@dxos/react-ui-attention';\nimport { Text } from '@dxos/schema';\nimport {\n Cursor,\n type EditorStateStore,\n EditorView,\n type EditorViewMode,\n type Extension,\n InputModeExtensions,\n type PreviewOptions,\n type RenderCallback,\n createDataExtensions,\n decorateMarkdown,\n documentId,\n folding,\n formattingKeymap,\n linkTooltip,\n listener,\n preview,\n replacer,\n selectionState,\n typewriter,\n} from '@dxos/ui-editor';\nimport { defaultTx } from '@dxos/ui-theme';\nimport { isTruthy } from '@dxos/util';\n\nimport { Markdown } from '../types';\nimport { setFallbackName } from '../util';\n\nexport type DocumentType = Markdown.Document | Text.Text | { id: string; text: string };\n\nexport type ExtensionsOptions = {\n id: string;\n object?: DocumentType;\n invokePromise?: Common.Capability.OperationInvoker['invokePromise'];\n settings?: Markdown.Settings;\n selectionManager?: SelectionManager;\n viewMode?: EditorViewMode;\n editorStateStore?: EditorStateStore;\n previewOptions?: PreviewOptions;\n};\n\n// TODO(burdon): Merge with createBaseExtensions below.\nexport const useExtensions = ({\n id,\n object,\n settings,\n selectionManager,\n viewMode,\n editorStateStore,\n previewOptions,\n}: ExtensionsOptions): Extension[] => {\n const { invokePromise } = useOperationInvoker();\n const identity = useIdentity();\n const space = getSpace(object);\n\n // Get the content reference from Document objects.\n const contentRef = Obj.instanceOf(Markdown.Document, object) ? (object as Markdown.Document).content : undefined;\n // Use useObject to trigger re-render when the reference loads (returns snapshot for reactivity).\n useObject(contentRef);\n // Get the actual live object target via .target (needed for createDocAccessor).\n const target = contentRef?.target ?? (Obj.instanceOf(Text.Text, object) ? object : undefined);\n\n // TODO(wittjosiah): Autocomplete is not working and this query is causing performance issues.\n // TODO(burdon): Unsubscribe.\n // const query = space?.db.query(Filter.type(DocumentType));\n // query?.subscribe();\n\n const baseExtensions = useMemo(\n () =>\n createBaseExtensions({\n id,\n object,\n settings,\n selectionManager,\n viewMode,\n previewOptions,\n invokePromise,\n }),\n [\n id,\n object,\n viewMode,\n invokePromise,\n previewOptions,\n settings,\n settings?.debug,\n settings?.editorInputMode,\n settings?.folding,\n settings?.numberedHeadings,\n settings?.typewriter,\n selectionManager,\n ],\n );\n\n return useMemo<Extension[]>(\n () =>\n [\n // TODO(burdon): Pass this in?\n // NOTE: Data extensions must be first so that automerge is updated before other extensions compute their state.\n target &&\n createDataExtensions({\n id,\n text: createDocAccessor(target, ['content']),\n messenger: space,\n identity,\n }),\n\n // TODO(burdon): Reconcile with effect in parent.\n Obj.instanceOf(Markdown.Document, object) &&\n listener({\n onChange: ({ text }) => {\n setFallbackName(object as Markdown.Document, text);\n },\n }),\n\n baseExtensions,\n selectionState(editorStateStore),\n ].filter(isTruthy),\n [identity, space, id, object, target, baseExtensions],\n );\n};\n\n/**\n * Create extension instances for editor.\n */\nconst createBaseExtensions = ({\n id,\n object,\n invokePromise,\n settings,\n selectionManager,\n viewMode,\n previewOptions,\n}: ExtensionsOptions): Extension[] => {\n const extensions: Extension[] = [\n selectionManager && selectionChange(selectionManager),\n settings?.editorInputMode && InputModeExtensions[settings.editorInputMode],\n settings?.folding && folding(),\n ].filter(isTruthy);\n\n //\n // Markdown\n //\n if (viewMode !== 'source') {\n extensions.push(\n ...[\n formattingKeymap(),\n decorateMarkdown({\n selectionChangeDelay: 100,\n numberedHeadings: settings?.numberedHeadings ? { from: 2 } : undefined,\n // TODO(wittjosiah): For internal links, consider ignoring the link text and rendering the label of the object being linked to.\n // TODO(burdon): Create dx-tag.\n renderLinkButton:\n invokePromise && (object || id)\n ? createLinkRenderer((targetId: string) => {\n void invokePromise(Common.LayoutOperation.Open, {\n subject: [targetId],\n pivotId: object && Obj.isObject(object) ? Obj.getDXN(object).toString() : id,\n });\n })\n : undefined,\n }),\n linkTooltip(renderLinkTooltip),\n preview(previewOptions),\n replacer(),\n ],\n );\n }\n\n if (settings?.debug) {\n const items = settings.typewriter?.split(/[,\\n]/) ?? '';\n if (items) {\n extensions.push(typewriter({ items }));\n }\n }\n\n return extensions;\n};\n\nconst selectionChange = (selectionManager: SelectionManager) => {\n return EditorView.updateListener.of(\n debounceAndThrottle((update: ViewUpdate) => {\n if (update.selectionSet) {\n const id = update.state.facet(documentId);\n const cursorConverter = update.state.facet(Cursor.converter);\n const selection = update.state.selection;\n const ranges = selection.ranges\n .map((range) => ({\n from: cursorConverter.toCursor(range.from),\n to: cursorConverter.toCursor(range.to),\n }))\n .filter(({ from, to }) => to > from);\n\n selectionManager.updateMultiRange(id, ranges);\n }\n }, 100),\n );\n};\n\n// TODO(burdon): Factor out styles.\nconst style = {\n hover: 'rounded-sm text-primary-500 hover:text-primary-600 dark:text-primary-500 hover:dark:text-primary-400',\n icon: 'inline-block leading-none mis-1 cursor-pointer',\n};\n\nconst createLinkRenderer =\n (onSelectObject: (id: string) => void): RenderCallback<{ url: string }> =>\n (el, { url }) => {\n // TODO(burdon): Formalize/document internal link format.\n const isInternal =\n url.startsWith('/') ||\n // TODO(wittjosiah): This should probably be parsed out on paste?\n url.startsWith(window.location.origin);\n\n const options: AnchorHTMLAttributes<any> = isInternal\n ? {\n onClick: () => {\n const qualifiedId = url.split('/').at(-1);\n invariant(qualifiedId, 'Invalid link format.');\n onSelectObject(qualifiedId);\n },\n }\n : {\n href: url,\n rel: 'noreferrer',\n target: '_blank',\n };\n\n renderRoot(\n el,\n <a {...options} className={style.hover}>\n <Icon\n icon={isInternal ? 'ph--arrow-square-down--bold' : 'ph--arrow-square-out--bold'}\n size={4}\n classNames={style.icon}\n />\n </a>,\n );\n };\n\nconst renderLinkTooltip: RenderCallback<{ url: string }> = (el, { url }) => {\n const web = new URL(url);\n renderRoot(\n el,\n <a href={url} rel='noreferrer' target='_blank' className={style.hover}>\n {web.origin}\n <Icon icon='ph--arrow-square-out--bold' size={4} classNames={style.icon} />\n </a>,\n );\n};\n\n// TODO(burdon): REMOVE.\nconst renderRoot = <T extends Element>(root: T, node: ReactNode): T => {\n createRoot(root).render(<ThemeProvider tx={defaultTx}>{node}</ThemeProvider>);\n return root;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { EditorView } from '@codemirror/view';\nimport * as Effect from 'effect/Effect';\nimport { useMemo } from 'react';\n\nimport { Common } from '@dxos/app-framework';\nimport { useOperationResolver } from '@dxos/app-framework/react';\nimport { invariant } from '@dxos/invariant';\nimport { OperationResolver } from '@dxos/operation';\nimport { Cursor, setSelection } from '@dxos/ui-editor';\n\nimport { meta } from '../meta';\n\n/**\n * Handle scrolling and selection of the current thread in a markdown editor.\n */\nexport const useSelectCurrentThread = (editorView: EditorView | null, documentId: string) => {\n const scrollIntoViewHandler = useMemo(\n () =>\n OperationResolver.make({\n operation: Common.LayoutOperation.ScrollIntoView,\n position: 'hoist',\n filter: (input) => !!editorView && input.subject === documentId && !!input.cursor,\n handler: (input) =>\n Effect.sync(() => {\n invariant(editorView, 'Editor view is not defined.');\n const cursor = input.cursor;\n if (!cursor) {\n return;\n }\n const range = Cursor.getRangeFromCursor(editorView.state, cursor);\n if (range) {\n const selection =\n editorView.state.selection.main.from !== range.from ? { anchor: range.from } : undefined;\n const effects = [\n // NOTE: This does not use the DOM scrollIntoView function.\n EditorView.scrollIntoView(range.from, {\n y: 'start',\n yMargin: 96,\n }),\n ];\n if (selection) {\n // Update the editor selection to get bi-directional highlighting.\n effects.push(setSelection.of({ current: documentId }));\n }\n\n editorView.dispatch({\n effects,\n selection: selection ? { anchor: range.from } : undefined,\n });\n }\n }),\n }),\n [documentId, editorView],\n );\n\n useOperationResolver(meta.id, scrollIntoViewHandler);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Extension } from '@codemirror/state';\nimport { type EditorView } from '@codemirror/view';\nimport { type Atom } from '@effect-atom/atom-react';\nimport { createContext } from '@radix-ui/react-context';\nimport React, { type PropsWithChildren, useMemo, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { Surface } from '@dxos/app-framework/react';\nimport { DXN } from '@dxos/keys';\nimport { useClient } from '@dxos/react-client';\nimport {\n EditorMenuProvider,\n type EditorToolbarState,\n type UseEditorMenu,\n useEditorMenu,\n useEditorToolbar,\n} from '@dxos/react-ui-editor';\nimport { type PreviewBlock, type PreviewOptions } from '@dxos/ui-editor';\nimport { isNonNullable } from '@dxos/util';\n\nimport {\n type DocumentType,\n type ExtensionsOptions,\n type UseEditorMenuOptionsProps,\n useEditorMenuOptions,\n useExtensions,\n} from '../../hooks';\n\nimport {\n MarkdownEditorContent as NaturalMarkdownEditorContent,\n type MarkdownEditorContentProps as NaturalMarkdownEditorContentProps,\n} from './MarkdownEditorContent';\nimport {\n MarkdownEditorToolbar as NaturalMarkdownToolbar,\n type MarkdownEditorToolbarProps as NaturalMarkdownToolbarProps,\n} from './MarkdownEditorToolbar';\n\n//\n// Context\n//\n\ntype MarkdownEditorContextValue = {\n id: string;\n setEditorView: (view: EditorView) => void;\n extensions: Extension[];\n previewBlocks: PreviewBlock[];\n toolbarState: Atom.Writable<EditorToolbarState>;\n popoverMenu: Omit<UseEditorMenu, 'extension'>;\n} & (Pick<ExtensionsOptions, 'viewMode'> &\n Pick<NaturalMarkdownToolbarProps, 'editorView' | 'onAction' | 'onFileUpload' | 'onViewModeChange'>);\n\nconst [MarkdownEditorContextProvider, useMarkdownEditorContext] =\n createContext<MarkdownEditorContextValue>('MarkdownEditor.Context');\n\n//\n// MarkdownEditor.Root\n//\n\ntype MarkdownEditorRootProps = PropsWithChildren<\n {\n object?: DocumentType;\n extensions?: Extension[];\n } & Pick<MarkdownEditorContextValue, 'id' | 'onAction' | 'onFileUpload' | 'onViewModeChange' | 'viewMode'> &\n Pick<UseEditorMenuOptionsProps, 'slashCommandGroups' | 'onLinkQuery'> &\n Pick<ExtensionsOptions, 'editorStateStore' | 'selectionManager' | 'settings'>\n>;\n\nconst MarkdownEditorRoot = ({\n children,\n id,\n object,\n editorStateStore,\n selectionManager,\n settings,\n viewMode,\n extensions: extensionsProp,\n slashCommandGroups,\n onLinkQuery,\n ...props\n}: MarkdownEditorRootProps) => {\n const [editorView, setEditorView] = useState<EditorView>();\n\n // Preview blocks.\n const [previewBlocks, setPreviewBlocks] = useState<PreviewBlock[]>([]);\n const previewOptions = useMemo<PreviewOptions>(\n () => ({\n addBlockContainer: (block) => {\n setPreviewBlocks((prev) => [...prev, block]);\n },\n removeBlockContainer: ({ link }) => {\n setPreviewBlocks((prev) => prev.filter(({ link: prevLink }) => prevLink.ref !== link.ref));\n },\n }),\n [],\n );\n\n // Toolbar state.\n const toolbarState = useEditorToolbar({ viewMode });\n\n // Context menu.\n const menuOptions = useEditorMenuOptions({\n editorView,\n slashCommandGroups,\n onLinkQuery,\n });\n const { extension: menuExtension, ...menuProps } = useEditorMenu(menuOptions);\n\n // Extensions.\n const coreExtensions = useExtensions({\n id,\n object,\n editorStateStore,\n previewOptions,\n selectionManager,\n settings,\n viewMode,\n });\n\n const extensions = useMemo(\n () => [coreExtensions, menuExtension, extensionsProp].filter(isNonNullable),\n [coreExtensions, menuExtension, extensionsProp],\n );\n\n return (\n <MarkdownEditorContextProvider\n id={id}\n editorView={editorView}\n setEditorView={setEditorView}\n extensions={extensions}\n previewBlocks={previewBlocks}\n toolbarState={toolbarState}\n popoverMenu={menuProps}\n viewMode={viewMode}\n {...props}\n >\n {children}\n </MarkdownEditorContextProvider>\n );\n};\n\nMarkdownEditorRoot.displayName = 'MarkdownEditor.Root';\n\n//\n// MarkdownEditor.Main\n//\n\ntype MarkdownEditorContentProps = Omit<NaturalMarkdownEditorContentProps, 'id' | 'extensions' | 'toolbarState'>;\n\nconst MarkdownEditorContent = (props: MarkdownEditorContentProps) => {\n const {\n id,\n editorView,\n setEditorView,\n viewMode,\n toolbarState,\n extensions,\n popoverMenu: { groupsRef, ...menuProps },\n } = useMarkdownEditorContext(MarkdownEditorContent.displayName);\n\n return (\n <EditorMenuProvider view={editorView} groups={groupsRef.current} {...menuProps}>\n <NaturalMarkdownEditorContent\n {...props}\n id={id}\n viewMode={viewMode}\n toolbarState={toolbarState}\n extensions={extensions}\n ref={setEditorView}\n />\n </EditorMenuProvider>\n );\n};\n\nMarkdownEditorContent.displayName = 'MarkdownEditor.Content';\n\n//\n// MarkdownEditor.Toolbar\n//\n\ntype MarkdownEditorToolbarProps = Omit<\n NaturalMarkdownToolbarProps,\n 'state' | 'editorView' | 'onAction' | 'onFileUpload' | 'onViewModeChange'\n>;\n\nconst MarkdownEditorToolbar = (props: MarkdownEditorToolbarProps) => {\n const { toolbarState, ...rootProps } = useMarkdownEditorContext(MarkdownEditorToolbar.displayName);\n\n return <NaturalMarkdownToolbar {...props} {...rootProps} state={toolbarState} />;\n};\n\nMarkdownEditorToolbar.displayName = 'MarkdownEditor.Toolbar';\n\n//\n// MarkdownEditor.Blocks (embedded objects)\n//\n\ntype MarkdownEditorBlocksProps = {};\n\nconst MarkdownEditorBlocks = (_props: MarkdownEditorBlocksProps) => {\n const { previewBlocks } = useMarkdownEditorContext(MarkdownEditorBlocks.displayName);\n\n return (\n <>\n {previewBlocks.map(({ link, el }) => (\n <PreviewBlock key={link.ref} link={link} el={el} />\n ))}\n </>\n );\n};\n\nMarkdownEditorBlocks.displayName = 'MarkdownEditor.Blocks';\n\nconst PreviewBlock = ({ el, link }: PreviewBlock) => {\n const client = useClient();\n const dxn = DXN.parse(link.ref);\n const subject = client.graph.makeRef(dxn).target;\n const data = useMemo(() => ({ subject }), [subject]);\n\n return createPortal(<Surface role='card--transclusion' data={data} limit={1} />, el);\n};\n\n//\n// MarkdownEditor\n//\n\nexport const MarkdownEditor = {\n Root: MarkdownEditorRoot,\n Content: MarkdownEditorContent,\n Toolbar: MarkdownEditorToolbar,\n Blocks: MarkdownEditorBlocks,\n};\n\nexport type {\n MarkdownEditorRootProps,\n MarkdownEditorContentProps,\n MarkdownEditorToolbarProps,\n MarkdownEditorBlocksProps,\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type EditorView } from '@codemirror/view';\nimport { type Atom, RegistryContext } from '@effect-atom/atom-react';\nimport React, { forwardRef, useCallback, useContext, useEffect, useImperativeHandle, useMemo } from 'react';\n\nimport { type ThemedClassName, useThemeContext, useTranslation } from '@dxos/react-ui';\nimport {\n type EditorMenuGroup,\n type EditorToolbarState,\n type UseTextEditorProps,\n useTextEditor,\n} from '@dxos/react-ui-editor';\nimport {\n type EditorSelectionState,\n type EditorStateStore,\n type EditorViewMode,\n type ThemeExtensionsOptions,\n createBasicExtensions,\n createMarkdownExtensions,\n createThemeExtensions,\n dropFile,\n editorSlots,\n formattingListener,\n processEditorPayload,\n stackItemContentEditorClassNames,\n} from '@dxos/ui-editor';\nimport { mx } from '@dxos/ui-theme';\nimport { isTruthy } from '@dxos/util';\n\nimport { useSelectCurrentThread } from '../../hooks';\nimport { meta } from '../../meta';\n\nimport { type MarkdownEditorToolbarProps } from './MarkdownEditorToolbar';\n\nexport type MarkdownEditorContentProps = ThemedClassName<{\n id: string;\n role?: string;\n viewMode?: EditorViewMode;\n scrollPastEnd?: boolean;\n slashCommandGroups?: EditorMenuGroup[];\n editorStateStore?: EditorStateStore;\n toolbarState?: Atom.Writable<EditorToolbarState>;\n onLinkQuery?: (query?: string) => Promise<EditorMenuGroup[]>;\n}> &\n // prettier-ignore\n Pick<UseTextEditorProps, 'initialValue' | 'extensions'> &\n Pick<MarkdownEditorToolbarProps, 'onFileUpload'> &\n Pick<ThemeExtensionsOptions, 'slots'>;\n\nexport const MarkdownEditorContent = forwardRef<EditorView | null, MarkdownEditorContentProps>(\n (\n {\n classNames,\n id,\n role,\n viewMode,\n initialValue,\n editorStateStore,\n toolbarState,\n extensions,\n scrollPastEnd,\n slots = editorSlots,\n onFileUpload,\n },\n forwardedRef,\n ) => {\n const { t } = useTranslation(meta.id);\n const { themeMode } = useThemeContext();\n const registry = useContext(RegistryContext);\n\n // Callback to update toolbar state atom.\n const updateToolbarState = useCallback(\n (formatting: EditorToolbarState) => {\n if (toolbarState) {\n registry.set(toolbarState, { ...registry.get(toolbarState), ...formatting });\n }\n },\n [registry, toolbarState],\n );\n\n // Restore last selection and scroll point.\n const { scrollTo, selection } = useMemo<EditorSelectionState>(() => editorStateStore?.getState(id) ?? {}, [id]);\n\n const {\n parentRef,\n view: editorView,\n focusAttributes,\n } = useTextEditor(\n () => ({\n ...(role !== 'section' && {\n id,\n scrollTo,\n selection,\n // TODO(wittjosiah): Autofocus based on layout is racy.\n // autoFocus: layoutPlugin?.provides.layout ? layoutPlugin?.provides.layout.scrollIntoView === id : true,\n selectionEnd: true,\n }),\n initialValue,\n extensions: [\n createBasicExtensions({\n readOnly: viewMode === 'readonly',\n placeholder: t('editor placeholder'),\n scrollPastEnd: scrollPastEnd && role !== 'section',\n search: true,\n }),\n createThemeExtensions({\n themeMode,\n slots,\n syntaxHighlighting: true,\n }),\n createMarkdownExtensions(),\n toolbarState && formattingListener(updateToolbarState),\n role !== 'section' &&\n onFileUpload &&\n dropFile({\n // TODO(wittjosiah): Factor out to file uploader plugin.\n onDrop: async (view, { files }) => {\n const file = files[0];\n const info = file && onFileUpload ? await onFileUpload(file) : undefined;\n if (info) {\n processEditorPayload(view, { type: 'image', data: info.url });\n }\n },\n }),\n extensions,\n ].filter(isTruthy),\n }),\n [id, viewMode, themeMode, extensions],\n );\n\n useImperativeHandle<EditorView | null, EditorView | null>(forwardedRef, () => editorView, [editorView]);\n\n useSelectCurrentThread(editorView, id);\n\n useTest(editorView);\n\n return (\n <div\n role='none'\n ref={parentRef}\n data-testid='composer.markdownRoot'\n className={mx(stackItemContentEditorClassNames(role), classNames)}\n data-popover-collision-boundary={true}\n {...focusAttributes}\n />\n );\n },\n);\n\n// Expose editor view for playwright tests.\n// TODO(wittjosiah): Find a better way to expose this or find a way to limit it to test runs.\nconst useTest = (view: EditorView | null) => {\n useEffect(() => {\n const composer = (window as any).composer;\n if (composer) {\n composer.editorView = view;\n }\n }, [view]);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type EditorView } from '@codemirror/view';\nimport React, { useCallback, useState } from 'react';\n\nimport { type Common } from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { EditorToolbar, type EditorToolbarProps } from '@dxos/react-ui-editor';\nimport { type EditorViewMode } from '@dxos/ui-editor';\n\nimport { FileUpload, type FileUploadAction } from './FileUpload';\n\nexport type MarkdownEditorToolbarProps = ThemedClassName<\n {\n id: string;\n editorView?: EditorView;\n onFileUpload?: (file: File) => Promise<Common.FileInfo | undefined>;\n } & Pick<EditorToolbarProps, 'role' | 'state' | 'customActions' | 'onAction' | 'onViewModeChange'>\n>;\n\nexport const MarkdownEditorToolbar = ({\n classNames,\n id,\n role,\n state,\n editorView,\n customActions,\n onAction,\n onFileUpload,\n onViewModeChange,\n}: MarkdownEditorToolbarProps) => {\n const [upload, setUpload] = useState<FileUploadAction | null>(null);\n const uploadRef = useCallback((next: FileUploadAction) => setUpload(() => next), []);\n\n const handleViewModeChange = useCallback((mode: EditorViewMode) => onViewModeChange?.(mode), [onViewModeChange]);\n\n const getView = useCallback(() => {\n invariant(editorView);\n return editorView;\n }, [editorView]);\n\n if (!editorView) {\n return <div />;\n }\n\n return (\n <>\n <EditorToolbar\n classNames={classNames}\n attendableId={id}\n role={role}\n state={state}\n customActions={customActions}\n getView={getView}\n onAction={onAction}\n onImageUpload={upload ?? undefined}\n onViewModeChange={handleViewModeChange}\n />\n\n {onFileUpload && <FileUpload ref={uploadRef} editorView={editorView} onFileUpload={onFileUpload} />}\n </>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type EditorView } from '@codemirror/view';\nimport React, { forwardRef, useEffect, useImperativeHandle } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useDropzone } from 'react-dropzone';\n\nimport { type Common } from '@dxos/app-framework';\nimport { addLink } from '@dxos/ui-editor';\n\nexport const IMAGE_FILES = ['.jpg', '.jpeg', '.png', '.gif'];\n\nexport type FileUploadAction = () => void;\n\nexport type FileUploadProps = {\n editorView?: EditorView;\n onFileUpload?: (file: File) => Promise<Common.FileInfo | undefined>;\n};\n\n// TODO(burdon): Factor out.\n// TODO(burdon): Move to root? (support drag into document via dropzone).\nexport const FileUpload = forwardRef<FileUploadAction, FileUploadProps>(\n ({ editorView, onFileUpload }, forwardedRef) => {\n // https://react-dropzone.js.org\n const { acceptedFiles, open, inputRef } = useDropzone({\n disabled: !onFileUpload,\n multiple: false,\n noDrag: true,\n accept: {\n 'image/*': IMAGE_FILES,\n },\n });\n\n useImperativeHandle(forwardedRef, () => open, []);\n\n useEffect(() => {\n if (editorView && acceptedFiles.length && onFileUpload) {\n requestAnimationFrame(async () => {\n // NOTE: Clone file since react-dropzone patches in a non-standard `path` property, which confuses IPFS.\n const f = acceptedFiles[0];\n const file = new File([f], f.name, {\n type: f.type,\n lastModified: f.lastModified,\n });\n\n // TODO(burdon): Factor out.\n const info = await onFileUpload(file);\n if (info) {\n addLink({ url: info.url, image: true })(editorView);\n }\n });\n }\n }, [editorView, acceptedFiles, onFileUpload]);\n\n if (!onFileUpload) {\n return null;\n }\n\n return <>{createPortal(<input ref={inputRef} />, document.body)} </>;\n },\n);\n"],
5
+ "mappings": "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",
6
+ "names": ["Option", "useCallback", "useMemo", "Common", "usePluginManager", "Filter", "Obj", "Query", "Type", "EntityKind", "SystemTypeAnnotation", "getTypeAnnotation", "toLocalizedString", "useTranslation", "insertAtCursor", "insertAtLineStart", "useLinkQuery", "db", "t", "useTranslation", "manager", "usePluginManager", "resolve", "useCallback", "typename", "capabilities", "getAll", "Common", "Capability", "Metadata", "find", "id", "metadata", "filter", "useMemo", "Filter", "or", "schemaRegistry", "query", "location", "runSync", "schema", "getTypeAnnotation", "kind", "EntityKind", "Relation", "SystemTypeAnnotation", "get", "pipe", "getOrElse", "map", "Type", "getTypename", "handleLinkQuery", "name", "startsWith", "slice", "toLowerCase", "results", "Query", "select", "run", "getLabel", "object", "label", "Obj", "type", "ns", "default", "items", "toLocalizedString", "includes", "icon", "onSelect", "view", "head", "link", "getDXN", "insertAtLineStart", "insertAtCursor", "useCallback", "useMemo", "useRef", "toLocalizedString", "useTranslation", "filterMenuGroups", "formattingCommands", "linkSlashCommands", "Domino", "useEditorMenuOptions", "editorView", "slashCommandGroups", "onLinkQuery", "t", "useTranslation", "meta", "id", "getMenu", "useCallback", "text", "trigger", "filterMenuGroups", "formattingCommands", "linkSlashCommands", "item", "toLocalizedString", "label", "toLowerCase", "includes", "viewRef", "useRef", "useMemo", "placeholder", "delay", "content", "pressEl", "Domino", "of", "triggerEls", "map", "classNames", "forCommandsEl", "children", "root", "React", "useMemo", "createRoot", "Common", "useOperationInvoker", "debounceAndThrottle", "Obj", "createDocAccessor", "invariant", "getSpace", "useObject", "useIdentity", "Icon", "ThemeProvider", "Text", "Cursor", "EditorView", "InputModeExtensions", "createDataExtensions", "decorateMarkdown", "documentId", "folding", "formattingKeymap", "linkTooltip", "listener", "preview", "replacer", "selectionState", "typewriter", "defaultTx", "isTruthy", "useExtensions", "id", "object", "settings", "selectionManager", "viewMode", "editorStateStore", "previewOptions", "invokePromise", "useOperationInvoker", "identity", "useIdentity", "space", "getSpace", "contentRef", "Obj", "instanceOf", "Markdown", "Document", "content", "undefined", "useObject", "target", "Text", "baseExtensions", "useMemo", "createBaseExtensions", "debug", "editorInputMode", "folding", "numberedHeadings", "typewriter", "createDataExtensions", "text", "createDocAccessor", "messenger", "listener", "onChange", "setFallbackName", "selectionState", "filter", "isTruthy", "extensions", "selectionChange", "InputModeExtensions", "push", "formattingKeymap", "decorateMarkdown", "selectionChangeDelay", "from", "renderLinkButton", "createLinkRenderer", "targetId", "Common", "LayoutOperation", "Open", "subject", "pivotId", "isObject", "getDXN", "toString", "linkTooltip", "renderLinkTooltip", "preview", "replacer", "items", "split", "EditorView", "updateListener", "of", "debounceAndThrottle", "update", "selectionSet", "state", "facet", "documentId", "cursorConverter", "Cursor", "converter", "selection", "ranges", "map", "range", "toCursor", "to", "updateMultiRange", "style", "hover", "icon", "onSelectObject", "el", "url", "isInternal", "startsWith", "window", "location", "origin", "options", "onClick", "qualifiedId", "at", "invariant", "href", "rel", "renderRoot", "a", "className", "Icon", "size", "classNames", "web", "URL", "root", "node", "createRoot", "render", "ThemeProvider", "tx", "defaultTx", "EditorView", "Effect", "useMemo", "Common", "useOperationResolver", "invariant", "OperationResolver", "Cursor", "setSelection", "useSelectCurrentThread", "editorView", "documentId", "scrollIntoViewHandler", "useMemo", "OperationResolver", "make", "operation", "Common", "LayoutOperation", "ScrollIntoView", "position", "filter", "input", "subject", "cursor", "handler", "sync", "invariant", "range", "Cursor", "getRangeFromCursor", "state", "selection", "main", "from", "anchor", "undefined", "effects", "EditorView", "scrollIntoView", "y", "yMargin", "push", "setSelection", "of", "current", "dispatch", "useOperationResolver", "meta", "id", "createContext", "React", "useMemo", "useState", "createPortal", "Surface", "DXN", "useClient", "EditorMenuProvider", "useEditorMenu", "useEditorToolbar", "isNonNullable", "RegistryContext", "React", "forwardRef", "useCallback", "useContext", "useEffect", "useImperativeHandle", "useMemo", "useThemeContext", "useTranslation", "useTextEditor", "createBasicExtensions", "createMarkdownExtensions", "createThemeExtensions", "dropFile", "editorSlots", "formattingListener", "processEditorPayload", "stackItemContentEditorClassNames", "mx", "isTruthy", "MarkdownEditorContent", "forwardRef", "classNames", "id", "role", "viewMode", "initialValue", "editorStateStore", "toolbarState", "extensions", "scrollPastEnd", "slots", "editorSlots", "onFileUpload", "forwardedRef", "t", "useTranslation", "meta", "themeMode", "useThemeContext", "registry", "useContext", "RegistryContext", "updateToolbarState", "useCallback", "formatting", "set", "get", "scrollTo", "selection", "useMemo", "getState", "parentRef", "view", "editorView", "focusAttributes", "useTextEditor", "selectionEnd", "createBasicExtensions", "readOnly", "placeholder", "search", "createThemeExtensions", "syntaxHighlighting", "createMarkdownExtensions", "formattingListener", "dropFile", "onDrop", "files", "file", "info", "undefined", "processEditorPayload", "type", "data", "url", "filter", "isTruthy", "useImperativeHandle", "useSelectCurrentThread", "useTest", "React", "div", "ref", "data-testid", "className", "mx", "stackItemContentEditorClassNames", "data-popover-collision-boundary", "useEffect", "composer", "window", "React", "useCallback", "useState", "invariant", "EditorToolbar", "React", "forwardRef", "useEffect", "useImperativeHandle", "createPortal", "useDropzone", "addLink", "IMAGE_FILES", "FileUpload", "forwardRef", "editorView", "onFileUpload", "forwardedRef", "acceptedFiles", "open", "inputRef", "useDropzone", "disabled", "multiple", "noDrag", "accept", "useImperativeHandle", "useEffect", "length", "requestAnimationFrame", "f", "file", "File", "name", "type", "lastModified", "info", "addLink", "url", "image", "React", "createPortal", "input", "ref", "document", "body", "MarkdownEditorToolbar", "classNames", "id", "role", "state", "editorView", "customActions", "onAction", "onFileUpload", "onViewModeChange", "upload", "setUpload", "useState", "uploadRef", "useCallback", "next", "handleViewModeChange", "mode", "getView", "invariant", "React", "div", "EditorToolbar", "attendableId", "onImageUpload", "undefined", "FileUpload", "ref", "MarkdownEditorContextProvider", "useMarkdownEditorContext", "createContext", "MarkdownEditorRoot", "children", "id", "object", "editorStateStore", "selectionManager", "settings", "viewMode", "extensions", "extensionsProp", "slashCommandGroups", "onLinkQuery", "props", "editorView", "setEditorView", "useState", "previewBlocks", "setPreviewBlocks", "previewOptions", "useMemo", "addBlockContainer", "block", "prev", "removeBlockContainer", "link", "filter", "prevLink", "ref", "toolbarState", "useEditorToolbar", "menuOptions", "useEditorMenuOptions", "extension", "menuExtension", "menuProps", "useEditorMenu", "coreExtensions", "useExtensions", "isNonNullable", "React", "popoverMenu", "displayName", "MarkdownEditorContent", "groupsRef", "EditorMenuProvider", "view", "groups", "current", "NaturalMarkdownEditorContent", "MarkdownEditorToolbar", "rootProps", "NaturalMarkdownToolbar", "state", "MarkdownEditorBlocks", "_props", "map", "el", "PreviewBlock", "key", "client", "useClient", "dxn", "DXN", "parse", "subject", "graph", "makeRef", "target", "data", "createPortal", "Surface", "role", "limit", "MarkdownEditor", "Root", "Content", "Toolbar", "Blocks"]
7
+ }
@@ -1,14 +1,20 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
- Markdown_exports
4
- } from "./chunk-NGYJNQ6A.mjs";
3
+ Markdown_exports,
4
+ __export
5
+ } from "./chunk-PRV35A7Z.mjs";
5
6
 
6
- // src/capabilities/blueprint-definition.ts
7
- import { Capabilities, contributes } from "@dxos/app-framework";
7
+ // src/blueprints/markdown-blueprint.ts
8
+ var markdown_blueprint_exports = {};
9
+ __export(markdown_blueprint_exports, {
10
+ Key: () => Key,
11
+ functions: () => functions,
12
+ make: () => make
13
+ });
8
14
  import { Blueprint, Template } from "@dxos/blueprints";
9
15
  import { trim as trim2 } from "@dxos/util";
10
16
 
11
- // src/functions/create.ts
17
+ // src/blueprints/functions/create.ts
12
18
  import * as Effect from "effect/Effect";
13
19
  import * as Schema from "effect/Schema";
14
20
  import { ArtifactId } from "@dxos/assistant";
@@ -40,11 +46,12 @@ var create_default = defineFunction({
40
46
  })
41
47
  });
42
48
 
43
- // src/functions/open.ts
49
+ // src/blueprints/functions/open.ts
44
50
  import * as Effect2 from "effect/Effect";
45
51
  import * as Schema2 from "effect/Schema";
46
52
  import { ArtifactId as ArtifactId2 } from "@dxos/assistant";
47
- import { DatabaseService, defineFunction as defineFunction2 } from "@dxos/functions";
53
+ import { Database } from "@dxos/echo";
54
+ import { defineFunction as defineFunction2 } from "@dxos/functions";
48
55
  var open_default = defineFunction2({
49
56
  key: "dxos.org/function/markdown/open",
50
57
  name: "Open",
@@ -58,7 +65,7 @@ var open_default = defineFunction2({
58
65
  content: Schema2.String
59
66
  }),
60
67
  handler: Effect2.fn(function* ({ data: { id } }) {
61
- const object = yield* DatabaseService.resolve(ArtifactId2.toDXN(id), Markdown_exports.Document);
68
+ const object = yield* Database.Service.resolve(ArtifactId2.toDXN(id), Markdown_exports.Document);
62
69
  const { content } = yield* Effect2.promise(() => object.content.load());
63
70
  return {
64
71
  content
@@ -66,12 +73,13 @@ var open_default = defineFunction2({
66
73
  })
67
74
  });
68
75
 
69
- // src/functions/update.ts
76
+ // src/blueprints/functions/update.ts
70
77
  import * as Effect3 from "effect/Effect";
71
78
  import * as Schema3 from "effect/Schema";
72
79
  import { ArtifactId as ArtifactId3, applyDiffs } from "@dxos/assistant";
80
+ import { Database as Database2 } from "@dxos/echo";
73
81
  import { createDocAccessor } from "@dxos/echo-db";
74
- import { DatabaseService as DatabaseService2, defineFunction as defineFunction3 } from "@dxos/functions";
82
+ import { defineFunction as defineFunction3 } from "@dxos/functions";
75
83
  import { trim } from "@dxos/util";
76
84
  var update_default = defineFunction3({
77
85
  key: "dxos.org/function/markdown/update",
@@ -89,7 +97,7 @@ var update_default = defineFunction3({
89
97
  }),
90
98
  outputSchema: Schema3.Void,
91
99
  handler: Effect3.fn(function* ({ data: { id, diffs } }) {
92
- const object = yield* DatabaseService2.resolve(ArtifactId3.toDXN(id), Markdown_exports.Document);
100
+ const object = yield* Database2.Service.resolve(ArtifactId3.toDXN(id), Markdown_exports.Document);
93
101
  const content = yield* Effect3.promise(() => object.content.load());
94
102
  const accessor = createDocAccessor(content, [
95
103
  "content"
@@ -98,22 +106,15 @@ var update_default = defineFunction3({
98
106
  })
99
107
  });
100
108
 
101
- // src/functions/index.ts
102
- var MarkdownFunction = {
103
- create: create_default,
104
- open: open_default,
105
- update: update_default
106
- };
107
-
108
- // src/capabilities/blueprint-definition.ts
109
+ // src/blueprints/markdown-blueprint.ts
109
110
  var functions = [
110
- MarkdownFunction.create,
111
- MarkdownFunction.open,
112
- MarkdownFunction.update
111
+ create_default,
112
+ open_default,
113
+ update_default
113
114
  ];
114
- var MARKDOWN_BLUEPRINT_KEY = "dxos.org/blueprint/markdown";
115
- var MarkdownBlueprint = Blueprint.make({
116
- key: MARKDOWN_BLUEPRINT_KEY,
115
+ var Key = "dxos.org/blueprint/markdown";
116
+ var make = () => Blueprint.make({
117
+ key: Key,
117
118
  name: "Markdown",
118
119
  tools: Blueprint.toolDefinitions({
119
120
  functions
@@ -121,31 +122,24 @@ var MarkdownBlueprint = Blueprint.make({
121
122
  instructions: Template.make({
122
123
  // TODO(wittjosiah): Move example to function input schema annotation.
123
124
  source: trim2`
124
- {{! Markdown }}
125
+ {{! Markdown }}
126
+
127
+ You can create, read and update markdown documents.
128
+ When asked to edit or update documents return updates as a set of compact diff string pairs.
129
+ For each diff, respond with the smallest possible matching span.
125
130
 
126
- You can create, read and update markdown documents.
127
- When asked to edit or update documents return updates as a set of compact diff string pairs.
128
- For each diff, respond with the smallest possible matching span.
129
-
130
- Example:
131
- ${"```"}diff
132
- - "There is a tyop in this sentence."
133
- + "There is a typo in this sentence."
134
- - "This id good."
135
- + "This sentence is really good."
136
- ${"```"}
137
- `
131
+ Example:
132
+ ${"```"}diff
133
+ - "There is a tyop in this sentence."
134
+ + "There is a typo in this sentence."
135
+ - "This id good."
136
+ + "This sentence is really good."
137
+ ${"```"}
138
+ `
138
139
  })
139
140
  });
140
- var blueprint_definition_default = (() => [
141
- contributes(Capabilities.Functions, functions),
142
- contributes(Capabilities.BlueprintDefinition, MarkdownBlueprint)
143
- ]);
144
141
 
145
142
  export {
146
- MarkdownFunction,
147
- MARKDOWN_BLUEPRINT_KEY,
148
- MarkdownBlueprint,
149
- blueprint_definition_default
143
+ markdown_blueprint_exports
150
144
  };
151
- //# sourceMappingURL=chunk-HAIEWPU7.mjs.map
145
+ //# sourceMappingURL=chunk-EYAFC4N7.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/blueprints/markdown-blueprint.ts", "../../../src/blueprints/functions/create.ts", "../../../src/blueprints/functions/open.ts", "../../../src/blueprints/functions/update.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Blueprint, Template } from '@dxos/blueprints';\nimport { type FunctionDefinition } from '@dxos/functions';\nimport { trim } from '@dxos/util';\n\nimport { create, open, update } from './functions';\n\nexport const functions: FunctionDefinition[] = [create, open, update];\n\nexport const Key = 'dxos.org/blueprint/markdown';\n\nexport const make = () =>\n Blueprint.make({\n key: Key,\n name: 'Markdown',\n tools: Blueprint.toolDefinitions({ functions }),\n instructions: Template.make({\n // TODO(wittjosiah): Move example to function input schema annotation.\n source: trim`\n {{! Markdown }}\n\n You can create, read and update markdown documents.\n When asked to edit or update documents return updates as a set of compact diff string pairs.\n For each diff, respond with the smallest possible matching span.\n\n Example:\n ${'```'}diff\n - \"There is a tyop in this sentence.\"\n + \"There is a typo in this sentence.\"\n - \"This id good.\"\n + \"This sentence is really good.\"\n ${'```'}\n `,\n }),\n });\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { ArtifactId } from '@dxos/assistant';\nimport { Obj } from '@dxos/echo';\nimport { defineFunction } from '@dxos/functions';\nimport { Collection } from '@dxos/schema';\n\nimport { Markdown } from '../../types';\n\nexport default defineFunction({\n key: 'dxos.org/function/markdown/create',\n name: 'Create',\n description: 'Creates a new markdown document and adds it to the space.',\n inputSchema: Schema.Struct({\n name: Schema.String,\n content: Schema.String,\n }),\n outputSchema: Schema.Struct({\n id: ArtifactId,\n }),\n handler: Effect.fn(function* ({ data: { name, content } }) {\n const object = Markdown.make({ name, content });\n yield* Collection.add({ object });\n\n return {\n id: Obj.getDXN(object).toString(),\n };\n }),\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { ArtifactId } from '@dxos/assistant';\nimport { Database } from '@dxos/echo';\nimport { defineFunction } from '@dxos/functions';\n\nimport { Markdown } from '../../types';\n\nexport default defineFunction({\n key: 'dxos.org/function/markdown/open',\n name: 'Open',\n description: 'Opens and reads the contents of a new markdown document.',\n inputSchema: Schema.Struct({\n id: ArtifactId.annotations({\n description: 'The ID of the markdown document.',\n }),\n }),\n outputSchema: Schema.Struct({\n content: Schema.String,\n }),\n handler: Effect.fn(function* ({ data: { id } }) {\n const object = yield* Database.Service.resolve(ArtifactId.toDXN(id), Markdown.Document);\n const { content } = yield* Effect.promise(() => object.content.load());\n return {\n content,\n };\n }),\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { ArtifactId, applyDiffs } from '@dxos/assistant';\nimport { Database } from '@dxos/echo';\nimport { createDocAccessor } from '@dxos/echo-db';\nimport { defineFunction } from '@dxos/functions';\nimport { trim } from '@dxos/util';\n\nimport { Markdown } from '../../types';\n\n// TODO(wittjosiah): Reconcile with ThreadAction.AddProposal.\nexport default defineFunction({\n key: 'dxos.org/function/markdown/update',\n name: 'Update',\n description: trim`\n Applies a set of diffs to the markdown document.\n `,\n inputSchema: Schema.Struct({\n id: ArtifactId.annotations({\n description: 'The ID of the markdown document.',\n }),\n diffs: Schema.Array(Schema.String).annotations({\n description: 'The diffs to apply to the document.',\n }),\n }),\n outputSchema: Schema.Void,\n handler: Effect.fn(function* ({ data: { id, diffs } }) {\n const object = yield* Database.Service.resolve(ArtifactId.toDXN(id), Markdown.Document);\n const content = yield* Effect.promise(() => object.content.load());\n const accessor = createDocAccessor(content, ['content']);\n applyDiffs(accessor, diffs);\n }),\n});\n"],
5
+ "mappings": ";;;;;;;AAAA;;;;;;AAIA,SAASA,WAAWC,gBAAgB;AAEpC,SAASC,QAAAA,aAAY;;;ACFrB,YAAYC,YAAY;AACxB,YAAYC,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,WAAW;AACpB,SAASC,sBAAsB;AAC/B,SAASC,kBAAkB;AAI3B,IAAA,iBAAeC,eAAe;EAC5BC,KAAK;EACLC,MAAM;EACNC,aAAa;EACbC,aAAoBC,cAAO;IACzBH,MAAaI;IACbC,SAAgBD;EAClB,CAAA;EACAE,cAAqBH,cAAO;IAC1BI,IAAIC;EACN,CAAA;EACAC,SAAgBC,UAAG,WAAW,EAAEC,MAAM,EAAEX,MAAMK,QAAO,EAAE,GAAE;AACvD,UAAMO,SAASC,iBAASC,KAAK;MAAEd;MAAMK;IAAQ,CAAA;AAC7C,WAAOU,WAAWC,IAAI;MAAEJ;IAAO,CAAA;AAE/B,WAAO;MACLL,IAAIU,IAAIC,OAAON,MAAAA,EAAQO,SAAQ;IACjC;EACF,CAAA;AACF,CAAA;;;AC7BA,YAAYC,aAAY;AACxB,YAAYC,aAAY;AAExB,SAASC,cAAAA,mBAAkB;AAC3B,SAASC,gBAAgB;AACzB,SAASC,kBAAAA,uBAAsB;AAI/B,IAAA,eAAeC,gBAAe;EAC5BC,KAAK;EACLC,MAAM;EACNC,aAAa;EACbC,aAAoBC,eAAO;IACzBC,IAAIC,YAAWC,YAAY;MACzBL,aAAa;IACf,CAAA;EACF,CAAA;EACAM,cAAqBJ,eAAO;IAC1BK,SAAgBC;EAClB,CAAA;EACAC,SAAgBC,WAAG,WAAW,EAAEC,MAAM,EAAER,GAAE,EAAE,GAAE;AAC5C,UAAMS,SAAS,OAAOC,SAASC,QAAQC,QAAQX,YAAWY,MAAMb,EAAAA,GAAKc,iBAASC,QAAQ;AACtF,UAAM,EAAEX,QAAO,IAAK,OAAcY,gBAAQ,MAAMP,OAAOL,QAAQa,KAAI,CAAA;AACnE,WAAO;MACLb;IACF;EACF,CAAA;AACF,CAAA;;;AC5BA,YAAYc,aAAY;AACxB,YAAYC,aAAY;AAExB,SAASC,cAAAA,aAAYC,kBAAkB;AACvC,SAASC,YAAAA,iBAAgB;AACzB,SAASC,yBAAyB;AAClC,SAASC,kBAAAA,uBAAsB;AAC/B,SAASC,YAAY;AAKrB,IAAA,iBAAeC,gBAAe;EAC5BC,KAAK;EACLC,MAAM;EACNC,aAAaC;;;EAGbC,aAAoBC,eAAO;IACzBC,IAAIC,YAAWC,YAAY;MACzBN,aAAa;IACf,CAAA;IACAO,OAAcC,cAAaC,cAAM,EAAEH,YAAY;MAC7CN,aAAa;IACf,CAAA;EACF,CAAA;EACAU,cAAqBC;EACrBC,SAAgBC,WAAG,WAAW,EAAEC,MAAM,EAAEV,IAAIG,MAAK,EAAE,GAAE;AACnD,UAAMQ,SAAS,OAAOC,UAASC,QAAQC,QAAQb,YAAWc,MAAMf,EAAAA,GAAKgB,iBAASC,QAAQ;AACtF,UAAMC,UAAU,OAAcC,gBAAQ,MAAMR,OAAOO,QAAQE,KAAI,CAAA;AAC/D,UAAMC,WAAWC,kBAAkBJ,SAAS;MAAC;KAAU;AACvDK,eAAWF,UAAUlB,KAAAA;EACvB,CAAA;AACF,CAAA;;;AH3BO,IAAMqB,YAAkC;EAACC;EAAQC;EAAMC;;AAEvD,IAAMC,MAAM;AAEZ,IAAMC,OAAO,MAClBC,UAAUD,KAAK;EACbE,KAAKH;EACLI,MAAM;EACNC,OAAOH,UAAUI,gBAAgB;IAAEV;EAAU,CAAA;EAC7CW,cAAcC,SAASP,KAAK;;IAE1BQ,QAAQC;;;;;;;;UAQJ,KAAA;;;;;UAKA,KAAA;;EAEN,CAAA;AACF,CAAA;",
6
+ "names": ["Blueprint", "Template", "trim", "Effect", "Schema", "ArtifactId", "Obj", "defineFunction", "Collection", "defineFunction", "key", "name", "description", "inputSchema", "Struct", "String", "content", "outputSchema", "id", "ArtifactId", "handler", "fn", "data", "object", "Markdown", "make", "Collection", "add", "Obj", "getDXN", "toString", "Effect", "Schema", "ArtifactId", "Database", "defineFunction", "defineFunction", "key", "name", "description", "inputSchema", "Struct", "id", "ArtifactId", "annotations", "outputSchema", "content", "String", "handler", "fn", "data", "object", "Database", "Service", "resolve", "toDXN", "Markdown", "Document", "promise", "load", "Effect", "Schema", "ArtifactId", "applyDiffs", "Database", "createDocAccessor", "defineFunction", "trim", "defineFunction", "key", "name", "description", "trim", "inputSchema", "Struct", "id", "ArtifactId", "annotations", "diffs", "Array", "String", "outputSchema", "Void", "handler", "fn", "data", "object", "Database", "Service", "resolve", "toDXN", "Markdown", "Document", "content", "promise", "load", "accessor", "createDocAccessor", "applyDiffs", "functions", "create", "open", "update", "Key", "make", "Blueprint", "key", "name", "tools", "toolDefinitions", "instructions", "Template", "source", "trim"]
7
+ }
@@ -0,0 +1,61 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ MarkdownEditor
4
+ } from "./chunk-D4BCFPKK.mjs";
5
+ import {
6
+ getContentSnippet
7
+ } from "./chunk-SDTYEGGL.mjs";
8
+ import {
9
+ Markdown_exports,
10
+ meta
11
+ } from "./chunk-PRV35A7Z.mjs";
12
+
13
+ // src/components/MarkdownCard/MarkdownCard.tsx
14
+ import React, { useMemo } from "react";
15
+ import { Obj } from "@dxos/echo";
16
+ import { useTranslation } from "@dxos/react-ui";
17
+ import { Card } from "@dxos/react-ui-mosaic";
18
+ import { Text } from "@dxos/schema";
19
+ var MarkdownCard = ({ subject }) => {
20
+ const { t } = useTranslation(meta.id);
21
+ const snippet = useMemo(() => getSnippet(subject), [
22
+ subject
23
+ ]);
24
+ const info = getInfo(subject);
25
+ return /* @__PURE__ */ React.createElement(Card.Content, null, snippet && /* @__PURE__ */ React.createElement("div", {
26
+ className: "max-h-[300px] overflow-hidden"
27
+ }, /* @__PURE__ */ React.createElement(MarkdownEditor.Root, {
28
+ id: subject.id,
29
+ viewMode: "readonly"
30
+ }, /* @__PURE__ */ React.createElement(MarkdownEditor.Content, {
31
+ initialValue: snippet,
32
+ slots: {},
33
+ classNames: "!bg-transparent"
34
+ }))), /* @__PURE__ */ React.createElement(Card.Text, {
35
+ classNames: "text-xs text-description"
36
+ }, info.words, " ", t("words label", {
37
+ count: info.words
38
+ })));
39
+ };
40
+ var getInfo = (subject) => {
41
+ const text = (Obj.instanceOf(Markdown_exports.Document, subject) ? subject.content?.target?.content : subject.content) ?? "";
42
+ return {
43
+ words: text.split(" ").length
44
+ };
45
+ };
46
+ var getSnippet = (subject, fallback) => {
47
+ if (Obj.instanceOf(Markdown_exports.Document, subject)) {
48
+ return Obj.getDescription(subject) || getContentSnippet(subject.content?.target?.content ?? fallback);
49
+ } else if (Obj.instanceOf(Text.Text, subject)) {
50
+ return getContentSnippet(subject.content ?? fallback);
51
+ }
52
+ };
53
+
54
+ // src/components/MarkdownCard/index.ts
55
+ var MarkdownCard_default = MarkdownCard;
56
+
57
+ export {
58
+ MarkdownCard,
59
+ MarkdownCard_default
60
+ };
61
+ //# sourceMappingURL=chunk-KXEQCFMB.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/MarkdownCard/MarkdownCard.tsx", "../../../src/components/MarkdownCard/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { Obj } from '@dxos/echo';\nimport { useTranslation } from '@dxos/react-ui';\nimport { Card } from '@dxos/react-ui-mosaic';\nimport { Text } from '@dxos/schema';\n\nimport { meta } from '../../meta';\nimport { Markdown } from '../../types';\nimport { getContentSnippet, getFallbackName } from '../../util';\nimport { MarkdownEditor } from '../MarkdownEditor';\n\nexport type MarkdownCardProps = { subject: Markdown.Document | Text.Text };\n\nexport const MarkdownCard = ({ subject }: MarkdownCardProps) => {\n const { t } = useTranslation(meta.id);\n const snippet = useMemo(() => getSnippet(subject), [subject]);\n const info = getInfo(subject);\n\n return (\n <Card.Content>\n {snippet && (\n <div className='max-h-[300px] overflow-hidden'>\n <MarkdownEditor.Root id={subject.id} viewMode='readonly'>\n <MarkdownEditor.Content initialValue={snippet} slots={{}} classNames='!bg-transparent' />\n </MarkdownEditor.Root>\n </div>\n )}\n <Card.Text classNames='text-xs text-description'>\n {info.words} {t('words label', { count: info.words })}\n </Card.Text>\n </Card.Content>\n );\n};\n\nconst getInfo = (subject: Markdown.Document | Text.Text) => {\n const text = (Obj.instanceOf(Markdown.Document, subject) ? subject.content?.target?.content : subject.content) ?? '';\n return { words: text.split(' ').length };\n};\n\n// TODO(burdon): Factor out.\nconst getTitle = (subject: Markdown.Document | Text.Text, fallback: string) => {\n if (Obj.instanceOf(Markdown.Document, subject)) {\n const title = Obj.getLabel(subject);\n return title ?? getFallbackName(subject.content?.target?.content ?? fallback);\n } else if (Obj.instanceOf(Text.Text, subject)) {\n return getFallbackName(subject.content);\n }\n};\n\n// TODO(burdon): Factor out.\nconst getSnippet = (subject: Markdown.Document | Text.Text, fallback?: string) => {\n if (Obj.instanceOf(Markdown.Document, subject)) {\n return Obj.getDescription(subject) || getContentSnippet(subject.content?.target?.content ?? fallback);\n } else if (Obj.instanceOf(Text.Text, subject)) {\n return getContentSnippet(subject.content ?? fallback);\n }\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { MarkdownCard } from './MarkdownCard';\n\nexport * from './MarkdownCard';\n\nexport default MarkdownCard;\n"],
5
+ "mappings": ";;;;;;;;;;;;;AAIA,OAAOA,SAASC,eAAe;AAE/B,SAASC,WAAW;AACpB,SAASC,sBAAsB;AAC/B,SAASC,YAAY;AACrB,SAASC,YAAY;AASd,IAAMC,eAAe,CAAC,EAAEC,QAAO,MAAqB;AACzD,QAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AACpC,QAAMC,UAAUC,QAAQ,MAAMC,WAAWP,OAAAA,GAAU;IAACA;GAAQ;AAC5D,QAAMQ,OAAOC,QAAQT,OAAAA;AAErB,SACE,sBAAA,cAACU,KAAKC,SAAO,MACVN,WACC,sBAAA,cAACO,OAAAA;IAAIC,WAAU;KACb,sBAAA,cAACC,eAAeC,MAAI;IAACX,IAAIJ,QAAQI;IAAIY,UAAS;KAC5C,sBAAA,cAACF,eAAeH,SAAO;IAACM,cAAcZ;IAASa,OAAO,CAAC;IAAGC,YAAW;QAI3E,sBAAA,cAACT,KAAKU,MAAI;IAACD,YAAW;KACnBX,KAAKa,OAAM,KAAEpB,EAAE,eAAe;IAAEqB,OAAOd,KAAKa;EAAM,CAAA,CAAA,CAAA;AAI3D;AAEA,IAAMZ,UAAU,CAACT,YAAAA;AACf,QAAMuB,QAAQC,IAAIC,WAAWC,iBAASC,UAAU3B,OAAAA,IAAWA,QAAQ4B,SAASC,QAAQD,UAAU5B,QAAQ4B,YAAY;AAClH,SAAO;IAAEP,OAAOE,KAAKO,MAAM,GAAA,EAAKC;EAAO;AACzC;AAaA,IAAMC,aAAa,CAACC,SAAwCC,aAAAA;AAC1D,MAAIC,IAAIC,WAAWC,iBAASC,UAAUL,OAAAA,GAAU;AAC9C,WAAOE,IAAII,eAAeN,OAAAA,KAAYO,kBAAkBP,QAAQQ,SAASC,QAAQD,WAAWP,QAAAA;EAC9F,WAAWC,IAAIC,WAAWO,KAAKA,MAAMV,OAAAA,GAAU;AAC7C,WAAOO,kBAAkBP,QAAQQ,WAAWP,QAAAA;EAC9C;AACF;;;ACrDA,IAAA,uBAAeU;",
6
+ "names": ["React", "useMemo", "Obj", "useTranslation", "Card", "Text", "MarkdownCard", "subject", "t", "useTranslation", "meta", "id", "snippet", "useMemo", "getSnippet", "info", "getInfo", "Card", "Content", "div", "className", "MarkdownEditor", "Root", "viewMode", "initialValue", "slots", "classNames", "Text", "words", "count", "text", "Obj", "instanceOf", "Markdown", "Document", "content", "target", "split", "length", "getSnippet", "subject", "fallback", "Obj", "instanceOf", "Markdown", "Document", "getDescription", "getContentSnippet", "content", "target", "Text", "MarkdownCard"]
7
+ }
@@ -0,0 +1,168 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ var __defProp = Object.defineProperty;
3
+ var __export = (target, all) => {
4
+ for (var name in all)
5
+ __defProp(target, name, { get: all[name], enumerable: true });
6
+ };
7
+
8
+ // src/types/MarkdownAction.ts
9
+ var MarkdownAction_exports = {};
10
+ __export(MarkdownAction_exports, {
11
+ MarkdownOperation: () => MarkdownOperation
12
+ });
13
+ import * as Schema2 from "effect/Schema";
14
+ import { Capability } from "@dxos/app-framework";
15
+ import { Operation } from "@dxos/operation";
16
+ import { SpaceSchema } from "@dxos/react-client/echo";
17
+ import { Collection } from "@dxos/schema";
18
+ import { EditorViewMode as EditorViewMode2 } from "@dxos/ui-editor/types";
19
+
20
+ // src/meta.ts
21
+ import { trim } from "@dxos/util";
22
+ var meta = {
23
+ id: "dxos.org/plugin/markdown",
24
+ name: "Markdown",
25
+ description: trim`
26
+ Full-featured collaborative markdown editor with real-time editing, inline comments, and rich formatting.
27
+ Supports AI-powered editing assistance and seamlessly integrates with other workspace objects.
28
+ `,
29
+ icon: "ph--text-aa--regular",
30
+ iconHue: "indigo",
31
+ source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-markdown",
32
+ screenshots: [
33
+ "https://dxos.network/plugin-details-markdown-dark.png"
34
+ ]
35
+ };
36
+
37
+ // src/types/Markdown.ts
38
+ var Markdown_exports = {};
39
+ __export(Markdown_exports, {
40
+ Document: () => Document,
41
+ Settings: () => Settings,
42
+ make: () => make
43
+ });
44
+ import * as Schema from "effect/Schema";
45
+ import { Obj, Ref, Type } from "@dxos/echo";
46
+ import { DescriptionAnnotation, FormInputAnnotation, LabelAnnotation } from "@dxos/echo/internal";
47
+ import { Text } from "@dxos/schema";
48
+ import { EditorInputMode, EditorViewMode } from "@dxos/ui-editor/types";
49
+ var Document = Schema.Struct({
50
+ name: Schema.optional(Schema.String),
51
+ description: Schema.optional(Schema.String),
52
+ fallbackName: Schema.String.pipe(FormInputAnnotation.set(false), Schema.optional),
53
+ content: Type.Ref(Text.Text).pipe(FormInputAnnotation.set(false))
54
+ }).pipe(Type.object({
55
+ typename: "dxos.org/type/Document",
56
+ version: "0.1.0"
57
+ }), LabelAnnotation.set([
58
+ "name",
59
+ "fallbackName"
60
+ ]), DescriptionAnnotation.set("description"));
61
+ var make = ({ content = "", ...props } = {}) => Obj.make(Document, {
62
+ ...props,
63
+ content: Ref.make(Text.make(content))
64
+ });
65
+ var Settings = Schema.mutable(Schema.Struct({
66
+ defaultViewMode: EditorViewMode,
67
+ editorInputMode: Schema.optional(EditorInputMode),
68
+ experimental: Schema.optional(Schema.Boolean),
69
+ debug: Schema.optional(Schema.Boolean),
70
+ toolbar: Schema.optional(Schema.Boolean),
71
+ typewriter: Schema.optional(Schema.String),
72
+ // TODO(burdon): Per document settings.
73
+ numberedHeadings: Schema.optional(Schema.Boolean),
74
+ folding: Schema.optional(Schema.Boolean)
75
+ }));
76
+
77
+ // src/types/MarkdownAction.ts
78
+ var MARKDOWN_OPERATION = `${meta.id}/operation`;
79
+ (function(MarkdownOperation2) {
80
+ MarkdownOperation2.OnCreateSpace = Operation.make({
81
+ meta: {
82
+ key: `${MARKDOWN_OPERATION}/on-create-space`,
83
+ name: "On Create Space"
84
+ },
85
+ services: [
86
+ Capability.Service
87
+ ],
88
+ schema: {
89
+ input: Schema2.Struct({
90
+ space: SpaceSchema,
91
+ rootCollection: Collection.Collection,
92
+ isDefault: Schema2.optional(Schema2.Boolean)
93
+ }),
94
+ output: Schema2.Void
95
+ }
96
+ });
97
+ MarkdownOperation2.Create = Operation.make({
98
+ meta: {
99
+ key: `${MARKDOWN_OPERATION}/create`,
100
+ name: "Create Markdown Document"
101
+ },
102
+ services: [
103
+ Capability.Service
104
+ ],
105
+ schema: {
106
+ input: Schema2.Struct({
107
+ name: Schema2.optional(Schema2.String),
108
+ content: Schema2.optional(Schema2.String)
109
+ }),
110
+ output: Schema2.Struct({
111
+ object: Document
112
+ })
113
+ }
114
+ });
115
+ MarkdownOperation2.SetViewMode = Operation.make({
116
+ meta: {
117
+ key: `${MARKDOWN_OPERATION}/set-view-mode`,
118
+ name: "Set View Mode"
119
+ },
120
+ services: [
121
+ Capability.Service
122
+ ],
123
+ schema: {
124
+ input: Schema2.Struct({
125
+ id: Schema2.String,
126
+ viewMode: EditorViewMode2
127
+ }),
128
+ output: Schema2.Void
129
+ }
130
+ });
131
+ })(MarkdownOperation || (MarkdownOperation = {}));
132
+ var MarkdownOperation;
133
+
134
+ // src/types/capabilities.ts
135
+ import * as Schema3 from "effect/Schema";
136
+ import { Capability as Capability2 } from "@dxos/app-framework";
137
+ var MarkdownStateSchema = Schema3.mutable(Schema3.Struct({
138
+ viewMode: Schema3.Record({
139
+ key: Schema3.String,
140
+ value: Schema3.String
141
+ })
142
+ }));
143
+ (function(MarkdownCapabilities2) {
144
+ MarkdownCapabilities2.Settings = Capability2.make(`${meta.id}/capability/settings`);
145
+ MarkdownCapabilities2.State = Capability2.make(`${meta.id}/capability/state`);
146
+ MarkdownCapabilities2.EditorState = Capability2.make(`${meta.id}/capability/editor-state`);
147
+ MarkdownCapabilities2.Extensions = Capability2.make(`${meta.id}/capability/extensions`);
148
+ })(MarkdownCapabilities || (MarkdownCapabilities = {}));
149
+ var MarkdownCapabilities;
150
+
151
+ // src/types/events.ts
152
+ import { Common } from "@dxos/app-framework";
153
+ (function(MarkdownEvents2) {
154
+ MarkdownEvents2.SetupExtensions = Common.ActivationEvent.createStateEvent(`${meta.id}/event/setup-extensions`);
155
+ })(MarkdownEvents || (MarkdownEvents = {}));
156
+ var MarkdownEvents;
157
+
158
+ export {
159
+ __export,
160
+ meta,
161
+ Markdown_exports,
162
+ MarkdownOperation,
163
+ MarkdownAction_exports,
164
+ MarkdownStateSchema,
165
+ MarkdownCapabilities,
166
+ MarkdownEvents
167
+ };
168
+ //# sourceMappingURL=chunk-PRV35A7Z.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/MarkdownAction.ts", "../../../src/meta.ts", "../../../src/types/Markdown.ts", "../../../src/types/capabilities.ts", "../../../src/types/events.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Operation } from '@dxos/operation';\nimport { SpaceSchema } from '@dxos/react-client/echo';\nimport { Collection } from '@dxos/schema';\nimport { EditorViewMode } from '@dxos/ui-editor/types';\n\nimport { meta } from '../meta';\n\nimport { Document } from './Markdown';\n\nconst MARKDOWN_OPERATION = `${meta.id}/operation`;\n\nexport namespace MarkdownOperation {\n export const OnCreateSpace = Operation.make({\n meta: { key: `${MARKDOWN_OPERATION}/on-create-space`, name: 'On Create Space' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n space: SpaceSchema,\n rootCollection: Collection.Collection,\n isDefault: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Void,\n },\n });\n\n export const Create = Operation.make({\n meta: { key: `${MARKDOWN_OPERATION}/create`, name: 'Create Markdown Document' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n content: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: Document,\n }),\n },\n });\n\n // TODO(wittjosiah): This appears to be unused.\n export const SetViewMode = Operation.make({\n meta: { key: `${MARKDOWN_OPERATION}/set-view-mode`, name: 'Set View Mode' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n id: Schema.String,\n viewMode: EditorViewMode,\n }),\n output: Schema.Void,\n },\n });\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'dxos.org/plugin/markdown',\n name: 'Markdown',\n description: trim`\n Full-featured collaborative markdown editor with real-time editing, inline comments, and rich formatting.\n Supports AI-powered editing assistance and seamlessly integrates with other workspace objects.\n `,\n icon: 'ph--text-aa--regular',\n iconHue: 'indigo',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-markdown',\n screenshots: ['https://dxos.network/plugin-details-markdown-dark.png'],\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Obj, Ref, Type } from '@dxos/echo';\nimport { DescriptionAnnotation, FormInputAnnotation, LabelAnnotation } from '@dxos/echo/internal';\nimport { Text } from '@dxos/schema';\nimport { EditorInputMode, EditorViewMode } from '@dxos/ui-editor/types';\n\n/**\n * Document Item type.\n */\nexport const Document = Schema.Struct({\n name: Schema.optional(Schema.String),\n description: Schema.optional(Schema.String),\n fallbackName: Schema.String.pipe(FormInputAnnotation.set(false), Schema.optional),\n content: Type.Ref(Text.Text).pipe(FormInputAnnotation.set(false)),\n}).pipe(\n Type.object({\n typename: 'dxos.org/type/Document',\n version: '0.1.0',\n }),\n LabelAnnotation.set(['name', 'fallbackName']),\n DescriptionAnnotation.set('description'),\n);\n\nexport type Document = Schema.Schema.Type<typeof Document>;\n\n/**\n * Document factory.\n */\nexport const make = ({\n content = '',\n ...props\n}: Partial<{ name: string; fallbackName: string; content: string }> = {}) =>\n Obj.make(Document, { ...props, content: Ref.make(Text.make(content)) });\n\n/**\n * Plugin settings.\n */\nexport const Settings = Schema.mutable(\n Schema.Struct({\n defaultViewMode: EditorViewMode,\n editorInputMode: Schema.optional(EditorInputMode),\n experimental: Schema.optional(Schema.Boolean),\n debug: Schema.optional(Schema.Boolean),\n toolbar: Schema.optional(Schema.Boolean),\n typewriter: Schema.optional(Schema.String),\n // TODO(burdon): Per document settings.\n numberedHeadings: Schema.optional(Schema.Boolean),\n folding: Schema.optional(Schema.Boolean),\n }),\n);\n\nexport interface Settings extends Schema.Schema.Type<typeof Settings> {}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Atom } from '@effect-atom/atom-react';\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { type EditorStateStore, type EditorViewMode } from '@dxos/ui-editor';\n\nimport { meta } from '../meta';\n\nimport type * as Markdown from './Markdown';\nimport { type MarkdownExtensionProvider } from './types';\n\n/** Schema for persisted markdown state. */\nexport const MarkdownStateSchema = Schema.mutable(\n Schema.Struct({\n viewMode: Schema.Record({ key: Schema.String, value: Schema.String }),\n }),\n);\n\nexport type MarkdownState = {\n viewMode: Record<string, EditorViewMode>;\n};\n\nexport namespace MarkdownCapabilities {\n export const Settings = Capability.make<Atom.Writable<Markdown.Settings>>(`${meta.id}/capability/settings`);\n\n /** Persisted state atom for view mode per document. */\n export const State = Capability.make<Atom.Writable<MarkdownState>>(`${meta.id}/capability/state`);\n\n /** Editor state store for cursor positions, scroll state, etc. */\n export const EditorState = Capability.make<EditorStateStore>(`${meta.id}/capability/editor-state`);\n\n // TODO(burdon): Move to ./types (external API)?\n export const Extensions = Capability.make<MarkdownExtensionProvider[]>(`${meta.id}/capability/extensions`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type ActivationEvent, Common } from '@dxos/app-framework';\n\nimport { meta } from '../meta';\n\nexport namespace MarkdownEvents {\n export const SetupExtensions: ActivationEvent.ActivationEvent = Common.ActivationEvent.createStateEvent(\n `${meta.id}/event/setup-extensions`,\n );\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["Schema", "Capability", "Operation", "SpaceSchema", "Collection", "EditorViewMode", "trim", "meta", "id", "name", "description", "trim", "icon", "iconHue", "source", "screenshots", "Schema", "Obj", "Ref", "Type", "DescriptionAnnotation", "FormInputAnnotation", "LabelAnnotation", "Text", "EditorInputMode", "EditorViewMode", "Document", "Struct", "name", "optional", "String", "description", "fallbackName", "pipe", "FormInputAnnotation", "set", "content", "Type", "Ref", "Text", "object", "typename", "version", "LabelAnnotation", "DescriptionAnnotation", "make", "props", "Obj", "Settings", "mutable", "defaultViewMode", "EditorViewMode", "editorInputMode", "EditorInputMode", "experimental", "Boolean", "debug", "toolbar", "typewriter", "numberedHeadings", "folding", "MARKDOWN_OPERATION", "meta", "id", "MarkdownOperation", "OnCreateSpace", "Operation", "make", "key", "name", "services", "Capability", "Service", "schema", "input", "Struct", "space", "SpaceSchema", "rootCollection", "Collection", "isDefault", "optional", "Boolean", "output", "Void", "Create", "String", "content", "object", "Document", "SetViewMode", "viewMode", "EditorViewMode", "Schema", "Capability", "MarkdownStateSchema", "mutable", "Struct", "viewMode", "Record", "key", "String", "value", "MarkdownCapabilities", "Settings", "Capability", "make", "meta", "id", "State", "EditorState", "Extensions", "Common", "MarkdownEvents", "SetupExtensions", "Common", "ActivationEvent", "createStateEvent", "meta", "id"]
7
+ }