@dxos/plugin-markdown 0.8.2-main.f11618f → 0.8.2-staging.42af850

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 (210) hide show
  1. package/dist/lib/browser/MarkdownContainer-5IEINNQB.mjs +588 -0
  2. package/dist/lib/browser/MarkdownContainer-5IEINNQB.mjs.map +7 -0
  3. package/dist/lib/browser/MarkdownPreview-YW5CS3ID.mjs +87 -0
  4. package/dist/lib/browser/MarkdownPreview-YW5CS3ID.mjs.map +7 -0
  5. package/dist/lib/browser/anchor-sort-VS4OZVPP.mjs +32 -0
  6. package/dist/lib/browser/anchor-sort-VS4OZVPP.mjs.map +7 -0
  7. package/dist/lib/browser/{app-graph-serializer-OCXP7PCK.mjs → app-graph-serializer-V6RLEHVY.mjs} +5 -6
  8. package/dist/lib/browser/app-graph-serializer-V6RLEHVY.mjs.map +7 -0
  9. package/dist/lib/browser/{artifact-definition-XTVOUMMI.mjs → artifact-definition-5NAODQLG.mjs} +65 -17
  10. package/dist/lib/browser/artifact-definition-5NAODQLG.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-QV6ZIXAD.mjs → chunk-77NGW7EO.mjs} +6 -7
  12. package/dist/lib/browser/chunk-77NGW7EO.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-ACAID3XF.mjs +20 -0
  14. package/dist/lib/browser/chunk-ACAID3XF.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-LJ2UFBJ2.mjs → chunk-C5RABVIX.mjs} +3 -4
  16. package/dist/lib/browser/chunk-C5RABVIX.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-ECSM56YC.mjs +80 -0
  18. package/dist/lib/browser/chunk-ECSM56YC.mjs.map +7 -0
  19. package/dist/lib/browser/{chunk-NAGMSX77.mjs → chunk-QVJETNGS.mjs} +2 -2
  20. package/dist/lib/{node-esm/chunk-ETXPC5VP.mjs.map → browser/chunk-QVJETNGS.mjs.map} +1 -1
  21. package/dist/lib/browser/index.mjs +31 -19
  22. package/dist/lib/browser/index.mjs.map +3 -3
  23. package/dist/lib/browser/intent-resolver-4GDYST4Y.mjs +65 -0
  24. package/dist/lib/browser/intent-resolver-4GDYST4Y.mjs.map +7 -0
  25. package/dist/lib/browser/meta.json +1 -1
  26. package/dist/lib/browser/{react-surface-LBCMSLJ5.mjs → react-surface-QE4SKXBT.mjs} +80 -66
  27. package/dist/lib/browser/react-surface-QE4SKXBT.mjs.map +7 -0
  28. package/dist/lib/browser/{settings-EQSDBX6O.mjs → settings-W5CK4PXP.mjs} +2 -2
  29. package/dist/lib/browser/{state-AIN4J7N5.mjs → state-KI6PJ6DT.mjs} +3 -3
  30. package/dist/lib/browser/state-KI6PJ6DT.mjs.map +7 -0
  31. package/dist/lib/browser/types/index.mjs +1 -1
  32. package/dist/lib/node/MarkdownContainer-LSNNPNRB.cjs +601 -0
  33. package/dist/lib/node/MarkdownContainer-LSNNPNRB.cjs.map +7 -0
  34. package/dist/lib/node/MarkdownPreview-G34HSQEB.cjs +110 -0
  35. package/dist/lib/node/MarkdownPreview-G34HSQEB.cjs.map +7 -0
  36. package/dist/lib/node/{thread-MXEGV6HS.cjs → anchor-sort-NHVF23EU.cjs} +15 -20
  37. package/dist/lib/node/anchor-sort-NHVF23EU.cjs.map +7 -0
  38. package/dist/lib/node/{app-graph-serializer-KBDLASRP.cjs → app-graph-serializer-CLALIYN3.cjs} +10 -11
  39. package/dist/lib/node/app-graph-serializer-CLALIYN3.cjs.map +7 -0
  40. package/dist/lib/node/{artifact-definition-ADEN2KD6.cjs → artifact-definition-VEAHK7BX.cjs} +68 -21
  41. package/dist/lib/node/artifact-definition-VEAHK7BX.cjs.map +7 -0
  42. package/dist/lib/node/{chunk-QRE5L6ZC.cjs → chunk-C4HR7UXE.cjs} +15 -15
  43. package/dist/lib/node/chunk-C4HR7UXE.cjs.map +7 -0
  44. package/dist/lib/node/{chunk-WGMVEPB3.cjs → chunk-G7RBJX22.cjs} +8 -9
  45. package/dist/lib/node/chunk-G7RBJX22.cjs.map +7 -0
  46. package/dist/lib/node/{chunk-DZXTXSXX.cjs → chunk-IFYSBQE5.cjs} +5 -5
  47. package/dist/lib/node/{chunk-DZXTXSXX.cjs.map → chunk-IFYSBQE5.cjs.map} +1 -1
  48. package/dist/lib/node/{chunk-YHL4JSA6.cjs → chunk-RQS4KBMG.cjs} +38 -42
  49. package/dist/lib/node/chunk-RQS4KBMG.cjs.map +7 -0
  50. package/dist/lib/node/{chunk-JO4SBK36.cjs → chunk-ZDTL47I7.cjs} +6 -7
  51. package/dist/lib/node/chunk-ZDTL47I7.cjs.map +7 -0
  52. package/dist/lib/node/index.cjs +42 -30
  53. package/dist/lib/node/index.cjs.map +3 -3
  54. package/dist/lib/node/intent-resolver-AUZVK3NZ.cjs +78 -0
  55. package/dist/lib/node/intent-resolver-AUZVK3NZ.cjs.map +7 -0
  56. package/dist/lib/node/meta.json +1 -1
  57. package/dist/lib/node/react-surface-WJZTEBYO.cjs +213 -0
  58. package/dist/lib/node/react-surface-WJZTEBYO.cjs.map +7 -0
  59. package/dist/lib/node/{settings-2JXASSLU.cjs → settings-IRKU3WPM.cjs} +6 -6
  60. package/dist/lib/node/{state-PC7IVXFP.cjs → state-KKDRAG7X.cjs} +7 -7
  61. package/dist/lib/node/state-KKDRAG7X.cjs.map +7 -0
  62. package/dist/lib/node/types/index.cjs +7 -7
  63. package/dist/lib/node/types/index.cjs.map +1 -1
  64. package/dist/lib/node-esm/MarkdownContainer-UZSLXMWO.mjs +589 -0
  65. package/dist/lib/node-esm/MarkdownContainer-UZSLXMWO.mjs.map +7 -0
  66. package/dist/lib/node-esm/MarkdownPreview-TCV7BI32.mjs +88 -0
  67. package/dist/lib/node-esm/MarkdownPreview-TCV7BI32.mjs.map +7 -0
  68. package/dist/lib/node-esm/anchor-sort-G2HLCYFK.mjs +33 -0
  69. package/dist/lib/node-esm/anchor-sort-G2HLCYFK.mjs.map +7 -0
  70. package/dist/lib/node-esm/{app-graph-serializer-67CO7ST3.mjs → app-graph-serializer-C3RNTQGM.mjs} +5 -6
  71. package/dist/lib/node-esm/app-graph-serializer-C3RNTQGM.mjs.map +7 -0
  72. package/dist/lib/node-esm/{artifact-definition-KTS5M2FW.mjs → artifact-definition-7TIJW2CO.mjs} +65 -17
  73. package/dist/lib/node-esm/artifact-definition-7TIJW2CO.mjs.map +7 -0
  74. package/dist/lib/node-esm/{chunk-4U2F4EB7.mjs → chunk-6RPARLIK.mjs} +6 -7
  75. package/dist/lib/node-esm/chunk-6RPARLIK.mjs.map +7 -0
  76. package/dist/lib/node-esm/{chunk-PALFXZBY.mjs → chunk-EIUTPXGL.mjs} +10 -10
  77. package/dist/lib/node-esm/chunk-EIUTPXGL.mjs.map +7 -0
  78. package/dist/lib/node-esm/{chunk-ETXPC5VP.mjs → chunk-JXXDCSMW.mjs} +2 -2
  79. package/dist/lib/{browser/chunk-NAGMSX77.mjs.map → node-esm/chunk-JXXDCSMW.mjs.map} +1 -1
  80. package/dist/lib/node-esm/chunk-NCMPVEXO.mjs +81 -0
  81. package/dist/lib/node-esm/chunk-NCMPVEXO.mjs.map +7 -0
  82. package/dist/lib/node-esm/{chunk-VQA6BQGT.mjs → chunk-TCFJNUAE.mjs} +3 -4
  83. package/dist/lib/node-esm/chunk-TCFJNUAE.mjs.map +7 -0
  84. package/dist/lib/node-esm/index.mjs +31 -19
  85. package/dist/lib/node-esm/index.mjs.map +3 -3
  86. package/dist/lib/node-esm/intent-resolver-FTNXUNI2.mjs +66 -0
  87. package/dist/lib/node-esm/intent-resolver-FTNXUNI2.mjs.map +7 -0
  88. package/dist/lib/node-esm/meta.json +1 -1
  89. package/dist/lib/node-esm/{react-surface-737EXAWT.mjs → react-surface-XNM3YDFB.mjs} +80 -66
  90. package/dist/lib/node-esm/react-surface-XNM3YDFB.mjs.map +7 -0
  91. package/dist/lib/node-esm/{settings-67RVIH3N.mjs → settings-MK7D7LHQ.mjs} +2 -2
  92. package/dist/lib/node-esm/{state-PNOPM4TS.mjs → state-LLGVRYKL.mjs} +3 -3
  93. package/dist/lib/node-esm/state-LLGVRYKL.mjs.map +7 -0
  94. package/dist/lib/node-esm/types/index.mjs +1 -1
  95. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  96. package/dist/types/src/capabilities/anchor-sort.d.ts +6 -0
  97. package/dist/types/src/capabilities/anchor-sort.d.ts.map +1 -0
  98. package/dist/types/src/capabilities/app-graph-serializer.d.ts +2 -2
  99. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  100. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  101. package/dist/types/src/capabilities/index.d.ts +7 -7
  102. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  103. package/dist/types/src/capabilities/intent-resolver.d.ts +2 -2
  104. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  105. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  106. package/dist/types/src/capabilities/state.d.ts +2 -2
  107. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  108. package/dist/types/src/components/MarkdownContainer.d.ts +5 -3
  109. package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
  110. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +3 -18
  111. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
  112. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts +2 -2
  113. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts.map +1 -1
  114. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts +4 -172
  115. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts.map +1 -1
  116. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts.map +1 -1
  117. package/dist/types/src/components/Suggestions.stories.d.ts.map +1 -1
  118. package/dist/types/src/components/Toolbar.stories.d.ts.map +1 -1
  119. package/dist/types/src/components/index.d.ts +2 -2
  120. package/dist/types/src/components/index.d.ts.map +1 -1
  121. package/dist/types/src/extensions.d.ts +8 -5
  122. package/dist/types/src/extensions.d.ts.map +1 -1
  123. package/dist/types/src/hooks/useSelectCurrentThread.d.ts.map +1 -1
  124. package/dist/types/src/translations.d.ts +2 -46
  125. package/dist/types/src/translations.d.ts.map +1 -1
  126. package/dist/types/src/types/schema.d.ts +21 -525
  127. package/dist/types/src/types/schema.d.ts.map +1 -1
  128. package/dist/types/src/types/types.d.ts +40 -200
  129. package/dist/types/src/types/types.d.ts.map +1 -1
  130. package/dist/types/src/util.d.ts.map +1 -1
  131. package/dist/types/tsconfig.tsbuildinfo +1 -1
  132. package/package.json +48 -39
  133. package/src/MarkdownPlugin.tsx +19 -9
  134. package/src/capabilities/anchor-sort.ts +30 -0
  135. package/src/capabilities/app-graph-serializer.ts +4 -5
  136. package/src/capabilities/artifact-definition.ts +48 -10
  137. package/src/capabilities/index.ts +1 -1
  138. package/src/capabilities/intent-resolver.ts +29 -34
  139. package/src/capabilities/react-surface.tsx +14 -6
  140. package/src/capabilities/state.ts +3 -3
  141. package/src/components/MarkdownContainer.tsx +19 -7
  142. package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +1 -1
  143. package/src/components/MarkdownEditor/MarkdownEditor.tsx +29 -71
  144. package/src/components/MarkdownPreview/MarkdownPreview.stories.tsx +9 -4
  145. package/src/components/MarkdownPreview/MarkdownPreview.tsx +8 -8
  146. package/src/components/Suggestions.stories.tsx +53 -21
  147. package/src/components/Toolbar.stories.tsx +16 -16
  148. package/src/extensions.tsx +45 -16
  149. package/src/hooks/useSelectCurrentThread.tsx +2 -2
  150. package/src/translations.ts +1 -3
  151. package/src/types/schema.ts +19 -17
  152. package/src/types/types.ts +23 -21
  153. package/src/util.tsx +4 -4
  154. package/dist/lib/browser/MarkdownContainer-5XV7K2NX.mjs +0 -567
  155. package/dist/lib/browser/MarkdownContainer-5XV7K2NX.mjs.map +0 -7
  156. package/dist/lib/browser/MarkdownPreview-DX5U5LCX.mjs +0 -81
  157. package/dist/lib/browser/MarkdownPreview-DX5U5LCX.mjs.map +0 -7
  158. package/dist/lib/browser/app-graph-serializer-OCXP7PCK.mjs.map +0 -7
  159. package/dist/lib/browser/artifact-definition-XTVOUMMI.mjs.map +0 -7
  160. package/dist/lib/browser/chunk-5QXYEKSX.mjs +0 -20
  161. package/dist/lib/browser/chunk-5QXYEKSX.mjs.map +0 -7
  162. package/dist/lib/browser/chunk-GVOEHF7E.mjs +0 -84
  163. package/dist/lib/browser/chunk-GVOEHF7E.mjs.map +0 -7
  164. package/dist/lib/browser/chunk-LJ2UFBJ2.mjs.map +0 -7
  165. package/dist/lib/browser/chunk-QV6ZIXAD.mjs.map +0 -7
  166. package/dist/lib/browser/intent-resolver-H37L3DBD.mjs +0 -86
  167. package/dist/lib/browser/intent-resolver-H37L3DBD.mjs.map +0 -7
  168. package/dist/lib/browser/react-surface-LBCMSLJ5.mjs.map +0 -7
  169. package/dist/lib/browser/state-AIN4J7N5.mjs.map +0 -7
  170. package/dist/lib/browser/thread-MFKBUVCB.mjs +0 -37
  171. package/dist/lib/browser/thread-MFKBUVCB.mjs.map +0 -7
  172. package/dist/lib/node/MarkdownContainer-5EQTBXV3.cjs +0 -580
  173. package/dist/lib/node/MarkdownContainer-5EQTBXV3.cjs.map +0 -7
  174. package/dist/lib/node/MarkdownPreview-W7QIN2KJ.cjs +0 -104
  175. package/dist/lib/node/MarkdownPreview-W7QIN2KJ.cjs.map +0 -7
  176. package/dist/lib/node/app-graph-serializer-KBDLASRP.cjs.map +0 -7
  177. package/dist/lib/node/artifact-definition-ADEN2KD6.cjs.map +0 -7
  178. package/dist/lib/node/chunk-JO4SBK36.cjs.map +0 -7
  179. package/dist/lib/node/chunk-QRE5L6ZC.cjs.map +0 -7
  180. package/dist/lib/node/chunk-WGMVEPB3.cjs.map +0 -7
  181. package/dist/lib/node/chunk-YHL4JSA6.cjs.map +0 -7
  182. package/dist/lib/node/intent-resolver-NX5QNRYF.cjs +0 -99
  183. package/dist/lib/node/intent-resolver-NX5QNRYF.cjs.map +0 -7
  184. package/dist/lib/node/react-surface-DJIZSVMN.cjs +0 -199
  185. package/dist/lib/node/react-surface-DJIZSVMN.cjs.map +0 -7
  186. package/dist/lib/node/state-PC7IVXFP.cjs.map +0 -7
  187. package/dist/lib/node/thread-MXEGV6HS.cjs.map +0 -7
  188. package/dist/lib/node-esm/MarkdownContainer-LONZOJJX.mjs +0 -568
  189. package/dist/lib/node-esm/MarkdownContainer-LONZOJJX.mjs.map +0 -7
  190. package/dist/lib/node-esm/MarkdownPreview-T3OW2EN4.mjs +0 -82
  191. package/dist/lib/node-esm/MarkdownPreview-T3OW2EN4.mjs.map +0 -7
  192. package/dist/lib/node-esm/app-graph-serializer-67CO7ST3.mjs.map +0 -7
  193. package/dist/lib/node-esm/artifact-definition-KTS5M2FW.mjs.map +0 -7
  194. package/dist/lib/node-esm/chunk-4U2F4EB7.mjs.map +0 -7
  195. package/dist/lib/node-esm/chunk-NUZHKZSZ.mjs +0 -85
  196. package/dist/lib/node-esm/chunk-NUZHKZSZ.mjs.map +0 -7
  197. package/dist/lib/node-esm/chunk-PALFXZBY.mjs.map +0 -7
  198. package/dist/lib/node-esm/chunk-VQA6BQGT.mjs.map +0 -7
  199. package/dist/lib/node-esm/intent-resolver-XES4ZCA6.mjs +0 -87
  200. package/dist/lib/node-esm/intent-resolver-XES4ZCA6.mjs.map +0 -7
  201. package/dist/lib/node-esm/react-surface-737EXAWT.mjs.map +0 -7
  202. package/dist/lib/node-esm/state-PNOPM4TS.mjs.map +0 -7
  203. package/dist/lib/node-esm/thread-5U4KSBED.mjs +0 -38
  204. package/dist/lib/node-esm/thread-5U4KSBED.mjs.map +0 -7
  205. package/dist/types/src/capabilities/thread.d.ts +0 -6
  206. package/dist/types/src/capabilities/thread.d.ts.map +0 -1
  207. package/src/capabilities/thread.ts +0 -35
  208. /package/dist/lib/browser/{settings-EQSDBX6O.mjs.map → settings-W5CK4PXP.mjs.map} +0 -0
  209. /package/dist/lib/node/{settings-2JXASSLU.cjs.map → settings-IRKU3WPM.cjs.map} +0 -0
  210. /package/dist/lib/node-esm/{settings-67RVIH3N.mjs.map → settings-MK7D7LHQ.mjs.map} +0 -0
