@dxos/plugin-markdown 0.8.4-main.bc674ce → 0.8.4-main.c351d160a8

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 (266) hide show
  1. package/dist/lib/browser/{chunk-WIPSLZ6L.mjs → MarkdownCard-R6VVXOMN.mjs} +27 -26
  2. package/dist/lib/browser/MarkdownCard-R6VVXOMN.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-KDKXFKDN.mjs → MarkdownContainer-LSOAAG6R.mjs} +48 -25
  4. package/dist/lib/browser/MarkdownContainer-LSOAAG6R.mjs.map +7 -0
  5. package/dist/lib/browser/MarkdownSettings-OD7AJSSJ.mjs +106 -0
  6. package/dist/lib/browser/MarkdownSettings-OD7AJSSJ.mjs.map +7 -0
  7. package/dist/lib/browser/{anchor-sort-WQ3TL7ZI.mjs → anchor-sort-35SV33JX.mjs} +6 -4
  8. package/dist/lib/browser/anchor-sort-35SV33JX.mjs.map +7 -0
  9. package/dist/lib/browser/{app-graph-serializer-ULZUJKOD.mjs → app-graph-serializer-RMUNNVUY.mjs} +9 -7
  10. package/dist/lib/browser/app-graph-serializer-RMUNNVUY.mjs.map +7 -0
  11. package/dist/lib/browser/blueprint-definition-SFGTWLSY.mjs +18 -0
  12. package/dist/lib/browser/blueprint-definition-SFGTWLSY.mjs.map +7 -0
  13. package/dist/lib/browser/blueprints/index.mjs +5 -4
  14. package/dist/lib/browser/{chunk-LMO5UVKL.mjs → chunk-4CSOMIT4.mjs} +29 -61
  15. package/dist/lib/browser/chunk-4CSOMIT4.mjs.map +7 -0
  16. package/dist/lib/browser/chunk-646I24Q2.mjs +178 -0
  17. package/dist/lib/browser/chunk-646I24Q2.mjs.map +7 -0
  18. package/dist/lib/browser/{chunk-BX73DASG.mjs → chunk-B6S4YQWZ.mjs} +285 -206
  19. package/dist/lib/browser/chunk-B6S4YQWZ.mjs.map +7 -0
  20. package/dist/lib/browser/chunk-RYZHVXZ5.mjs +28 -0
  21. package/dist/lib/browser/chunk-RYZHVXZ5.mjs.map +7 -0
  22. package/dist/lib/browser/{chunk-CUGDX7KA.mjs → chunk-WU3CQIPM.mjs} +2 -2
  23. package/dist/lib/browser/{chunk-JOXYQLKH.mjs → chunk-YKXQWJX6.mjs} +9 -4
  24. package/dist/lib/browser/chunk-YKXQWJX6.mjs.map +7 -0
  25. package/dist/lib/browser/cli/index.mjs +15 -13
  26. package/dist/lib/browser/cli/index.mjs.map +3 -3
  27. package/dist/lib/browser/index.mjs +49 -48
  28. package/dist/lib/browser/index.mjs.map +3 -3
  29. package/dist/lib/browser/meta.json +1 -1
  30. package/dist/lib/browser/{operation-resolver-EGCWOQKJ.mjs → operation-resolver-MVI2ZJ7M.mjs} +6 -18
  31. package/dist/lib/browser/operation-resolver-MVI2ZJ7M.mjs.map +7 -0
  32. package/dist/lib/browser/react-surface-OJYNFGZB.mjs +117 -0
  33. package/dist/lib/browser/react-surface-OJYNFGZB.mjs.map +7 -0
  34. package/dist/lib/browser/{settings-JY5JE7MI.mjs → settings-R722LDFD.mjs} +8 -5
  35. package/dist/lib/browser/settings-R722LDFD.mjs.map +7 -0
  36. package/dist/lib/browser/{state-QE7VSJWJ.mjs → state-MRJLGZW4.mjs} +7 -5
  37. package/dist/lib/{node-esm/state-LXE5XIN4.mjs.map → browser/state-MRJLGZW4.mjs.map} +2 -2
  38. package/dist/lib/browser/types/index.mjs +2 -1
  39. package/dist/lib/node-esm/{chunk-RQP7G7XW.mjs → MarkdownCard-EE3Q2JPL.mjs} +27 -26
  40. package/dist/lib/node-esm/MarkdownCard-EE3Q2JPL.mjs.map +7 -0
  41. package/dist/lib/node-esm/{chunk-3JYPCC7M.mjs → MarkdownContainer-NMFVVFBR.mjs} +48 -25
  42. package/dist/lib/node-esm/MarkdownContainer-NMFVVFBR.mjs.map +7 -0
  43. package/dist/lib/node-esm/MarkdownSettings-U7GJ4OP3.mjs +107 -0
  44. package/dist/lib/node-esm/MarkdownSettings-U7GJ4OP3.mjs.map +7 -0
  45. package/dist/lib/node-esm/{anchor-sort-G7D5TAI6.mjs → anchor-sort-QCV4U222.mjs} +6 -4
  46. package/dist/lib/node-esm/anchor-sort-QCV4U222.mjs.map +7 -0
  47. package/dist/lib/node-esm/{app-graph-serializer-W5YMQP7P.mjs → app-graph-serializer-I27YTNDW.mjs} +9 -7
  48. package/dist/lib/node-esm/app-graph-serializer-I27YTNDW.mjs.map +7 -0
  49. package/dist/lib/node-esm/blueprint-definition-VZEIBTAP.mjs +19 -0
  50. package/dist/lib/node-esm/blueprint-definition-VZEIBTAP.mjs.map +7 -0
  51. package/dist/lib/node-esm/blueprints/index.mjs +5 -4
  52. package/dist/lib/node-esm/{chunk-PRV35A7Z.mjs → chunk-2LVNBTQT.mjs} +29 -61
  53. package/dist/lib/node-esm/chunk-2LVNBTQT.mjs.map +7 -0
  54. package/dist/lib/node-esm/chunk-CW4FZNMZ.mjs +29 -0
  55. package/dist/lib/node-esm/chunk-CW4FZNMZ.mjs.map +7 -0
  56. package/dist/lib/node-esm/{chunk-W3IIKDV5.mjs → chunk-HVAZON2M.mjs} +2 -2
  57. package/dist/lib/node-esm/chunk-KHTJJ45U.mjs +179 -0
  58. package/dist/lib/node-esm/chunk-KHTJJ45U.mjs.map +7 -0
  59. package/dist/lib/node-esm/{chunk-44VJC3QF.mjs → chunk-TR2NZYXO.mjs} +9 -4
  60. package/dist/lib/node-esm/chunk-TR2NZYXO.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-D4BCFPKK.mjs → chunk-VG2PIENM.mjs} +285 -206
  62. package/dist/lib/node-esm/chunk-VG2PIENM.mjs.map +7 -0
  63. package/dist/lib/node-esm/cli/index.mjs +15 -13
  64. package/dist/lib/node-esm/cli/index.mjs.map +3 -3
  65. package/dist/lib/node-esm/index.mjs +49 -48
  66. package/dist/lib/node-esm/index.mjs.map +3 -3
  67. package/dist/lib/node-esm/meta.json +1 -1
  68. package/dist/lib/node-esm/{operation-resolver-2HIS2AQZ.mjs → operation-resolver-6TK6ARJ6.mjs} +6 -18
  69. package/dist/lib/node-esm/operation-resolver-6TK6ARJ6.mjs.map +7 -0
  70. package/dist/lib/node-esm/react-surface-UVNCUX77.mjs +118 -0
  71. package/dist/lib/node-esm/react-surface-UVNCUX77.mjs.map +7 -0
  72. package/dist/lib/node-esm/{settings-4UGMPIRY.mjs → settings-RDYNOKVE.mjs} +8 -5
  73. package/dist/lib/node-esm/settings-RDYNOKVE.mjs.map +7 -0
  74. package/dist/lib/node-esm/{state-LXE5XIN4.mjs → state-7HQSNXXQ.mjs} +7 -5
  75. package/dist/lib/{browser/state-QE7VSJWJ.mjs.map → node-esm/state-7HQSNXXQ.mjs.map} +2 -2
  76. package/dist/lib/node-esm/types/index.mjs +2 -1
  77. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  78. package/dist/types/src/blueprints/functions/create.d.ts.map +1 -1
  79. package/dist/types/src/blueprints/functions/index.d.ts +41 -3
  80. package/dist/types/src/blueprints/functions/index.d.ts.map +1 -1
  81. package/dist/types/src/blueprints/functions/open.d.ts +8 -1
  82. package/dist/types/src/blueprints/functions/open.d.ts.map +1 -1
  83. package/dist/types/src/blueprints/functions/update.d.ts +16 -3
  84. package/dist/types/src/blueprints/functions/update.d.ts.map +1 -1
  85. package/dist/types/src/blueprints/index.d.ts +1 -1
  86. package/dist/types/src/blueprints/index.d.ts.map +1 -1
  87. package/dist/types/src/blueprints/markdown-blueprint.d.ts +3 -20
  88. package/dist/types/src/blueprints/markdown-blueprint.d.ts.map +1 -1
  89. package/dist/types/src/capabilities/anchor-sort/anchor-sort.d.ts +3 -2
  90. package/dist/types/src/capabilities/anchor-sort/anchor-sort.d.ts.map +1 -1
  91. package/dist/types/src/capabilities/anchor-sort/index.d.ts +1 -1
  92. package/dist/types/src/capabilities/anchor-sort/index.d.ts.map +1 -1
  93. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts +2 -2
  94. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts.map +1 -1
  95. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts +1 -1
  96. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts.map +1 -1
  97. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts +1 -1
  98. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts.map +1 -1
  99. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +3 -7
  100. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -1
  101. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +1 -1
  102. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -1
  103. package/dist/types/src/capabilities/operation-resolver/index.d.ts +1 -1
  104. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -1
  105. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +2 -2
  106. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
  107. package/dist/types/src/capabilities/react-surface/index.d.ts +1 -1
  108. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -1
  109. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +2 -2
  110. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
  111. package/dist/types/src/capabilities/settings/index.d.ts +1 -1
  112. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -1
  113. package/dist/types/src/capabilities/settings/settings.d.ts +3 -2
  114. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -1
  115. package/dist/types/src/capabilities/state/state.d.ts +1 -1
  116. package/dist/types/src/cli/plugin.d.ts.map +1 -1
  117. package/dist/types/src/components/MarkdownEditor/FileUpload.d.ts +2 -2
  118. package/dist/types/src/components/MarkdownEditor/FileUpload.d.ts.map +1 -1
  119. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +5 -3
  120. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
  121. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts +1 -1
  122. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts.map +1 -1
  123. package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts +2 -0
  124. package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts.map +1 -1
  125. package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts +5 -5
  126. package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts.map +1 -1
  127. package/dist/types/src/components/index.d.ts +1 -8
  128. package/dist/types/src/components/index.d.ts.map +1 -1
  129. package/dist/types/src/containers/MarkdownCard/MarkdownCard.d.ts.map +1 -0
  130. package/dist/types/src/containers/MarkdownCard/MarkdownCard.stories.d.ts.map +1 -0
  131. package/dist/types/src/{components → containers}/MarkdownCard/index.d.ts +0 -1
  132. package/dist/types/src/containers/MarkdownCard/index.d.ts.map +1 -0
  133. package/dist/types/src/{components → containers/MarkdownContainer}/MarkdownContainer.d.ts +6 -6
  134. package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.d.ts.map +1 -0
  135. package/dist/types/src/{components → containers/MarkdownContainer}/MarkdownContainer.stories.d.ts +31 -1
  136. package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.stories.d.ts.map +1 -0
  137. package/dist/types/src/containers/MarkdownContainer/index.d.ts +3 -0
  138. package/dist/types/src/containers/MarkdownContainer/index.d.ts.map +1 -0
  139. package/dist/types/src/{components → containers}/MarkdownSettings/MarkdownSettings.d.ts.map +1 -1
  140. package/dist/types/src/containers/MarkdownSettings/index.d.ts +3 -0
  141. package/dist/types/src/containers/MarkdownSettings/index.d.ts.map +1 -0
  142. package/dist/types/src/containers/index.d.ts +6 -0
  143. package/dist/types/src/containers/index.d.ts.map +1 -0
  144. package/dist/types/src/hooks/useExtensions.d.ts +3 -3
  145. package/dist/types/src/hooks/useExtensions.d.ts.map +1 -1
  146. package/dist/types/src/hooks/useSelectCurrentThread.d.ts +1 -1
  147. package/dist/types/src/hooks/useSelectCurrentThread.d.ts.map +1 -1
  148. package/dist/types/src/index.d.ts +1 -0
  149. package/dist/types/src/index.d.ts.map +1 -1
  150. package/dist/types/src/translations.d.ts +30 -0
  151. package/dist/types/src/translations.d.ts.map +1 -1
  152. package/dist/types/src/types/Markdown.d.ts +1 -1
  153. package/dist/types/src/types/Markdown.d.ts.map +1 -1
  154. package/dist/types/src/types/MarkdownAction.d.ts +2 -22
  155. package/dist/types/src/types/MarkdownAction.d.ts.map +1 -1
  156. package/dist/types/src/types/events.d.ts.map +1 -1
  157. package/dist/types/src/util.d.ts +1 -1
  158. package/dist/types/src/util.d.ts.map +1 -1
  159. package/dist/types/tsconfig.tsbuildinfo +1 -1
  160. package/package.json +64 -57
  161. package/src/MarkdownPlugin.tsx +29 -38
  162. package/src/blueprints/functions/create.conversations.json +1 -1
  163. package/src/blueprints/functions/create.test.ts +24 -57
  164. package/src/blueprints/functions/create.ts +6 -5
  165. package/src/blueprints/functions/index.ts +11 -3
  166. package/src/blueprints/functions/open.ts +10 -10
  167. package/src/blueprints/functions/update.conversations.json +1 -1
  168. package/src/blueprints/functions/update.test.ts +133 -67
  169. package/src/blueprints/functions/update.ts +54 -13
  170. package/src/blueprints/index.ts +1 -1
  171. package/src/blueprints/markdown-blueprint.ts +14 -6
  172. package/src/capabilities/anchor-sort/anchor-sort.ts +3 -2
  173. package/src/capabilities/app-graph-serializer/app-graph-serializer.ts +5 -4
  174. package/src/capabilities/artifact-definition/artifact-definition.ts +2 -2
  175. package/src/capabilities/blueprint-definition/blueprint-definition.ts +6 -14
  176. package/src/capabilities/operation-resolver/operation-resolver.ts +3 -14
  177. package/src/capabilities/react-surface/react-surface.tsx +30 -19
  178. package/src/capabilities/settings/settings.ts +3 -2
  179. package/src/capabilities/state/state.ts +2 -2
  180. package/src/cli/plugin.ts +5 -5
  181. package/src/components/MarkdownEditor/FileUpload.tsx +2 -2
  182. package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +25 -22
  183. package/src/components/MarkdownEditor/MarkdownEditor.tsx +44 -17
  184. package/src/components/MarkdownEditor/MarkdownEditorContent.tsx +6 -5
  185. package/src/components/MarkdownEditor/MarkdownEditorToolbar.tsx +13 -13
  186. package/src/components/index.ts +2 -14
  187. package/src/{components → containers}/MarkdownCard/MarkdownCard.stories.tsx +17 -7
  188. package/src/{components → containers}/MarkdownCard/MarkdownCard.tsx +21 -24
  189. package/src/{components → containers}/MarkdownCard/index.ts +0 -2
  190. package/src/{components → containers/MarkdownContainer}/MarkdownContainer.stories.tsx +22 -9
  191. package/src/{components → containers/MarkdownContainer}/MarkdownContainer.tsx +57 -34
  192. package/src/containers/MarkdownContainer/index.ts +6 -0
  193. package/src/{components → containers}/MarkdownSettings/MarkdownSettings.tsx +24 -24
  194. package/src/containers/MarkdownSettings/index.ts +7 -0
  195. package/src/containers/index.ts +11 -0
  196. package/src/hooks/useEditorMenuOptions.ts +1 -1
  197. package/src/hooks/useExtensions.tsx +52 -89
  198. package/src/hooks/useLinkQuery.ts +3 -3
  199. package/src/hooks/useSelectCurrentThread.tsx +6 -6
  200. package/src/index.ts +2 -0
  201. package/src/meta.ts +1 -1
  202. package/src/testing.ts +2 -2
  203. package/src/translations.ts +3 -0
  204. package/src/types/Markdown.ts +13 -5
  205. package/src/types/MarkdownAction.ts +3 -18
  206. package/src/types/capabilities.ts +4 -4
  207. package/src/types/events.ts +4 -3
  208. package/src/util.tsx +2 -2
  209. package/dist/lib/browser/MarkdownCard-WHK3ORP7.mjs +0 -12
  210. package/dist/lib/browser/MarkdownCard-WHK3ORP7.mjs.map +0 -7
  211. package/dist/lib/browser/MarkdownContainer-V7EAADMF.mjs +0 -12
  212. package/dist/lib/browser/MarkdownContainer-V7EAADMF.mjs.map +0 -7
  213. package/dist/lib/browser/anchor-sort-WQ3TL7ZI.mjs.map +0 -7
  214. package/dist/lib/browser/app-graph-serializer-ULZUJKOD.mjs.map +0 -7
  215. package/dist/lib/browser/blueprint-definition-TLV4PNZW.mjs +0 -19
  216. package/dist/lib/browser/blueprint-definition-TLV4PNZW.mjs.map +0 -7
  217. package/dist/lib/browser/chunk-BX73DASG.mjs.map +0 -7
  218. package/dist/lib/browser/chunk-FWQQW6KU.mjs +0 -144
  219. package/dist/lib/browser/chunk-FWQQW6KU.mjs.map +0 -7
  220. package/dist/lib/browser/chunk-JOXYQLKH.mjs.map +0 -7
  221. package/dist/lib/browser/chunk-KDKXFKDN.mjs.map +0 -7
  222. package/dist/lib/browser/chunk-LMO5UVKL.mjs.map +0 -7
  223. package/dist/lib/browser/chunk-S45ULIOG.mjs +0 -101
  224. package/dist/lib/browser/chunk-S45ULIOG.mjs.map +0 -7
  225. package/dist/lib/browser/chunk-WIPSLZ6L.mjs.map +0 -7
  226. package/dist/lib/browser/operation-resolver-EGCWOQKJ.mjs.map +0 -7
  227. package/dist/lib/browser/react-surface-SRPLD3ED.mjs +0 -213
  228. package/dist/lib/browser/react-surface-SRPLD3ED.mjs.map +0 -7
  229. package/dist/lib/browser/settings-JY5JE7MI.mjs.map +0 -7
  230. package/dist/lib/node-esm/MarkdownCard-WJPLQTFS.mjs +0 -13
  231. package/dist/lib/node-esm/MarkdownCard-WJPLQTFS.mjs.map +0 -7
  232. package/dist/lib/node-esm/MarkdownContainer-LUSMORP2.mjs +0 -13
  233. package/dist/lib/node-esm/MarkdownContainer-LUSMORP2.mjs.map +0 -7
  234. package/dist/lib/node-esm/anchor-sort-G7D5TAI6.mjs.map +0 -7
  235. package/dist/lib/node-esm/app-graph-serializer-W5YMQP7P.mjs.map +0 -7
  236. package/dist/lib/node-esm/blueprint-definition-HYFA7BKQ.mjs +0 -20
  237. package/dist/lib/node-esm/blueprint-definition-HYFA7BKQ.mjs.map +0 -7
  238. package/dist/lib/node-esm/chunk-3JYPCC7M.mjs.map +0 -7
  239. package/dist/lib/node-esm/chunk-44VJC3QF.mjs.map +0 -7
  240. package/dist/lib/node-esm/chunk-D4BCFPKK.mjs.map +0 -7
  241. package/dist/lib/node-esm/chunk-EYAFC4N7.mjs +0 -145
  242. package/dist/lib/node-esm/chunk-EYAFC4N7.mjs.map +0 -7
  243. package/dist/lib/node-esm/chunk-PRV35A7Z.mjs.map +0 -7
  244. package/dist/lib/node-esm/chunk-RQP7G7XW.mjs.map +0 -7
  245. package/dist/lib/node-esm/chunk-SDTYEGGL.mjs +0 -102
  246. package/dist/lib/node-esm/chunk-SDTYEGGL.mjs.map +0 -7
  247. package/dist/lib/node-esm/operation-resolver-2HIS2AQZ.mjs.map +0 -7
  248. package/dist/lib/node-esm/react-surface-RONSOJIQ.mjs +0 -214
  249. package/dist/lib/node-esm/react-surface-RONSOJIQ.mjs.map +0 -7
  250. package/dist/lib/node-esm/settings-4UGMPIRY.mjs.map +0 -7
  251. package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts.map +0 -1
  252. package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts.map +0 -1
  253. package/dist/types/src/components/MarkdownCard/index.d.ts.map +0 -1
  254. package/dist/types/src/components/MarkdownContainer.d.ts.map +0 -1
  255. package/dist/types/src/components/MarkdownContainer.stories.d.ts.map +0 -1
  256. package/dist/types/src/components/MarkdownSettings/index.d.ts +0 -2
  257. package/dist/types/src/components/MarkdownSettings/index.d.ts.map +0 -1
  258. package/dist/types/src/components/Suggestions.stories.d.ts +0 -11
  259. package/dist/types/src/components/Suggestions.stories.d.ts.map +0 -1
  260. package/src/components/MarkdownSettings/index.ts +0 -5
  261. package/src/components/Suggestions.stories.tsx +0 -215
  262. /package/dist/lib/browser/{chunk-CUGDX7KA.mjs.map → chunk-WU3CQIPM.mjs.map} +0 -0
  263. /package/dist/lib/node-esm/{chunk-W3IIKDV5.mjs.map → chunk-HVAZON2M.mjs.map} +0 -0
  264. /package/dist/types/src/{components → containers}/MarkdownCard/MarkdownCard.d.ts +0 -0
  265. /package/dist/types/src/{components → containers}/MarkdownCard/MarkdownCard.stories.d.ts +0 -0
  266. /package/dist/types/src/{components → containers}/MarkdownSettings/MarkdownSettings.d.ts +0 -0
