@dxos/plugin-markdown 0.8.1 → 0.8.2-main.2f9c567

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 (181) hide show
  1. package/dist/lib/browser/{MarkdownContainer-T3HU27RE.mjs → MarkdownContainer-JKHGKEWX.mjs} +20 -16
  2. package/dist/lib/browser/MarkdownContainer-JKHGKEWX.mjs.map +7 -0
  3. package/dist/lib/browser/MarkdownPreview-AXRXM2VS.mjs +81 -0
  4. package/dist/lib/browser/MarkdownPreview-AXRXM2VS.mjs.map +7 -0
  5. package/dist/lib/browser/{app-graph-serializer-NOXI4IQ5.mjs → app-graph-serializer-6SMW5SL3.mjs} +3 -3
  6. package/dist/lib/browser/{artifact-definition-CE6J6NY4.mjs → artifact-definition-BEV7S3Q2.mjs} +9 -8
  7. package/dist/lib/browser/artifact-definition-BEV7S3Q2.mjs.map +7 -0
  8. package/dist/lib/browser/chunk-6D6EOKIT.mjs +20 -0
  9. package/dist/lib/browser/chunk-6D6EOKIT.mjs.map +7 -0
  10. package/dist/lib/browser/chunk-FJ5P5CGA.mjs +86 -0
  11. package/dist/lib/browser/chunk-FJ5P5CGA.mjs.map +7 -0
  12. package/dist/lib/browser/{chunk-3ULJ4FIJ.mjs → chunk-H2ACKZFL.mjs} +11 -24
  13. package/dist/lib/browser/chunk-H2ACKZFL.mjs.map +7 -0
  14. package/dist/lib/browser/{chunk-QXDKFACU.mjs → chunk-JD72ICHV.mjs} +5 -3
  15. package/dist/lib/browser/{chunk-QXDKFACU.mjs.map → chunk-JD72ICHV.mjs.map} +2 -2
  16. package/dist/lib/browser/index.mjs +10 -6
  17. package/dist/lib/browser/index.mjs.map +3 -3
  18. package/dist/lib/browser/intent-resolver-K7GY2J5W.mjs +86 -0
  19. package/dist/lib/browser/intent-resolver-K7GY2J5W.mjs.map +7 -0
  20. package/dist/lib/browser/meta.json +1 -1
  21. package/dist/lib/browser/{react-surface-RQX3CPFV.mjs → react-surface-G5QRPPGT.mjs} +16 -6
  22. package/dist/lib/browser/react-surface-G5QRPPGT.mjs.map +7 -0
  23. package/dist/lib/browser/{settings-GCSS3Y4Z.mjs → settings-QBFZJW2H.mjs} +4 -4
  24. package/dist/lib/browser/settings-QBFZJW2H.mjs.map +7 -0
  25. package/dist/lib/browser/{state-O7P5JDIH.mjs → state-AIN4J7N5.mjs} +1 -1
  26. package/dist/lib/browser/{state-O7P5JDIH.mjs.map → state-AIN4J7N5.mjs.map} +2 -2
  27. package/dist/lib/browser/{thread-3QGCFNVZ.mjs → thread-VUUBSXA5.mjs} +2 -2
  28. package/dist/lib/browser/types/index.mjs +3 -1
  29. package/dist/lib/node/{MarkdownContainer-6ZJIFAP6.cjs → MarkdownContainer-KLCUCM5O.cjs} +22 -18
  30. package/dist/lib/node/MarkdownContainer-KLCUCM5O.cjs.map +7 -0
  31. package/dist/lib/node/MarkdownPreview-YEFCEKYA.cjs +104 -0
  32. package/dist/lib/node/MarkdownPreview-YEFCEKYA.cjs.map +7 -0
  33. package/dist/lib/node/{app-graph-serializer-HKK3SEDN.cjs → app-graph-serializer-4VZJUDTL.cjs} +9 -9
  34. package/dist/lib/node/{artifact-definition-XGADFWCQ.cjs → artifact-definition-HNSTQ7SX.cjs} +15 -14
  35. package/dist/lib/node/artifact-definition-HNSTQ7SX.cjs.map +7 -0
  36. package/dist/lib/node/{chunk-UEXGNGSS.cjs → chunk-2HGBN655.cjs} +43 -31
  37. package/dist/lib/node/chunk-2HGBN655.cjs.map +7 -0
  38. package/dist/lib/node/{chunk-7QVONRSI.cjs → chunk-6KAGLDQY.cjs} +13 -57
  39. package/dist/lib/node/chunk-6KAGLDQY.cjs.map +7 -0
  40. package/dist/lib/node/chunk-AVTID2BC.cjs +75 -0
  41. package/dist/lib/node/chunk-AVTID2BC.cjs.map +7 -0
  42. package/dist/lib/node/{chunk-H5MYVP6F.cjs → chunk-ETVG2GKL.cjs} +9 -7
  43. package/dist/lib/node/{chunk-H5MYVP6F.cjs.map → chunk-ETVG2GKL.cjs.map} +2 -2
  44. package/dist/lib/node/index.cjs +24 -21
  45. package/dist/lib/node/index.cjs.map +3 -3
  46. package/dist/lib/node/{intent-resolver-NW27BF3W.cjs → intent-resolver-FGBVXI7L.cjs} +45 -9
  47. package/dist/lib/node/intent-resolver-FGBVXI7L.cjs.map +7 -0
  48. package/dist/lib/node/meta.json +1 -1
  49. package/dist/lib/node/{react-surface-5X3SMHGI.cjs → react-surface-DJFEQ4EN.cjs} +19 -9
  50. package/dist/lib/node/react-surface-DJFEQ4EN.cjs.map +7 -0
  51. package/dist/lib/node/{settings-S2ISUVIH.cjs → settings-I3Z64YPE.cjs} +7 -7
  52. package/dist/lib/node/settings-I3Z64YPE.cjs.map +7 -0
  53. package/dist/lib/node/{state-L44SG3ZM.cjs → state-PC7IVXFP.cjs} +4 -4
  54. package/dist/lib/node/{state-L44SG3ZM.cjs.map → state-PC7IVXFP.cjs.map} +2 -2
  55. package/dist/lib/node/{thread-42R57L4K.cjs → thread-NHTJKFC4.cjs} +6 -6
  56. package/dist/lib/node/types/index.cjs +8 -6
  57. package/dist/lib/node/types/index.cjs.map +2 -2
  58. package/dist/lib/node-esm/{MarkdownContainer-URAPTO37.mjs → MarkdownContainer-IRHSOSGC.mjs} +20 -16
  59. package/dist/lib/node-esm/MarkdownContainer-IRHSOSGC.mjs.map +7 -0
  60. package/dist/lib/node-esm/MarkdownPreview-JWPTJG2V.mjs +82 -0
  61. package/dist/lib/node-esm/MarkdownPreview-JWPTJG2V.mjs.map +7 -0
  62. package/dist/lib/node-esm/{app-graph-serializer-QQ2CTHOQ.mjs → app-graph-serializer-QH2FE7FH.mjs} +3 -3
  63. package/dist/lib/node-esm/{artifact-definition-WRG5ZRN5.mjs → artifact-definition-GA7NQ3X5.mjs} +9 -8
  64. package/dist/lib/node-esm/artifact-definition-GA7NQ3X5.mjs.map +7 -0
  65. package/dist/lib/node-esm/{chunk-F6UHVLH7.mjs → chunk-64TMVBTT.mjs} +11 -24
  66. package/dist/lib/node-esm/chunk-64TMVBTT.mjs.map +7 -0
  67. package/dist/lib/node-esm/{chunk-JAVD67QP.mjs → chunk-6TXN2UXT.mjs} +5 -3
  68. package/dist/lib/node-esm/{chunk-JAVD67QP.mjs.map → chunk-6TXN2UXT.mjs.map} +2 -2
  69. package/dist/lib/node-esm/chunk-I6RIVFIP.mjs +87 -0
  70. package/dist/lib/node-esm/chunk-I6RIVFIP.mjs.map +7 -0
  71. package/dist/lib/node-esm/chunk-VBEBX5EB.mjs +22 -0
  72. package/dist/lib/node-esm/chunk-VBEBX5EB.mjs.map +7 -0
  73. package/dist/lib/node-esm/index.mjs +10 -6
  74. package/dist/lib/node-esm/index.mjs.map +3 -3
  75. package/dist/lib/node-esm/intent-resolver-3STR3645.mjs +87 -0
  76. package/dist/lib/node-esm/intent-resolver-3STR3645.mjs.map +7 -0
  77. package/dist/lib/node-esm/meta.json +1 -1
  78. package/dist/lib/node-esm/{react-surface-6IKC3G46.mjs → react-surface-75OU2AJX.mjs} +16 -6
  79. package/dist/lib/node-esm/react-surface-75OU2AJX.mjs.map +7 -0
  80. package/dist/lib/node-esm/{settings-ZDIFTK4N.mjs → settings-G7QIMIEK.mjs} +4 -4
  81. package/dist/lib/node-esm/settings-G7QIMIEK.mjs.map +7 -0
  82. package/dist/lib/node-esm/{state-DWPOKLEY.mjs → state-PNOPM4TS.mjs} +1 -1
  83. package/dist/lib/node-esm/{state-DWPOKLEY.mjs.map → state-PNOPM4TS.mjs.map} +2 -2
  84. package/dist/lib/node-esm/{thread-R2KHZD6V.mjs → thread-72RI26KD.mjs} +2 -2
  85. package/dist/lib/node-esm/types/index.mjs +3 -1
  86. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  87. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  88. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  89. package/dist/types/src/components/MarkdownContainer.d.ts +2 -2
  90. package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
  91. package/dist/types/src/components/{MarkdownEditor.d.ts → MarkdownEditor/MarkdownEditor.d.ts} +1 -1
  92. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -0
  93. package/dist/types/src/components/{MarkdownEditor.stories.d.ts → MarkdownEditor/MarkdownEditor.stories.d.ts} +3 -3
  94. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts.map +1 -0
  95. package/dist/types/src/components/MarkdownEditor/index.d.ts +2 -0
  96. package/dist/types/src/components/MarkdownEditor/index.d.ts.map +1 -0
  97. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts +6 -0
  98. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts.map +1 -0
  99. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts +189 -0
  100. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts.map +1 -0
  101. package/dist/types/src/components/MarkdownPreview/index.d.ts +4 -0
  102. package/dist/types/src/components/MarkdownPreview/index.d.ts.map +1 -0
  103. package/dist/types/src/components/{MarkdownSettings.d.ts → MarkdownSettings/MarkdownSettings.d.ts} +1 -1
  104. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts.map +1 -0
  105. package/dist/types/src/components/MarkdownSettings/index.d.ts +2 -0
  106. package/dist/types/src/components/MarkdownSettings/index.d.ts.map +1 -0
  107. package/dist/types/src/components/Suggestions.stories.d.ts +12 -0
  108. package/dist/types/src/components/Suggestions.stories.d.ts.map +1 -0
  109. package/dist/types/src/components/Toolbar.stories.d.ts +2 -2
  110. package/dist/types/src/components/Toolbar.stories.d.ts.map +1 -1
  111. package/dist/types/src/components/index.d.ts +1 -0
  112. package/dist/types/src/components/index.d.ts.map +1 -1
  113. package/dist/types/src/extensions.d.ts +2 -2
  114. package/dist/types/src/extensions.d.ts.map +1 -1
  115. package/dist/types/src/translations.d.ts +6 -0
  116. package/dist/types/src/translations.d.ts.map +1 -1
  117. package/dist/types/src/types/schema.d.ts +522 -123
  118. package/dist/types/src/types/schema.d.ts.map +1 -1
  119. package/dist/types/src/types/types.d.ts +195 -85
  120. package/dist/types/src/types/types.d.ts.map +1 -1
  121. package/dist/types/src/util.d.ts +1 -0
  122. package/dist/types/src/util.d.ts.map +1 -1
  123. package/package.json +40 -33
  124. package/src/MarkdownPlugin.tsx +5 -5
  125. package/src/capabilities/artifact-definition.ts +5 -3
  126. package/src/capabilities/intent-resolver.ts +39 -6
  127. package/src/capabilities/react-surface.tsx +11 -4
  128. package/src/capabilities/settings.ts +2 -2
  129. package/src/capabilities/state.ts +1 -1
  130. package/src/components/MarkdownContainer.tsx +4 -3
  131. package/src/components/{MarkdownEditor.stories.tsx → MarkdownEditor/MarkdownEditor.stories.tsx} +22 -35
  132. package/src/components/{MarkdownEditor.tsx → MarkdownEditor/MarkdownEditor.tsx} +5 -4
  133. package/src/components/MarkdownEditor/index.ts +5 -0
  134. package/src/components/MarkdownPreview/MarkdownPreview.stories.tsx +68 -0
  135. package/src/components/MarkdownPreview/MarkdownPreview.tsx +85 -0
  136. package/src/components/MarkdownPreview/index.ts +9 -0
  137. package/src/components/{MarkdownSettings.tsx → MarkdownSettings/MarkdownSettings.tsx} +2 -2
  138. package/src/components/MarkdownSettings/index.ts +5 -0
  139. package/src/components/Suggestions.stories.tsx +191 -0
  140. package/src/components/Toolbar.stories.tsx +16 -16
  141. package/src/components/index.ts +1 -0
  142. package/src/extensions.tsx +39 -34
  143. package/src/hooks/useSelectCurrentThread.tsx +2 -2
  144. package/src/translations.ts +2 -0
  145. package/src/types/schema.ts +24 -11
  146. package/src/types/types.ts +22 -21
  147. package/src/util.tsx +7 -3
  148. package/dist/lib/browser/MarkdownContainer-T3HU27RE.mjs.map +0 -7
  149. package/dist/lib/browser/artifact-definition-CE6J6NY4.mjs.map +0 -7
  150. package/dist/lib/browser/chunk-3ULJ4FIJ.mjs.map +0 -7
  151. package/dist/lib/browser/chunk-YCJNW2RU.mjs +0 -75
  152. package/dist/lib/browser/chunk-YCJNW2RU.mjs.map +0 -7
  153. package/dist/lib/browser/intent-resolver-42GQ6HNZ.mjs +0 -50
  154. package/dist/lib/browser/intent-resolver-42GQ6HNZ.mjs.map +0 -7
  155. package/dist/lib/browser/react-surface-RQX3CPFV.mjs.map +0 -7
  156. package/dist/lib/browser/settings-GCSS3Y4Z.mjs.map +0 -7
  157. package/dist/lib/node/MarkdownContainer-6ZJIFAP6.cjs.map +0 -7
  158. package/dist/lib/node/artifact-definition-XGADFWCQ.cjs.map +0 -7
  159. package/dist/lib/node/chunk-7QVONRSI.cjs.map +0 -7
  160. package/dist/lib/node/chunk-UEXGNGSS.cjs.map +0 -7
  161. package/dist/lib/node/intent-resolver-NW27BF3W.cjs.map +0 -7
  162. package/dist/lib/node/react-surface-5X3SMHGI.cjs.map +0 -7
  163. package/dist/lib/node/settings-S2ISUVIH.cjs.map +0 -7
  164. package/dist/lib/node-esm/MarkdownContainer-URAPTO37.mjs.map +0 -7
  165. package/dist/lib/node-esm/artifact-definition-WRG5ZRN5.mjs.map +0 -7
  166. package/dist/lib/node-esm/chunk-4AM4VU3Y.mjs +0 -76
  167. package/dist/lib/node-esm/chunk-4AM4VU3Y.mjs.map +0 -7
  168. package/dist/lib/node-esm/chunk-F6UHVLH7.mjs.map +0 -7
  169. package/dist/lib/node-esm/intent-resolver-7HOMUVHR.mjs +0 -51
  170. package/dist/lib/node-esm/intent-resolver-7HOMUVHR.mjs.map +0 -7
  171. package/dist/lib/node-esm/react-surface-6IKC3G46.mjs.map +0 -7
  172. package/dist/lib/node-esm/settings-ZDIFTK4N.mjs.map +0 -7
  173. package/dist/types/src/components/MarkdownEditor.d.ts.map +0 -1
  174. package/dist/types/src/components/MarkdownEditor.stories.d.ts.map +0 -1
  175. package/dist/types/src/components/MarkdownSettings.d.ts.map +0 -1
  176. /package/dist/lib/browser/{app-graph-serializer-NOXI4IQ5.mjs.map → app-graph-serializer-6SMW5SL3.mjs.map} +0 -0
  177. /package/dist/lib/browser/{thread-3QGCFNVZ.mjs.map → thread-VUUBSXA5.mjs.map} +0 -0
  178. /package/dist/lib/node/{app-graph-serializer-HKK3SEDN.cjs.map → app-graph-serializer-4VZJUDTL.cjs.map} +0 -0
  179. /package/dist/lib/node/{thread-42R57L4K.cjs.map → thread-NHTJKFC4.cjs.map} +0 -0
  180. /package/dist/lib/node-esm/{app-graph-serializer-QQ2CTHOQ.mjs.map → app-graph-serializer-QH2FE7FH.mjs.map} +0 -0
  181. /package/dist/lib/node-esm/{thread-R2KHZD6V.mjs.map → thread-72RI26KD.mjs.map} +0 -0
