@dxos/plugin-markdown 0.8.4-main.c1de068 → 0.8.4-main.c4373fc

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 (238) hide show
  1. package/dist/lib/browser/{MarkdownPreview-S3C7CGAV.mjs → MarkdownCard-ZHTH6EVA.mjs} +18 -18
  2. package/dist/lib/browser/MarkdownCard-ZHTH6EVA.mjs.map +7 -0
  3. package/dist/lib/browser/{MarkdownContainer-F3WEEIBX.mjs → MarkdownContainer-XDYFBDCI.mjs} +287 -315
  4. package/dist/lib/browser/MarkdownContainer-XDYFBDCI.mjs.map +7 -0
  5. package/dist/lib/browser/{anchor-sort-UKJJ7ZNP.mjs → anchor-sort-53E7TJGF.mjs} +7 -7
  6. package/dist/lib/browser/anchor-sort-53E7TJGF.mjs.map +7 -0
  7. package/dist/lib/browser/{app-graph-serializer-ICLAF662.mjs → app-graph-serializer-IEPNJZBR.mjs} +13 -14
  8. package/dist/lib/browser/app-graph-serializer-IEPNJZBR.mjs.map +7 -0
  9. package/dist/lib/browser/blueprint-definition-XDLVVSUN.mjs +11 -0
  10. package/dist/lib/browser/blueprint-definition-XDLVVSUN.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-EVQGTH3P.mjs +22 -0
  12. package/dist/lib/browser/chunk-EVQGTH3P.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-LHDCHDBW.mjs → chunk-NGXGBWSS.mjs} +6 -5
  14. package/dist/lib/browser/chunk-NGXGBWSS.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-ODB2PTBP.mjs +28 -0
  16. package/dist/lib/browser/chunk-ODB2PTBP.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-OY6CGPOO.mjs +16 -0
  18. package/dist/lib/browser/chunk-OY6CGPOO.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-PMBWHKDI.mjs +78 -0
  20. package/dist/lib/browser/chunk-PMBWHKDI.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-VZU7BRGW.mjs +106 -0
  22. package/dist/lib/browser/chunk-VZU7BRGW.mjs.map +7 -0
  23. package/dist/lib/browser/{chunk-LFML7LC6.mjs → chunk-XYQDM6PM.mjs} +8 -9
  24. package/dist/lib/browser/chunk-XYQDM6PM.mjs.map +7 -0
  25. package/dist/lib/browser/index.mjs +35 -22
  26. package/dist/lib/browser/index.mjs.map +3 -3
  27. package/dist/lib/browser/intent-resolver-66ZUQ6JC.mjs +62 -0
  28. package/dist/lib/browser/intent-resolver-66ZUQ6JC.mjs.map +7 -0
  29. package/dist/lib/browser/meta.json +1 -1
  30. package/dist/lib/browser/{react-surface-C3Z423TV.mjs → react-surface-ONX5RNFM.mjs} +55 -46
  31. package/dist/lib/browser/react-surface-ONX5RNFM.mjs.map +7 -0
  32. package/dist/lib/browser/{settings-KN75ZQY6.mjs → settings-HXM36BCZ.mjs} +7 -7
  33. package/dist/lib/browser/settings-HXM36BCZ.mjs.map +7 -0
  34. package/dist/lib/browser/{state-LZWTAS65.mjs → state-6QODXCSZ.mjs} +9 -9
  35. package/dist/lib/browser/state-6QODXCSZ.mjs.map +7 -0
  36. package/dist/lib/browser/toolkit-73U3A7SD.mjs +76 -0
  37. package/dist/lib/browser/toolkit-73U3A7SD.mjs.map +7 -0
  38. package/dist/lib/browser/types/index.mjs +6 -14
  39. package/dist/lib/node-esm/{MarkdownPreview-77UFEWXT.mjs → MarkdownCard-MEA4QAAI.mjs} +18 -18
  40. package/dist/lib/node-esm/MarkdownCard-MEA4QAAI.mjs.map +7 -0
  41. package/dist/lib/node-esm/{MarkdownContainer-VOUHL6IU.mjs → MarkdownContainer-7GYMOJVT.mjs} +287 -315
  42. package/dist/lib/node-esm/MarkdownContainer-7GYMOJVT.mjs.map +7 -0
  43. package/dist/lib/node-esm/{anchor-sort-IPIS5D5B.mjs → anchor-sort-V2FWEYDN.mjs} +7 -7
  44. package/dist/lib/node-esm/anchor-sort-V2FWEYDN.mjs.map +7 -0
  45. package/dist/lib/node-esm/{app-graph-serializer-FLBXQKKR.mjs → app-graph-serializer-HIN4NMUG.mjs} +13 -14
  46. package/dist/lib/node-esm/app-graph-serializer-HIN4NMUG.mjs.map +7 -0
  47. package/dist/lib/node-esm/blueprint-definition-PDXZ67UQ.mjs +12 -0
  48. package/dist/lib/node-esm/blueprint-definition-PDXZ67UQ.mjs.map +7 -0
  49. package/dist/lib/node-esm/chunk-35WAARP4.mjs +79 -0
  50. package/dist/lib/node-esm/chunk-35WAARP4.mjs.map +7 -0
  51. package/dist/lib/node-esm/{chunk-ACFGXH2K.mjs → chunk-CB2R4YIY.mjs} +5 -5
  52. package/dist/lib/node-esm/chunk-CB2R4YIY.mjs.map +7 -0
  53. package/dist/lib/node-esm/{chunk-CWTFQSN7.mjs → chunk-IOC54NCF.mjs} +8 -9
  54. package/dist/lib/node-esm/chunk-IOC54NCF.mjs.map +7 -0
  55. package/dist/lib/node-esm/chunk-VCG2U522.mjs +29 -0
  56. package/dist/lib/node-esm/chunk-VCG2U522.mjs.map +7 -0
  57. package/dist/lib/node-esm/chunk-VELFUWUH.mjs +107 -0
  58. package/dist/lib/node-esm/chunk-VELFUWUH.mjs.map +7 -0
  59. package/dist/lib/node-esm/chunk-W4XXBX33.mjs +24 -0
  60. package/dist/lib/node-esm/chunk-W4XXBX33.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-VIR2ABYE.mjs → chunk-YGSNWTGP.mjs} +6 -5
  62. package/dist/lib/node-esm/chunk-YGSNWTGP.mjs.map +7 -0
  63. package/dist/lib/node-esm/index.mjs +35 -22
  64. package/dist/lib/node-esm/index.mjs.map +3 -3
  65. package/dist/lib/node-esm/intent-resolver-TNRIFHNH.mjs +63 -0
  66. package/dist/lib/node-esm/intent-resolver-TNRIFHNH.mjs.map +7 -0
  67. package/dist/lib/node-esm/meta.json +1 -1
  68. package/dist/lib/node-esm/{react-surface-TTTBYNI2.mjs → react-surface-X2GV6WQH.mjs} +55 -46
  69. package/dist/lib/node-esm/react-surface-X2GV6WQH.mjs.map +7 -0
  70. package/dist/lib/node-esm/{settings-KVP7TVX7.mjs → settings-KPLQ5ONI.mjs} +7 -7
  71. package/dist/lib/node-esm/settings-KPLQ5ONI.mjs.map +7 -0
  72. package/dist/lib/node-esm/{state-NW3W4JCQ.mjs → state-W3PECOJX.mjs} +9 -9
  73. package/dist/lib/node-esm/state-W3PECOJX.mjs.map +7 -0
  74. package/dist/lib/node-esm/toolkit-GUBDYF72.mjs +77 -0
  75. package/dist/lib/node-esm/toolkit-GUBDYF72.mjs.map +7 -0
  76. package/dist/lib/node-esm/types/index.mjs +6 -14
  77. package/dist/types/src/MarkdownPlugin.d.ts +1 -1
  78. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  79. package/dist/types/src/capabilities/anchor-sort.d.ts +2 -2
  80. package/dist/types/src/capabilities/app-graph-serializer.d.ts +1 -1
  81. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  82. package/dist/types/src/capabilities/artifact-definition.d.ts +1 -9
  83. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  84. package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -0
  85. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
  86. package/dist/types/src/capabilities/capabilities.d.ts +1 -1
  87. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  88. package/dist/types/src/capabilities/index.d.ts +12 -10
  89. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  90. package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
  91. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  92. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  93. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  94. package/dist/types/src/capabilities/settings.d.ts +1 -1
  95. package/dist/types/src/capabilities/state.d.ts +2 -2
  96. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  97. package/dist/types/src/capabilities/toolkit.d.ts +4 -0
  98. package/dist/types/src/capabilities/toolkit.d.ts.map +1 -0
  99. package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts +7 -0
  100. package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts.map +1 -0
  101. package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts +9 -0
  102. package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts.map +1 -0
  103. package/dist/types/src/components/MarkdownCard/index.d.ts +4 -0
  104. package/dist/types/src/components/MarkdownCard/index.d.ts.map +1 -0
  105. package/dist/types/src/components/MarkdownContainer.d.ts +5 -5
  106. package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
  107. package/dist/types/src/components/MarkdownContainer.stories.d.ts +51 -5
  108. package/dist/types/src/components/MarkdownContainer.stories.d.ts.map +1 -1
  109. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +2 -2
  110. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
  111. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts +111 -13
  112. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts.map +1 -1
  113. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts +2 -2
  114. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts.map +1 -1
  115. package/dist/types/src/components/Suggestions.stories.d.ts +3 -4
  116. package/dist/types/src/components/Suggestions.stories.d.ts.map +1 -1
  117. package/dist/types/src/components/Toolbar.stories.d.ts +45 -8
  118. package/dist/types/src/components/Toolbar.stories.d.ts.map +1 -1
  119. package/dist/types/src/components/index.d.ts +1 -1
  120. package/dist/types/src/components/index.d.ts.map +1 -1
  121. package/dist/types/src/events.d.ts.map +1 -1
  122. package/dist/types/src/extensions.d.ts +3 -5
  123. package/dist/types/src/extensions.d.ts.map +1 -1
  124. package/dist/types/src/functions/diff.d.ts +6 -0
  125. package/dist/types/src/functions/diff.d.ts.map +1 -0
  126. package/dist/types/src/functions/index.d.ts +3 -0
  127. package/dist/types/src/functions/index.d.ts.map +1 -0
  128. package/dist/types/src/functions/open.d.ts +7 -0
  129. package/dist/types/src/functions/open.d.ts.map +1 -0
  130. package/dist/types/src/hooks/useSelectCurrentThread.d.ts +1 -1
  131. package/dist/types/src/hooks/useSelectCurrentThread.d.ts.map +1 -1
  132. package/dist/types/src/index.d.ts +2 -1
  133. package/dist/types/src/index.d.ts.map +1 -1
  134. package/dist/types/src/meta.d.ts +0 -1
  135. package/dist/types/src/meta.d.ts.map +1 -1
  136. package/dist/types/src/translations.d.ts +3 -2
  137. package/dist/types/src/translations.d.ts.map +1 -1
  138. package/dist/types/src/types/Markdown.d.ts +43 -0
  139. package/dist/types/src/types/Markdown.d.ts.map +1 -0
  140. package/dist/types/src/types/MarkdownAction.d.ts +33 -0
  141. package/dist/types/src/types/MarkdownAction.d.ts.map +1 -0
  142. package/dist/types/src/types/index.d.ts +2 -1
  143. package/dist/types/src/types/index.d.ts.map +1 -1
  144. package/dist/types/src/types/types.d.ts +3 -59
  145. package/dist/types/src/types/types.d.ts.map +1 -1
  146. package/dist/types/src/util.d.ts +12 -3
  147. package/dist/types/src/util.d.ts.map +1 -1
  148. package/dist/types/tsconfig.tsbuildinfo +1 -1
  149. package/package.json +57 -52
  150. package/src/MarkdownPlugin.tsx +103 -95
  151. package/src/capabilities/anchor-sort.ts +3 -3
  152. package/src/capabilities/app-graph-serializer.ts +9 -7
  153. package/src/capabilities/artifact-definition.ts +20 -24
  154. package/src/capabilities/blueprint-definition.ts +39 -0
  155. package/src/capabilities/capabilities.ts +5 -4
  156. package/src/capabilities/index.ts +3 -1
  157. package/src/capabilities/intent-resolver.ts +16 -21
  158. package/src/capabilities/react-surface.tsx +21 -19
  159. package/src/capabilities/settings.ts +3 -3
  160. package/src/capabilities/state.ts +8 -8
  161. package/src/capabilities/toolkit.ts +49 -0
  162. package/src/components/MarkdownCard/MarkdownCard.stories.tsx +76 -0
  163. package/src/components/{MarkdownPreview/MarkdownPreview.tsx → MarkdownCard/MarkdownCard.tsx} +13 -11
  164. package/src/components/MarkdownCard/index.ts +9 -0
  165. package/src/components/MarkdownContainer.stories.tsx +47 -41
  166. package/src/components/MarkdownContainer.tsx +22 -19
  167. package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +21 -17
  168. package/src/components/MarkdownEditor/MarkdownEditor.tsx +39 -39
  169. package/src/components/MarkdownSettings/MarkdownSettings.tsx +81 -78
  170. package/src/components/Suggestions.stories.tsx +51 -51
  171. package/src/components/Toolbar.stories.tsx +23 -18
  172. package/src/components/index.ts +1 -1
  173. package/src/events.ts +2 -2
  174. package/src/extensions.tsx +13 -41
  175. package/src/functions/diff.ts +37 -0
  176. package/src/functions/index.ts +6 -0
  177. package/src/functions/open.ts +32 -0
  178. package/src/hooks/useSelectCurrentThread.tsx +5 -5
  179. package/src/index.ts +4 -1
  180. package/src/meta.ts +7 -8
  181. package/src/translations.ts +3 -2
  182. package/src/types/Markdown.ts +56 -0
  183. package/src/types/MarkdownAction.ts +29 -0
  184. package/src/types/index.ts +2 -1
  185. package/src/types/types.ts +6 -50
  186. package/src/util.tsx +20 -6
  187. package/dist/lib/browser/MarkdownContainer-F3WEEIBX.mjs.map +0 -7
  188. package/dist/lib/browser/MarkdownPreview-S3C7CGAV.mjs.map +0 -7
  189. package/dist/lib/browser/anchor-sort-UKJJ7ZNP.mjs.map +0 -7
  190. package/dist/lib/browser/app-graph-serializer-ICLAF662.mjs.map +0 -7
  191. package/dist/lib/browser/artifact-definition-R2YYWOPN.mjs +0 -145
  192. package/dist/lib/browser/artifact-definition-R2YYWOPN.mjs.map +0 -7
  193. package/dist/lib/browser/chunk-777RIED6.mjs +0 -16
  194. package/dist/lib/browser/chunk-777RIED6.mjs.map +0 -7
  195. package/dist/lib/browser/chunk-EPTSAJZM.mjs +0 -22
  196. package/dist/lib/browser/chunk-EPTSAJZM.mjs.map +0 -7
  197. package/dist/lib/browser/chunk-LFML7LC6.mjs.map +0 -7
  198. package/dist/lib/browser/chunk-LHDCHDBW.mjs.map +0 -7
  199. package/dist/lib/browser/chunk-PHTD5DTR.mjs +0 -20
  200. package/dist/lib/browser/chunk-PHTD5DTR.mjs.map +0 -7
  201. package/dist/lib/browser/chunk-UANWRJZU.mjs +0 -79
  202. package/dist/lib/browser/chunk-UANWRJZU.mjs.map +0 -7
  203. package/dist/lib/browser/intent-resolver-3MXYO3MW.mjs +0 -64
  204. package/dist/lib/browser/intent-resolver-3MXYO3MW.mjs.map +0 -7
  205. package/dist/lib/browser/react-surface-C3Z423TV.mjs.map +0 -7
  206. package/dist/lib/browser/settings-KN75ZQY6.mjs.map +0 -7
  207. package/dist/lib/browser/state-LZWTAS65.mjs.map +0 -7
  208. package/dist/lib/node-esm/MarkdownContainer-VOUHL6IU.mjs.map +0 -7
  209. package/dist/lib/node-esm/MarkdownPreview-77UFEWXT.mjs.map +0 -7
  210. package/dist/lib/node-esm/anchor-sort-IPIS5D5B.mjs.map +0 -7
  211. package/dist/lib/node-esm/app-graph-serializer-FLBXQKKR.mjs.map +0 -7
  212. package/dist/lib/node-esm/artifact-definition-MLTAY4LK.mjs +0 -146
  213. package/dist/lib/node-esm/artifact-definition-MLTAY4LK.mjs.map +0 -7
  214. package/dist/lib/node-esm/chunk-7X6TPTJK.mjs +0 -22
  215. package/dist/lib/node-esm/chunk-7X6TPTJK.mjs.map +0 -7
  216. package/dist/lib/node-esm/chunk-ACFGXH2K.mjs.map +0 -7
  217. package/dist/lib/node-esm/chunk-CWTFQSN7.mjs.map +0 -7
  218. package/dist/lib/node-esm/chunk-CXG7GMYP.mjs +0 -24
  219. package/dist/lib/node-esm/chunk-CXG7GMYP.mjs.map +0 -7
  220. package/dist/lib/node-esm/chunk-JEEQLO7C.mjs +0 -80
  221. package/dist/lib/node-esm/chunk-JEEQLO7C.mjs.map +0 -7
  222. package/dist/lib/node-esm/chunk-VIR2ABYE.mjs.map +0 -7
  223. package/dist/lib/node-esm/intent-resolver-BZYWV53A.mjs +0 -65
  224. package/dist/lib/node-esm/intent-resolver-BZYWV53A.mjs.map +0 -7
  225. package/dist/lib/node-esm/react-surface-TTTBYNI2.mjs.map +0 -7
  226. package/dist/lib/node-esm/settings-KVP7TVX7.mjs.map +0 -7
  227. package/dist/lib/node-esm/state-NW3W4JCQ.mjs.map +0 -7
  228. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts +0 -6
  229. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts.map +0 -1
  230. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts +0 -42
  231. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts.map +0 -1
  232. package/dist/types/src/components/MarkdownPreview/index.d.ts +0 -4
  233. package/dist/types/src/components/MarkdownPreview/index.d.ts.map +0 -1
  234. package/dist/types/src/types/schema.d.ts +0 -35
  235. package/dist/types/src/types/schema.d.ts.map +0 -1
  236. package/src/components/MarkdownPreview/MarkdownPreview.stories.tsx +0 -81
  237. package/src/components/MarkdownPreview/index.ts +0 -9
  238. package/src/types/schema.ts +0 -39