@@ -1,8 +1,7 @@
1
- var __defProp = Object.defineProperty;
2
- var __export = (target, all) => {
3
- for (var name in all)
4
- __defProp(target, name, { get: all[name], enumerable: true });
5
- };
1
+ import {
2
+ __export,
3
+ meta
4
+ } from "./chunk-RYZHVXZ5.mjs";
6
5
 
7
6
  // src/types/MarkdownAction.ts
8
7
  var MarkdownAction_exports = {};
@@ -12,27 +11,8 @@ __export(MarkdownAction_exports, {
12
11
  import * as Schema2 from "effect/Schema";
13
12
  import { Capability } from "@dxos/app-framework";
14
13
  import { Operation } from "@dxos/operation";
15
- import { SpaceSchema } from "@dxos/react-client/echo";
16
- import { Collection } from "@dxos/schema";
17
14
  import { EditorViewMode as EditorViewMode2 } from "@dxos/ui-editor/types";
18
15
 
19
- // src/meta.ts
20
- import { trim } from "@dxos/util";
21
- var meta = {
22
- id: "dxos.org/plugin/markdown",
23
- name: "Markdown",
24
- description: trim`
25
- Full-featured collaborative markdown editor with real-time editing, inline comments, and rich formatting.
26
- Supports AI-powered editing assistance and seamlessly integrates with other workspace objects.
27
- `,
28
- icon: "ph--text-aa--regular",
29
- iconHue: "indigo",
30
- source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-markdown",
31
- screenshots: [
32
- "https://dxos.network/plugin-details-markdown-dark.png"
33
- ]
34
- };
35
-
36
16
  // src/types/Markdown.ts
37
17
  var Markdown_exports = {};
38
18
  __export(Markdown_exports, {
@@ -41,7 +21,7 @@ __export(Markdown_exports, {
41
21
  make: () => make
42
22
  });
43
23
  import * as Schema from "effect/Schema";
44
- import { Obj, Ref, Type } from "@dxos/echo";
24
+ import { Annotation, Obj, Ref, Type } from "@dxos/echo";
45
25
  import { DescriptionAnnotation, FormInputAnnotation, LabelAnnotation } from "@dxos/echo/internal";
46
26
  import { Text } from "@dxos/schema";
47
27
  import { EditorInputMode, EditorViewMode } from "@dxos/ui-editor/types";
@@ -49,18 +29,25 @@ var Document = Schema.Struct({
49
29
  name: Schema.optional(Schema.String),
50
30
  description: Schema.optional(Schema.String),
51
31
  fallbackName: Schema.String.pipe(FormInputAnnotation.set(false), Schema.optional),
52
- content: Type.Ref(Text.Text).pipe(FormInputAnnotation.set(false))
32
+ content: Ref.Ref(Text.Text).pipe(FormInputAnnotation.set(false))
53
33
  }).pipe(Type.object({
54
- typename: "dxos.org/type/Document",
34
+ typename: "org.dxos.type.document",
55
35
  version: "0.1.0"
56
36
  }), LabelAnnotation.set([
57
37
  "name",
58
38
  "fallbackName"
59
- ]), DescriptionAnnotation.set("description"));
60
- var make = ({ content = "", ...props } = {}) => Obj.make(Document, {
61
- ...props,
62
- content: Ref.make(Text.make(content))
63
- });
39
+ ]), DescriptionAnnotation.set("description"), Annotation.IconAnnotation.set({
40
+ icon: "ph--text-aa--regular",
41
+ hue: "indigo"
42
+ }));
43
+ var make = ({ content = "", ...props } = {}) => {
44
+ const doc = Obj.make(Document, {
45
+ ...props,
46
+ content: Ref.make(Text.make(content))
47
+ });
48
+ Obj.setParent(doc.content.target, doc);
49
+ return doc;
50
+ };
64
51
  var Settings = Schema.mutable(Schema.Struct({
65
52
  defaultViewMode: EditorViewMode,
66
53
  editorInputMode: Schema.optional(EditorInputMode),
@@ -74,28 +61,11 @@ var Settings = Schema.mutable(Schema.Struct({
74
61
  }));
75
62
 
76
63
  // src/types/MarkdownAction.ts
77
- var MARKDOWN_OPERATION = `${meta.id}/operation`;
64
+ var MARKDOWN_OPERATION = `${meta.id}.operation`;
78
65
  (function(MarkdownOperation2) {
79
- MarkdownOperation2.OnCreateSpace = Operation.make({
80
- meta: {
81
- key: `${MARKDOWN_OPERATION}/on-create-space`,
82
- name: "On Create Space"
83
- },
84
- services: [
85
- Capability.Service
86
- ],
87
- schema: {
88
- input: Schema2.Struct({
89
- space: SpaceSchema,
90
- rootCollection: Collection.Collection,
91
- isDefault: Schema2.optional(Schema2.Boolean)
92
- }),
93
- output: Schema2.Void
94
- }
95
- });
96
66
  MarkdownOperation2.Create = Operation.make({
97
67
  meta: {
98
- key: `${MARKDOWN_OPERATION}/create`,
68
+ key: `${MARKDOWN_OPERATION}.create`,
99
69
  name: "Create Markdown Document"
100
70
  },
101
71
  services: [
@@ -113,7 +83,7 @@ var MARKDOWN_OPERATION = `${meta.id}/operation`;
113
83
  });
114
84
  MarkdownOperation2.SetViewMode = Operation.make({
115
85
  meta: {
116
- key: `${MARKDOWN_OPERATION}/set-view-mode`,
86
+ key: `${MARKDOWN_OPERATION}.set-view-mode`,
117
87
  name: "Set View Mode"
118
88
  },
119
89
  services: [
@@ -140,23 +110,21 @@ var MarkdownStateSchema = Schema3.mutable(Schema3.Struct({
140
110
  })
141
111
  }));
142
112
  (function(MarkdownCapabilities2) {
143
- MarkdownCapabilities2.Settings = Capability2.make(`${meta.id}/capability/settings`);
144
- MarkdownCapabilities2.State = Capability2.make(`${meta.id}/capability/state`);
145
- MarkdownCapabilities2.EditorState = Capability2.make(`${meta.id}/capability/editor-state`);
146
- MarkdownCapabilities2.Extensions = Capability2.make(`${meta.id}/capability/extensions`);
113
+ MarkdownCapabilities2.Settings = Capability2.make(`${meta.id}.capability.settings`);
114
+ MarkdownCapabilities2.State = Capability2.make(`${meta.id}.capability.state`);
115
+ MarkdownCapabilities2.EditorState = Capability2.make(`${meta.id}.capability.editor-state`);
116
+ MarkdownCapabilities2.Extensions = Capability2.make(`${meta.id}.capability.extensions`);
147
117
  })(MarkdownCapabilities || (MarkdownCapabilities = {}));
148
118
  var MarkdownCapabilities;
149
119
 
150
120
  // src/types/events.ts
151
- import { Common } from "@dxos/app-framework";
121
+ import { AppActivationEvents } from "@dxos/app-toolkit";
152
122
  (function(MarkdownEvents2) {
153
- MarkdownEvents2.SetupExtensions = Common.ActivationEvent.createStateEvent(`${meta.id}/event/setup-extensions`);
123
+ MarkdownEvents2.SetupExtensions = AppActivationEvents.createStateEvent(`${meta.id}.event.setup-extensions`);
154
124
  })(MarkdownEvents || (MarkdownEvents = {}));
155
125
  var MarkdownEvents;
156
126
 
157
127
  export {
158
- __export,
159
- meta,
160
128
  Markdown_exports,
161
129
  MarkdownOperation,
162
130
  MarkdownAction_exports,
@@ -164,4 +132,4 @@ export {
164
132
  MarkdownCapabilities,
165
133
  MarkdownEvents
166
134
  };
167
- //# sourceMappingURL=chunk-LMO5UVKL.mjs.map
135
+ //# sourceMappingURL=chunk-4CSOMIT4.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/MarkdownAction.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 { 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 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 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Annotation, 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: Ref.Ref(Text.Text).pipe(FormInputAnnotation.set(false)),\n}).pipe(\n Type.object({\n typename: 'org.dxos.type.document',\n version: '0.1.0',\n }),\n LabelAnnotation.set(['name', 'fallbackName']),\n DescriptionAnnotation.set('description'),\n Annotation.IconAnnotation.set({\n icon: 'ph--text-aa--regular',\n hue: 'indigo',\n }),\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 const doc = Obj.make(Document, { ...props, content: Ref.make(Text.make(content)) });\n // TODO(dmaretskyi): We need a better way to set parents when creating hierarchies.\n Obj.setParent(doc.content.target!, doc);\n return doc;\n};\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 } from '@dxos/app-framework';\nimport { AppActivationEvents } from '@dxos/app-toolkit';\n\nimport { meta } from '../meta';\n\nexport namespace MarkdownEvents {\n export const SetupExtensions: ActivationEvent.ActivationEvent = AppActivationEvents.createStateEvent(\n `${meta.id}.event.setup-extensions`,\n );\n}\n"],
5
+ "mappings": ";;;;;;AAAA;;;;AAIA,YAAYA,aAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAC1B,SAASC,kBAAAA,uBAAsB;;;ACR/B;;;;;;AAIA,YAAYC,YAAY;AAExB,SAASC,YAAYC,KAAKC,KAAKC,YAAY;AAC3C,SAASC,uBAAuBC,qBAAqBC,uBAAuB;AAC5E,SAASC,YAAY;AACrB,SAASC,iBAAiBC,sBAAsB;AAKzC,IAAMC,WAAkBC,cAAO;EACpCC,MAAaC,gBAAgBC,aAAM;EACnCC,aAAoBF,gBAAgBC,aAAM;EAC1CE,cAAqBF,cAAOG,KAAKC,oBAAoBC,IAAI,KAAA,GAAeN,eAAQ;EAChFO,SAASC,IAAIA,IAAIC,KAAKA,IAAI,EAAEL,KAAKC,oBAAoBC,IAAI,KAAA,CAAA;AAC3D,CAAA,EAAGF,KACDM,KAAKC,OAAO;EACVC,UAAU;EACVC,SAAS;AACX,CAAA,GACAC,gBAAgBR,IAAI;EAAC;EAAQ;CAAe,GAC5CS,sBAAsBT,IAAI,aAAA,GAC1BU,WAAWC,eAAeX,IAAI;EAC5BY,MAAM;EACNC,KAAK;AACP,CAAA,CAAA;AAQK,IAAMC,OAAO,CAAC,EACnBb,UAAU,IACV,GAAGc,MAAAA,IACiE,CAAC,MAAC;AACtE,QAAMC,MAAMC,IAAIH,KAAKvB,UAAU;IAAE,GAAGwB;IAAOd,SAASC,IAAIY,KAAKX,KAAKW,KAAKb,OAAAA,CAAAA;EAAU,CAAA;AAEjFgB,MAAIC,UAAUF,IAAIf,QAAQkB,QAASH,GAAAA;AACnC,SAAOA;AACT;AAKO,IAAMI,WAAkBC,eACtB7B,cAAO;EACZ8B,iBAAiBC;EACjBC,iBAAwB9B,gBAAS+B,eAAAA;EACjCC,cAAqBhC,gBAAgBiC,cAAO;EAC5CC,OAAclC,gBAAgBiC,cAAO;EACrCE,SAAgBnC,gBAAgBiC,cAAO;EACvCG,YAAmBpC,gBAAgBC,aAAM;;EAEzCoC,kBAAyBrC,gBAAgBiC,cAAO;EAChDK,SAAgBtC,gBAAgBiC,cAAO;AACzC,CAAA,CAAA;;;AD/CF,IAAMM,qBAAqB,GAAGC,KAAKC,EAAE;UAEpBC,oBAAAA;qBACFC,SAASC,UAAUC,KAAK;IACnCL,MAAM;MAAEM,KAAK,GAAGP,kBAAAA;MAA6BQ,MAAM;IAA2B;IAC9EC,UAAU;MAACC,WAAWC;;IACtBC,QAAQ;MACNC,OAAcC,eAAO;QACnBN,MAAaO,iBAAgBC,cAAM;QACnCC,SAAgBF,iBAAgBC,cAAM;MACxC,CAAA;MACAE,QAAeJ,eAAO;QACpBK,QAAQC;MACV,CAAA;IACF;EACF,CAAA;qBAGaC,cAAchB,UAAUC,KAAK;IACxCL,MAAM;MAAEM,KAAK,GAAGP,kBAAAA;MAAoCQ,MAAM;IAAgB;IAC1EC,UAAU;MAACC,WAAWC;;IACtBC,QAAQ;MACNC,OAAcC,eAAO;QACnBZ,IAAWc;QACXM,UAAUC;MACZ,CAAA;MACAL,QAAeM;IACjB;EACF,CAAA;AACF,GA3BiBrB,sBAAAA,oBAAAA,CAAAA,EAAAA;;;;AEXjB,YAAYsB,aAAY;AAExB,SAASC,cAAAA,mBAAkB;AASpB,IAAMC,sBAA6BC,gBACjCC,eAAO;EACZC,UAAiBC,eAAO;IAAEC,KAAYC;IAAQC,OAAcD;EAAO,CAAA;AACrE,CAAA,CAAA;UAOeE,uBAAAA;wBACFC,WAAWC,YAAWC,KAAuC,GAAGC,KAAKC,EAAE,sBAAsB;wBAG7FC,QAAQJ,YAAWC,KAAmC,GAAGC,KAAKC,EAAE,mBAAmB;wBAGnFE,cAAcL,YAAWC,KAAuB,GAAGC,KAAKC,EAAE,0BAA0B;wBAGpFG,aAAaN,YAAWC,KAAkC,GAAGC,KAAKC,EAAE,wBAAwB;AAC3G,GAXiBL,yBAAAA,uBAAAA,CAAAA,EAAAA;;;;ACrBjB,SAASS,2BAA2B;UAInBC,iBAAAA;kBACFC,kBAAmDC,oBAAoBC,iBAClF,GAAGC,KAAKC,EAAE,yBAAyB;AAEvC,GAJiBL,mBAAAA,iBAAAA,CAAAA,EAAAA;;",
6
+ "names": ["Schema", "Capability", "Operation", "EditorViewMode", "Schema", "Annotation", "Obj", "Ref", "Type", "DescriptionAnnotation", "FormInputAnnotation", "LabelAnnotation", "Text", "EditorInputMode", "EditorViewMode", "Document", "Struct", "name", "optional", "String", "description", "fallbackName", "pipe", "FormInputAnnotation", "set", "content", "Ref", "Text", "Type", "object", "typename", "version", "LabelAnnotation", "DescriptionAnnotation", "Annotation", "IconAnnotation", "icon", "hue", "make", "props", "doc", "Obj", "setParent", "target", "Settings", "mutable", "defaultViewMode", "EditorViewMode", "editorInputMode", "EditorInputMode", "experimental", "Boolean", "debug", "toolbar", "typewriter", "numberedHeadings", "folding", "MARKDOWN_OPERATION", "meta", "id", "MarkdownOperation", "Create", "Operation", "make", "key", "name", "services", "Capability", "Service", "schema", "input", "Struct", "optional", "String", "content", "output", "object", "Document", "SetViewMode", "viewMode", "EditorViewMode", "Void", "Schema", "Capability", "MarkdownStateSchema", "mutable", "Struct", "viewMode", "Record", "key", "String", "value", "MarkdownCapabilities", "Settings", "Capability", "make", "meta", "id", "State", "EditorState", "Extensions", "AppActivationEvents", "MarkdownEvents", "SetupExtensions", "AppActivationEvents", "createStateEvent", "meta", "id"]
7
+ }
@@ -0,0 +1,178 @@
1
+ import {
2
+ Markdown_exports
3
+ } from "./chunk-4CSOMIT4.mjs";
4
+
5
+ // src/blueprints/markdown-blueprint.ts
6
+ import { Blueprint, Template } from "@dxos/blueprints";
7
+ import { trim as trim2 } from "@dxos/util";
8
+
9
+ // src/blueprints/functions/create.ts
10
+ import * as Effect from "effect/Effect";
11
+ import * as Schema from "effect/Schema";
12
+ import { Obj } from "@dxos/echo";
13
+ import { defineFunction } from "@dxos/functions";
14
+ import { CollectionModel } from "@dxos/schema";
15
+ var create_default = defineFunction({
16
+ key: "org.dxos.function.markdown.create",
17
+ name: "Create",
18
+ description: "Creates a new markdown document and adds it to the space.",
19
+ inputSchema: Schema.Struct({
20
+ name: Schema.String,
21
+ content: Schema.String
22
+ }),
23
+ outputSchema: Schema.Struct({
24
+ id: Schema.String.annotations({
25
+ description: "The DXN of the created document."
26
+ })
27
+ }),
28
+ handler: Effect.fn(function* ({ data: { name, content } }) {
29
+ const object = Markdown_exports.make({
30
+ name,
31
+ content
32
+ });
33
+ yield* CollectionModel.add({
34
+ object
35
+ });
36
+ return {
37
+ id: Obj.getDXN(object).toString()
38
+ };
39
+ })
40
+ });
41
+
42
+ // src/blueprints/functions/open.ts
43
+ import * as Effect2 from "effect/Effect";
44
+ import * as Schema2 from "effect/Schema";
45
+ import { Database, Ref } from "@dxos/echo";
46
+ import { defineFunction as defineFunction2 } from "@dxos/functions";
47
+ var open_default = defineFunction2({
48
+ key: "org.dxos.function.markdown.open",
49
+ name: "Open",
50
+ description: "Opens and reads the contents of a new markdown document.",
51
+ inputSchema: Schema2.Struct({
52
+ doc: Ref.Ref(Markdown_exports.Document).annotations({
53
+ description: "The ID of the markdown document."
54
+ })
55
+ }),
56
+ outputSchema: Schema2.Struct({
57
+ content: Schema2.String
58
+ }),
59
+ handler: Effect2.fn(function* ({ data: { doc } }) {
60
+ const { content } = yield* doc.pipe(Database.load, Effect2.map((_) => _.content), Effect2.flatMap(Database.load));
61
+ return {
62
+ content
63
+ };
64
+ })
65
+ });
66
+
67
+ // src/blueprints/functions/update.ts
68
+ import { next as A } from "@automerge/automerge";
69
+ import * as Effect3 from "effect/Effect";
70
+ import * as Schema3 from "effect/Schema";
71
+ import { Database as Database2, Ref as Ref2 } from "@dxos/echo";
72
+ import { DocAccessor, createDocAccessor } from "@dxos/echo-db";
73
+ import { defineFunction as defineFunction3 } from "@dxos/functions";
74
+ import { trim } from "@dxos/util";
75
+ var Edit = Schema3.Struct({
76
+ oldString: Schema3.String.annotations({
77
+ description: "The text to find in the document."
78
+ }),
79
+ newString: Schema3.String.annotations({
80
+ description: "The text to replace it with."
81
+ }),
82
+ replaceAll: Schema3.optional(Schema3.Boolean).annotations({
83
+ description: "If true, replaces all occurrences. Defaults to false (first occurrence only)."
84
+ })
85
+ });
86
+ var update_default = defineFunction3({
87
+ key: "org.dxos.function.markdown.update",
88
+ name: "Update",
89
+ description: trim`
90
+ Applies a set of edits to the markdown document.
91
+ `,
92
+ inputSchema: Schema3.Struct({
93
+ doc: Ref2.Ref(Markdown_exports.Document).annotations({
94
+ description: "The ID of the markdown document."
95
+ }),
96
+ edits: Schema3.Array(Edit).annotations({
97
+ description: "The edits to apply to the document. Each edit finds oldString and replaces it with newString."
98
+ })
99
+ }),
100
+ outputSchema: Schema3.Struct({
101
+ newContent: Schema3.String
102
+ }),
103
+ handler: Effect3.fn(function* ({ data: { doc, edits } }) {
104
+ const content = yield* doc.pipe(Database2.load, Effect3.map((_) => _.content), Effect3.flatMap(Database2.load));
105
+ const accessor = createDocAccessor(content, [
106
+ "content"
107
+ ]);
108
+ for (const edit of edits) {
109
+ accessor.handle.change((doc2) => {
110
+ const text = DocAccessor.getValue(accessor);
111
+ if (edit.replaceAll) {
112
+ let idx = text.indexOf(edit.oldString);
113
+ while (idx !== -1) {
114
+ A.splice(doc2, accessor.path, idx, edit.oldString.length, edit.newString);
115
+ const updated = DocAccessor.getValue(accessor);
116
+ idx = updated.indexOf(edit.oldString, idx + edit.newString.length);
117
+ }
118
+ } else {
119
+ const idx = text.indexOf(edit.oldString);
120
+ if (idx === -1) {
121
+ throw new Error(`Edit not found: ${JSON.stringify(edit.oldString)}`);
122
+ }
123
+ A.splice(doc2, accessor.path, idx, edit.oldString.length, edit.newString);
124
+ }
125
+ });
126
+ }
127
+ return {
128
+ newContent: DocAccessor.getValue(accessor)
129
+ };
130
+ })
131
+ });
132
+
133
+ // src/blueprints/functions/index.ts
134
+ var MarkdownFunctions = {
135
+ Create: create_default,
136
+ Open: open_default,
137
+ Update: update_default
138
+ };
139
+
140
+ // src/blueprints/markdown-blueprint.ts
141
+ var BLUEPRINT_KEY = "org.dxos.blueprint.markdown";
142
+ var functions = Object.values(MarkdownFunctions);
143
+ var make = () => Blueprint.make({
144
+ key: BLUEPRINT_KEY,
145
+ name: "Markdown",
146
+ tools: Blueprint.toolDefinitions({
147
+ functions
148
+ }),
149
+ instructions: Template.make({
150
+ // TODO(wittjosiah): Move example to function input schema annotation.
151
+ source: trim2`
152
+ {{! Markdown }}
153
+
154
+ You can create, read and update markdown documents.
155
+ When asked to edit or update documents return updates as a set of compact diff string pairs.
156
+ For each diff, respond with the smallest possible matching span.
157
+
158
+ Example:
159
+ ${"```"}diff
160
+ - "There is a tyop in this sentence."
161
+ + "There is a typo in this sentence."
162
+ - "This id good."
163
+ + "This sentence is really good."
164
+ ${"```"}
165
+ `
166
+ })
167
+ });
168
+ var blueprint = {
169
+ key: BLUEPRINT_KEY,
170
+ functions,
171
+ make
172
+ };
173
+ var markdown_blueprint_default = blueprint;
174
+
175
+ export {
176
+ markdown_blueprint_default
177
+ };
178
+ //# sourceMappingURL=chunk-646I24Q2.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", "../../../src/blueprints/functions/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type AppCapabilities } from '@dxos/app-toolkit';\nimport { Blueprint, Template } from '@dxos/blueprints';\nimport { trim } from '@dxos/util';\n\nimport { MarkdownFunctions } from './functions';\n\nconst BLUEPRINT_KEY = 'org.dxos.blueprint.markdown';\n\nconst functions = Object.values(MarkdownFunctions);\n\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_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\nconst blueprint: AppCapabilities.BlueprintDefinition = {\n key: BLUEPRINT_KEY,\n functions,\n make,\n};\n\nexport default blueprint;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { Obj } from '@dxos/echo';\nimport { defineFunction } from '@dxos/functions';\nimport { CollectionModel } from '@dxos/schema';\n\nimport { Markdown } from '../../types';\n\nexport default defineFunction({\n key: 'org.dxos.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: Schema.String.annotations({\n description: 'The DXN of the created document.',\n }),\n }),\n handler: Effect.fn(function* ({ data: { name, content } }) {\n const object = Markdown.make({ name, content });\n yield* CollectionModel.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 { Database, Ref } from '@dxos/echo';\nimport { defineFunction } from '@dxos/functions';\n\nimport { Markdown } from '../../types';\n\nexport default defineFunction({\n key: 'org.dxos.function.markdown.open',\n name: 'Open',\n description: 'Opens and reads the contents of a new markdown document.',\n inputSchema: Schema.Struct({\n doc: Ref.Ref(Markdown.Document).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: { doc } }) {\n const { content } = yield* doc.pipe(\n Database.load,\n Effect.map((_) => _.content),\n Effect.flatMap(Database.load),\n );\n return { content };\n }),\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { next as A, type Doc } from '@automerge/automerge';\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { Database, Ref } from '@dxos/echo';\nimport { DocAccessor, createDocAccessor } from '@dxos/echo-db';\nimport { defineFunction } from '@dxos/functions';\nimport { trim } from '@dxos/util';\n\nimport { Markdown } from '../../types';\n\nconst Edit = Schema.Struct({\n oldString: Schema.String.annotations({\n description: 'The text to find in the document.',\n }),\n newString: Schema.String.annotations({\n description: 'The text to replace it with.',\n }),\n replaceAll: Schema.optional(Schema.Boolean).annotations({\n description: 'If true, replaces all occurrences. Defaults to false (first occurrence only).',\n }),\n});\n\n// TODO(wittjosiah): Reconcile with ThreadAction.AddProposal.\n// Based on opencode's MutilEdit tool: https://deepwiki.com/search/how-does-text-edit-tool-work_a159bc76-5401-424e-b29f-f087d1ea4f78\nexport default defineFunction({\n key: 'org.dxos.function.markdown.update',\n name: 'Update',\n description: trim`\n Applies a set of edits to the markdown document.\n `,\n inputSchema: Schema.Struct({\n doc: Ref.Ref(Markdown.Document).annotations({\n description: 'The ID of the markdown document.',\n }),\n edits: Schema.Array(Edit).annotations({\n description: 'The edits to apply to the document. Each edit finds oldString and replaces it with newString.',\n }),\n }),\n outputSchema: Schema.Struct({\n newContent: Schema.String,\n }),\n handler: Effect.fn(function* ({ data: { doc, edits } }) {\n const content = yield* doc.pipe(\n Database.load,\n Effect.map((_) => _.content),\n Effect.flatMap(Database.load),\n );\n const accessor = createDocAccessor(content, ['content']);\n\n for (const edit of edits) {\n accessor.handle.change((doc: Doc<typeof content>) => {\n const text = DocAccessor.getValue<string>(accessor);\n if (edit.replaceAll) {\n let idx = text.indexOf(edit.oldString);\n while (idx !== -1) {\n A.splice(doc, accessor.path as A.Prop[], idx, edit.oldString.length, edit.newString);\n const updated = DocAccessor.getValue<string>(accessor);\n idx = updated.indexOf(edit.oldString, idx + edit.newString.length);\n }\n } else {\n const idx = text.indexOf(edit.oldString);\n if (idx === -1) {\n throw new Error(`Edit not found: ${JSON.stringify(edit.oldString)}`);\n }\n A.splice(doc, accessor.path as A.Prop[], idx, edit.oldString.length, edit.newString);\n }\n });\n }\n\n return {\n newContent: DocAccessor.getValue<string>(accessor),\n };\n }),\n});\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport Create from './create';\nimport Open from './open';\nimport Update from './update';\n\nexport { Create, Open, Update };\n\nexport const MarkdownFunctions = {\n Create,\n Open,\n Update,\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Blueprint", "Template", "trim", "Effect", "Schema", "Obj", "defineFunction", "CollectionModel", "defineFunction", "key", "name", "description", "inputSchema", "Struct", "String", "content", "outputSchema", "id", "annotations", "handler", "fn", "data", "object", "Markdown", "make", "CollectionModel", "add", "Obj", "getDXN", "toString", "Effect", "Schema", "Database", "Ref", "defineFunction", "defineFunction", "key", "name", "description", "inputSchema", "Struct", "doc", "Ref", "Markdown", "Document", "annotations", "outputSchema", "content", "String", "handler", "fn", "data", "pipe", "Database", "load", "map", "_", "flatMap", "next", "A", "Effect", "Schema", "Database", "Ref", "DocAccessor", "createDocAccessor", "defineFunction", "trim", "Edit", "Struct", "oldString", "String", "annotations", "description", "newString", "replaceAll", "optional", "Boolean", "defineFunction", "key", "name", "trim", "inputSchema", "doc", "Ref", "Markdown", "Document", "edits", "Array", "outputSchema", "newContent", "handler", "fn", "data", "content", "pipe", "Database", "load", "map", "_", "flatMap", "accessor", "createDocAccessor", "edit", "handle", "change", "text", "DocAccessor", "getValue", "idx", "indexOf", "A", "splice", "path", "length", "updated", "Error", "JSON", "stringify", "MarkdownFunctions", "Create", "Open", "Update", "BLUEPRINT_KEY", "functions", "Object", "values", "MarkdownFunctions", "make", "Blueprint", "key", "name", "tools", "toolDefinitions", "instructions", "Template", "source", "trim", "blueprint"]
7
+ }