@@ -1,16 +1,19 @@
1
1
  import {
2
2
  DocumentType
3
- } from "./chunk-YCJNW2RU.mjs";
3
+ } from "./chunk-FJ5P5CGA.mjs";
4
4
 
5
5
  // packages/plugins/plugin-markdown/src/util.tsx
6
6
  import { debounce } from "@dxos/async";
7
- import { create, createObject, isEchoObject, loadObjectReferences, makeRef } from "@dxos/react-client/echo";
8
- import { TextType } from "@dxos/schema";
7
+ import { live, createObject, isEchoObject, loadObjectReferences, makeRef } from "@dxos/react-client/echo";
8
+ import { DataType } from "@dxos/schema";
9
9
  var isMarkdownProperties = (data) => isEchoObject(data) ? true : data && typeof data === "object" ? "title" in data && typeof data.title === "string" : false;
10
10
  var nonTitleChars = /[^\w ]/g;
11
11
  var getFallbackName = (content) => {
12
12
  return content.substring(0, 31).split("\n")[0].replaceAll(nonTitleChars, "").trim();
13
13
  };
14
+ var getAbstract = (content) => {
15
+ return content.substring(0, 128).split("\n")[0].replaceAll(nonTitleChars, "").trim();
16
+ };
14
17
  var setFallbackName = debounce((doc, content) => {
15
18
  const name = getFallbackName(content);
16
19
  if (doc.fallbackName !== name) {
@@ -28,10 +31,10 @@ var serializer = {
28
31
  },
29
32
  deserialize: async ({ content: serialized }) => {
30
33
  const { name, fallbackName, content } = JSON.parse(serialized);
31
- return createObject(create(DocumentType, {
34
+ return createObject(live(DocumentType, {
32
35
  name,
33
36
  fallbackName,
34
- content: makeRef(create(TextType, {
37
+ content: makeRef(live(DataType.Text, {
35
38
  content
36
39
  })),
37
40
  threads: []
@@ -39,27 +42,11 @@ var serializer = {
39
42
  }
40
43
  };
41
44
 
42
- // packages/plugins/plugin-markdown/src/capabilities/index.ts
43
- import { lazy } from "@dxos/app-framework";
44
- var AppGraphSerializer = lazy(() => import("./app-graph-serializer-NOXI4IQ5.mjs"));
45
- var ArtifactDefinition = lazy(() => import("./artifact-definition-CE6J6NY4.mjs"));
46
- var IntentResolver = lazy(() => import("./intent-resolver-42GQ6HNZ.mjs"));
47
- var ReactSurface = lazy(() => import("./react-surface-RQX3CPFV.mjs"));
48
- var MarkdownSettings = lazy(() => import("./settings-GCSS3Y4Z.mjs"));
49
- var MarkdownState = lazy(() => import("./state-O7P5JDIH.mjs"));
50
- var Thread = lazy(() => import("./thread-3QGCFNVZ.mjs"));
51
-
52
45
  export {
53
46
  isMarkdownProperties,
54
47
  getFallbackName,
48
+ getAbstract,
55
49
  setFallbackName,
56
- serializer,
57
- AppGraphSerializer,
58
- ArtifactDefinition,
59
- IntentResolver,
60
- ReactSurface,
61
- MarkdownSettings,
62
- MarkdownState,
63
- Thread
50
+ serializer
64
51
  };
65
- //# sourceMappingURL=chunk-3ULJ4FIJ.mjs.map
52
+ //# sourceMappingURL=chunk-H2ACKZFL.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 { type TypedObjectSerializer } from '@dxos/plugin-space/types';\nimport { live, createObject, isEchoObject, loadObjectReferences, makeRef } 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)\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: makeRef(live(DataType.Text, { content })), threads: [] }),\n );\n },\n};\n"],
5
+ "mappings": ";;;;;AAIA,SAASA,gBAAgB;AAEzB,SAASC,MAAMC,cAAcC,cAAcC,sBAAsBC,eAAe;AAChF,SAASC,gBAAgB;AAIlB,IAAMC,uBAAuB,CAACC,SACnCC,aAAaD,IAAAA,IACT,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,kBAAkBC,SAAS,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,MAAMc,qBAAqBD,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,WAAOE,aACLC,KAAKC,cAAc;MAAEd;MAAMC;MAAcV,SAASwB,QAAQF,KAAKG,SAASC,MAAM;QAAE1B;MAAQ,CAAA,CAAA;MAAK2B,SAAS,CAAA;IAAG,CAAA,CAAA;EAE7G;AACF;",
6
+ "names": ["debounce", "live", "createObject", "isEchoObject", "loadObjectReferences", "makeRef", "DataType", "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", "makeRef", "DataType", "Text", "threads"]
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DocumentType
3
- } from "./chunk-YCJNW2RU.mjs";
3
+ } from "./chunk-FJ5P5CGA.mjs";
4
4
  import {
5
5
  MARKDOWN_PLUGIN
6
6
  } from "./chunk-JX6XNEHE.mjs";
@@ -34,7 +34,9 @@ var translations_default = [
34
34
  "settings debug placeholder": "Typewriter script...",
35
35
  "toggle view mode label": "Toggle read-only",
36
36
  "default view mode label": "Default view mode",
37
- "upload image label": "Upload image"
37
+ "upload image label": "Upload image",
38
+ "fallback title": "Untitled",
39
+ "navigate to document label": "Open document"
38
40
  }
39
41
  }
40
42
  }
@@ -43,4 +45,4 @@ var translations_default = [
43
45
  export {
44
46
  translations_default
45
47
  };
46
- //# sourceMappingURL=chunk-QXDKFACU.mjs.map
48
+ //# sourceMappingURL=chunk-JD72ICHV.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/translations.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { getSchemaTypename } from '@dxos/echo-schema';\n\nimport { MARKDOWN_PLUGIN } from './meta';\nimport { DocumentType } from './types';\n\nexport default [\n {\n 'en-US': {\n [getSchemaTypename(DocumentType)!]: {\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 },\n },\n },\n];\n"],
5
- "mappings": ";;;;;;;;AAIA,SAASA,yBAAyB;AAKlC,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACC,kBAAkBC,YAAAA,CAAAA,GAAiB;QAClC,kBAAkB;QAClB,2BAA2B;MAC7B;MACA,CAACC,eAAAA,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;MACxB;IACF;EACF;;",
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { getSchemaTypename } from '@dxos/echo-schema';\n\nimport { MARKDOWN_PLUGIN } from './meta';\nimport { DocumentType } from './types';\n\nexport default [\n {\n 'en-US': {\n [getSchemaTypename(DocumentType)!]: {\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": ";;;;;;;;AAIA,SAASA,yBAAyB;AAKlC,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACC,kBAAkBC,YAAAA,CAAAA,GAAiB;QAClC,kBAAkB;QAClB,2BAA2B;MAC7B;MACA,CAACC,eAAAA,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
6
  "names": ["getSchemaTypename", "getSchemaTypename", "DocumentType", "MARKDOWN_PLUGIN"]
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  translations_default
3
- } from "./chunk-QXDKFACU.mjs";
3
+ } from "./chunk-JD72ICHV.mjs";
4
4
  import {
5
5
  AppGraphSerializer,
6
6
  ArtifactDefinition,
@@ -8,19 +8,22 @@ import {
8
8
  MarkdownSettings,
9
9
  MarkdownState,
10
10
  ReactSurface,
11
- Thread,
11
+ Thread
12
+ } from "./chunk-6D6EOKIT.mjs";
13
+ import {
14
+ getAbstract,
12
15
  getFallbackName,
13
16
  isMarkdownProperties,
14
17
  serializer,
15
18
  setFallbackName
16
- } from "./chunk-3ULJ4FIJ.mjs";
19
+ } from "./chunk-H2ACKZFL.mjs";
17
20
  import {
18
21
  MarkdownCapabilities
19
22
  } from "./chunk-NAGMSX77.mjs";
20
23
  import {
21
24
  DocumentType,
22
25
  MarkdownAction
23
- } from "./chunk-YCJNW2RU.mjs";
26
+ } from "./chunk-FJ5P5CGA.mjs";
24
27
  import {
25
28
  MARKDOWN_PLUGIN,
26
29
  meta
@@ -41,7 +44,7 @@ import { ClientCapabilities, ClientEvents } from "@dxos/plugin-client";
41
44
  import { SpaceCapabilities, ThreadEvents } from "@dxos/plugin-space";
42
45
  import { defineObjectForm } from "@dxos/plugin-space/types";
43
46
  import { translations as editorTranslations } from "@dxos/react-ui-editor";
44
- import { TextType } from "@dxos/schema";
47
+ import { DataType } from "@dxos/schema";
45
48
  var MarkdownPlugin = () => definePlugin(meta, [
46
49
  defineModule({
47
50
  id: `${meta.id}/module/translations`,
@@ -98,7 +101,7 @@ var MarkdownPlugin = () => definePlugin(meta, [
98
101
  id: `${meta.id}/module/schema`,
99
102
  activatesOn: ClientEvents.SetupSchema,
100
103
  activate: () => contributes(ClientCapabilities.Schema, [
101
- TextType
104
+ DataType.Text
102
105
  ])
103
106
  }),
104
107
  defineModule({
@@ -136,6 +139,7 @@ export {
136
139
  MarkdownCapabilities,
137
140
  MarkdownEvents,
138
141
  MarkdownPlugin,
142
+ getAbstract,
139
143
  getFallbackName,
140
144
  isMarkdownProperties,
141
145
  meta,
@@ -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 MarkdownState,\n MarkdownSettings,\n ReactSurface,\n IntentResolver,\n AppGraphSerializer,\n Thread,\n ArtifactDefinition,\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,SAASA,cAAc;;UAINC,iBAAAA;kBACFC,kBAAkBC,OAAOC,iBAAiB,GAAGC,eAAAA,mBAAkC;AAC9F,GAFiBJ,mBAAAA,iBAAAA,CAAAA,EAAAA;;;ACJjB,SAASK,cAAcC,aAAaC,cAAcC,cAAcC,cAAcC,UAAAA,eAAc;AAC5F,SAASC,oBAAqC;AAC9C,SAASC,gBAAgB;AACzB,SAASC,oBAAoBC,oBAAoB;AACjD,SAASC,mBAAmBC,oBAAoB;AAChD,SAASC,wBAAwB;AACjC,SAASC,gBAAgBC,0BAA0B;AACnD,SAASC,gBAAgB;AAiBlB,IAAMC,iBAAiB,MAC5BC,aAAaC,MAAM;EACjBC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOC;IACpBC,UAAU,MAAMC,YAAYC,aAAaC,cAAc;SAAIC;SAAiBC;KAAmB;EACjG,CAAA;EACAV,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOQ;IACpBN,UAAUO;EACZ,CAAA;EACAZ,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;;;;IAIdC,aAAaC,QAAOQ;IACpBN,UAAUQ;EACZ,CAAA;EACAb,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOW;IACpBT,UAAU,MACRC,YAAYC,aAAaQ,UAAU;MACjCd,IAAIe,aAAaC;MACjBC,UAAU;QACRC,OAAO,CAACC,WACNC,aAAaL,cAAcI,MAAAA,IAAUA,OAAOE,QAAQF,OAAOG,eAAeC;QAC5EC,MAAM;QACNC,YAAY;UACVC,kBAAkB;QACpB;;QAEAC,gBAAgB,OAAOC,QACrB,MAAMC,SAASC,QAAoB;UAACF,IAAIG;aAAYH,IAAII;SAAQ;QAClEC;MACF;IACF,CAAA;EACJ,CAAA;EACAlC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaiC,aAAaC;IAC1B/B,UAAU,MACRC,YACE+B,kBAAkBC,YAClBC,iBAAiB;MACfC,cAAcxB;MACdyB,WAAW,CAACC,GAAG,EAAEC,MAAK,MAAOC,aAAaC,eAAeC,QAAQ;QAAEC,SAASJ,MAAM1C;MAAG,CAAA;IACvF,CAAA,CAAA;EAEN,CAAA;EACAD,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaiC,aAAaC;IAC1B/B,UAAU,MAAMC,YAAY0C,mBAAmBC,QAAQ;MAACC;KAAS;EACnE,CAAA;EACAlD,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOgD;;IAEpBC,iBAAiB;MAACC,eAAeC;;IACjCjD,UAAUkD;EACZ,CAAA;EACAvD,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOqD;IACpBnD,UAAUoD;EACZ,CAAA;EACAzD,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOuD;IACpBrD,UAAUsD;EACZ,CAAA;EACA3D,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAa0D,aAAaC;IAC1BxD,UAAUyD;EACZ,CAAA;EACA9D,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAO4D;IACpB1D,UAAU2D;EACZ,CAAA;CACD;",
6
- "names": ["Events", "MarkdownEvents", "SetupExtensions", "Events", "createStateEvent", "MARKDOWN_PLUGIN", "Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "isInstanceOf", "RefArray", "ClientCapabilities", "ClientEvents", "SpaceCapabilities", "ThreadEvents", "defineObjectForm", "translations", "editorTranslations", "TextType", "MarkdownPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "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", "MarkdownEvents", "SetupExtensions", "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, ThreadEvents } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\nimport { translations as editorTranslations } from '@dxos/react-ui-editor';\nimport { DataType } 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, [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/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,SAASA,cAAc;;UAINC,iBAAAA;kBACFC,kBAAkBC,OAAOC,iBAAiB,GAAGC,eAAAA,mBAAkC;AAC9F,GAFiBJ,mBAAAA,iBAAAA,CAAAA,EAAAA;;;ACJjB,SAASK,cAAcC,aAAaC,cAAcC,cAAcC,cAAcC,UAAAA,eAAc;AAC5F,SAASC,oBAAqC;AAC9C,SAASC,gBAAgB;AACzB,SAASC,oBAAoBC,oBAAoB;AACjD,SAASC,mBAAmBC,oBAAoB;AAChD,SAASC,wBAAwB;AACjC,SAASC,gBAAgBC,0BAA0B;AACnD,SAASC,gBAAgB;AAiBlB,IAAMC,iBAAiB,MAC5BC,aAAaC,MAAM;EACjBC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOC;IACpBC,UAAU,MAAMC,YAAYC,aAAaC,cAAc;SAAIC;SAAiBC;KAAmB;EACjG,CAAA;EACAV,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOQ;IACpBN,UAAUO;EACZ,CAAA;EACAZ,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;;;;IAIdC,aAAaC,QAAOQ;IACpBN,UAAUQ;EACZ,CAAA;EACAb,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOW;IACpBT,UAAU,MACRC,YAAYC,aAAaQ,UAAU;MACjCd,IAAIe,aAAaC;MACjBC,UAAU;QACRC,OAAO,CAACC,WACNC,aAAaL,cAAcI,MAAAA,IAAUA,OAAOE,QAAQF,OAAOG,eAAeC;QAC5EC,MAAM;QACNC,YAAY;UACVC,kBAAkB;QACpB;;QAEAC,gBAAgB,OAAOC,QACrB,MAAMC,SAASC,QAAoB;UAACF,IAAIG;aAAYH,IAAII;SAAQ;QAClEC;MACF;IACF,CAAA;EACJ,CAAA;EACAlC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaiC,aAAaC;IAC1B/B,UAAU,MACRC,YACE+B,kBAAkBC,YAClBC,iBAAiB;MACfC,cAAcxB;MACdyB,WAAW,CAACC,GAAG,EAAEC,MAAK,MAAOC,aAAaC,eAAeC,QAAQ;QAAEC,SAASJ,MAAM1C;MAAG,CAAA;IACvF,CAAA,CAAA;EAEN,CAAA;EACAD,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaiC,aAAaC;IAC1B/B,UAAU,MAAMC,YAAY0C,mBAAmBC,QAAQ;MAACC,SAASC;KAAK;EACxE,CAAA;EACAnD,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOiD;;IAEpBC,iBAAiB;MAACC,eAAeC;;IACjClD,UAAUmD;EACZ,CAAA;EACAxD,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOsD;IACpBpD,UAAUqD;EACZ,CAAA;EACA1D,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOwD;IACpBtD,UAAUuD;EACZ,CAAA;EACA5D,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAa2D,aAAaC;IAC1BzD,UAAU0D;EACZ,CAAA;EACA/D,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAO6D;IACpB3D,UAAU4D;EACZ,CAAA;CACD;",
6
+ "names": ["Events", "MarkdownEvents", "SetupExtensions", "Events", "createStateEvent", "MARKDOWN_PLUGIN", "Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "isInstanceOf", "RefArray", "ClientCapabilities", "ClientEvents", "SpaceCapabilities", "ThreadEvents", "defineObjectForm", "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", "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", "DataType", "Text", "SetupReactSurface", "activatesBefore", "MarkdownEvents", "SetupExtensions", "ReactSurface", "SetupIntentResolver", "IntentResolver", "AppGraphReady", "AppGraphSerializer", "ThreadEvents", "SetupThread", "Thread", "SetupArtifactDefinition", "ArtifactDefinition"]
7
7
  }
@@ -0,0 +1,86 @@
1
+ import {
2
+ MarkdownCapabilities
3
+ } from "./chunk-NAGMSX77.mjs";
4
+ import {
5
+ DocumentType,
6
+ MarkdownAction
7
+ } from "./chunk-FJ5P5CGA.mjs";
8
+ import "./chunk-JX6XNEHE.mjs";
9
+
10
+ // packages/plugins/plugin-markdown/src/capabilities/intent-resolver.ts
11
+ import { Capabilities, CollaborationActions, contributes, createResolver } from "@dxos/app-framework";
12
+ import { next as A } from "@dxos/automerge/automerge";
13
+ import { isInstanceOf, ObjectId } from "@dxos/echo-schema";
14
+ import { DXN, QueueSubspaceTags } from "@dxos/keys";
15
+ import { makeRef, live, refFromDXN } from "@dxos/live-object";
16
+ import { log } from "@dxos/log";
17
+ import { ClientCapabilities } from "@dxos/plugin-client";
18
+ import { resolveRef } from "@dxos/react-client";
19
+ import { createDocAccessor } from "@dxos/react-client/echo";
20
+ import { DataType } from "@dxos/schema";
21
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-markdown/src/capabilities/intent-resolver.ts";
22
+ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolver, [
23
+ createResolver({
24
+ intent: MarkdownAction.Create,
25
+ resolve: ({ name, spaceId, content }) => {
26
+ const doc = live(DocumentType, {
27
+ name,
28
+ content: makeRef(live(DataType.Text, {
29
+ content: content ?? ""
30
+ })),
31
+ assistantChatQueue: refFromDXN(new DXN(DXN.kind.QUEUE, [
32
+ QueueSubspaceTags.DATA,
33
+ spaceId,
34
+ ObjectId.random()
35
+ ])),
36
+ threads: []
37
+ });
38
+ return {
39
+ data: {
40
+ object: doc
41
+ }
42
+ };
43
+ }
44
+ }),
45
+ createResolver({
46
+ intent: MarkdownAction.SetViewMode,
47
+ resolve: ({ id, viewMode }) => {
48
+ const { state } = context.requestCapability(MarkdownCapabilities.State);
49
+ state.viewMode[id] = viewMode;
50
+ }
51
+ }),
52
+ // TODO(burdon): What is the error boundary for intents? Are errors reported back to caller?
53
+ createResolver({
54
+ intent: CollaborationActions.InsertContent,
55
+ resolve: async ({ spaceId, target: targetRef, object: objectRef, label }) => {
56
+ const client = context.requestCapability(ClientCapabilities.Client);
57
+ const space = client.spaces.get(spaceId);
58
+ const target = await resolveRef(client, targetRef.dxn, space);
59
+ if (target && isInstanceOf(DocumentType, target)) {
60
+ const accessor = createDocAccessor(target, [
61
+ "content"
62
+ ]);
63
+ const index = 0;
64
+ accessor.handle.change((doc) => {
65
+ const ref = `[${label ?? "Generated content"}]](${objectRef.dxn.toString()})
66
+ `;
67
+ A.splice(doc, accessor.path.slice(), index, 0, ref);
68
+ });
69
+ } else {
70
+ log.warn("target is not a document", {
71
+ targetRef,
72
+ objectRef
73
+ }, {
74
+ F: __dxlog_file,
75
+ L: 65,
76
+ S: void 0,
77
+ C: (f, a) => f(...a)
78
+ });
79
+ }
80
+ }
81
+ })
82
+ ]);
83
+ export {
84
+ intent_resolver_default as default
85
+ };
86
+ //# sourceMappingURL=intent-resolver-K7GY2J5W.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 {\n Capabilities,\n CollaborationActions,\n contributes,\n createResolver,\n type PluginsContext,\n} from '@dxos/app-framework';\nimport { next as A } from '@dxos/automerge/automerge';\nimport { isInstanceOf, ObjectId } from '@dxos/echo-schema';\nimport { DXN, QueueSubspaceTags } from '@dxos/keys';\nimport { makeRef, live, refFromDXN } from '@dxos/live-object';\nimport { log } from '@dxos/log';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { resolveRef } from '@dxos/react-client';\nimport { createDocAccessor } from '@dxos/react-client/echo';\nimport { DataType } from '@dxos/schema';\n\nimport { MarkdownCapabilities } from './capabilities';\nimport { DocumentType, MarkdownAction } from '../types';\n\nexport default (context: PluginsContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: MarkdownAction.Create,\n resolve: ({ name, spaceId, content }) => {\n const doc = live(DocumentType, {\n name,\n content: makeRef(live(DataType.Text, { content: content ?? '' })),\n assistantChatQueue: refFromDXN(new DXN(DXN.kind.QUEUE, [QueueSubspaceTags.DATA, spaceId, ObjectId.random()])),\n threads: [],\n });\n\n return { data: { object: doc } };\n },\n }),\n createResolver({\n intent: MarkdownAction.SetViewMode,\n resolve: ({ id, viewMode }) => {\n const { state } = context.requestCapability(MarkdownCapabilities.State);\n state.viewMode[id] = viewMode;\n },\n }),\n // TODO(burdon): What is the error boundary for intents? Are errors reported back to caller?\n createResolver({\n intent: CollaborationActions.InsertContent,\n resolve: async ({ spaceId, target: targetRef, object: objectRef, label }) => {\n const client = context.requestCapability(ClientCapabilities.Client);\n const space = client.spaces.get(spaceId);\n const target = await resolveRef(client, targetRef.dxn, space);\n if (target && isInstanceOf(DocumentType, target)) {\n const accessor = createDocAccessor(target, ['content']);\n // TODO(burdon): Should be a cursor that references a selected position.\n const index = 0;\n accessor.handle.change((doc) => {\n // TODO(burdon): Throws error:\n // intent-dispatcher.ts:270 Cannot read properties of undefined (reading 'annotations') (FiberFailure) TypeError: Cannot read properties of undefined (reading 'annotations')\n const ref = `[${label ?? 'Generated content'}]](${objectRef.dxn.toString()})\\n`;\n A.splice(doc, accessor.path.slice(), index, 0, ref);\n });\n } else {\n log.warn('target is not a document', { targetRef, objectRef });\n }\n },\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;AAIA,SACEA,cACAC,sBACAC,aACAC,sBAEK;AACP,SAASC,QAAQC,SAAS;AAC1B,SAASC,cAAcC,gBAAgB;AACvC,SAASC,KAAKC,yBAAyB;AACvC,SAASC,SAASC,MAAMC,kBAAkB;AAC1C,SAASC,WAAW;AACpB,SAASC,0BAA0B;AACnC,SAASC,kBAAkB;AAC3B,SAASC,yBAAyB;AAClC,SAASC,gBAAgB;;AAKzB,IAAA,0BAAe,CAACC,YACdC,YAAYC,aAAaC,gBAAgB;EACvCC,eAAe;IACbC,QAAQC,eAAeC;IACvBC,SAAS,CAAC,EAAEC,MAAMC,SAASC,QAAO,MAAE;AAClC,YAAMC,MAAMC,KAAKC,cAAc;QAC7BL;QACAE,SAASI,QAAQF,KAAKG,SAASC,MAAM;UAAEN,SAASA,WAAW;QAAG,CAAA,CAAA;QAC9DO,oBAAoBC,WAAW,IAAIC,IAAIA,IAAIC,KAAKC,OAAO;UAACC,kBAAkBC;UAAMd;UAASe,SAASC,OAAM;SAAG,CAAA;QAC3GC,SAAS,CAAA;MACX,CAAA;AAEA,aAAO;QAAEC,MAAM;UAAEC,QAAQjB;QAAI;MAAE;IACjC;EACF,CAAA;EACAR,eAAe;IACbC,QAAQC,eAAewB;IACvBtB,SAAS,CAAC,EAAEuB,IAAIC,SAAQ,MAAE;AACxB,YAAM,EAAEC,MAAK,IAAKjC,QAAQkC,kBAAkBC,qBAAqBC,KAAK;AACtEH,YAAMD,SAASD,EAAAA,IAAMC;IACvB;EACF,CAAA;;EAEA5B,eAAe;IACbC,QAAQgC,qBAAqBC;IAC7B9B,SAAS,OAAO,EAAEE,SAAS6B,QAAQC,WAAWX,QAAQY,WAAWC,MAAK,MAAE;AACtE,YAAMC,SAAS3C,QAAQkC,kBAAkBU,mBAAmBC,MAAM;AAClE,YAAMC,QAAQH,OAAOI,OAAOC,IAAItC,OAAAA;AAChC,YAAM6B,SAAS,MAAMU,WAAWN,QAAQH,UAAUU,KAAKJ,KAAAA;AACvD,UAAIP,UAAUY,aAAarC,cAAcyB,MAAAA,GAAS;AAChD,cAAMa,WAAWC,kBAAkBd,QAAQ;UAAC;SAAU;AAEtD,cAAMe,QAAQ;AACdF,iBAASG,OAAOC,OAAO,CAAC5C,QAAAA;AAGtB,gBAAM6C,MAAM,IAAIf,SAAS,mBAAA,MAAyBD,UAAUS,IAAIQ,SAAQ,CAAA;;AACxEC,YAAEC,OAAOhD,KAAKwC,SAASS,KAAKC,MAAK,GAAIR,OAAO,GAAGG,GAAAA;QACjD,CAAA;MACF,OAAO;AACLM,YAAIC,KAAK,4BAA4B;UAAExB;UAAWC;QAAU,GAAA;;;;;;MAC9D;IACF;EACF,CAAA;CACD;",
6
+ "names": ["Capabilities", "CollaborationActions", "contributes", "createResolver", "next", "A", "isInstanceOf", "ObjectId", "DXN", "QueueSubspaceTags", "makeRef", "live", "refFromDXN", "log", "ClientCapabilities", "resolveRef", "createDocAccessor", "DataType", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "MarkdownAction", "Create", "resolve", "name", "spaceId", "content", "doc", "live", "DocumentType", "makeRef", "DataType", "Text", "assistantChatQueue", "refFromDXN", "DXN", "kind", "QUEUE", "QueueSubspaceTags", "DATA", "ObjectId", "random", "threads", "data", "object", "SetViewMode", "id", "viewMode", "state", "requestCapability", "MarkdownCapabilities", "State", "CollaborationActions", "InsertContent", "target", "targetRef", "objectRef", "label", "client", "ClientCapabilities", "Client", "space", "spaces", "get", "resolveRef", "dxn", "isInstanceOf", "accessor", "createDocAccessor", "index", "handle", "change", "ref", "toString", "A", "splice", "path", "slice", "log", "warn"]
7
+ }