@dxos/plugin-markdown 0.8.4-main.1f223c7 → 0.8.4-main.2244d791bb

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 (365) hide show
  1. package/dist/lib/browser/MarkdownCard-Z6PWYEHJ.mjs +11 -0
  2. package/dist/lib/browser/MarkdownContainer-KGEX4KEN.mjs +11 -0
  3. package/dist/lib/browser/anchor-sort-QCUZGON5.mjs +33 -0
  4. package/dist/lib/browser/anchor-sort-QCUZGON5.mjs.map +7 -0
  5. package/dist/lib/browser/app-graph-serializer-6NGPRTY6.mjs +59 -0
  6. package/dist/lib/browser/app-graph-serializer-6NGPRTY6.mjs.map +7 -0
  7. package/dist/lib/browser/blueprint-definition-HYSNAH6Z.mjs +17 -0
  8. package/dist/lib/browser/blueprint-definition-HYSNAH6Z.mjs.map +7 -0
  9. package/dist/lib/browser/blueprints/index.mjs +8 -0
  10. package/dist/lib/browser/blueprints/index.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-IKUJPKAE.mjs +796 -0
  12. package/dist/lib/browser/chunk-IKUJPKAE.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-Z7P6JGGW.mjs → chunk-JODBECJA.mjs} +12 -8
  14. package/dist/lib/browser/chunk-JODBECJA.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-KW4FLYZS.mjs +8 -0
  16. package/dist/lib/browser/chunk-KW4FLYZS.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-LIZX2OAT.mjs +178 -0
  18. package/dist/lib/browser/chunk-LIZX2OAT.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-LRRS3L7O.mjs +58 -0
  20. package/dist/lib/browser/chunk-LRRS3L7O.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-PV7GW7CI.mjs +166 -0
  22. package/dist/lib/browser/chunk-PV7GW7CI.mjs.map +7 -0
  23. package/dist/lib/browser/chunk-YZKNND37.mjs +105 -0
  24. package/dist/lib/browser/chunk-YZKNND37.mjs.map +7 -0
  25. package/dist/lib/browser/cli/index.mjs +33 -0
  26. package/dist/lib/browser/cli/index.mjs.map +7 -0
  27. package/dist/lib/browser/index.mjs +127 -145
  28. package/dist/lib/browser/index.mjs.map +4 -4
  29. package/dist/lib/browser/meta.json +1 -1
  30. package/dist/lib/browser/operation-resolver-EHCL5OS7.mjs +53 -0
  31. package/dist/lib/browser/operation-resolver-EHCL5OS7.mjs.map +7 -0
  32. package/dist/lib/browser/react-surface-SQVRMKCQ.mjs +213 -0
  33. package/dist/lib/browser/react-surface-SQVRMKCQ.mjs.map +7 -0
  34. package/dist/lib/browser/settings-4DDC3NMP.mjs +36 -0
  35. package/dist/lib/browser/settings-4DDC3NMP.mjs.map +7 -0
  36. package/dist/lib/browser/state-UIZ3X7RA.mjs +29 -0
  37. package/dist/lib/browser/state-UIZ3X7RA.mjs.map +7 -0
  38. package/dist/lib/browser/types/index.mjs +10 -3
  39. package/dist/lib/node-esm/MarkdownCard-NUGJRT43.mjs +12 -0
  40. package/dist/lib/node-esm/MarkdownCard-NUGJRT43.mjs.map +7 -0
  41. package/dist/lib/node-esm/MarkdownContainer-6D7OHAZA.mjs +12 -0
  42. package/dist/lib/node-esm/MarkdownContainer-6D7OHAZA.mjs.map +7 -0
  43. package/dist/lib/node-esm/anchor-sort-ABOJXSU6.mjs +34 -0
  44. package/dist/lib/node-esm/anchor-sort-ABOJXSU6.mjs.map +7 -0
  45. package/dist/lib/node-esm/app-graph-serializer-OYKI3LW2.mjs +60 -0
  46. package/dist/lib/node-esm/app-graph-serializer-OYKI3LW2.mjs.map +7 -0
  47. package/dist/lib/node-esm/blueprint-definition-SOC744SQ.mjs +18 -0
  48. package/dist/lib/node-esm/blueprint-definition-SOC744SQ.mjs.map +7 -0
  49. package/dist/lib/node-esm/blueprints/index.mjs +9 -0
  50. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  51. package/dist/lib/node-esm/chunk-A5WB5WP7.mjs +59 -0
  52. package/dist/lib/node-esm/chunk-A5WB5WP7.mjs.map +7 -0
  53. package/dist/lib/node-esm/chunk-BMKFZ5WK.mjs +179 -0
  54. package/dist/lib/node-esm/chunk-BMKFZ5WK.mjs.map +7 -0
  55. package/dist/lib/node-esm/chunk-GXEX67UI.mjs +10 -0
  56. package/dist/lib/node-esm/chunk-GXEX67UI.mjs.map +7 -0
  57. package/dist/lib/node-esm/chunk-KG7JF7PJ.mjs +167 -0
  58. package/dist/lib/node-esm/chunk-KG7JF7PJ.mjs.map +7 -0
  59. package/dist/lib/node-esm/{chunk-J7A6TUB2.mjs → chunk-PPGVKPFP.mjs} +12 -8
  60. package/dist/lib/node-esm/chunk-PPGVKPFP.mjs.map +7 -0
  61. package/dist/lib/node-esm/chunk-U4W25KQQ.mjs +106 -0
  62. package/dist/lib/node-esm/chunk-U4W25KQQ.mjs.map +7 -0
  63. package/dist/lib/node-esm/chunk-WJRTAU55.mjs +797 -0
  64. package/dist/lib/node-esm/chunk-WJRTAU55.mjs.map +7 -0
  65. package/dist/lib/node-esm/cli/index.mjs +34 -0
  66. package/dist/lib/node-esm/cli/index.mjs.map +7 -0
  67. package/dist/lib/node-esm/index.mjs +127 -145
  68. package/dist/lib/node-esm/index.mjs.map +4 -4
  69. package/dist/lib/node-esm/meta.json +1 -1
  70. package/dist/lib/node-esm/operation-resolver-ILDFG244.mjs +54 -0
  71. package/dist/lib/node-esm/operation-resolver-ILDFG244.mjs.map +7 -0
  72. package/dist/lib/node-esm/react-surface-5DVOPYF3.mjs +214 -0
  73. package/dist/lib/node-esm/react-surface-5DVOPYF3.mjs.map +7 -0
  74. package/dist/lib/node-esm/settings-MHB4FPJU.mjs +37 -0
  75. package/dist/lib/node-esm/settings-MHB4FPJU.mjs.map +7 -0
  76. package/dist/lib/node-esm/state-B2JSHJKS.mjs +30 -0
  77. package/dist/lib/node-esm/state-B2JSHJKS.mjs.map +7 -0
  78. package/dist/lib/node-esm/types/index.mjs +10 -3
  79. package/dist/types/src/MarkdownPlugin.d.ts +2 -1
  80. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  81. package/dist/types/src/{functions/open.d.ts → blueprints/functions/create.d.ts} +5 -4
  82. package/dist/types/src/blueprints/functions/create.d.ts.map +1 -0
  83. package/dist/types/src/blueprints/functions/create.test.d.ts +2 -0
  84. package/dist/types/src/blueprints/functions/create.test.d.ts.map +1 -0
  85. package/dist/types/src/blueprints/functions/index.d.ts +42 -0
  86. package/dist/types/src/blueprints/functions/index.d.ts.map +1 -0
  87. package/dist/types/src/blueprints/functions/open.d.ts +14 -0
  88. package/dist/types/src/blueprints/functions/open.d.ts.map +1 -0
  89. package/dist/types/src/blueprints/functions/update.d.ts +19 -0
  90. package/dist/types/src/blueprints/functions/update.d.ts.map +1 -0
  91. package/dist/types/src/blueprints/functions/update.test.d.ts +2 -0
  92. package/dist/types/src/blueprints/functions/update.test.d.ts.map +1 -0
  93. package/dist/types/src/blueprints/index.d.ts +2 -0
  94. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  95. package/dist/types/src/blueprints/markdown-blueprint.d.ts +4 -0
  96. package/dist/types/src/blueprints/markdown-blueprint.d.ts.map +1 -0
  97. package/dist/types/src/capabilities/anchor-sort/anchor-sort.d.ts +6 -0
  98. package/dist/types/src/capabilities/anchor-sort/anchor-sort.d.ts.map +1 -0
  99. package/dist/types/src/capabilities/anchor-sort/index.d.ts +3 -0
  100. package/dist/types/src/capabilities/anchor-sort/index.d.ts.map +1 -0
  101. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts +5 -0
  102. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts.map +1 -0
  103. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts +3 -0
  104. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts.map +1 -0
  105. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts +5 -0
  106. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts.map +1 -0
  107. package/dist/types/src/capabilities/artifact-definition/index.d.ts +3 -0
  108. package/dist/types/src/capabilities/artifact-definition/index.d.ts.map +1 -0
  109. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +6 -0
  110. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
  111. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +3 -0
  112. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
  113. package/dist/types/src/capabilities/index.d.ts +6 -17
  114. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  115. package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
  116. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  117. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
  118. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  119. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  120. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  121. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  122. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  123. package/dist/types/src/capabilities/settings/index.d.ts +3 -0
  124. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  125. package/dist/types/src/capabilities/settings/settings.d.ts +7 -0
  126. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  127. package/dist/types/src/capabilities/state/index.d.ts +3 -0
  128. package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
  129. package/dist/types/src/capabilities/state/state.d.ts +5 -0
  130. package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
  131. package/dist/types/src/cli/index.d.ts +2 -0
  132. package/dist/types/src/cli/index.d.ts.map +1 -0
  133. package/dist/types/src/cli/plugin.d.ts +3 -0
  134. package/dist/types/src/cli/plugin.d.ts.map +1 -0
  135. package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts +5 -4
  136. package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts.map +1 -1
  137. package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts +5 -6
  138. package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts.map +1 -1
  139. package/dist/types/src/components/MarkdownContainer.d.ts +21 -11
  140. package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
  141. package/dist/types/src/components/MarkdownContainer.stories.d.ts +37 -4
  142. package/dist/types/src/components/MarkdownContainer.stories.d.ts.map +1 -1
  143. package/dist/types/src/components/MarkdownEditor/FileUpload.d.ts +11 -0
  144. package/dist/types/src/components/MarkdownEditor/FileUpload.d.ts.map +1 -0
  145. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +43 -23
  146. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
  147. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts +5 -110
  148. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts.map +1 -1
  149. package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts +30 -0
  150. package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts.map +1 -0
  151. package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts +12 -0
  152. package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts.map +1 -0
  153. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts +4 -2
  154. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts.map +1 -1
  155. package/dist/types/src/components/Suggestions.stories.d.ts +1 -2
  156. package/dist/types/src/components/Suggestions.stories.d.ts.map +1 -1
  157. package/dist/types/src/components/index.d.ts +7 -2
  158. package/dist/types/src/components/index.d.ts.map +1 -1
  159. package/dist/types/src/hooks/index.d.ts +3 -0
  160. package/dist/types/src/hooks/index.d.ts.map +1 -1
  161. package/dist/types/src/hooks/useEditorMenuOptions.d.ts +9 -0
  162. package/dist/types/src/hooks/useEditorMenuOptions.d.ts.map +1 -0
  163. package/dist/types/src/hooks/useExtensions.d.ts +21 -0
  164. package/dist/types/src/hooks/useExtensions.d.ts.map +1 -0
  165. package/dist/types/src/hooks/useLinkQuery.d.ts +4 -0
  166. package/dist/types/src/hooks/useLinkQuery.d.ts.map +1 -0
  167. package/dist/types/src/hooks/useSelectCurrentThread.d.ts +1 -1
  168. package/dist/types/src/hooks/useSelectCurrentThread.d.ts.map +1 -1
  169. package/dist/types/src/index.d.ts +2 -2
  170. package/dist/types/src/index.d.ts.map +1 -1
  171. package/dist/types/src/meta.d.ts +2 -2
  172. package/dist/types/src/meta.d.ts.map +1 -1
  173. package/dist/types/src/testing.d.ts +6 -0
  174. package/dist/types/src/testing.d.ts.map +1 -0
  175. package/dist/types/src/translations.d.ts +33 -0
  176. package/dist/types/src/translations.d.ts.map +1 -1
  177. package/dist/types/src/types/Markdown.d.ts +17 -15
  178. package/dist/types/src/types/Markdown.d.ts.map +1 -1
  179. package/dist/types/src/types/MarkdownAction.d.ts +64 -31
  180. package/dist/types/src/types/MarkdownAction.d.ts.map +1 -1
  181. package/dist/types/src/types/capabilities.d.ts +22 -0
  182. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  183. package/dist/types/src/types/events.d.ts +5 -0
  184. package/dist/types/src/types/events.d.ts.map +1 -0
  185. package/dist/types/src/types/index.d.ts +3 -0
  186. package/dist/types/src/types/index.d.ts.map +1 -1
  187. package/dist/types/src/types/types.d.ts +2 -2
  188. package/dist/types/src/types/types.d.ts.map +1 -1
  189. package/dist/types/src/util.d.ts +6 -3
  190. package/dist/types/src/util.d.ts.map +1 -1
  191. package/dist/types/src/util.test.d.ts +2 -0
  192. package/dist/types/src/util.test.d.ts.map +1 -0
  193. package/dist/types/tsconfig.tsbuildinfo +1 -1
  194. package/package.json +96 -58
  195. package/src/MarkdownPlugin.tsx +80 -110
  196. package/src/blueprints/functions/create.conversations.json +1 -0
  197. package/src/blueprints/functions/create.test.ts +92 -0
  198. package/src/blueprints/functions/create.ts +35 -0
  199. package/src/blueprints/functions/index.ts +15 -0
  200. package/src/blueprints/functions/open.ts +33 -0
  201. package/src/blueprints/functions/update.conversations.json +1 -0
  202. package/src/blueprints/functions/update.test.ts +215 -0
  203. package/src/blueprints/functions/update.ts +79 -0
  204. package/src/blueprints/index.ts +5 -0
  205. package/src/blueprints/markdown-blueprint.ts +46 -0
  206. package/src/capabilities/anchor-sort/anchor-sort.ts +37 -0
  207. package/src/capabilities/anchor-sort/index.ts +7 -0
  208. package/src/capabilities/app-graph-serializer/app-graph-serializer.ts +60 -0
  209. package/src/capabilities/app-graph-serializer/index.ts +7 -0
  210. package/src/capabilities/artifact-definition/artifact-definition.ts +110 -0
  211. package/src/capabilities/artifact-definition/index.ts +7 -0
  212. package/src/capabilities/blueprint-definition/blueprint-definition.ts +17 -0
  213. package/src/capabilities/blueprint-definition/index.ts +7 -0
  214. package/src/capabilities/index.ts +6 -12
  215. package/src/capabilities/operation-resolver/index.ts +7 -0
  216. package/src/capabilities/operation-resolver/operation-resolver.ts +45 -0
  217. package/src/capabilities/react-surface/index.ts +7 -0
  218. package/src/capabilities/react-surface/react-surface.tsx +102 -0
  219. package/src/capabilities/settings/index.ts +7 -0
  220. package/src/capabilities/settings/settings.ts +37 -0
  221. package/src/capabilities/state/index.ts +7 -0
  222. package/src/capabilities/state/state.ts +31 -0
  223. package/src/cli/index.ts +5 -0
  224. package/src/cli/plugin.ts +30 -0
  225. package/src/components/MarkdownCard/MarkdownCard.stories.tsx +28 -49
  226. package/src/components/MarkdownCard/MarkdownCard.tsx +44 -55
  227. package/src/components/MarkdownContainer.stories.tsx +77 -54
  228. package/src/components/MarkdownContainer.tsx +106 -248
  229. package/src/components/MarkdownEditor/FileUpload.tsx +63 -0
  230. package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +56 -37
  231. package/src/components/MarkdownEditor/MarkdownEditor.tsx +227 -271
  232. package/src/components/MarkdownEditor/MarkdownEditorContent.tsx +162 -0
  233. package/src/components/MarkdownEditor/MarkdownEditorToolbar.tsx +66 -0
  234. package/src/components/MarkdownSettings/MarkdownSettings.tsx +48 -34
  235. package/src/components/Suggestions.stories.tsx +51 -54
  236. package/src/components/index.ts +10 -3
  237. package/src/hooks/index.ts +3 -0
  238. package/src/hooks/useEditorMenuOptions.ts +68 -0
  239. package/src/{extensions.tsx → hooks/useExtensions.tsx} +73 -98
  240. package/src/hooks/useLinkQuery.ts +83 -0
  241. package/src/hooks/useSelectCurrentThread.tsx +38 -33
  242. package/src/index.ts +3 -2
  243. package/src/meta.ts +5 -5
  244. package/src/testing.ts +27 -0
  245. package/src/translations.ts +6 -0
  246. package/src/types/Markdown.ts +11 -10
  247. package/src/types/MarkdownAction.ts +49 -19
  248. package/src/types/capabilities.ts +38 -0
  249. package/src/types/events.ts +14 -0
  250. package/src/types/index.ts +4 -0
  251. package/src/types/types.ts +3 -2
  252. package/src/util.test.ts +44 -0
  253. package/src/util.tsx +82 -7
  254. package/dist/lib/browser/MarkdownCard-JLUQITYK.mjs +0 -80
  255. package/dist/lib/browser/MarkdownCard-JLUQITYK.mjs.map +0 -7
  256. package/dist/lib/browser/MarkdownContainer-HMPNQMNG.mjs +0 -751
  257. package/dist/lib/browser/MarkdownContainer-HMPNQMNG.mjs.map +0 -7
  258. package/dist/lib/browser/anchor-sort-E33BSTYF.mjs +0 -32
  259. package/dist/lib/browser/anchor-sort-E33BSTYF.mjs.map +0 -7
  260. package/dist/lib/browser/app-graph-serializer-OX62DNPT.mjs +0 -51
  261. package/dist/lib/browser/app-graph-serializer-OX62DNPT.mjs.map +0 -7
  262. package/dist/lib/browser/blueprint-definition-5YKFUHRU.mjs +0 -11
  263. package/dist/lib/browser/chunk-BEE7VQPU.mjs +0 -78
  264. package/dist/lib/browser/chunk-BEE7VQPU.mjs.map +0 -7
  265. package/dist/lib/browser/chunk-F6JJLKLN.mjs +0 -102
  266. package/dist/lib/browser/chunk-F6JJLKLN.mjs.map +0 -7
  267. package/dist/lib/browser/chunk-LAVZ2W6X.mjs +0 -50
  268. package/dist/lib/browser/chunk-LAVZ2W6X.mjs.map +0 -7
  269. package/dist/lib/browser/chunk-ODB2PTBP.mjs +0 -28
  270. package/dist/lib/browser/chunk-ODB2PTBP.mjs.map +0 -7
  271. package/dist/lib/browser/chunk-OY6CGPOO.mjs +0 -16
  272. package/dist/lib/browser/chunk-OY6CGPOO.mjs.map +0 -7
  273. package/dist/lib/browser/chunk-XE66SH4O.mjs +0 -22
  274. package/dist/lib/browser/chunk-XE66SH4O.mjs.map +0 -7
  275. package/dist/lib/browser/chunk-Z7P6JGGW.mjs.map +0 -7
  276. package/dist/lib/browser/intent-resolver-WDDH56JC.mjs +0 -62
  277. package/dist/lib/browser/intent-resolver-WDDH56JC.mjs.map +0 -7
  278. package/dist/lib/browser/react-surface-NY5K2I5R.mjs +0 -215
  279. package/dist/lib/browser/react-surface-NY5K2I5R.mjs.map +0 -7
  280. package/dist/lib/browser/settings-AABBTB4Q.mjs +0 -28
  281. package/dist/lib/browser/settings-AABBTB4Q.mjs.map +0 -7
  282. package/dist/lib/browser/state-FTHQQX7V.mjs +0 -37
  283. package/dist/lib/browser/state-FTHQQX7V.mjs.map +0 -7
  284. package/dist/lib/browser/toolkit-2AJTHG74.mjs +0 -74
  285. package/dist/lib/browser/toolkit-2AJTHG74.mjs.map +0 -7
  286. package/dist/lib/node-esm/MarkdownCard-XL5EVSJ7.mjs +0 -81
  287. package/dist/lib/node-esm/MarkdownCard-XL5EVSJ7.mjs.map +0 -7
  288. package/dist/lib/node-esm/MarkdownContainer-5FTROSXN.mjs +0 -752
  289. package/dist/lib/node-esm/MarkdownContainer-5FTROSXN.mjs.map +0 -7
  290. package/dist/lib/node-esm/anchor-sort-ALP2NH24.mjs +0 -33
  291. package/dist/lib/node-esm/anchor-sort-ALP2NH24.mjs.map +0 -7
  292. package/dist/lib/node-esm/app-graph-serializer-56TD3BMX.mjs +0 -52
  293. package/dist/lib/node-esm/app-graph-serializer-56TD3BMX.mjs.map +0 -7
  294. package/dist/lib/node-esm/blueprint-definition-GVW67KGV.mjs +0 -12
  295. package/dist/lib/node-esm/chunk-CB2R4YIY.mjs +0 -17
  296. package/dist/lib/node-esm/chunk-CB2R4YIY.mjs.map +0 -7
  297. package/dist/lib/node-esm/chunk-DVK63TD3.mjs +0 -103
  298. package/dist/lib/node-esm/chunk-DVK63TD3.mjs.map +0 -7
  299. package/dist/lib/node-esm/chunk-FXILAQ5F.mjs +0 -79
  300. package/dist/lib/node-esm/chunk-FXILAQ5F.mjs.map +0 -7
  301. package/dist/lib/node-esm/chunk-J7A6TUB2.mjs.map +0 -7
  302. package/dist/lib/node-esm/chunk-O6EXWGGS.mjs +0 -51
  303. package/dist/lib/node-esm/chunk-O6EXWGGS.mjs.map +0 -7
  304. package/dist/lib/node-esm/chunk-Q2BREK2M.mjs +0 -24
  305. package/dist/lib/node-esm/chunk-Q2BREK2M.mjs.map +0 -7
  306. package/dist/lib/node-esm/chunk-VCG2U522.mjs +0 -29
  307. package/dist/lib/node-esm/chunk-VCG2U522.mjs.map +0 -7
  308. package/dist/lib/node-esm/intent-resolver-2I5HKCUU.mjs +0 -63
  309. package/dist/lib/node-esm/intent-resolver-2I5HKCUU.mjs.map +0 -7
  310. package/dist/lib/node-esm/react-surface-AUWSLYJS.mjs +0 -216
  311. package/dist/lib/node-esm/react-surface-AUWSLYJS.mjs.map +0 -7
  312. package/dist/lib/node-esm/settings-CXGR6DH4.mjs +0 -29
  313. package/dist/lib/node-esm/settings-CXGR6DH4.mjs.map +0 -7
  314. package/dist/lib/node-esm/state-NWMQ3XAI.mjs +0 -38
  315. package/dist/lib/node-esm/state-NWMQ3XAI.mjs.map +0 -7
  316. package/dist/lib/node-esm/toolkit-RC44I2MI.mjs +0 -75
  317. package/dist/lib/node-esm/toolkit-RC44I2MI.mjs.map +0 -7
  318. package/dist/types/src/capabilities/anchor-sort.d.ts +0 -6
  319. package/dist/types/src/capabilities/anchor-sort.d.ts.map +0 -1
  320. package/dist/types/src/capabilities/app-graph-serializer.d.ts +0 -4
  321. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +0 -1
  322. package/dist/types/src/capabilities/artifact-definition.d.ts +0 -3
  323. package/dist/types/src/capabilities/artifact-definition.d.ts.map +0 -1
  324. package/dist/types/src/capabilities/blueprint-definition.d.ts +0 -5
  325. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +0 -1
  326. package/dist/types/src/capabilities/capabilities.d.ts +0 -12
  327. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  328. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  329. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  330. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  331. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  332. package/dist/types/src/capabilities/settings.d.ts +0 -4
  333. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  334. package/dist/types/src/capabilities/state.d.ts +0 -11
  335. package/dist/types/src/capabilities/state.d.ts.map +0 -1
  336. package/dist/types/src/capabilities/toolkit.d.ts +0 -4
  337. package/dist/types/src/capabilities/toolkit.d.ts.map +0 -1
  338. package/dist/types/src/components/Toolbar.stories.d.ts +0 -48
  339. package/dist/types/src/components/Toolbar.stories.d.ts.map +0 -1
  340. package/dist/types/src/events.d.ts +0 -4
  341. package/dist/types/src/events.d.ts.map +0 -1
  342. package/dist/types/src/extensions.d.ts +0 -22
  343. package/dist/types/src/extensions.d.ts.map +0 -1
  344. package/dist/types/src/functions/diff.d.ts +0 -6
  345. package/dist/types/src/functions/diff.d.ts.map +0 -1
  346. package/dist/types/src/functions/index.d.ts +0 -3
  347. package/dist/types/src/functions/index.d.ts.map +0 -1
  348. package/dist/types/src/functions/open.d.ts.map +0 -1
  349. package/src/capabilities/anchor-sort.ts +0 -30
  350. package/src/capabilities/app-graph-serializer.ts +0 -54
  351. package/src/capabilities/artifact-definition.ts +0 -111
  352. package/src/capabilities/blueprint-definition.ts +0 -39
  353. package/src/capabilities/capabilities.ts +0 -21
  354. package/src/capabilities/intent-resolver.ts +0 -57
  355. package/src/capabilities/react-surface.tsx +0 -115
  356. package/src/capabilities/settings.ts +0 -25
  357. package/src/capabilities/state.ts +0 -31
  358. package/src/capabilities/toolkit.ts +0 -47
  359. package/src/components/Toolbar.stories.tsx +0 -118
  360. package/src/events.ts +0 -11
  361. package/src/functions/diff.ts +0 -35
  362. package/src/functions/index.ts +0 -6
  363. package/src/functions/open.ts +0 -30
  364. /package/dist/lib/browser/{blueprint-definition-5YKFUHRU.mjs.map → MarkdownCard-Z6PWYEHJ.mjs.map} +0 -0
  365. /package/dist/lib/{node-esm/blueprint-definition-GVW67KGV.mjs.map → browser/MarkdownContainer-KGEX4KEN.mjs.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface/react-surface.tsx", "../../../src/components/index.ts", "../../../src/components/MarkdownSettings/MarkdownSettings.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React, { forwardRef, useCallback, useMemo } from 'react';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport {\n Surface,\n useAtomCapability,\n useAtomCapabilityState,\n useCapability,\n useSettingsState,\n} from '@dxos/app-framework/ui';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { type SurfaceComponentProps } from '@dxos/app-toolkit/ui';\nimport { Obj } from '@dxos/echo';\nimport { AttentionCapabilities } from '@dxos/plugin-attention';\nimport { Text } from '@dxos/schema';\nimport { type EditorViewMode } from '@dxos/ui-editor';\n\nimport { MarkdownCard, MarkdownContainer, type MarkdownContainerProps, MarkdownSettings } from '../../components';\nimport { meta } from '../../meta';\nimport { Markdown, MarkdownCapabilities } from '../../types';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(Capabilities.ReactSurface, [\n Surface.create({\n id: `${meta.id}/surface/document`,\n role: ['article', 'section', 'tabpanel'],\n filter: (data): data is { subject: Markdown.Document; variant: undefined } =>\n Obj.instanceOf(Markdown.Document, data.subject) && !data.variant,\n component: ({ data, role, ref }) => {\n return <Container id={Obj.getDXN(data.subject).toString()} subject={data.subject} role={role} ref={ref} />;\n },\n }),\n Surface.create({\n id: `${meta.id}/surface/text`,\n role: ['article', 'section', 'tabpanel'],\n filter: (data): data is { id: string; subject: Text.Text } =>\n typeof data.id === 'string' && Obj.instanceOf(Text.Text, data.subject),\n component: ({ data, role }) => {\n return <Container id={data.id} subject={data.subject} role={role} />;\n },\n }),\n Surface.create({\n id: `${meta.id}/surface/plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: AppCapabilities.Settings } =>\n AppCapabilities.isSettings(data.subject) && data.subject.prefix === meta.id,\n component: ({ data: { subject } }) => {\n const { settings, updateSettings } = useSettingsState<Markdown.Settings>(subject.atom);\n return <MarkdownSettings settings={settings} onSettingsChange={updateSettings} />;\n },\n }),\n Surface.create({\n id: `${meta.id}/surface/preview`,\n role: 'card--content',\n filter: (data): data is { subject: Markdown.Document | Text.Text } =>\n Obj.instanceOf(Markdown.Document, data.subject) || Obj.instanceOf(Text.Text, data.subject),\n component: ({ data }) => <MarkdownCard {...data} />,\n }),\n ]),\n ),\n);\n\n/**\n * Common wrapper.\n */\nconst Container = forwardRef<HTMLDivElement, SurfaceComponentProps<Markdown.Document | Text.Text, { id: string }>>(\n ({ id, subject, role }, forwardedRef) => {\n const selectionManager = useCapability(AttentionCapabilities.Selection);\n const settings = useAtomCapability(MarkdownCapabilities.Settings);\n const [state, setState] = useAtomCapabilityState(MarkdownCapabilities.State);\n const editorState = useCapability(MarkdownCapabilities.EditorState);\n const extensions = useCapability(MarkdownCapabilities.Extensions);\n const extensionProviders = useMemo(() => extensions.flat(), [extensions]);\n\n const viewMode: EditorViewMode = (id && state.viewMode[id]) || settings?.defaultViewMode || 'source';\n const handleViewModeChange = useCallback<NonNullable<MarkdownContainerProps['onViewModeChange']>>(\n (mode) => setState((current) => ({ ...current, viewMode: { ...current.viewMode, [id]: mode } })),\n [id, setState],\n );\n\n return (\n <MarkdownContainer\n role={role}\n subject={subject}\n id={id}\n settings={settings}\n selectionManager={selectionManager}\n extensionProviders={extensionProviders}\n editorStateStore={editorState}\n viewMode={viewMode}\n onViewModeChange={handleViewModeChange}\n ref={forwardedRef}\n />\n );\n },\n);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type LazyExoticComponent, lazy } from 'react';\n\nimport { type MarkdownCard as MarkdownCardType } from './MarkdownCard';\nimport { type MarkdownContainer as MarkdownContainerType } from './MarkdownContainer';\n\nexport * from './MarkdownCard';\nexport * from './MarkdownContainer';\nexport * from './MarkdownSettings';\n\nexport const MarkdownCard: LazyExoticComponent<typeof MarkdownCardType> = lazy(() => import('./MarkdownCard'));\nexport const MarkdownContainer: LazyExoticComponent<typeof MarkdownContainerType> = lazy(\n () => import('./MarkdownContainer'),\n);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Input, Select, useTranslation } from '@dxos/react-ui';\nimport { Settings } from '@dxos/react-ui-form';\nimport { type EditorInputMode, EditorInputModes, type EditorViewMode, EditorViewModes } from '@dxos/ui-editor';\n\nimport { meta } from '../../meta';\nimport { type Markdown } from '../../types';\n\nexport type MarkdownSettingsComponentProps = {\n settings: Markdown.Settings;\n onSettingsChange: (fn: (current: Markdown.Settings) => Markdown.Settings) => void;\n};\n\nexport const MarkdownSettings = ({ settings, onSettingsChange }: MarkdownSettingsComponentProps) => {\n const { t } = useTranslation(meta.id);\n\n // TODO(wittjosiah): Add skill test confirmation for entering vim mode.\n return (\n <Settings.Root>\n <Settings.Section title={t('settings title', { ns: meta.id })}>\n <Settings.Group>\n <Settings.ItemInput title={t('default view mode label')}>\n <Select.Root\n value={settings.defaultViewMode}\n onValueChange={(value) => {\n onSettingsChange((s) => ({ ...s, defaultViewMode: value as EditorViewMode }));\n }}\n >\n <Select.TriggerButton />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {EditorViewModes.map((mode) => (\n <Select.Option key={mode} value={mode}>\n {t(`${mode} mode label`, { ns: '@dxos/react-ui-editor' })}\n </Select.Option>\n ))}\n </Select.Viewport>\n <Select.Arrow />\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </Settings.ItemInput>\n\n <Settings.ItemInput title={t('editor input mode label')}>\n <Select.Root\n value={settings.editorInputMode ?? 'default'}\n onValueChange={(value) => {\n onSettingsChange((s) => ({ ...s, editorInputMode: value as EditorInputMode }));\n }}\n >\n <Select.TriggerButton placeholder={t('select editor input mode placeholder')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {EditorInputModes.map((mode) => (\n <Select.Option key={mode} value={mode}>\n {t(`settings editor input mode ${mode} label`)}\n </Select.Option>\n ))}\n </Select.Viewport>\n <Select.Arrow />\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </Settings.ItemInput>\n\n <Settings.ItemInput title={t('settings toolbar label')}>\n <Input.Switch\n checked={settings.toolbar}\n onCheckedChange={(checked) => onSettingsChange((s) => ({ ...s, toolbar: !!checked }))}\n />\n </Settings.ItemInput>\n\n <Settings.ItemInput title={t('settings numbered headings label')}>\n <Input.Switch\n checked={settings.numberedHeadings}\n onCheckedChange={(checked) => onSettingsChange((s) => ({ ...s, numberedHeadings: !!checked }))}\n />\n </Settings.ItemInput>\n\n <Settings.ItemInput title={t('settings folding label')}>\n <Input.Switch\n checked={settings.folding}\n onCheckedChange={(checked) => onSettingsChange((s) => ({ ...s, folding: !!checked }))}\n />\n </Settings.ItemInput>\n\n <Settings.ItemInput title={t('settings experimental label')}>\n <Input.Switch\n checked={settings.experimental}\n onCheckedChange={(checked) => onSettingsChange((s) => ({ ...s, experimental: !!checked }))}\n />\n </Settings.ItemInput>\n\n <Settings.ItemInput title={t('settings debug label')}>\n <Input.Switch\n checked={settings.debug}\n onCheckedChange={(checked) => onSettingsChange((s) => ({ ...s, debug: !!checked }))}\n />\n </Settings.ItemInput>\n\n {settings.debug && (\n <Settings.ItemInput title={t('settings debug textarea label', { ns: meta.id })}>\n <Input.TextArea\n rows={5}\n value={settings.typewriter}\n onChange={({ target: { value } }) => onSettingsChange((s) => ({ ...s, typewriter: value }))}\n placeholder={t('settings debug placeholder')}\n />\n </Settings.ItemInput>\n )}\n </Settings.Group>\n </Settings.Section>\n </Settings.Root>\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Effect", "React", "forwardRef", "useCallback", "useMemo", "Capabilities", "Capability", "Surface", "useAtomCapability", "useAtomCapabilityState", "useCapability", "useSettingsState", "AppCapabilities", "Obj", "AttentionCapabilities", "Text", "lazy", "React", "Input", "Select", "useTranslation", "Settings", "EditorInputModes", "EditorViewModes", "MarkdownSettings", "settings", "onSettingsChange", "t", "useTranslation", "meta", "id", "Settings", "Root", "Section", "title", "ns", "Group", "ItemInput", "Select", "value", "defaultViewMode", "onValueChange", "s", "TriggerButton", "Portal", "Content", "Viewport", "EditorViewModes", "map", "mode", "Option", "key", "Arrow", "editorInputMode", "placeholder", "EditorInputModes", "Input", "Switch", "checked", "toolbar", "onCheckedChange", "numberedHeadings", "folding", "experimental", "debug", "TextArea", "rows", "typewriter", "onChange", "target", "MarkdownCard", "lazy", "MarkdownContainer", "Capability", "makeModule", "succeed", "contributes", "Capabilities", "ReactSurface", "Surface", "create", "id", "meta", "role", "filter", "data", "Obj", "instanceOf", "Markdown", "Document", "subject", "variant", "component", "ref", "React", "Container", "getDXN", "toString", "Text", "AppCapabilities", "isSettings", "prefix", "settings", "updateSettings", "useSettingsState", "atom", "MarkdownSettings", "onSettingsChange", "MarkdownCard", "forwardRef", "forwardedRef", "selectionManager", "useCapability", "AttentionCapabilities", "Selection", "useAtomCapability", "MarkdownCapabilities", "Settings", "state", "setState", "useAtomCapabilityState", "State", "editorState", "EditorState", "extensions", "Extensions", "extensionProviders", "useMemo", "flat", "viewMode", "defaultViewMode", "handleViewModeChange", "useCallback", "mode", "current", "MarkdownContainer", "editorStateStore", "onViewModeChange"]
7
+ }
@@ -0,0 +1,36 @@
1
+ import {
2
+ MarkdownCapabilities,
3
+ Markdown_exports,
4
+ meta
5
+ } from "./chunk-PV7GW7CI.mjs";
6
+
7
+ // src/capabilities/settings/settings.ts
8
+ import * as Effect from "effect/Effect";
9
+ import { Capability } from "@dxos/app-framework";
10
+ import { AppCapabilities } from "@dxos/app-toolkit";
11
+ import { createKvsStore } from "@dxos/effect";
12
+ var settings_default = Capability.makeModule(() => Effect.sync(() => {
13
+ const settingsAtom = createKvsStore({
14
+ key: meta.id,
15
+ schema: Markdown_exports.Settings,
16
+ defaultValue: () => ({
17
+ defaultViewMode: "preview",
18
+ toolbar: true,
19
+ numberedHeadings: true,
20
+ folding: true,
21
+ experimental: false
22
+ })
23
+ });
24
+ return [
25
+ Capability.contributes(MarkdownCapabilities.Settings, settingsAtom),
26
+ Capability.contributes(AppCapabilities.Settings, {
27
+ prefix: meta.id,
28
+ schema: Markdown_exports.Settings,
29
+ atom: settingsAtom
30
+ })
31
+ ];
32
+ }));
33
+ export {
34
+ settings_default as default
35
+ };
36
+ //# sourceMappingURL=settings-4DDC3NMP.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/settings/settings.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';\nimport { createKvsStore } from '@dxos/effect';\n\nimport { meta } from '../../meta';\nimport { Markdown, MarkdownCapabilities } from '../../types';\n\nexport default Capability.makeModule(() =>\n Effect.sync(() => {\n const settingsAtom = createKvsStore({\n key: meta.id,\n schema: Markdown.Settings,\n defaultValue: () => ({\n defaultViewMode: 'preview' as const,\n toolbar: true,\n numberedHeadings: true,\n folding: true,\n experimental: false,\n }),\n });\n\n return [\n Capability.contributes(MarkdownCapabilities.Settings, settingsAtom),\n Capability.contributes(AppCapabilities.Settings, {\n prefix: meta.id,\n schema: Markdown.Settings,\n atom: settingsAtom,\n }),\n ];\n }),\n);\n"],
5
+ "mappings": ";;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SAASC,sBAAsB;AAK/B,IAAA,mBAAeC,WAAWC,WAAW,MAC5BC,YAAK,MAAA;AACV,QAAMC,eAAeC,eAAe;IAClCC,KAAKC,KAAKC;IACVC,QAAQC,iBAASC;IACjBC,cAAc,OAAO;MACnBC,iBAAiB;MACjBC,SAAS;MACTC,kBAAkB;MAClBC,SAAS;MACTC,cAAc;IAChB;EACF,CAAA;AAEA,SAAO;IACLhB,WAAWiB,YAAYC,qBAAqBR,UAAUP,YAAAA;IACtDH,WAAWiB,YAAYE,gBAAgBT,UAAU;MAC/CU,QAAQd,KAAKC;MACbC,QAAQC,iBAASC;MACjBW,MAAMlB;IACR,CAAA;;AAEJ,CAAA,CAAA;",
6
+ "names": ["Effect", "Capability", "AppCapabilities", "createKvsStore", "Capability", "makeModule", "sync", "settingsAtom", "createKvsStore", "key", "meta", "id", "schema", "Markdown", "Settings", "defaultValue", "defaultViewMode", "toolbar", "numberedHeadings", "folding", "experimental", "contributes", "MarkdownCapabilities", "AppCapabilities", "prefix", "atom"]
7
+ }
@@ -0,0 +1,29 @@
1
+ import {
2
+ MarkdownCapabilities,
3
+ MarkdownStateSchema,
4
+ meta
5
+ } from "./chunk-PV7GW7CI.mjs";
6
+
7
+ // src/capabilities/state/state.ts
8
+ import * as Effect from "effect/Effect";
9
+ import { Capability } from "@dxos/app-framework";
10
+ import { createKvsStore } from "@dxos/effect";
11
+ import { createEditorStateStore } from "@dxos/ui-editor";
12
+ var state_default = Capability.makeModule(Effect.fnUntraced(function* () {
13
+ const stateAtom = createKvsStore({
14
+ key: `${meta.id}/state`,
15
+ schema: MarkdownStateSchema,
16
+ defaultValue: () => ({
17
+ viewMode: {}
18
+ })
19
+ });
20
+ const editorState = createEditorStateStore(`${meta.id}/editor`);
21
+ return [
22
+ Capability.contributes(MarkdownCapabilities.State, stateAtom),
23
+ Capability.contributes(MarkdownCapabilities.EditorState, editorState)
24
+ ];
25
+ }));
26
+ export {
27
+ state_default as default
28
+ };
29
+ //# sourceMappingURL=state-UIZ3X7RA.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/state/state.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { createKvsStore } from '@dxos/effect';\nimport { createEditorStateStore } from '@dxos/ui-editor';\n\nimport { meta } from '../../meta';\nimport { MarkdownCapabilities, MarkdownStateSchema } from '../../types';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n // Persisted state using KVS store.\n const stateAtom = createKvsStore({\n key: `${meta.id}/state`,\n schema: MarkdownStateSchema,\n defaultValue: () => ({ viewMode: {} }),\n });\n\n // TODO(wittjosiah): Fold into state.\n const editorState = createEditorStateStore(`${meta.id}/editor`);\n\n return [\n Capability.contributes(MarkdownCapabilities.State, stateAtom),\n Capability.contributes(MarkdownCapabilities.EditorState, editorState),\n ];\n }),\n);\n"],
5
+ "mappings": ";;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,sBAAsB;AAC/B,SAASC,8BAA8B;AAKvC,IAAA,gBAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAEhB,QAAMC,YAAYC,eAAe;IAC/BC,KAAK,GAAGC,KAAKC,EAAE;IACfC,QAAQC;IACRC,cAAc,OAAO;MAAEC,UAAU,CAAC;IAAE;EACtC,CAAA;AAGA,QAAMC,cAAcC,uBAAuB,GAAGP,KAAKC,EAAE,SAAS;AAE9D,SAAO;IACLP,WAAWc,YAAYC,qBAAqBC,OAAOb,SAAAA;IACnDH,WAAWc,YAAYC,qBAAqBE,aAAaL,WAAAA;;AAE7D,CAAA,CAAA;",
6
+ "names": ["Effect", "Capability", "createKvsStore", "createEditorStateStore", "Capability", "makeModule", "fnUntraced", "stateAtom", "createKvsStore", "key", "meta", "id", "schema", "MarkdownStateSchema", "defaultValue", "viewMode", "editorState", "createEditorStateStore", "contributes", "MarkdownCapabilities", "State", "EditorState"]
7
+ }
@@ -1,10 +1,17 @@
1
1
  import {
2
2
  MarkdownAction_exports,
3
+ MarkdownCapabilities,
4
+ MarkdownEvents,
5
+ MarkdownOperation,
6
+ MarkdownStateSchema,
3
7
  Markdown_exports
4
- } from "../chunk-BEE7VQPU.mjs";
5
- import "../chunk-ODB2PTBP.mjs";
8
+ } from "../chunk-PV7GW7CI.mjs";
6
9
  export {
7
10
  Markdown_exports as Markdown,
8
- MarkdownAction_exports as MarkdownAction
11
+ MarkdownAction_exports as MarkdownAction,
12
+ MarkdownCapabilities,
13
+ MarkdownEvents,
14
+ MarkdownOperation,
15
+ MarkdownStateSchema
9
16
  };
10
17
  //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,12 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ MarkdownCard,
4
+ MarkdownCard_default
5
+ } from "./chunk-A5WB5WP7.mjs";
6
+ import "./chunk-WJRTAU55.mjs";
7
+ import "./chunk-KG7JF7PJ.mjs";
8
+ export {
9
+ MarkdownCard,
10
+ MarkdownCard_default as default
11
+ };
12
+ //# sourceMappingURL=MarkdownCard-NUGJRT43.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,12 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ MarkdownContainer,
4
+ MarkdownContainer_default
5
+ } from "./chunk-U4W25KQQ.mjs";
6
+ import "./chunk-WJRTAU55.mjs";
7
+ import "./chunk-KG7JF7PJ.mjs";
8
+ export {
9
+ MarkdownContainer,
10
+ MarkdownContainer_default as default
11
+ };
12
+ //# sourceMappingURL=MarkdownContainer-6D7OHAZA.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,34 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ Markdown_exports
4
+ } from "./chunk-KG7JF7PJ.mjs";
5
+
6
+ // src/capabilities/anchor-sort/anchor-sort.ts
7
+ import * as Effect from "effect/Effect";
8
+ import { Capability } from "@dxos/app-framework";
9
+ import { AppCapabilities } from "@dxos/app-toolkit";
10
+ import { Relation } from "@dxos/echo";
11
+ import { createDocAccessor, getRangeFromCursor } from "@dxos/echo-db";
12
+ var anchor_sort_default = Capability.makeModule(() => Effect.succeed(Capability.contributes(AppCapabilities.AnchorSort, {
13
+ key: Markdown_exports.Document.typename,
14
+ sort: (anchorA, anchorB) => {
15
+ const doc = Relation.getTarget(anchorA);
16
+ const accessor = doc.content.target ? createDocAccessor(doc.content.target, [
17
+ "content"
18
+ ]) : void 0;
19
+ if (doc !== Relation.getTarget(anchorB) || !accessor) {
20
+ return 0;
21
+ }
22
+ const getStartPosition = (cursor) => {
23
+ const range = cursor ? getRangeFromCursor(accessor, cursor) : void 0;
24
+ return range?.start ?? Number.MAX_SAFE_INTEGER;
25
+ };
26
+ const posA = getStartPosition(anchorA.anchor);
27
+ const posB = getStartPosition(anchorB.anchor);
28
+ return posA - posB;
29
+ }
30
+ })));
31
+ export {
32
+ anchor_sort_default as default
33
+ };
34
+ //# sourceMappingURL=anchor-sort-ABOJXSU6.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/anchor-sort/anchor-sort.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';\nimport { Relation } from '@dxos/echo';\nimport { createDocAccessor, getRangeFromCursor } from '@dxos/echo-db';\nimport { type AnchoredTo } from '@dxos/types';\n\nimport { Markdown } from '../../types';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(AppCapabilities.AnchorSort, {\n key: Markdown.Document.typename,\n sort: (anchorA: AnchoredTo.AnchoredTo, anchorB: AnchoredTo.AnchoredTo) => {\n const doc = Relation.getTarget(anchorA) as Markdown.Document;\n const accessor = doc.content.target ? createDocAccessor(doc.content.target, ['content']) : undefined;\n if (doc !== Relation.getTarget(anchorB) || !accessor) {\n return 0;\n }\n\n const getStartPosition = (cursor: string | undefined) => {\n const range = cursor ? getRangeFromCursor(accessor, cursor) : undefined;\n return range?.start ?? Number.MAX_SAFE_INTEGER;\n };\n\n const posA = getStartPosition(anchorA.anchor);\n const posB = getStartPosition(anchorB.anchor);\n return posA - posB;\n },\n }),\n ),\n);\n"],
5
+ "mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SAASC,gBAAgB;AACzB,SAASC,mBAAmBC,0BAA0B;AAKtD,IAAA,sBAAeC,WAAWC,WAAW,MAC5BC,eACLF,WAAWG,YAAYC,gBAAgBC,YAAY;EACjDC,KAAKC,iBAASC,SAASC;EACvBC,MAAM,CAACC,SAAgCC,YAAAA;AACrC,UAAMC,MAAMC,SAASC,UAAUJ,OAAAA;AAC/B,UAAMK,WAAWH,IAAII,QAAQC,SAASC,kBAAkBN,IAAII,QAAQC,QAAQ;MAAC;KAAU,IAAIE;AAC3F,QAAIP,QAAQC,SAASC,UAAUH,OAAAA,KAAY,CAACI,UAAU;AACpD,aAAO;IACT;AAEA,UAAMK,mBAAmB,CAACC,WAAAA;AACxB,YAAMC,QAAQD,SAASE,mBAAmBR,UAAUM,MAAAA,IAAUF;AAC9D,aAAOG,OAAOE,SAASC,OAAOC;IAChC;AAEA,UAAMC,OAAOP,iBAAiBV,QAAQkB,MAAM;AAC5C,UAAMC,OAAOT,iBAAiBT,QAAQiB,MAAM;AAC5C,WAAOD,OAAOE;EAChB;AACF,CAAA,CAAA,CAAA;",
6
+ "names": ["Effect", "Capability", "AppCapabilities", "Relation", "createDocAccessor", "getRangeFromCursor", "Capability", "makeModule", "succeed", "contributes", "AppCapabilities", "AnchorSort", "key", "Markdown", "Document", "typename", "sort", "anchorA", "anchorB", "doc", "Relation", "getTarget", "accessor", "content", "target", "createDocAccessor", "undefined", "getStartPosition", "cursor", "range", "getRangeFromCursor", "start", "Number", "MAX_SAFE_INTEGER", "posA", "anchor", "posB"]
7
+ }
@@ -0,0 +1,60 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ translations
4
+ } from "./chunk-PPGVKPFP.mjs";
5
+ import {
6
+ MarkdownOperation,
7
+ Markdown_exports
8
+ } from "./chunk-KG7JF7PJ.mjs";
9
+
10
+ // src/capabilities/app-graph-serializer/app-graph-serializer.ts
11
+ import * as Effect from "effect/Effect";
12
+ import { Capabilities, Capability } from "@dxos/app-framework";
13
+ import { AppCapabilities } from "@dxos/app-toolkit";
14
+ import { Obj } from "@dxos/echo";
15
+ import { SpaceOperation } from "@dxos/plugin-space/types";
16
+ import { isSpace } from "@dxos/react-client/echo";
17
+ import { Collection } from "@dxos/schema";
18
+ var app_graph_serializer_default = Capability.makeModule(Effect.fnUntraced(function* () {
19
+ const capabilities = yield* Capability.Service;
20
+ return Capability.contributes(AppCapabilities.AppGraphSerializer, [
21
+ {
22
+ inputType: Markdown_exports.Document.typename,
23
+ outputType: "text/markdown",
24
+ // Reconcile with metadata serializers.
25
+ serialize: async (node) => {
26
+ const doc = node.data;
27
+ const content = await doc.content.load();
28
+ return {
29
+ name: doc.name || doc.fallbackName || translations[0]["en-US"][Markdown_exports.Document.typename]["object name placeholder"],
30
+ data: content.content,
31
+ type: "text/markdown"
32
+ };
33
+ },
34
+ deserialize: async (data, ancestors) => {
35
+ const space = ancestors.find(isSpace);
36
+ const target = ancestors.findLast((ancestor) => Obj.instanceOf(Collection.Collection, ancestor)) ?? space?.properties[Collection.Collection.typename]?.target;
37
+ if (!space || !target) {
38
+ return;
39
+ }
40
+ const { invokePromise } = capabilities.get(Capabilities.OperationInvoker);
41
+ const createResult = await invokePromise(MarkdownOperation.Create, {
42
+ name: data.name,
43
+ content: data.data
44
+ });
45
+ if (!createResult.data?.object) {
46
+ return void 0;
47
+ }
48
+ await invokePromise(SpaceOperation.AddObject, {
49
+ target,
50
+ object: createResult.data.object
51
+ });
52
+ return createResult.data.object;
53
+ }
54
+ }
55
+ ]);
56
+ }));
57
+ export {
58
+ app_graph_serializer_default as default
59
+ };
60
+ //# sourceMappingURL=app-graph-serializer-OYKI3LW2.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-serializer/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 { Obj } from '@dxos/echo';\nimport { SpaceOperation } from '@dxos/plugin-space/types';\nimport { isSpace } from '@dxos/react-client/echo';\nimport { Collection } from '@dxos/schema';\n\nimport { translations } from '../../translations';\nimport { Markdown, MarkdownOperation } 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.Create, { name: data.name, content: data.data });\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,WAAW;AACpB,SAASC,sBAAsB;AAC/B,SAASC,eAAe;AACxB,SAASC,kBAAkB;AAK3B,IAAA,+BAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAEhB,QAAMC,eAAe,OAAOH,WAAWI;AAEvC,SAAOJ,WAAWK,YAAYC,gBAAgBC,oBAAoB;IAChE;MACEC,WAAWC,iBAASC,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,gBACJC,aAAa,CAAA,EAAG,OAAA,EAASZ,iBAASC,SAASC,QAAQ,EAAE,yBAAA;UACvDK,MAAMC,QAAQA;UACdK,MAAM;QACR;MACF;MACAC,aAAa,OAAOP,MAAMQ,cAAAA;AACxB,cAAMC,QAAQD,UAAUE,KAAKC,OAAAA;AAC7B,cAAMC,SACJJ,UAAUK,SAAS,CAACC,aAAaC,IAAIC,WAAWC,WAAWA,YAAYH,QAAAA,CAAAA,KACvEL,OAAOS,WAAWD,WAAWA,WAAWtB,QAAQ,GAAGiB;AACrD,YAAI,CAACH,SAAS,CAACG,QAAQ;AACrB;QACF;AAEA,cAAM,EAAEO,cAAa,IAAKhC,aAAaiC,IAAIC,aAAaC,gBAAgB;AACxE,cAAMC,eAAe,MAAMJ,cAAcK,kBAAkBC,QAAQ;UAAEtB,MAAMH,KAAKG;UAAMF,SAASD,KAAKA;QAAK,CAAA;AACzG,YAAI,CAACuB,aAAavB,MAAM0B,QAAQ;AAC9B,iBAAOC;QACT;AACA,cAAMR,cAAcS,eAAeC,WAAW;UAAEjB;UAAQc,QAAQH,aAAavB,KAAK0B;QAAO,CAAA;AAEzF,eAAOH,aAAavB,KAAK0B;MAC3B;IACF;GACD;AACH,CAAA,CAAA;",
6
+ "names": ["Effect", "Capabilities", "Capability", "AppCapabilities", "Obj", "SpaceOperation", "isSpace", "Collection", "Capability", "makeModule", "fnUntraced", "capabilities", "Service", "contributes", "AppCapabilities", "AppGraphSerializer", "inputType", "Markdown", "Document", "typename", "outputType", "serialize", "node", "doc", "data", "content", "load", "name", "fallbackName", "translations", "type", "deserialize", "ancestors", "space", "find", "isSpace", "target", "findLast", "ancestor", "Obj", "instanceOf", "Collection", "properties", "invokePromise", "get", "Capabilities", "OperationInvoker", "createResult", "MarkdownOperation", "Create", "object", "undefined", "SpaceOperation", "AddObject"]
7
+ }
@@ -0,0 +1,18 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ markdown_blueprint_default
4
+ } from "./chunk-BMKFZ5WK.mjs";
5
+ import "./chunk-KG7JF7PJ.mjs";
6
+
7
+ // src/capabilities/blueprint-definition/blueprint-definition.ts
8
+ import * as Effect from "effect/Effect";
9
+ import { Capability } from "@dxos/app-framework";
10
+ import { AppCapabilities } from "@dxos/app-toolkit";
11
+ var blueprintDefinition = Capability.makeModule(() => Effect.succeed([
12
+ Capability.contributes(AppCapabilities.BlueprintDefinition, markdown_blueprint_default)
13
+ ]));
14
+ var blueprint_definition_default = blueprintDefinition;
15
+ export {
16
+ blueprint_definition_default as default
17
+ };
18
+ //# sourceMappingURL=blueprint-definition-SOC744SQ.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/blueprint-definition/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\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,IAAMC,sBAAsBC,WAAWC,WAGrC,MAAaC,eAAQ;EAACF,WAAWG,YAAYC,gBAAgBC,qBAAqBC,0BAAAA;CAAmB,CAAA;AAEvG,IAAA,+BAAeP;",
6
+ "names": ["Effect", "Capability", "AppCapabilities", "blueprintDefinition", "Capability", "makeModule", "succeed", "contributes", "AppCapabilities", "BlueprintDefinition", "MarkdownBlueprint"]
7
+ }
@@ -0,0 +1,9 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ markdown_blueprint_default
4
+ } from "../chunk-BMKFZ5WK.mjs";
5
+ import "../chunk-KG7JF7PJ.mjs";
6
+ export {
7
+ markdown_blueprint_default as MarkdownBlueprint
8
+ };
9
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,59 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ MarkdownEditor,
4
+ getContentSnippet
5
+ } from "./chunk-WJRTAU55.mjs";
6
+ import {
7
+ Markdown_exports,
8
+ meta
9
+ } from "./chunk-KG7JF7PJ.mjs";
10
+
11
+ // src/components/MarkdownCard/MarkdownCard.tsx
12
+ import React, { useMemo } from "react";
13
+ import { Obj } from "@dxos/echo";
14
+ import { useTranslation } from "@dxos/react-ui";
15
+ import { Card } from "@dxos/react-ui-mosaic";
16
+ import { Text } from "@dxos/schema";
17
+ var MarkdownCard = ({ subject }) => {
18
+ const { t } = useTranslation(meta.id);
19
+ const snippet = useMemo(() => getSnippet(subject), [
20
+ subject
21
+ ]);
22
+ const info = getInfo(subject);
23
+ return /* @__PURE__ */ React.createElement(Card.Content, null, snippet && /* @__PURE__ */ React.createElement(Card.Row, {
24
+ className: "max-h-[300px] overflow-hidden"
25
+ }, /* @__PURE__ */ React.createElement(MarkdownEditor.Root, {
26
+ id: subject.id,
27
+ viewMode: "readonly"
28
+ }, /* @__PURE__ */ React.createElement(MarkdownEditor.Content, {
29
+ initialValue: snippet,
30
+ slots: {},
31
+ classNames: "!bg-transparent"
32
+ }))), /* @__PURE__ */ React.createElement(Card.Row, null, /* @__PURE__ */ React.createElement(Card.Text, {
33
+ classNames: "text-xs text-description"
34
+ }, info.words, " ", t("words label", {
35
+ count: info.words
36
+ }))));
37
+ };
38
+ var getInfo = (subject) => {
39
+ const text = (Obj.instanceOf(Markdown_exports.Document, subject) ? subject.content?.target?.content : subject.content) ?? "";
40
+ return {
41
+ words: text.split(" ").length
42
+ };
43
+ };
44
+ var getSnippet = (subject, fallback) => {
45
+ if (Obj.instanceOf(Markdown_exports.Document, subject)) {
46
+ return Obj.getDescription(subject) || getContentSnippet(subject.content?.target?.content ?? fallback);
47
+ } else if (Obj.instanceOf(Text.Text, subject)) {
48
+ return getContentSnippet(subject.content ?? fallback);
49
+ }
50
+ };
51
+
52
+ // src/components/MarkdownCard/index.ts
53
+ var MarkdownCard_default = MarkdownCard;
54
+
55
+ export {
56
+ MarkdownCard,
57
+ MarkdownCard_default
58
+ };
59
+ //# sourceMappingURL=chunk-A5WB5WP7.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/MarkdownCard/MarkdownCard.tsx", "../../../src/components/MarkdownCard/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { Obj } from '@dxos/echo';\nimport { useTranslation } from '@dxos/react-ui';\nimport { Card } from '@dxos/react-ui-mosaic';\nimport { Text } from '@dxos/schema';\n\nimport { meta } from '../../meta';\nimport { Markdown } from '../../types';\nimport { getContentSnippet, getFallbackName } from '../../util';\nimport { MarkdownEditor } from '../MarkdownEditor';\n\nexport type MarkdownCardProps = { subject: Markdown.Document | Text.Text };\n\nexport const MarkdownCard = ({ subject }: MarkdownCardProps) => {\n const { t } = useTranslation(meta.id);\n const snippet = useMemo(() => getSnippet(subject), [subject]);\n const info = getInfo(subject);\n\n return (\n <Card.Content>\n {snippet && (\n <Card.Row className='max-h-[300px] overflow-hidden'>\n <MarkdownEditor.Root id={subject.id} viewMode='readonly'>\n <MarkdownEditor.Content initialValue={snippet} slots={{}} classNames='!bg-transparent' />\n </MarkdownEditor.Root>\n </Card.Row>\n )}\n <Card.Row>\n <Card.Text classNames='text-xs text-description'>\n {info.words} {t('words label', { count: info.words })}\n </Card.Text>\n </Card.Row>\n </Card.Content>\n );\n};\n\nconst getInfo = (subject: Markdown.Document | Text.Text) => {\n const text = (Obj.instanceOf(Markdown.Document, subject) ? subject.content?.target?.content : subject.content) ?? '';\n return { words: text.split(' ').length };\n};\n\n// TODO(burdon): Factor out.\nconst getTitle = (subject: Markdown.Document | Text.Text, fallback: string) => {\n if (Obj.instanceOf(Markdown.Document, subject)) {\n const title = Obj.getLabel(subject);\n return title ?? getFallbackName(subject.content?.target?.content ?? fallback);\n } else if (Obj.instanceOf(Text.Text, subject)) {\n return getFallbackName(subject.content);\n }\n};\n\n// TODO(burdon): Factor out.\nconst getSnippet = (subject: Markdown.Document | Text.Text, fallback?: string) => {\n if (Obj.instanceOf(Markdown.Document, subject)) {\n return Obj.getDescription(subject) || getContentSnippet(subject.content?.target?.content ?? fallback);\n } else if (Obj.instanceOf(Text.Text, subject)) {\n return getContentSnippet(subject.content ?? fallback);\n }\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { MarkdownCard } from './MarkdownCard';\n\nexport * from './MarkdownCard';\n\nexport default MarkdownCard;\n"],
5
+ "mappings": ";;;;;;;;;;;AAIA,OAAOA,SAASC,eAAe;AAE/B,SAASC,WAAW;AACpB,SAASC,sBAAsB;AAC/B,SAASC,YAAY;AACrB,SAASC,YAAY;AASd,IAAMC,eAAe,CAAC,EAAEC,QAAO,MAAqB;AACzD,QAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AACpC,QAAMC,UAAUC,QAAQ,MAAMC,WAAWP,OAAAA,GAAU;IAACA;GAAQ;AAC5D,QAAMQ,OAAOC,QAAQT,OAAAA;AAErB,SACE,sBAAA,cAACU,KAAKC,SAAO,MACVN,WACC,sBAAA,cAACK,KAAKE,KAAG;IAACC,WAAU;KAClB,sBAAA,cAACC,eAAeC,MAAI;IAACX,IAAIJ,QAAQI;IAAIY,UAAS;KAC5C,sBAAA,cAACF,eAAeH,SAAO;IAACM,cAAcZ;IAASa,OAAO,CAAC;IAAGC,YAAW;QAI3E,sBAAA,cAACT,KAAKE,KAAG,MACP,sBAAA,cAACF,KAAKU,MAAI;IAACD,YAAW;KACnBX,KAAKa,OAAM,KAAEpB,EAAE,eAAe;IAAEqB,OAAOd,KAAKa;EAAM,CAAA,CAAA,CAAA,CAAA;AAK7D;AAEA,IAAMZ,UAAU,CAACT,YAAAA;AACf,QAAMuB,QAAQC,IAAIC,WAAWC,iBAASC,UAAU3B,OAAAA,IAAWA,QAAQ4B,SAASC,QAAQD,UAAU5B,QAAQ4B,YAAY;AAClH,SAAO;IAAEP,OAAOE,KAAKO,MAAM,GAAA,EAAKC;EAAO;AACzC;AAaA,IAAMC,aAAa,CAACC,SAAwCC,aAAAA;AAC1D,MAAIC,IAAIC,WAAWC,iBAASC,UAAUL,OAAAA,GAAU;AAC9C,WAAOE,IAAII,eAAeN,OAAAA,KAAYO,kBAAkBP,QAAQQ,SAASC,QAAQD,WAAWP,QAAAA;EAC9F,WAAWC,IAAIC,WAAWO,KAAKA,MAAMV,OAAAA,GAAU;AAC7C,WAAOO,kBAAkBP,QAAQQ,WAAWP,QAAAA;EAC9C;AACF;;;ACvDA,IAAA,uBAAeU;",
6
+ "names": ["React", "useMemo", "Obj", "useTranslation", "Card", "Text", "MarkdownCard", "subject", "t", "useTranslation", "meta", "id", "snippet", "useMemo", "getSnippet", "info", "getInfo", "Card", "Content", "Row", "className", "MarkdownEditor", "Root", "viewMode", "initialValue", "slots", "classNames", "Text", "words", "count", "text", "Obj", "instanceOf", "Markdown", "Document", "content", "target", "split", "length", "getSnippet", "subject", "fallback", "Obj", "instanceOf", "Markdown", "Document", "getDescription", "getContentSnippet", "content", "target", "Text", "MarkdownCard"]
7
+ }
@@ -0,0 +1,179 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ Markdown_exports
4
+ } from "./chunk-KG7JF7PJ.mjs";
5
+
6
+ // src/blueprints/markdown-blueprint.ts
7
+ import { Blueprint, Template } from "@dxos/blueprints";
8
+ import { trim as trim2 } from "@dxos/util";
9
+
10
+ // src/blueprints/functions/create.ts
11
+ import * as Effect from "effect/Effect";
12
+ import * as Schema from "effect/Schema";
13
+ import { Obj } from "@dxos/echo";
14
+ import { defineFunction } from "@dxos/functions";
15
+ import { Collection } from "@dxos/schema";
16
+ var create_default = defineFunction({
17
+ key: "dxos.org/function/markdown/create",
18
+ name: "Create",
19
+ description: "Creates a new markdown document and adds it to the space.",
20
+ inputSchema: Schema.Struct({
21
+ name: Schema.String,
22
+ content: Schema.String
23
+ }),
24
+ outputSchema: Schema.Struct({
25
+ id: Schema.String.annotations({
26
+ description: "The DXN of the created document."
27
+ })
28
+ }),
29
+ handler: Effect.fn(function* ({ data: { name, content } }) {
30
+ const object = Markdown_exports.make({
31
+ name,
32
+ content
33
+ });
34
+ yield* Collection.add({
35
+ object
36
+ });
37
+ return {
38
+ id: Obj.getDXN(object).toString()
39
+ };
40
+ })
41
+ });
42
+
43
+ // src/blueprints/functions/open.ts
44
+ import * as Effect2 from "effect/Effect";
45
+ import * as Schema2 from "effect/Schema";
46
+ import { Database, Type } from "@dxos/echo";
47
+ import { defineFunction as defineFunction2 } from "@dxos/functions";
48
+ var open_default = defineFunction2({
49
+ key: "dxos.org/function/markdown/open",
50
+ name: "Open",
51
+ description: "Opens and reads the contents of a new markdown document.",
52
+ inputSchema: Schema2.Struct({
53
+ doc: Type.Ref(Markdown_exports.Document).annotations({
54
+ description: "The ID of the markdown document."
55
+ })
56
+ }),
57
+ outputSchema: Schema2.Struct({
58
+ content: Schema2.String
59
+ }),
60
+ handler: Effect2.fn(function* ({ data: { doc } }) {
61
+ const { content } = yield* doc.pipe(Database.load, Effect2.map((_) => _.content), Effect2.flatMap(Database.load));
62
+ return {
63
+ content
64
+ };
65
+ })
66
+ });
67
+
68
+ // src/blueprints/functions/update.ts
69
+ import { next as A } from "@automerge/automerge";
70
+ import * as Effect3 from "effect/Effect";
71
+ import * as Schema3 from "effect/Schema";
72
+ import { Database as Database2, Type as Type2 } from "@dxos/echo";
73
+ import { DocAccessor, createDocAccessor } from "@dxos/echo-db";
74
+ import { defineFunction as defineFunction3 } from "@dxos/functions";
75
+ import { trim } from "@dxos/util";
76
+ var Edit = Schema3.Struct({
77
+ oldString: Schema3.String.annotations({
78
+ description: "The text to find in the document."
79
+ }),
80
+ newString: Schema3.String.annotations({
81
+ description: "The text to replace it with."
82
+ }),
83
+ replaceAll: Schema3.optional(Schema3.Boolean).annotations({
84
+ description: "If true, replaces all occurrences. Defaults to false (first occurrence only)."
85
+ })
86
+ });
87
+ var update_default = defineFunction3({
88
+ key: "dxos.org/function/markdown/update",
89
+ name: "Update",
90
+ description: trim`
91
+ Applies a set of edits to the markdown document.
92
+ `,
93
+ inputSchema: Schema3.Struct({
94
+ doc: Type2.Ref(Markdown_exports.Document).annotations({
95
+ description: "The ID of the markdown document."
96
+ }),
97
+ edits: Schema3.Array(Edit).annotations({
98
+ description: "The edits to apply to the document. Each edit finds oldString and replaces it with newString."
99
+ })
100
+ }),
101
+ outputSchema: Schema3.Struct({
102
+ newContent: Schema3.String
103
+ }),
104
+ handler: Effect3.fn(function* ({ data: { doc, edits } }) {
105
+ const content = yield* doc.pipe(Database2.load, Effect3.map((_) => _.content), Effect3.flatMap(Database2.load));
106
+ const accessor = createDocAccessor(content, [
107
+ "content"
108
+ ]);
109
+ for (const edit of edits) {
110
+ accessor.handle.change((doc2) => {
111
+ const text = DocAccessor.getValue(accessor);
112
+ if (edit.replaceAll) {
113
+ let idx = text.indexOf(edit.oldString);
114
+ while (idx !== -1) {
115
+ A.splice(doc2, accessor.path, idx, edit.oldString.length, edit.newString);
116
+ const updated = DocAccessor.getValue(accessor);
117
+ idx = updated.indexOf(edit.oldString, idx + edit.newString.length);
118
+ }
119
+ } else {
120
+ const idx = text.indexOf(edit.oldString);
121
+ if (idx === -1) {
122
+ throw new Error(`Edit not found: ${JSON.stringify(edit.oldString)}`);
123
+ }
124
+ A.splice(doc2, accessor.path, idx, edit.oldString.length, edit.newString);
125
+ }
126
+ });
127
+ }
128
+ return {
129
+ newContent: DocAccessor.getValue(accessor)
130
+ };
131
+ })
132
+ });
133
+
134
+ // src/blueprints/functions/index.ts
135
+ var MarkdownFunctions = {
136
+ Create: create_default,
137
+ Open: open_default,
138
+ Update: update_default
139
+ };
140
+
141
+ // src/blueprints/markdown-blueprint.ts
142
+ var BLUEPRINT_KEY = "dxos.org/blueprint/markdown";
143
+ var functions = Object.values(MarkdownFunctions);
144
+ var make = () => Blueprint.make({
145
+ key: BLUEPRINT_KEY,
146
+ name: "Markdown",
147
+ tools: Blueprint.toolDefinitions({
148
+ functions
149
+ }),
150
+ instructions: Template.make({
151
+ // TODO(wittjosiah): Move example to function input schema annotation.
152
+ source: trim2`
153
+ {{! Markdown }}
154
+
155
+ You can create, read and update markdown documents.
156
+ When asked to edit or update documents return updates as a set of compact diff string pairs.
157
+ For each diff, respond with the smallest possible matching span.
158
+
159
+ Example:
160
+ ${"```"}diff
161
+ - "There is a tyop in this sentence."
162
+ + "There is a typo in this sentence."
163
+ - "This id good."
164
+ + "This sentence is really good."
165
+ ${"```"}
166
+ `
167
+ })
168
+ });
169
+ var blueprint = {
170
+ key: BLUEPRINT_KEY,
171
+ functions,
172
+ make
173
+ };
174
+ var markdown_blueprint_default = blueprint;
175
+
176
+ export {
177
+ markdown_blueprint_default
178
+ };
179
+ //# sourceMappingURL=chunk-BMKFZ5WK.mjs.map