@@ -16,16 +16,16 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_WGMVEPB3_exports = {};
20
- __export(chunk_WGMVEPB3_exports, {
19
+ var chunk_G7RBJX22_exports = {};
20
+ __export(chunk_G7RBJX22_exports, {
21
21
  getAbstract: () => getAbstract,
22
22
  getFallbackName: () => getFallbackName,
23
23
  isMarkdownProperties: () => isMarkdownProperties,
24
24
  serializer: () => serializer,
25
25
  setFallbackName: () => setFallbackName
26
26
  });
27
- module.exports = __toCommonJS(chunk_WGMVEPB3_exports);
28
- var import_chunk_YHL4JSA6 = require("./chunk-YHL4JSA6.cjs");
27
+ module.exports = __toCommonJS(chunk_G7RBJX22_exports);
28
+ var import_chunk_RQS4KBMG = require("./chunk-RQS4KBMG.cjs");
29
29
  var import_async = require("@dxos/async");
30
30
  var import_echo = require("@dxos/react-client/echo");
31
31
  var import_schema = require("@dxos/schema");
@@ -54,13 +54,12 @@ var serializer = {
54
54
  },
55
55
  deserialize: async ({ content: serialized }) => {
56
56
  const { name, fallbackName, content } = JSON.parse(serialized);
57
- return (0, import_echo.createObject)((0, import_echo.live)(import_chunk_YHL4JSA6.DocumentType, {
57
+ return (0, import_echo.createObject)((0, import_echo.live)(import_chunk_RQS4KBMG.DocumentType, {
58
58
  name,
59
59
  fallbackName,
60
- content: (0, import_echo.makeRef)((0, import_echo.live)(import_schema.TextType, {
60
+ content: import_echo.Ref.make((0, import_echo.live)(import_schema.DataType.Text, {
61
61
  content
62
- })),
63
- threads: []
62
+ }))
64
63
  }));
65
64
  }
66
65
  };
@@ -72,4 +71,4 @@ var serializer = {
72
71
  serializer,
73
72
  setFallbackName
74
73
  });
75
- //# sourceMappingURL=chunk-WGMVEPB3.cjs.map
74
+ //# sourceMappingURL=chunk-G7RBJX22.cjs.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 { type TypedObjectSerializer } from '@dxos/plugin-space/types';\nimport { live, createObject, isEchoObject, loadObjectReferences, Ref } from '@dxos/react-client/echo';\nimport { DataType } from '@dxos/schema';\n\nimport { DocumentType, type MarkdownProperties } from './types';\n\nexport const isMarkdownProperties = (data: unknown): data is MarkdownProperties =>\n (isEchoObject(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 getAbstract = (content: string) => {\n return content.substring(0, 128).split('\\n')[0].replaceAll(nonTitleChars, '').trim();\n};\n\nexport const setFallbackName = debounce((doc: DocumentType, content: string) => {\n const name = getFallbackName(content);\n if (doc.fallbackName !== name) {\n doc.fallbackName = name;\n }\n}, 200);\n\nexport const serializer: TypedObjectSerializer<DocumentType> = {\n serialize: async ({ object }): Promise<string> => {\n const content = await loadObjectReferences(object, (doc) => doc.content);\n return JSON.stringify({ name: object.name, fallbackName: object.fallbackName, content: content.target?.content });\n },\n\n deserialize: async ({ content: serialized }) => {\n const { name, fallbackName, content } = JSON.parse(serialized);\n return createObject(\n live(DocumentType, { name, fallbackName, content: Ref.make(live(DataType.Text, { content })) }),\n );\n },\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mBAAyB;AAEzB,kBAA4E;AAC5E,oBAAyB;AAIlB,IAAMA,uBAAuB,CAACC,aAClCC,0BAAaD,IAAAA,IACV,OACAA,QAAQ,OAAOA,SAAS,WACtB,WAAWA,QAAQ,OAAOA,KAAKE,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,cAAc,CAACL,YAAAA;AAC1B,SAAOA,QAAQC,UAAU,GAAG,GAAA,EAAKC,MAAM,IAAA,EAAM,CAAA,EAAGC,WAAWL,eAAe,EAAA,EAAIM,KAAI;AACpF;AAEO,IAAME,sBAAkBC,uBAAS,CAACC,KAAmBR,YAAAA;AAC1D,QAAMS,OAAOV,gBAAgBC,OAAAA;AAC7B,MAAIQ,IAAIE,iBAAiBD,MAAM;AAC7BD,QAAIE,eAAeD;EACrB;AACF,GAAG,GAAA;AAEI,IAAME,aAAkD;EAC7DC,WAAW,OAAO,EAAEC,OAAM,MAAE;AAC1B,UAAMb,UAAU,UAAMc,kCAAqBD,QAAQ,CAACL,QAAQA,IAAIR,OAAO;AACvE,WAAOe,KAAKC,UAAU;MAAEP,MAAMI,OAAOJ;MAAMC,cAAcG,OAAOH;MAAcV,SAASA,QAAQiB,QAAQjB;IAAQ,CAAA;EACjH;EAEAkB,aAAa,OAAO,EAAElB,SAASmB,WAAU,MAAE;AACzC,UAAM,EAAEV,MAAMC,cAAcV,QAAO,IAAKe,KAAKK,MAAMD,UAAAA;AACnD,eAAOE,8BACLC,kBAAKC,oCAAc;MAAEd;MAAMC;MAAcV,SAASwB,gBAAIC,SAAKH,kBAAKI,uBAASC,MAAM;QAAE3B;MAAQ,CAAA,CAAA;IAAI,CAAA,CAAA;EAEjG;AACF;",
6
+ "names": ["isMarkdownProperties", "data", "isEchoObject", "title", "nonTitleChars", "getFallbackName", "content", "substring", "split", "replaceAll", "trim", "getAbstract", "setFallbackName", "debounce", "doc", "name", "fallbackName", "serializer", "serialize", "object", "loadObjectReferences", "JSON", "stringify", "target", "deserialize", "serialized", "parse", "createObject", "live", "DocumentType", "Ref", "make", "DataType", "Text"]
7
+ }
@@ -16,20 +16,20 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_DZXTXSXX_exports = {};
20
- __export(chunk_DZXTXSXX_exports, {
19
+ var chunk_IFYSBQE5_exports = {};
20
+ __export(chunk_IFYSBQE5_exports, {
21
21
  MarkdownCapabilities: () => MarkdownCapabilities
22
22
  });
23
- module.exports = __toCommonJS(chunk_DZXTXSXX_exports);
23
+ module.exports = __toCommonJS(chunk_IFYSBQE5_exports);
24
24
  var import_chunk_ZU5OIHCY = require("./chunk-ZU5OIHCY.cjs");
25
25
  var import_app_framework = require("@dxos/app-framework");
26
- var MarkdownCapabilities;
27
26
  (function(MarkdownCapabilities2) {
28
27
  MarkdownCapabilities2.State = (0, import_app_framework.defineCapability)(`${import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN}/capability/state`);
29
28
  MarkdownCapabilities2.Extensions = (0, import_app_framework.defineCapability)(`${import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN}/capability/extensions`);
30
29
  })(MarkdownCapabilities || (MarkdownCapabilities = {}));
30
+ var MarkdownCapabilities;
31
31
  // Annotate the CommonJS export names for ESM import in node:
32
32
  0 && (module.exports = {
33
33
  MarkdownCapabilities
34
34
  });
35
- //# sourceMappingURL=chunk-DZXTXSXX.cjs.map
35
+ //# sourceMappingURL=chunk-IFYSBQE5.cjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/capabilities/capabilities.ts"],
4
4
  "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineCapability } from '@dxos/app-framework';\nimport { type EditorViewMode, type EditorStateStore } from '@dxos/react-ui-editor';\n\nimport { MARKDOWN_PLUGIN } from '../meta';\nimport { type MarkdownExtensionProvider, type MarkdownPluginState } from '../types';\n\nexport namespace MarkdownCapabilities {\n export const State = defineCapability<{\n state: MarkdownPluginState;\n editorState: EditorStateStore;\n getViewMode: (id: string) => EditorViewMode;\n setViewMode: (id: string, viewMode: EditorViewMode) => void;\n }>(`${MARKDOWN_PLUGIN}/capability/state`);\n\n export const Extensions = defineCapability<MarkdownExtensionProvider[]>(`${MARKDOWN_PLUGIN}/capability/extensions`);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAAiC;;UAMhBA,uBAAAA;wBACFC,YAAQC,uCAKlB,GAAGC,qCAAAA,mBAAkC;wBAE3BC,iBAAaF,uCAA8C,GAAGC,qCAAAA,wBAAuC;AACpH,GATiBH,yBAAAA,uBAAAA,CAAAA,EAAAA;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAAiC;UAMhBA,uBAAAA;wBACFC,YAAQC,uCAKlB,GAAGC,qCAAAA,mBAAkC;wBAE3BC,iBAAaF,uCAA8C,GAAGC,qCAAAA,wBAAuC;AACpH,GATiBH,yBAAAA,uBAAAA,CAAAA,EAAAA;;",
6
6
  "names": ["MarkdownCapabilities", "State", "defineCapability", "MARKDOWN_PLUGIN", "Extensions"]
7
7
  }
@@ -16,8 +16,8 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_YHL4JSA6_exports = {};
20
- __export(chunk_YHL4JSA6_exports, {
19
+ var chunk_RQS4KBMG_exports = {};
20
+ __export(chunk_RQS4KBMG_exports, {
21
21
  DocumentSchema: () => DocumentSchema,
22
22
  DocumentType: () => DocumentType,
23
23
  MarkdownAction: () => MarkdownAction,
@@ -25,75 +25,71 @@ __export(chunk_YHL4JSA6_exports, {
25
25
  createDocument: () => createDocument,
26
26
  isEditorModel: () => isEditorModel
27
27
  });
28
- module.exports = __toCommonJS(chunk_YHL4JSA6_exports);
28
+ module.exports = __toCommonJS(chunk_RQS4KBMG_exports);
29
29
  var import_chunk_ZU5OIHCY = require("./chunk-ZU5OIHCY.cjs");
30
+ var import_effect = require("effect");
31
+ var import_echo = require("@dxos/echo");
30
32
  var import_echo_schema = require("@dxos/echo-schema");
31
33
  var import_live_object = require("@dxos/live-object");
32
- var import_types = require("@dxos/plugin-space/types");
33
34
  var import_schema = require("@dxos/schema");
34
- var import_echo_schema2 = require("@dxos/echo-schema");
35
+ var import_effect2 = require("effect");
36
+ var import_echo2 = require("@dxos/echo");
35
37
  var import_react_ui_editor = require("@dxos/react-ui-editor");
36
- var DocumentSchema = import_echo_schema.S.Struct({
37
- name: import_echo_schema.S.optional(import_echo_schema.S.String),
38
- fallbackName: import_echo_schema.S.optional(import_echo_schema.S.String),
39
- content: (0, import_echo_schema.Ref)(import_schema.TextType),
40
- threads: import_echo_schema.S.mutable(import_echo_schema.S.Array((0, import_echo_schema.Ref)(import_types.ThreadType))),
41
- assistantChatQueue: import_echo_schema.S.optional((0, import_echo_schema.Ref)(import_echo_schema.Expando))
42
- }).annotations({
43
- // TODO(dmaretskyi): `S.Struct(...).pipe(defaultLabel(['name', 'fallbackName']))` for type-safe annotations.
44
- [import_echo_schema.LabelAnnotationId]: [
45
- "name",
46
- "fallbackName"
47
- ]
48
- });
49
- var DocumentType = DocumentSchema.pipe((0, import_echo_schema.EchoObject)({
38
+ var DocumentSchema = import_effect.Schema.Struct({
39
+ name: import_effect.Schema.optional(import_effect.Schema.String),
40
+ fallbackName: import_effect.Schema.optional(import_effect.Schema.String),
41
+ content: import_echo.Type.Ref(import_schema.DataType.Text)
42
+ }).pipe(import_echo_schema.LabelAnnotation.set([
43
+ "name",
44
+ "fallbackName"
45
+ ]));
46
+ var DocumentType = DocumentSchema.pipe(import_echo.Type.Obj({
50
47
  typename: "dxos.org/type/Document",
51
48
  version: "0.1.0"
52
49
  }));
53
50
  var createDocument = ({ name, content }) => (0, import_live_object.live)(DocumentType, {
54
51
  name,
55
- content: (0, import_live_object.makeRef)((0, import_live_object.live)(import_schema.TextType, {
52
+ content: import_echo.Ref.make((0, import_live_object.live)(import_schema.DataType.Text, {
56
53
  content
57
- })),
58
- threads: []
54
+ }))
59
55
  });
60
56
  var isEditorModel = (data) => data && typeof data === "object" && "id" in data && typeof data.id === "string" && "text" in data && typeof data.text === "string";
61
57
  var MARKDOWN_ACTION = `${import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN}/action`;
62
- var MarkdownAction;
63
58
  (function(MarkdownAction2) {
64
- class Create extends import_echo_schema2.S.TaggedClass()(MARKDOWN_ACTION, {
65
- input: import_echo_schema2.S.Struct({
66
- spaceId: import_echo_schema2.S.String,
67
- name: import_echo_schema2.S.optional(import_echo_schema2.S.String),
68
- content: import_echo_schema2.S.optional(import_echo_schema2.S.String)
59
+ class Create extends import_effect2.Schema.TaggedClass()(MARKDOWN_ACTION, {
60
+ input: import_effect2.Schema.Struct({
61
+ spaceId: import_echo2.Type.SpaceId,
62
+ name: import_effect2.Schema.optional(import_effect2.Schema.String),
63
+ content: import_effect2.Schema.optional(import_effect2.Schema.String)
69
64
  }),
70
- output: import_echo_schema2.S.Struct({
65
+ output: import_effect2.Schema.Struct({
71
66
  object: DocumentType
72
67
  })
73
68
  }) {
74
69
  }
75
70
  MarkdownAction2.Create = Create;
76
- class SetViewMode extends import_echo_schema2.S.TaggedClass()(`${MARKDOWN_ACTION}/set-view-mode`, {
77
- input: import_echo_schema2.S.Struct({
78
- id: import_echo_schema2.S.String,
71
+ class SetViewMode extends import_effect2.Schema.TaggedClass()(`${MARKDOWN_ACTION}/set-view-mode`, {
72
+ input: import_effect2.Schema.Struct({
73
+ id: import_effect2.Schema.String,
79
74
  viewMode: import_react_ui_editor.EditorViewMode
80
75
  }),
81
- output: import_echo_schema2.S.Void
76
+ output: import_effect2.Schema.Void
82
77
  }) {
83
78
  }
84
79
  MarkdownAction2.SetViewMode = SetViewMode;
85
80
  })(MarkdownAction || (MarkdownAction = {}));
86
- var MarkdownSettingsSchema = import_echo_schema2.S.mutable(import_echo_schema2.S.Struct({
81
+ var MarkdownSettingsSchema = import_effect2.Schema.mutable(import_effect2.Schema.Struct({
87
82
  defaultViewMode: import_react_ui_editor.EditorViewMode,
88
- editorInputMode: import_echo_schema2.S.optional(import_react_ui_editor.EditorInputMode),
89
- experimental: import_echo_schema2.S.optional(import_echo_schema2.S.Boolean),
90
- debug: import_echo_schema2.S.optional(import_echo_schema2.S.Boolean),
91
- toolbar: import_echo_schema2.S.optional(import_echo_schema2.S.Boolean),
92
- typewriter: import_echo_schema2.S.optional(import_echo_schema2.S.String),
83
+ editorInputMode: import_effect2.Schema.optional(import_react_ui_editor.EditorInputMode),
84
+ experimental: import_effect2.Schema.optional(import_effect2.Schema.Boolean),
85
+ debug: import_effect2.Schema.optional(import_effect2.Schema.Boolean),
86
+ toolbar: import_effect2.Schema.optional(import_effect2.Schema.Boolean),
87
+ typewriter: import_effect2.Schema.optional(import_effect2.Schema.String),
93
88
  // TODO(burdon): Per document settings.
94
- numberedHeadings: import_echo_schema2.S.optional(import_echo_schema2.S.Boolean),
95
- folding: import_echo_schema2.S.optional(import_echo_schema2.S.Boolean)
89
+ numberedHeadings: import_effect2.Schema.optional(import_effect2.Schema.Boolean),
90
+ folding: import_effect2.Schema.optional(import_effect2.Schema.Boolean)
96
91
  }));
92
+ var MarkdownAction;
97
93
  // Annotate the CommonJS export names for ESM import in node:
98
94
  0 && (module.exports = {
99
95
  DocumentSchema,
@@ -103,4 +99,4 @@ var MarkdownSettingsSchema = import_echo_schema2.S.mutable(import_echo_schema2.S
103
99
  createDocument,
104
100
  isEditorModel
105
101
  });
106
- //# sourceMappingURL=chunk-YHL4JSA6.cjs.map
102
+ //# sourceMappingURL=chunk-RQS4KBMG.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/schema.ts", "../../../src/types/types.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Type, Ref } from '@dxos/echo';\nimport { LabelAnnotation } from '@dxos/echo-schema';\nimport { live } from '@dxos/live-object';\nimport { DataType } from '@dxos/schema';\n\nexport const DocumentSchema = Schema.Struct({\n name: Schema.optional(Schema.String),\n fallbackName: Schema.optional(Schema.String),\n content: Type.Ref(DataType.Text),\n}).pipe(LabelAnnotation.set(['name', 'fallbackName']));\n\nexport const DocumentType = DocumentSchema.pipe(\n Type.Obj({\n typename: 'dxos.org/type/Document',\n version: '0.1.0',\n }),\n);\nexport type DocumentType = Schema.Schema.Type<typeof DocumentType>;\n\n// TODO(burdon): Replace when defaults are supported.\nexport const createDocument = ({ name, content }: { name: string; content: string }) =>\n live(DocumentType, { name, content: Ref.make(live(DataType.Text, { content })) });\n\n/**\n * Checks if an object conforms to the interface needed to render an editor.\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", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Type } from '@dxos/echo';\n// TODO(wittjosiah): This pulls in UI code into the types entrypoint.\nimport { type Extension, EditorInputMode, EditorViewMode } from '@dxos/react-ui-editor';\n\nimport { DocumentType } from './schema';\nimport { MARKDOWN_PLUGIN } from '../meta';\n\nconst MARKDOWN_ACTION = `${MARKDOWN_PLUGIN}/action`;\n\nexport namespace MarkdownAction {\n export class Create extends Schema.TaggedClass<Create>()(MARKDOWN_ACTION, {\n input: Schema.Struct({\n spaceId: Type.SpaceId,\n name: Schema.optional(Schema.String),\n content: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: DocumentType,\n }),\n }) {}\n\n export class SetViewMode extends Schema.TaggedClass<SetViewMode>()(`${MARKDOWN_ACTION}/set-view-mode`, {\n input: Schema.Struct({\n id: Schema.String,\n viewMode: EditorViewMode,\n }),\n output: Schema.Void,\n }) {}\n}\n\nexport type MarkdownProperties = Record<string, any>;\n\n// TODO(burdon): Async.\nexport type MarkdownExtensionProvider = (props: { document?: DocumentType }) => Extension | undefined;\n\nexport type OnChange = (text: string) => void;\n\nexport type MarkdownPluginState = {\n // Codemirror extensions provided by other plugins.\n extensionProviders?: MarkdownExtensionProvider[];\n\n // TODO(burdon): Extend view mode per document to include scroll position, etc.\n // View mode per document.\n viewMode: Record<string, EditorViewMode>;\n};\n\nexport const MarkdownSettingsSchema = Schema.mutable(\n Schema.Struct({\n defaultViewMode: EditorViewMode,\n editorInputMode: Schema.optional(EditorInputMode),\n experimental: Schema.optional(Schema.Boolean),\n debug: Schema.optional(Schema.Boolean),\n toolbar: Schema.optional(Schema.Boolean),\n typewriter: Schema.optional(Schema.String),\n // TODO(burdon): Per document settings.\n numberedHeadings: Schema.optional(Schema.Boolean),\n folding: Schema.optional(Schema.Boolean),\n }),\n);\n\nexport type MarkdownSettingsProps = Schema.Schema.Type<typeof MarkdownSettingsSchema>;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,oBAAuB;AAEvB,kBAA0B;AAC1B,yBAAgC;AAChC,yBAAqB;AACrB,oBAAyB;ACLzB,IAAAA,iBAAuB;AAEvB,IAAAC,eAAqB;AAErB,6BAAgE;ADGzD,IAAMC,iBAAiBC,qBAAOC,OAAO;EAC1CC,MAAMF,qBAAOG,SAASH,qBAAOI,MAAM;EACnCC,cAAcL,qBAAOG,SAASH,qBAAOI,MAAM;EAC3CE,SAASC,iBAAKC,IAAIC,uBAASC,IAAI;AACjC,CAAA,EAAGC,KAAKC,mCAAgBC,IAAI;EAAC;EAAQ;CAAe,CAAA;AAE7C,IAAMC,eAAef,eAAeY,KACzCJ,iBAAKQ,IAAI;EACPC,UAAU;EACVC,SAAS;AACX,CAAA,CAAA;AAKK,IAAMC,iBAAiB,CAAC,EAAEhB,MAAMI,QAAO,UAC5Ca,yBAAKL,cAAc;EAAEZ;EAAMI,SAASE,gBAAIY,SAAKD,yBAAKV,uBAASC,MAAM;IAAEJ;EAAQ,CAAA,CAAA;AAAI,CAAA;AAM1E,IAAMe,gBAAgB,CAACC,SAC5BA,QACA,OAAOA,SAAS,YAChB,QAAQA,QACR,OAAOA,KAAKC,OAAO,YACnB,UAAUD,QACV,OAAOA,KAAKE,SAAS;AC1BvB,IAAMC,kBAAkB,GAAGC,qCAAAA;UAEVC,iBAAAA;EACR,MAAMC,eAAe5B,eAAAA,OAAO6B,YAAW,EAAWJ,iBAAiB;IACxEK,OAAO9B,eAAAA,OAAOC,OAAO;MACnB8B,SAASxB,aAAAA,KAAKyB;MACd9B,MAAMF,eAAAA,OAAOG,SAASH,eAAAA,OAAOI,MAAM;MACnCE,SAASN,eAAAA,OAAOG,SAASH,eAAAA,OAAOI,MAAM;IACxC,CAAA;IACA6B,QAAQjC,eAAAA,OAAOC,OAAO;MACpBiC,QAAQpB;IACV,CAAA;EACF,CAAA,EAAA;EAAI;kBATSc,SAAAA;EAWN,MAAMO,oBAAoBnC,eAAAA,OAAO6B,YAAW,EAAgB,GAAGJ,eAAAA,kBAAiC;IACrGK,OAAO9B,eAAAA,OAAOC,OAAO;MACnBsB,IAAIvB,eAAAA,OAAOI;MACXgC,UAAUC;IACZ,CAAA;IACAJ,QAAQjC,eAAAA,OAAOsC;EACjB,CAAA,EAAA;EAAI;kBANSH,cAAAA;AAOf,GAnBiBR,mBAAAA,iBAAAA,CAAAA,EAAAA;AAqCV,IAAMY,yBAAyBvC,eAAAA,OAAOwC,QAC3CxC,eAAAA,OAAOC,OAAO;EACZwC,iBAAiBJ;EACjBK,iBAAiB1C,eAAAA,OAAOG,SAASwC,sCAAAA;EACjCC,cAAc5C,eAAAA,OAAOG,SAASH,eAAAA,OAAO6C,OAAO;EAC5CC,OAAO9C,eAAAA,OAAOG,SAASH,eAAAA,OAAO6C,OAAO;EACrCE,SAAS/C,eAAAA,OAAOG,SAASH,eAAAA,OAAO6C,OAAO;EACvCG,YAAYhD,eAAAA,OAAOG,SAASH,eAAAA,OAAOI,MAAM;;EAEzC6C,kBAAkBjD,eAAAA,OAAOG,SAASH,eAAAA,OAAO6C,OAAO;EAChDK,SAASlD,eAAAA,OAAOG,SAASH,eAAAA,OAAO6C,OAAO;AACzC,CAAA,CAAA;;",
6
+ "names": ["import_effect", "import_echo", "DocumentSchema", "Schema", "Struct", "name", "optional", "String", "fallbackName", "content", "Type", "Ref", "DataType", "Text", "pipe", "LabelAnnotation", "set", "DocumentType", "Obj", "typename", "version", "createDocument", "live", "make", "isEditorModel", "data", "id", "text", "MARKDOWN_ACTION", "MARKDOWN_PLUGIN", "MarkdownAction", "Create", "TaggedClass", "input", "spaceId", "SpaceId", "output", "object", "SetViewMode", "viewMode", "EditorViewMode", "Void", "MarkdownSettingsSchema", "mutable", "defaultViewMode", "editorInputMode", "EditorInputMode", "experimental", "Boolean", "debug", "toolbar", "typewriter", "numberedHeadings", "folding"]
7
+ }
@@ -16,18 +16,17 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_JO4SBK36_exports = {};
20
- __export(chunk_JO4SBK36_exports, {
19
+ var chunk_ZDTL47I7_exports = {};
20
+ __export(chunk_ZDTL47I7_exports, {
21
21
  translations_default: () => translations_default
22
22
  });
23
- module.exports = __toCommonJS(chunk_JO4SBK36_exports);
24
- var import_chunk_YHL4JSA6 = require("./chunk-YHL4JSA6.cjs");
23
+ module.exports = __toCommonJS(chunk_ZDTL47I7_exports);
24
+ var import_chunk_RQS4KBMG = require("./chunk-RQS4KBMG.cjs");
25
25
  var import_chunk_ZU5OIHCY = require("./chunk-ZU5OIHCY.cjs");
26
- var import_echo_schema = require("@dxos/echo-schema");
27
26
  var translations_default = [
28
27
  {
29
28
  "en-US": {
30
- [(0, import_echo_schema.getSchemaTypename)(import_chunk_YHL4JSA6.DocumentType)]: {
29
+ [import_chunk_RQS4KBMG.DocumentType.typename]: {
31
30
  "typename label": "Document",
32
31
  "object name placeholder": "New document"
33
32
  },
@@ -62,4 +61,4 @@ var translations_default = [
62
61
  0 && (module.exports = {
63
62
  translations_default
64
63
  });
65
- //# sourceMappingURL=chunk-JO4SBK36.cjs.map
64
+ //# sourceMappingURL=chunk-ZDTL47I7.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/translations.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { MARKDOWN_PLUGIN } from './meta';\nimport { DocumentType } from './types';\n\nexport default [\n {\n 'en-US': {\n [DocumentType.typename]: {\n 'typename label': 'Document',\n 'object name placeholder': 'New document',\n },\n [MARKDOWN_PLUGIN]: {\n 'plugin name': 'Editor',\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];\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACA,mCAAaC,QAAQ,GAAG;QACvB,kBAAkB;QAClB,2BAA2B;MAC7B;MACA,CAACC,qCAAAA,GAAkB;QACjB,eAAe;QACf,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": ["DocumentType", "typename", "MARKDOWN_PLUGIN"]
7
+ }
@@ -19,22 +19,22 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  var node_exports = {};
20
20
  __export(node_exports, {
21
21
  MARKDOWN_PLUGIN: () => import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN,
22
- MarkdownCapabilities: () => import_chunk_DZXTXSXX.MarkdownCapabilities,
22
+ MarkdownCapabilities: () => import_chunk_IFYSBQE5.MarkdownCapabilities,
23
23
  MarkdownEvents: () => MarkdownEvents,
24
24
  MarkdownPlugin: () => MarkdownPlugin,
25
- getAbstract: () => import_chunk_WGMVEPB3.getAbstract,
26
- getFallbackName: () => import_chunk_WGMVEPB3.getFallbackName,
27
- isMarkdownProperties: () => import_chunk_WGMVEPB3.isMarkdownProperties,
25
+ getAbstract: () => import_chunk_G7RBJX22.getAbstract,
26
+ getFallbackName: () => import_chunk_G7RBJX22.getFallbackName,
27
+ isMarkdownProperties: () => import_chunk_G7RBJX22.isMarkdownProperties,
28
28
  meta: () => import_chunk_ZU5OIHCY.meta,
29
- serializer: () => import_chunk_WGMVEPB3.serializer,
30
- setFallbackName: () => import_chunk_WGMVEPB3.setFallbackName
29
+ serializer: () => import_chunk_G7RBJX22.serializer,
30
+ setFallbackName: () => import_chunk_G7RBJX22.setFallbackName
31
31
  });
32
32
  module.exports = __toCommonJS(node_exports);
33
- var import_chunk_JO4SBK36 = require("./chunk-JO4SBK36.cjs");
34
- var import_chunk_QRE5L6ZC = require("./chunk-QRE5L6ZC.cjs");
35
- var import_chunk_WGMVEPB3 = require("./chunk-WGMVEPB3.cjs");
36
- var import_chunk_DZXTXSXX = require("./chunk-DZXTXSXX.cjs");
37
- var import_chunk_YHL4JSA6 = require("./chunk-YHL4JSA6.cjs");
33
+ var import_chunk_ZDTL47I7 = require("./chunk-ZDTL47I7.cjs");
34
+ var import_chunk_C4HR7UXE = require("./chunk-C4HR7UXE.cjs");
35
+ var import_chunk_IFYSBQE5 = require("./chunk-IFYSBQE5.cjs");
36
+ var import_chunk_G7RBJX22 = require("./chunk-G7RBJX22.cjs");
37
+ var import_chunk_RQS4KBMG = require("./chunk-RQS4KBMG.cjs");
38
38
  var import_chunk_ZU5OIHCY = require("./chunk-ZU5OIHCY.cjs");
39
39
  var import_app_framework = require("@dxos/app-framework");
40
40
  var import_app_framework2 = require("@dxos/app-framework");
@@ -43,25 +43,26 @@ var import_live_object = require("@dxos/live-object");
43
43
  var import_plugin_client = require("@dxos/plugin-client");
44
44
  var import_plugin_space = require("@dxos/plugin-space");
45
45
  var import_types = require("@dxos/plugin-space/types");
46
+ var import_echo = require("@dxos/react-client/echo");
46
47
  var import_react_ui_editor = require("@dxos/react-ui-editor");
47
48
  var import_schema = require("@dxos/schema");
48
- var MarkdownEvents;
49
49
  (function(MarkdownEvents2) {
50
50
  MarkdownEvents2.SetupExtensions = import_app_framework.Events.createStateEvent(`${import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN}/setup-extensions`);
51
51
  })(MarkdownEvents || (MarkdownEvents = {}));
52
+ var MarkdownEvents;
52
53
  var MarkdownPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_ZU5OIHCY.meta, [
53
54
  (0, import_app_framework2.defineModule)({
54
55
  id: `${import_chunk_ZU5OIHCY.meta.id}/module/translations`,
55
56
  activatesOn: import_app_framework2.Events.SetupTranslations,
56
57
  activate: () => (0, import_app_framework2.contributes)(import_app_framework2.Capabilities.Translations, [
57
- ...import_chunk_JO4SBK36.translations_default,
58
+ ...import_chunk_ZDTL47I7.translations_default,
58
59
  ...import_react_ui_editor.translations
59
60
  ])
60
61
  }),
61
62
  (0, import_app_framework2.defineModule)({
62
63
  id: `${import_chunk_ZU5OIHCY.meta.id}/module/settings`,
63
64
  activatesOn: import_app_framework2.Events.SetupSettings,
64
- activate: import_chunk_QRE5L6ZC.MarkdownSettings
65
+ activate: import_chunk_C4HR7UXE.MarkdownSettings
65
66
  }),
66
67
  (0, import_app_framework2.defineModule)({
67
68
  id: `${import_chunk_ZU5OIHCY.meta.id}/module/state`,
@@ -69,25 +70,35 @@ var MarkdownPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_
69
70
  // Should this be a different event?
70
71
  // Should settings store be renamed to be more generic?
71
72
  activatesOn: import_app_framework2.Events.SetupSettings,
72
- activate: import_chunk_QRE5L6ZC.MarkdownState
73
+ activate: import_chunk_C4HR7UXE.MarkdownState
73
74
  }),
74
75
  (0, import_app_framework2.defineModule)({
75
76
  id: `${import_chunk_ZU5OIHCY.meta.id}/module/metadata`,
76
77
  activatesOn: import_app_framework2.Events.SetupMetadata,
77
78
  activate: () => (0, import_app_framework2.contributes)(import_app_framework2.Capabilities.Metadata, {
78
- id: import_chunk_YHL4JSA6.DocumentType.typename,
79
+ id: import_chunk_RQS4KBMG.DocumentType.typename,
79
80
  metadata: {
80
- label: (object) => (0, import_echo_schema.isInstanceOf)(import_chunk_YHL4JSA6.DocumentType, object) ? object.name || object.fallbackName : void 0,
81
+ label: (object) => (0, import_echo_schema.isInstanceOf)(import_chunk_RQS4KBMG.DocumentType, object) ? object.name || object.fallbackName : void 0,
81
82
  icon: "ph--text-aa--regular",
82
83
  graphProps: {
83
84
  managesAutofocus: true
84
85
  },
85
86
  // TODO(wittjosiah): Move out of metadata.
86
87
  loadReferences: async (doc) => await import_live_object.RefArray.loadAll([
87
- doc.content,
88
- ...doc.threads
88
+ doc.content
89
89
  ]),
90
- serializer: import_chunk_WGMVEPB3.serializer
90
+ serializer: import_chunk_G7RBJX22.serializer,
91
+ // TODO(wittjosiah): Consider how to do generic comments without these.
92
+ comments: "anchored",
93
+ selectionMode: "multi-range",
94
+ getAnchorLabel: (doc, anchor) => {
95
+ if (doc.content) {
96
+ const [start, end] = anchor.split(":");
97
+ return (0, import_echo.getTextInRange)((0, import_echo.createDocAccessor)(doc.content.target, [
98
+ "content"
99
+ ]), start, end);
100
+ }
101
+ }
91
102
  }
92
103
  })
93
104
  }),
@@ -95,8 +106,8 @@ var MarkdownPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_
95
106
  id: `${import_chunk_ZU5OIHCY.meta.id}/module/object-form`,
96
107
  activatesOn: import_plugin_client.ClientEvents.SetupSchema,
97
108
  activate: () => (0, import_app_framework2.contributes)(import_plugin_space.SpaceCapabilities.ObjectForm, (0, import_types.defineObjectForm)({
98
- objectSchema: import_chunk_YHL4JSA6.DocumentType,
99
- getIntent: (_, { space }) => (0, import_app_framework2.createIntent)(import_chunk_YHL4JSA6.MarkdownAction.Create, {
109
+ objectSchema: import_chunk_RQS4KBMG.DocumentType,
110
+ getIntent: (_, { space }) => (0, import_app_framework2.createIntent)(import_chunk_RQS4KBMG.MarkdownAction.Create, {
100
111
  spaceId: space.id
101
112
  })
102
113
  }))
@@ -105,7 +116,7 @@ var MarkdownPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_
105
116
  id: `${import_chunk_ZU5OIHCY.meta.id}/module/schema`,
106
117
  activatesOn: import_plugin_client.ClientEvents.SetupSchema,
107
118
  activate: () => (0, import_app_framework2.contributes)(import_plugin_client.ClientCapabilities.Schema, [
108
- import_schema.TextType
119
+ import_schema.DataType.Text
109
120
  ])
110
121
  }),
111
122
  (0, import_app_framework2.defineModule)({
@@ -115,27 +126,28 @@ var MarkdownPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_
115
126
  activatesBefore: [
116
127
  MarkdownEvents.SetupExtensions
117
128
  ],
118
- activate: import_chunk_QRE5L6ZC.ReactSurface
129
+ activate: import_chunk_C4HR7UXE.ReactSurface
119
130
  }),
120
131
  (0, import_app_framework2.defineModule)({
121
132
  id: `${import_chunk_ZU5OIHCY.meta.id}/module/intent-resolver`,
122
133
  activatesOn: import_app_framework2.Events.SetupIntentResolver,
123
- activate: import_chunk_QRE5L6ZC.IntentResolver
134
+ activate: import_chunk_C4HR7UXE.IntentResolver
124
135
  }),
125
136
  (0, import_app_framework2.defineModule)({
126
137
  id: `${import_chunk_ZU5OIHCY.meta.id}/module/app-graph-serializer`,
127
138
  activatesOn: import_app_framework2.Events.AppGraphReady,
128
- activate: import_chunk_QRE5L6ZC.AppGraphSerializer
139
+ activate: import_chunk_C4HR7UXE.AppGraphSerializer
129
140
  }),
130
141
  (0, import_app_framework2.defineModule)({
131
- id: `${import_chunk_ZU5OIHCY.meta.id}/module/thread`,
132
- activatesOn: import_plugin_space.ThreadEvents.SetupThread,
133
- activate: import_chunk_QRE5L6ZC.Thread
142
+ id: `${import_chunk_ZU5OIHCY.meta.id}/module/anchor-sort`,
143
+ // TODO(wittjosiah): More relevant event?
144
+ activatesOn: import_app_framework2.Events.AppGraphReady,
145
+ activate: import_chunk_C4HR7UXE.AnchorSort
134
146
  }),
135
147
  (0, import_app_framework2.defineModule)({
136
148
  id: `${import_chunk_ZU5OIHCY.meta.id}/module/artifact-definition`,
137
149
  activatesOn: import_app_framework2.Events.SetupArtifactDefinition,
138
- activate: import_chunk_QRE5L6ZC.ArtifactDefinition
150
+ activate: import_chunk_C4HR7UXE.ArtifactDefinition
139
151
  })
140
152
  ]);
141
153
  // Annotate the CommonJS export names for ESM import in node:
@@ -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 { isInstanceOf, type BaseObject } from '@dxos/echo-schema';\nimport { RefArray } from '@dxos/live-object';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { SpaceCapabilities, ThreadEvents } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\nimport { translations as editorTranslations } from '@dxos/react-ui-editor';\nimport { TextType } from '@dxos/schema';\n\nimport {\n AppGraphSerializer,\n ArtifactDefinition,\n IntentResolver,\n MarkdownState,\n MarkdownSettings,\n ReactSurface,\n Thread,\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: any) =>\n isInstanceOf(DocumentType, object) ? object.name || object.fallbackName : undefined,\n icon: 'ph--text-aa--regular',\n graphProps: {\n managesAutofocus: true,\n },\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (doc: DocumentType) =>\n await RefArray.loadAll<BaseObject>([doc.content, ...doc.threads]),\n serializer,\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, [TextType]),\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/thread`,\n activatesOn: ThreadEvents.SetupThread,\n activate: Thread,\n }),\n defineModule({\n id: `${meta.id}/module/artifact-definition`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: ArtifactDefinition,\n }),\n ]);\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAAuB;ACAvB,IAAAA,wBAA4F;AAC5F,yBAA8C;AAC9C,yBAAyB;AACzB,2BAAiD;AACjD,0BAAgD;AAChD,mBAAiC;AACjC,6BAAmD;AACnD,oBAAyB;;UDHRC,iBAAAA;kBACFC,kBAAkBC,4BAAOC,iBAAiB,GAAGC,qCAAAA,mBAAkC;AAC9F,GAFiBJ,mBAAAA,iBAAAA,CAAAA,EAAAA;ACoBV,IAAMK,iBAAiB,UAC5BC,oCAAaC,4BAAM;MACjBC,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOS;IACpBC,UAAU,UAAMC,mCAAYC,mCAAaC,cAAc;SAAIC;SAAiBC,uBAAAA;KAAmB;EACjG,CAAA;MACAT,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOgB;IACpBN,UAAUO;EACZ,CAAA;MACAX,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;;;;IAIdC,aAAaR,sBAAAA,OAAOgB;IACpBN,UAAUQ;EACZ,CAAA;MACAZ,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOmB;IACpBT,UAAU,UACRC,mCAAYC,mCAAaQ,UAAU;MACjCb,IAAIc,mCAAaC;MACjBC,UAAU;QACRC,OAAO,CAACC,eACNC,iCAAaL,oCAAcI,MAAAA,IAAUA,OAAOE,QAAQF,OAAOG,eAAeC;QAC5EC,MAAM;QACNC,YAAY;UACVC,kBAAkB;QACpB;;QAEAC,gBAAgB,OAAOC,QACrB,MAAMC,4BAASC,QAAoB;UAACF,IAAIG;aAAYH,IAAII;SAAQ;QAClEC;MACF;IACF,CAAA;EACJ,CAAA;MACAjC,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAagC,kCAAaC;IAC1B/B,UAAU,UACRC,mCACE+B,sCAAkBC,gBAClBC,+BAAiB;MACfC,cAAcxB;MACdyB,WAAW,CAACC,GAAG,EAAEC,MAAK,UAAOC,oCAAaC,qCAAeC,QAAQ;QAAEC,SAASJ,MAAMzC;MAAG,CAAA;IACvF,CAAA,CAAA;EAEN,CAAA;MACAD,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAagC,kCAAaC;IAC1B/B,UAAU,UAAMC,mCAAY0C,wCAAmBC,QAAQ;MAACC;KAAS;EACnE,CAAA;MACAjD,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOwD;;IAEpBC,iBAAiB;MAAC3D,eAAeC;;IACjCW,UAAUgD;EACZ,CAAA;MACApD,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAO2D;IACpBjD,UAAUkD;EACZ,CAAA;MACAtD,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAO6D;IACpBnD,UAAUoD;EACZ,CAAA;MACAxD,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAauD,iCAAaC;IAC1BtD,UAAUuD;EACZ,CAAA;MACA3D,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOkE;IACpBxD,UAAUyD;EACZ,CAAA;CACD;",
6
- "names": ["import_app_framework", "MarkdownEvents", "SetupExtensions", "Events", "createStateEvent", "MARKDOWN_PLUGIN", "MarkdownPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "editorTranslations", "SetupSettings", "MarkdownSettings", "MarkdownState", "SetupMetadata", "Metadata", "DocumentType", "typename", "metadata", "label", "object", "isInstanceOf", "name", "fallbackName", "undefined", "icon", "graphProps", "managesAutofocus", "loadReferences", "doc", "RefArray", "loadAll", "content", "threads", "serializer", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "getIntent", "_", "space", "createIntent", "MarkdownAction", "Create", "spaceId", "ClientCapabilities", "Schema", "TextType", "SetupReactSurface", "activatesBefore", "ReactSurface", "SetupIntentResolver", "IntentResolver", "AppGraphReady", "AppGraphSerializer", "ThreadEvents", "SetupThread", "Thread", "SetupArtifactDefinition", "ArtifactDefinition"]
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 { isInstanceOf, type BaseObject } from '@dxos/echo-schema';\nimport { RefArray } from '@dxos/live-object';\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: any) =>\n isInstanceOf(DocumentType, object) ? object.name || object.fallbackName : undefined,\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 RefArray.loadAll<BaseObject>([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": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAAuB;ACAvB,IAAAA,wBAA4F;AAC5F,yBAA8C;AAC9C,yBAAyB;AACzB,2BAAiD;AACjD,0BAAkC;AAClC,mBAAiC;AACjC,kBAAkD;AAClD,6BAAmD;AACnD,oBAAyB;UDJRC,iBAAAA;kBACFC,kBAAkBC,4BAAOC,iBAAiB,GAAGC,qCAAAA,mBAAkC;AAC9F,GAFiBJ,mBAAAA,iBAAAA,CAAAA,EAAAA;;ACqBV,IAAMK,iBAAiB,UAC5BC,oCAAaC,4BAAM;MACjBC,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOS;IACpBC,UAAU,UAAMC,mCAAYC,mCAAaC,cAAc;SAAIC;SAAiBC,uBAAAA;KAAmB;EACjG,CAAA;MACAT,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOgB;IACpBN,UAAUO;EACZ,CAAA;MACAX,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;;;;IAIdC,aAAaR,sBAAAA,OAAOgB;IACpBN,UAAUQ;EACZ,CAAA;MACAZ,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOmB;IACpBT,UAAU,UACRC,mCAAYC,mCAAaQ,UAAU;MACjCb,IAAIc,mCAAaC;MACjBC,UAAU;QACRC,OAAO,CAACC,eACNC,iCAAaL,oCAAcI,MAAAA,IAAUA,OAAOE,QAAQF,OAAOG,eAAeC;QAC5EC,MAAM;QACNC,YAAY;UACVC,kBAAkB;QACpB;;QAEAC,gBAAgB,OAAOC,QAAsB,MAAMC,4BAASC,QAAoB;UAACF,IAAIG;SAAQ;QAC7FC;;QAEAC,UAAU;QACVC,eAAe;QACfC,gBAAgB,CAACP,KAAmBQ,WAAAA;AAClC,cAAIR,IAAIG,SAAS;AACf,kBAAM,CAACM,OAAOC,GAAAA,IAAOF,OAAOG,MAAM,GAAA;AAClC,uBAAOC,gCAAeC,+BAAkBb,IAAIG,QAAQW,QAAS;cAAC;aAAU,GAAGL,OAAOC,GAAAA;UACpF;QACF;MACF;IACF,CAAA;EACJ,CAAA;MACAtC,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAayC,kCAAaC;IAC1BxC,UAAU,UACRC,mCACEwC,sCAAkBC,gBAClBC,+BAAiB;MACfC,cAAcjC;MACdkC,WAAW,CAACC,GAAG,EAAEC,MAAK,UAAOC,oCAAaC,qCAAeC,QAAQ;QAAEC,SAASJ,MAAMlD;MAAG,CAAA;IACvF,CAAA,CAAA;EAEN,CAAA;MACAD,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAayC,kCAAaC;IAC1BxC,UAAU,UAAMC,mCAAYmD,wCAAmBC,QAAQ;MAACC,uBAASC;KAAK;EACxE,CAAA;MACA3D,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOkE;;IAEpBC,iBAAiB;MAACrE,eAAeC;;IACjCW,UAAU0D;EACZ,CAAA;MACA9D,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOqE;IACpB3D,UAAU4D;EACZ,CAAA;MACAhE,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOuE;IACpB7D,UAAU8D;EACZ,CAAA;MACAlE,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;;IAEdC,aAAaR,sBAAAA,OAAOuE;IACpB7D,UAAU+D;EACZ,CAAA;MACAnE,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAO0E;IACpBhE,UAAUiE;EACZ,CAAA;CACD;",
6
+ "names": ["import_app_framework", "MarkdownEvents", "SetupExtensions", "Events", "createStateEvent", "MARKDOWN_PLUGIN", "MarkdownPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "editorTranslations", "SetupSettings", "MarkdownSettings", "MarkdownState", "SetupMetadata", "Metadata", "DocumentType", "typename", "metadata", "label", "object", "isInstanceOf", "name", "fallbackName", "undefined", "icon", "graphProps", "managesAutofocus", "loadReferences", "doc", "RefArray", "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", "ReactSurface", "SetupIntentResolver", "IntentResolver", "AppGraphReady", "AppGraphSerializer", "AnchorSort", "SetupArtifactDefinition", "ArtifactDefinition"]
7
7
  }
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var intent_resolver_AUZVK3NZ_exports = {};
20
+ __export(intent_resolver_AUZVK3NZ_exports, {
21
+ default: () => intent_resolver_default
22
+ });
23
+ module.exports = __toCommonJS(intent_resolver_AUZVK3NZ_exports);
24
+ var import_chunk_IFYSBQE5 = require("./chunk-IFYSBQE5.cjs");
25
+ var import_chunk_RQS4KBMG = require("./chunk-RQS4KBMG.cjs");
26
+ var import_chunk_ZU5OIHCY = require("./chunk-ZU5OIHCY.cjs");
27
+ var import_automerge = require("@automerge/automerge");
28
+ var import_effect = require("effect");
29
+ var import_app_framework = require("@dxos/app-framework");
30
+ var import_echo_schema = require("@dxos/echo-schema");
31
+ var import_live_object = require("@dxos/live-object");
32
+ var import_echo = require("@dxos/react-client/echo");
33
+ var import_schema = require("@dxos/schema");
34
+ var intent_resolver_default = (context) => (0, import_app_framework.contributes)(import_app_framework.Capabilities.IntentResolver, [
35
+ (0, import_app_framework.createResolver)({
36
+ intent: import_chunk_RQS4KBMG.MarkdownAction.Create,
37
+ resolve: ({ name, content }) => {
38
+ const doc = (0, import_live_object.live)(import_chunk_RQS4KBMG.DocumentType, {
39
+ name,
40
+ content: import_echo.Ref.make((0, import_live_object.live)(import_schema.DataType.Text, {
41
+ content: content ?? ""
42
+ }))
43
+ });
44
+ return {
45
+ data: {
46
+ object: doc
47
+ }
48
+ };
49
+ }
50
+ }),
51
+ (0, import_app_framework.createResolver)({
52
+ intent: import_chunk_RQS4KBMG.MarkdownAction.SetViewMode,
53
+ resolve: ({ id, viewMode }) => {
54
+ const { state } = context.getCapability(import_chunk_IFYSBQE5.MarkdownCapabilities.State);
55
+ state.viewMode[id] = viewMode;
56
+ }
57
+ }),
58
+ (0, import_app_framework.createResolver)({
59
+ intent: import_app_framework.CollaborationActions.InsertContent,
60
+ filter: (data) => (0, import_echo_schema.isInstanceOf)(import_chunk_RQS4KBMG.DocumentType, data.target),
61
+ resolve: async ({ target, object: objectRef, at, label }) => {
62
+ const text = await target.content.load();
63
+ const accessor = (0, import_echo.createDocAccessor)(text, [
64
+ "content"
65
+ ]);
66
+ const { start, end } = (0, import_effect.pipe)(import_effect.Option.fromNullable(at), import_effect.Option.flatMap((at2) => import_effect.Option.fromNullable((0, import_echo.getRangeFromCursor)(accessor, at2))), import_effect.Option.getOrElse(() => ({
67
+ start: text.content.length - 1,
68
+ end: text.content.length - 1
69
+ })));
70
+ accessor.handle.change((doc) => {
71
+ const ref = `[${label ?? "Generated content"}]](${objectRef.dxn.toString()})
72
+ `;
73
+ import_automerge.next.splice(doc, accessor.path.slice(), start, end - start, ref);
74
+ });
75
+ }
76
+ })
77
+ ]);
78
+ //# sourceMappingURL=intent-resolver-AUZVK3NZ.cjs.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 { Option, pipe, type Schema } from 'effect';\n\nimport {\n Capabilities,\n CollaborationActions,\n contributes,\n createResolver,\n type PluginContext,\n} from '@dxos/app-framework';\nimport { isInstanceOf } from '@dxos/echo-schema';\nimport { live } from '@dxos/live-object';\nimport { createDocAccessor, getRangeFromCursor, Ref } from '@dxos/react-client/echo';\nimport { DataType } from '@dxos/schema';\n\nimport { MarkdownCapabilities } from './capabilities';\nimport { DocumentType, MarkdownAction } from '../types';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: MarkdownAction.Create,\n resolve: ({ name, content }) => {\n const doc = live(DocumentType, {\n name,\n content: Ref.make(live(DataType.Text, { content: content ?? '' })),\n });\n\n return { data: { object: doc } };\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.InsertContent,\n filter: (\n data,\n ): data is Omit<Schema.Schema.Type<typeof CollaborationActions.InsertContent.fields.input>, 'target'> & {\n target: DocumentType;\n } => isInstanceOf(DocumentType, data.target),\n resolve: async ({ target, object: objectRef, at, label }) => {\n const text = await target.content.load();\n const accessor = createDocAccessor(text, ['content']);\n const { start, end } = pipe(\n Option.fromNullable(at),\n Option.flatMap((at) => Option.fromNullable(getRangeFromCursor(accessor, at))),\n Option.getOrElse(() => ({ start: text.content.length - 1, end: text.content.length - 1 })),\n );\n accessor.handle.change((doc) => {\n const ref = `[${label ?? 'Generated content'}]](${objectRef.dxn.toString()})\\n`;\n A.splice(doc, accessor.path.slice(), start, end - start, ref);\n });\n },\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,uBAA0B;AAC1B,oBAA0C;AAE1C,2BAMO;AACP,yBAA6B;AAC7B,yBAAqB;AACrB,kBAA2D;AAC3D,oBAAyB;AAKzB,IAAA,0BAAe,CAACA,gBACdC,kCAAYC,kCAAaC,gBAAgB;MACvCC,qCAAe;IACbC,QAAQC,qCAAeC;IACvBC,SAAS,CAAC,EAAEC,MAAMC,QAAO,MAAE;AACzB,YAAMC,UAAMC,yBAAKC,oCAAc;QAC7BJ;QACAC,SAASI,gBAAIC,SAAKH,yBAAKI,uBAASC,MAAM;UAAEP,SAASA,WAAW;QAAG,CAAA,CAAA;MACjE,CAAA;AAEA,aAAO;QAAEQ,MAAM;UAAEC,QAAQR;QAAI;MAAE;IACjC;EACF,CAAA;MACAP,qCAAe;IACbC,QAAQC,qCAAec;IACvBZ,SAAS,CAAC,EAAEa,IAAIC,SAAQ,MAAE;AACxB,YAAM,EAAEC,MAAK,IAAKvB,QAAQwB,cAAcC,2CAAqBC,KAAK;AAClEH,YAAMD,SAASD,EAAAA,IAAMC;IACvB;EACF,CAAA;MACAlB,qCAAe;IACbC,QAAQsB,0CAAqBC;IAC7BC,QAAQ,CACNX,aAGGY,iCAAajB,oCAAcK,KAAKa,MAAM;IAC3CvB,SAAS,OAAO,EAAEuB,QAAQZ,QAAQa,WAAWC,IAAIC,MAAK,MAAE;AACtD,YAAMC,OAAO,MAAMJ,OAAOrB,QAAQ0B,KAAI;AACtC,YAAMC,eAAWC,+BAAkBH,MAAM;QAAC;OAAU;AACpD,YAAM,EAAEI,OAAOC,IAAG,QAAKC,oBACrBC,qBAAOC,aAAaV,EAAAA,GACpBS,qBAAOE,QAAQ,CAACX,QAAOS,qBAAOC,iBAAaE,gCAAmBR,UAAUJ,GAAAA,CAAAA,CAAAA,GACxES,qBAAOI,UAAU,OAAO;QAAEP,OAAOJ,KAAKzB,QAAQqC,SAAS;QAAGP,KAAKL,KAAKzB,QAAQqC,SAAS;MAAE,EAAA,CAAA;AAEzFV,eAASW,OAAOC,OAAO,CAACtC,QAAAA;AACtB,cAAMuC,MAAM,IAAIhB,SAAS,mBAAA,MAAyBF,UAAUmB,IAAIC,SAAQ,CAAA;;AACxEC,yBAAAA,KAAEC,OAAO3C,KAAK0B,SAASkB,KAAKC,MAAK,GAAIjB,OAAOC,MAAMD,OAAOW,GAAAA;MAC3D,CAAA;IACF;EACF,CAAA;CACD;",
6
+ "names": ["context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "MarkdownAction", "Create", "resolve", "name", "content", "doc", "live", "DocumentType", "Ref", "make", "DataType", "Text", "data", "object", "SetViewMode", "id", "viewMode", "state", "getCapability", "MarkdownCapabilities", "State", "CollaborationActions", "InsertContent", "filter", "isInstanceOf", "target", "objectRef", "at", "label", "text", "load", "accessor", "createDocAccessor", "start", "end", "pipe", "Option", "fromNullable", "flatMap", "getRangeFromCursor", "getOrElse", "length", "handle", "change", "ref", "dxn", "toString", "A", "splice", "path", "slice"]
7
+ }