@dxos/plugin-markdown 0.8.4-main.1da679c → 0.8.4-main.21d9917

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-HFNNE4B4.mjs +12 -0
  2. package/dist/lib/browser/MarkdownContainer-V7EAADMF.mjs +12 -0
  3. package/dist/lib/browser/anchor-sort-WQ3TL7ZI.mjs +32 -0
  4. package/dist/lib/browser/anchor-sort-WQ3TL7ZI.mjs.map +7 -0
  5. package/dist/lib/browser/app-graph-serializer-ULZUJKOD.mjs +58 -0
  6. package/dist/lib/browser/app-graph-serializer-ULZUJKOD.mjs.map +7 -0
  7. package/dist/lib/browser/blueprint-definition-TLV4PNZW.mjs +19 -0
  8. package/dist/lib/browser/blueprint-definition-TLV4PNZW.mjs.map +7 -0
  9. package/dist/lib/browser/blueprints/index.mjs +8 -0
  10. package/dist/lib/browser/blueprints/index.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-BX73DASG.mjs +702 -0
  12. package/dist/lib/browser/chunk-BX73DASG.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-CUGDX7KA.mjs +8 -0
  14. package/dist/lib/browser/chunk-CUGDX7KA.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-FWQQW6KU.mjs +144 -0
  16. package/dist/lib/browser/chunk-FWQQW6KU.mjs.map +7 -0
  17. package/dist/lib/browser/{chunk-Z7P6JGGW.mjs → chunk-JOXYQLKH.mjs} +9 -7
  18. package/dist/lib/browser/chunk-JOXYQLKH.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-KDKXFKDN.mjs +104 -0
  20. package/dist/lib/browser/chunk-KDKXFKDN.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-LMO5UVKL.mjs +167 -0
  22. package/dist/lib/browser/chunk-LMO5UVKL.mjs.map +7 -0
  23. package/dist/lib/browser/chunk-S45ULIOG.mjs +101 -0
  24. package/dist/lib/browser/chunk-S45ULIOG.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-VQ3WOAB6.mjs +60 -0
  26. package/dist/lib/browser/chunk-VQ3WOAB6.mjs.map +7 -0
  27. package/dist/lib/browser/cli/index.mjs +32 -0
  28. package/dist/lib/browser/cli/index.mjs.map +7 -0
  29. package/dist/lib/browser/index.mjs +124 -145
  30. package/dist/lib/browser/index.mjs.map +4 -4
  31. package/dist/lib/browser/meta.json +1 -1
  32. package/dist/lib/browser/operation-resolver-EGCWOQKJ.mjs +53 -0
  33. package/dist/lib/browser/operation-resolver-EGCWOQKJ.mjs.map +7 -0
  34. package/dist/lib/browser/react-surface-64FZ7T7F.mjs +213 -0
  35. package/dist/lib/browser/react-surface-64FZ7T7F.mjs.map +7 -0
  36. package/dist/lib/browser/settings-JY5JE7MI.mjs +35 -0
  37. package/dist/lib/browser/settings-JY5JE7MI.mjs.map +7 -0
  38. package/dist/lib/browser/state-QE7VSJWJ.mjs +29 -0
  39. package/dist/lib/browser/state-QE7VSJWJ.mjs.map +7 -0
  40. package/dist/lib/browser/types/index.mjs +10 -3
  41. package/dist/lib/node-esm/MarkdownCard-GMNXUWWR.mjs +13 -0
  42. package/dist/lib/node-esm/MarkdownCard-GMNXUWWR.mjs.map +7 -0
  43. package/dist/lib/node-esm/MarkdownContainer-LUSMORP2.mjs +13 -0
  44. package/dist/lib/node-esm/MarkdownContainer-LUSMORP2.mjs.map +7 -0
  45. package/dist/lib/node-esm/{anchor-sort-J2BK2XLZ.mjs → anchor-sort-G7D5TAI6.mjs} +12 -12
  46. package/dist/lib/node-esm/anchor-sort-G7D5TAI6.mjs.map +7 -0
  47. package/dist/lib/node-esm/app-graph-serializer-W5YMQP7P.mjs +59 -0
  48. package/dist/lib/node-esm/app-graph-serializer-W5YMQP7P.mjs.map +7 -0
  49. package/dist/lib/node-esm/blueprint-definition-HYFA7BKQ.mjs +20 -0
  50. package/dist/lib/node-esm/blueprint-definition-HYFA7BKQ.mjs.map +7 -0
  51. package/dist/lib/node-esm/blueprints/index.mjs +9 -0
  52. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  53. package/dist/lib/node-esm/chunk-3JYPCC7M.mjs +105 -0
  54. package/dist/lib/node-esm/chunk-3JYPCC7M.mjs.map +7 -0
  55. package/dist/lib/node-esm/{chunk-J7A6TUB2.mjs → chunk-44VJC3QF.mjs} +9 -7
  56. package/dist/lib/node-esm/chunk-44VJC3QF.mjs.map +7 -0
  57. package/dist/lib/node-esm/chunk-D4BCFPKK.mjs +703 -0
  58. package/dist/lib/node-esm/chunk-D4BCFPKK.mjs.map +7 -0
  59. package/dist/lib/node-esm/chunk-EYAFC4N7.mjs +145 -0
  60. package/dist/lib/node-esm/chunk-EYAFC4N7.mjs.map +7 -0
  61. package/dist/lib/node-esm/chunk-KXEQCFMB.mjs +61 -0
  62. package/dist/lib/node-esm/chunk-KXEQCFMB.mjs.map +7 -0
  63. package/dist/lib/node-esm/chunk-PRV35A7Z.mjs +168 -0
  64. package/dist/lib/node-esm/chunk-PRV35A7Z.mjs.map +7 -0
  65. package/dist/lib/node-esm/chunk-SDTYEGGL.mjs +102 -0
  66. package/dist/lib/node-esm/chunk-SDTYEGGL.mjs.map +7 -0
  67. package/dist/lib/node-esm/chunk-W3IIKDV5.mjs +10 -0
  68. package/dist/lib/node-esm/chunk-W3IIKDV5.mjs.map +7 -0
  69. package/dist/lib/node-esm/cli/index.mjs +33 -0
  70. package/dist/lib/node-esm/cli/index.mjs.map +7 -0
  71. package/dist/lib/node-esm/index.mjs +124 -145
  72. package/dist/lib/node-esm/index.mjs.map +4 -4
  73. package/dist/lib/node-esm/meta.json +1 -1
  74. package/dist/lib/node-esm/operation-resolver-2HIS2AQZ.mjs +54 -0
  75. package/dist/lib/node-esm/operation-resolver-2HIS2AQZ.mjs.map +7 -0
  76. package/dist/lib/node-esm/react-surface-PKEVHTJK.mjs +214 -0
  77. package/dist/lib/node-esm/react-surface-PKEVHTJK.mjs.map +7 -0
  78. package/dist/lib/node-esm/settings-4UGMPIRY.mjs +36 -0
  79. package/dist/lib/node-esm/settings-4UGMPIRY.mjs.map +7 -0
  80. package/dist/lib/node-esm/state-LXE5XIN4.mjs +30 -0
  81. package/dist/lib/node-esm/state-LXE5XIN4.mjs.map +7 -0
  82. package/dist/lib/node-esm/types/index.mjs +10 -3
  83. package/dist/types/src/MarkdownPlugin.d.ts +2 -1
  84. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  85. package/dist/types/src/blueprints/functions/create.d.ts +8 -0
  86. package/dist/types/src/blueprints/functions/create.d.ts.map +1 -0
  87. package/dist/types/src/blueprints/functions/create.test.d.ts +2 -0
  88. package/dist/types/src/blueprints/functions/create.test.d.ts.map +1 -0
  89. package/dist/types/src/blueprints/functions/index.d.ts +4 -0
  90. package/dist/types/src/blueprints/functions/index.d.ts.map +1 -0
  91. package/dist/types/src/{functions → blueprints/functions}/open.d.ts +1 -1
  92. package/dist/types/src/blueprints/functions/open.d.ts.map +1 -0
  93. package/dist/types/src/{functions/diff.d.ts → blueprints/functions/update.d.ts} +2 -2
  94. package/dist/types/src/blueprints/functions/update.d.ts.map +1 -0
  95. package/dist/types/src/blueprints/functions/update.test.d.ts +2 -0
  96. package/dist/types/src/blueprints/functions/update.test.d.ts.map +1 -0
  97. package/dist/types/src/blueprints/index.d.ts +2 -0
  98. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  99. package/dist/types/src/blueprints/markdown-blueprint.d.ts +21 -0
  100. package/dist/types/src/blueprints/markdown-blueprint.d.ts.map +1 -0
  101. package/dist/types/src/capabilities/anchor-sort/anchor-sort.d.ts +5 -0
  102. package/dist/types/src/capabilities/anchor-sort/anchor-sort.d.ts.map +1 -0
  103. package/dist/types/src/capabilities/anchor-sort/index.d.ts +3 -0
  104. package/dist/types/src/capabilities/anchor-sort/index.d.ts.map +1 -0
  105. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts +5 -0
  106. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts.map +1 -0
  107. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts +3 -0
  108. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts.map +1 -0
  109. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts +5 -0
  110. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts.map +1 -0
  111. package/dist/types/src/capabilities/artifact-definition/index.d.ts +3 -0
  112. package/dist/types/src/capabilities/artifact-definition/index.d.ts.map +1 -0
  113. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +10 -0
  114. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
  115. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +3 -0
  116. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
  117. package/dist/types/src/capabilities/index.d.ts +6 -17
  118. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  119. package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
  120. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  121. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
  122. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  123. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  124. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  125. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  126. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  127. package/dist/types/src/capabilities/settings/index.d.ts +3 -0
  128. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  129. package/dist/types/src/capabilities/settings/settings.d.ts +6 -0
  130. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  131. package/dist/types/src/capabilities/state/index.d.ts +3 -0
  132. package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
  133. package/dist/types/src/capabilities/state/state.d.ts +5 -0
  134. package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
  135. package/dist/types/src/cli/index.d.ts +2 -0
  136. package/dist/types/src/cli/index.d.ts.map +1 -0
  137. package/dist/types/src/cli/plugin.d.ts +3 -0
  138. package/dist/types/src/cli/plugin.d.ts.map +1 -0
  139. package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts +5 -4
  140. package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts.map +1 -1
  141. package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts +5 -6
  142. package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts.map +1 -1
  143. package/dist/types/src/components/MarkdownContainer.d.ts +21 -11
  144. package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
  145. package/dist/types/src/components/MarkdownContainer.stories.d.ts +9 -6
  146. package/dist/types/src/components/MarkdownContainer.stories.d.ts.map +1 -1
  147. package/dist/types/src/components/MarkdownEditor/FileUpload.d.ts +11 -0
  148. package/dist/types/src/components/MarkdownEditor/FileUpload.d.ts.map +1 -0
  149. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +43 -23
  150. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
  151. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts +5 -110
  152. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts.map +1 -1
  153. package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts +30 -0
  154. package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts.map +1 -0
  155. package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts +12 -0
  156. package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts.map +1 -0
  157. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts +4 -2
  158. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts.map +1 -1
  159. package/dist/types/src/components/Suggestions.stories.d.ts +1 -2
  160. package/dist/types/src/components/Suggestions.stories.d.ts.map +1 -1
  161. package/dist/types/src/components/index.d.ts +7 -2
  162. package/dist/types/src/components/index.d.ts.map +1 -1
  163. package/dist/types/src/hooks/index.d.ts +3 -0
  164. package/dist/types/src/hooks/index.d.ts.map +1 -1
  165. package/dist/types/src/hooks/useEditorMenuOptions.d.ts +9 -0
  166. package/dist/types/src/hooks/useEditorMenuOptions.d.ts.map +1 -0
  167. package/dist/types/src/hooks/useExtensions.d.ts +21 -0
  168. package/dist/types/src/hooks/useExtensions.d.ts.map +1 -0
  169. package/dist/types/src/hooks/useLinkQuery.d.ts +4 -0
  170. package/dist/types/src/hooks/useLinkQuery.d.ts.map +1 -0
  171. package/dist/types/src/hooks/useSelectCurrentThread.d.ts +1 -1
  172. package/dist/types/src/hooks/useSelectCurrentThread.d.ts.map +1 -1
  173. package/dist/types/src/index.d.ts +1 -2
  174. package/dist/types/src/index.d.ts.map +1 -1
  175. package/dist/types/src/meta.d.ts +2 -2
  176. package/dist/types/src/meta.d.ts.map +1 -1
  177. package/dist/types/src/testing.d.ts +6 -0
  178. package/dist/types/src/testing.d.ts.map +1 -0
  179. package/dist/types/src/translations.d.ts +4 -0
  180. package/dist/types/src/translations.d.ts.map +1 -1
  181. package/dist/types/src/types/Markdown.d.ts +17 -15
  182. package/dist/types/src/types/Markdown.d.ts.map +1 -1
  183. package/dist/types/src/types/MarkdownAction.d.ts +64 -31
  184. package/dist/types/src/types/MarkdownAction.d.ts.map +1 -1
  185. package/dist/types/src/types/capabilities.d.ts +22 -0
  186. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  187. package/dist/types/src/types/events.d.ts +5 -0
  188. package/dist/types/src/types/events.d.ts.map +1 -0
  189. package/dist/types/src/types/index.d.ts +3 -0
  190. package/dist/types/src/types/index.d.ts.map +1 -1
  191. package/dist/types/src/types/types.d.ts +2 -2
  192. package/dist/types/src/types/types.d.ts.map +1 -1
  193. package/dist/types/src/util.d.ts +6 -3
  194. package/dist/types/src/util.d.ts.map +1 -1
  195. package/dist/types/src/util.test.d.ts +2 -0
  196. package/dist/types/src/util.test.d.ts.map +1 -0
  197. package/dist/types/tsconfig.tsbuildinfo +1 -1
  198. package/package.json +89 -58
  199. package/src/MarkdownPlugin.tsx +79 -110
  200. package/src/blueprints/functions/create.conversations.json +1 -0
  201. package/src/blueprints/functions/create.test.ts +125 -0
  202. package/src/blueprints/functions/create.ts +34 -0
  203. package/src/blueprints/functions/index.ts +7 -0
  204. package/src/{functions → blueprints/functions}/open.ts +8 -5
  205. package/src/blueprints/functions/update.conversations.json +1 -0
  206. package/src/blueprints/functions/update.test.ts +149 -0
  207. package/src/{functions/diff.ts → blueprints/functions/update.ts} +8 -5
  208. package/src/blueprints/index.ts +5 -0
  209. package/src/blueprints/markdown-blueprint.ts +38 -0
  210. package/src/capabilities/anchor-sort/anchor-sort.ts +36 -0
  211. package/src/capabilities/anchor-sort/index.ts +7 -0
  212. package/src/capabilities/app-graph-serializer/app-graph-serializer.ts +59 -0
  213. package/src/capabilities/app-graph-serializer/index.ts +7 -0
  214. package/src/capabilities/artifact-definition/artifact-definition.ts +110 -0
  215. package/src/capabilities/artifact-definition/index.ts +7 -0
  216. package/src/capabilities/blueprint-definition/blueprint-definition.ts +25 -0
  217. package/src/capabilities/blueprint-definition/index.ts +7 -0
  218. package/src/capabilities/index.ts +6 -12
  219. package/src/capabilities/operation-resolver/index.ts +7 -0
  220. package/src/capabilities/operation-resolver/operation-resolver.ts +45 -0
  221. package/src/capabilities/react-surface/index.ts +7 -0
  222. package/src/capabilities/react-surface/react-surface.tsx +100 -0
  223. package/src/capabilities/settings/index.ts +7 -0
  224. package/src/capabilities/settings/settings.ts +36 -0
  225. package/src/capabilities/state/index.ts +7 -0
  226. package/src/capabilities/state/state.ts +31 -0
  227. package/src/cli/index.ts +5 -0
  228. package/src/cli/plugin.ts +29 -0
  229. package/src/components/MarkdownCard/MarkdownCard.stories.tsx +28 -49
  230. package/src/components/MarkdownCard/MarkdownCard.tsx +42 -55
  231. package/src/components/MarkdownContainer.stories.tsx +70 -58
  232. package/src/components/MarkdownContainer.tsx +104 -249
  233. package/src/components/MarkdownEditor/FileUpload.tsx +63 -0
  234. package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +55 -36
  235. package/src/components/MarkdownEditor/MarkdownEditor.tsx +221 -271
  236. package/src/components/MarkdownEditor/MarkdownEditorContent.tsx +162 -0
  237. package/src/components/MarkdownEditor/MarkdownEditorToolbar.tsx +66 -0
  238. package/src/components/MarkdownSettings/MarkdownSettings.tsx +24 -10
  239. package/src/components/Suggestions.stories.tsx +51 -54
  240. package/src/components/index.ts +10 -3
  241. package/src/hooks/index.ts +3 -0
  242. package/src/hooks/useEditorMenuOptions.ts +68 -0
  243. package/src/{extensions.tsx → hooks/useExtensions.tsx} +72 -98
  244. package/src/hooks/useLinkQuery.ts +83 -0
  245. package/src/hooks/useSelectCurrentThread.tsx +38 -33
  246. package/src/index.ts +1 -2
  247. package/src/meta.ts +5 -5
  248. package/src/testing.ts +27 -0
  249. package/src/translations.ts +4 -0
  250. package/src/types/Markdown.ts +11 -10
  251. package/src/types/MarkdownAction.ts +49 -19
  252. package/src/types/capabilities.ts +38 -0
  253. package/src/types/events.ts +13 -0
  254. package/src/types/index.ts +4 -0
  255. package/src/types/types.ts +3 -2
  256. package/src/util.test.ts +44 -0
  257. package/src/util.tsx +82 -7
  258. package/dist/lib/browser/MarkdownCard-JLUQITYK.mjs +0 -80
  259. package/dist/lib/browser/MarkdownCard-JLUQITYK.mjs.map +0 -7
  260. package/dist/lib/browser/MarkdownContainer-OZ5DHEIA.mjs +0 -750
  261. package/dist/lib/browser/MarkdownContainer-OZ5DHEIA.mjs.map +0 -7
  262. package/dist/lib/browser/anchor-sort-SUD373SW.mjs +0 -32
  263. package/dist/lib/browser/anchor-sort-SUD373SW.mjs.map +0 -7
  264. package/dist/lib/browser/app-graph-serializer-GH7JJZB7.mjs +0 -51
  265. package/dist/lib/browser/app-graph-serializer-GH7JJZB7.mjs.map +0 -7
  266. package/dist/lib/browser/blueprint-definition-JSNGFAZB.mjs +0 -11
  267. package/dist/lib/browser/chunk-BEE7VQPU.mjs +0 -78
  268. package/dist/lib/browser/chunk-BEE7VQPU.mjs.map +0 -7
  269. package/dist/lib/browser/chunk-LAVZ2W6X.mjs +0 -50
  270. package/dist/lib/browser/chunk-LAVZ2W6X.mjs.map +0 -7
  271. package/dist/lib/browser/chunk-ODB2PTBP.mjs +0 -28
  272. package/dist/lib/browser/chunk-ODB2PTBP.mjs.map +0 -7
  273. package/dist/lib/browser/chunk-OY6CGPOO.mjs +0 -16
  274. package/dist/lib/browser/chunk-OY6CGPOO.mjs.map +0 -7
  275. package/dist/lib/browser/chunk-SQLSKQRQ.mjs +0 -22
  276. package/dist/lib/browser/chunk-SQLSKQRQ.mjs.map +0 -7
  277. package/dist/lib/browser/chunk-UM2GILLR.mjs +0 -102
  278. package/dist/lib/browser/chunk-UM2GILLR.mjs.map +0 -7
  279. package/dist/lib/browser/chunk-Z7P6JGGW.mjs.map +0 -7
  280. package/dist/lib/browser/intent-resolver-SUBIHVU7.mjs +0 -62
  281. package/dist/lib/browser/intent-resolver-SUBIHVU7.mjs.map +0 -7
  282. package/dist/lib/browser/react-surface-JBQHF4GR.mjs +0 -215
  283. package/dist/lib/browser/react-surface-JBQHF4GR.mjs.map +0 -7
  284. package/dist/lib/browser/settings-T5ZMC5TH.mjs +0 -28
  285. package/dist/lib/browser/settings-T5ZMC5TH.mjs.map +0 -7
  286. package/dist/lib/browser/state-6QODXCSZ.mjs +0 -37
  287. package/dist/lib/browser/state-6QODXCSZ.mjs.map +0 -7
  288. package/dist/lib/browser/toolkit-GNADYSGW.mjs +0 -74
  289. package/dist/lib/browser/toolkit-GNADYSGW.mjs.map +0 -7
  290. package/dist/lib/node-esm/MarkdownCard-XL5EVSJ7.mjs +0 -81
  291. package/dist/lib/node-esm/MarkdownCard-XL5EVSJ7.mjs.map +0 -7
  292. package/dist/lib/node-esm/MarkdownContainer-Z4I23DPN.mjs +0 -751
  293. package/dist/lib/node-esm/MarkdownContainer-Z4I23DPN.mjs.map +0 -7
  294. package/dist/lib/node-esm/anchor-sort-J2BK2XLZ.mjs.map +0 -7
  295. package/dist/lib/node-esm/app-graph-serializer-LRYCXG7N.mjs +0 -52
  296. package/dist/lib/node-esm/app-graph-serializer-LRYCXG7N.mjs.map +0 -7
  297. package/dist/lib/node-esm/blueprint-definition-KX3Y5JHC.mjs +0 -12
  298. package/dist/lib/node-esm/chunk-CB2R4YIY.mjs +0 -17
  299. package/dist/lib/node-esm/chunk-CB2R4YIY.mjs.map +0 -7
  300. package/dist/lib/node-esm/chunk-FXILAQ5F.mjs +0 -79
  301. package/dist/lib/node-esm/chunk-FXILAQ5F.mjs.map +0 -7
  302. package/dist/lib/node-esm/chunk-J7A6TUB2.mjs.map +0 -7
  303. package/dist/lib/node-esm/chunk-KAXL7TWD.mjs +0 -103
  304. package/dist/lib/node-esm/chunk-KAXL7TWD.mjs.map +0 -7
  305. package/dist/lib/node-esm/chunk-MJZPYYIH.mjs +0 -24
  306. package/dist/lib/node-esm/chunk-MJZPYYIH.mjs.map +0 -7
  307. package/dist/lib/node-esm/chunk-O6EXWGGS.mjs +0 -51
  308. package/dist/lib/node-esm/chunk-O6EXWGGS.mjs.map +0 -7
  309. package/dist/lib/node-esm/chunk-VCG2U522.mjs +0 -29
  310. package/dist/lib/node-esm/chunk-VCG2U522.mjs.map +0 -7
  311. package/dist/lib/node-esm/intent-resolver-YZEGYWGA.mjs +0 -63
  312. package/dist/lib/node-esm/intent-resolver-YZEGYWGA.mjs.map +0 -7
  313. package/dist/lib/node-esm/react-surface-JOXUHXQJ.mjs +0 -216
  314. package/dist/lib/node-esm/react-surface-JOXUHXQJ.mjs.map +0 -7
  315. package/dist/lib/node-esm/settings-LGG22OH4.mjs +0 -29
  316. package/dist/lib/node-esm/settings-LGG22OH4.mjs.map +0 -7
  317. package/dist/lib/node-esm/state-W3PECOJX.mjs +0 -38
  318. package/dist/lib/node-esm/state-W3PECOJX.mjs.map +0 -7
  319. package/dist/lib/node-esm/toolkit-ZCFWOGNH.mjs +0 -75
  320. package/dist/lib/node-esm/toolkit-ZCFWOGNH.mjs.map +0 -7
  321. package/dist/types/src/capabilities/anchor-sort.d.ts +0 -6
  322. package/dist/types/src/capabilities/anchor-sort.d.ts.map +0 -1
  323. package/dist/types/src/capabilities/app-graph-serializer.d.ts +0 -4
  324. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +0 -1
  325. package/dist/types/src/capabilities/artifact-definition.d.ts +0 -3
  326. package/dist/types/src/capabilities/artifact-definition.d.ts.map +0 -1
  327. package/dist/types/src/capabilities/blueprint-definition.d.ts +0 -5
  328. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +0 -1
  329. package/dist/types/src/capabilities/capabilities.d.ts +0 -12
  330. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  331. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  332. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  333. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  334. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  335. package/dist/types/src/capabilities/settings.d.ts +0 -4
  336. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  337. package/dist/types/src/capabilities/state.d.ts +0 -11
  338. package/dist/types/src/capabilities/state.d.ts.map +0 -1
  339. package/dist/types/src/capabilities/toolkit.d.ts +0 -4
  340. package/dist/types/src/capabilities/toolkit.d.ts.map +0 -1
  341. package/dist/types/src/components/Toolbar.stories.d.ts +0 -48
  342. package/dist/types/src/components/Toolbar.stories.d.ts.map +0 -1
  343. package/dist/types/src/events.d.ts +0 -4
  344. package/dist/types/src/events.d.ts.map +0 -1
  345. package/dist/types/src/extensions.d.ts +0 -22
  346. package/dist/types/src/extensions.d.ts.map +0 -1
  347. package/dist/types/src/functions/diff.d.ts.map +0 -1
  348. package/dist/types/src/functions/index.d.ts +0 -3
  349. package/dist/types/src/functions/index.d.ts.map +0 -1
  350. package/dist/types/src/functions/open.d.ts.map +0 -1
  351. package/src/capabilities/anchor-sort.ts +0 -30
  352. package/src/capabilities/app-graph-serializer.ts +0 -54
  353. package/src/capabilities/artifact-definition.ts +0 -111
  354. package/src/capabilities/blueprint-definition.ts +0 -39
  355. package/src/capabilities/capabilities.ts +0 -21
  356. package/src/capabilities/intent-resolver.ts +0 -57
  357. package/src/capabilities/react-surface.tsx +0 -115
  358. package/src/capabilities/settings.ts +0 -25
  359. package/src/capabilities/state.ts +0 -31
  360. package/src/capabilities/toolkit.ts +0 -47
  361. package/src/components/Toolbar.stories.tsx +0 -118
  362. package/src/events.ts +0 -11
  363. package/src/functions/index.ts +0 -6
  364. /package/dist/lib/browser/{blueprint-definition-JSNGFAZB.mjs.map → MarkdownCard-HFNNE4B4.mjs.map} +0 -0
  365. /package/dist/lib/{node-esm/blueprint-definition-KX3Y5JHC.mjs.map → browser/MarkdownContainer-V7EAADMF.mjs.map} +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/blueprint-definition.ts", "../../../src/functions/diff.ts", "../../../src/functions/open.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, type Capability, contributes } from '@dxos/app-framework';\nimport { Blueprint, Template } from '@dxos/blueprints';\nimport { type FunctionDefinition } from '@dxos/functions';\nimport { trim } from '@dxos/util';\n\nimport { diff, open } from '../functions';\n\nconst functions: FunctionDefinition[] = [diff, open];\nconst tools = ['add-proposals', 'create-document'];\n\nexport const BLUEPRINT_KEY = 'dxos.org/blueprint/markdown';\n\nexport default (): Capability<any>[] => [\n contributes(Capabilities.Functions, functions),\n contributes(\n Capabilities.BlueprintDefinition,\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Markdown',\n tools: Blueprint.toolDefinitions({ functions, tools }),\n instructions: Template.make({\n source: trim`\n You can create 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 For example:\n - \"There is a tyop in this sentence.\"\n + \"There is a typo in this sentence.\"\n - \"This id goof.\"\n + \"This is good.\"\n `,\n }),\n }),\n ),\n];\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Effect, Schema } from 'effect';\n\nimport { ArtifactId, applyDiffs } from '@dxos/assistant';\nimport { createDocAccessor } from '@dxos/echo-db';\nimport { DatabaseService, defineFunction } from '@dxos/functions';\nimport { trim } from '@dxos/util';\n\nimport { Markdown } from '../types';\n\n// TODO(wittjosiah): Reconcile with ThreadAction.AddProposal.\nexport default defineFunction({\n name: 'dxos.org/function/markdown/diff',\n description: trim`\n Applies a set of diffs to the markdown document.\n `,\n inputSchema: Schema.Struct({\n id: ArtifactId.annotations({\n description: 'The ID of the markdown document.',\n }),\n diffs: Schema.Array(Schema.String).annotations({\n description: 'The diffs to apply to the document.',\n }),\n }),\n outputSchema: Schema.Void,\n handler: Effect.fn(function* ({ data: { id, diffs } }) {\n const object = yield* DatabaseService.resolve(ArtifactId.toDXN(id), Markdown.Document);\n const content = yield* Effect.promise(() => object.content.load());\n const accessor = createDocAccessor(content, ['content']);\n applyDiffs(accessor, diffs);\n }),\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Effect, Schema } from 'effect';\n\nimport { ArtifactId } from '@dxos/assistant';\nimport { DatabaseService, defineFunction } from '@dxos/functions';\n\nimport { Markdown } from '../types';\n\nexport default defineFunction({\n name: 'dxos.org/function/markdown/open',\n description: 'Opens and reads the contents of a new markdown document.',\n inputSchema: Schema.Struct({\n id: ArtifactId.annotations({\n description: 'The ID of the markdown document.',\n }),\n }),\n outputSchema: Schema.Struct({\n content: Schema.String,\n }),\n handler: Effect.fn(function* ({ data: { id } }) {\n const object = yield* DatabaseService.resolve(ArtifactId.toDXN(id), Markdown.Document);\n const { content } = yield* Effect.promise(() => object.content.load());\n return {\n content,\n };\n }),\n});\n"],
5
- "mappings": ";;;;;AAIA,SAASA,cAA+BC,mBAAmB;AAC3D,SAASC,WAAWC,gBAAgB;AAEpC,SAASC,QAAAA,aAAY;;;ACHrB,SAASC,QAAQC,cAAc;AAE/B,SAASC,YAAYC,kBAAkB;AACvC,SAASC,yBAAyB;AAClC,SAASC,iBAAiBC,sBAAsB;AAChD,SAASC,YAAY;AAKrB,IAAA,eAAeC,eAAe;EAC5BC,MAAM;EACNC,aAAaC;;;EAGbC,aAAaC,OAAOC,OAAO;IACzBC,IAAIC,WAAWC,YAAY;MACzBP,aAAa;IACf,CAAA;IACAQ,OAAOL,OAAOM,MAAMN,OAAOO,MAAM,EAAEH,YAAY;MAC7CP,aAAa;IACf,CAAA;EACF,CAAA;EACAW,cAAcR,OAAOS;EACrBC,SAASC,OAAOC,GAAG,WAAW,EAAEC,MAAM,EAAEX,IAAIG,MAAK,EAAE,GAAE;AACnD,UAAMS,SAAS,OAAOC,gBAAgBC,QAAQb,WAAWc,MAAMf,EAAAA,GAAKgB,iBAASC,QAAQ;AACrF,UAAMC,UAAU,OAAOT,OAAOU,QAAQ,MAAMP,OAAOM,QAAQE,KAAI,CAAA;AAC/D,UAAMC,WAAWC,kBAAkBJ,SAAS;MAAC;KAAU;AACvDK,eAAWF,UAAUlB,KAAAA;EACvB,CAAA;AACF,CAAA;;;AC9BA,SAASqB,UAAAA,SAAQC,UAAAA,eAAc;AAE/B,SAASC,cAAAA,mBAAkB;AAC3B,SAASC,mBAAAA,kBAAiBC,kBAAAA,uBAAsB;AAIhD,IAAA,eAAeC,gBAAe;EAC5BC,MAAM;EACNC,aAAa;EACbC,aAAaC,QAAOC,OAAO;IACzBC,IAAIC,YAAWC,YAAY;MACzBN,aAAa;IACf,CAAA;EACF,CAAA;EACAO,cAAcL,QAAOC,OAAO;IAC1BK,SAASN,QAAOO;EAClB,CAAA;EACAC,SAASC,QAAOC,GAAG,WAAW,EAAEC,MAAM,EAAET,GAAE,EAAE,GAAE;AAC5C,UAAMU,SAAS,OAAOC,iBAAgBC,QAAQX,YAAWY,MAAMb,EAAAA,GAAKc,iBAASC,QAAQ;AACrF,UAAM,EAAEX,QAAO,IAAK,OAAOG,QAAOS,QAAQ,MAAMN,OAAON,QAAQa,KAAI,CAAA;AACnE,WAAO;MACLb;IACF;EACF,CAAA;AACF,CAAA;;;AFlBA,IAAMc,YAAkC;EAACC;EAAMC;;AAC/C,IAAMC,QAAQ;EAAC;EAAiB;;AAEzB,IAAMC,gBAAgB;AAE7B,IAAA,gCAAe,MAAyB;EACtCC,YAAYC,aAAaC,WAAWP,SAAAA;EACpCK,YACEC,aAAaE,qBACbC,UAAUC,KAAK;IACbC,KAAKP;IACLQ,MAAM;IACNT,OAAOM,UAAUI,gBAAgB;MAAEb;MAAWG;IAAM,CAAA;IACpDW,cAAcC,SAASL,KAAK;MAC1BM,QAAQC;;;;;;;;;;IAUV,CAAA;EACF,CAAA,CAAA;;",
6
- "names": ["Capabilities", "contributes", "Blueprint", "Template", "trim", "Effect", "Schema", "ArtifactId", "applyDiffs", "createDocAccessor", "DatabaseService", "defineFunction", "trim", "defineFunction", "name", "description", "trim", "inputSchema", "Schema", "Struct", "id", "ArtifactId", "annotations", "diffs", "Array", "String", "outputSchema", "Void", "handler", "Effect", "fn", "data", "object", "DatabaseService", "resolve", "toDXN", "Markdown", "Document", "content", "promise", "load", "accessor", "createDocAccessor", "applyDiffs", "Effect", "Schema", "ArtifactId", "DatabaseService", "defineFunction", "defineFunction", "name", "description", "inputSchema", "Schema", "Struct", "id", "ArtifactId", "annotations", "outputSchema", "content", "String", "handler", "Effect", "fn", "data", "object", "DatabaseService", "resolve", "toDXN", "Markdown", "Document", "promise", "load", "functions", "diff", "open", "tools", "BLUEPRINT_KEY", "contributes", "Capabilities", "Functions", "BlueprintDefinition", "Blueprint", "make", "key", "name", "toolDefinitions", "instructions", "Template", "source", "trim"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/translations.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from './meta';\nimport { Markdown } from './types';\n\nexport const translations = [\n {\n 'en-US': {\n [Markdown.Document.typename]: {\n 'typename label': 'Document',\n 'typename label_zero': 'Documents',\n 'typename label_one': 'Document',\n 'typename label_other': 'Documents',\n 'object name placeholder': 'New document',\n 'rename object label': 'Rename document',\n 'delete object label': 'Delete document',\n },\n [meta.id]: {\n 'plugin name': 'Editor',\n 'settings title': 'Editor settings',\n 'choose markdown from space dialog title': 'Choose one or more documents to add',\n // TODO(burdon): Style-guide for user-facing text (e.g., hints, questions, capitalization, etc.)\n 'empty choose markdown from space message': 'None available; try creating a new one instead?',\n 'chooser done label': 'Add selected',\n 'editor placeholder': '',\n 'editor input mode label': 'Editor input mode',\n 'select editor input mode placeholder': 'Select editor input mode…',\n 'settings editor input mode default label': 'Default',\n 'settings editor input mode vim label': 'Vim',\n 'settings editor input mode vscode label': 'VS Code',\n 'settings toolbar label': 'Show toolbar',\n 'settings numbered headings label': 'Numbered headings',\n 'settings folding label': 'Folding',\n 'settings experimental label': 'Enable experimental features',\n 'settings debug label': 'Enable debugging features',\n 'settings debug placeholder': 'Typewriter script...',\n 'toggle view mode label': 'Toggle read-only',\n 'default view mode label': 'Default view mode',\n 'upload image label': 'Upload image',\n 'fallback title': 'Untitled',\n 'navigate to document label': 'Open document',\n },\n },\n },\n] as const satisfies Resource[];\n"],
5
- "mappings": ";;;;;;;;AASO,IAAMA,eAAe;EAC1B;IACE,SAAS;MACP,CAACC,iBAASC,SAASC,QAAQ,GAAG;QAC5B,kBAAkB;QAClB,uBAAuB;QACvB,sBAAsB;QACtB,wBAAwB;QACxB,2BAA2B;QAC3B,uBAAuB;QACvB,uBAAuB;MACzB;MACA,CAACC,KAAKC,EAAE,GAAG;QACT,eAAe;QACf,kBAAkB;QAClB,2CAA2C;;QAE3C,4CAA4C;QAC5C,sBAAsB;QACtB,sBAAsB;QACtB,2BAA2B;QAC3B,wCAAwC;QACxC,4CAA4C;QAC5C,wCAAwC;QACxC,2CAA2C;QAC3C,0BAA0B;QAC1B,oCAAoC;QACpC,0BAA0B;QAC1B,+BAA+B;QAC/B,wBAAwB;QACxB,8BAA8B;QAC9B,0BAA0B;QAC1B,2BAA2B;QAC3B,sBAAsB;QACtB,kBAAkB;QAClB,8BAA8B;MAChC;IACF;EACF;;",
6
- "names": ["translations", "Markdown", "Document", "typename", "meta", "id"]
7
- }
@@ -1,62 +0,0 @@
1
- import {
2
- MarkdownCapabilities
3
- } from "./chunk-OY6CGPOO.mjs";
4
- import {
5
- MarkdownAction_exports,
6
- Markdown_exports
7
- } from "./chunk-BEE7VQPU.mjs";
8
- import "./chunk-ODB2PTBP.mjs";
9
-
10
- // src/capabilities/intent-resolver.ts
11
- import { next as A } from "@automerge/automerge";
12
- import { Option } from "effect";
13
- import { Capabilities, CollaborationActions, contributes, createResolver } from "@dxos/app-framework";
14
- import { Obj } from "@dxos/echo";
15
- import { createDocAccessor, getRangeFromCursor } from "@dxos/react-client/echo";
16
- var intent_resolver_default = ((context) => contributes(Capabilities.IntentResolver, [
17
- createResolver({
18
- intent: MarkdownAction_exports.Create,
19
- resolve: ({ name, content }) => {
20
- return {
21
- data: {
22
- object: Markdown_exports.makeDocument({
23
- name,
24
- content
25
- })
26
- }
27
- };
28
- }
29
- }),
30
- createResolver({
31
- intent: MarkdownAction_exports.SetViewMode,
32
- resolve: ({ id, viewMode }) => {
33
- const { state } = context.getCapability(MarkdownCapabilities.State);
34
- state.viewMode[id] = viewMode;
35
- }
36
- }),
37
- createResolver({
38
- intent: CollaborationActions.AcceptProposal,
39
- filter: (data) => Obj.instanceOf(Markdown_exports.Document, data.subject),
40
- resolve: async ({ subject, anchor, proposal }) => {
41
- const text = await subject.content.load();
42
- const accessor = createDocAccessor(text, [
43
- "content"
44
- ]);
45
- const { start, end } = Option.fromNullable(anchor).pipe(
46
- Option.flatMap((at) => Option.fromNullable(getRangeFromCursor(accessor, at))),
47
- // Fallback to the end of the document.
48
- Option.getOrElse(() => ({
49
- start: text.content.length - 1,
50
- end: text.content.length - 1
51
- }))
52
- );
53
- accessor.handle.change((doc) => {
54
- A.splice(doc, accessor.path.slice(), start, end - start, proposal.text);
55
- });
56
- }
57
- })
58
- ]));
59
- export {
60
- intent_resolver_default as default
61
- };
62
- //# sourceMappingURL=intent-resolver-SUBIHVU7.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { next as A } from '@automerge/automerge';\nimport { Option, type Schema } from 'effect';\n\nimport {\n Capabilities,\n CollaborationActions,\n type PluginContext,\n contributes,\n createResolver,\n} from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { createDocAccessor, getRangeFromCursor } from '@dxos/react-client/echo';\n\nimport { Markdown, MarkdownAction } from '../types';\n\nimport { MarkdownCapabilities } from './capabilities';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: MarkdownAction.Create,\n resolve: ({ name, content }) => {\n return { data: { object: Markdown.makeDocument({ name, content }) } };\n },\n }),\n createResolver({\n intent: MarkdownAction.SetViewMode,\n resolve: ({ id, viewMode }) => {\n const { state } = context.getCapability(MarkdownCapabilities.State);\n state.viewMode[id] = viewMode;\n },\n }),\n createResolver({\n intent: CollaborationActions.AcceptProposal,\n filter: (\n data,\n ): data is Omit<Schema.Schema.Type<typeof CollaborationActions.AcceptProposal.fields.input>, 'subject'> & {\n subject: Markdown.Document;\n } => Obj.instanceOf(Markdown.Document, data.subject),\n resolve: async ({ subject, anchor, proposal }) => {\n const text = await subject.content.load();\n const accessor = createDocAccessor(text, ['content']);\n const { start, end } = Option.fromNullable(anchor).pipe(\n Option.flatMap((at) => Option.fromNullable(getRangeFromCursor(accessor, at))),\n // Fallback to the end of the document.\n Option.getOrElse(() => ({ start: text.content.length - 1, end: text.content.length - 1 })),\n );\n accessor.handle.change((doc) => {\n A.splice(doc, accessor.path.slice(), start, end - start, proposal.text);\n });\n },\n }),\n ]);\n"],
5
- "mappings": ";;;;;;;;;;AAIA,SAASA,QAAQC,SAAS;AAC1B,SAASC,cAA2B;AAEpC,SACEC,cACAC,sBAEAC,aACAC,sBACK;AACP,SAASC,WAAW;AACpB,SAASC,mBAAmBC,0BAA0B;AAMtD,IAAA,2BAAe,CAACC,YACdC,YAAYC,aAAaC,gBAAgB;EACvCC,eAAe;IACbC,QAAQC,uBAAeC;IACvBC,SAAS,CAAC,EAAEC,MAAMC,QAAO,MAAE;AACzB,aAAO;QAAEC,MAAM;UAAEC,QAAQC,iBAASC,aAAa;YAAEL;YAAMC;UAAQ,CAAA;QAAG;MAAE;IACtE;EACF,CAAA;EACAN,eAAe;IACbC,QAAQC,uBAAeS;IACvBP,SAAS,CAAC,EAAEQ,IAAIC,SAAQ,MAAE;AACxB,YAAM,EAAEC,MAAK,IAAKlB,QAAQmB,cAAcC,qBAAqBC,KAAK;AAClEH,YAAMD,SAASD,EAAAA,IAAMC;IACvB;EACF,CAAA;EACAb,eAAe;IACbC,QAAQiB,qBAAqBC;IAC7BC,QAAQ,CACNb,SAGGc,IAAIC,WAAWb,iBAASc,UAAUhB,KAAKiB,OAAO;IACnDpB,SAAS,OAAO,EAAEoB,SAASC,QAAQC,SAAQ,MAAE;AAC3C,YAAMC,OAAO,MAAMH,QAAQlB,QAAQsB,KAAI;AACvC,YAAMC,WAAWC,kBAAkBH,MAAM;QAAC;OAAU;AACpD,YAAM,EAAEI,OAAOC,IAAG,IAAKC,OAAOC,aAAaT,MAAAA,EAAQU;QACjDF,OAAOG,QAAQ,CAACC,OAAOJ,OAAOC,aAAaI,mBAAmBT,UAAUQ,EAAAA,CAAAA,CAAAA;;QAExEJ,OAAOM,UAAU,OAAO;UAAER,OAAOJ,KAAKrB,QAAQkC,SAAS;UAAGR,KAAKL,KAAKrB,QAAQkC,SAAS;QAAE,EAAA;MAAA;AAEzFX,eAASY,OAAOC,OAAO,CAACC,QAAAA;AACtBC,UAAEC,OAAOF,KAAKd,SAASiB,KAAKC,MAAK,GAAIhB,OAAOC,MAAMD,OAAOL,SAASC,IAAI;MACxE,CAAA;IACF;EACF,CAAA;CACD;",
6
- "names": ["next", "A", "Option", "Capabilities", "CollaborationActions", "contributes", "createResolver", "Obj", "createDocAccessor", "getRangeFromCursor", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "MarkdownAction", "Create", "resolve", "name", "content", "data", "object", "Markdown", "makeDocument", "SetViewMode", "id", "viewMode", "state", "getCapability", "MarkdownCapabilities", "State", "CollaborationActions", "AcceptProposal", "filter", "Obj", "instanceOf", "Document", "subject", "anchor", "proposal", "text", "load", "accessor", "createDocAccessor", "start", "end", "Option", "fromNullable", "pipe", "flatMap", "at", "getRangeFromCursor", "getOrElse", "length", "handle", "change", "doc", "A", "splice", "path", "slice"]
7
- }
@@ -1,215 +0,0 @@
1
- import {
2
- MarkdownCapabilities
3
- } from "./chunk-OY6CGPOO.mjs";
4
- import {
5
- isEditorModel
6
- } from "./chunk-LAVZ2W6X.mjs";
7
- import {
8
- Markdown_exports
9
- } from "./chunk-BEE7VQPU.mjs";
10
- import {
11
- meta
12
- } from "./chunk-ODB2PTBP.mjs";
13
-
14
- // src/capabilities/react-surface.tsx
15
- import React2 from "react";
16
- import { Capabilities, contributes, createSurface, useCapability } from "@dxos/app-framework";
17
- import { Obj } from "@dxos/echo";
18
- import { SettingsStore } from "@dxos/local-storage";
19
- import { AttentionCapabilities } from "@dxos/plugin-attention";
20
- import { fullyQualifiedId } from "@dxos/react-client/echo";
21
- import { DataType } from "@dxos/schema";
22
-
23
- // src/components/index.ts
24
- import { lazy } from "react";
25
-
26
- // src/components/MarkdownSettings/MarkdownSettings.tsx
27
- import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
28
- import React from "react";
29
- import { Input, Select, useTranslation } from "@dxos/react-ui";
30
- import { EditorInputModes, EditorViewModes } from "@dxos/react-ui-editor";
31
- import { ControlGroup, ControlItemInput, ControlPage, ControlSection } from "@dxos/react-ui-form";
32
- var MarkdownSettings = ({ settings }) => {
33
- var _effect = _useSignals();
34
- try {
35
- const { t } = useTranslation(meta.id);
36
- return /* @__PURE__ */ React.createElement(ControlPage, null, /* @__PURE__ */ React.createElement(ControlSection, {
37
- title: t("settings title", {
38
- ns: meta.id
39
- })
40
- }, /* @__PURE__ */ React.createElement(ControlGroup, null, /* @__PURE__ */ React.createElement(ControlItemInput, {
41
- title: t("default view mode label")
42
- }, /* @__PURE__ */ React.createElement(Select.Root, {
43
- value: settings.defaultViewMode,
44
- onValueChange: (value) => {
45
- settings.defaultViewMode = value;
46
- }
47
- }, /* @__PURE__ */ React.createElement(Select.TriggerButton, null), /* @__PURE__ */ React.createElement(Select.Portal, null, /* @__PURE__ */ React.createElement(Select.Content, null, /* @__PURE__ */ React.createElement(Select.Viewport, null, EditorViewModes.map((mode) => /* @__PURE__ */ React.createElement(Select.Option, {
48
- key: mode,
49
- value: mode
50
- }, t(`${mode} mode label`, {
51
- ns: "react-ui-editor"
52
- })))), /* @__PURE__ */ React.createElement(Select.Arrow, null))))), /* @__PURE__ */ React.createElement(ControlItemInput, {
53
- title: t("editor input mode label")
54
- }, /* @__PURE__ */ React.createElement(Select.Root, {
55
- value: settings.editorInputMode ?? "default",
56
- onValueChange: (value) => {
57
- settings.editorInputMode = value;
58
- }
59
- }, /* @__PURE__ */ React.createElement(Select.TriggerButton, {
60
- placeholder: t("select editor input mode placeholder")
61
- }), /* @__PURE__ */ React.createElement(Select.Portal, null, /* @__PURE__ */ React.createElement(Select.Content, null, /* @__PURE__ */ React.createElement(Select.Viewport, null, EditorInputModes.map((mode) => /* @__PURE__ */ React.createElement(Select.Option, {
62
- key: mode,
63
- value: mode
64
- }, t(`settings editor input mode ${mode} label`)))), /* @__PURE__ */ React.createElement(Select.Arrow, null))))), /* @__PURE__ */ React.createElement(ControlItemInput, {
65
- title: t("settings toolbar label")
66
- }, /* @__PURE__ */ React.createElement(Input.Switch, {
67
- checked: settings.toolbar,
68
- onCheckedChange: (checked) => settings.toolbar = !!checked
69
- })), /* @__PURE__ */ React.createElement(ControlItemInput, {
70
- title: t("settings numbered headings label")
71
- }, /* @__PURE__ */ React.createElement(Input.Switch, {
72
- checked: settings.numberedHeadings,
73
- onCheckedChange: (checked) => settings.numberedHeadings = !!checked
74
- })), /* @__PURE__ */ React.createElement(ControlItemInput, {
75
- title: t("settings folding label")
76
- }, /* @__PURE__ */ React.createElement(Input.Switch, {
77
- checked: settings.folding,
78
- onCheckedChange: (checked) => settings.folding = !!checked
79
- })), /* @__PURE__ */ React.createElement(ControlItemInput, {
80
- title: t("settings experimental label")
81
- }, /* @__PURE__ */ React.createElement(Input.Switch, {
82
- checked: settings.experimental,
83
- onCheckedChange: (checked) => settings.experimental = !!checked
84
- })), /* @__PURE__ */ React.createElement(ControlItemInput, {
85
- title: t("settings debug label")
86
- }, /* @__PURE__ */ React.createElement(Input.Switch, {
87
- checked: settings.debug,
88
- onCheckedChange: (checked) => settings.debug = !!checked
89
- })), settings.debug && /* @__PURE__ */ React.createElement(ControlItemInput, {
90
- title: t("settings debug textarea label", {
91
- ns: meta.id
92
- })
93
- }, /* @__PURE__ */ React.createElement(Input.TextArea, {
94
- rows: 5,
95
- value: settings.typewriter,
96
- onChange: ({ target: { value } }) => settings.typewriter = value,
97
- placeholder: t("settings debug placeholder")
98
- })))));
99
- } finally {
100
- _effect.f();
101
- }
102
- };
103
-
104
- // src/components/index.ts
105
- var MarkdownContainer = lazy(() => import("./MarkdownContainer-OZ5DHEIA.mjs"));
106
- var MarkdownCard = lazy(() => import("./MarkdownCard-JLUQITYK.mjs"));
107
-
108
- // src/capabilities/react-surface.tsx
109
- var react_surface_default = (() => contributes(Capabilities.ReactSurface, [
110
- createSurface({
111
- id: `${meta.id}/surface/document`,
112
- role: [
113
- "article",
114
- "section",
115
- "tabpanel"
116
- ],
117
- filter: (data) => Obj.instanceOf(Markdown_exports.Document, data.subject) && !data.variant,
118
- component: ({ data, role }) => {
119
- const selectionManager = useCapability(AttentionCapabilities.Selection);
120
- const settingsStore = useCapability(Capabilities.SettingsStore);
121
- const settings = settingsStore.getStore(meta.id).value;
122
- const { state, editorState, getViewMode, setViewMode } = useCapability(MarkdownCapabilities.State);
123
- const viewMode = getViewMode(fullyQualifiedId(data.subject));
124
- return /* @__PURE__ */ React2.createElement(MarkdownContainer, {
125
- id: fullyQualifiedId(data.subject),
126
- object: data.subject,
127
- role,
128
- settings,
129
- selectionManager,
130
- extensionProviders: state.extensionProviders,
131
- viewMode,
132
- editorStateStore: editorState,
133
- onViewModeChange: setViewMode
134
- });
135
- }
136
- }),
137
- createSurface({
138
- id: `${meta.id}/surface/text`,
139
- role: [
140
- "article",
141
- "section",
142
- "tabpanel"
143
- ],
144
- filter: (data) => typeof data.id === "string" && Obj.instanceOf(DataType.Text, data.subject),
145
- component: ({ data, role }) => {
146
- const selectionManager = useCapability(AttentionCapabilities.Selection);
147
- const settingsStore = useCapability(Capabilities.SettingsStore);
148
- const settings = settingsStore.getStore(meta.id).value;
149
- const { state, editorState, getViewMode, setViewMode } = useCapability(MarkdownCapabilities.State);
150
- return /* @__PURE__ */ React2.createElement(MarkdownContainer, {
151
- id: data.id,
152
- object: data.subject,
153
- role,
154
- settings,
155
- selectionManager,
156
- extensionProviders: state.extensionProviders,
157
- viewMode: getViewMode(data.id),
158
- editorStateStore: editorState,
159
- onViewModeChange: setViewMode
160
- });
161
- }
162
- }),
163
- createSurface({
164
- id: `${meta.id}/surface/editor`,
165
- role: [
166
- "article",
167
- "section"
168
- ],
169
- filter: (data) => isEditorModel(data.subject),
170
- component: ({ data, role }) => {
171
- const selectionManager = useCapability(AttentionCapabilities.Selection);
172
- const settingsStore = useCapability(Capabilities.SettingsStore);
173
- const settings = settingsStore.getStore(meta.id).value;
174
- const { state, editorState, getViewMode, setViewMode } = useCapability(MarkdownCapabilities.State);
175
- return /* @__PURE__ */ React2.createElement(MarkdownContainer, {
176
- id: data.subject.id,
177
- object: data.subject,
178
- role,
179
- settings,
180
- selectionManager,
181
- extensionProviders: state.extensionProviders,
182
- viewMode: getViewMode(data.subject.id),
183
- editorStateStore: editorState,
184
- onViewModeChange: setViewMode
185
- });
186
- }
187
- }),
188
- createSurface({
189
- id: `${meta.id}/surface/plugin-settings`,
190
- role: "article",
191
- filter: (data) => data.subject instanceof SettingsStore && data.subject.prefix === meta.id,
192
- component: ({ data: { subject } }) => /* @__PURE__ */ React2.createElement(MarkdownSettings, {
193
- settings: subject.value
194
- })
195
- }),
196
- createSurface({
197
- id: `${meta.id}/surface/preview`,
198
- role: [
199
- "card--popover",
200
- "card--intrinsic",
201
- "card--extrinsic",
202
- "card--transclusion",
203
- "card"
204
- ],
205
- filter: (data) => Obj.instanceOf(Markdown_exports.Document, data.subject) || Obj.instanceOf(DataType.Text, data.subject),
206
- component: ({ data, role }) => /* @__PURE__ */ React2.createElement(MarkdownCard, {
207
- ...data,
208
- role
209
- })
210
- })
211
- ]));
212
- export {
213
- react_surface_default as default
214
- };
215
- //# sourceMappingURL=react-surface-JBQHF4GR.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-surface.tsx", "../../../src/components/index.ts", "../../../src/components/MarkdownSettings/MarkdownSettings.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface, useCapability } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { SettingsStore } from '@dxos/local-storage';\nimport { AttentionCapabilities } from '@dxos/plugin-attention';\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\nimport { DataType } from '@dxos/schema';\n\nimport { MarkdownCard, MarkdownContainer, MarkdownSettings } from '../components';\nimport { meta } from '../meta';\nimport { Markdown } from '../types';\nimport { isEditorModel } from '../util';\n\nimport { MarkdownCapabilities } from './capabilities';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\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 }) => {\n const selectionManager = useCapability(AttentionCapabilities.Selection);\n const settingsStore = useCapability(Capabilities.SettingsStore);\n const settings = settingsStore.getStore<Markdown.Settings>(meta.id)!.value;\n const { state, editorState, getViewMode, setViewMode } = useCapability(MarkdownCapabilities.State);\n const viewMode = getViewMode(fullyQualifiedId(data.subject));\n\n return (\n <MarkdownContainer\n id={fullyQualifiedId(data.subject)}\n object={data.subject}\n role={role}\n settings={settings}\n selectionManager={selectionManager}\n extensionProviders={state.extensionProviders}\n viewMode={viewMode}\n editorStateStore={editorState}\n onViewModeChange={setViewMode}\n />\n );\n },\n }),\n createSurface({\n id: `${meta.id}/surface/text`,\n role: ['article', 'section', 'tabpanel'],\n filter: (data): data is { id: string; subject: DataType.Text } =>\n typeof data.id === 'string' && Obj.instanceOf(DataType.Text, data.subject),\n component: ({ data, role }) => {\n const selectionManager = useCapability(AttentionCapabilities.Selection);\n const settingsStore = useCapability(Capabilities.SettingsStore);\n const settings = settingsStore.getStore<Markdown.Settings>(meta.id)!.value;\n const { state, editorState, getViewMode, setViewMode } = useCapability(MarkdownCapabilities.State);\n\n return (\n <MarkdownContainer\n id={data.id}\n object={data.subject}\n role={role}\n settings={settings}\n selectionManager={selectionManager}\n extensionProviders={state.extensionProviders}\n viewMode={getViewMode(data.id)}\n editorStateStore={editorState}\n onViewModeChange={setViewMode}\n />\n );\n },\n }),\n createSurface({\n id: `${meta.id}/surface/editor`,\n role: ['article', 'section'],\n filter: (data): data is { subject: { id: string; text: string } } => isEditorModel(data.subject),\n component: ({ data, role }) => {\n const selectionManager = useCapability(AttentionCapabilities.Selection);\n const settingsStore = useCapability(Capabilities.SettingsStore);\n const settings = settingsStore.getStore<Markdown.Settings>(meta.id)!.value;\n const { state, editorState, getViewMode, setViewMode } = useCapability(MarkdownCapabilities.State);\n\n return (\n <MarkdownContainer\n id={data.subject.id}\n object={data.subject}\n role={role}\n settings={settings}\n selectionManager={selectionManager}\n extensionProviders={state.extensionProviders}\n viewMode={getViewMode(data.subject.id)}\n editorStateStore={editorState}\n onViewModeChange={setViewMode}\n />\n );\n },\n }),\n createSurface({\n id: `${meta.id}/surface/plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<Markdown.Settings> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === meta.id,\n component: ({ data: { subject } }) => <MarkdownSettings settings={subject.value} />,\n }),\n createSurface({\n id: `${meta.id}/surface/preview`,\n role: ['card--popover', 'card--intrinsic', 'card--extrinsic', 'card--transclusion', 'card'],\n filter: (data): data is { subject: Markdown.Document | DataType.Text } =>\n Obj.instanceOf(Markdown.Document, data.subject) || Obj.instanceOf(DataType.Text, data.subject),\n component: ({ data, role }) => <MarkdownCard {...data} role={role} />,\n }),\n ]);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './MarkdownSettings';\n\nexport const MarkdownContainer = lazy(() => import('./MarkdownContainer'));\nexport const MarkdownCard = lazy(() => import('./MarkdownCard'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Input, Select, useTranslation } from '@dxos/react-ui';\nimport { type EditorInputMode, EditorInputModes, type EditorViewMode, EditorViewModes } from '@dxos/react-ui-editor';\nimport { ControlGroup, ControlItemInput, ControlPage, ControlSection } from '@dxos/react-ui-form';\n\nimport { meta } from '../../meta';\nimport { type Markdown } from '../../types';\n\nexport const MarkdownSettings = ({ settings }: { settings: Markdown.Settings }) => {\n const { t } = useTranslation(meta.id);\n\n // TODO(wittjosiah): Add skill test confirmation for entering vim mode.\n return (\n <ControlPage>\n <ControlSection title={t('settings title', { ns: meta.id })}>\n <ControlGroup>\n <ControlItemInput title={t('default view mode label')}>\n <Select.Root\n value={settings.defaultViewMode}\n onValueChange={(value) => {\n settings.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: 'react-ui-editor' })}\n </Select.Option>\n ))}\n </Select.Viewport>\n <Select.Arrow />\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </ControlItemInput>\n\n <ControlItemInput title={t('editor input mode label')}>\n <Select.Root\n value={settings.editorInputMode ?? 'default'}\n onValueChange={(value) => {\n settings.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 </ControlItemInput>\n\n <ControlItemInput title={t('settings toolbar label')}>\n <Input.Switch checked={settings.toolbar} onCheckedChange={(checked) => (settings.toolbar = !!checked)} />\n </ControlItemInput>\n\n <ControlItemInput title={t('settings numbered headings label')}>\n <Input.Switch\n checked={settings.numberedHeadings}\n onCheckedChange={(checked) => (settings.numberedHeadings = !!checked)}\n />\n </ControlItemInput>\n\n <ControlItemInput title={t('settings folding label')}>\n <Input.Switch checked={settings.folding} onCheckedChange={(checked) => (settings.folding = !!checked)} />\n </ControlItemInput>\n\n <ControlItemInput title={t('settings experimental label')}>\n <Input.Switch\n checked={settings.experimental}\n onCheckedChange={(checked) => (settings.experimental = !!checked)}\n />\n </ControlItemInput>\n\n <ControlItemInput title={t('settings debug label')}>\n <Input.Switch checked={settings.debug} onCheckedChange={(checked) => (settings.debug = !!checked)} />\n </ControlItemInput>\n\n {settings.debug && (\n <ControlItemInput title={t('settings debug textarea label', { ns: meta.id })}>\n <Input.TextArea\n rows={5}\n value={settings.typewriter}\n onChange={({ target: { value } }) => (settings.typewriter = value)}\n placeholder={t('settings debug placeholder')}\n />\n </ControlItemInput>\n )}\n </ControlGroup>\n </ControlSection>\n </ControlPage>\n );\n};\n"],
5
- "mappings": "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",
6
- "names": ["React", "Capabilities", "contributes", "createSurface", "useCapability", "Obj", "SettingsStore", "AttentionCapabilities", "fullyQualifiedId", "DataType", "lazy", "React", "Input", "Select", "useTranslation", "EditorInputModes", "EditorViewModes", "ControlGroup", "ControlItemInput", "ControlPage", "ControlSection", "MarkdownSettings", "settings", "t", "useTranslation", "meta", "id", "ControlPage", "ControlSection", "title", "ns", "ControlGroup", "ControlItemInput", "Select", "Root", "value", "defaultViewMode", "onValueChange", "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", "MarkdownContainer", "lazy", "MarkdownCard", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "meta", "role", "filter", "data", "Obj", "instanceOf", "Markdown", "Document", "subject", "variant", "component", "selectionManager", "useCapability", "AttentionCapabilities", "Selection", "settingsStore", "SettingsStore", "settings", "getStore", "value", "state", "editorState", "getViewMode", "setViewMode", "MarkdownCapabilities", "State", "viewMode", "fullyQualifiedId", "React", "MarkdownContainer", "object", "extensionProviders", "editorStateStore", "onViewModeChange", "DataType", "Text", "isEditorModel", "prefix", "MarkdownSettings", "MarkdownCard"]
7
- }
@@ -1,28 +0,0 @@
1
- import {
2
- Markdown_exports
3
- } from "./chunk-BEE7VQPU.mjs";
4
- import {
5
- meta
6
- } from "./chunk-ODB2PTBP.mjs";
7
-
8
- // src/capabilities/settings.ts
9
- import { Capabilities, contributes } from "@dxos/app-framework";
10
- import { live } from "@dxos/live-object";
11
- var settings_default = (() => {
12
- const settings = live({
13
- defaultViewMode: "preview",
14
- toolbar: true,
15
- numberedHeadings: true,
16
- folding: true,
17
- experimental: false
18
- });
19
- return contributes(Capabilities.Settings, {
20
- prefix: meta.id,
21
- schema: Markdown_exports.Settings,
22
- value: settings
23
- });
24
- });
25
- export {
26
- settings_default as default
27
- };
28
- //# sourceMappingURL=settings-T5ZMC5TH.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/settings.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes } from '@dxos/app-framework';\nimport { live } from '@dxos/live-object';\n\nimport { meta } from '../meta';\nimport { Markdown } from '../types';\n\nexport default () => {\n const settings = live<Markdown.Settings>({\n defaultViewMode: 'preview',\n toolbar: true,\n numberedHeadings: true,\n folding: true,\n experimental: false,\n });\n\n return contributes(Capabilities.Settings, {\n prefix: meta.id,\n schema: Markdown.Settings,\n value: settings,\n });\n};\n"],
5
- "mappings": ";;;;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,YAAY;AAKrB,IAAA,oBAAe,MAAA;AACb,QAAMC,WAAWC,KAAwB;IACvCC,iBAAiB;IACjBC,SAAS;IACTC,kBAAkB;IAClBC,SAAS;IACTC,cAAc;EAChB,CAAA;AAEA,SAAOC,YAAYC,aAAaC,UAAU;IACxCC,QAAQC,KAAKC;IACbC,QAAQC,iBAASL;IACjBM,OAAOf;EACT,CAAA;AACF;",
6
- "names": ["Capabilities", "contributes", "live", "settings", "live", "defaultViewMode", "toolbar", "numberedHeadings", "folding", "experimental", "contributes", "Capabilities", "Settings", "prefix", "meta", "id", "schema", "Markdown", "value"]
7
- }
@@ -1,37 +0,0 @@
1
- import {
2
- MarkdownCapabilities
3
- } from "./chunk-OY6CGPOO.mjs";
4
- import {
5
- meta
6
- } from "./chunk-ODB2PTBP.mjs";
7
-
8
- // src/capabilities/state.ts
9
- import { Capabilities, contributes } from "@dxos/app-framework";
10
- import { LocalStorageStore } from "@dxos/local-storage";
11
- import { createEditorStateStore } from "@dxos/react-ui-editor";
12
- var state_default = ((context) => {
13
- const state = new LocalStorageStore(meta.id, {
14
- extensionProviders: [],
15
- viewMode: {}
16
- });
17
- state.prop({
18
- key: "viewMode",
19
- type: LocalStorageStore.json()
20
- });
21
- const editorState = createEditorStateStore(`${meta.id}/editor`);
22
- const getViewMode = (id) => {
23
- const defaultViewMode = context.getCapability(Capabilities.SettingsStore).getStore(meta.id).value.defaultViewMode;
24
- return id && state.values.viewMode[id] || defaultViewMode;
25
- };
26
- const setViewMode = (id, viewMode) => state.values.viewMode[id] = viewMode;
27
- return contributes(MarkdownCapabilities.State, {
28
- state: state.values,
29
- editorState,
30
- getViewMode,
31
- setViewMode
32
- });
33
- });
34
- export {
35
- state_default as default
36
- };
37
- //# sourceMappingURL=state-6QODXCSZ.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/state.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';\nimport { LocalStorageStore } from '@dxos/local-storage';\nimport { type EditorViewMode, createEditorStateStore } from '@dxos/react-ui-editor';\n\nimport { meta } from '../meta';\nimport { type Markdown, type MarkdownPluginState } from '../types';\n\nimport { MarkdownCapabilities } from './capabilities';\n\nexport default (context: PluginContext) => {\n const state = new LocalStorageStore<MarkdownPluginState>(meta.id, { extensionProviders: [], viewMode: {} });\n state.prop({ key: 'viewMode', type: LocalStorageStore.json<{ [key: string]: EditorViewMode }>() });\n\n // TODO(wittjosiah): Fold into state.\n const editorState = createEditorStateStore(`${meta.id}/editor`);\n\n const getViewMode = (id: string) => {\n const defaultViewMode = context.getCapability(Capabilities.SettingsStore).getStore<Markdown.Settings>(meta.id)!\n .value.defaultViewMode;\n return (id && state.values.viewMode[id]) || defaultViewMode;\n };\n\n const setViewMode = (id: string, viewMode: EditorViewMode) => (state.values.viewMode[id] = viewMode);\n\n // Return object with methods.\n return contributes(MarkdownCapabilities.State, { state: state.values, editorState, getViewMode, setViewMode });\n};\n"],
5
- "mappings": ";;;;;;;;AAIA,SAASA,cAAkCC,mBAAmB;AAC9D,SAASC,yBAAyB;AAClC,SAA8BC,8BAA8B;AAO5D,IAAA,iBAAe,CAACC,YAAAA;AACd,QAAMC,QAAQ,IAAIC,kBAAuCC,KAAKC,IAAI;IAAEC,oBAAoB,CAAA;IAAIC,UAAU,CAAC;EAAE,CAAA;AACzGL,QAAMM,KAAK;IAAEC,KAAK;IAAYC,MAAMP,kBAAkBQ,KAAI;EAAsC,CAAA;AAGhG,QAAMC,cAAcC,uBAAuB,GAAGT,KAAKC,EAAE,SAAS;AAE9D,QAAMS,cAAc,CAACT,OAAAA;AACnB,UAAMU,kBAAkBd,QAAQe,cAAcC,aAAaC,aAAa,EAAEC,SAA4Bf,KAAKC,EAAE,EAC1Ge,MAAML;AACT,WAAQV,MAAMH,MAAMmB,OAAOd,SAASF,EAAAA,KAAQU;EAC9C;AAEA,QAAMO,cAAc,CAACjB,IAAYE,aAA8BL,MAAMmB,OAAOd,SAASF,EAAAA,IAAME;AAG3F,SAAOgB,YAAYC,qBAAqBC,OAAO;IAAEvB,OAAOA,MAAMmB;IAAQT;IAAaE;IAAaQ;EAAY,CAAA;AAC9G;",
6
- "names": ["Capabilities", "contributes", "LocalStorageStore", "createEditorStateStore", "context", "state", "LocalStorageStore", "meta", "id", "extensionProviders", "viewMode", "prop", "key", "type", "json", "editorState", "createEditorStateStore", "getViewMode", "defaultViewMode", "getCapability", "Capabilities", "SettingsStore", "getStore", "value", "values", "setViewMode", "contributes", "MarkdownCapabilities", "State"]
7
- }
@@ -1,74 +0,0 @@
1
- import {
2
- MarkdownAction_exports
3
- } from "./chunk-BEE7VQPU.mjs";
4
- import "./chunk-ODB2PTBP.mjs";
5
-
6
- // src/capabilities/toolkit.ts
7
- import { AiTool, AiToolkit } from "@effect/ai";
8
- import { Effect, Schema } from "effect";
9
- import { Capabilities, contributes, createIntent } from "@dxos/app-framework";
10
- import { invariant } from "@dxos/invariant";
11
- import { getActiveSpace } from "@dxos/plugin-space";
12
- import { SpaceAction } from "@dxos/plugin-space/types";
13
- function _define_property(obj, key, value) {
14
- if (key in obj) {
15
- Object.defineProperty(obj, key, {
16
- value,
17
- enumerable: true,
18
- configurable: true,
19
- writable: true
20
- });
21
- } else {
22
- obj[key] = value;
23
- }
24
- return obj;
25
- }
26
- var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-markdown/src/capabilities/toolkit.ts";
27
- var _AiToolkit_make;
28
- var Toolkit = class extends (_AiToolkit_make = AiToolkit.make(AiTool.make("create-document", {
29
- description: "Creates a new markdown document.",
30
- parameters: {
31
- name: Schema.optional(Schema.String),
32
- content: Schema.optional(Schema.String)
33
- },
34
- // TODO(wittjosiah): Return document.
35
- success: Schema.Any,
36
- failure: Schema.Never
37
- }))) {
38
- };
39
- _define_property(Toolkit, "layer", (context) => Toolkit.toLayer({
40
- "create-document": ({ name, content }) => {
41
- const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);
42
- const space = getActiveSpace(context);
43
- invariant(space, "No active space", {
44
- F: __dxlog_file,
45
- L: 33,
46
- S: Toolkit,
47
- A: [
48
- "space",
49
- "'No active space'"
50
- ]
51
- });
52
- return Effect.gen(function* () {
53
- const { object } = yield* dispatch(createIntent(MarkdownAction_exports.Create, {
54
- name,
55
- content
56
- }));
57
- yield* dispatch(createIntent(SpaceAction.AddObject, {
58
- object,
59
- target: space
60
- }));
61
- return {
62
- id: object.id
63
- };
64
- }).pipe(Effect.orDie);
65
- }
66
- }));
67
- var toolkit_default = ((context) => [
68
- contributes(Capabilities.Toolkit, Toolkit),
69
- contributes(Capabilities.ToolkitHandler, Toolkit.layer(context))
70
- ]);
71
- export {
72
- toolkit_default as default
73
- };
74
- //# sourceMappingURL=toolkit-GNADYSGW.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/toolkit.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { AiTool, AiToolkit } from '@effect/ai';\nimport { Effect, Schema } from 'effect';\n\nimport { Capabilities, type Capability, type PluginContext, contributes, createIntent } from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { getActiveSpace } from '@dxos/plugin-space';\nimport { SpaceAction } from '@dxos/plugin-space/types';\n\nimport { MarkdownAction } from '../types';\n\n// TODO(burdon): Reconcile with functions (currently reuses plugin framework intents).\nclass Toolkit extends AiToolkit.make(\n AiTool.make('create-document', {\n description: 'Creates a new markdown document.',\n parameters: {\n name: Schema.optional(Schema.String),\n content: Schema.optional(Schema.String),\n },\n // TODO(wittjosiah): Return document.\n success: Schema.Any,\n failure: Schema.Never,\n }),\n) {\n static layer = (context: PluginContext) =>\n Toolkit.toLayer({\n 'create-document': ({ name, content }) => {\n const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const space = getActiveSpace(context);\n invariant(space, 'No active space');\n\n return Effect.gen(function* () {\n const { object } = yield* dispatch(createIntent(MarkdownAction.Create, { name, content }));\n yield* dispatch(createIntent(SpaceAction.AddObject, { object, target: space }));\n return { id: object.id };\n }).pipe(Effect.orDie);\n },\n });\n}\n\nexport default (context: PluginContext): Capability<any>[] => [\n contributes(Capabilities.Toolkit, Toolkit),\n contributes(Capabilities.ToolkitHandler, Toolkit.layer(context)),\n];\n"],
5
- "mappings": ";;;;;;AAIA,SAASA,QAAQC,iBAAiB;AAClC,SAASC,QAAQC,cAAc;AAE/B,SAASC,cAAmDC,aAAaC,oBAAoB;AAC7F,SAASC,iBAAiB;AAC1B,SAASC,sBAAsB;AAC/B,SAASC,mBAAmB;;;;;;;;;;;;;;;IAKNC;AAAtB,IAAMC,UAAN,eAAsBD,kBAAAA,UAAUE,KAC9BC,OAAOD,KAAK,mBAAmB;EAC7BE,aAAa;EACbC,YAAY;IACVC,MAAMC,OAAOC,SAASD,OAAOE,MAAM;IACnCC,SAASH,OAAOC,SAASD,OAAOE,MAAM;EACxC;;EAEAE,SAASJ,OAAOK;EAChBC,SAASN,OAAOO;AAClB,CAAA,CAAA,GACF;AAeA;AAdE,iBAZIb,SAYGc,SAAQ,CAACC,YACdf,QAAQgB,QAAQ;EACd,mBAAmB,CAAC,EAAEX,MAAMI,QAAO,MAAE;AACnC,UAAM,EAAEQ,SAAQ,IAAKF,QAAQG,cAAcC,aAAaC,gBAAgB;AACxE,UAAMC,QAAQC,eAAeP,OAAAA;AAC7BQ,cAAUF,OAAO,mBAAA;;;SAjBnBrB;;;;;;AAmBE,WAAOwB,OAAOC,IAAI,aAAA;AAChB,YAAM,EAAEC,OAAM,IAAK,OAAOT,SAASU,aAAaC,uBAAeC,QAAQ;QAAExB;QAAMI;MAAQ,CAAA,CAAA;AACvF,aAAOQ,SAASU,aAAaG,YAAYC,WAAW;QAAEL;QAAQM,QAAQX;MAAM,CAAA,CAAA;AAC5E,aAAO;QAAEY,IAAIP,OAAOO;MAAG;IACzB,CAAA,EAAGC,KAAKV,OAAOW,KAAK;EACtB;AACF,CAAA,CAAA;AAGJ,IAAA,mBAAe,CAACpB,YAA8C;EAC5DqB,YAAYjB,aAAanB,SAASA,OAAAA;EAClCoC,YAAYjB,aAAakB,gBAAgBrC,QAAQc,MAAMC,OAAAA,CAAAA;;",
6
- "names": ["AiTool", "AiToolkit", "Effect", "Schema", "Capabilities", "contributes", "createIntent", "invariant", "getActiveSpace", "SpaceAction", "AiToolkit", "Toolkit", "make", "AiTool", "description", "parameters", "name", "Schema", "optional", "String", "content", "success", "Any", "failure", "Never", "layer", "context", "toLayer", "dispatch", "getCapability", "Capabilities", "IntentDispatcher", "space", "getActiveSpace", "invariant", "Effect", "gen", "object", "createIntent", "MarkdownAction", "Create", "SpaceAction", "AddObject", "target", "id", "pipe", "orDie", "contributes", "ToolkitHandler"]
7
- }
@@ -1,81 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- getAbstract,
4
- getFallbackName
5
- } from "./chunk-O6EXWGGS.mjs";
6
- import {
7
- Markdown_exports
8
- } from "./chunk-FXILAQ5F.mjs";
9
- import {
10
- meta
11
- } from "./chunk-VCG2U522.mjs";
12
-
13
- // src/components/MarkdownCard/MarkdownCard.tsx
14
- import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
15
- import { pipe } from "effect";
16
- import React, { useCallback } from "react";
17
- import { LayoutAction, chain, createIntent, useIntentDispatcher } from "@dxos/app-framework";
18
- import { Obj } from "@dxos/echo";
19
- import { fullyQualifiedId } from "@dxos/react-client/echo";
20
- import { Button, Icon, useTranslation } from "@dxos/react-ui";
21
- import { Card } from "@dxos/react-ui-stack";
22
- import { DataType } from "@dxos/schema";
23
- var getTitle = (subject, fallback) => {
24
- if (Obj.instanceOf(Markdown_exports.Document, subject)) {
25
- return subject.name ?? subject.fallbackName ?? getFallbackName(subject.content?.target?.content ?? fallback);
26
- } else if (Obj.instanceOf(DataType.Text, subject)) {
27
- return getFallbackName(subject.content);
28
- }
29
- };
30
- var getSnippet = (subject, fallback) => {
31
- if (Obj.instanceOf(Markdown_exports.Document, subject)) {
32
- return getAbstract(subject.content?.target?.content ?? fallback);
33
- } else if (Obj.instanceOf(DataType.Text, subject)) {
34
- return getAbstract(subject.content);
35
- }
36
- };
37
- var MarkdownCard = ({ subject, role }) => {
38
- var _effect = _useSignals();
39
- try {
40
- const { dispatchPromise: dispatch } = useIntentDispatcher();
41
- const { t } = useTranslation(meta.id);
42
- const snippet = getSnippet(subject, t("fallback abstract"));
43
- const handleNavigate = useCallback(() => dispatch(pipe(createIntent(LayoutAction.UpdatePopover, {
44
- part: "popover",
45
- subject: null,
46
- options: {
47
- state: false,
48
- anchorId: ""
49
- }
50
- }), chain(LayoutAction.Open, {
51
- part: "main",
52
- subject: [
53
- fullyQualifiedId(subject)
54
- ]
55
- }))), [
56
- dispatch,
57
- subject
58
- ]);
59
- return /* @__PURE__ */ React.createElement(Card.SurfaceRoot, {
60
- role
61
- }, /* @__PURE__ */ React.createElement(Card.Heading, null, getTitle(subject, t("fallback title"))), snippet && /* @__PURE__ */ React.createElement(Card.Text, {
62
- classNames: "line-clamp-3 break-words col-span-2"
63
- }, snippet), role === "card--popover" && /* @__PURE__ */ React.createElement(Card.Chrome, null, /* @__PURE__ */ React.createElement(Button, {
64
- onClick: handleNavigate
65
- }, /* @__PURE__ */ React.createElement("span", {
66
- className: "grow"
67
- }, t("navigate to document label")), /* @__PURE__ */ React.createElement(Icon, {
68
- icon: "ph--arrow-right--regular"
69
- }))));
70
- } finally {
71
- _effect.f();
72
- }
73
- };
74
-
75
- // src/components/MarkdownCard/index.ts
76
- var MarkdownCard_default = MarkdownCard;
77
- export {
78
- MarkdownCard,
79
- MarkdownCard_default as default
80
- };
81
- //# sourceMappingURL=MarkdownCard-XL5EVSJ7.mjs.map