@dxos/plugin-markdown 0.8.4-main.e8ec1fe → 0.8.4-main.effb148878

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 (417) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/neutral/EditableMarkdownCard-AW7MD35U.mjs +34 -0
  4. package/dist/lib/neutral/EditableMarkdownCard-AW7MD35U.mjs.map +7 -0
  5. package/dist/lib/neutral/MarkdownArticle-Z4QRU3WD.mjs +126 -0
  6. package/dist/lib/neutral/MarkdownArticle-Z4QRU3WD.mjs.map +7 -0
  7. package/dist/lib/neutral/MarkdownCard-36P4AHYL.mjs +107 -0
  8. package/dist/lib/neutral/MarkdownCard-36P4AHYL.mjs.map +7 -0
  9. package/dist/lib/neutral/MarkdownPlugin.mjs +58 -0
  10. package/dist/lib/neutral/MarkdownPlugin.mjs.map +7 -0
  11. package/dist/lib/neutral/MarkdownPlugin.node.mjs +25 -0
  12. package/dist/lib/neutral/MarkdownPlugin.node.mjs.map +7 -0
  13. package/dist/lib/neutral/MarkdownPlugin.workerd.mjs +23 -0
  14. package/dist/lib/neutral/MarkdownPlugin.workerd.mjs.map +7 -0
  15. package/dist/lib/neutral/MarkdownSettings-YCTZJL5V.mjs +32 -0
  16. package/dist/lib/neutral/MarkdownSettings-YCTZJL5V.mjs.map +7 -0
  17. package/dist/lib/neutral/anchor-sort-37GOHBLW.mjs +32 -0
  18. package/dist/lib/neutral/anchor-sort-37GOHBLW.mjs.map +7 -0
  19. package/dist/lib/neutral/app-graph-serializer-VL5KPM7V.mjs +55 -0
  20. package/dist/lib/neutral/app-graph-serializer-VL5KPM7V.mjs.map +7 -0
  21. package/dist/lib/neutral/blueprint-definition-33OK2KUL.mjs +15 -0
  22. package/dist/lib/neutral/blueprint-definition-33OK2KUL.mjs.map +7 -0
  23. package/dist/lib/neutral/blueprints/index.mjs +8 -0
  24. package/dist/lib/neutral/capabilities/index.mjs +25 -0
  25. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  26. package/dist/lib/neutral/capabilities/node.mjs +11 -0
  27. package/dist/lib/neutral/capabilities/node.mjs.map +7 -0
  28. package/dist/lib/neutral/chunk-5JY7PO7Z.mjs +285 -0
  29. package/dist/lib/neutral/chunk-5JY7PO7Z.mjs.map +7 -0
  30. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  31. package/dist/lib/neutral/chunk-KDN4GKG2.mjs +98 -0
  32. package/dist/lib/neutral/chunk-KDN4GKG2.mjs.map +7 -0
  33. package/dist/lib/neutral/chunk-LXNSKCPD.mjs +44 -0
  34. package/dist/lib/neutral/chunk-LXNSKCPD.mjs.map +7 -0
  35. package/dist/lib/neutral/chunk-MGVKW5GN.mjs +8 -0
  36. package/dist/lib/neutral/chunk-MGVKW5GN.mjs.map +7 -0
  37. package/dist/lib/neutral/chunk-N76TRQSY.mjs +28 -0
  38. package/dist/lib/neutral/chunk-N76TRQSY.mjs.map +7 -0
  39. package/dist/lib/neutral/comment-config-ZEA66BUR.mjs +31 -0
  40. package/dist/lib/neutral/comment-config-ZEA66BUR.mjs.map +7 -0
  41. package/dist/lib/neutral/components/index.mjs +370 -0
  42. package/dist/lib/neutral/components/index.mjs.map +7 -0
  43. package/dist/lib/neutral/containers/index.mjs +13 -0
  44. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  45. package/dist/lib/neutral/create-P255GUFG.mjs +28 -0
  46. package/dist/lib/neutral/create-P255GUFG.mjs.map +7 -0
  47. package/dist/lib/neutral/create-markdown-N2DOEZXT.mjs +20 -0
  48. package/dist/lib/neutral/create-markdown-N2DOEZXT.mjs.map +7 -0
  49. package/dist/lib/neutral/create-object-VU3KX663.mjs +28 -0
  50. package/dist/lib/neutral/create-object-VU3KX663.mjs.map +7 -0
  51. package/dist/lib/neutral/hooks/index.mjs +327 -0
  52. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  53. package/dist/lib/neutral/index.mjs +42 -0
  54. package/dist/lib/neutral/meta.json +1 -0
  55. package/dist/lib/neutral/meta.mjs +8 -0
  56. package/dist/lib/neutral/open-4U46EH7F.mjs +20 -0
  57. package/dist/lib/neutral/open-4U46EH7F.mjs.map +7 -0
  58. package/dist/lib/neutral/operation-handler-2ARMPBGZ.mjs +13 -0
  59. package/dist/lib/neutral/operation-handler-2ARMPBGZ.mjs.map +7 -0
  60. package/dist/lib/neutral/operations/index.mjs +8 -0
  61. package/dist/lib/neutral/plugin.mjs +16 -0
  62. package/dist/lib/neutral/plugin.mjs.map +7 -0
  63. package/dist/lib/neutral/react-surface-P2WX2KXA.mjs +119 -0
  64. package/dist/lib/neutral/react-surface-P2WX2KXA.mjs.map +7 -0
  65. package/dist/lib/neutral/scroll-to-anchor-AFFA7YBC.mjs +47 -0
  66. package/dist/lib/neutral/scroll-to-anchor-AFFA7YBC.mjs.map +7 -0
  67. package/dist/lib/neutral/set-view-mode-UERQK6D7.mjs +24 -0
  68. package/dist/lib/neutral/set-view-mode-UERQK6D7.mjs.map +7 -0
  69. package/dist/lib/neutral/settings-TDGDLCUR.mjs +34 -0
  70. package/dist/lib/neutral/settings-TDGDLCUR.mjs.map +7 -0
  71. package/dist/lib/neutral/state-5COCF5PN.mjs +44 -0
  72. package/dist/lib/neutral/state-5COCF5PN.mjs.map +7 -0
  73. package/dist/lib/neutral/testing.mjs +19 -0
  74. package/dist/lib/neutral/testing.mjs.map +7 -0
  75. package/dist/lib/neutral/translations.mjs +44 -0
  76. package/dist/lib/neutral/translations.mjs.map +7 -0
  77. package/dist/lib/neutral/types/index.mjs +16 -0
  78. package/dist/lib/neutral/update-markdown-Q4MT3TW3.mjs +44 -0
  79. package/dist/lib/neutral/update-markdown-Q4MT3TW3.mjs.map +7 -0
  80. package/dist/types/src/MarkdownPlugin.d.ts +3 -1
  81. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  82. package/dist/types/src/MarkdownPlugin.node.d.ts +4 -0
  83. package/dist/types/src/MarkdownPlugin.node.d.ts.map +1 -0
  84. package/dist/types/src/MarkdownPlugin.test.d.ts +2 -0
  85. package/dist/types/src/MarkdownPlugin.test.d.ts.map +1 -0
  86. package/dist/types/src/MarkdownPlugin.workerd.d.ts +4 -0
  87. package/dist/types/src/MarkdownPlugin.workerd.d.ts.map +1 -0
  88. package/dist/types/src/blueprints/index.d.ts +2 -0
  89. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  90. package/dist/types/src/blueprints/markdown-blueprint.d.ts +4 -0
  91. package/dist/types/src/blueprints/markdown-blueprint.d.ts.map +1 -0
  92. package/dist/types/src/capabilities/anchor-sort.d.ts +4 -2
  93. package/dist/types/src/capabilities/anchor-sort.d.ts.map +1 -1
  94. package/dist/types/src/capabilities/app-graph-serializer.d.ts +3 -2
  95. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  96. package/dist/types/src/capabilities/artifact-definition.d.ts +3 -1
  97. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  98. package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -6
  99. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  100. package/dist/types/src/capabilities/comment-config.d.ts +12 -0
  101. package/dist/types/src/capabilities/comment-config.d.ts.map +1 -0
  102. package/dist/types/src/capabilities/create-object.d.ts +11 -0
  103. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  104. package/dist/types/src/capabilities/index.d.ts +22 -14
  105. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  106. package/dist/types/src/capabilities/node.d.ts +10 -0
  107. package/dist/types/src/capabilities/node.d.ts.map +1 -0
  108. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  109. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  110. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  111. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  112. package/dist/types/src/capabilities/settings.d.ts +4 -2
  113. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  114. package/dist/types/src/capabilities/state.d.ts +4 -9
  115. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  116. package/dist/types/src/components/MarkdownEditor/FileUpload.d.ts +1 -1
  117. package/dist/types/src/components/MarkdownEditor/FileUpload.d.ts.map +1 -1
  118. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +34 -22
  119. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
  120. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts +3 -3
  121. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts.map +1 -1
  122. package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts +17 -10
  123. package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts.map +1 -1
  124. package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts +6 -5
  125. package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts.map +1 -1
  126. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts +4 -4
  127. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts.map +1 -1
  128. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.stories.d.ts +94 -0
  129. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.stories.d.ts.map +1 -0
  130. package/dist/types/src/components/MarkdownSettings/index.d.ts +1 -1
  131. package/dist/types/src/components/MarkdownSettings/index.d.ts.map +1 -1
  132. package/dist/types/src/components/index.d.ts +3 -5
  133. package/dist/types/src/components/index.d.ts.map +1 -1
  134. package/dist/types/src/containers/EditableMarkdownCard/EditableMarkdownCard.d.ts +15 -0
  135. package/dist/types/src/containers/EditableMarkdownCard/EditableMarkdownCard.d.ts.map +1 -0
  136. package/dist/types/src/containers/EditableMarkdownCard/EditableMarkdownCard.stories.d.ts +9 -0
  137. package/dist/types/src/containers/EditableMarkdownCard/EditableMarkdownCard.stories.d.ts.map +1 -0
  138. package/dist/types/src/containers/EditableMarkdownCard/index.d.ts +3 -0
  139. package/dist/types/src/containers/EditableMarkdownCard/index.d.ts.map +1 -0
  140. package/dist/types/src/containers/MarkdownArticle/MarkdownArticle.d.ts +40 -0
  141. package/dist/types/src/containers/MarkdownArticle/MarkdownArticle.d.ts.map +1 -0
  142. package/dist/types/src/containers/MarkdownArticle/MarkdownArticle.stories.d.ts +97 -0
  143. package/dist/types/src/containers/MarkdownArticle/MarkdownArticle.stories.d.ts.map +1 -0
  144. package/dist/types/src/containers/MarkdownArticle/index.d.ts +3 -0
  145. package/dist/types/src/containers/MarkdownArticle/index.d.ts.map +1 -0
  146. package/dist/types/src/containers/MarkdownCard/MarkdownCard.d.ts +8 -0
  147. package/dist/types/src/containers/MarkdownCard/MarkdownCard.d.ts.map +1 -0
  148. package/dist/types/src/containers/MarkdownCard/MarkdownCard.stories.d.ts +9 -0
  149. package/dist/types/src/containers/MarkdownCard/MarkdownCard.stories.d.ts.map +1 -0
  150. package/dist/types/src/containers/MarkdownCard/index.d.ts +2 -0
  151. package/dist/types/src/containers/MarkdownCard/index.d.ts.map +1 -0
  152. package/dist/types/src/containers/MarkdownCard/snippet.d.ts +17 -0
  153. package/dist/types/src/containers/MarkdownCard/snippet.d.ts.map +1 -0
  154. package/dist/types/src/containers/index.d.ts +6 -0
  155. package/dist/types/src/containers/index.d.ts.map +1 -0
  156. package/dist/types/src/hooks/index.d.ts +0 -1
  157. package/dist/types/src/hooks/index.d.ts.map +1 -1
  158. package/dist/types/src/hooks/useEditorMenuOptions.d.ts.map +1 -1
  159. package/dist/types/src/hooks/useExtensions.d.ts +10 -6
  160. package/dist/types/src/hooks/useExtensions.d.ts.map +1 -1
  161. package/dist/types/src/hooks/useLinkQuery.d.ts +2 -2
  162. package/dist/types/src/hooks/useLinkQuery.d.ts.map +1 -1
  163. package/dist/types/src/index.d.ts +2 -3
  164. package/dist/types/src/index.d.ts.map +1 -1
  165. package/dist/types/src/meta.d.ts +2 -2
  166. package/dist/types/src/meta.d.ts.map +1 -1
  167. package/dist/types/src/operations/create-markdown.d.ts +5 -0
  168. package/dist/types/src/operations/create-markdown.d.ts.map +1 -0
  169. package/dist/types/src/operations/create.d.ts +5 -0
  170. package/dist/types/src/operations/create.d.ts.map +1 -0
  171. package/dist/types/src/operations/create.test.d.ts.map +1 -0
  172. package/dist/types/src/operations/index.d.ts +3 -0
  173. package/dist/types/src/operations/index.d.ts.map +1 -0
  174. package/dist/types/src/operations/open.d.ts +5 -0
  175. package/dist/types/src/operations/open.d.ts.map +1 -0
  176. package/dist/types/src/operations/scroll-to-anchor.d.ts +5 -0
  177. package/dist/types/src/operations/scroll-to-anchor.d.ts.map +1 -0
  178. package/dist/types/src/operations/set-view-mode.d.ts +5 -0
  179. package/dist/types/src/operations/set-view-mode.d.ts.map +1 -0
  180. package/dist/types/src/operations/update-markdown.d.ts +5 -0
  181. package/dist/types/src/operations/update-markdown.d.ts.map +1 -0
  182. package/dist/types/src/operations/update.test.d.ts.map +1 -0
  183. package/dist/types/src/plugin.d.ts +4 -0
  184. package/dist/types/src/plugin.d.ts.map +1 -0
  185. package/dist/types/src/testing.d.ts +3 -2
  186. package/dist/types/src/testing.d.ts.map +1 -1
  187. package/dist/types/src/translations.d.ts +74 -36
  188. package/dist/types/src/translations.d.ts.map +1 -1
  189. package/dist/types/src/types/Markdown.d.ts +34 -33
  190. package/dist/types/src/types/Markdown.d.ts.map +1 -1
  191. package/dist/types/src/types/MarkdownCapabilities.d.ts +32 -0
  192. package/dist/types/src/types/MarkdownCapabilities.d.ts.map +1 -0
  193. package/dist/types/src/types/MarkdownEvents.d.ts +3 -0
  194. package/dist/types/src/types/MarkdownEvents.d.ts.map +1 -0
  195. package/dist/types/src/types/MarkdownOperation.d.ts +64 -0
  196. package/dist/types/src/types/MarkdownOperation.d.ts.map +1 -0
  197. package/dist/types/src/types/Settings.d.ts +30 -0
  198. package/dist/types/src/types/Settings.d.ts.map +1 -0
  199. package/dist/types/src/types/index.d.ts +5 -2
  200. package/dist/types/src/types/index.d.ts.map +1 -1
  201. package/dist/types/src/types/types.d.ts +3 -2
  202. package/dist/types/src/types/types.d.ts.map +1 -1
  203. package/dist/types/src/util.d.ts +6 -3
  204. package/dist/types/src/util.d.ts.map +1 -1
  205. package/dist/types/src/util.test.d.ts +2 -0
  206. package/dist/types/src/util.test.d.ts.map +1 -0
  207. package/dist/types/tsconfig.tsbuildinfo +1 -1
  208. package/package.json +153 -89
  209. package/src/MarkdownPlugin.node.ts +20 -0
  210. package/src/MarkdownPlugin.test.ts +26 -0
  211. package/src/MarkdownPlugin.tsx +33 -101
  212. package/src/MarkdownPlugin.workerd.ts +19 -0
  213. package/src/blueprints/index.ts +5 -0
  214. package/src/blueprints/markdown-blueprint.ts +43 -0
  215. package/src/capabilities/anchor-sort.ts +28 -21
  216. package/src/capabilities/app-graph-serializer.ts +52 -43
  217. package/src/capabilities/artifact-definition.ts +83 -86
  218. package/src/capabilities/blueprint-definition.ts +11 -35
  219. package/src/capabilities/comment-config.ts +33 -0
  220. package/src/capabilities/create-object.ts +31 -0
  221. package/src/capabilities/index.ts +15 -11
  222. package/src/capabilities/node.ts +13 -0
  223. package/src/capabilities/operation-handler.ts +16 -0
  224. package/src/capabilities/react-surface.tsx +102 -67
  225. package/src/capabilities/settings.ts +30 -18
  226. package/src/capabilities/state.ts +41 -25
  227. package/src/components/MarkdownEditor/FileUpload.tsx +2 -2
  228. package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +48 -44
  229. package/src/components/MarkdownEditor/MarkdownEditor.tsx +149 -106
  230. package/src/components/MarkdownEditor/MarkdownEditorContent.tsx +66 -33
  231. package/src/components/MarkdownEditor/MarkdownEditorToolbar.tsx +37 -53
  232. package/src/components/MarkdownSettings/MarkdownSettings.stories.tsx +40 -0
  233. package/src/components/MarkdownSettings/MarkdownSettings.tsx +23 -96
  234. package/src/components/MarkdownSettings/index.ts +1 -1
  235. package/src/components/index.ts +4 -7
  236. package/src/containers/EditableMarkdownCard/EditableMarkdownCard.stories.tsx +86 -0
  237. package/src/containers/EditableMarkdownCard/EditableMarkdownCard.tsx +44 -0
  238. package/src/containers/EditableMarkdownCard/index.ts +6 -0
  239. package/src/containers/MarkdownArticle/MarkdownArticle.stories.tsx +135 -0
  240. package/src/containers/MarkdownArticle/MarkdownArticle.tsx +146 -0
  241. package/src/containers/MarkdownArticle/index.ts +6 -0
  242. package/src/containers/MarkdownCard/MarkdownCard.stories.tsx +68 -0
  243. package/src/containers/MarkdownCard/MarkdownCard.tsx +75 -0
  244. package/src/containers/MarkdownCard/index.ts +5 -0
  245. package/src/containers/MarkdownCard/snippet.ts +54 -0
  246. package/src/containers/index.ts +11 -0
  247. package/src/hooks/index.ts +0 -1
  248. package/src/hooks/useEditorMenuOptions.ts +11 -14
  249. package/src/hooks/useExtensions.tsx +103 -114
  250. package/src/hooks/useLinkQuery.ts +57 -41
  251. package/src/index.ts +2 -5
  252. package/src/meta.ts +15 -6
  253. package/src/operations/create-markdown.ts +19 -0
  254. package/src/operations/create.conversations.json +1 -0
  255. package/src/operations/create.test.ts +96 -0
  256. package/src/operations/create.ts +26 -0
  257. package/src/operations/index.ts +14 -0
  258. package/src/operations/open.ts +25 -0
  259. package/src/operations/scroll-to-anchor.ts +38 -0
  260. package/src/operations/set-view-mode.ts +23 -0
  261. package/src/operations/update-markdown.ts +51 -0
  262. package/src/operations/update.conversations.json +1 -0
  263. package/src/operations/update.test.ts +213 -0
  264. package/src/plugin.ts +11 -0
  265. package/src/testing.ts +13 -8
  266. package/src/translations.ts +28 -36
  267. package/src/types/Markdown.ts +27 -33
  268. package/src/types/MarkdownCapabilities.ts +51 -0
  269. package/src/types/MarkdownEvents.ts +14 -0
  270. package/src/types/MarkdownOperation.ts +125 -0
  271. package/src/types/Settings.ts +85 -0
  272. package/src/types/index.ts +6 -3
  273. package/src/types/types.ts +7 -3
  274. package/src/util.test.ts +44 -0
  275. package/src/util.tsx +78 -8
  276. package/dist/lib/browser/MarkdownCard-JYMDPKV5.mjs +0 -12
  277. package/dist/lib/browser/MarkdownContainer-Y75XSVBX.mjs +0 -15
  278. package/dist/lib/browser/anchor-sort-3HGPGCOO.mjs +0 -31
  279. package/dist/lib/browser/anchor-sort-3HGPGCOO.mjs.map +0 -7
  280. package/dist/lib/browser/app-graph-serializer-POZN234F.mjs +0 -51
  281. package/dist/lib/browser/app-graph-serializer-POZN234F.mjs.map +0 -7
  282. package/dist/lib/browser/blueprint-definition-GIPKFDY5.mjs +0 -13
  283. package/dist/lib/browser/chunk-22XSSNBS.mjs +0 -56
  284. package/dist/lib/browser/chunk-22XSSNBS.mjs.map +0 -7
  285. package/dist/lib/browser/chunk-2MLGSYRN.mjs +0 -20
  286. package/dist/lib/browser/chunk-2MLGSYRN.mjs.map +0 -7
  287. package/dist/lib/browser/chunk-BQTYJOFB.mjs +0 -28
  288. package/dist/lib/browser/chunk-BQTYJOFB.mjs.map +0 -7
  289. package/dist/lib/browser/chunk-GH6GQSBL.mjs +0 -51
  290. package/dist/lib/browser/chunk-GH6GQSBL.mjs.map +0 -7
  291. package/dist/lib/browser/chunk-IBCHVMZW.mjs +0 -16
  292. package/dist/lib/browser/chunk-IBCHVMZW.mjs.map +0 -7
  293. package/dist/lib/browser/chunk-K3LXOU3E.mjs +0 -827
  294. package/dist/lib/browser/chunk-K3LXOU3E.mjs.map +0 -7
  295. package/dist/lib/browser/chunk-PBJLFIOX.mjs +0 -96
  296. package/dist/lib/browser/chunk-PBJLFIOX.mjs.map +0 -7
  297. package/dist/lib/browser/chunk-QYSEJ5GP.mjs +0 -79
  298. package/dist/lib/browser/chunk-QYSEJ5GP.mjs.map +0 -7
  299. package/dist/lib/browser/chunk-Y53FQREH.mjs +0 -150
  300. package/dist/lib/browser/chunk-Y53FQREH.mjs.map +0 -7
  301. package/dist/lib/browser/index.mjs +0 -174
  302. package/dist/lib/browser/index.mjs.map +0 -7
  303. package/dist/lib/browser/intent-resolver-Z5L7TXUK.mjs +0 -62
  304. package/dist/lib/browser/intent-resolver-Z5L7TXUK.mjs.map +0 -7
  305. package/dist/lib/browser/meta.json +0 -1
  306. package/dist/lib/browser/react-surface-GO5ZOKNN.mjs +0 -211
  307. package/dist/lib/browser/react-surface-GO5ZOKNN.mjs.map +0 -7
  308. package/dist/lib/browser/settings-TZUDB5EW.mjs +0 -28
  309. package/dist/lib/browser/settings-TZUDB5EW.mjs.map +0 -7
  310. package/dist/lib/browser/state-BTUKVZHY.mjs +0 -37
  311. package/dist/lib/browser/state-BTUKVZHY.mjs.map +0 -7
  312. package/dist/lib/browser/toolkit.mjs +0 -13
  313. package/dist/lib/browser/types/index.mjs +0 -10
  314. package/dist/lib/node-esm/MarkdownCard-ZXPJLUYO.mjs +0 -13
  315. package/dist/lib/node-esm/MarkdownCard-ZXPJLUYO.mjs.map +0 -7
  316. package/dist/lib/node-esm/MarkdownContainer-YRDSRDCS.mjs +0 -16
  317. package/dist/lib/node-esm/MarkdownContainer-YRDSRDCS.mjs.map +0 -7
  318. package/dist/lib/node-esm/anchor-sort-PCDXEBJ2.mjs +0 -32
  319. package/dist/lib/node-esm/anchor-sort-PCDXEBJ2.mjs.map +0 -7
  320. package/dist/lib/node-esm/app-graph-serializer-NF65JYAS.mjs +0 -52
  321. package/dist/lib/node-esm/app-graph-serializer-NF65JYAS.mjs.map +0 -7
  322. package/dist/lib/node-esm/blueprint-definition-ENKJZYQS.mjs +0 -14
  323. package/dist/lib/node-esm/blueprint-definition-ENKJZYQS.mjs.map +0 -7
  324. package/dist/lib/node-esm/chunk-AMHACOXW.mjs +0 -57
  325. package/dist/lib/node-esm/chunk-AMHACOXW.mjs.map +0 -7
  326. package/dist/lib/node-esm/chunk-CT7CFX5G.mjs +0 -828
  327. package/dist/lib/node-esm/chunk-CT7CFX5G.mjs.map +0 -7
  328. package/dist/lib/node-esm/chunk-GMMVSXQ6.mjs +0 -17
  329. package/dist/lib/node-esm/chunk-GMMVSXQ6.mjs.map +0 -7
  330. package/dist/lib/node-esm/chunk-HAIEWPU7.mjs +0 -151
  331. package/dist/lib/node-esm/chunk-HAIEWPU7.mjs.map +0 -7
  332. package/dist/lib/node-esm/chunk-KCHUTL3Q.mjs +0 -22
  333. package/dist/lib/node-esm/chunk-KCHUTL3Q.mjs.map +0 -7
  334. package/dist/lib/node-esm/chunk-NGYJNQ6A.mjs +0 -80
  335. package/dist/lib/node-esm/chunk-NGYJNQ6A.mjs.map +0 -7
  336. package/dist/lib/node-esm/chunk-PIOOG7A5.mjs +0 -97
  337. package/dist/lib/node-esm/chunk-PIOOG7A5.mjs.map +0 -7
  338. package/dist/lib/node-esm/chunk-PLZ7EVCT.mjs +0 -52
  339. package/dist/lib/node-esm/chunk-PLZ7EVCT.mjs.map +0 -7
  340. package/dist/lib/node-esm/chunk-SHAMSMKQ.mjs +0 -29
  341. package/dist/lib/node-esm/chunk-SHAMSMKQ.mjs.map +0 -7
  342. package/dist/lib/node-esm/index.mjs +0 -175
  343. package/dist/lib/node-esm/index.mjs.map +0 -7
  344. package/dist/lib/node-esm/intent-resolver-6B3PFQ5F.mjs +0 -63
  345. package/dist/lib/node-esm/intent-resolver-6B3PFQ5F.mjs.map +0 -7
  346. package/dist/lib/node-esm/meta.json +0 -1
  347. package/dist/lib/node-esm/react-surface-I46BPCWT.mjs +0 -212
  348. package/dist/lib/node-esm/react-surface-I46BPCWT.mjs.map +0 -7
  349. package/dist/lib/node-esm/settings-CJ3T5EX4.mjs +0 -29
  350. package/dist/lib/node-esm/settings-CJ3T5EX4.mjs.map +0 -7
  351. package/dist/lib/node-esm/state-K6EH7SRZ.mjs +0 -38
  352. package/dist/lib/node-esm/state-K6EH7SRZ.mjs.map +0 -7
  353. package/dist/lib/node-esm/toolkit.mjs +0 -14
  354. package/dist/lib/node-esm/toolkit.mjs.map +0 -7
  355. package/dist/lib/node-esm/types/index.mjs +0 -11
  356. package/dist/types/src/capabilities/capabilities.d.ts +0 -12
  357. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  358. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  359. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  360. package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts +0 -7
  361. package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts.map +0 -1
  362. package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts +0 -9
  363. package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts.map +0 -1
  364. package/dist/types/src/components/MarkdownCard/index.d.ts +0 -4
  365. package/dist/types/src/components/MarkdownCard/index.d.ts.map +0 -1
  366. package/dist/types/src/components/MarkdownContainer.d.ts +0 -14
  367. package/dist/types/src/components/MarkdownContainer.d.ts.map +0 -1
  368. package/dist/types/src/components/MarkdownContainer.stories.d.ts +0 -58
  369. package/dist/types/src/components/MarkdownContainer.stories.d.ts.map +0 -1
  370. package/dist/types/src/components/Suggestions.stories.d.ts +0 -11
  371. package/dist/types/src/components/Suggestions.stories.d.ts.map +0 -1
  372. package/dist/types/src/events.d.ts +0 -4
  373. package/dist/types/src/events.d.ts.map +0 -1
  374. package/dist/types/src/functions/create.d.ts +0 -8
  375. package/dist/types/src/functions/create.d.ts.map +0 -1
  376. package/dist/types/src/functions/create.test.d.ts.map +0 -1
  377. package/dist/types/src/functions/index.d.ts +0 -18
  378. package/dist/types/src/functions/index.d.ts.map +0 -1
  379. package/dist/types/src/functions/open.d.ts +0 -7
  380. package/dist/types/src/functions/open.d.ts.map +0 -1
  381. package/dist/types/src/functions/update.d.ts +0 -6
  382. package/dist/types/src/functions/update.d.ts.map +0 -1
  383. package/dist/types/src/functions/update.test.d.ts.map +0 -1
  384. package/dist/types/src/hooks/useSelectCurrentThread.d.ts +0 -6
  385. package/dist/types/src/hooks/useSelectCurrentThread.d.ts.map +0 -1
  386. package/dist/types/src/toolkit.d.ts +0 -3
  387. package/dist/types/src/toolkit.d.ts.map +0 -1
  388. package/dist/types/src/types/MarkdownAction.d.ts +0 -34
  389. package/dist/types/src/types/MarkdownAction.d.ts.map +0 -1
  390. package/src/capabilities/capabilities.ts +0 -22
  391. package/src/capabilities/intent-resolver.ts +0 -58
  392. package/src/components/MarkdownCard/MarkdownCard.stories.tsx +0 -76
  393. package/src/components/MarkdownCard/MarkdownCard.tsx +0 -89
  394. package/src/components/MarkdownCard/index.ts +0 -9
  395. package/src/components/MarkdownContainer.stories.tsx +0 -136
  396. package/src/components/MarkdownContainer.tsx +0 -113
  397. package/src/components/Suggestions.stories.tsx +0 -225
  398. package/src/events.ts +0 -11
  399. package/src/functions/create.conversations.json +0 -1
  400. package/src/functions/create.test.ts +0 -128
  401. package/src/functions/create.ts +0 -34
  402. package/src/functions/index.ts +0 -13
  403. package/src/functions/open.ts +0 -32
  404. package/src/functions/update.conversations.json +0 -1
  405. package/src/functions/update.test.ts +0 -151
  406. package/src/functions/update.ts +0 -37
  407. package/src/hooks/useSelectCurrentThread.tsx +0 -66
  408. package/src/toolkit.ts +0 -6
  409. package/src/types/MarkdownAction.ts +0 -29
  410. /package/dist/lib/{browser/types → neutral/blueprints}/index.mjs.map +0 -0
  411. /package/dist/lib/{browser/MarkdownCard-JYMDPKV5.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  412. /package/dist/lib/{node-esm/types → neutral}/index.mjs.map +0 -0
  413. /package/dist/lib/{browser/MarkdownContainer-Y75XSVBX.mjs.map → neutral/meta.mjs.map} +0 -0
  414. /package/dist/lib/{browser/blueprint-definition-GIPKFDY5.mjs.map → neutral/operations/index.mjs.map} +0 -0
  415. /package/dist/lib/{browser/toolkit.mjs.map → neutral/types/index.mjs.map} +0 -0
  416. /package/dist/types/src/{functions → operations}/create.test.d.ts +0 -0
  417. /package/dist/types/src/{functions → operations}/update.test.d.ts +0 -0
@@ -0,0 +1,85 @@
1
+ //
2
+ // Copyright 2024 DXOS.org
3
+ //
4
+
5
+ // @import-as-namespace
6
+
7
+ import * as Schema from 'effect/Schema';
8
+
9
+ import { EditorInputMode, EditorViewMode } from '@dxos/ui-editor/types';
10
+
11
+ /**
12
+ * Determines how new comment threads on markdown documents are wired up to
13
+ * the comment-thread AI agent (plugin-thread). The agent's identity (name,
14
+ * DID) is resolved at runtime via the AgentIdentity capability — this
15
+ * setting only controls whether and when the agent fires.
16
+ *
17
+ * - `off`: comments are plain user-only threads (no agent).
18
+ * - `auto`: every user message in a thread triggers an agent response.
19
+ * - `mention`: agent only responds when the message contains `@{agentName}`.
20
+ */
21
+ export const CommentAgentMode = Schema.Union(Schema.Literal('off'), Schema.Literal('auto'), Schema.Literal('mention'));
22
+ export type CommentAgentMode = Schema.Schema.Type<typeof CommentAgentMode>;
23
+
24
+ /**
25
+ * Plugin settings.
26
+ */
27
+ export const Settings = Schema.mutable(
28
+ Schema.Struct({
29
+ defaultViewMode: EditorViewMode.annotations({
30
+ title: 'Default view mode',
31
+ description: 'Set whether documents open in editing or read-only mode.',
32
+ }),
33
+ commentAgentMode: Schema.optional(
34
+ CommentAgentMode.annotations({
35
+ title: 'Comment agent mode',
36
+ description:
37
+ "How new comment threads on markdown documents are processed: 'off' (no AI), 'auto' (AI responds to every user message), or 'mention' (AI responds only on @mention).",
38
+ }),
39
+ ),
40
+ editorInputMode: Schema.optional(
41
+ EditorInputMode.annotations({
42
+ title: 'Editor input mode',
43
+ description: 'Choose keyboard bindings for the editor.',
44
+ }),
45
+ ),
46
+ toolbar: Schema.optional(
47
+ Schema.Boolean.annotations({
48
+ title: 'Show toolbar',
49
+ description: 'Display a formatting toolbar above the editor.',
50
+ }),
51
+ ),
52
+ numberedHeadings: Schema.optional(
53
+ Schema.Boolean.annotations({
54
+ title: 'Numbered headings',
55
+ description: 'Automatically number heading levels in the document.',
56
+ }),
57
+ ),
58
+ folding: Schema.optional(
59
+ Schema.Boolean.annotations({
60
+ title: 'Folding',
61
+ description: 'Allow collapsing and expanding sections by heading.',
62
+ }),
63
+ ),
64
+ experimental: Schema.optional(
65
+ Schema.Boolean.annotations({
66
+ title: 'Enable experimental features',
67
+ description: 'Turn on features that are still in development.',
68
+ }),
69
+ ),
70
+ debug: Schema.optional(
71
+ Schema.Boolean.annotations({
72
+ title: 'Enable debugging features',
73
+ description: 'Show developer tools and diagnostics for the editor.',
74
+ }),
75
+ ),
76
+ snippets: Schema.optional(
77
+ Schema.String.annotations({
78
+ title: 'Snippets',
79
+ description: 'Input snippets to replay for testing purposes.',
80
+ }),
81
+ ),
82
+ }),
83
+ );
84
+
85
+ export interface Settings extends Schema.Schema.Type<typeof Settings> {}
@@ -2,7 +2,10 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- export * as MarkdownAction from './MarkdownAction';
6
- export * as Markdown from './Markdown';
7
-
8
5
  export * from './types';
6
+
7
+ export * as Markdown from './Markdown';
8
+ export * as MarkdownCapabilities from './MarkdownCapabilities';
9
+ export * as MarkdownEvents from './MarkdownEvents';
10
+ export * as MarkdownOperation from './MarkdownOperation';
11
+ export * as Settings from './Settings';
@@ -2,8 +2,9 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { type Extension } from '@dxos/react-ui-editor';
6
- import { type EditorViewMode } from '@dxos/react-ui-editor/types';
5
+ import { type Extension } from '@codemirror/state';
6
+
7
+ import { type EditorViewMode } from '@dxos/ui-editor/types';
7
8
 
8
9
  import { type Document } from './Markdown';
9
10
 
@@ -11,7 +12,10 @@ import { type Document } from './Markdown';
11
12
  // TODO(wittjosiah): MarkdownExtensionProvider is a part of the MarkdownCapabilities api which should be in ./types.
12
13
 
13
14
  // TODO(burdon): Async?
14
- export type MarkdownExtensionProvider = (props: { document?: Document }) => Extension | undefined;
15
+ export type MarkdownExtensionProvider = (props: {
16
+ document?: Document;
17
+ viewMode?: EditorViewMode;
18
+ }) => Extension | undefined;
15
19
 
16
20
  export type MarkdownPluginState = {
17
21
  // Codemirror extensions provided by other plugins.
@@ -0,0 +1,44 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { describe, expect, it } from 'vitest';
6
+
7
+ import { trim } from '@dxos/util';
8
+
9
+ import { getFallbackName } from './util';
10
+
11
+ describe('markdown utils', () => {
12
+ it('getFallbackName', () => {
13
+ const tests = [
14
+ {
15
+ content: '',
16
+ expected: '',
17
+ },
18
+ {
19
+ content: trim`
20
+ ![img](https://dxos.network/dxos-logotype-blue.png)
21
+
22
+ # Welcome to Composer by DXOS
23
+
24
+ ## What is Composer?
25
+ `,
26
+ expected: 'Welcome to Composer by DXOS',
27
+ },
28
+ {
29
+ content: trim`
30
+ ![img](https://dxos.network/dxos-logotype-blue.png)
31
+
32
+ ---
33
+
34
+ This document is about the decetralized platform DXOS.
35
+ `,
36
+ expected: 'This document is about the…',
37
+ },
38
+ ];
39
+
40
+ tests.forEach(({ content, expected }) => {
41
+ expect(getFallbackName(content)).toBe(expected);
42
+ });
43
+ });
44
+ });
package/src/util.tsx CHANGED
@@ -4,9 +4,9 @@
4
4
 
5
5
  import { debounce } from '@dxos/async';
6
6
  import { Obj } from '@dxos/echo';
7
- import { type TypedObjectSerializer } from '@dxos/plugin-space/types';
7
+ import { type TypedObjectSerializer } from '@dxos/plugin-space';
8
8
 
9
- import { Markdown } from './types';
9
+ import { Markdown } from '#types';
10
10
 
11
11
  /**
12
12
  * Checks if an object conforms to the interface needed to render an editor.
@@ -32,23 +32,93 @@ export const isMarkdownProperties = (data: unknown): data is MarkdownProperties
32
32
 
33
33
  const nonTitleChars = /[^\w ]/g;
34
34
 
35
- export const getFallbackName = (content = '') => {
36
- return content.substring(0, 31).split('\n')[0].replaceAll(nonTitleChars, '').trim();
35
+ // Lines matching these patterns are skipped.
36
+ const skipPatterns = [
37
+ /^!\[/, // Image.
38
+ /^---\s*$/, // Horizontal rule.
39
+ /^```/, // Code block fence.
40
+ /^\s*$/, // Empty or whitespace-only.
41
+ ];
42
+
43
+ // Patterns to extract title text (first capture group is used).
44
+ const titlePatterns = [
45
+ /^#{1,6}\s+(.+)/, // Heading.
46
+ ];
47
+
48
+ /**
49
+ * Extracts a fallback name by scanning lines for the first heading or text fragment.
50
+ */
51
+ export const getFallbackName = (content = ''): string => {
52
+ const len = content.length;
53
+
54
+ let i = 0;
55
+ while (i < len) {
56
+ // Find end of line.
57
+ let lineEnd = i;
58
+ while (lineEnd < len && content[lineEnd] !== '\n') {
59
+ lineEnd++;
60
+ }
61
+
62
+ const line = content.slice(i, lineEnd).trim();
63
+ i = lineEnd + 1;
64
+
65
+ // Skip lines matching skip patterns.
66
+ if (skipPatterns.some((pattern) => pattern.test(line))) {
67
+ continue;
68
+ }
69
+
70
+ // Check for title patterns.
71
+ for (const pattern of titlePatterns) {
72
+ const match = pattern.exec(line);
73
+ if (match) {
74
+ const text = match[1].replaceAll(nonTitleChars, '').trim();
75
+ if (text.length > 0) {
76
+ return text;
77
+ }
78
+ }
79
+ }
80
+
81
+ // Use line as plain text fallback.
82
+ const maxLen = 32;
83
+ const text = line.replaceAll(nonTitleChars, '').trim();
84
+ if (text.length > 0) {
85
+ if (text.length > maxLen) {
86
+ const words = text.split(/\s+/);
87
+ let result = '';
88
+ for (const word of words) {
89
+ const next = result.length === 0 ? word : result + ' ' + word;
90
+ if (next.length > maxLen) {
91
+ break;
92
+ }
93
+ result = next;
94
+ }
95
+
96
+ return result + '…';
97
+ }
98
+
99
+ return text;
100
+ }
101
+ }
102
+
103
+ return '';
37
104
  };
38
105
 
39
- export const getContentSnippet = (content = '') => {
106
+ // TODO(burdon): Option to strip Markdown.
107
+ export const getContentSnippet = (content = '', maxLines = 3) => {
40
108
  const abstract = content
41
109
  .split('\n')
42
- .filter((line) => !line.startsWith('#'))
110
+ .filter((line) => !line.startsWith('!'))
43
111
  .filter((line) => line.trim() !== '');
44
112
 
45
- return abstract.length > 0 ? abstract[0].replaceAll(nonTitleChars, '').trim() + '...' : '';
113
+ return abstract.slice(0, maxLines).join('\n') ?? '';
46
114
  };
47
115
 
48
116
  export const setFallbackName = debounce((doc: Markdown.Document, content = '') => {
49
117
  const name = getFallbackName(content);
50
118
  if (doc.fallbackName !== name) {
51
- doc.fallbackName = name;
119
+ Obj.update(doc, (doc) => {
120
+ doc.fallbackName = name;
121
+ });
52
122
  }
53
123
  }, 200);
54
124
 
@@ -1,12 +0,0 @@
1
- import {
2
- MarkdownCard,
3
- MarkdownCard_default
4
- } from "./chunk-PBJLFIOX.mjs";
5
- import "./chunk-GH6GQSBL.mjs";
6
- import "./chunk-QYSEJ5GP.mjs";
7
- import "./chunk-BQTYJOFB.mjs";
8
- export {
9
- MarkdownCard,
10
- MarkdownCard_default as default
11
- };
12
- //# sourceMappingURL=MarkdownCard-JYMDPKV5.mjs.map
@@ -1,15 +0,0 @@
1
- import {
2
- MarkdownContainer,
3
- MarkdownContainer_default
4
- } from "./chunk-K3LXOU3E.mjs";
5
- import "./chunk-2MLGSYRN.mjs";
6
- import "./chunk-Y53FQREH.mjs";
7
- import "./chunk-IBCHVMZW.mjs";
8
- import "./chunk-GH6GQSBL.mjs";
9
- import "./chunk-QYSEJ5GP.mjs";
10
- import "./chunk-BQTYJOFB.mjs";
11
- export {
12
- MarkdownContainer,
13
- MarkdownContainer_default as default
14
- };
15
- //# sourceMappingURL=MarkdownContainer-Y75XSVBX.mjs.map
@@ -1,31 +0,0 @@
1
- import {
2
- Markdown_exports
3
- } from "./chunk-QYSEJ5GP.mjs";
4
- import "./chunk-BQTYJOFB.mjs";
5
-
6
- // src/capabilities/anchor-sort.ts
7
- import { Capabilities, contributes } from "@dxos/app-framework";
8
- import { createDocAccessor, getRangeFromCursor, getTarget } from "@dxos/react-client/echo";
9
- var anchor_sort_default = (() => contributes(Capabilities.AnchorSort, {
10
- key: Markdown_exports.Document.typename,
11
- sort: (anchorA, anchorB) => {
12
- const doc = getTarget(anchorA);
13
- const accessor = doc.content.target ? createDocAccessor(doc.content.target, [
14
- "content"
15
- ]) : void 0;
16
- if (doc !== getTarget(anchorB) || !accessor) {
17
- return 0;
18
- }
19
- const getStartPosition = (cursor) => {
20
- const range = cursor ? getRangeFromCursor(accessor, cursor) : void 0;
21
- return range?.start ?? Number.MAX_SAFE_INTEGER;
22
- };
23
- const posA = getStartPosition(anchorA.anchor);
24
- const posB = getStartPosition(anchorB.anchor);
25
- return posA - posB;
26
- }
27
- }));
28
- export {
29
- anchor_sort_default as default
30
- };
31
- //# sourceMappingURL=anchor-sort-3HGPGCOO.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/anchor-sort.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes } from '@dxos/app-framework';\nimport { createDocAccessor, getRangeFromCursor, getTarget } from '@dxos/react-client/echo';\nimport { type AnchoredTo } from '@dxos/types';\n\nimport { Markdown } from '../types';\n\nexport default () =>\n contributes(Capabilities.AnchorSort, {\n key: Markdown.Document.typename,\n sort: (anchorA: AnchoredTo.AnchoredTo, anchorB: AnchoredTo.AnchoredTo) => {\n const doc = getTarget(anchorA) as Markdown.Document;\n const accessor = doc.content.target ? createDocAccessor(doc.content.target, ['content']) : undefined;\n if (doc !== 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"],
5
- "mappings": ";;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,mBAAmBC,oBAAoBC,iBAAiB;AAKjE,IAAA,uBAAe,MACbC,YAAYC,aAAaC,YAAY;EACnCC,KAAKC,iBAASC,SAASC;EACvBC,MAAM,CAACC,SAAgCC,YAAAA;AACrC,UAAMC,MAAMC,UAAUH,OAAAA;AACtB,UAAMI,WAAWF,IAAIG,QAAQC,SAASC,kBAAkBL,IAAIG,QAAQC,QAAQ;MAAC;KAAU,IAAIE;AAC3F,QAAIN,QAAQC,UAAUF,OAAAA,KAAY,CAACG,UAAU;AAC3C,aAAO;IACT;AAEA,UAAMK,mBAAmB,CAACC,WAAAA;AACxB,YAAMC,QAAQD,SAASE,mBAAmBR,UAAUM,MAAAA,IAAUF;AAC9D,aAAOG,OAAOE,SAASC,OAAOC;IAChC;AAEA,UAAMC,OAAOP,iBAAiBT,QAAQiB,MAAM;AAC5C,UAAMC,OAAOT,iBAAiBR,QAAQgB,MAAM;AAC5C,WAAOD,OAAOE;EAChB;AACF,CAAA;",
6
- "names": ["Capabilities", "contributes", "createDocAccessor", "getRangeFromCursor", "getTarget", "contributes", "Capabilities", "AnchorSort", "key", "Markdown", "Document", "typename", "sort", "anchorA", "anchorB", "doc", "getTarget", "accessor", "content", "target", "createDocAccessor", "undefined", "getStartPosition", "cursor", "range", "getRangeFromCursor", "start", "Number", "MAX_SAFE_INTEGER", "posA", "anchor", "posB"]
7
- }
@@ -1,51 +0,0 @@
1
- import {
2
- translations
3
- } from "./chunk-22XSSNBS.mjs";
4
- import {
5
- MarkdownAction_exports,
6
- Markdown_exports
7
- } from "./chunk-QYSEJ5GP.mjs";
8
- import "./chunk-BQTYJOFB.mjs";
9
-
10
- // src/capabilities/app-graph-serializer.ts
11
- import * as Function from "effect/Function";
12
- import { Capabilities, chain, contributes, createIntent } from "@dxos/app-framework";
13
- import { Obj } from "@dxos/echo";
14
- import { SpaceAction } from "@dxos/plugin-space/types";
15
- import { isSpace } from "@dxos/react-client/echo";
16
- import { Collection } from "@dxos/schema";
17
- var app_graph_serializer_default = ((context) => contributes(Capabilities.AppGraphSerializer, [
18
- {
19
- inputType: Markdown_exports.Document.typename,
20
- outputType: "text/markdown",
21
- // Reconcile with metadata serializers.
22
- serialize: async (node) => {
23
- const doc = node.data;
24
- const content = await doc.content.load();
25
- return {
26
- name: doc.name || doc.fallbackName || translations[0]["en-US"][Markdown_exports.Document.typename]["object name placeholder"],
27
- data: content.content,
28
- type: "text/markdown"
29
- };
30
- },
31
- deserialize: async (data, ancestors) => {
32
- const space = ancestors.find(isSpace);
33
- const target = ancestors.findLast((ancestor) => Obj.instanceOf(Collection.Collection, ancestor)) ?? space?.properties[Collection.Collection.typename]?.target;
34
- if (!space || !target) {
35
- return;
36
- }
37
- const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
38
- const result = await dispatch(Function.pipe(createIntent(MarkdownAction_exports.Create, {
39
- name: data.name,
40
- content: data.data
41
- }), chain(SpaceAction.AddObject, {
42
- target
43
- })));
44
- return result.data?.object;
45
- }
46
- }
47
- ]));
48
- export {
49
- app_graph_serializer_default as default
50
- };
51
- //# sourceMappingURL=app-graph-serializer-POZN234F.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/app-graph-serializer.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Function from 'effect/Function';\n\nimport { Capabilities, type PluginContext, chain, contributes, createIntent } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { isSpace } from '@dxos/react-client/echo';\nimport { Collection } from '@dxos/schema';\n\nimport { translations } from '../translations';\nimport { Markdown, MarkdownAction } from '../types';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.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 { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const result = await dispatch(\n Function.pipe(\n createIntent(MarkdownAction.Create, { name: data.name, content: data.data }),\n chain(SpaceAction.AddObject, { target }),\n ),\n );\n\n return result.data?.object;\n },\n },\n ]);\n"],
5
- "mappings": ";;;;;;;;;;AAIA,YAAYA,cAAc;AAE1B,SAASC,cAAkCC,OAAOC,aAAaC,oBAAoB;AACnF,SAASC,WAAW;AACpB,SAASC,mBAAmB;AAC5B,SAASC,eAAe;AACxB,SAASC,kBAAkB;AAK3B,IAAA,gCAAe,CAACC,YACdC,YAAYC,aAAaC,oBAAoB;EAC3C;IACEC,WAAWC,iBAASC,SAASC;IAC7BC,YAAY;;IAEZC,WAAW,OAAOC,SAAAA;AAChB,YAAMC,MAAMD,KAAKE;AACjB,YAAMC,UAAU,MAAMF,IAAIE,QAAQC,KAAI;AACtC,aAAO;QACLC,MACEJ,IAAII,QACJJ,IAAIK,gBACJC,aAAa,CAAA,EAAG,OAAA,EAASZ,iBAASC,SAASC,QAAQ,EAAE,yBAAA;QACvDK,MAAMC,QAAQA;QACdK,MAAM;MACR;IACF;IACAC,aAAa,OAAOP,MAAMQ,cAAAA;AACxB,YAAMC,QAAQD,UAAUE,KAAKC,OAAAA;AAC7B,YAAMC,SACJJ,UAAUK,SAAS,CAACC,aAAaC,IAAIC,WAAWC,WAAWA,YAAYH,QAAAA,CAAAA,KACvEL,OAAOS,WAAWD,WAAWA,WAAWtB,QAAQ,GAAGiB;AACrD,UAAI,CAACH,SAAS,CAACG,QAAQ;AACrB;MACF;AAEA,YAAM,EAAEO,iBAAiBC,SAAQ,IAAKhC,QAAQiC,cAAc/B,aAAagC,gBAAgB;AACzF,YAAMC,SAAS,MAAMH,SACVI,cACPC,aAAaC,uBAAeC,QAAQ;QAAExB,MAAMH,KAAKG;QAAMF,SAASD,KAAKA;MAAK,CAAA,GAC1E4B,MAAMC,YAAYC,WAAW;QAAElB;MAAO,CAAA,CAAA,CAAA;AAI1C,aAAOW,OAAOvB,MAAM+B;IACtB;EACF;CACD;",
6
- "names": ["Function", "Capabilities", "chain", "contributes", "createIntent", "Obj", "SpaceAction", "isSpace", "Collection", "context", "contributes", "Capabilities", "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", "dispatchPromise", "dispatch", "getCapability", "IntentDispatcher", "result", "pipe", "createIntent", "MarkdownAction", "Create", "chain", "SpaceAction", "AddObject", "object"]
7
- }
@@ -1,13 +0,0 @@
1
- import {
2
- MARKDOWN_BLUEPRINT_KEY,
3
- MarkdownBlueprint,
4
- blueprint_definition_default
5
- } from "./chunk-Y53FQREH.mjs";
6
- import "./chunk-QYSEJ5GP.mjs";
7
- import "./chunk-BQTYJOFB.mjs";
8
- export {
9
- MARKDOWN_BLUEPRINT_KEY,
10
- MarkdownBlueprint,
11
- blueprint_definition_default as default
12
- };
13
- //# sourceMappingURL=blueprint-definition-GIPKFDY5.mjs.map
@@ -1,56 +0,0 @@
1
- import {
2
- Markdown_exports
3
- } from "./chunk-QYSEJ5GP.mjs";
4
- import {
5
- meta
6
- } from "./chunk-BQTYJOFB.mjs";
7
-
8
- // src/translations.ts
9
- var translations = [
10
- {
11
- "en-US": {
12
- [Markdown_exports.Document.typename]: {
13
- "typename label": "Document",
14
- "typename label_zero": "Documents",
15
- "typename label_one": "Document",
16
- "typename label_other": "Documents",
17
- "object name placeholder": "New document",
18
- "rename object label": "Rename document",
19
- "delete object label": "Delete document"
20
- },
21
- [meta.id]: {
22
- "plugin name": "Editor",
23
- "settings title": "Editor settings",
24
- "choose markdown from space dialog title": "Choose one or more documents to add",
25
- // TODO(burdon): Style-guide for user-facing text (e.g., hints, questions, capitalization, etc.)
26
- "empty choose markdown from space message": "None available; try creating a new one instead?",
27
- "chooser done label": "Add selected",
28
- "editor placeholder": "",
29
- "editor input mode label": "Editor input mode",
30
- "select editor input mode placeholder": "Select editor input mode\u2026",
31
- "settings editor input mode default label": "Default",
32
- "settings editor input mode vim label": "Vim",
33
- "settings editor input mode vscode label": "VS Code",
34
- "settings toolbar label": "Show toolbar",
35
- "settings numbered headings label": "Numbered headings",
36
- "settings folding label": "Folding",
37
- "settings experimental label": "Enable experimental features",
38
- "settings debug label": "Enable debugging features",
39
- "settings debug placeholder": "Typewriter script...",
40
- "toggle view mode label": "Toggle read-only",
41
- "default view mode label": "Default view mode",
42
- "upload image label": "Upload image",
43
- "fallback title": "Untitled",
44
- "navigate to document label": "Open document",
45
- "words label_zero": "words",
46
- "words label_one": "word",
47
- "words label_other": "words"
48
- }
49
- }
50
- }
51
- ];
52
-
53
- export {
54
- translations
55
- };
56
- //# sourceMappingURL=chunk-22XSSNBS.mjs.map
@@ -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 'words label_zero': 'words',\n 'words label_one': 'word',\n 'words label_other': 'words',\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;QAC9B,oBAAoB;QACpB,mBAAmB;QACnB,qBAAqB;MACvB;IACF;EACF;;",
6
- "names": ["translations", "Markdown", "Document", "typename", "meta", "id"]
7
- }
@@ -1,20 +0,0 @@
1
- // src/capabilities/index.ts
2
- import { lazy } from "@dxos/app-framework";
3
- var AnchorSort = lazy(() => import("./anchor-sort-3HGPGCOO.mjs"));
4
- var AppGraphSerializer = lazy(() => import("./app-graph-serializer-POZN234F.mjs"));
5
- var BlueprintDefinition = lazy(() => import("./blueprint-definition-GIPKFDY5.mjs"));
6
- var IntentResolver = lazy(() => import("./intent-resolver-Z5L7TXUK.mjs"));
7
- var ReactSurface = lazy(() => import("./react-surface-GO5ZOKNN.mjs"));
8
- var MarkdownSettings = lazy(() => import("./settings-TZUDB5EW.mjs"));
9
- var MarkdownState = lazy(() => import("./state-BTUKVZHY.mjs"));
10
-
11
- export {
12
- AnchorSort,
13
- AppGraphSerializer,
14
- BlueprintDefinition,
15
- IntentResolver,
16
- ReactSurface,
17
- MarkdownSettings,
18
- MarkdownState
19
- };
20
- //# sourceMappingURL=chunk-2MLGSYRN.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AnchorSort: any = lazy(() => import('./anchor-sort'));\nexport const AppGraphSerializer = lazy(() => import('./app-graph-serializer'));\nexport const BlueprintDefinition = lazy(() => import('./blueprint-definition'));\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\nexport const MarkdownSettings = lazy(() => import('./settings'));\nexport const MarkdownState = lazy(() => import('./state'));\n\nexport * from './blueprint-definition';\nexport * from './capabilities';\n"],
5
- "mappings": ";AAIA,SAASA,YAAY;AAEd,IAAMC,aAAkBC,KAAK,MAAM,OAAO,4BAAA,CAAA;AAC1C,IAAMC,qBAAqBD,KAAK,MAAM,OAAO,qCAAA,CAAA;AAC7C,IAAME,sBAAsBF,KAAK,MAAM,OAAO,qCAAA,CAAA;AAC9C,IAAMG,iBAAiBH,KAAK,MAAM,OAAO,gCAAA,CAAA;AACzC,IAAMI,eAAeJ,KAAK,MAAM,OAAO,8BAAA,CAAA;AACvC,IAAMK,mBAAmBL,KAAK,MAAM,OAAO,yBAAA,CAAA;AAC3C,IAAMM,gBAAgBN,KAAK,MAAM,OAAO,sBAAA,CAAA;",
6
- "names": ["lazy", "AnchorSort", "lazy", "AppGraphSerializer", "BlueprintDefinition", "IntentResolver", "ReactSurface", "MarkdownSettings", "MarkdownState"]
7
- }
@@ -1,28 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __export = (target, all) => {
3
- for (var name in all)
4
- __defProp(target, name, { get: all[name], enumerable: true });
5
- };
6
-
7
- // src/meta.ts
8
- import { trim } from "@dxos/util";
9
- var meta = {
10
- id: "dxos.org/plugin/markdown",
11
- name: "Markdown",
12
- description: trim`
13
- Full-featured collaborative markdown editor with real-time editing, inline comments, and rich formatting.
14
- Supports AI-powered editing assistance and seamlessly integrates with other workspace objects.
15
- `,
16
- icon: "ph--text-aa--regular",
17
- iconHue: "indigo",
18
- source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-markdown",
19
- screenshots: [
20
- "https://dxos.network/plugin-details-markdown-dark.png"
21
- ]
22
- };
23
-
24
- export {
25
- __export,
26
- meta
27
- };
28
- //# sourceMappingURL=chunk-BQTYJOFB.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/meta.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: PluginMeta = {\n id: 'dxos.org/plugin/markdown',\n name: 'Markdown',\n description: trim`\n Full-featured collaborative markdown editor with real-time editing, inline comments, and rich formatting.\n Supports AI-powered editing assistance and seamlessly integrates with other workspace objects.\n `,\n icon: 'ph--text-aa--regular',\n iconHue: 'indigo',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-markdown',\n screenshots: ['https://dxos.network/plugin-details-markdown-dark.png'],\n};\n"],
5
- "mappings": ";;;;;;;AAKA,SAASA,YAAY;AAEd,IAAMC,OAAmB;EAC9BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;;EAIbC,MAAM;EACNC,SAAS;EACTC,QAAQ;EACRC,aAAa;IAAC;;AAChB;",
6
- "names": ["trim", "meta", "id", "name", "description", "trim", "icon", "iconHue", "source", "screenshots"]
7
- }
@@ -1,51 +0,0 @@
1
- import {
2
- Markdown_exports
3
- } from "./chunk-QYSEJ5GP.mjs";
4
-
5
- // src/util.tsx
6
- import { debounce } from "@dxos/async";
7
- import { Obj } from "@dxos/echo";
8
- var isEditorModel = (data) => data && typeof data === "object" && "id" in data && typeof data.id === "string" && "text" in data && typeof data.text === "string";
9
- var isMarkdownProperties = (data) => Obj.isObject(data) ? true : data && typeof data === "object" ? "title" in data && typeof data.title === "string" : false;
10
- var nonTitleChars = /[^\w ]/g;
11
- var getFallbackName = (content = "") => {
12
- return content.substring(0, 31).split("\n")[0].replaceAll(nonTitleChars, "").trim();
13
- };
14
- var getContentSnippet = (content = "") => {
15
- const abstract = content.split("\n").filter((line) => !line.startsWith("#")).filter((line) => line.trim() !== "");
16
- return abstract.length > 0 ? abstract[0].replaceAll(nonTitleChars, "").trim() + "..." : "";
17
- };
18
- var setFallbackName = debounce((doc, content = "") => {
19
- const name = getFallbackName(content);
20
- if (doc.fallbackName !== name) {
21
- doc.fallbackName = name;
22
- }
23
- }, 200);
24
- var serializer = {
25
- serialize: async ({ object }) => {
26
- const { content } = await object.content.load();
27
- return JSON.stringify({
28
- name: object.name,
29
- fallbackName: object.fallbackName,
30
- content
31
- });
32
- },
33
- deserialize: async ({ content: serialized }) => {
34
- const { name, fallbackName, content } = JSON.parse(serialized);
35
- return Markdown_exports.make({
36
- name,
37
- fallbackName,
38
- content
39
- });
40
- }
41
- };
42
-
43
- export {
44
- isEditorModel,
45
- isMarkdownProperties,
46
- getFallbackName,
47
- getContentSnippet,
48
- setFallbackName,
49
- serializer
50
- };
51
- //# sourceMappingURL=chunk-GH6GQSBL.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/util.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { debounce } from '@dxos/async';\nimport { Obj } from '@dxos/echo';\nimport { type TypedObjectSerializer } from '@dxos/plugin-space/types';\n\nimport { Markdown } from './types';\n\n/**\n * Checks if an object conforms to the interface needed to render an editor.\n * @deprecated Use Schema.instanceOf(Markdown.Document, data)\n */\n// TODO(burdon): Normalize types (from FilesPlugin).\nexport const isEditorModel = (data: any): data is { id: string; text: string } =>\n data &&\n typeof data === 'object' &&\n 'id' in data &&\n typeof data.id === 'string' &&\n 'text' in data &&\n typeof data.text === 'string';\n\nexport type MarkdownProperties = Record<string, any>;\n\nexport const isMarkdownProperties = (data: unknown): data is MarkdownProperties =>\n (Obj.isObject(data) as boolean)\n ? true\n : data && typeof data === 'object'\n ? 'title' in data && typeof data.title === 'string'\n : false;\n\nconst nonTitleChars = /[^\\w ]/g;\n\nexport const getFallbackName = (content = '') => {\n return content.substring(0, 31).split('\\n')[0].replaceAll(nonTitleChars, '').trim();\n};\n\nexport const getContentSnippet = (content = '') => {\n const abstract = content\n .split('\\n')\n .filter((line) => !line.startsWith('#'))\n .filter((line) => line.trim() !== '');\n\n return abstract.length > 0 ? abstract[0].replaceAll(nonTitleChars, '').trim() + '...' : '';\n};\n\nexport const setFallbackName = debounce((doc: Markdown.Document, content = '') => {\n const name = getFallbackName(content);\n if (doc.fallbackName !== name) {\n doc.fallbackName = name;\n }\n}, 200);\n\nexport const serializer: TypedObjectSerializer<Markdown.Document> = {\n serialize: async ({ object }): Promise<string> => {\n const { content } = await object.content.load();\n return JSON.stringify({ name: object.name, fallbackName: object.fallbackName, content });\n },\n\n deserialize: async ({ content: serialized }) => {\n const { name, fallbackName, content } = JSON.parse(serialized);\n return Markdown.make({ name, fallbackName, content });\n },\n};\n"],
5
- "mappings": ";;;;;AAIA,SAASA,gBAAgB;AACzB,SAASC,WAAW;AAUb,IAAMC,gBAAgB,CAACC,SAC5BA,QACA,OAAOA,SAAS,YAChB,QAAQA,QACR,OAAOA,KAAKC,OAAO,YACnB,UAAUD,QACV,OAAOA,KAAKE,SAAS;AAIhB,IAAMC,uBAAuB,CAACH,SAClCI,IAAIC,SAASL,IAAAA,IACV,OACAA,QAAQ,OAAOA,SAAS,WACtB,WAAWA,QAAQ,OAAOA,KAAKM,UAAU,WACzC;AAER,IAAMC,gBAAgB;AAEf,IAAMC,kBAAkB,CAACC,UAAU,OAAE;AAC1C,SAAOA,QAAQC,UAAU,GAAG,EAAA,EAAIC,MAAM,IAAA,EAAM,CAAA,EAAGC,WAAWL,eAAe,EAAA,EAAIM,KAAI;AACnF;AAEO,IAAMC,oBAAoB,CAACL,UAAU,OAAE;AAC5C,QAAMM,WAAWN,QACdE,MAAM,IAAA,EACNK,OAAO,CAACC,SAAS,CAACA,KAAKC,WAAW,GAAA,CAAA,EAClCF,OAAO,CAACC,SAASA,KAAKJ,KAAI,MAAO,EAAA;AAEpC,SAAOE,SAASI,SAAS,IAAIJ,SAAS,CAAA,EAAGH,WAAWL,eAAe,EAAA,EAAIM,KAAI,IAAK,QAAQ;AAC1F;AAEO,IAAMO,kBAAkBC,SAAS,CAACC,KAAwBb,UAAU,OAAE;AAC3E,QAAMc,OAAOf,gBAAgBC,OAAAA;AAC7B,MAAIa,IAAIE,iBAAiBD,MAAM;AAC7BD,QAAIE,eAAeD;EACrB;AACF,GAAG,GAAA;AAEI,IAAME,aAAuD;EAClEC,WAAW,OAAO,EAAEC,OAAM,MAAE;AAC1B,UAAM,EAAElB,QAAO,IAAK,MAAMkB,OAAOlB,QAAQmB,KAAI;AAC7C,WAAOC,KAAKC,UAAU;MAAEP,MAAMI,OAAOJ;MAAMC,cAAcG,OAAOH;MAAcf;IAAQ,CAAA;EACxF;EAEAsB,aAAa,OAAO,EAAEtB,SAASuB,WAAU,MAAE;AACzC,UAAM,EAAET,MAAMC,cAAcf,QAAO,IAAKoB,KAAKI,MAAMD,UAAAA;AACnD,WAAOE,iBAASC,KAAK;MAAEZ;MAAMC;MAAcf;IAAQ,CAAA;EACrD;AACF;",
6
- "names": ["debounce", "Obj", "isEditorModel", "data", "id", "text", "isMarkdownProperties", "Obj", "isObject", "title", "nonTitleChars", "getFallbackName", "content", "substring", "split", "replaceAll", "trim", "getContentSnippet", "abstract", "filter", "line", "startsWith", "length", "setFallbackName", "debounce", "doc", "name", "fallbackName", "serializer", "serialize", "object", "load", "JSON", "stringify", "deserialize", "serialized", "parse", "Markdown", "make"]
7
- }