@dxos/plugin-markdown 0.8.4-main.2e9d522 → 0.8.4-main.406dc2a

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 (241) hide show
  1. package/dist/lib/browser/MarkdownCard-AGWOTODZ.mjs +83 -0
  2. package/dist/lib/browser/MarkdownCard-AGWOTODZ.mjs.map +7 -0
  3. package/dist/lib/browser/{MarkdownContainer-F3WEEIBX.mjs → MarkdownContainer-MV2UNAUV.mjs} +295 -322
  4. package/dist/lib/browser/MarkdownContainer-MV2UNAUV.mjs.map +7 -0
  5. package/dist/lib/browser/{anchor-sort-UKJJ7ZNP.mjs → anchor-sort-YWJI3BKT.mjs} +7 -7
  6. package/dist/lib/browser/anchor-sort-YWJI3BKT.mjs.map +7 -0
  7. package/dist/lib/browser/{app-graph-serializer-ICLAF662.mjs → app-graph-serializer-KYDFCUOW.mjs} +13 -14
  8. package/dist/lib/browser/app-graph-serializer-KYDFCUOW.mjs.map +7 -0
  9. package/dist/lib/browser/blueprint-definition-BHRMFZAC.mjs +11 -0
  10. package/dist/lib/browser/blueprint-definition-BHRMFZAC.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-LFML7LC6.mjs → chunk-6KU5DKP7.mjs} +12 -12
  12. package/dist/lib/browser/chunk-6KU5DKP7.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-HBBEHOP3.mjs +106 -0
  14. package/dist/lib/browser/chunk-HBBEHOP3.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-LHDCHDBW.mjs → chunk-O6XUPW6S.mjs} +6 -5
  16. package/dist/lib/browser/chunk-O6XUPW6S.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-ODB2PTBP.mjs +28 -0
  18. package/dist/lib/browser/chunk-ODB2PTBP.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-OY6CGPOO.mjs +16 -0
  20. package/dist/lib/browser/chunk-OY6CGPOO.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-XMT6PMU5.mjs +79 -0
  22. package/dist/lib/browser/chunk-XMT6PMU5.mjs.map +7 -0
  23. package/dist/lib/browser/chunk-Z5PDJNBV.mjs +22 -0
  24. package/dist/lib/browser/chunk-Z5PDJNBV.mjs.map +7 -0
  25. package/dist/lib/browser/index.mjs +37 -24
  26. package/dist/lib/browser/index.mjs.map +3 -3
  27. package/dist/lib/browser/intent-resolver-XHVCZZHU.mjs +62 -0
  28. package/dist/lib/browser/intent-resolver-XHVCZZHU.mjs.map +7 -0
  29. package/dist/lib/browser/meta.json +1 -1
  30. package/dist/lib/browser/{react-surface-C3Z423TV.mjs → react-surface-3A2GO3BN.mjs} +55 -46
  31. package/dist/lib/browser/react-surface-3A2GO3BN.mjs.map +7 -0
  32. package/dist/lib/browser/{settings-KN75ZQY6.mjs → settings-XY265Y2Q.mjs} +7 -7
  33. package/dist/lib/browser/settings-XY265Y2Q.mjs.map +7 -0
  34. package/dist/lib/browser/{state-LZWTAS65.mjs → state-6QODXCSZ.mjs} +9 -9
  35. package/dist/lib/browser/state-6QODXCSZ.mjs.map +7 -0
  36. package/dist/lib/browser/toolkit-YA65QX2S.mjs +76 -0
  37. package/dist/lib/browser/toolkit-YA65QX2S.mjs.map +7 -0
  38. package/dist/lib/browser/types/index.mjs +6 -14
  39. package/dist/lib/node-esm/MarkdownCard-B2IWTFOC.mjs +84 -0
  40. package/dist/lib/node-esm/MarkdownCard-B2IWTFOC.mjs.map +7 -0
  41. package/dist/lib/node-esm/{MarkdownContainer-VOUHL6IU.mjs → MarkdownContainer-J2R3DLCQ.mjs} +295 -322
  42. package/dist/lib/node-esm/MarkdownContainer-J2R3DLCQ.mjs.map +7 -0
  43. package/dist/lib/node-esm/{anchor-sort-IPIS5D5B.mjs → anchor-sort-FCRYL2FX.mjs} +7 -7
  44. package/dist/lib/node-esm/anchor-sort-FCRYL2FX.mjs.map +7 -0
  45. package/dist/lib/node-esm/{app-graph-serializer-FLBXQKKR.mjs → app-graph-serializer-FAUQM3BH.mjs} +13 -14
  46. package/dist/lib/node-esm/app-graph-serializer-FAUQM3BH.mjs.map +7 -0
  47. package/dist/lib/node-esm/blueprint-definition-XYFKMIDR.mjs +12 -0
  48. package/dist/lib/node-esm/blueprint-definition-XYFKMIDR.mjs.map +7 -0
  49. package/dist/lib/node-esm/chunk-7RDNIMTF.mjs +24 -0
  50. package/dist/lib/node-esm/chunk-7RDNIMTF.mjs.map +7 -0
  51. package/dist/lib/node-esm/{chunk-ACFGXH2K.mjs → chunk-CB2R4YIY.mjs} +5 -5
  52. package/dist/lib/node-esm/chunk-CB2R4YIY.mjs.map +7 -0
  53. package/dist/lib/node-esm/chunk-FVI7LPC3.mjs +107 -0
  54. package/dist/lib/node-esm/chunk-FVI7LPC3.mjs.map +7 -0
  55. package/dist/lib/node-esm/chunk-FWZKC6X5.mjs +80 -0
  56. package/dist/lib/node-esm/chunk-FWZKC6X5.mjs.map +7 -0
  57. package/dist/lib/node-esm/chunk-VCG2U522.mjs +29 -0
  58. package/dist/lib/node-esm/chunk-VCG2U522.mjs.map +7 -0
  59. package/dist/lib/node-esm/{chunk-VIR2ABYE.mjs → chunk-XO3IEQJE.mjs} +6 -5
  60. package/dist/lib/node-esm/chunk-XO3IEQJE.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-CWTFQSN7.mjs → chunk-ZBXV4ON7.mjs} +12 -12
  62. package/dist/lib/node-esm/chunk-ZBXV4ON7.mjs.map +7 -0
  63. package/dist/lib/node-esm/index.mjs +37 -24
  64. package/dist/lib/node-esm/index.mjs.map +3 -3
  65. package/dist/lib/node-esm/intent-resolver-7A2EXGZQ.mjs +63 -0
  66. package/dist/lib/node-esm/intent-resolver-7A2EXGZQ.mjs.map +7 -0
  67. package/dist/lib/node-esm/meta.json +1 -1
  68. package/dist/lib/node-esm/{react-surface-TTTBYNI2.mjs → react-surface-RCLL5WVQ.mjs} +55 -46
  69. package/dist/lib/node-esm/react-surface-RCLL5WVQ.mjs.map +7 -0
  70. package/dist/lib/node-esm/{settings-KVP7TVX7.mjs → settings-H3UDD3KO.mjs} +7 -7
  71. package/dist/lib/node-esm/settings-H3UDD3KO.mjs.map +7 -0
  72. package/dist/lib/node-esm/{state-NW3W4JCQ.mjs → state-W3PECOJX.mjs} +9 -9
  73. package/dist/lib/node-esm/state-W3PECOJX.mjs.map +7 -0
  74. package/dist/lib/node-esm/toolkit-HSIKUGNK.mjs +77 -0
  75. package/dist/lib/node-esm/toolkit-HSIKUGNK.mjs.map +7 -0
  76. package/dist/lib/node-esm/types/index.mjs +6 -14
  77. package/dist/types/src/MarkdownPlugin.d.ts +1 -1
  78. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  79. package/dist/types/src/capabilities/anchor-sort.d.ts +2 -2
  80. package/dist/types/src/capabilities/app-graph-serializer.d.ts +1 -1
  81. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  82. package/dist/types/src/capabilities/artifact-definition.d.ts +1 -9
  83. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  84. package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -0
  85. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
  86. package/dist/types/src/capabilities/capabilities.d.ts +1 -1
  87. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  88. package/dist/types/src/capabilities/index.d.ts +12 -10
  89. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  90. package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
  91. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  92. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  93. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  94. package/dist/types/src/capabilities/settings.d.ts +1 -1
  95. package/dist/types/src/capabilities/state.d.ts +2 -2
  96. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  97. package/dist/types/src/capabilities/toolkit.d.ts +4 -0
  98. package/dist/types/src/capabilities/toolkit.d.ts.map +1 -0
  99. package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts +7 -0
  100. package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts.map +1 -0
  101. package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts +9 -0
  102. package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts.map +1 -0
  103. package/dist/types/src/components/MarkdownCard/index.d.ts +4 -0
  104. package/dist/types/src/components/MarkdownCard/index.d.ts.map +1 -0
  105. package/dist/types/src/components/MarkdownContainer.d.ts +5 -5
  106. package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
  107. package/dist/types/src/components/MarkdownContainer.stories.d.ts +51 -5
  108. package/dist/types/src/components/MarkdownContainer.stories.d.ts.map +1 -1
  109. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +6 -6
  110. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
  111. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts +111 -13
  112. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts.map +1 -1
  113. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts +2 -2
  114. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts.map +1 -1
  115. package/dist/types/src/components/Suggestions.stories.d.ts +3 -4
  116. package/dist/types/src/components/Suggestions.stories.d.ts.map +1 -1
  117. package/dist/types/src/components/Toolbar.stories.d.ts +45 -8
  118. package/dist/types/src/components/Toolbar.stories.d.ts.map +1 -1
  119. package/dist/types/src/components/index.d.ts +1 -1
  120. package/dist/types/src/components/index.d.ts.map +1 -1
  121. package/dist/types/src/events.d.ts.map +1 -1
  122. package/dist/types/src/extensions.d.ts +3 -5
  123. package/dist/types/src/extensions.d.ts.map +1 -1
  124. package/dist/types/src/functions/diff.d.ts +6 -0
  125. package/dist/types/src/functions/diff.d.ts.map +1 -0
  126. package/dist/types/src/functions/index.d.ts +3 -0
  127. package/dist/types/src/functions/index.d.ts.map +1 -0
  128. package/dist/types/src/functions/open.d.ts +7 -0
  129. package/dist/types/src/functions/open.d.ts.map +1 -0
  130. package/dist/types/src/hooks/useSelectCurrentThread.d.ts +1 -1
  131. package/dist/types/src/hooks/useSelectCurrentThread.d.ts.map +1 -1
  132. package/dist/types/src/index.d.ts +2 -1
  133. package/dist/types/src/index.d.ts.map +1 -1
  134. package/dist/types/src/meta.d.ts +0 -1
  135. package/dist/types/src/meta.d.ts.map +1 -1
  136. package/dist/types/src/translations.d.ts +3 -2
  137. package/dist/types/src/translations.d.ts.map +1 -1
  138. package/dist/types/src/types/Markdown.d.ts +45 -0
  139. package/dist/types/src/types/Markdown.d.ts.map +1 -0
  140. package/dist/types/src/types/MarkdownAction.d.ts +34 -0
  141. package/dist/types/src/types/MarkdownAction.d.ts.map +1 -0
  142. package/dist/types/src/types/index.d.ts +2 -1
  143. package/dist/types/src/types/index.d.ts.map +1 -1
  144. package/dist/types/src/types/types.d.ts +3 -59
  145. package/dist/types/src/types/types.d.ts.map +1 -1
  146. package/dist/types/src/util.d.ts +13 -4
  147. package/dist/types/src/util.d.ts.map +1 -1
  148. package/dist/types/tsconfig.tsbuildinfo +1 -1
  149. package/package.json +57 -52
  150. package/src/MarkdownPlugin.tsx +103 -95
  151. package/src/capabilities/anchor-sort.ts +3 -3
  152. package/src/capabilities/app-graph-serializer.ts +9 -7
  153. package/src/capabilities/artifact-definition.ts +20 -24
  154. package/src/capabilities/blueprint-definition.ts +39 -0
  155. package/src/capabilities/capabilities.ts +5 -4
  156. package/src/capabilities/index.ts +3 -1
  157. package/src/capabilities/intent-resolver.ts +16 -21
  158. package/src/capabilities/react-surface.tsx +21 -19
  159. package/src/capabilities/settings.ts +3 -3
  160. package/src/capabilities/state.ts +8 -8
  161. package/src/capabilities/toolkit.ts +49 -0
  162. package/src/components/MarkdownCard/MarkdownCard.stories.tsx +76 -0
  163. package/src/components/MarkdownCard/MarkdownCard.tsx +76 -0
  164. package/src/components/MarkdownCard/index.ts +9 -0
  165. package/src/components/MarkdownContainer.stories.tsx +47 -41
  166. package/src/components/MarkdownContainer.tsx +26 -23
  167. package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +21 -17
  168. package/src/components/MarkdownEditor/MarkdownEditor.tsx +52 -52
  169. package/src/components/MarkdownSettings/MarkdownSettings.tsx +81 -78
  170. package/src/components/Suggestions.stories.tsx +49 -51
  171. package/src/components/Toolbar.stories.tsx +23 -18
  172. package/src/components/index.ts +1 -1
  173. package/src/events.ts +2 -2
  174. package/src/extensions.tsx +13 -41
  175. package/src/functions/diff.ts +37 -0
  176. package/src/functions/index.ts +6 -0
  177. package/src/functions/open.ts +32 -0
  178. package/src/hooks/useSelectCurrentThread.tsx +5 -5
  179. package/src/index.ts +4 -1
  180. package/src/meta.ts +7 -8
  181. package/src/translations.ts +3 -2
  182. package/src/types/Markdown.ts +58 -0
  183. package/src/types/MarkdownAction.ts +29 -0
  184. package/src/types/index.ts +2 -1
  185. package/src/types/types.ts +6 -50
  186. package/src/util.tsx +28 -8
  187. package/dist/lib/browser/MarkdownContainer-F3WEEIBX.mjs.map +0 -7
  188. package/dist/lib/browser/MarkdownPreview-S3C7CGAV.mjs +0 -80
  189. package/dist/lib/browser/MarkdownPreview-S3C7CGAV.mjs.map +0 -7
  190. package/dist/lib/browser/anchor-sort-UKJJ7ZNP.mjs.map +0 -7
  191. package/dist/lib/browser/app-graph-serializer-ICLAF662.mjs.map +0 -7
  192. package/dist/lib/browser/artifact-definition-R2YYWOPN.mjs +0 -145
  193. package/dist/lib/browser/artifact-definition-R2YYWOPN.mjs.map +0 -7
  194. package/dist/lib/browser/chunk-777RIED6.mjs +0 -16
  195. package/dist/lib/browser/chunk-777RIED6.mjs.map +0 -7
  196. package/dist/lib/browser/chunk-EPTSAJZM.mjs +0 -22
  197. package/dist/lib/browser/chunk-EPTSAJZM.mjs.map +0 -7
  198. package/dist/lib/browser/chunk-LFML7LC6.mjs.map +0 -7
  199. package/dist/lib/browser/chunk-LHDCHDBW.mjs.map +0 -7
  200. package/dist/lib/browser/chunk-PHTD5DTR.mjs +0 -20
  201. package/dist/lib/browser/chunk-PHTD5DTR.mjs.map +0 -7
  202. package/dist/lib/browser/chunk-UANWRJZU.mjs +0 -79
  203. package/dist/lib/browser/chunk-UANWRJZU.mjs.map +0 -7
  204. package/dist/lib/browser/intent-resolver-3MXYO3MW.mjs +0 -64
  205. package/dist/lib/browser/intent-resolver-3MXYO3MW.mjs.map +0 -7
  206. package/dist/lib/browser/react-surface-C3Z423TV.mjs.map +0 -7
  207. package/dist/lib/browser/settings-KN75ZQY6.mjs.map +0 -7
  208. package/dist/lib/browser/state-LZWTAS65.mjs.map +0 -7
  209. package/dist/lib/node-esm/MarkdownContainer-VOUHL6IU.mjs.map +0 -7
  210. package/dist/lib/node-esm/MarkdownPreview-77UFEWXT.mjs +0 -81
  211. package/dist/lib/node-esm/MarkdownPreview-77UFEWXT.mjs.map +0 -7
  212. package/dist/lib/node-esm/anchor-sort-IPIS5D5B.mjs.map +0 -7
  213. package/dist/lib/node-esm/app-graph-serializer-FLBXQKKR.mjs.map +0 -7
  214. package/dist/lib/node-esm/artifact-definition-MLTAY4LK.mjs +0 -146
  215. package/dist/lib/node-esm/artifact-definition-MLTAY4LK.mjs.map +0 -7
  216. package/dist/lib/node-esm/chunk-7X6TPTJK.mjs +0 -22
  217. package/dist/lib/node-esm/chunk-7X6TPTJK.mjs.map +0 -7
  218. package/dist/lib/node-esm/chunk-ACFGXH2K.mjs.map +0 -7
  219. package/dist/lib/node-esm/chunk-CWTFQSN7.mjs.map +0 -7
  220. package/dist/lib/node-esm/chunk-CXG7GMYP.mjs +0 -24
  221. package/dist/lib/node-esm/chunk-CXG7GMYP.mjs.map +0 -7
  222. package/dist/lib/node-esm/chunk-JEEQLO7C.mjs +0 -80
  223. package/dist/lib/node-esm/chunk-JEEQLO7C.mjs.map +0 -7
  224. package/dist/lib/node-esm/chunk-VIR2ABYE.mjs.map +0 -7
  225. package/dist/lib/node-esm/intent-resolver-BZYWV53A.mjs +0 -65
  226. package/dist/lib/node-esm/intent-resolver-BZYWV53A.mjs.map +0 -7
  227. package/dist/lib/node-esm/react-surface-TTTBYNI2.mjs.map +0 -7
  228. package/dist/lib/node-esm/settings-KVP7TVX7.mjs.map +0 -7
  229. package/dist/lib/node-esm/state-NW3W4JCQ.mjs.map +0 -7
  230. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts +0 -6
  231. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts.map +0 -1
  232. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts +0 -42
  233. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts.map +0 -1
  234. package/dist/types/src/components/MarkdownPreview/index.d.ts +0 -4
  235. package/dist/types/src/components/MarkdownPreview/index.d.ts.map +0 -1
  236. package/dist/types/src/types/schema.d.ts +0 -35
  237. package/dist/types/src/types/schema.d.ts.map +0 -1
  238. package/src/components/MarkdownPreview/MarkdownPreview.stories.tsx +0 -81
  239. package/src/components/MarkdownPreview/MarkdownPreview.tsx +0 -73
  240. package/src/components/MarkdownPreview/index.ts +0 -9
  241. package/src/types/schema.ts +0 -39