@@ -0,0 +1,106 @@
1
+ import {
2
+ Markdown_exports
3
+ } from "./chunk-PMBWHKDI.mjs";
4
+
5
+ // src/capabilities/blueprint-definition.ts
6
+ import { Capabilities, contributes } from "@dxos/app-framework";
7
+ import { Blueprint, Template } from "@dxos/blueprints";
8
+ import { trim as trim2 } from "@dxos/util";
9
+
10
+ // src/functions/diff.ts
11
+ import * as Effect from "effect/Effect";
12
+ import * as Schema from "effect/Schema";
13
+ import { ArtifactId, applyDiffs } from "@dxos/assistant";
14
+ import { createDocAccessor } from "@dxos/echo-db";
15
+ import { DatabaseService, defineFunction } from "@dxos/functions";
16
+ import { trim } from "@dxos/util";
17
+ var diff_default = defineFunction({
18
+ key: "dxos.org/function/markdown/diff",
19
+ name: "Diff",
20
+ description: trim`
21
+ Applies a set of diffs to the markdown document.
22
+ `,
23
+ inputSchema: Schema.Struct({
24
+ id: ArtifactId.annotations({
25
+ description: "The ID of the markdown document."
26
+ }),
27
+ diffs: Schema.Array(Schema.String).annotations({
28
+ description: "The diffs to apply to the document."
29
+ })
30
+ }),
31
+ outputSchema: Schema.Void,
32
+ handler: Effect.fn(function* ({ data: { id, diffs } }) {
33
+ const object = yield* DatabaseService.resolve(ArtifactId.toDXN(id), Markdown_exports.Document);
34
+ const content = yield* Effect.promise(() => object.content.load());
35
+ const accessor = createDocAccessor(content, [
36
+ "content"
37
+ ]);
38
+ applyDiffs(accessor, diffs);
39
+ })
40
+ });
41
+
42
+ // src/functions/open.ts
43
+ import * as Effect2 from "effect/Effect";
44
+ import * as Schema2 from "effect/Schema";
45
+ import { ArtifactId as ArtifactId2 } from "@dxos/assistant";
46
+ import { DatabaseService as DatabaseService2, defineFunction as defineFunction2 } from "@dxos/functions";
47
+ var open_default = defineFunction2({
48
+ key: "dxos.org/function/markdown/open",
49
+ name: "Open",
50
+ description: "Opens and reads the contents of a new markdown document.",
51
+ inputSchema: Schema2.Struct({
52
+ id: ArtifactId2.annotations({
53
+ description: "The ID of the markdown document."
54
+ })
55
+ }),
56
+ outputSchema: Schema2.Struct({
57
+ content: Schema2.String
58
+ }),
59
+ handler: Effect2.fn(function* ({ data: { id } }) {
60
+ const object = yield* DatabaseService2.resolve(ArtifactId2.toDXN(id), Markdown_exports.Document);
61
+ const { content } = yield* Effect2.promise(() => object.content.load());
62
+ return {
63
+ content
64
+ };
65
+ })
66
+ });
67
+
68
+ // src/capabilities/blueprint-definition.ts
69
+ var functions = [
70
+ diff_default,
71
+ open_default
72
+ ];
73
+ var tools = [
74
+ "add-proposals",
75
+ "create-document"
76
+ ];
77
+ var BLUEPRINT_KEY = "dxos.org/blueprint/markdown";
78
+ var blueprint_definition_default = (() => [
79
+ contributes(Capabilities.Functions, functions),
80
+ contributes(Capabilities.BlueprintDefinition, Blueprint.make({
81
+ key: BLUEPRINT_KEY,
82
+ name: "Markdown",
83
+ tools: Blueprint.toolDefinitions({
84
+ functions,
85
+ tools
86
+ }),
87
+ instructions: Template.make({
88
+ source: trim2`
89
+ You can create and update markdown documents.
90
+ When asked to edit or update documents return updates as a set of compact diff string pairs.
91
+ For each diff, respond with the smallest possible matching span.
92
+ For example:
93
+ - "There is a tyop in this sentence."
94
+ + "There is a typo in this sentence."
95
+ - "This id goof."
96
+ + "This is good."
97
+ `
98
+ })
99
+ }))
100
+ ]);
101
+
102
+ export {
103
+ BLUEPRINT_KEY,
104
+ blueprint_definition_default
105
+ };
106
+ //# sourceMappingURL=chunk-VZU7BRGW.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/blueprint-definition.ts", "../../../src/functions/diff.ts", "../../../src/functions/open.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, type Capability, contributes } from '@dxos/app-framework';\nimport { Blueprint, Template } from '@dxos/blueprints';\nimport { type FunctionDefinition } from '@dxos/functions';\nimport { trim } from '@dxos/util';\n\nimport { diff, open } from '../functions';\n\nconst functions: FunctionDefinition[] = [diff, open];\nconst tools = ['add-proposals', 'create-document'];\n\nexport const BLUEPRINT_KEY = 'dxos.org/blueprint/markdown';\n\nexport default (): Capability<any>[] => [\n contributes(Capabilities.Functions, functions),\n contributes(\n Capabilities.BlueprintDefinition,\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Markdown',\n tools: Blueprint.toolDefinitions({ functions, tools }),\n instructions: Template.make({\n source: trim`\n You can create and update markdown documents.\n When asked to edit or update documents return updates as a set of compact diff string pairs.\n For each diff, respond with the smallest possible matching span.\n For example:\n - \"There is a tyop in this sentence.\"\n + \"There is a typo in this sentence.\"\n - \"This id goof.\"\n + \"This is good.\"\n `,\n }),\n }),\n ),\n];\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { ArtifactId, applyDiffs } from '@dxos/assistant';\nimport { createDocAccessor } from '@dxos/echo-db';\nimport { DatabaseService, defineFunction } from '@dxos/functions';\nimport { trim } from '@dxos/util';\n\nimport { Markdown } from '../types';\n\n// TODO(wittjosiah): Reconcile with ThreadAction.AddProposal.\nexport default defineFunction({\n key: 'dxos.org/function/markdown/diff',\n name: 'Diff',\n description: trim`\n Applies a set of diffs to the markdown document.\n `,\n inputSchema: Schema.Struct({\n id: ArtifactId.annotations({\n description: 'The ID of the markdown document.',\n }),\n diffs: Schema.Array(Schema.String).annotations({\n description: 'The diffs to apply to the document.',\n }),\n }),\n outputSchema: Schema.Void,\n handler: Effect.fn(function* ({ data: { id, diffs } }) {\n const object = yield* DatabaseService.resolve(ArtifactId.toDXN(id), Markdown.Document);\n const content = yield* Effect.promise(() => object.content.load());\n const accessor = createDocAccessor(content, ['content']);\n applyDiffs(accessor, diffs);\n }),\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { ArtifactId } from '@dxos/assistant';\nimport { DatabaseService, defineFunction } from '@dxos/functions';\n\nimport { Markdown } from '../types';\n\nexport default defineFunction({\n key: 'dxos.org/function/markdown/open',\n name: 'Open',\n description: 'Opens and reads the contents of a new markdown document.',\n inputSchema: Schema.Struct({\n id: ArtifactId.annotations({\n description: 'The ID of the markdown document.',\n }),\n }),\n outputSchema: Schema.Struct({\n content: Schema.String,\n }),\n handler: Effect.fn(function* ({ data: { id } }) {\n const object = yield* DatabaseService.resolve(ArtifactId.toDXN(id), Markdown.Document);\n const { content } = yield* Effect.promise(() => object.content.load());\n return {\n content,\n };\n }),\n});\n"],
5
+ "mappings": ";;;;;AAIA,SAASA,cAA+BC,mBAAmB;AAC3D,SAASC,WAAWC,gBAAgB;AAEpC,SAASC,QAAAA,aAAY;;;ACHrB,YAAYC,YAAY;AACxB,YAAYC,YAAY;AAExB,SAASC,YAAYC,kBAAkB;AACvC,SAASC,yBAAyB;AAClC,SAASC,iBAAiBC,sBAAsB;AAChD,SAASC,YAAY;AAKrB,IAAA,eAAeC,eAAe;EAC5BC,KAAK;EACLC,MAAM;EACNC,aAAaC;;;EAGbC,aAAoBC,cAAO;IACzBC,IAAIC,WAAWC,YAAY;MACzBN,aAAa;IACf,CAAA;IACAO,OAAcC,aAAaC,aAAM,EAAEH,YAAY;MAC7CN,aAAa;IACf,CAAA;EACF,CAAA;EACAU,cAAqBC;EACrBC,SAAgBC,UAAG,WAAW,EAAEC,MAAM,EAAEV,IAAIG,MAAK,EAAE,GAAE;AACnD,UAAMQ,SAAS,OAAOC,gBAAgBC,QAAQZ,WAAWa,MAAMd,EAAAA,GAAKe,iBAASC,QAAQ;AACrF,UAAMC,UAAU,OAAcC,eAAQ,MAAMP,OAAOM,QAAQE,KAAI,CAAA;AAC/D,UAAMC,WAAWC,kBAAkBJ,SAAS;MAAC;KAAU;AACvDK,eAAWF,UAAUjB,KAAAA;EACvB,CAAA;AACF,CAAA;;;AChCA,YAAYoB,aAAY;AACxB,YAAYC,aAAY;AAExB,SAASC,cAAAA,mBAAkB;AAC3B,SAASC,mBAAAA,kBAAiBC,kBAAAA,uBAAsB;AAIhD,IAAA,eAAeC,gBAAe;EAC5BC,KAAK;EACLC,MAAM;EACNC,aAAa;EACbC,aAAoBC,eAAO;IACzBC,IAAIC,YAAWC,YAAY;MACzBL,aAAa;IACf,CAAA;EACF,CAAA;EACAM,cAAqBJ,eAAO;IAC1BK,SAAgBC;EAClB,CAAA;EACAC,SAAgBC,WAAG,WAAW,EAAEC,MAAM,EAAER,GAAE,EAAE,GAAE;AAC5C,UAAMS,SAAS,OAAOC,iBAAgBC,QAAQV,YAAWW,MAAMZ,EAAAA,GAAKa,iBAASC,QAAQ;AACrF,UAAM,EAAEV,QAAO,IAAK,OAAcW,gBAAQ,MAAMN,OAAOL,QAAQY,KAAI,CAAA;AACnE,WAAO;MACLZ;IACF;EACF,CAAA;AACF,CAAA;;;AFpBA,IAAMa,YAAkC;EAACC;EAAMC;;AAC/C,IAAMC,QAAQ;EAAC;EAAiB;;AAEzB,IAAMC,gBAAgB;AAE7B,IAAA,gCAAe,MAAyB;EACtCC,YAAYC,aAAaC,WAAWP,SAAAA;EACpCK,YACEC,aAAaE,qBACbC,UAAUC,KAAK;IACbC,KAAKP;IACLQ,MAAM;IACNT,OAAOM,UAAUI,gBAAgB;MAAEb;MAAWG;IAAM,CAAA;IACpDW,cAAcC,SAASL,KAAK;MAC1BM,QAAQC;;;;;;;;;;IAUV,CAAA;EACF,CAAA,CAAA;;",
6
+ "names": ["Capabilities", "contributes", "Blueprint", "Template", "trim", "Effect", "Schema", "ArtifactId", "applyDiffs", "createDocAccessor", "DatabaseService", "defineFunction", "trim", "defineFunction", "key", "name", "description", "trim", "inputSchema", "Struct", "id", "ArtifactId", "annotations", "diffs", "Array", "String", "outputSchema", "Void", "handler", "fn", "data", "object", "DatabaseService", "resolve", "toDXN", "Markdown", "Document", "content", "promise", "load", "accessor", "createDocAccessor", "applyDiffs", "Effect", "Schema", "ArtifactId", "DatabaseService", "defineFunction", "defineFunction", "key", "name", "description", "inputSchema", "Struct", "id", "ArtifactId", "annotations", "outputSchema", "content", "String", "handler", "fn", "data", "object", "DatabaseService", "resolve", "toDXN", "Markdown", "Document", "promise", "load", "functions", "diff", "open", "tools", "BLUEPRINT_KEY", "contributes", "Capabilities", "Functions", "BlueprintDefinition", "Blueprint", "make", "key", "name", "toolDefinitions", "instructions", "Template", "source", "trim"]
7
+ }
@@ -1,11 +1,11 @@
1
1
  import {
2
- DocumentType
3
- } from "./chunk-UANWRJZU.mjs";
2
+ Markdown_exports
3
+ } from "./chunk-PMBWHKDI.mjs";
4
4
 
