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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/neutral/EditableMarkdownCard-LXBXN3OW.mjs +32 -0
  4. package/dist/lib/neutral/EditableMarkdownCard-LXBXN3OW.mjs.map +7 -0
  5. package/dist/lib/neutral/MarkdownArticle-Z4QRU3WD.mjs +126 -0
  6. package/dist/lib/neutral/MarkdownArticle-Z4QRU3WD.mjs.map +7 -0
  7. package/dist/lib/neutral/MarkdownCard-INMBLUL4.mjs +102 -0
  8. package/dist/lib/neutral/MarkdownCard-INMBLUL4.mjs.map +7 -0
  9. package/dist/lib/neutral/MarkdownPlugin.mjs +10 -0
  10. package/dist/lib/neutral/MarkdownPlugin.node.mjs +25 -0
  11. package/dist/lib/neutral/MarkdownPlugin.node.mjs.map +7 -0
  12. package/dist/lib/neutral/MarkdownSettings-YCTZJL5V.mjs +32 -0
  13. package/dist/lib/neutral/MarkdownSettings-YCTZJL5V.mjs.map +7 -0
  14. package/dist/lib/neutral/anchor-sort-L4VCKDO6.mjs +32 -0
  15. package/dist/lib/neutral/anchor-sort-L4VCKDO6.mjs.map +7 -0
  16. package/dist/lib/neutral/app-graph-serializer-YI72EEVM.mjs +55 -0
  17. package/dist/lib/neutral/app-graph-serializer-YI72EEVM.mjs.map +7 -0
  18. package/dist/lib/neutral/blueprint-definition-33OK2KUL.mjs +15 -0
  19. package/dist/lib/neutral/blueprint-definition-33OK2KUL.mjs.map +7 -0
  20. package/dist/lib/neutral/blueprints/index.mjs +8 -0
  21. package/dist/lib/neutral/capabilities/index.mjs +25 -0
  22. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  23. package/dist/lib/neutral/capabilities/node.mjs +11 -0
  24. package/dist/lib/neutral/capabilities/node.mjs.map +7 -0
  25. package/dist/lib/neutral/chunk-6N7AD3IU.mjs +8 -0
  26. package/dist/lib/neutral/chunk-6N7AD3IU.mjs.map +7 -0
  27. package/dist/lib/neutral/chunk-KDN4GKG2.mjs +98 -0
  28. package/dist/lib/neutral/chunk-KDN4GKG2.mjs.map +7 -0
  29. package/dist/lib/{browser/blueprints/index.mjs → neutral/chunk-LXNSKCPD.mjs} +10 -17
  30. package/dist/lib/neutral/chunk-LXNSKCPD.mjs.map +7 -0
  31. package/dist/lib/neutral/chunk-LYUELXJH.mjs +57 -0
  32. package/dist/lib/neutral/chunk-LYUELXJH.mjs.map +7 -0
  33. package/dist/lib/neutral/chunk-SOLAMEK3.mjs +276 -0
  34. package/dist/lib/neutral/chunk-SOLAMEK3.mjs.map +7 -0
  35. package/dist/lib/neutral/chunk-YC2OAUM7.mjs +22 -0
  36. package/dist/lib/neutral/chunk-YC2OAUM7.mjs.map +7 -0
  37. package/dist/lib/neutral/comment-config-7VTHRUIZ.mjs +30 -0
  38. package/dist/lib/neutral/comment-config-7VTHRUIZ.mjs.map +7 -0
  39. package/dist/lib/neutral/components/index.mjs +370 -0
  40. package/dist/lib/neutral/components/index.mjs.map +7 -0
  41. package/dist/lib/neutral/containers/index.mjs +13 -0
  42. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  43. package/dist/lib/{browser/create-HSXPXCC5.mjs → neutral/create-3PGJ2NEK.mjs} +5 -7
  44. package/dist/lib/neutral/create-3PGJ2NEK.mjs.map +7 -0
  45. package/dist/lib/{browser/create-markdown-WB7DH3UF.mjs → neutral/create-markdown-5LS46GMH.mjs} +5 -7
  46. package/dist/lib/neutral/create-markdown-5LS46GMH.mjs.map +7 -0
  47. package/dist/lib/neutral/create-object-ZA6VXLJJ.mjs +27 -0
  48. package/dist/lib/neutral/create-object-ZA6VXLJJ.mjs.map +7 -0
  49. package/dist/lib/neutral/hooks/index.mjs +321 -0
  50. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  51. package/dist/lib/neutral/index.mjs +42 -0
  52. package/dist/lib/neutral/meta.json +1 -0
  53. package/dist/lib/neutral/meta.mjs +8 -0
  54. package/dist/lib/neutral/meta.mjs.map +7 -0
  55. package/dist/lib/{browser/open-N6PAX6DY.mjs → neutral/open-WCYGBLAG.mjs} +5 -6
  56. package/dist/lib/neutral/open-WCYGBLAG.mjs.map +7 -0
  57. package/dist/lib/neutral/operation-handler-2ARMPBGZ.mjs +13 -0
  58. package/dist/lib/neutral/operation-handler-2ARMPBGZ.mjs.map +7 -0
  59. package/dist/lib/neutral/operations/index.mjs +8 -0
  60. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  61. package/dist/lib/neutral/plugin.mjs +16 -0
  62. package/dist/lib/neutral/plugin.mjs.map +7 -0
  63. package/dist/lib/neutral/react-surface-SCIL76V5.mjs +119 -0
  64. package/dist/lib/neutral/react-surface-SCIL76V5.mjs.map +7 -0
  65. package/dist/lib/{browser/scroll-to-anchor-5M4F24AB.mjs → neutral/scroll-to-anchor-6FIOKVKT.mjs} +7 -9
  66. package/dist/lib/neutral/scroll-to-anchor-6FIOKVKT.mjs.map +7 -0
  67. package/dist/lib/neutral/set-view-mode-37RSPFEN.mjs +24 -0
  68. package/dist/lib/neutral/set-view-mode-37RSPFEN.mjs.map +7 -0
  69. package/dist/lib/neutral/settings-TDGDLCUR.mjs +34 -0
  70. package/dist/lib/neutral/settings-TDGDLCUR.mjs.map +7 -0
  71. package/dist/lib/neutral/state-5COCF5PN.mjs +44 -0
  72. package/dist/lib/neutral/state-5COCF5PN.mjs.map +7 -0
  73. package/dist/lib/neutral/testing.mjs +22 -0
  74. package/dist/lib/neutral/testing.mjs.map +7 -0
  75. package/dist/lib/neutral/translations.mjs +43 -0
  76. package/dist/lib/neutral/translations.mjs.map +7 -0
  77. package/dist/lib/neutral/types/index.mjs +16 -0
  78. package/dist/lib/neutral/types/index.mjs.map +7 -0
  79. package/dist/lib/{browser/update-5QIRVGTL.mjs → neutral/update-markdown-5EDRD3SH.mjs} +8 -9
  80. package/dist/lib/neutral/update-markdown-5EDRD3SH.mjs.map +7 -0
  81. package/dist/types/src/MarkdownPlugin.d.ts +1 -0
  82. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  83. package/dist/types/src/{cli/plugin.d.ts → MarkdownPlugin.node.d.ts} +2 -1
  84. package/dist/types/src/MarkdownPlugin.node.d.ts.map +1 -0
  85. package/dist/types/src/MarkdownPlugin.test.d.ts +2 -0
  86. package/dist/types/src/MarkdownPlugin.test.d.ts.map +1 -0
  87. package/dist/types/src/blueprints/markdown-blueprint.d.ts +2 -2
  88. package/dist/types/src/blueprints/markdown-blueprint.d.ts.map +1 -1
  89. package/dist/types/src/capabilities/anchor-sort.d.ts.map +1 -1
  90. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  91. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  92. package/dist/types/src/capabilities/blueprint-definition.d.ts +2 -2
  93. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  94. package/dist/types/src/capabilities/comment-config.d.ts +12 -0
  95. package/dist/types/src/capabilities/comment-config.d.ts.map +1 -0
  96. package/dist/types/src/capabilities/create-object.d.ts +11 -0
  97. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  98. package/dist/types/src/capabilities/index.d.ts +17 -22
  99. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  100. package/dist/types/src/capabilities/node.d.ts +7 -1
  101. package/dist/types/src/capabilities/node.d.ts.map +1 -1
  102. package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
  103. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -1
  104. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  105. package/dist/types/src/capabilities/settings.d.ts +1 -19
  106. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  107. package/dist/types/src/capabilities/state.d.ts +2 -2
  108. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  109. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +28 -22
  110. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
  111. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts +2 -2
  112. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts.map +1 -1
  113. package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts +2 -1
  114. package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts.map +1 -1
  115. package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts +2 -6
  116. package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts.map +1 -1
  117. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts +1 -1
  118. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts.map +1 -1
  119. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.stories.d.ts +46 -90
  120. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.stories.d.ts.map +1 -1
  121. package/dist/types/src/containers/EditableMarkdownCard/EditableMarkdownCard.d.ts +15 -0
  122. package/dist/types/src/containers/EditableMarkdownCard/EditableMarkdownCard.d.ts.map +1 -0
  123. package/dist/types/src/containers/EditableMarkdownCard/index.d.ts +3 -0
  124. package/dist/types/src/containers/EditableMarkdownCard/index.d.ts.map +1 -0
  125. package/dist/types/src/containers/{MarkdownContainer/MarkdownContainer.d.ts → MarkdownArticle/MarkdownArticle.d.ts} +9 -9
  126. package/dist/types/src/containers/MarkdownArticle/MarkdownArticle.d.ts.map +1 -0
  127. package/dist/types/src/containers/MarkdownArticle/MarkdownArticle.stories.d.ts +97 -0
  128. package/dist/types/src/containers/MarkdownArticle/MarkdownArticle.stories.d.ts.map +1 -0
  129. package/dist/types/src/containers/MarkdownArticle/index.d.ts +3 -0
  130. package/dist/types/src/containers/MarkdownArticle/index.d.ts.map +1 -0
  131. package/dist/types/src/containers/MarkdownCard/MarkdownCard.d.ts.map +1 -1
  132. package/dist/types/src/containers/MarkdownCard/MarkdownCard.stories.d.ts +1 -1
  133. package/dist/types/src/containers/MarkdownCard/MarkdownCard.stories.d.ts.map +1 -1
  134. package/dist/types/src/containers/MarkdownCard/snippet.d.ts +7 -5
  135. package/dist/types/src/containers/MarkdownCard/snippet.d.ts.map +1 -1
  136. package/dist/types/src/containers/index.d.ts +3 -2
  137. package/dist/types/src/containers/index.d.ts.map +1 -1
  138. package/dist/types/src/hooks/useEditorMenuOptions.d.ts.map +1 -1
  139. package/dist/types/src/hooks/useExtensions.d.ts +3 -1
  140. package/dist/types/src/hooks/useExtensions.d.ts.map +1 -1
  141. package/dist/types/src/hooks/useLinkQuery.d.ts.map +1 -1
  142. package/dist/types/src/index.d.ts +2 -3
  143. package/dist/types/src/index.d.ts.map +1 -1
  144. package/dist/types/src/meta.d.ts.map +1 -1
  145. package/dist/types/src/operations/create-markdown.d.ts +3 -3
  146. package/dist/types/src/operations/create-markdown.d.ts.map +1 -1
  147. package/dist/types/src/operations/create.d.ts +3 -3
  148. package/dist/types/src/operations/create.d.ts.map +1 -1
  149. package/dist/types/src/operations/index.d.ts +1 -2
  150. package/dist/types/src/operations/index.d.ts.map +1 -1
  151. package/dist/types/src/operations/open.d.ts +3 -3
  152. package/dist/types/src/operations/open.d.ts.map +1 -1
  153. package/dist/types/src/operations/scroll-to-anchor.d.ts +3 -3
  154. package/dist/types/src/operations/scroll-to-anchor.d.ts.map +1 -1
  155. package/dist/types/src/operations/set-view-mode.d.ts +3 -3
  156. package/dist/types/src/operations/set-view-mode.d.ts.map +1 -1
  157. package/dist/types/src/operations/update-markdown.d.ts +5 -0
  158. package/dist/types/src/operations/update-markdown.d.ts.map +1 -0
  159. package/dist/types/src/plugin.d.ts +4 -0
  160. package/dist/types/src/plugin.d.ts.map +1 -0
  161. package/dist/types/src/testing.d.ts +1 -0
  162. package/dist/types/src/testing.d.ts.map +1 -1
  163. package/dist/types/src/translations.d.ts +70 -73
  164. package/dist/types/src/translations.d.ts.map +1 -1
  165. package/dist/types/src/types/Markdown.d.ts +9 -8
  166. package/dist/types/src/types/Markdown.d.ts.map +1 -1
  167. package/dist/types/src/types/MarkdownCapabilities.d.ts +32 -0
  168. package/dist/types/src/types/MarkdownCapabilities.d.ts.map +1 -0
  169. package/dist/types/src/types/MarkdownEvents.d.ts +3 -0
  170. package/dist/types/src/types/MarkdownEvents.d.ts.map +1 -0
  171. package/dist/types/src/{operations/definitions.d.ts → types/MarkdownOperation.d.ts} +3 -3
  172. package/dist/types/src/types/MarkdownOperation.d.ts.map +1 -0
  173. package/dist/types/src/types/Settings.d.ts +10 -9
  174. package/dist/types/src/types/Settings.d.ts.map +1 -1
  175. package/dist/types/src/types/index.d.ts +3 -2
  176. package/dist/types/src/types/index.d.ts.map +1 -1
  177. package/dist/types/src/types/types.d.ts +1 -0
  178. package/dist/types/src/types/types.d.ts.map +1 -1
  179. package/dist/types/src/util.d.ts +1 -1
  180. package/dist/types/src/util.d.ts.map +1 -1
  181. package/dist/types/tsconfig.tsbuildinfo +1 -1
  182. package/package.json +119 -104
  183. package/src/MarkdownPlugin.node.ts +20 -0
  184. package/src/MarkdownPlugin.test.ts +26 -0
  185. package/src/MarkdownPlugin.tsx +9 -53
  186. package/src/blueprints/markdown-blueprint.ts +8 -9
  187. package/src/capabilities/app-graph-serializer.ts +4 -6
  188. package/src/capabilities/artifact-definition.ts +3 -4
  189. package/src/capabilities/blueprint-definition.ts +2 -0
  190. package/src/capabilities/comment-config.ts +32 -0
  191. package/src/capabilities/create-object.ts +30 -0
  192. package/src/capabilities/index.ts +4 -1
  193. package/src/capabilities/node.ts +3 -1
  194. package/src/capabilities/operation-handler.ts +1 -1
  195. package/src/capabilities/react-surface.tsx +18 -11
  196. package/src/capabilities/state.ts +4 -4
  197. package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +22 -17
  198. package/src/components/MarkdownEditor/MarkdownEditor.tsx +99 -86
  199. package/src/components/MarkdownEditor/MarkdownEditorContent.tsx +5 -5
  200. package/src/components/MarkdownEditor/MarkdownEditorToolbar.tsx +5 -16
  201. package/src/components/MarkdownSettings/MarkdownSettings.stories.tsx +2 -1
  202. package/src/components/MarkdownSettings/MarkdownSettings.tsx +16 -119
  203. package/src/containers/EditableMarkdownCard/EditableMarkdownCard.tsx +42 -0
  204. package/src/containers/EditableMarkdownCard/index.ts +6 -0
  205. package/src/containers/{MarkdownContainer/MarkdownContainer.stories.tsx → MarkdownArticle/MarkdownArticle.stories.tsx} +9 -8
  206. package/src/containers/{MarkdownContainer/MarkdownContainer.tsx → MarkdownArticle/MarkdownArticle.tsx} +32 -21
  207. package/src/containers/MarkdownArticle/index.ts +6 -0
  208. package/src/containers/MarkdownCard/MarkdownCard.stories.tsx +5 -4
  209. package/src/containers/MarkdownCard/MarkdownCard.tsx +21 -11
  210. package/src/containers/MarkdownCard/snippet.ts +27 -51
  211. package/src/containers/index.ts +3 -2
  212. package/src/hooks/useExtensions.tsx +7 -8
  213. package/src/hooks/useLinkQuery.ts +9 -26
  214. package/src/index.ts +2 -6
  215. package/src/meta.ts +4 -1
  216. package/src/operations/create-markdown.ts +3 -4
  217. package/src/operations/create.conversations.json +1 -1
  218. package/src/operations/create.test.ts +7 -9
  219. package/src/operations/create.ts +3 -4
  220. package/src/operations/index.ts +2 -4
  221. package/src/operations/open.ts +3 -3
  222. package/src/operations/scroll-to-anchor.ts +3 -4
  223. package/src/operations/set-view-mode.ts +3 -4
  224. package/src/operations/{update.ts → update-markdown.ts} +3 -3
  225. package/src/operations/update.conversations.json +1 -1
  226. package/src/operations/update.test.ts +7 -9
  227. package/src/plugin.ts +11 -0
  228. package/src/testing.ts +5 -3
  229. package/src/translations.ts +2 -26
  230. package/src/types/Markdown.ts +5 -0
  231. package/src/types/MarkdownCapabilities.ts +51 -0
  232. package/src/types/MarkdownEvents.ts +14 -0
  233. package/src/{operations/definitions.ts → types/MarkdownOperation.ts} +4 -2
  234. package/src/types/Settings.ts +47 -10
  235. package/src/types/index.ts +3 -2
  236. package/src/types/types.ts +4 -1
  237. package/src/util.tsx +3 -3
  238. package/dist/lib/browser/MarkdownSettings-YZFNSJJY.mjs +0 -121
  239. package/dist/lib/browser/MarkdownSettings-YZFNSJJY.mjs.map +0 -7
  240. package/dist/lib/browser/blueprints/index.mjs.map +0 -7
  241. package/dist/lib/browser/chunk-46WIDM4R.mjs +0 -98
  242. package/dist/lib/browser/chunk-46WIDM4R.mjs.map +0 -7
  243. package/dist/lib/browser/chunk-XKUKZNUS.mjs +0 -158
  244. package/dist/lib/browser/chunk-XKUKZNUS.mjs.map +0 -7
  245. package/dist/lib/browser/cli/index.mjs +0 -39
  246. package/dist/lib/browser/cli/index.mjs.map +0 -7
  247. package/dist/lib/browser/create-HSXPXCC5.mjs.map +0 -7
  248. package/dist/lib/browser/create-markdown-WB7DH3UF.mjs.map +0 -7
  249. package/dist/lib/browser/index.mjs +0 -653
  250. package/dist/lib/browser/index.mjs.map +0 -7
  251. package/dist/lib/browser/meta.json +0 -1
  252. package/dist/lib/browser/open-N6PAX6DY.mjs.map +0 -7
  253. package/dist/lib/browser/operations/index.mjs +0 -14
  254. package/dist/lib/browser/operations/index.mjs.map +0 -7
  255. package/dist/lib/browser/scroll-to-anchor-5M4F24AB.mjs.map +0 -7
  256. package/dist/lib/browser/set-view-mode-NBNF2I5W.mjs +0 -26
  257. package/dist/lib/browser/set-view-mode-NBNF2I5W.mjs.map +0 -7
  258. package/dist/lib/browser/types/index.mjs +0 -16
  259. package/dist/lib/browser/update-5QIRVGTL.mjs.map +0 -7
  260. package/dist/lib/node-esm/MarkdownSettings-X6SDS35F.mjs +0 -122
  261. package/dist/lib/node-esm/MarkdownSettings-X6SDS35F.mjs.map +0 -7
  262. package/dist/lib/node-esm/blueprints/index.mjs +0 -52
  263. package/dist/lib/node-esm/blueprints/index.mjs.map +0 -7
  264. package/dist/lib/node-esm/chunk-4MSJO6IJ.mjs +0 -99
  265. package/dist/lib/node-esm/chunk-4MSJO6IJ.mjs.map +0 -7
  266. package/dist/lib/node-esm/chunk-E4BQCEXF.mjs +0 -159
  267. package/dist/lib/node-esm/chunk-E4BQCEXF.mjs.map +0 -7
  268. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  269. package/dist/lib/node-esm/cli/index.mjs +0 -40
  270. package/dist/lib/node-esm/cli/index.mjs.map +0 -7
  271. package/dist/lib/node-esm/create-6Z2KYISY.mjs +0 -31
  272. package/dist/lib/node-esm/create-6Z2KYISY.mjs.map +0 -7
  273. package/dist/lib/node-esm/create-markdown-JWQZICKY.mjs +0 -23
  274. package/dist/lib/node-esm/create-markdown-JWQZICKY.mjs.map +0 -7
  275. package/dist/lib/node-esm/index.mjs +0 -654
  276. package/dist/lib/node-esm/index.mjs.map +0 -7
  277. package/dist/lib/node-esm/meta.json +0 -1
  278. package/dist/lib/node-esm/open-DSNFRSNZ.mjs +0 -22
  279. package/dist/lib/node-esm/open-DSNFRSNZ.mjs.map +0 -7
  280. package/dist/lib/node-esm/operations/index.mjs +0 -15
  281. package/dist/lib/node-esm/operations/index.mjs.map +0 -7
  282. package/dist/lib/node-esm/scroll-to-anchor-D6SHGU2R.mjs +0 -50
  283. package/dist/lib/node-esm/scroll-to-anchor-D6SHGU2R.mjs.map +0 -7
  284. package/dist/lib/node-esm/set-view-mode-REYB4L7J.mjs +0 -27
  285. package/dist/lib/node-esm/set-view-mode-REYB4L7J.mjs.map +0 -7
  286. package/dist/lib/node-esm/types/index.mjs +0 -17
  287. package/dist/lib/node-esm/update-YMQAIKOF.mjs +0 -46
  288. package/dist/lib/node-esm/update-YMQAIKOF.mjs.map +0 -7
  289. package/dist/types/src/cli/index.d.ts +0 -2
  290. package/dist/types/src/cli/index.d.ts.map +0 -1
  291. package/dist/types/src/cli/plugin.d.ts.map +0 -1
  292. package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.d.ts.map +0 -1
  293. package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.stories.d.ts +0 -99
  294. package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.stories.d.ts.map +0 -1
  295. package/dist/types/src/containers/MarkdownContainer/index.d.ts +0 -3
  296. package/dist/types/src/containers/MarkdownContainer/index.d.ts.map +0 -1
  297. package/dist/types/src/operations/definitions.d.ts.map +0 -1
  298. package/dist/types/src/operations/update.d.ts +0 -5
  299. package/dist/types/src/operations/update.d.ts.map +0 -1
  300. package/dist/types/src/types/capabilities.d.ts +0 -51
  301. package/dist/types/src/types/capabilities.d.ts.map +0 -1
  302. package/dist/types/src/types/events.d.ts +0 -5
  303. package/dist/types/src/types/events.d.ts.map +0 -1
  304. package/src/cli/index.ts +0 -5
  305. package/src/cli/plugin.ts +0 -39
  306. package/src/containers/MarkdownContainer/index.ts +0 -6
  307. package/src/types/capabilities.ts +0 -50
  308. package/src/types/events.ts +0 -14
  309. /package/dist/lib/{browser/chunk-J5LGTIGS.mjs.map → neutral/MarkdownPlugin.mjs.map} +0 -0
  310. /package/dist/lib/{browser/types → neutral/blueprints}/index.mjs.map +0 -0
  311. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
  312. /package/dist/lib/{node-esm/chunk-HSLMI22Q.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  313. /package/dist/lib/{node-esm/types → neutral}/index.mjs.map +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-serializer.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { Collection, Obj } from '@dxos/echo';\nimport { SpaceOperation } from '@dxos/plugin-space';\nimport { isSpace } from '@dxos/react-client/echo';\n\nimport { translations } from '#translations';\nimport { MarkdownOperation } from '#types';\nimport { Markdown } from '#types';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n // Get context for lazy capability access in callbacks.\n const capabilities = yield* Capability.Service;\n\n return Capability.contributes(AppCapabilities.AppGraphSerializer, [\n {\n inputType: Markdown.Document.typename,\n outputType: 'text/markdown',\n // Reconcile with metadata serializers.\n serialize: async (node) => {\n const doc = node.data;\n const content = await doc.content.load();\n return {\n name:\n doc.name ||\n doc.fallbackName ||\n translations[0]['en-US'][Markdown.Document.typename]['object-name.placeholder'],\n data: content.content,\n type: 'text/markdown',\n };\n },\n deserialize: async (data, ancestors) => {\n const space = ancestors.find(isSpace);\n const target =\n ancestors.findLast((ancestor) => Obj.instanceOf(Collection.Collection, ancestor)) ??\n space?.properties[Collection.Collection.typename]?.target;\n if (!space || !target) {\n return;\n }\n\n const { invokePromise } = capabilities.get(Capabilities.OperationInvoker);\n const createResult = await invokePromise(MarkdownOperation.CreateMarkdown, {\n name: data.name,\n content: data.data,\n });\n if (!createResult.data?.object) {\n return undefined;\n }\n await invokePromise(SpaceOperation.AddObject, { target, object: createResult.data.object });\n\n return createResult.data.object;\n },\n },\n ]);\n }),\n);\n"],
5
+ "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,uBAAuB;AAChC,SAASC,YAAYC,WAAW;AAChC,SAASC,sBAAsB;AAC/B,SAASC,eAAe;AAExB,SAASC,oBAAoB;AAC7B,SAASC,yBAAyB;AAClC,SAASC,gBAAgB;AAEzB,IAAA,+BAAeR,WAAWS,WACjBC,kBAAW,aAAA;AAEhB,QAAMC,eAAe,OAAOX,WAAWY;AAEvC,SAAOZ,WAAWa,YAAYZ,gBAAgBa,oBAAoB;IAChE;MACEC,WAAWP,SAASQ,SAASC;MAC7BC,YAAY;;MAEZC,WAAW,OAAOC,SAAAA;AAChB,cAAMC,MAAMD,KAAKE;AACjB,cAAMC,UAAU,MAAMF,IAAIE,QAAQC,KAAI;AACtC,eAAO;UACLC,MACEJ,IAAII,QACJJ,IAAIK,gBACJpB,aAAa,CAAA,EAAG,OAAA,EAASE,SAASQ,SAASC,QAAQ,EAAE,yBAAA;UACvDK,MAAMC,QAAQA;UACdI,MAAM;QACR;MACF;MACAC,aAAa,OAAON,MAAMO,cAAAA;AACxB,cAAMC,QAAQD,UAAUE,KAAK1B,OAAAA;AAC7B,cAAM2B,SACJH,UAAUI,SAAS,CAACC,aAAa/B,IAAIgC,WAAWjC,WAAWA,YAAYgC,QAAAA,CAAAA,KACvEJ,OAAOM,WAAWlC,WAAWA,WAAWe,QAAQ,GAAGe;AACrD,YAAI,CAACF,SAAS,CAACE,QAAQ;AACrB;QACF;AAEA,cAAM,EAAEK,cAAa,IAAK1B,aAAa2B,IAAIvC,aAAawC,gBAAgB;AACxE,cAAMC,eAAe,MAAMH,cAAc9B,kBAAkBkC,gBAAgB;UACzEhB,MAAMH,KAAKG;UACXF,SAASD,KAAKA;QAChB,CAAA;AACA,YAAI,CAACkB,aAAalB,MAAMoB,QAAQ;AAC9B,iBAAOC;QACT;AACA,cAAMN,cAAcjC,eAAewC,WAAW;UAAEZ;UAAQU,QAAQF,aAAalB,KAAKoB;QAAO,CAAA;AAEzF,eAAOF,aAAalB,KAAKoB;MAC3B;IACF;GACD;AACH,CAAA,CAAA;",
6
+ "names": ["Effect", "Capabilities", "Capability", "AppCapabilities", "Collection", "Obj", "SpaceOperation", "isSpace", "translations", "MarkdownOperation", "Markdown", "makeModule", "fnUntraced", "capabilities", "Service", "contributes", "AppGraphSerializer", "inputType", "Document", "typename", "outputType", "serialize", "node", "doc", "data", "content", "load", "name", "fallbackName", "type", "deserialize", "ancestors", "space", "find", "target", "findLast", "ancestor", "instanceOf", "properties", "invokePromise", "get", "OperationInvoker", "createResult", "CreateMarkdown", "object", "undefined", "AddObject"]
7
+ }
@@ -0,0 +1,15 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/capabilities/blueprint-definition.ts
4
+ import * as Effect from "effect/Effect";
5
+ import { Capability } from "@dxos/app-framework";
6
+ import { AppCapabilities } from "@dxos/app-toolkit";
7
+ import { MarkdownBlueprint } from "#blueprints";
8
+ var blueprintDefinition = Capability.makeModule(() => Effect.succeed([
9
+ Capability.contributes(AppCapabilities.BlueprintDefinition, MarkdownBlueprint)
10
+ ]));
11
+ var blueprint_definition_default = blueprintDefinition;
12
+ export {
13
+ blueprint_definition_default as default
14
+ };
15
+ //# sourceMappingURL=blueprint-definition-33OK2KUL.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/blueprint-definition.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\n// eslint-disable-next-line unused-imports/no-unused-imports\nimport type { Blueprint } from '@dxos/compute';\n\nimport { MarkdownBlueprint } from '#blueprints';\n\nconst blueprintDefinition = Capability.makeModule<\n [],\n Capability.Capability<typeof AppCapabilities.BlueprintDefinition>[]\n>(() => Effect.succeed([Capability.contributes(AppCapabilities.BlueprintDefinition, MarkdownBlueprint)]));\n\nexport default blueprintDefinition;\n"],
5
+ "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAIhC,SAASC,yBAAyB;AAElC,IAAMC,sBAAsBH,WAAWI,WAGrC,MAAaC,eAAQ;EAACL,WAAWM,YAAYL,gBAAgBM,qBAAqBL,iBAAAA;CAAmB,CAAA;AAEvG,IAAA,+BAAeC;",
6
+ "names": ["Effect", "Capability", "AppCapabilities", "MarkdownBlueprint", "blueprintDefinition", "makeModule", "succeed", "contributes", "BlueprintDefinition"]
7
+ }
@@ -0,0 +1,8 @@
1
+ import {
2
+ markdown_blueprint_default
3
+ } from "../chunk-LXNSKCPD.mjs";
4
+ import "../chunk-J5LGTIGS.mjs";
5
+ export {
6
+ markdown_blueprint_default as MarkdownBlueprint
7
+ };
8
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,25 @@
1
+ import "../chunk-J5LGTIGS.mjs";
2
+
3
+ // src/capabilities/index.ts
4
+ import { Capability } from "@dxos/app-framework";
5
+ var AnchorSort = Capability.lazy("AnchorSort", () => import("../anchor-sort-L4VCKDO6.mjs"));
6
+ var AppGraphSerializer = Capability.lazy("AppGraphSerializer", () => import("../app-graph-serializer-YI72EEVM.mjs"));
7
+ var CommentConfig = Capability.lazy("CommentConfig", () => import("../comment-config-7VTHRUIZ.mjs"));
8
+ var CreateObject = Capability.lazy("CreateObject", () => import("../create-object-ZA6VXLJJ.mjs"));
9
+ var BlueprintDefinition = Capability.lazy("BlueprintDefinition", () => import("../blueprint-definition-33OK2KUL.mjs"));
10
+ var OperationHandler = Capability.lazy("OperationHandler", () => import("../operation-handler-2ARMPBGZ.mjs"));
11
+ var ReactSurface = Capability.lazy("ReactSurface", () => import("../react-surface-SCIL76V5.mjs"));
12
+ var MarkdownSettings = Capability.lazy("MarkdownSettings", () => import("../settings-TDGDLCUR.mjs"));
13
+ var MarkdownState = Capability.lazy("MarkdownState", () => import("../state-5COCF5PN.mjs"));
14
+ export {
15
+ AnchorSort,
16
+ AppGraphSerializer,
17
+ BlueprintDefinition,
18
+ CommentConfig,
19
+ CreateObject,
20
+ MarkdownSettings,
21
+ MarkdownState,
22
+ OperationHandler,
23
+ ReactSurface
24
+ };
25
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/capabilities/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n// eslint-disable-next-line unused-imports/no-unused-imports\nimport type { Blueprint, Operation, OperationHandlerSet } from '@dxos/compute';\n\nexport const AnchorSort = Capability.lazy('AnchorSort', () => import('./anchor-sort'));\nexport const AppGraphSerializer = Capability.lazy('AppGraphSerializer', () => import('./app-graph-serializer'));\nexport const CommentConfig = Capability.lazy('CommentConfig', () => import('./comment-config'));\nexport const CreateObject = Capability.lazy('CreateObject', () => import('./create-object'));\nexport const BlueprintDefinition = Capability.lazy('BlueprintDefinition', () => import('./blueprint-definition'));\nexport const OperationHandler = Capability.lazy<OperationHandlerSet.OperationHandlerSet>(\n 'OperationHandler',\n () => import('./operation-handler'),\n);\nexport const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));\nexport const MarkdownSettings = Capability.lazy('MarkdownSettings', () => import('./settings'));\nexport const MarkdownState = Capability.lazy('MarkdownState', () => import('./state'));\n"],
5
+ "mappings": ";;;AAIA,SAASA,kBAAkB;AAIpB,IAAMC,aAAaD,WAAWE,KAAK,cAAc,MAAM,OAAO,6BAAA,CAAA;AAC9D,IAAMC,qBAAqBH,WAAWE,KAAK,sBAAsB,MAAM,OAAO,sCAAA,CAAA;AAC9E,IAAME,gBAAgBJ,WAAWE,KAAK,iBAAiB,MAAM,OAAO,gCAAA,CAAA;AACpE,IAAMG,eAAeL,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAClE,IAAMI,sBAAsBN,WAAWE,KAAK,uBAAuB,MAAM,OAAO,sCAAA,CAAA;AAChF,IAAMK,mBAAmBP,WAAWE,KACzC,oBACA,MAAM,OAAO,mCAAA,CAAA;AAER,IAAMM,eAAeR,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAClE,IAAMO,mBAAmBT,WAAWE,KAAK,oBAAoB,MAAM,OAAO,0BAAA,CAAA;AAC1E,IAAMQ,gBAAgBV,WAAWE,KAAK,iBAAiB,MAAM,OAAO,uBAAA,CAAA;",
6
+ "names": ["Capability", "AnchorSort", "lazy", "AppGraphSerializer", "CommentConfig", "CreateObject", "BlueprintDefinition", "OperationHandler", "ReactSurface", "MarkdownSettings", "MarkdownState"]
7
+ }
@@ -0,0 +1,11 @@
1
+ import "../chunk-J5LGTIGS.mjs";
2
+
3
+ // src/capabilities/node.ts
4
+ import { Capability } from "@dxos/app-framework";
5
+ var CreateObject = Capability.lazy("CreateObject", () => import("../create-object-ZA6VXLJJ.mjs"));
6
+ var OperationHandler = Capability.lazy("OperationHandler", () => import("../operation-handler-2ARMPBGZ.mjs"));
7
+ export {
8
+ CreateObject,
9
+ OperationHandler
10
+ };
11
+ //# sourceMappingURL=node.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/capabilities/node.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport const CreateObject = Capability.lazy('CreateObject', () => import('./create-object'));\n\nexport const OperationHandler = Capability.lazy<OperationHandlerSet.OperationHandlerSet>(\n 'OperationHandler',\n () => import('./operation-handler'),\n);\n"],
5
+ "mappings": ";;;AAIA,SAASA,kBAAkB;AAGpB,IAAMC,eAAeD,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAElE,IAAMC,mBAAmBH,WAAWE,KACzC,oBACA,MAAM,OAAO,mCAAA,CAAA;",
6
+ "names": ["Capability", "CreateObject", "lazy", "OperationHandler"]
7
+ }
@@ -0,0 +1,8 @@
1
+ // src/operations/index.ts
2
+ import { OperationHandlerSet } from "@dxos/compute";
3
+ var MarkdownOperationHandlerSet = OperationHandlerSet.lazy(() => import("./create-3PGJ2NEK.mjs"), () => import("./create-markdown-5LS46GMH.mjs"), () => import("./open-WCYGBLAG.mjs"), () => import("./scroll-to-anchor-6FIOKVKT.mjs"), () => import("./set-view-mode-37RSPFEN.mjs"), () => import("./update-markdown-5EDRD3SH.mjs"));
4
+
5
+ export {
6
+ MarkdownOperationHandlerSet
7
+ };
8
+ //# sourceMappingURL=chunk-6N7AD3IU.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport const MarkdownOperationHandlerSet = OperationHandlerSet.lazy(\n () => import('./create'),\n () => import('./create-markdown'),\n () => import('./open'),\n () => import('./scroll-to-anchor'),\n () => import('./set-view-mode'),\n () => import('./update-markdown'),\n);\n"],
5
+ "mappings": ";AAIA,SAASA,2BAA2B;AAE7B,IAAMC,8BAA8BD,oBAAoBE,KAC7D,MAAM,OAAO,uBAAA,GACb,MAAM,OAAO,gCAAA,GACb,MAAM,OAAO,qBAAA,GACb,MAAM,OAAO,iCAAA,GACb,MAAM,OAAO,8BAAA,GACb,MAAM,OAAO,gCAAA,CAAA;",
6
+ "names": ["OperationHandlerSet", "MarkdownOperationHandlerSet", "lazy"]
7
+ }
@@ -0,0 +1,98 @@
1
+ // src/util.tsx
2
+ import { debounce } from "@dxos/async";
3
+ import { Obj } from "@dxos/echo";
4
+ import { Markdown } from "#types";
5
+ var isEditorModel = (data) => data && typeof data === "object" && "id" in data && typeof data.id === "string" && "text" in data && typeof data.text === "string";
6
+ var isMarkdownProperties = (data) => Obj.isObject(data) ? true : data && typeof data === "object" ? "title" in data && typeof data.title === "string" : false;
7
+ var nonTitleChars = /[^\w ]/g;
8
+ var skipPatterns = [
9
+ /^!\[/,
10
+ /^---\s*$/,
11
+ /^```/,
12
+ /^\s*$/
13
+ ];
14
+ var titlePatterns = [
15
+ /^#{1,6}\s+(.+)/
16
+ ];
17
+ var getFallbackName = (content = "") => {
18
+ const len = content.length;
19
+ let i = 0;
20
+ while (i < len) {
21
+ let lineEnd = i;
22
+ while (lineEnd < len && content[lineEnd] !== "\n") {
23
+ lineEnd++;
24
+ }
25
+ const line = content.slice(i, lineEnd).trim();
26
+ i = lineEnd + 1;
27
+ if (skipPatterns.some((pattern) => pattern.test(line))) {
28
+ continue;
29
+ }
30
+ for (const pattern of titlePatterns) {
31
+ const match = pattern.exec(line);
32
+ if (match) {
33
+ const text2 = match[1].replaceAll(nonTitleChars, "").trim();
34
+ if (text2.length > 0) {
35
+ return text2;
36
+ }
37
+ }
38
+ }
39
+ const maxLen = 32;
40
+ const text = line.replaceAll(nonTitleChars, "").trim();
41
+ if (text.length > 0) {
42
+ if (text.length > maxLen) {
43
+ const words = text.split(/\s+/);
44
+ let result = "";
45
+ for (const word of words) {
46
+ const next = result.length === 0 ? word : result + " " + word;
47
+ if (next.length > maxLen) {
48
+ break;
49
+ }
50
+ result = next;
51
+ }
52
+ return result + "\u2026";
53
+ }
54
+ return text;
55
+ }
56
+ }
57
+ return "";
58
+ };
59
+ var getContentSnippet = (content = "", maxLines = 3) => {
60
+ const abstract = content.split("\n").filter((line) => !line.startsWith("!")).filter((line) => line.trim() !== "");
61
+ return abstract.slice(0, maxLines).join("\n") ?? "";
62
+ };
63
+ var setFallbackName = debounce((doc, content = "") => {
64
+ const name = getFallbackName(content);
65
+ if (doc.fallbackName !== name) {
66
+ Obj.update(doc, (doc2) => {
67
+ doc2.fallbackName = name;
68
+ });
69
+ }
70
+ }, 200);
71
+ var serializer = {
72
+ serialize: async ({ object }) => {
73
+ const { content } = await object.content.load();
74
+ return JSON.stringify({
75
+ name: object.name,
76
+ fallbackName: object.fallbackName,
77
+ content
78
+ });
79
+ },
80
+ deserialize: async ({ content: serialized }) => {
81
+ const { name, fallbackName, content } = JSON.parse(serialized);
82
+ return Markdown.make({
83
+ name,
84
+ fallbackName,
85
+ content
86
+ });
87
+ }
88
+ };
89
+
90
+ export {
91
+ isEditorModel,
92
+ isMarkdownProperties,
93
+ getFallbackName,
94
+ getContentSnippet,
95
+ setFallbackName,
96
+ serializer
97
+ };
98
+ //# sourceMappingURL=chunk-KDN4GKG2.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { debounce } from '@dxos/async';\nimport { Obj } from '@dxos/echo';\nimport { type TypedObjectSerializer } from '@dxos/plugin-space';\n\nimport { Markdown } from '#types';\n\n/**\n * Checks if an object conforms to the interface needed to render an editor.\n * @deprecated Use Schema.instanceOf(Markdown.Document, data)\n */\n// TODO(burdon): Normalize types (from FilesPlugin).\nexport const isEditorModel = (data: any): data is { id: string; text: string } =>\n data &&\n typeof data === 'object' &&\n 'id' in data &&\n typeof data.id === 'string' &&\n 'text' in data &&\n typeof data.text === 'string';\n\nexport type MarkdownProperties = Record<string, any>;\n\nexport const isMarkdownProperties = (data: unknown): data is MarkdownProperties =>\n (Obj.isObject(data) as boolean)\n ? true\n : data && typeof data === 'object'\n ? 'title' in data && typeof data.title === 'string'\n : false;\n\nconst nonTitleChars = /[^\\w ]/g;\n\n// Lines matching these patterns are skipped.\nconst skipPatterns = [\n /^!\\[/, // Image.\n /^---\\s*$/, // Horizontal rule.\n /^```/, // Code block fence.\n /^\\s*$/, // Empty or whitespace-only.\n];\n\n// Patterns to extract title text (first capture group is used).\nconst titlePatterns = [\n /^#{1,6}\\s+(.+)/, // Heading.\n];\n\n/**\n * Extracts a fallback name by scanning lines for the first heading or text fragment.\n */\nexport const getFallbackName = (content = ''): string => {\n const len = content.length;\n\n let i = 0;\n while (i < len) {\n // Find end of line.\n let lineEnd = i;\n while (lineEnd < len && content[lineEnd] !== '\\n') {\n lineEnd++;\n }\n\n const line = content.slice(i, lineEnd).trim();\n i = lineEnd + 1;\n\n // Skip lines matching skip patterns.\n if (skipPatterns.some((pattern) => pattern.test(line))) {\n continue;\n }\n\n // Check for title patterns.\n for (const pattern of titlePatterns) {\n const match = pattern.exec(line);\n if (match) {\n const text = match[1].replaceAll(nonTitleChars, '').trim();\n if (text.length > 0) {\n return text;\n }\n }\n }\n\n // Use line as plain text fallback.\n const maxLen = 32;\n const text = line.replaceAll(nonTitleChars, '').trim();\n if (text.length > 0) {\n if (text.length > maxLen) {\n const words = text.split(/\\s+/);\n let result = '';\n for (const word of words) {\n const next = result.length === 0 ? word : result + ' ' + word;\n if (next.length > maxLen) {\n break;\n }\n result = next;\n }\n\n return result + '…';\n }\n\n return text;\n }\n }\n\n return '';\n};\n\n// TODO(burdon): Option to strip Markdown.\nexport const getContentSnippet = (content = '', maxLines = 3) => {\n const abstract = content\n .split('\\n')\n .filter((line) => !line.startsWith('!'))\n .filter((line) => line.trim() !== '');\n\n return abstract.slice(0, maxLines).join('\\n') ?? '';\n};\n\nexport const setFallbackName = debounce((doc: Markdown.Document, content = '') => {\n const name = getFallbackName(content);\n if (doc.fallbackName !== name) {\n Obj.update(doc, (doc) => {\n doc.fallbackName = name;\n });\n }\n}, 200);\n\nexport const serializer: TypedObjectSerializer<Markdown.Document> = {\n serialize: async ({ object }): Promise<string> => {\n const { content } = await object.content.load();\n return JSON.stringify({ name: object.name, fallbackName: object.fallbackName, content });\n },\n\n deserialize: async ({ content: serialized }) => {\n const { name, fallbackName, content } = JSON.parse(serialized);\n return Markdown.make({ name, fallbackName, content });\n },\n};\n"],
5
+ "mappings": ";AAIA,SAASA,gBAAgB;AACzB,SAASC,WAAW;AAGpB,SAASC,gBAAgB;AAOlB,IAAMC,gBAAgB,CAACC,SAC5BA,QACA,OAAOA,SAAS,YAChB,QAAQA,QACR,OAAOA,KAAKC,OAAO,YACnB,UAAUD,QACV,OAAOA,KAAKE,SAAS;AAIhB,IAAMC,uBAAuB,CAACH,SAClCH,IAAIO,SAASJ,IAAAA,IACV,OACAA,QAAQ,OAAOA,SAAS,WACtB,WAAWA,QAAQ,OAAOA,KAAKK,UAAU,WACzC;AAER,IAAMC,gBAAgB;AAGtB,IAAMC,eAAe;EACnB;EACA;EACA;EACA;;AAIF,IAAMC,gBAAgB;EACpB;;AAMK,IAAMC,kBAAkB,CAACC,UAAU,OAAE;AAC1C,QAAMC,MAAMD,QAAQE;AAEpB,MAAIC,IAAI;AACR,SAAOA,IAAIF,KAAK;AAEd,QAAIG,UAAUD;AACd,WAAOC,UAAUH,OAAOD,QAAQI,OAAAA,MAAa,MAAM;AACjDA;IACF;AAEA,UAAMC,OAAOL,QAAQM,MAAMH,GAAGC,OAAAA,EAASG,KAAI;AAC3CJ,QAAIC,UAAU;AAGd,QAAIP,aAAaW,KAAK,CAACC,YAAYA,QAAQC,KAAKL,IAAAA,CAAAA,GAAQ;AACtD;IACF;AAGA,eAAWI,WAAWX,eAAe;AACnC,YAAMa,QAAQF,QAAQG,KAAKP,IAAAA;AAC3B,UAAIM,OAAO;AACT,cAAMnB,QAAOmB,MAAM,CAAA,EAAGE,WAAWjB,eAAe,EAAA,EAAIW,KAAI;AACxD,YAAIf,MAAKU,SAAS,GAAG;AACnB,iBAAOV;QACT;MACF;IACF;AAGA,UAAMsB,SAAS;AACf,UAAMtB,OAAOa,KAAKQ,WAAWjB,eAAe,EAAA,EAAIW,KAAI;AACpD,QAAIf,KAAKU,SAAS,GAAG;AACnB,UAAIV,KAAKU,SAASY,QAAQ;AACxB,cAAMC,QAAQvB,KAAKwB,MAAM,KAAA;AACzB,YAAIC,SAAS;AACb,mBAAWC,QAAQH,OAAO;AACxB,gBAAMI,OAAOF,OAAOf,WAAW,IAAIgB,OAAOD,SAAS,MAAMC;AACzD,cAAIC,KAAKjB,SAASY,QAAQ;AACxB;UACF;AACAG,mBAASE;QACX;AAEA,eAAOF,SAAS;MAClB;AAEA,aAAOzB;IACT;EACF;AAEA,SAAO;AACT;AAGO,IAAM4B,oBAAoB,CAACpB,UAAU,IAAIqB,WAAW,MAAC;AAC1D,QAAMC,WAAWtB,QACdgB,MAAM,IAAA,EACNO,OAAO,CAAClB,SAAS,CAACA,KAAKmB,WAAW,GAAA,CAAA,EAClCD,OAAO,CAAClB,SAASA,KAAKE,KAAI,MAAO,EAAA;AAEpC,SAAOe,SAAShB,MAAM,GAAGe,QAAAA,EAAUI,KAAK,IAAA,KAAS;AACnD;AAEO,IAAMC,kBAAkBxC,SAAS,CAACyC,KAAwB3B,UAAU,OAAE;AAC3E,QAAM4B,OAAO7B,gBAAgBC,OAAAA;AAC7B,MAAI2B,IAAIE,iBAAiBD,MAAM;AAC7BzC,QAAI2C,OAAOH,KAAK,CAACA,SAAAA;AACfA,MAAAA,KAAIE,eAAeD;IACrB,CAAA;EACF;AACF,GAAG,GAAA;AAEI,IAAMG,aAAuD;EAClEC,WAAW,OAAO,EAAEC,OAAM,MAAE;AAC1B,UAAM,EAAEjC,QAAO,IAAK,MAAMiC,OAAOjC,QAAQkC,KAAI;AAC7C,WAAOC,KAAKC,UAAU;MAAER,MAAMK,OAAOL;MAAMC,cAAcI,OAAOJ;MAAc7B;IAAQ,CAAA;EACxF;EAEAqC,aAAa,OAAO,EAAErC,SAASsC,WAAU,MAAE;AACzC,UAAM,EAAEV,MAAMC,cAAc7B,QAAO,IAAKmC,KAAKI,MAAMD,UAAAA;AACnD,WAAOlD,SAASoD,KAAK;MAAEZ;MAAMC;MAAc7B;IAAQ,CAAA;EACrD;AACF;",
6
+ "names": ["debounce", "Obj", "Markdown", "isEditorModel", "data", "id", "text", "isMarkdownProperties", "isObject", "title", "nonTitleChars", "skipPatterns", "titlePatterns", "getFallbackName", "content", "len", "length", "i", "lineEnd", "line", "slice", "trim", "some", "pattern", "test", "match", "exec", "replaceAll", "maxLen", "words", "split", "result", "word", "next", "getContentSnippet", "maxLines", "abstract", "filter", "startsWith", "join", "setFallbackName", "doc", "name", "fallbackName", "update", "serializer", "serialize", "object", "load", "JSON", "stringify", "deserialize", "serialized", "parse", "make"]
7
+ }
@@ -1,24 +1,16 @@
1
- import {
2
- Create,
3
- Open,
4
- Update
5
- } from "../chunk-XKUKZNUS.mjs";
6
- import "../chunk-46WIDM4R.mjs";
7
- import "../chunk-J5LGTIGS.mjs";
8
-
9
1
  // src/blueprints/markdown-blueprint.ts
10
- import { Blueprint, Template } from "@dxos/blueprints";
2
+ import { Blueprint, Template } from "@dxos/compute";
11
3
  import { trim } from "@dxos/util";
12
- var BLUEPRINT_KEY = "org.dxos.blueprint.markdown";
4
+ import { Markdown, MarkdownOperation } from "#types";
13
5
  var make = () => Blueprint.make({
14
- key: BLUEPRINT_KEY,
6
+ key: Markdown.BLUEPRINT_KEY,
15
7
  name: "Markdown",
16
8
  description: "Work with markdown documents. Preferred over raw database operations.",
17
9
  tools: Blueprint.toolDefinitions({
18
10
  operations: [
19
- Create,
20
- Open,
21
- Update
11
+ MarkdownOperation.Create,
12
+ MarkdownOperation.Open,
13
+ MarkdownOperation.Update
22
14
  ]
23
15
  }),
24
16
  instructions: Template.make({
@@ -41,11 +33,12 @@ var make = () => Blueprint.make({
41
33
  })
42
34
  });
43
35
  var blueprint = {
44
- key: BLUEPRINT_KEY,
36
+ key: Markdown.BLUEPRINT_KEY,
45
37
  make
46
38
  };
47
39
  var markdown_blueprint_default = blueprint;
40
+
48
41
  export {
49
- markdown_blueprint_default as MarkdownBlueprint
42
+ markdown_blueprint_default
50
43
  };
51
- //# sourceMappingURL=index.mjs.map
44
+ //# sourceMappingURL=chunk-LXNSKCPD.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/blueprints/markdown-blueprint.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Blueprint, Template } from '@dxos/compute';\nimport { trim } from '@dxos/util';\n\nimport { Markdown, MarkdownOperation } from '#types';\n\nconst make = () =>\n Blueprint.make({\n key: Markdown.BLUEPRINT_KEY,\n name: 'Markdown',\n description: 'Work with markdown documents. Preferred over raw database operations.',\n tools: Blueprint.toolDefinitions({\n operations: [MarkdownOperation.Create, MarkdownOperation.Open, MarkdownOperation.Update],\n }),\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\nconst blueprint: Blueprint.Definition = {\n key: Markdown.BLUEPRINT_KEY,\n make,\n};\n\nexport default blueprint;\n"],
5
+ "mappings": ";AAIA,SAASA,WAAWC,gBAAgB;AACpC,SAASC,YAAY;AAErB,SAASC,UAAUC,yBAAyB;AAE5C,IAAMC,OAAO,MACXL,UAAUK,KAAK;EACbC,KAAKH,SAASI;EACdC,MAAM;EACNC,aAAa;EACbC,OAAOV,UAAUW,gBAAgB;IAC/BC,YAAY;MAACR,kBAAkBS;MAAQT,kBAAkBU;MAAMV,kBAAkBW;;EACnF,CAAA;EACAC,cAAcf,SAASI,KAAK;;IAE1BY,QAAQf;;;;;;;;UAQJ,KAAA;;;;;UAKA,KAAA;;EAEN,CAAA;AACF,CAAA;AAEF,IAAMgB,YAAkC;EACtCZ,KAAKH,SAASI;EACdF;AACF;AAEA,IAAA,6BAAea;",
6
+ "names": ["Blueprint", "Template", "trim", "Markdown", "MarkdownOperation", "make", "key", "BLUEPRINT_KEY", "name", "description", "tools", "toolDefinitions", "operations", "Create", "Open", "Update", "instructions", "source", "blueprint"]
7
+ }
@@ -0,0 +1,57 @@
1
+ // src/MarkdownPlugin.tsx
2
+ import { Plugin } from "@dxos/app-framework";
3
+ import { AppActivationEvents, AppPlugin } from "@dxos/app-toolkit";
4
+ import { translations as editorTranslations } from "@dxos/react-ui-editor/translations";
5
+ import { Text } from "@dxos/schema";
6
+ import { AnchorSort, AppGraphSerializer, BlueprintDefinition, CommentConfig, CreateObject, MarkdownSettings, MarkdownState, OperationHandler, ReactSurface } from "#capabilities";
7
+ import { meta } from "#meta";
8
+ import { translations } from "#translations";
9
+ import { Markdown, MarkdownEvents } from "#types";
10
+ var MarkdownPlugin = Plugin.define(meta).pipe(AppPlugin.addBlueprintDefinitionModule({
11
+ activate: BlueprintDefinition
12
+ }), AppPlugin.addCommentConfigModule({
13
+ activate: CommentConfig
14
+ }), AppPlugin.addCreateObjectModule({
15
+ activate: CreateObject
16
+ }), AppPlugin.addOperationHandlerModule({
17
+ activate: OperationHandler
18
+ }), AppPlugin.addSchemaModule({
19
+ schema: [
20
+ Markdown.Document,
21
+ Text.Text
22
+ ]
23
+ }), AppPlugin.addSurfaceModule({
24
+ activate: ReactSurface,
25
+ firesBeforeActivation: [
26
+ MarkdownEvents.SetupExtensions
27
+ ]
28
+ }), AppPlugin.addTranslationsModule({
29
+ translations: [
30
+ ...translations,
31
+ ...editorTranslations
32
+ ]
33
+ }), Plugin.addModule({
34
+ activatesOn: AppActivationEvents.SetupSettings,
35
+ activate: MarkdownSettings
36
+ }), Plugin.addModule({
37
+ id: "state",
38
+ // TODO(wittjosiah): Does not integrate with settings store.
39
+ // Should this be a different event?
40
+ // Should settings store be renamed to be more generic?
41
+ activatesOn: AppActivationEvents.SetupSettings,
42
+ activate: MarkdownState
43
+ }), Plugin.addModule({
44
+ activatesOn: AppActivationEvents.AppGraphReady,
45
+ activate: AppGraphSerializer
46
+ }), Plugin.addModule({
47
+ // TODO(wittjosiah): More relevant event?
48
+ activatesOn: AppActivationEvents.AppGraphReady,
49
+ activate: AnchorSort
50
+ }), Plugin.make);
51
+ var MarkdownPlugin_default = MarkdownPlugin;
52
+
53
+ export {
54
+ MarkdownPlugin,
55
+ MarkdownPlugin_default
56
+ };
57
+ //# sourceMappingURL=chunk-LYUELXJH.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/MarkdownPlugin.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppActivationEvents, AppPlugin } from '@dxos/app-toolkit';\nimport { translations as editorTranslations } from '@dxos/react-ui-editor/translations';\nimport { Text } from '@dxos/schema';\n\nimport {\n AnchorSort,\n AppGraphSerializer,\n BlueprintDefinition,\n CommentConfig,\n CreateObject,\n MarkdownSettings,\n MarkdownState,\n OperationHandler,\n ReactSurface,\n} from '#capabilities';\nimport { meta } from '#meta';\nimport { translations } from '#translations';\nimport { Markdown, MarkdownEvents } from '#types';\n\nexport const MarkdownPlugin = Plugin.define(meta).pipe(\n AppPlugin.addBlueprintDefinitionModule({ activate: BlueprintDefinition }),\n AppPlugin.addCommentConfigModule({ activate: CommentConfig }),\n AppPlugin.addCreateObjectModule({ activate: CreateObject }),\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n AppPlugin.addSchemaModule({ schema: [Markdown.Document, Text.Text] }),\n AppPlugin.addSurfaceModule({\n activate: ReactSurface,\n firesBeforeActivation: [MarkdownEvents.SetupExtensions],\n }),\n AppPlugin.addTranslationsModule({ translations: [...translations, ...editorTranslations] }),\n Plugin.addModule({\n activatesOn: AppActivationEvents.SetupSettings,\n activate: MarkdownSettings,\n }),\n Plugin.addModule({\n id: 'state',\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: AppActivationEvents.SetupSettings,\n activate: MarkdownState,\n }),\n Plugin.addModule({\n activatesOn: AppActivationEvents.AppGraphReady,\n activate: AppGraphSerializer,\n }),\n Plugin.addModule({\n // TODO(wittjosiah): More relevant event?\n activatesOn: AppActivationEvents.AppGraphReady,\n activate: AnchorSort,\n }),\n Plugin.make,\n);\n\nexport default MarkdownPlugin;\n"],
5
+ "mappings": ";AAIA,SAASA,cAAc;AACvB,SAASC,qBAAqBC,iBAAiB;AAC/C,SAASC,gBAAgBC,0BAA0B;AACnD,SAASC,YAAY;AAErB,SACEC,YACAC,oBACAC,qBACAC,eACAC,cACAC,kBACAC,eACAC,kBACAC,oBACK;AACP,SAASC,YAAY;AACrB,SAASZ,oBAAoB;AAC7B,SAASa,UAAUC,sBAAsB;AAElC,IAAMC,iBAAiBlB,OAAOmB,OAAOJ,IAAAA,EAAMK,KAChDlB,UAAUmB,6BAA6B;EAAEC,UAAUd;AAAoB,CAAA,GACvEN,UAAUqB,uBAAuB;EAAED,UAAUb;AAAc,CAAA,GAC3DP,UAAUsB,sBAAsB;EAAEF,UAAUZ;AAAa,CAAA,GACzDR,UAAUuB,0BAA0B;EAAEH,UAAUT;AAAiB,CAAA,GACjEX,UAAUwB,gBAAgB;EAAEC,QAAQ;IAACX,SAASY;IAAUvB,KAAKA;;AAAM,CAAA,GACnEH,UAAU2B,iBAAiB;EACzBP,UAAUR;EACVgB,uBAAuB;IAACb,eAAec;;AACzC,CAAA,GACA7B,UAAU8B,sBAAsB;EAAE7B,cAAc;OAAIA;OAAiBC;;AAAoB,CAAA,GACzFJ,OAAOiC,UAAU;EACfC,aAAajC,oBAAoBkC;EACjCb,UAAUX;AACZ,CAAA,GACAX,OAAOiC,UAAU;EACfG,IAAI;;;;EAIJF,aAAajC,oBAAoBkC;EACjCb,UAAUV;AACZ,CAAA,GACAZ,OAAOiC,UAAU;EACfC,aAAajC,oBAAoBoC;EACjCf,UAAUf;AACZ,CAAA,GACAP,OAAOiC,UAAU;;EAEfC,aAAajC,oBAAoBoC;EACjCf,UAAUhB;AACZ,CAAA,GACAN,OAAOsC,IAAI;AAGb,IAAA,yBAAepB;",
6
+ "names": ["Plugin", "AppActivationEvents", "AppPlugin", "translations", "editorTranslations", "Text", "AnchorSort", "AppGraphSerializer", "BlueprintDefinition", "CommentConfig", "CreateObject", "MarkdownSettings", "MarkdownState", "OperationHandler", "ReactSurface", "meta", "Markdown", "MarkdownEvents", "MarkdownPlugin", "define", "pipe", "addBlueprintDefinitionModule", "activate", "addCommentConfigModule", "addCreateObjectModule", "addOperationHandlerModule", "addSchemaModule", "schema", "Document", "addSurfaceModule", "firesBeforeActivation", "SetupExtensions", "addTranslationsModule", "addModule", "activatesOn", "SetupSettings", "id", "AppGraphReady", "make"]
7
+ }
@@ -0,0 +1,276 @@
1
+ import {
2
+ __export
3
+ } from "./chunk-J5LGTIGS.mjs";
4
+
5
+ // src/types/Markdown.ts
6
+ var Markdown_exports = {};
7
+ __export(Markdown_exports, {
8
+ BLUEPRINT_KEY: () => BLUEPRINT_KEY,
9
+ Document: () => Document,
10
+ Settings: () => Settings2,
11
+ make: () => make
12
+ });
13
+ import * as Schema2 from "effect/Schema";
14
+ import { BlueprintsAnnotation, GraphPropsAnnotation } from "@dxos/app-toolkit";
15
+ import { Annotation, Obj, Ref, Type } from "@dxos/echo";
16
+ import { DescriptionAnnotation, FormInputAnnotation, LabelAnnotation } from "@dxos/echo/internal";
17
+ import { Text } from "@dxos/schema";
18
+
19
+ // src/types/Settings.ts
20
+ var Settings_exports = {};
21
+ __export(Settings_exports, {
22
+ Settings: () => Settings
23
+ });
24
+ import * as Schema from "effect/Schema";
25
+ import { EditorInputMode, EditorViewMode } from "@dxos/ui-editor/types";
26
+ var Settings = Schema.mutable(Schema.Struct({
27
+ defaultViewMode: EditorViewMode.annotations({
28
+ title: "Default view mode",
29
+ description: "Set whether documents open in editing or read-only mode."
30
+ }),
31
+ editorInputMode: Schema.optional(EditorInputMode.annotations({
32
+ title: "Editor input mode",
33
+ description: "Choose keyboard bindings for the editor."
34
+ })),
35
+ toolbar: Schema.optional(Schema.Boolean.annotations({
36
+ title: "Show toolbar",
37
+ description: "Display a formatting toolbar above the editor."
38
+ })),
39
+ numberedHeadings: Schema.optional(Schema.Boolean.annotations({
40
+ title: "Numbered headings",
41
+ description: "Automatically number heading levels in the document."
42
+ })),
43
+ folding: Schema.optional(Schema.Boolean.annotations({
44
+ title: "Folding",
45
+ description: "Allow collapsing and expanding sections by heading."
46
+ })),
47
+ experimental: Schema.optional(Schema.Boolean.annotations({
48
+ title: "Enable experimental features",
49
+ description: "Turn on features that are still in development."
50
+ })),
51
+ debug: Schema.optional(Schema.Boolean.annotations({
52
+ title: "Enable debugging features",
53
+ description: "Show developer tools and diagnostics for the editor."
54
+ })),
55
+ snippets: Schema.optional(Schema.String.annotations({
56
+ title: "Snippets",
57
+ description: "Input snippets to replay for testing purposes."
58
+ }))
59
+ }));
60
+
61
+ // src/types/Markdown.ts
62
+ var BLUEPRINT_KEY = "org.dxos.blueprint.markdown";
63
+ var Settings2 = Settings;
64
+ var Document = Schema2.Struct({
65
+ name: Schema2.optional(Schema2.String),
66
+ description: Schema2.optional(Schema2.String),
67
+ fallbackName: Schema2.String.pipe(FormInputAnnotation.set(false), Schema2.optional),
68
+ content: Ref.Ref(Text.Text).pipe(FormInputAnnotation.set(false))
69
+ }).pipe(Type.object({
70
+ typename: "org.dxos.type.document",
71
+ version: "0.1.0"
72
+ }), LabelAnnotation.set([
73
+ "name",
74
+ "fallbackName"
75
+ ]), DescriptionAnnotation.set("description"), Annotation.IconAnnotation.set({
76
+ icon: "ph--text-aa--regular",
77
+ hue: "indigo"
78
+ }), BlueprintsAnnotation.set([
79
+ BLUEPRINT_KEY
80
+ ]), GraphPropsAnnotation.set({
81
+ managesAutofocus: true
82
+ }));
83
+ var make = ({ content = "", ...props } = {}) => {
84
+ const doc = Obj.make(Document, {
85
+ ...props,
86
+ content: Ref.make(Text.make({
87
+ content
88
+ }))
89
+ });
90
+ Obj.setParent(doc.content.target, doc);
91
+ return doc;
92
+ };
93
+
94
+ // src/types/MarkdownCapabilities.ts
95
+ var MarkdownCapabilities_exports = {};
96
+ __export(MarkdownCapabilities_exports, {
97
+ EditorState: () => EditorState,
98
+ EditorViews: () => EditorViews,
99
+ Extensions: () => Extensions,
100
+ Settings: () => Settings3,
101
+ State: () => State,
102
+ StateSchema: () => StateSchema
103
+ });
104
+ import * as Schema3 from "effect/Schema";
105
+ import { Capability } from "@dxos/app-framework";
106
+ import { meta } from "#meta";
107
+ var StateSchema = Schema3.mutable(Schema3.Struct({
108
+ viewMode: Schema3.Record({
109
+ key: Schema3.String,
110
+ value: Schema3.String
111
+ })
112
+ }));
113
+ var Settings3 = Capability.make(`${meta.id}.capability.settings`);
114
+ var State = Capability.make(`${meta.id}.capability.state`);
115
+ var EditorState = Capability.make(`${meta.id}.capability.editor-state`);
116
+ var EditorViews = Capability.make(`${meta.id}.capability.editor-views`);
117
+ var Extensions = Capability.make(`${meta.id}.capability.extensions`);
118
+
119
+ // src/types/MarkdownEvents.ts
120
+ var MarkdownEvents_exports = {};
121
+ __export(MarkdownEvents_exports, {
122
+ SetupExtensions: () => SetupExtensions
123
+ });
124
+ import { AppActivationEvents } from "@dxos/app-toolkit";
125
+ import { meta as meta2 } from "#meta";
126
+ var SetupExtensions = AppActivationEvents.createStateEvent(`${meta2.id}.event.setup-extensions`);
127
+
128
+ // src/types/MarkdownOperation.ts
129
+ var MarkdownOperation_exports = {};
130
+ __export(MarkdownOperation_exports, {
131
+ Create: () => Create,
132
+ CreateMarkdown: () => CreateMarkdown,
133
+ Open: () => Open,
134
+ ScrollToAnchor: () => ScrollToAnchor,
135
+ SetViewMode: () => SetViewMode,
136
+ Update: () => Update
137
+ });
138
+ import * as Schema4 from "effect/Schema";
139
+ import { Capability as Capability2 } from "@dxos/app-framework";
140
+ import { Operation } from "@dxos/compute";
141
+ import { Database, Ref as Ref2 } from "@dxos/echo";
142
+ import { EditorViewMode as EditorViewMode2 } from "@dxos/ui-editor/types";
143
+ import { trim } from "@dxos/util";
144
+ import { meta as meta3 } from "#meta";
145
+ var MARKDOWN_OPERATION = `${meta3.id}.operation`;
146
+ var Edit = Schema4.Struct({
147
+ oldString: Schema4.String.annotations({
148
+ description: "The text to find in the document."
149
+ }),
150
+ newString: Schema4.String.annotations({
151
+ description: "The text to replace it with."
152
+ }),
153
+ replaceAll: Schema4.optional(Schema4.Boolean).annotations({
154
+ description: "If true, replaces all occurrences. Defaults to false (first occurrence only)."
155
+ })
156
+ });
157
+ var Create = Operation.make({
158
+ meta: {
159
+ key: "org.dxos.function.markdown.create",
160
+ name: "Create",
161
+ description: "Creates a new markdown document and adds it to the space."
162
+ },
163
+ input: Schema4.Struct({
164
+ name: Schema4.String,
165
+ content: Schema4.String
166
+ }),
167
+ output: Schema4.Struct({
168
+ id: Schema4.String.annotations({
169
+ description: "The DXN of the created document."
170
+ })
171
+ }),
172
+ services: [
173
+ Database.Service
174
+ ]
175
+ });
176
+ var CreateMarkdown = Operation.make({
177
+ meta: {
178
+ key: `${MARKDOWN_OPERATION}.create`,
179
+ name: "Create Markdown Document"
180
+ },
181
+ services: [
182
+ Capability2.Service
183
+ ],
184
+ input: Schema4.Struct({
185
+ name: Schema4.optional(Schema4.String),
186
+ content: Schema4.optional(Schema4.String)
187
+ }),
188
+ output: Schema4.Struct({
189
+ object: Document
190
+ })
191
+ });
192
+ var Open = Operation.make({
193
+ meta: {
194
+ key: "org.dxos.function.markdown.open",
195
+ name: "Open",
196
+ description: "Opens and reads the contents of a new markdown document."
197
+ },
198
+ input: Schema4.Struct({
199
+ doc: Ref2.Ref(Document).annotations({
200
+ description: "The ID of the markdown document."
201
+ })
202
+ }),
203
+ output: Schema4.Struct({
204
+ content: Schema4.String
205
+ }),
206
+ services: [
207
+ Database.Service
208
+ ]
209
+ });
210
+ var ScrollToAnchor = Operation.make({
211
+ meta: {
212
+ key: `${MARKDOWN_OPERATION}.scroll-to-anchor`,
213
+ name: "Scroll To Anchor"
214
+ },
215
+ services: [
216
+ Capability2.Service
217
+ ],
218
+ input: Schema4.Struct({
219
+ subject: Schema4.String.annotations({
220
+ description: "Attendable ID of the markdown editor."
221
+ }),
222
+ cursor: Schema4.String.annotations({
223
+ description: "Cursor position to scroll to."
224
+ }),
225
+ ref: Schema4.optional(Schema4.String.annotations({
226
+ description: "Reference ID (e.g. thread ID)."
227
+ }))
228
+ }),
229
+ output: Schema4.Void
230
+ });
231
+ var SetViewMode = Operation.make({
232
+ meta: {
233
+ key: `${MARKDOWN_OPERATION}.set-view-mode`,
234
+ name: "Set View Mode"
235
+ },
236
+ services: [
237
+ Capability2.Service
238
+ ],
239
+ input: Schema4.Struct({
240
+ id: Schema4.String,
241
+ viewMode: EditorViewMode2
242
+ }),
243
+ output: Schema4.Void
244
+ });
245
+ var Update = Operation.make({
246
+ meta: {
247
+ key: "org.dxos.function.markdown.update",
248
+ name: "Update",
249
+ description: trim`
250
+ Applies a set of edits to the markdown document.
251
+ `
252
+ },
253
+ input: Schema4.Struct({
254
+ doc: Ref2.Ref(Document).annotations({
255
+ description: "The ID of the markdown document."
256
+ }),
257
+ edits: Schema4.Array(Edit).annotations({
258
+ description: "The edits to apply to the document. Each edit finds oldString and replaces it with newString."
259
+ })
260
+ }),
261
+ output: Schema4.Struct({
262
+ newContent: Schema4.String
263
+ }),
264
+ services: [
265
+ Database.Service
266
+ ]
267
+ });
268
+
269
+ export {
270
+ Settings_exports,
271
+ Markdown_exports,
272
+ MarkdownCapabilities_exports,
273
+ MarkdownEvents_exports,
274
+ MarkdownOperation_exports
275
+ };
276
+ //# sourceMappingURL=chunk-SOLAMEK3.mjs.map