@@ -1,16 +1,16 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
- DocumentType
4
- } from "./chunk-JEEQLO7C.mjs";
3
+ Markdown_exports
4
+ } from "./chunk-FWZKC6X5.mjs";
5
5
  import {
6
6
  meta
7
- } from "./chunk-CXG7GMYP.mjs";
7
+ } from "./chunk-VCG2U522.mjs";
8
8
 
9
9
  // src/translations.ts
10
10
  var translations = [
11
11
  {
12
12
  "en-US": {
13
- [DocumentType.typename]: {
13
+ [Markdown_exports.Document.typename]: {
14
14
  "typename label": "Document",
15
15
  "typename label_zero": "Documents",
16
16
  "typename label_one": "Document",
@@ -21,6 +21,7 @@ var translations = [
21
21
  },
22
22
  [meta.id]: {
23
23
  "plugin name": "Editor",
24
+ "settings title": "Editor settings",
24
25
  "choose markdown from space dialog title": "Choose one or more documents to add",
25
26
  // TODO(burdon): Style-guide for user-facing text (e.g., hints, questions, capitalization, etc.)
26
27
  "empty choose markdown from space message": "None available; try creating a new one instead?",
@@ -50,4 +51,4 @@ var translations = [
50
51
  export {
51
52
  translations
52
53
  };
53
- //# sourceMappingURL=chunk-VIR2ABYE.mjs.map
54
+ //# sourceMappingURL=chunk-XO3IEQJE.mjs.map
@@ -0,0 +1,7 @@
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,19 +1,20 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
- DocumentType
4
- } from "./chunk-JEEQLO7C.mjs";
3
+ Markdown_exports
4
+ } from "./chunk-FWZKC6X5.mjs";
5
5
 
6
6
  // src/util.tsx
7
7
  import { debounce } from "@dxos/async";
8
- import { Obj, Ref } from "@dxos/echo";
9
- import { DataType } from "@dxos/schema";
8
+ import { Obj } from "@dxos/echo";
9
+ var isEditorModel = (data) => data && typeof data === "object" && "id" in data && typeof data.id === "string" && "text" in data && typeof data.text === "string";
10
10
  var isMarkdownProperties = (data) => Obj.isObject(data) ? true : data && typeof data === "object" ? "title" in data && typeof data.title === "string" : false;
11
11
  var nonTitleChars = /[^\w ]/g;
12
12
  var getFallbackName = (content) => {
13
13
  return content.substring(0, 31).split("\n")[0].replaceAll(nonTitleChars, "").trim();
14
14
  };
15
- var getAbstract = (content) => {
16
- return content.substring(0, 128).split("\n")[0].replaceAll(nonTitleChars, "").trim();
15
+ var getContentSnippet = (content) => {
16
+ const abstract = content.split("\n").filter((line) => !line.startsWith("#")).filter((line) => line.trim() !== "")[0].replaceAll(nonTitleChars, "").trim();
17
+ return abstract;
17
18
  };
18
19
  var setFallbackName = debounce((doc, content) => {
19
20
  const name = getFallbackName(content);
@@ -32,21 +33,20 @@ var serializer = {
32
33
  },
33
34
  deserialize: async ({ content: serialized }) => {
34
35
  const { name, fallbackName, content } = JSON.parse(serialized);
35
- return Obj.make(DocumentType, {
36
+ return Markdown_exports.makeDocument({
36
37
  name,
37
38
  fallbackName,
38
- content: Ref.make(Obj.make(DataType.Text, {
39
- content
40
- }))
39
+ content
41
40
  });
42
41
  }
43
42
  };
44
43
 
45
44
  export {
45
+ isEditorModel,
46
46
  isMarkdownProperties,
47
47
  getFallbackName,
48
- getAbstract,
48
+ getContentSnippet,
49
49
  setFallbackName,
50
50
  serializer
51
51
  };
52
- //# sourceMappingURL=chunk-CWTFQSN7.mjs.map
52
+ //# sourceMappingURL=chunk-ZBXV4ON7.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { debounce } from '@dxos/async';\nimport { Obj } from '@dxos/echo';\nimport { type TypedObjectSerializer } from '@dxos/plugin-space/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: string) => {\n return content.substring(0, 31).split('\\n')[0].replaceAll(nonTitleChars, '').trim();\n};\n\nexport const getContentSnippet = (content: string) => {\n const abstract = content\n .split('\\n')\n .filter((line) => !line.startsWith('#'))\n .filter((line) => line.trim() !== '')[0]\n .replaceAll(nonTitleChars, '')\n .trim();\n return abstract;\n};\n\nexport const setFallbackName = debounce((doc: Markdown.Document, content: string) => {\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.makeDocument({ 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,YAAAA;AAC9B,SAAOA,QAAQC,UAAU,GAAG,EAAA,EAAIC,MAAM,IAAA,EAAM,CAAA,EAAGC,WAAWL,eAAe,EAAA,EAAIM,KAAI;AACnF;AAEO,IAAMC,oBAAoB,CAACL,YAAAA;AAChC,QAAMM,WAAWN,QACdE,MAAM,IAAA,EACNK,OAAO,CAACC,SAAS,CAACA,KAAKC,WAAW,GAAA,CAAA,EAClCF,OAAO,CAACC,SAASA,KAAKJ,KAAI,MAAO,EAAA,EAAI,CAAA,EACrCD,WAAWL,eAAe,EAAA,EAC1BM,KAAI;AACP,SAAOE;AACT;AAEO,IAAMI,kBAAkBC,SAAS,CAACC,KAAwBZ,YAAAA;AAC/D,QAAMa,OAAOd,gBAAgBC,OAAAA;AAC7B,MAAIY,IAAIE,iBAAiBD,MAAM;AAC7BD,QAAIE,eAAeD;EACrB;AACF,GAAG,GAAA;AAEI,IAAME,aAAuD;EAClEC,WAAW,OAAO,EAAEC,OAAM,MAAE;AAC1B,UAAM,EAAEjB,QAAO,IAAK,MAAMiB,OAAOjB,QAAQkB,KAAI;AAC7C,WAAOC,KAAKC,UAAU;MAAEP,MAAMI,OAAOJ;MAAMC,cAAcG,OAAOH;MAAcd;IAAQ,CAAA;EACxF;EAEAqB,aAAa,OAAO,EAAErB,SAASsB,WAAU,MAAE;AACzC,UAAM,EAAET,MAAMC,cAAcd,QAAO,IAAKmB,KAAKI,MAAMD,UAAAA;AACnD,WAAOE,iBAASC,aAAa;MAAEZ;MAAMC;MAAcd;IAAQ,CAAA;EAC7D;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", "setFallbackName", "debounce", "doc", "name", "fallbackName", "serializer", "serialize", "object", "load", "JSON", "stringify", "deserialize", "serialized", "parse", "Markdown", "makeDocument"]
7
+ }
@@ -1,44 +1,48 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  translations
4
- } from "./chunk-VIR2ABYE.mjs";
4
+ } from "./chunk-XO3IEQJE.mjs";
5
5
  import {
6
6
  AnchorSort,
7
7
  AppGraphSerializer,
8
- ArtifactDefinition,
8
+ BlueprintDefinition,
9
9
  IntentResolver,
10
10
  MarkdownSettings,
11
11
  MarkdownState,
12
- ReactSurface
13
- } from "./chunk-7X6TPTJK.mjs";
12
+ ReactSurface,
13
+ Toolkit
14
+ } from "./chunk-7RDNIMTF.mjs";
15
+ import {
16
+ BLUEPRINT_KEY
17
+ } from "./chunk-FVI7LPC3.mjs";
14
18
  import {
15
19
  MarkdownCapabilities
16
- } from "./chunk-ACFGXH2K.mjs";
20
+ } from "./chunk-CB2R4YIY.mjs";
17
21
  import {
18
- getAbstract,
22
+ getContentSnippet,
19
23
  getFallbackName,
24
+ isEditorModel,
20
25
  isMarkdownProperties,
21
26
  serializer,
22
27
  setFallbackName
23
- } from "./chunk-CWTFQSN7.mjs";
28
+ } from "./chunk-ZBXV4ON7.mjs";
24
29
  import {
25
- DocumentType,
26
- MarkdownAction
27
- } from "./chunk-JEEQLO7C.mjs";
30
+ MarkdownAction_exports,
31
+ Markdown_exports
32
+ } from "./chunk-FWZKC6X5.mjs";
28
33
  import {
29
- MARKDOWN_PLUGIN,
30
34
  meta
31
- } from "./chunk-CXG7GMYP.mjs";
35
+ } from "./chunk-VCG2U522.mjs";
32
36
 
33
37
  // src/events.ts
34
38
  import { Events } from "@dxos/app-framework";
35
39
  (function(MarkdownEvents2) {
36
- MarkdownEvents2.SetupExtensions = Events.createStateEvent(`${MARKDOWN_PLUGIN}/setup-extensions`);
40
+ MarkdownEvents2.SetupExtensions = Events.createStateEvent(`${meta.id}/event/setup-extensions`);
37
41
  })(MarkdownEvents || (MarkdownEvents = {}));
38
42
  var MarkdownEvents;
39
43
 
40
44
  // src/MarkdownPlugin.tsx
41
- import { Capabilities, contributes, createIntent, defineModule, definePlugin, Events as Events2 } from "@dxos/app-framework";
45
+ import { Capabilities, Events as Events2, contributes, createIntent, defineModule, definePlugin } from "@dxos/app-framework";
42
46
  import { Ref } from "@dxos/echo";
43
47
  import { ClientCapabilities, ClientEvents } from "@dxos/plugin-client";
44
48
  import { SpaceCapabilities } from "@dxos/plugin-space";
@@ -46,7 +50,7 @@ import { defineObjectForm } from "@dxos/plugin-space/types";
46
50
  import { createDocAccessor, getTextInRange } from "@dxos/react-client/echo";
47
51
  import { translations as editorTranslations } from "@dxos/react-ui-editor";
48
52
  import { DataType } from "@dxos/schema";
49
- var MarkdownPlugin = () => definePlugin(meta, [
53
+ var MarkdownPlugin = definePlugin(meta, () => [
50
54
  defineModule({
51
55
  id: `${meta.id}/module/translations`,
52
56
  activatesOn: Events2.SetupTranslations,
@@ -72,10 +76,13 @@ var MarkdownPlugin = () => definePlugin(meta, [
72
76
  id: `${meta.id}/module/metadata`,
73
77
  activatesOn: Events2.SetupMetadata,
74
78
  activate: () => contributes(Capabilities.Metadata, {
75
- id: DocumentType.typename,
79
+ id: Markdown_exports.Document.typename,
76
80
  metadata: {
77
81
  label: (object) => object.name || object.fallbackName,
78
82
  icon: "ph--text-aa--regular",
83
+ blueprints: [
84
+ BLUEPRINT_KEY
85
+ ],
79
86
  graphProps: {
80
87
  managesAutofocus: true
81
88
  },
@@ -102,10 +109,8 @@ var MarkdownPlugin = () => definePlugin(meta, [
102
109
  id: `${meta.id}/module/object-form`,
103
110
  activatesOn: ClientEvents.SetupSchema,
104
111
  activate: () => contributes(SpaceCapabilities.ObjectForm, defineObjectForm({
105
- objectSchema: DocumentType,
106
- getIntent: (_, { space }) => createIntent(MarkdownAction.Create, {
107
- spaceId: space.id
108
- })
112
+ objectSchema: Markdown_exports.Document,
113
+ getIntent: () => createIntent(MarkdownAction_exports.Create, {})
109
114
  }))
110
115
  }),
111
116
  defineModule({
@@ -141,18 +146,26 @@ var MarkdownPlugin = () => definePlugin(meta, [
141
146
  activate: AnchorSort
142
147
  }),
143
148
  defineModule({
144
- id: `${meta.id}/module/artifact-definition`,
149
+ id: `${meta.id}/module/blueprint`,
145
150
  activatesOn: Events2.SetupArtifactDefinition,
146
- activate: ArtifactDefinition
151
+ activate: BlueprintDefinition
152
+ }),
153
+ defineModule({
154
+ id: `${meta.id}/module/toolkit`,
155
+ // TODO(wittjosiah): Use a different event.
156
+ activatesOn: Events2.Startup,
157
+ activate: Toolkit
147
158
  })
148
159
  ]);
149
160
  export {
150
- MARKDOWN_PLUGIN,
161
+ Markdown_exports as Markdown,
162
+ MarkdownAction_exports as MarkdownAction,
151
163
  MarkdownCapabilities,
152
164
  MarkdownEvents,
153
165
  MarkdownPlugin,
154
- getAbstract,
166
+ getContentSnippet,
155
167
  getFallbackName,
168
+ isEditorModel,
156
169
  isMarkdownProperties,
157
170
  meta,
158
171
  serializer,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/events.ts", "../../../src/MarkdownPlugin.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Events } from '@dxos/app-framework';\n\nimport { MARKDOWN_PLUGIN } from './meta';\n\nexport namespace MarkdownEvents {\n export const SetupExtensions = Events.createStateEvent(`${MARKDOWN_PLUGIN}/setup-extensions`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, defineModule, definePlugin, Events } from '@dxos/app-framework';\nimport { type Obj, Ref } from '@dxos/echo';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { SpaceCapabilities } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\nimport { createDocAccessor, getTextInRange } from '@dxos/react-client/echo';\nimport { translations as editorTranslations } from '@dxos/react-ui-editor';\nimport { DataType } from '@dxos/schema';\n\nimport {\n AnchorSort,\n AppGraphSerializer,\n ArtifactDefinition,\n IntentResolver,\n MarkdownState,\n MarkdownSettings,\n ReactSurface,\n} from './capabilities';\nimport { MarkdownEvents } from './events';\nimport { meta } from './meta';\nimport { translations } from './translations';\nimport { DocumentType, MarkdownAction } from './types';\nimport { serializer } from './util';\n\nexport const MarkdownPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, ...editorTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: MarkdownSettings,\n }),\n defineModule({\n id: `${meta.id}/module/state`,\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: Events.SetupSettings,\n activate: MarkdownState,\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: DocumentType.typename,\n metadata: {\n label: (object: DocumentType) => object.name || object.fallbackName,\n icon: 'ph--text-aa--regular',\n graphProps: {\n managesAutofocus: true,\n },\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (doc: DocumentType) => await Ref.Array.loadAll<Obj.Any>([doc.content]),\n serializer,\n // TODO(wittjosiah): Consider how to do generic comments without these.\n comments: 'anchored',\n selectionMode: 'multi-range',\n getAnchorLabel: (doc: DocumentType, anchor: string): string | undefined => {\n if (doc.content) {\n const [start, end] = anchor.split(':');\n return getTextInRange(createDocAccessor(doc.content.target!, ['content']), start, end);\n }\n },\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: DocumentType,\n getIntent: (_, { space }) => createIntent(MarkdownAction.Create, { spaceId: space.id }),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => contributes(ClientCapabilities.Schema, [DataType.Text]),\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the editor is loaded when surfaces activation is more granular.\n activatesBefore: [MarkdownEvents.SetupExtensions],\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-serializer`,\n activatesOn: Events.AppGraphReady,\n activate: AppGraphSerializer,\n }),\n defineModule({\n id: `${meta.id}/module/anchor-sort`,\n // TODO(wittjosiah): More relevant event?\n activatesOn: Events.AppGraphReady,\n activate: AnchorSort,\n }),\n defineModule({\n id: `${meta.id}/module/artifact-definition`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: ArtifactDefinition,\n }),\n ]);\n"],
5
- "mappings": "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",
6
- "names": ["Events", "MarkdownEvents", "SetupExtensions", "Events", "createStateEvent", "MARKDOWN_PLUGIN", "Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "Ref", "ClientCapabilities", "ClientEvents", "SpaceCapabilities", "defineObjectForm", "createDocAccessor", "getTextInRange", "translations", "editorTranslations", "DataType", "MarkdownPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "editorTranslations", "SetupSettings", "MarkdownSettings", "MarkdownState", "SetupMetadata", "Metadata", "DocumentType", "typename", "metadata", "label", "object", "name", "fallbackName", "icon", "graphProps", "managesAutofocus", "loadReferences", "doc", "Ref", "Array", "loadAll", "content", "serializer", "comments", "selectionMode", "getAnchorLabel", "anchor", "start", "end", "split", "getTextInRange", "createDocAccessor", "target", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "getIntent", "_", "space", "createIntent", "MarkdownAction", "Create", "spaceId", "ClientCapabilities", "Schema", "DataType", "Text", "SetupReactSurface", "activatesBefore", "MarkdownEvents", "SetupExtensions", "ReactSurface", "SetupIntentResolver", "IntentResolver", "AppGraphReady", "AppGraphSerializer", "AnchorSort", "SetupArtifactDefinition", "ArtifactDefinition"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Events } from '@dxos/app-framework';\n\nimport { meta } from './meta';\n\nexport namespace MarkdownEvents {\n export const SetupExtensions = Events.createStateEvent(`${meta.id}/event/setup-extensions`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from '@dxos/app-framework';\nimport { type Obj, Ref } from '@dxos/echo';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { SpaceCapabilities } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\nimport { createDocAccessor, getTextInRange } from '@dxos/react-client/echo';\nimport { translations as editorTranslations } from '@dxos/react-ui-editor';\nimport { DataType } from '@dxos/schema';\n\nimport {\n AnchorSort,\n AppGraphSerializer,\n BLUEPRINT_KEY,\n BlueprintDefinition,\n IntentResolver,\n MarkdownSettings,\n MarkdownState,\n ReactSurface,\n Toolkit,\n} from './capabilities';\nimport { MarkdownEvents } from './events';\nimport { meta } from './meta';\nimport { translations } from './translations';\nimport { Markdown, MarkdownAction } from './types';\nimport { serializer } from './util';\n\nexport const MarkdownPlugin = definePlugin(meta, () => [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, ...editorTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: MarkdownSettings,\n }),\n defineModule({\n id: `${meta.id}/module/state`,\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: Events.SetupSettings,\n activate: MarkdownState,\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: Markdown.Document.typename,\n metadata: {\n label: (object: Markdown.Document) => object.name || object.fallbackName,\n icon: 'ph--text-aa--regular',\n blueprints: [BLUEPRINT_KEY],\n graphProps: {\n managesAutofocus: true,\n },\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (doc: Markdown.Document) => await Ref.Array.loadAll<Obj.Any>([doc.content]),\n serializer,\n // TODO(wittjosiah): Consider how to do generic comments without these.\n comments: 'anchored',\n selectionMode: 'multi-range',\n getAnchorLabel: (doc: Markdown.Document, anchor: string): string | undefined => {\n if (doc.content) {\n const [start, end] = anchor.split(':');\n return getTextInRange(createDocAccessor(doc.content.target!, ['content']), start, end);\n }\n },\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: Markdown.Document,\n getIntent: () => createIntent(MarkdownAction.Create, {}),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => contributes(ClientCapabilities.Schema, [DataType.Text]),\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the editor is loaded when surfaces activation is more granular.\n activatesBefore: [MarkdownEvents.SetupExtensions],\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-serializer`,\n activatesOn: Events.AppGraphReady,\n activate: AppGraphSerializer,\n }),\n defineModule({\n id: `${meta.id}/module/anchor-sort`,\n // TODO(wittjosiah): More relevant event?\n activatesOn: Events.AppGraphReady,\n activate: AnchorSort,\n }),\n defineModule({\n id: `${meta.id}/module/blueprint`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: BlueprintDefinition,\n }),\n defineModule({\n id: `${meta.id}/module/toolkit`,\n // TODO(wittjosiah): Use a different event.\n activatesOn: Events.Startup,\n activate: Toolkit,\n }),\n]);\n"],
5
+ "mappings": "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",
6
+ "names": ["Events", "MarkdownEvents", "SetupExtensions", "Events", "createStateEvent", "meta", "id", "Capabilities", "Events", "contributes", "createIntent", "defineModule", "definePlugin", "Ref", "ClientCapabilities", "ClientEvents", "SpaceCapabilities", "defineObjectForm", "createDocAccessor", "getTextInRange", "translations", "editorTranslations", "DataType", "MarkdownPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "editorTranslations", "SetupSettings", "MarkdownSettings", "MarkdownState", "SetupMetadata", "Metadata", "Markdown", "Document", "typename", "metadata", "label", "object", "name", "fallbackName", "icon", "blueprints", "BLUEPRINT_KEY", "graphProps", "managesAutofocus", "loadReferences", "doc", "Ref", "Array", "loadAll", "content", "serializer", "comments", "selectionMode", "getAnchorLabel", "anchor", "start", "end", "split", "getTextInRange", "createDocAccessor", "target", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "getIntent", "createIntent", "MarkdownAction", "Create", "ClientCapabilities", "Schema", "DataType", "Text", "SetupReactSurface", "activatesBefore", "MarkdownEvents", "SetupExtensions", "ReactSurface", "SetupIntentResolver", "IntentResolver", "AppGraphReady", "AppGraphSerializer", "AnchorSort", "SetupArtifactDefinition", "BlueprintDefinition", "Startup", "Toolkit"]
7
7
  }
@@ -0,0 +1,63 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ MarkdownCapabilities
4
+ } from "./chunk-CB2R4YIY.mjs";
5
+ import {
6
+ MarkdownAction_exports,
7
+ Markdown_exports
8
+ } from "./chunk-FWZKC6X5.mjs";
9
+ import "./chunk-VCG2U522.mjs";
10
+
11
+ // src/capabilities/intent-resolver.ts
12
+ import { next as A } from "@automerge/automerge";
13
+ import * as Option from "effect/Option";
14
+ import { Capabilities, CollaborationActions, contributes, createResolver } from "@dxos/app-framework";
15
+ import { Obj } from "@dxos/echo";
16
+ import { createDocAccessor, getRangeFromCursor } from "@dxos/react-client/echo";
17
+ var intent_resolver_default = ((context) => contributes(Capabilities.IntentResolver, [
18
+ createResolver({
19
+ intent: MarkdownAction_exports.Create,
20
+ resolve: ({ name, content }) => {
21
+ return {
22
+ data: {
23
+ object: Markdown_exports.makeDocument({
24
+ name,
25
+ content
26
+ })
27
+ }
28
+ };
29
+ }
30
+ }),
31
+ createResolver({
32
+ intent: MarkdownAction_exports.SetViewMode,
33
+ resolve: ({ id, viewMode }) => {
34
+ const { state } = context.getCapability(MarkdownCapabilities.State);
35
+ state.viewMode[id] = viewMode;
36
+ }
37
+ }),
38
+ createResolver({
39
+ intent: CollaborationActions.AcceptProposal,
40
+ filter: (data) => Obj.instanceOf(Markdown_exports.Document, data.subject),
41
+ resolve: async ({ subject, anchor, proposal }) => {
42
+ const text = await subject.content.load();
43
+ const accessor = createDocAccessor(text, [
44
+ "content"
45
+ ]);
46
+ const { start, end } = Option.fromNullable(anchor).pipe(
47
+ Option.flatMap((at) => Option.fromNullable(getRangeFromCursor(accessor, at))),
48
+ // Fallback to the end of the document.
49
+ Option.getOrElse(() => ({
50
+ start: text.content.length - 1,
51
+ end: text.content.length - 1
52
+ }))
53
+ );
54
+ accessor.handle.change((doc) => {
55
+ A.splice(doc, accessor.path.slice(), start, end - start, proposal.text);
56
+ });
57
+ }
58
+ })
59
+ ]));
60
+ export {
61
+ intent_resolver_default as default
62
+ };
63
+ //# sourceMappingURL=intent-resolver-7A2EXGZQ.mjs.map
@@ -0,0 +1,7 @@
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 * as Option from 'effect/Option';\nimport type * as Schema from 'effect/Schema';\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,YAAYC,YAAY;AAGxB,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,IAAYC,oBAAaR,MAAAA,EAAQS;QAC1CC,eAAQ,CAACC,OAAcH,oBAAaI,mBAAmBR,UAAUO,EAAAA,CAAAA,CAAAA;;QAEjEE,iBAAU,OAAO;UAAEP,OAAOJ,KAAKrB,QAAQiC,SAAS;UAAGP,KAAKL,KAAKrB,QAAQiC,SAAS;QAAE,EAAA;MAAA;AAEzFV,eAASW,OAAOC,OAAO,CAACC,QAAAA;AACtBC,UAAEC,OAAOF,KAAKb,SAASgB,KAAKC,MAAK,GAAIf,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", "fromNullable", "pipe", "flatMap", "at", "getRangeFromCursor", "getOrElse", "length", "handle", "change", "doc", "A", "splice", "path", "slice"]
7
+ }