5
5
  // src/util.tsx
6
6
  import { debounce } from "@dxos/async";
7
- import { Obj, Ref } from "@dxos/echo";
8
- import { DataType } from "@dxos/schema";
7
+ import { Obj } from "@dxos/echo";
8
+ var isEditorModel = (data) => data && typeof data === "object" && "id" in data && typeof data.id === "string" && "text" in data && typeof data.text === "string";
9
9
  var isMarkdownProperties = (data) => Obj.isObject(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) => {
@@ -31,21 +31,20 @@ var serializer = {
31
31
  },
32
32
  deserialize: async ({ content: serialized }) => {
33
33
  const { name, fallbackName, content } = JSON.parse(serialized);
34
- return Obj.make(DocumentType, {
34
+ return Markdown_exports.makeDocument({
35
35
  name,
36
36
  fallbackName,
37
- content: Ref.make(Obj.make(DataType.Text, {
38
- content
39
- }))
37
+ content
40
38
  });
41
39
  }
42
40
  };
43
41
 
44
42
  export {
43
+ isEditorModel,
45
44
  isMarkdownProperties,
46
45
  getFallbackName,
47
46
  getAbstract,
48
47
  setFallbackName,
49
48
  serializer
50
49
  };
51
- //# sourceMappingURL=chunk-LFML7LC6.mjs.map
50
+ //# sourceMappingURL=chunk-XYQDM6PM.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { debounce } from '@dxos/async';\nimport { Obj } from '@dxos/echo';\nimport { type TypedObjectSerializer } from '@dxos/plugin-space/types';\n\nimport { Markdown } from './types';\n\n/**\n * Checks if an object conforms to the interface needed to render an editor.\n * @deprecated Use Schema.instanceOf(Markdown.Document, data)\n */\n// TODO(burdon): Normalize types (from FilesPlugin).\nexport const isEditorModel = (data: any): data is { id: string; text: string } =>\n data &&\n typeof data === 'object' &&\n 'id' in data &&\n typeof data.id === 'string' &&\n 'text' in data &&\n typeof data.text === 'string';\n\nexport type MarkdownProperties = Record<string, any>;\n\nexport const isMarkdownProperties = (data: unknown): data is MarkdownProperties =>\n (Obj.isObject(data) as boolean)\n ? true\n : data && typeof data === 'object'\n ? 'title' in data && typeof data.title === 'string'\n : false;\n\nconst nonTitleChars = /[^\\w ]/g;\n\nexport const getFallbackName = (content: string) => {\n return content.substring(0, 31).split('\\n')[0].replaceAll(nonTitleChars, '').trim();\n};\n\nexport const getAbstract = (content: string) => {\n return content.substring(0, 128).split('\\n')[0].replaceAll(nonTitleChars, '').trim();\n};\n\nexport const setFallbackName = debounce((doc: Markdown.Document, content: string) => {\n const name = getFallbackName(content);\n if (doc.fallbackName !== name) {\n doc.fallbackName = name;\n }\n}, 200);\n\nexport const serializer: TypedObjectSerializer<Markdown.Document> = {\n serialize: async ({ object }): Promise<string> => {\n const { content } = await object.content.load();\n return JSON.stringify({ name: object.name, fallbackName: object.fallbackName, content });\n },\n\n deserialize: async ({ content: serialized }) => {\n const { name, fallbackName, content } = JSON.parse(serialized);\n return Markdown.makeDocument({ name, fallbackName, content });\n },\n};\n"],
5
+ "mappings": ";;;;;AAIA,SAASA,gBAAgB;AACzB,SAASC,WAAW;AAUb,IAAMC,gBAAgB,CAACC,SAC5BA,QACA,OAAOA,SAAS,YAChB,QAAQA,QACR,OAAOA,KAAKC,OAAO,YACnB,UAAUD,QACV,OAAOA,KAAKE,SAAS;AAIhB,IAAMC,uBAAuB,CAACH,SAClCI,IAAIC,SAASL,IAAAA,IACV,OACAA,QAAQ,OAAOA,SAAS,WACtB,WAAWA,QAAQ,OAAOA,KAAKM,UAAU,WACzC;AAER,IAAMC,gBAAgB;AAEf,IAAMC,kBAAkB,CAACC,YAAAA;AAC9B,SAAOA,QAAQC,UAAU,GAAG,EAAA,EAAIC,MAAM,IAAA,EAAM,CAAA,EAAGC,WAAWL,eAAe,EAAA,EAAIM,KAAI;AACnF;AAEO,IAAMC,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,KAAwBR,YAAAA;AAC/D,QAAMS,OAAOV,gBAAgBC,OAAAA;AAC7B,MAAIQ,IAAIE,iBAAiBD,MAAM;AAC7BD,QAAIE,eAAeD;EACrB;AACF,GAAG,GAAA;AAEI,IAAME,aAAuD;EAClEC,WAAW,OAAO,EAAEC,OAAM,MAAE;AAC1B,UAAM,EAAEb,QAAO,IAAK,MAAMa,OAAOb,QAAQc,KAAI;AAC7C,WAAOC,KAAKC,UAAU;MAAEP,MAAMI,OAAOJ;MAAMC,cAAcG,OAAOH;MAAcV;IAAQ,CAAA;EACxF;EAEAiB,aAAa,OAAO,EAAEjB,SAASkB,WAAU,MAAE;AACzC,UAAM,EAAET,MAAMC,cAAcV,QAAO,IAAKe,KAAKI,MAAMD,UAAAA;AACnD,WAAOE,iBAASC,aAAa;MAAEZ;MAAMC;MAAcV;IAAQ,CAAA;EAC7D;AACF;",
6
+ "names": ["debounce", "Obj", "isEditorModel", "data", "id", "text", "isMarkdownProperties", "Obj", "isObject", "title", "nonTitleChars", "getFallbackName", "content", "substring", "split", "replaceAll", "trim", "getAbstract", "setFallbackName", "debounce", "doc", "name", "fallbackName", "serializer", "serialize", "object", "load", "JSON", "stringify", "deserialize", "serialized", "parse", "Markdown", "makeDocument"]
7
+ }
@@ -1,43 +1,47 @@
1
1
  import {
2
2
  translations
3
- } from "./chunk-LHDCHDBW.mjs";
3
+ } from "./chunk-NGXGBWSS.mjs";
4
4
  import {
5
5
  AnchorSort,
6
6
  AppGraphSerializer,
7
- ArtifactDefinition,
7
+ BlueprintDefinition,
8
8
  IntentResolver,
9
9
  MarkdownSettings,
10
10
  MarkdownState,
11
- ReactSurface
12
- } from "./chunk-PHTD5DTR.mjs";
11
+ ReactSurface,
12
+ Toolkit
13
+ } from "./chunk-EVQGTH3P.mjs";
14
+ import {
15
+ BLUEPRINT_KEY
16
+ } from "./chunk-VZU7BRGW.mjs";
13
17
  import {
14
18
  MarkdownCapabilities
15
- } from "./chunk-777RIED6.mjs";
19
+ } from "./chunk-OY6CGPOO.mjs";
16
20
  import {
17
21
  getAbstract,
18
22
  getFallbackName,
23
+ isEditorModel,
19
24
  isMarkdownProperties,
20
25
  serializer,
21
26
  setFallbackName
22
- } from "./chunk-LFML7LC6.mjs";
27
+ } from "./chunk-XYQDM6PM.mjs";
23
28
  import {
24
- DocumentType,
25
- MarkdownAction
26
- } from "./chunk-UANWRJZU.mjs";
29
+ MarkdownAction_exports,
30
+ Markdown_exports
31
+ } from "./chunk-PMBWHKDI.mjs";
27
32
  import {
28
- MARKDOWN_PLUGIN,
29
33
  meta
30
- } from "./chunk-EPTSAJZM.mjs";
34
+ } from "./chunk-ODB2PTBP.mjs";
31
35
 
32
36
  // src/events.ts
33
37
  import { Events } from "@dxos/app-framework";
34
38
  (function(MarkdownEvents2) {
35
- MarkdownEvents2.SetupExtensions = Events.createStateEvent(`${MARKDOWN_PLUGIN}/setup-extensions`);
39
+ MarkdownEvents2.SetupExtensions = Events.createStateEvent(`${meta.id}/event/setup-extensions`);
36
40
  })(MarkdownEvents || (MarkdownEvents = {}));
37
41
  var MarkdownEvents;
38
42
 
39
43
  // src/MarkdownPlugin.tsx
40
- import { Capabilities, contributes, createIntent, defineModule, definePlugin, Events as Events2 } from "@dxos/app-framework";
44
+ import { Capabilities, Events as Events2, contributes, createIntent, defineModule, definePlugin } from "@dxos/app-framework";
41
45
  import { Ref } from "@dxos/echo";
42
46
  import { ClientCapabilities, ClientEvents } from "@dxos/plugin-client";
43
47
  import { SpaceCapabilities } from "@dxos/plugin-space";
@@ -45,7 +49,7 @@ import { defineObjectForm } from "@dxos/plugin-space/types";
45
49
  import { createDocAccessor, getTextInRange } from "@dxos/react-client/echo";
46
50
  import { translations as editorTranslations } from "@dxos/react-ui-editor";
47
51
  import { DataType } from "@dxos/schema";
48
- var MarkdownPlugin = () => definePlugin(meta, [
52
+ var MarkdownPlugin = definePlugin(meta, () => [
49
53
  defineModule({
50
54
  id: `${meta.id}/module/translations`,
51
55
  activatesOn: Events2.SetupTranslations,
@@ -71,10 +75,13 @@ var MarkdownPlugin = () => definePlugin(meta, [
71
75
  id: `${meta.id}/module/metadata`,
72
76
  activatesOn: Events2.SetupMetadata,
73
77
  activate: () => contributes(Capabilities.Metadata, {
74
- id: DocumentType.typename,
78
+ id: Markdown_exports.Document.typename,
75
79
  metadata: {
76
80
  label: (object) => object.name || object.fallbackName,
77
81
  icon: "ph--text-aa--regular",
82
+ blueprints: [
83
+ BLUEPRINT_KEY
84
+ ],
78
85
  graphProps: {
79
86
  managesAutofocus: true
80
87
  },
@@ -101,10 +108,8 @@ var MarkdownPlugin = () => definePlugin(meta, [
101
108
  id: `${meta.id}/module/object-form`,
102
109
  activatesOn: ClientEvents.SetupSchema,
103
110
  activate: () => contributes(SpaceCapabilities.ObjectForm, defineObjectForm({
104
- objectSchema: DocumentType,
105
- getIntent: (_, { space }) => createIntent(MarkdownAction.Create, {
106
- spaceId: space.id
107
- })
111
+ objectSchema: Markdown_exports.Document,
112
+ getIntent: () => createIntent(MarkdownAction_exports.Create, {})
108
113
  }))
109
114
  }),
110
115
  defineModule({
@@ -140,18 +145,26 @@ var MarkdownPlugin = () => definePlugin(meta, [
140
145
  activate: AnchorSort
141
146
  }),
142
147
  defineModule({
143
- id: `${meta.id}/module/artifact-definition`,
148
+ id: `${meta.id}/module/blueprint`,
144
149
  activatesOn: Events2.SetupArtifactDefinition,
145
- activate: ArtifactDefinition
150
+ activate: BlueprintDefinition
151
+ }),
152
+ defineModule({
153
+ id: `${meta.id}/module/toolkit`,
154
+ // TODO(wittjosiah): Use a different event.
155
+ activatesOn: Events2.Startup,
156
+ activate: Toolkit
146
157
  })
147
158
  ]);
148
159
  export {
149
- MARKDOWN_PLUGIN,
160
+ Markdown_exports as Markdown,
161
+ MarkdownAction_exports as MarkdownAction,
150
162
  MarkdownCapabilities,
151
163
  MarkdownEvents,
152
164
  MarkdownPlugin,
153
165
  getAbstract,
154
166
  getFallbackName,
167
+ isEditorModel,
155
168
  isMarkdownProperties,
156
169
  meta,
157
170
  serializer,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/events.ts", "../../../src/MarkdownPlugin.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Events } from '@dxos/app-framework';\n\nimport { MARKDOWN_PLUGIN } from './meta';\n\nexport namespace MarkdownEvents {\n export const SetupExtensions = Events.createStateEvent(`${MARKDOWN_PLUGIN}/setup-extensions`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, defineModule, definePlugin, Events } from '@dxos/app-framework';\nimport { type Obj, Ref } from '@dxos/echo';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { SpaceCapabilities } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\nimport { createDocAccessor, getTextInRange } from '@dxos/react-client/echo';\nimport { translations as editorTranslations } from '@dxos/react-ui-editor';\nimport { DataType } from '@dxos/schema';\n\nimport {\n AnchorSort,\n AppGraphSerializer,\n ArtifactDefinition,\n IntentResolver,\n MarkdownState,\n MarkdownSettings,\n ReactSurface,\n} from './capabilities';\nimport { MarkdownEvents } from './events';\nimport { meta } from './meta';\nimport { translations } from './translations';\nimport { DocumentType, MarkdownAction } from './types';\nimport { serializer } from './util';\n\nexport const MarkdownPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, ...editorTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: MarkdownSettings,\n }),\n defineModule({\n id: `${meta.id}/module/state`,\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: Events.SetupSettings,\n activate: MarkdownState,\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: DocumentType.typename,\n metadata: {\n label: (object: DocumentType) => object.name || object.fallbackName,\n icon: 'ph--text-aa--regular',\n graphProps: {\n managesAutofocus: true,\n },\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (doc: DocumentType) => await Ref.Array.loadAll<Obj.Any>([doc.content]),\n serializer,\n // TODO(wittjosiah): Consider how to do generic comments without these.\n comments: 'anchored',\n selectionMode: 'multi-range',\n getAnchorLabel: (doc: DocumentType, anchor: string): string | undefined => {\n if (doc.content) {\n const [start, end] = anchor.split(':');\n return getTextInRange(createDocAccessor(doc.content.target!, ['content']), start, end);\n }\n },\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: DocumentType,\n getIntent: (_, { space }) => createIntent(MarkdownAction.Create, { spaceId: space.id }),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => contributes(ClientCapabilities.Schema, [DataType.Text]),\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the editor is loaded when surfaces activation is more granular.\n activatesBefore: [MarkdownEvents.SetupExtensions],\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-serializer`,\n activatesOn: Events.AppGraphReady,\n activate: AppGraphSerializer,\n }),\n defineModule({\n id: `${meta.id}/module/anchor-sort`,\n // TODO(wittjosiah): More relevant event?\n activatesOn: Events.AppGraphReady,\n activate: AnchorSort,\n }),\n defineModule({\n id: `${meta.id}/module/artifact-definition`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: ArtifactDefinition,\n }),\n ]);\n"],
5
- "mappings": "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",
6
- "names": ["Events", "MarkdownEvents", "SetupExtensions", "Events", "createStateEvent", "MARKDOWN_PLUGIN", "Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "Ref", "ClientCapabilities", "ClientEvents", "SpaceCapabilities", "defineObjectForm", "createDocAccessor", "getTextInRange", "translations", "editorTranslations", "DataType", "MarkdownPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "editorTranslations", "SetupSettings", "MarkdownSettings", "MarkdownState", "SetupMetadata", "Metadata", "DocumentType", "typename", "metadata", "label", "object", "name", "fallbackName", "icon", "graphProps", "managesAutofocus", "loadReferences", "doc", "Ref", "Array", "loadAll", "content", "serializer", "comments", "selectionMode", "getAnchorLabel", "anchor", "start", "end", "split", "getTextInRange", "createDocAccessor", "target", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "getIntent", "_", "space", "createIntent", "MarkdownAction", "Create", "spaceId", "ClientCapabilities", "Schema", "DataType", "Text", "SetupReactSurface", "activatesBefore", "MarkdownEvents", "SetupExtensions", "ReactSurface", "SetupIntentResolver", "IntentResolver", "AppGraphReady", "AppGraphSerializer", "AnchorSort", "SetupArtifactDefinition", "ArtifactDefinition"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Events } from '@dxos/app-framework';\n\nimport { meta } from './meta';\n\nexport namespace MarkdownEvents {\n export const SetupExtensions = Events.createStateEvent(`${meta.id}/event/setup-extensions`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from '@dxos/app-framework';\nimport { type Obj, Ref } from '@dxos/echo';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { SpaceCapabilities } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\nimport { createDocAccessor, getTextInRange } from '@dxos/react-client/echo';\nimport { translations as editorTranslations } from '@dxos/react-ui-editor';\nimport { DataType } from '@dxos/schema';\n\nimport {\n AnchorSort,\n AppGraphSerializer,\n BLUEPRINT_KEY,\n BlueprintDefinition,\n IntentResolver,\n MarkdownSettings,\n MarkdownState,\n ReactSurface,\n Toolkit,\n} from './capabilities';\nimport { MarkdownEvents } from './events';\nimport { meta } from './meta';\nimport { translations } from './translations';\nimport { Markdown, MarkdownAction } from './types';\nimport { serializer } from './util';\n\nexport const MarkdownPlugin = definePlugin(meta, () => [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, ...editorTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: MarkdownSettings,\n }),\n defineModule({\n id: `${meta.id}/module/state`,\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: Events.SetupSettings,\n activate: MarkdownState,\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: Markdown.Document.typename,\n metadata: {\n label: (object: Markdown.Document) => object.name || object.fallbackName,\n icon: 'ph--text-aa--regular',\n blueprints: [BLUEPRINT_KEY],\n graphProps: {\n managesAutofocus: true,\n },\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (doc: Markdown.Document) => await Ref.Array.loadAll<Obj.Any>([doc.content]),\n serializer,\n // TODO(wittjosiah): Consider how to do generic comments without these.\n comments: 'anchored',\n selectionMode: 'multi-range',\n getAnchorLabel: (doc: Markdown.Document, anchor: string): string | undefined => {\n if (doc.content) {\n const [start, end] = anchor.split(':');\n return getTextInRange(createDocAccessor(doc.content.target!, ['content']), start, end);\n }\n },\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: Markdown.Document,\n getIntent: () => createIntent(MarkdownAction.Create, {}),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => contributes(ClientCapabilities.Schema, [DataType.Text]),\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the editor is loaded when surfaces activation is more granular.\n activatesBefore: [MarkdownEvents.SetupExtensions],\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-serializer`,\n activatesOn: Events.AppGraphReady,\n activate: AppGraphSerializer,\n }),\n defineModule({\n id: `${meta.id}/module/anchor-sort`,\n // TODO(wittjosiah): More relevant event?\n activatesOn: Events.AppGraphReady,\n activate: AnchorSort,\n }),\n defineModule({\n id: `${meta.id}/module/blueprint`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: BlueprintDefinition,\n }),\n defineModule({\n id: `${meta.id}/module/toolkit`,\n // TODO(wittjosiah): Use a different event.\n activatesOn: Events.Startup,\n activate: Toolkit,\n }),\n]);\n"],
5
+ "mappings": "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",
6
+ "names": ["Events", "MarkdownEvents", "SetupExtensions", "Events", "createStateEvent", "meta", "id", "Capabilities", "Events", "contributes", "createIntent", "defineModule", "definePlugin", "Ref", "ClientCapabilities", "ClientEvents", "SpaceCapabilities", "defineObjectForm", "createDocAccessor", "getTextInRange", "translations", "editorTranslations", "DataType", "MarkdownPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "editorTranslations", "SetupSettings", "MarkdownSettings", "MarkdownState", "SetupMetadata", "Metadata", "Markdown", "Document", "typename", "metadata", "label", "object", "name", "fallbackName", "icon", "blueprints", "BLUEPRINT_KEY", "graphProps", "managesAutofocus", "loadReferences", "doc", "Ref", "Array", "loadAll", "content", "serializer", "comments", "selectionMode", "getAnchorLabel", "anchor", "start", "end", "split", "getTextInRange", "createDocAccessor", "target", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "getIntent", "createIntent", "MarkdownAction", "Create", "ClientCapabilities", "Schema", "DataType", "Text", "SetupReactSurface", "activatesBefore", "MarkdownEvents", "SetupExtensions", "ReactSurface", "SetupIntentResolver", "IntentResolver", "AppGraphReady", "AppGraphSerializer", "AnchorSort", "SetupArtifactDefinition", "BlueprintDefinition", "Startup", "Toolkit"]
7
7
  }
@@ -0,0 +1,62 @@
1
+ import {
2
+ MarkdownCapabilities
3
+ } from "./chunk-OY6CGPOO.mjs";
4
+ import {
5
+ MarkdownAction_exports,
6
+ Markdown_exports
7
+ } from "./chunk-PMBWHKDI.mjs";
8
+ import "./chunk-ODB2PTBP.mjs";
9
+
10
+ // src/capabilities/intent-resolver.ts
11
+ import { next as A } from "@automerge/automerge";
12
+ import * as Option from "effect/Option";
13
+ import { Capabilities, CollaborationActions, contributes, createResolver } from "@dxos/app-framework";
14
+ import { Obj } from "@dxos/echo";
15
+ import { createDocAccessor, getRangeFromCursor } from "@dxos/react-client/echo";
16
+ var intent_resolver_default = ((context) => contributes(Capabilities.IntentResolver, [
17
+ createResolver({
18
+ intent: MarkdownAction_exports.Create,
19
+ resolve: ({ name, content }) => {
20
+ return {
21
+ data: {
22
+ object: Markdown_exports.makeDocument({
23
+ name,
24
+ content
25
+ })
26
+ }
27
+ };
28
+ }
29
+ }),
30
+ createResolver({
31
+ intent: MarkdownAction_exports.SetViewMode,
32
+ resolve: ({ id, viewMode }) => {
33
+ const { state } = context.getCapability(MarkdownCapabilities.State);
34
+ state.viewMode[id] = viewMode;
35
+ }
36
+ }),
37
+ createResolver({
38
+ intent: CollaborationActions.AcceptProposal,
39
+ filter: (data) => Obj.instanceOf(Markdown_exports.Document, data.subject),
40
+ resolve: async ({ subject, anchor, proposal }) => {
41
+ const text = await subject.content.load();
42
+ const accessor = createDocAccessor(text, [
43
+ "content"
44
+ ]);
45
+ const { start, end } = Option.fromNullable(anchor).pipe(
46
+ Option.flatMap((at) => Option.fromNullable(getRangeFromCursor(accessor, at))),
47
+ // Fallback to the end of the document.
48
+ Option.getOrElse(() => ({
49
+ start: text.content.length - 1,
50
+ end: text.content.length - 1
51
+ }))
52
+ );
53
+ accessor.handle.change((doc) => {
54
+ A.splice(doc, accessor.path.slice(), start, end - start, proposal.text);
55
+ });
56
+ }
57
+ })
58
+ ]));
59
+ export {
60
+ intent_resolver_default as default
61
+ };
62
+ //# sourceMappingURL=intent-resolver-66ZUQ6JC.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { next as A } from '@automerge/automerge';\nimport * as Option from 'effect/Option';\nimport type * as Schema from 'effect/Schema';\n\nimport {\n Capabilities,\n CollaborationActions,\n type PluginContext,\n contributes,\n createResolver,\n} from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { createDocAccessor, getRangeFromCursor } from '@dxos/react-client/echo';\n\nimport { Markdown, MarkdownAction } from '../types';\n\nimport { MarkdownCapabilities } from './capabilities';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: MarkdownAction.Create,\n resolve: ({ name, content }) => {\n return { data: { object: Markdown.makeDocument({ name, content }) } };\n },\n }),\n createResolver({\n intent: MarkdownAction.SetViewMode,\n resolve: ({ id, viewMode }) => {\n const { state } = context.getCapability(MarkdownCapabilities.State);\n state.viewMode[id] = viewMode;\n },\n }),\n createResolver({\n intent: CollaborationActions.AcceptProposal,\n filter: (\n data,\n ): data is Omit<Schema.Schema.Type<typeof CollaborationActions.AcceptProposal.fields.input>, 'subject'> & {\n subject: Markdown.Document;\n } => Obj.instanceOf(Markdown.Document, data.subject),\n resolve: async ({ subject, anchor, proposal }) => {\n const text = await subject.content.load();\n const accessor = createDocAccessor(text, ['content']);\n const { start, end } = Option.fromNullable(anchor).pipe(\n Option.flatMap((at) => Option.fromNullable(getRangeFromCursor(accessor, at))),\n // Fallback to the end of the document.\n Option.getOrElse(() => ({ start: text.content.length - 1, end: text.content.length - 1 })),\n );\n accessor.handle.change((doc) => {\n A.splice(doc, accessor.path.slice(), start, end - start, proposal.text);\n });\n },\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;AAIA,SAASA,QAAQC,SAAS;AAC1B,YAAYC,YAAY;AAGxB,SACEC,cACAC,sBAEAC,aACAC,sBACK;AACP,SAASC,WAAW;AACpB,SAASC,mBAAmBC,0BAA0B;AAMtD,IAAA,2BAAe,CAACC,YACdC,YAAYC,aAAaC,gBAAgB;EACvCC,eAAe;IACbC,QAAQC,uBAAeC;IACvBC,SAAS,CAAC,EAAEC,MAAMC,QAAO,MAAE;AACzB,aAAO;QAAEC,MAAM;UAAEC,QAAQC,iBAASC,aAAa;YAAEL;YAAMC;UAAQ,CAAA;QAAG;MAAE;IACtE;EACF,CAAA;EACAN,eAAe;IACbC,QAAQC,uBAAeS;IACvBP,SAAS,CAAC,EAAEQ,IAAIC,SAAQ,MAAE;AACxB,YAAM,EAAEC,MAAK,IAAKlB,QAAQmB,cAAcC,qBAAqBC,KAAK;AAClEH,YAAMD,SAASD,EAAAA,IAAMC;IACvB;EACF,CAAA;EACAb,eAAe;IACbC,QAAQiB,qBAAqBC;IAC7BC,QAAQ,CACNb,SAGGc,IAAIC,WAAWb,iBAASc,UAAUhB,KAAKiB,OAAO;IACnDpB,SAAS,OAAO,EAAEoB,SAASC,QAAQC,SAAQ,MAAE;AAC3C,YAAMC,OAAO,MAAMH,QAAQlB,QAAQsB,KAAI;AACvC,YAAMC,WAAWC,kBAAkBH,MAAM;QAAC;OAAU;AACpD,YAAM,EAAEI,OAAOC,IAAG,IAAYC,oBAAaR,MAAAA,EAAQS;QAC1CC,eAAQ,CAACC,OAAcH,oBAAaI,mBAAmBR,UAAUO,EAAAA,CAAAA,CAAAA;;QAEjEE,iBAAU,OAAO;UAAEP,OAAOJ,KAAKrB,QAAQiC,SAAS;UAAGP,KAAKL,KAAKrB,QAAQiC,SAAS;QAAE,EAAA;MAAA;AAEzFV,eAASW,OAAOC,OAAO,CAACC,QAAAA;AACtBC,UAAEC,OAAOF,KAAKb,SAASgB,KAAKC,MAAK,GAAIf,OAAOC,MAAMD,OAAOL,SAASC,IAAI;MACxE,CAAA;IACF;EACF,CAAA;CACD;",
6
+ "names": ["next", "A", "Option", "Capabilities", "CollaborationActions", "contributes", "createResolver", "Obj", "createDocAccessor", "getRangeFromCursor", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "MarkdownAction", "Create", "resolve", "name", "content", "data", "object", "Markdown", "makeDocument", "SetViewMode", "id", "viewMode", "state", "getCapability", "MarkdownCapabilities", "State", "CollaborationActions", "AcceptProposal", "filter", "Obj", "instanceOf", "Document", "subject", "anchor", "proposal", "text", "load", "accessor", "createDocAccessor", "start", "end", "fromNullable", "pipe", "flatMap", "at", "getRangeFromCursor", "getOrElse", "length", "handle", "change", "doc", "A", "splice", "path", "slice"]
7
+ }