@dxos/plugin-markdown 0.9.0 → 0.9.1-staging.ee54ba693a

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 (255) hide show
  1. package/dist/lib/neutral/{MarkdownArticle-LWT5RFFJ.mjs → MarkdownArticle-ZHBXH7YF.mjs} +5 -7
  2. package/dist/lib/neutral/MarkdownArticle-ZHBXH7YF.mjs.map +7 -0
  3. package/dist/lib/neutral/{MarkdownCard-TBLIRDBO.mjs → MarkdownCard-2HUXCGZP.mjs} +3 -3
  4. package/dist/lib/neutral/MarkdownCard-2HUXCGZP.mjs.map +7 -0
  5. package/dist/lib/neutral/MarkdownPlugin.mjs +8 -15
  6. package/dist/lib/neutral/MarkdownPlugin.mjs.map +3 -3
  7. package/dist/lib/neutral/MarkdownPlugin.node.mjs +4 -2
  8. package/dist/lib/neutral/MarkdownPlugin.node.mjs.map +3 -3
  9. package/dist/lib/neutral/MarkdownPlugin.workerd.mjs +6 -17
  10. package/dist/lib/neutral/MarkdownPlugin.workerd.mjs.map +4 -4
  11. package/dist/lib/neutral/MarkdownSettings-5VMOYMND.mjs +43 -0
  12. package/dist/lib/neutral/MarkdownSettings-5VMOYMND.mjs.map +7 -0
  13. package/dist/lib/neutral/{anchor-sort-UXN4RHFX.mjs → anchor-sort-QF7UDG2A.mjs} +4 -3
  14. package/dist/lib/neutral/anchor-sort-QF7UDG2A.mjs.map +7 -0
  15. package/dist/lib/neutral/capabilities/index.mjs +10 -16
  16. package/dist/lib/neutral/capabilities/index.mjs.map +3 -3
  17. package/dist/lib/neutral/capabilities/node.mjs +5 -3
  18. package/dist/lib/neutral/capabilities/node.mjs.map +3 -3
  19. package/dist/lib/neutral/chunk-2V6A5NDQ.mjs +8 -0
  20. package/dist/lib/neutral/{operation-handler-2ARMPBGZ.mjs → chunk-ANHHOTCD.mjs} +3 -4
  21. package/dist/lib/neutral/{operation-handler-2ARMPBGZ.mjs.map → chunk-ANHHOTCD.mjs.map} +1 -1
  22. package/dist/lib/neutral/chunk-CNYFGIDS.mjs +32 -0
  23. package/dist/lib/neutral/chunk-CNYFGIDS.mjs.map +7 -0
  24. package/dist/lib/neutral/{chunk-LXNSKCPD.mjs → chunk-EV4ZOL4P.mjs} +12 -11
  25. package/dist/lib/neutral/chunk-EV4ZOL4P.mjs.map +7 -0
  26. package/dist/lib/neutral/chunk-OC3JD73N.mjs +43 -0
  27. package/dist/lib/neutral/chunk-OC3JD73N.mjs.map +7 -0
  28. package/dist/lib/neutral/chunk-YJF6XOXX.mjs +175 -0
  29. package/dist/lib/neutral/chunk-YJF6XOXX.mjs.map +7 -0
  30. package/dist/lib/neutral/chunk-YMBC62S7.mjs +14 -0
  31. package/dist/lib/neutral/chunk-YMBC62S7.mjs.map +7 -0
  32. package/dist/lib/neutral/{chunk-Y2LQRUU7.mjs → chunk-ZJ3GWRUJ.mjs} +24 -23
  33. package/dist/lib/neutral/chunk-ZJ3GWRUJ.mjs.map +7 -0
  34. package/dist/lib/neutral/{comment-config-EGY7RPPW.mjs → comment-config-M5OGFULS.mjs} +6 -4
  35. package/dist/lib/neutral/comment-config-M5OGFULS.mjs.map +7 -0
  36. package/dist/lib/neutral/components/index.mjs +19 -57
  37. package/dist/lib/neutral/components/index.mjs.map +4 -4
  38. package/dist/lib/neutral/containers/index.mjs +5 -3
  39. package/dist/lib/neutral/containers/index.mjs.map +3 -3
  40. package/dist/lib/neutral/{create-JK35XC4R.mjs → create-OQUMKL5I.mjs} +2 -2
  41. package/dist/lib/neutral/{create-markdown-7MLE625M.mjs → create-markdown-4O5FDA77.mjs} +2 -2
  42. package/dist/lib/neutral/{create-object-MU2LGXG6.mjs → create-object-RSEWTCMM.mjs} +2 -6
  43. package/dist/lib/neutral/create-object-RSEWTCMM.mjs.map +7 -0
  44. package/dist/lib/neutral/hooks/index.mjs +53 -23
  45. package/dist/lib/neutral/hooks/index.mjs.map +3 -3
  46. package/dist/lib/neutral/index.mjs +10 -16
  47. package/dist/lib/neutral/meta.json +1 -1
  48. package/dist/lib/neutral/meta.mjs +1 -1
  49. package/dist/lib/neutral/{open-5YC77C4O.mjs → open-BAZIRXII.mjs} +2 -2
  50. package/dist/lib/neutral/operation-handler-SDCXGMGK.mjs +8 -0
  51. package/dist/lib/neutral/operations/index.mjs +1 -1
  52. package/dist/lib/neutral/plugin.mjs +2 -2
  53. package/dist/lib/neutral/plugin.workerd.mjs +12 -0
  54. package/dist/lib/neutral/plugin.workerd.mjs.map +7 -0
  55. package/dist/lib/neutral/{react-surface-XYZJBKHZ.mjs → react-surface-37GL3UVG.mjs} +10 -15
  56. package/dist/lib/neutral/react-surface-37GL3UVG.mjs.map +7 -0
  57. package/dist/lib/neutral/{scroll-to-anchor-GAFB7W55.mjs → scroll-to-anchor-I6HFE5AH.mjs} +2 -2
  58. package/dist/lib/neutral/{set-view-mode-N7UHYMPG.mjs → set-view-mode-NY5OYYIM.mjs} +2 -2
  59. package/dist/lib/neutral/{settings-TDGDLCUR.mjs → settings-O6O6HT3I.mjs} +3 -3
  60. package/dist/lib/neutral/settings-O6O6HT3I.mjs.map +7 -0
  61. package/dist/lib/neutral/skill-definition-ET7BYY47.mjs +8 -0
  62. package/dist/lib/neutral/skill-definition-ET7BYY47.mjs.map +7 -0
  63. package/dist/lib/neutral/skills/index.mjs +8 -0
  64. package/dist/lib/neutral/skills/index.mjs.map +7 -0
  65. package/dist/lib/neutral/state-3BR7L6CW.mjs +69 -0
  66. package/dist/lib/neutral/state-3BR7L6CW.mjs.map +7 -0
  67. package/dist/lib/neutral/testing.mjs +2 -2
  68. package/dist/lib/neutral/testing.mjs.map +3 -3
  69. package/dist/lib/neutral/translations.mjs +1 -1
  70. package/dist/lib/neutral/translations.mjs.map +3 -3
  71. package/dist/lib/neutral/types/index.mjs +1 -1
  72. package/dist/lib/neutral/update-markdown-M4PTA6VS.mjs +24 -0
  73. package/dist/lib/neutral/update-markdown-M4PTA6VS.mjs.map +7 -0
  74. package/dist/types/dx.config.d.ts +28 -0
  75. package/dist/types/dx.config.d.ts.map +1 -0
  76. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  77. package/dist/types/src/MarkdownPlugin.node.d.ts.map +1 -1
  78. package/dist/types/src/MarkdownPlugin.workerd.d.ts.map +1 -1
  79. package/dist/types/src/capabilities/anchor-sort.d.ts +1 -2
  80. package/dist/types/src/capabilities/anchor-sort.d.ts.map +1 -1
  81. package/dist/types/src/capabilities/comment-config.d.ts +1 -2
  82. package/dist/types/src/capabilities/comment-config.d.ts.map +1 -1
  83. package/dist/types/src/capabilities/create-object.d.ts +1 -7
  84. package/dist/types/src/capabilities/create-object.d.ts.map +1 -1
  85. package/dist/types/src/capabilities/editor-view-state.d.ts +7 -0
  86. package/dist/types/src/capabilities/editor-view-state.d.ts.map +1 -0
  87. package/dist/types/src/capabilities/index.d.ts +7 -16
  88. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  89. package/dist/types/src/capabilities/node.d.ts +2 -6
  90. package/dist/types/src/capabilities/node.d.ts.map +1 -1
  91. package/dist/types/src/capabilities/react-surface.d.ts +2 -2
  92. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  93. package/dist/types/src/capabilities/settings.d.ts +1 -2
  94. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  95. package/dist/types/src/capabilities/skill-definition.d.ts +5 -0
  96. package/dist/types/src/capabilities/skill-definition.d.ts.map +1 -0
  97. package/dist/types/src/capabilities/state.d.ts +1 -2
  98. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  99. package/dist/types/src/components/MarkdownEditor/FileUpload.d.ts +2 -2
  100. package/dist/types/src/components/MarkdownEditor/FileUpload.d.ts.map +1 -1
  101. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +5 -6
  102. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
  103. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts +3 -2
  104. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts.map +1 -1
  105. package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts.map +1 -1
  106. package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts +2 -2
  107. package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts.map +1 -1
  108. package/dist/types/src/components/PreviewComponent/PreviewComponent.d.ts +17 -0
  109. package/dist/types/src/components/PreviewComponent/PreviewComponent.d.ts.map +1 -0
  110. package/dist/types/src/components/PreviewComponent/index.d.ts +2 -0
  111. package/dist/types/src/components/PreviewComponent/index.d.ts.map +1 -0
  112. package/dist/types/src/components/index.d.ts +1 -2
  113. package/dist/types/src/components/index.d.ts.map +1 -1
  114. package/dist/types/src/containers/MarkdownArticle/MarkdownArticle.d.ts +6 -17
  115. package/dist/types/src/containers/MarkdownArticle/MarkdownArticle.d.ts.map +1 -1
  116. package/dist/types/src/containers/MarkdownArticle/MarkdownArticle.stories.d.ts.map +1 -1
  117. package/dist/types/src/{components → containers}/MarkdownSettings/MarkdownSettings.d.ts +1 -1
  118. package/dist/types/src/{components → containers}/MarkdownSettings/MarkdownSettings.d.ts.map +1 -1
  119. package/dist/types/src/{components → containers}/MarkdownSettings/MarkdownSettings.stories.d.ts.map +1 -1
  120. package/dist/types/src/{components → containers}/MarkdownSettings/index.d.ts.map +1 -1
  121. package/dist/types/src/containers/index.d.ts +1 -0
  122. package/dist/types/src/containers/index.d.ts.map +1 -1
  123. package/dist/types/src/hooks/useExtensions.d.ts +5 -5
  124. package/dist/types/src/hooks/useExtensions.d.ts.map +1 -1
  125. package/dist/types/src/hooks/useLinkQuery.d.ts +2 -2
  126. package/dist/types/src/hooks/useLinkQuery.d.ts.map +1 -1
  127. package/dist/types/src/index.d.ts +1 -2
  128. package/dist/types/src/index.d.ts.map +1 -1
  129. package/dist/types/src/meta.d.ts +32 -2
  130. package/dist/types/src/meta.d.ts.map +1 -1
  131. package/dist/types/src/operations/update-markdown.d.ts.map +1 -1
  132. package/dist/types/src/plugin.workerd.d.ts +2 -0
  133. package/dist/types/src/plugin.workerd.d.ts.map +1 -0
  134. package/dist/types/src/skills/index.d.ts +2 -0
  135. package/dist/types/src/skills/index.d.ts.map +1 -0
  136. package/dist/types/src/skills/markdown-skill.d.ts +4 -0
  137. package/dist/types/src/skills/markdown-skill.d.ts.map +1 -0
  138. package/dist/types/src/types/Markdown.d.ts +12 -20
  139. package/dist/types/src/types/Markdown.d.ts.map +1 -1
  140. package/dist/types/src/types/MarkdownCapabilities.d.ts.map +1 -1
  141. package/dist/types/src/types/MarkdownOperation.d.ts +5 -28
  142. package/dist/types/src/types/MarkdownOperation.d.ts.map +1 -1
  143. package/dist/types/src/types/types.d.ts +2 -0
  144. package/dist/types/src/types/types.d.ts.map +1 -1
  145. package/dist/types/tsconfig.tsbuildinfo +1 -1
  146. package/dx.config.ts +31 -0
  147. package/package.json +67 -59
  148. package/src/MarkdownPlugin.node.ts +2 -1
  149. package/src/MarkdownPlugin.test.ts +1 -1
  150. package/src/MarkdownPlugin.tsx +7 -16
  151. package/src/MarkdownPlugin.workerd.ts +5 -2
  152. package/src/capabilities/anchor-sort.ts +3 -2
  153. package/src/capabilities/comment-config.ts +6 -9
  154. package/src/capabilities/create-object.ts +1 -4
  155. package/src/capabilities/editor-view-state.ts +28 -0
  156. package/src/capabilities/index.ts +2 -16
  157. package/src/capabilities/node.ts +1 -0
  158. package/src/capabilities/react-surface.tsx +29 -13
  159. package/src/capabilities/settings.ts +2 -2
  160. package/src/capabilities/skill-definition.ts +14 -0
  161. package/src/capabilities/state.ts +8 -4
  162. package/src/components/MarkdownEditor/FileUpload.tsx +2 -2
  163. package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +72 -30
  164. package/src/components/MarkdownEditor/MarkdownEditor.tsx +14 -40
  165. package/src/components/MarkdownEditor/MarkdownEditorContent.tsx +7 -6
  166. package/src/components/MarkdownEditor/MarkdownEditorToolbar.tsx +2 -2
  167. package/src/components/PreviewComponent/PreviewComponent.tsx +195 -0
  168. package/src/components/PreviewComponent/index.ts +5 -0
  169. package/src/components/index.ts +1 -4
  170. package/src/containers/MarkdownArticle/MarkdownArticle.stories.tsx +3 -4
  171. package/src/containers/MarkdownArticle/MarkdownArticle.tsx +6 -6
  172. package/src/containers/MarkdownCard/MarkdownCard.tsx +2 -2
  173. package/src/{components → containers}/MarkdownSettings/MarkdownSettings.stories.tsx +1 -1
  174. package/src/containers/MarkdownSettings/MarkdownSettings.tsx +54 -0
  175. package/src/containers/index.ts +1 -0
  176. package/src/hooks/useEditorMenuOptions.ts +2 -2
  177. package/src/hooks/useExtensions.tsx +42 -22
  178. package/src/hooks/useLinkQuery.ts +5 -3
  179. package/src/index.ts +1 -2
  180. package/src/meta.ts +2 -22
  181. package/src/operations/create.conversations.json +1 -1
  182. package/src/operations/create.test.ts +5 -12
  183. package/src/operations/update-markdown.ts +7 -27
  184. package/src/operations/update.conversations.json +1 -1
  185. package/src/operations/update.test.ts +86 -16
  186. package/src/plugin.workerd.ts +5 -0
  187. package/src/skills/index.ts +5 -0
  188. package/src/{blueprints/markdown-blueprint.ts → skills/markdown-skill.ts} +8 -7
  189. package/src/testing.ts +2 -2
  190. package/src/translations.ts +1 -1
  191. package/src/types/Markdown.ts +20 -19
  192. package/src/types/MarkdownCapabilities.ts +7 -5
  193. package/src/types/MarkdownEvents.ts +1 -1
  194. package/src/types/MarkdownOperation.ts +12 -6
  195. package/src/types/types.ts +2 -7
  196. package/dist/lib/neutral/MarkdownArticle-LWT5RFFJ.mjs.map +0 -7
  197. package/dist/lib/neutral/MarkdownCard-TBLIRDBO.mjs.map +0 -7
  198. package/dist/lib/neutral/MarkdownSettings-YCTZJL5V.mjs +0 -32
  199. package/dist/lib/neutral/MarkdownSettings-YCTZJL5V.mjs.map +0 -7
  200. package/dist/lib/neutral/anchor-sort-UXN4RHFX.mjs.map +0 -7
  201. package/dist/lib/neutral/app-graph-builder-BWBA23FF.mjs +0 -67
  202. package/dist/lib/neutral/app-graph-builder-BWBA23FF.mjs.map +0 -7
  203. package/dist/lib/neutral/app-graph-serializer-EN5E3BMG.mjs +0 -56
  204. package/dist/lib/neutral/app-graph-serializer-EN5E3BMG.mjs.map +0 -7
  205. package/dist/lib/neutral/blueprint-definition-DSPXK77L.mjs +0 -15
  206. package/dist/lib/neutral/blueprint-definition-DSPXK77L.mjs.map +0 -7
  207. package/dist/lib/neutral/blueprints/index.mjs +0 -8
  208. package/dist/lib/neutral/chunk-36QFEVOZ.mjs +0 -30
  209. package/dist/lib/neutral/chunk-36QFEVOZ.mjs.map +0 -7
  210. package/dist/lib/neutral/chunk-67DKWOKF.mjs +0 -10
  211. package/dist/lib/neutral/chunk-67DKWOKF.mjs.map +0 -7
  212. package/dist/lib/neutral/chunk-CIJD7P6X.mjs +0 -8
  213. package/dist/lib/neutral/chunk-LXNSKCPD.mjs.map +0 -7
  214. package/dist/lib/neutral/chunk-Y2LQRUU7.mjs.map +0 -7
  215. package/dist/lib/neutral/comment-config-EGY7RPPW.mjs.map +0 -7
  216. package/dist/lib/neutral/create-object-MU2LGXG6.mjs.map +0 -7
  217. package/dist/lib/neutral/navigation-resolver-3KBOMN4U.mjs +0 -14
  218. package/dist/lib/neutral/navigation-resolver-3KBOMN4U.mjs.map +0 -7
  219. package/dist/lib/neutral/react-surface-XYZJBKHZ.mjs.map +0 -7
  220. package/dist/lib/neutral/settings-TDGDLCUR.mjs.map +0 -7
  221. package/dist/lib/neutral/state-5COCF5PN.mjs +0 -44
  222. package/dist/lib/neutral/state-5COCF5PN.mjs.map +0 -7
  223. package/dist/lib/neutral/update-markdown-NNINDDV5.mjs +0 -44
  224. package/dist/lib/neutral/update-markdown-NNINDDV5.mjs.map +0 -7
  225. package/dist/types/src/blueprints/index.d.ts +0 -2
  226. package/dist/types/src/blueprints/index.d.ts.map +0 -1
  227. package/dist/types/src/blueprints/markdown-blueprint.d.ts +0 -4
  228. package/dist/types/src/blueprints/markdown-blueprint.d.ts.map +0 -1
  229. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -6
  230. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  231. package/dist/types/src/capabilities/app-graph-serializer.d.ts +0 -5
  232. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +0 -1
  233. package/dist/types/src/capabilities/blueprint-definition.d.ts +0 -6
  234. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +0 -1
  235. package/dist/types/src/capabilities/navigation-resolver.d.ts +0 -6
  236. package/dist/types/src/capabilities/navigation-resolver.d.ts.map +0 -1
  237. package/dist/types/src/paths.d.ts +0 -3
  238. package/dist/types/src/paths.d.ts.map +0 -1
  239. package/src/blueprints/index.ts +0 -5
  240. package/src/capabilities/app-graph-builder.ts +0 -63
  241. package/src/capabilities/app-graph-serializer.ts +0 -64
  242. package/src/capabilities/blueprint-definition.ts +0 -19
  243. package/src/capabilities/navigation-resolver.ts +0 -19
  244. package/src/components/MarkdownSettings/MarkdownSettings.tsx +0 -35
  245. package/src/paths.ts +0 -11
  246. /package/dist/lib/neutral/{chunk-CIJD7P6X.mjs.map → chunk-2V6A5NDQ.mjs.map} +0 -0
  247. /package/dist/lib/neutral/{create-JK35XC4R.mjs.map → create-OQUMKL5I.mjs.map} +0 -0
  248. /package/dist/lib/neutral/{create-markdown-7MLE625M.mjs.map → create-markdown-4O5FDA77.mjs.map} +0 -0
  249. /package/dist/lib/neutral/{open-5YC77C4O.mjs.map → open-BAZIRXII.mjs.map} +0 -0
  250. /package/dist/lib/neutral/{blueprints/index.mjs.map → operation-handler-SDCXGMGK.mjs.map} +0 -0
  251. /package/dist/lib/neutral/{scroll-to-anchor-GAFB7W55.mjs.map → scroll-to-anchor-I6HFE5AH.mjs.map} +0 -0
  252. /package/dist/lib/neutral/{set-view-mode-N7UHYMPG.mjs.map → set-view-mode-NY5OYYIM.mjs.map} +0 -0
  253. /package/dist/types/src/{components → containers}/MarkdownSettings/MarkdownSettings.stories.d.ts +0 -0
  254. /package/dist/types/src/{components → containers}/MarkdownSettings/index.d.ts +0 -0
  255. /package/src/{components → containers}/MarkdownSettings/index.ts +0 -0
@@ -1,56 +0,0 @@
1
- import "./chunk-J5LGTIGS.mjs";
2
-
3
- // src/capabilities/app-graph-serializer.ts
4
- import * as Effect from "effect/Effect";
5
- import * as Option from "effect/Option";
6
- import { Capabilities, Capability } from "@dxos/app-framework";
7
- import { AppCapabilities, RootCollectionAnnotation } from "@dxos/app-toolkit";
8
- import { Annotation, Collection, Obj, Type } from "@dxos/echo";
9
- import { SpaceOperation } from "@dxos/plugin-space";
10
- import { isSpace } from "@dxos/react-client/echo";
11
- import { translations } from "#translations";
12
- import { MarkdownOperation } from "#types";
13
- import { Markdown } from "#types";
14
- var app_graph_serializer_default = Capability.makeModule(Effect.fnUntraced(function* () {
15
- const capabilities = yield* Capability.Service;
16
- return Capability.contributes(AppCapabilities.AppGraphSerializer, [
17
- {
18
- inputType: Type.getTypename(Markdown.Document),
19
- outputType: "text/markdown",
20
- // Reconcile with metadata serializers.
21
- serialize: async (node) => {
22
- const doc = node.data;
23
- const content = await doc.content.load();
24
- return {
25
- name: doc.name || doc.fallbackName || translations[0]["en-US"][Type.getTypename(Markdown.Document)]["object-name.placeholder"],
26
- data: content.content,
27
- type: "text/markdown"
28
- };
29
- },
30
- deserialize: async (data, ancestors) => {
31
- const space = ancestors.find(isSpace);
32
- const target = ancestors.findLast((ancestor) => Obj.instanceOf(Collection.Collection, ancestor)) ?? (space && Annotation.get(space.properties, RootCollectionAnnotation).pipe(Option.getOrUndefined)?.target);
33
- if (!space || !target) {
34
- return;
35
- }
36
- const { invokePromise } = capabilities.get(Capabilities.OperationInvoker);
37
- const createResult = await invokePromise(MarkdownOperation.CreateMarkdown, {
38
- name: data.name,
39
- content: data.data
40
- });
41
- if (!createResult.data?.object) {
42
- return void 0;
43
- }
44
- await invokePromise(SpaceOperation.AddObject, {
45
- target,
46
- object: createResult.data.object
47
- });
48
- return createResult.data.object;
49
- }
50
- }
51
- ]);
52
- }));
53
- export {
54
- app_graph_serializer_default as default
55
- };
56
- //# sourceMappingURL=app-graph-serializer-EN5E3BMG.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/app-graph-serializer.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { AppCapabilities, RootCollectionAnnotation } from '@dxos/app-toolkit';\nimport { Annotation, Collection, Obj, Type } from '@dxos/echo';\nimport { SpaceOperation } from '@dxos/plugin-space';\nimport { isSpace } from '@dxos/react-client/echo';\n\nimport { translations } from '#translations';\nimport { MarkdownOperation } from '#types';\nimport { Markdown } from '#types';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n // Get context for lazy capability access in callbacks.\n const capabilities = yield* Capability.Service;\n\n return Capability.contributes(AppCapabilities.AppGraphSerializer, [\n {\n inputType: Type.getTypename(Markdown.Document),\n outputType: 'text/markdown',\n // Reconcile with metadata serializers.\n serialize: async (node) => {\n const doc = node.data;\n const content = await doc.content.load();\n return {\n name:\n doc.name ||\n doc.fallbackName ||\n translations[0]['en-US'][Type.getTypename(Markdown.Document)]['object-name.placeholder'],\n data: content.content,\n type: 'text/markdown',\n };\n },\n deserialize: async (data, ancestors) => {\n const space = ancestors.find(isSpace);\n const target =\n ancestors.findLast((ancestor) => Obj.instanceOf(Collection.Collection, ancestor)) ??\n (space && Annotation.get(space.properties, RootCollectionAnnotation).pipe(Option.getOrUndefined)?.target);\n if (!space || !target) {\n return;\n }\n\n const { invokePromise } = capabilities.get(Capabilities.OperationInvoker);\n const createResult = await invokePromise(MarkdownOperation.CreateMarkdown, {\n name: data.name,\n content: data.data,\n });\n if (!createResult.data?.object) {\n return undefined;\n }\n await invokePromise(SpaceOperation.AddObject, { target, object: createResult.data.object });\n\n return createResult.data.object;\n },\n },\n ]);\n }),\n);\n"],
5
- "mappings": ";;;AAIA,YAAYA,YAAY;AACxB,YAAYC,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,iBAAiBC,gCAAgC;AAC1D,SAASC,YAAYC,YAAYC,KAAKC,YAAY;AAClD,SAASC,sBAAsB;AAC/B,SAASC,eAAe;AAExB,SAASC,oBAAoB;AAC7B,SAASC,yBAAyB;AAClC,SAASC,gBAAgB;AAEzB,IAAA,+BAAeX,WAAWY,WACjBC,kBAAW,aAAA;AAEhB,QAAMC,eAAe,OAAOd,WAAWe;AAEvC,SAAOf,WAAWgB,YAAYf,gBAAgBgB,oBAAoB;IAChE;MACEC,WAAWZ,KAAKa,YAAYR,SAASS,QAAQ;MAC7CC,YAAY;;MAEZC,WAAW,OAAOC,SAAAA;AAChB,cAAMC,MAAMD,KAAKE;AACjB,cAAMC,UAAU,MAAMF,IAAIE,QAAQC,KAAI;AACtC,eAAO;UACLC,MACEJ,IAAII,QACJJ,IAAIK,gBACJpB,aAAa,CAAA,EAAG,OAAA,EAASH,KAAKa,YAAYR,SAASS,QAAQ,CAAA,EAAG,yBAAA;UAChEK,MAAMC,QAAQA;UACdI,MAAM;QACR;MACF;MACAC,aAAa,OAAON,MAAMO,cAAAA;AACxB,cAAMC,QAAQD,UAAUE,KAAK1B,OAAAA;AAC7B,cAAM2B,SACJH,UAAUI,SAAS,CAACC,aAAahC,IAAIiC,WAAWlC,WAAWA,YAAYiC,QAAAA,CAAAA,MACtEJ,SAAS9B,WAAWoC,IAAIN,MAAMO,YAAYtC,wBAAAA,EAA0BuC,KAAYC,qBAAc,GAAGP;AACpG,YAAI,CAACF,SAAS,CAACE,QAAQ;AACrB;QACF;AAEA,cAAM,EAAEQ,cAAa,IAAK7B,aAAayB,IAAIxC,aAAa6C,gBAAgB;AACxE,cAAMC,eAAe,MAAMF,cAAcjC,kBAAkBoC,gBAAgB;UACzElB,MAAMH,KAAKG;UACXF,SAASD,KAAKA;QAChB,CAAA;AACA,YAAI,CAACoB,aAAapB,MAAMsB,QAAQ;AAC9B,iBAAOC;QACT;AACA,cAAML,cAAcpC,eAAe0C,WAAW;UAAEd;UAAQY,QAAQF,aAAapB,KAAKsB;QAAO,CAAA;AAEzF,eAAOF,aAAapB,KAAKsB;MAC3B;IACF;GACD;AACH,CAAA,CAAA;",
6
- "names": ["Effect", "Option", "Capabilities", "Capability", "AppCapabilities", "RootCollectionAnnotation", "Annotation", "Collection", "Obj", "Type", "SpaceOperation", "isSpace", "translations", "MarkdownOperation", "Markdown", "makeModule", "fnUntraced", "capabilities", "Service", "contributes", "AppGraphSerializer", "inputType", "getTypename", "Document", "outputType", "serialize", "node", "doc", "data", "content", "load", "name", "fallbackName", "type", "deserialize", "ancestors", "space", "find", "target", "findLast", "ancestor", "instanceOf", "get", "properties", "pipe", "getOrUndefined", "invokePromise", "OperationInvoker", "createResult", "CreateMarkdown", "object", "undefined", "AddObject"]
7
- }
@@ -1,15 +0,0 @@
1
- import "./chunk-J5LGTIGS.mjs";
2
-
3
- // src/capabilities/blueprint-definition.ts
4
- import * as Effect from "effect/Effect";
5
- import { Capability } from "@dxos/app-framework";
6
- import { AppCapabilities } from "@dxos/app-toolkit";
7
- import { MarkdownBlueprint } from "#blueprints";
8
- var blueprintDefinition = () => Effect.succeed([
9
- Capability.contributes(AppCapabilities.BlueprintDefinition, MarkdownBlueprint)
10
- ]);
11
- var blueprint_definition_default = blueprintDefinition;
12
- export {
13
- blueprint_definition_default as default
14
- };
15
- //# sourceMappingURL=blueprint-definition-DSPXK77L.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/blueprint-definition.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\n\nimport { MarkdownBlueprint } from '#blueprints';\n\n// NOTE: Explicit annotation required: d.ts emit cannot portably name the inferred @dxos/compute types (TS2883).\nconst blueprintDefinition: () => Effect.Effect<\n Capability.Capability<typeof AppCapabilities.BlueprintDefinition>[],\n never,\n Capability.Service\n> = () => Effect.succeed([Capability.contributes(AppCapabilities.BlueprintDefinition, MarkdownBlueprint)]);\n\nexport default blueprintDefinition;\n"],
5
- "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAEhC,SAASC,yBAAyB;AAGlC,IAAMC,sBAIF,MAAaC,eAAQ;EAACJ,WAAWK,YAAYJ,gBAAgBK,qBAAqBJ,iBAAAA;CAAmB;AAEzG,IAAA,+BAAeC;",
6
- "names": ["Effect", "Capability", "AppCapabilities", "MarkdownBlueprint", "blueprintDefinition", "succeed", "contributes", "BlueprintDefinition"]
7
- }
@@ -1,8 +0,0 @@
1
- import {
2
- markdown_blueprint_default
3
- } from "../chunk-LXNSKCPD.mjs";
4
- import "../chunk-J5LGTIGS.mjs";
5
- export {
6
- markdown_blueprint_default as MarkdownBlueprint
7
- };
8
- //# sourceMappingURL=index.mjs.map
@@ -1,30 +0,0 @@
1
- // src/meta.ts
2
- import { Plugin } from "@dxos/app-framework";
3
- import { DXN } from "@dxos/keys";
4
- import { trim } from "@dxos/util";
5
- var meta = Plugin.makeMeta({
6
- key: DXN.make("org.dxos.plugin.markdown"),
7
- name: "Markdown",
8
- author: "DXOS",
9
- description: trim`
10
- A full-featured markdown editor for authoring documents in your space. Edits flow through a collaborative CodeMirror surface backed by ECHO Text, so every keystroke replicates to other peers in real time without merge conflicts or lost work.
11
-
12
- Documents can be opened in source, preview, or read-only mode and rendered as a full-surface article or as embeddable cards. An optional formatting toolbar exposes headings, lists, links, and other common markdown actions, and dispositional toolbar actions contributed by other plugins are surfaced inline alongside it.
13
-
14
- The editor integrates with the rest of the workspace through @ references that link to any ECHO object, image and file uploads stored in the active space, and anchored comment threads on text ranges. Comments can optionally be routed to an AI agent on every message or only on @mention.
15
-
16
- A built-in blueprint exposes create, open, and update operations as tools for AI agents. Updates are applied as compact find-and-replace diffs against the document, making it safe for agents to edit large documents incrementally while you continue collaborating.
17
- `,
18
- icon: "ph--text-aa--regular",
19
- iconHue: "indigo",
20
- source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-markdown",
21
- screenshots: [
22
- "https://customer-5rxcjpyab08avpmn.cloudflarestream.com/cdf2656365bb1fd327c1fc2105d75e5a/iframe?poster=https%3A%2F%2Fcustomer-5rxcjpyab08avpmn.cloudflarestream.com%2Fcdf2656365bb1fd327c1fc2105d75e5a%2Fthumbnails%2Fthumbnail.jpg%3Ftime%3D%26height%3D600",
23
- "https://dxos.network/plugin-details-markdown-dark.png"
24
- ]
25
- });
26
-
27
- export {
28
- meta
29
- };
30
- //# sourceMappingURL=chunk-36QFEVOZ.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/meta.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\nimport { DXN } from '@dxos/keys';\nimport { trim } from '@dxos/util';\n\nexport const meta = Plugin.makeMeta({\n key: DXN.make('org.dxos.plugin.markdown'),\n name: 'Markdown',\n author: 'DXOS',\n description: trim`\n A full-featured markdown editor for authoring documents in your space. Edits flow through a collaborative CodeMirror surface backed by ECHO Text, so every keystroke replicates to other peers in real time without merge conflicts or lost work.\n\n Documents can be opened in source, preview, or read-only mode and rendered as a full-surface article or as embeddable cards. An optional formatting toolbar exposes headings, lists, links, and other common markdown actions, and dispositional toolbar actions contributed by other plugins are surfaced inline alongside it.\n\n The editor integrates with the rest of the workspace through @ references that link to any ECHO object, image and file uploads stored in the active space, and anchored comment threads on text ranges. Comments can optionally be routed to an AI agent on every message or only on @mention.\n\n A built-in blueprint exposes create, open, and update operations as tools for AI agents. Updates are applied as compact find-and-replace diffs against the document, making it safe for agents to edit large documents incrementally while you continue collaborating.\n `,\n icon: 'ph--text-aa--regular',\n iconHue: 'indigo',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-markdown',\n screenshots: [\n 'https://customer-5rxcjpyab08avpmn.cloudflarestream.com/cdf2656365bb1fd327c1fc2105d75e5a/iframe?poster=https%3A%2F%2Fcustomer-5rxcjpyab08avpmn.cloudflarestream.com%2Fcdf2656365bb1fd327c1fc2105d75e5a%2Fthumbnails%2Fthumbnail.jpg%3Ftime%3D%26height%3D600',\n 'https://dxos.network/plugin-details-markdown-dark.png',\n ],\n});\n"],
5
- "mappings": ";AAIA,SAASA,cAAc;AACvB,SAASC,WAAW;AACpB,SAASC,YAAY;AAEd,IAAMC,OAAOH,OAAOI,SAAS;EAClCC,KAAKJ,IAAIK,KAAK,0BAAA;EACdC,MAAM;EACNC,QAAQ;EACRC,aAAaP;;;;;;;;;EASbQ,MAAM;EACNC,SAAS;EACTC,QAAQ;EACRC,aAAa;IACX;IACA;;AAEJ,CAAA;",
6
- "names": ["Plugin", "DXN", "trim", "meta", "makeMeta", "key", "make", "name", "author", "description", "icon", "iconHue", "source", "screenshots"]
7
- }
@@ -1,10 +0,0 @@
1
- // src/paths.ts
2
- import { createTypeSectionPaths } from "@dxos/app-toolkit";
3
- import { Markdown } from "#types";
4
- var { getSectionPath: getDocumentsPath, getObjectPath: getDocumentPath } = createTypeSectionPaths(Markdown.Document);
5
-
6
- export {
7
- getDocumentsPath,
8
- getDocumentPath
9
- };
10
- //# sourceMappingURL=chunk-67DKWOKF.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/paths.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { createTypeSectionPaths } from '@dxos/app-toolkit';\n\nimport { Markdown } from '#types';\n\nconst { getSectionPath: getDocumentsPath, getObjectPath: getDocumentPath } = createTypeSectionPaths(Markdown.Document);\n\nexport { getDocumentsPath, getDocumentPath };\n"],
5
- "mappings": ";AAIA,SAASA,8BAA8B;AAEvC,SAASC,gBAAgB;AAEzB,IAAM,EAAEC,gBAAgBC,kBAAkBC,eAAeC,gBAAe,IAAKL,uBAAuBC,SAASK,QAAQ;",
6
- "names": ["createTypeSectionPaths", "Markdown", "getSectionPath", "getDocumentsPath", "getObjectPath", "getDocumentPath", "Document"]
7
- }
@@ -1,8 +0,0 @@
1
- // src/operations/index.ts
2
- import { OperationHandlerSet } from "@dxos/compute";
3
- var MarkdownOperationHandlerSet = OperationHandlerSet.lazy(() => import("./create-JK35XC4R.mjs"), () => import("./create-markdown-7MLE625M.mjs"), () => import("./open-5YC77C4O.mjs"), () => import("./scroll-to-anchor-GAFB7W55.mjs"), () => import("./set-view-mode-N7UHYMPG.mjs"), () => import("./update-markdown-NNINDDV5.mjs"));
4
-
5
- export {
6
- MarkdownOperationHandlerSet
7
- };
8
- //# sourceMappingURL=chunk-CIJD7P6X.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/blueprints/markdown-blueprint.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Blueprint, Template } from '@dxos/compute';\nimport { trim } from '@dxos/util';\n\nimport { Markdown, MarkdownOperation } from '#types';\n\nconst make = () =>\n Blueprint.make({\n key: Markdown.BLUEPRINT_KEY,\n name: 'Markdown',\n description: 'Work with markdown documents. Preferred over raw database operations.',\n tools: Blueprint.toolDefinitions({\n operations: [MarkdownOperation.Create, MarkdownOperation.Open, MarkdownOperation.Update],\n }),\n instructions: Template.make({\n // TODO(wittjosiah): Move example to function input schema annotation.\n source: trim`\n {{! Markdown }}\n\n You can create, read 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\n Example:\n ${'```'}diff\n - \"There is a tyop in this sentence.\"\n + \"There is a typo in this sentence.\"\n - \"This id good.\"\n + \"This sentence is really good.\"\n ${'```'}\n `,\n }),\n });\n\nconst blueprint: Blueprint.Definition = {\n key: Markdown.BLUEPRINT_KEY,\n make,\n};\n\nexport default blueprint;\n"],
5
- "mappings": ";AAIA,SAASA,WAAWC,gBAAgB;AACpC,SAASC,YAAY;AAErB,SAASC,UAAUC,yBAAyB;AAE5C,IAAMC,OAAO,MACXL,UAAUK,KAAK;EACbC,KAAKH,SAASI;EACdC,MAAM;EACNC,aAAa;EACbC,OAAOV,UAAUW,gBAAgB;IAC/BC,YAAY;MAACR,kBAAkBS;MAAQT,kBAAkBU;MAAMV,kBAAkBW;;EACnF,CAAA;EACAC,cAAcf,SAASI,KAAK;;IAE1BY,QAAQf;;;;;;;;UAQJ,KAAA;;;;;UAKA,KAAA;;EAEN,CAAA;AACF,CAAA;AAEF,IAAMgB,YAAkC;EACtCZ,KAAKH,SAASI;EACdF;AACF;AAEA,IAAA,6BAAea;",
6
- "names": ["Blueprint", "Template", "trim", "Markdown", "MarkdownOperation", "make", "key", "BLUEPRINT_KEY", "name", "description", "tools", "toolDefinitions", "operations", "Create", "Open", "Update", "instructions", "source", "blueprint"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/Markdown.ts", "../../../src/types/Settings.ts", "../../../src/types/MarkdownCapabilities.ts", "../../../src/types/MarkdownEvents.ts", "../../../src/types/MarkdownOperation.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { BlueprintsAnnotation, GraphPropsAnnotation } from '@dxos/app-toolkit';\nimport { DXN, Annotation, Obj, Ref, Type } from '@dxos/echo';\nimport { DescriptionAnnotation, FormInputAnnotation, LabelAnnotation } from '@dxos/echo/Annotation';\nimport { Text } from '@dxos/schema';\n\nexport const BLUEPRINT_KEY = 'org.dxos.blueprint.markdown';\n\n// Re-export Settings as merged const/type (not as namespace).\nimport * as SettingsModule from './Settings';\nexport const Settings = SettingsModule.Settings;\nexport type Settings = SettingsModule.Settings;\n\n/**\n * Document Item type.\n */\nexport const Document = Schema.Struct({\n name: Schema.optional(Schema.String),\n description: Schema.optional(Schema.String),\n fallbackName: Schema.String.pipe(FormInputAnnotation.set(false), Schema.optional),\n content: Ref.Ref(Text.Text).pipe(FormInputAnnotation.set(false)),\n}).pipe(\n LabelAnnotation.set(['name', 'fallbackName']),\n DescriptionAnnotation.set('description'),\n Annotation.IconAnnotation.set({ icon: 'ph--text-aa--regular', hue: 'indigo' }),\n BlueprintsAnnotation.set([BLUEPRINT_KEY]),\n GraphPropsAnnotation.set({ managesAutofocus: true }),\n Type.makeObject(DXN.make('org.dxos.type.document', '0.1.0')),\n);\n\nexport type Document = Type.InstanceType<typeof Document>;\n\n/**\n * Document factory.\n */\nexport const make = ({\n content = '',\n ...props\n}: Partial<{ name: string; fallbackName: string; content: string }> = {}) => {\n const doc = Obj.make(Document, { ...props, content: Ref.make(Text.make({ content })) });\n // TODO(dmaretskyi): We need a better way to set parents when creating hierarchies.\n Obj.setParent(doc.content.target!, doc);\n return doc;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { EditorInputMode, EditorViewMode } from '@dxos/ui-editor/types';\n\n/**\n * Determines how new comment threads on markdown documents are wired up to\n * the comment-thread AI agent (plugin-thread). The agent's identity (name,\n * DID) is resolved at runtime via the AgentIdentity capability — this\n * setting only controls whether and when the agent fires.\n *\n * - `off`: comments are plain user-only threads (no agent).\n * - `auto`: every user message in a thread triggers an agent response.\n * - `mention`: agent only responds when the message contains `@{agentName}`.\n */\nexport const CommentAgentMode = Schema.Union(Schema.Literal('off'), Schema.Literal('auto'), Schema.Literal('mention'));\nexport type CommentAgentMode = Schema.Schema.Type<typeof CommentAgentMode>;\n\n/**\n * Plugin settings.\n */\nexport const Settings = Schema.mutable(\n Schema.Struct({\n defaultViewMode: EditorViewMode.annotations({\n title: 'Default view mode',\n description: 'Set whether documents open in editing or read-only mode.',\n }),\n commentAgentMode: Schema.optional(\n CommentAgentMode.annotations({\n title: 'Comment agent mode',\n description:\n \"How new comment threads on markdown documents are processed: 'off' (no AI), 'auto' (AI responds to every user message), or 'mention' (AI responds only on @mention).\",\n }),\n ),\n editorInputMode: Schema.optional(\n EditorInputMode.annotations({\n title: 'Editor input mode',\n description: 'Choose keyboard bindings for the editor.',\n }),\n ),\n toolbar: Schema.optional(\n Schema.Boolean.annotations({\n title: 'Show toolbar',\n description: 'Display a formatting toolbar above the editor.',\n }),\n ),\n numberedHeadings: Schema.optional(\n Schema.Boolean.annotations({\n title: 'Numbered headings',\n description: 'Automatically number heading levels in the document.',\n }),\n ),\n folding: Schema.optional(\n Schema.Boolean.annotations({\n title: 'Folding',\n description: 'Allow collapsing and expanding sections by heading.',\n }),\n ),\n experimental: Schema.optional(\n Schema.Boolean.annotations({\n title: 'Enable experimental features',\n description: 'Turn on features that are still in development.',\n }),\n ),\n debug: Schema.optional(\n Schema.Boolean.annotations({\n title: 'Enable debugging features',\n description: 'Show developer tools and diagnostics for the editor.',\n }),\n ),\n snippets: Schema.optional(\n Schema.String.annotations({\n title: 'Snippets',\n description: 'Input snippets to replay for testing purposes.',\n }),\n ),\n }),\n);\n\nexport interface Settings extends Schema.Schema.Type<typeof Settings> {}\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport { type EditorView } from '@codemirror/view';\nimport { type Atom } from '@effect-atom/atom-react';\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { type EditorStateStore } from '@dxos/ui-editor';\nimport { type EditorViewMode } from '@dxos/ui-editor/types';\n\nimport { meta } from '#meta';\n\nimport type * as Markdown from './Markdown';\nimport { type MarkdownExtensionProvider } from './types';\n\n/** Schema for persisted markdown state. */\nexport const StateSchema = Schema.mutable(\n Schema.Struct({\n viewMode: Schema.Record({ key: Schema.String, value: Schema.String }),\n }),\n);\n\nexport type MarkdownState = {\n viewMode: Record<string, EditorViewMode>;\n};\n\nexport type EditorViewEntry = { view: EditorView; documentId: string };\n\nexport type EditorViewRegistry = {\n register: (attendableId: string, view: EditorView, documentId: string) => void;\n unregister: (attendableId: string) => void;\n get: (attendableId: string) => EditorViewEntry | undefined;\n};\n\nexport const Settings = Capability.make<Atom.Writable<Markdown.Settings>>(`${meta.id}.capability.settings`);\n\n/** Persisted state atom for view mode per document. */\nexport const State = Capability.make<Atom.Writable<MarkdownState>>(`${meta.id}.capability.state`);\n\n/** Editor state store for cursor positions, scroll state, etc. */\nexport const EditorState = Capability.make<EditorStateStore>(`${meta.id}.capability.editor-state`);\n\n/** Registry of active EditorView instances keyed by attendable ID. */\nexport const EditorViews = Capability.make<EditorViewRegistry>(`${meta.id}.capability.editor-views`);\n\n// TODO(burdon): Move to ./types (external API)?\nexport const ExtensionProvider = Capability.make<MarkdownExtensionProvider[]>(`${meta.id}.capability.extensions`);\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport { type ActivationEvent } from '@dxos/app-framework';\nimport { AppActivationEvents } from '@dxos/app-toolkit';\n\nimport { meta } from '#meta';\n\nexport const SetupExtensions: ActivationEvent.ActivationEvent = AppActivationEvents.createStateEvent(\n `${meta.id}.event.setup-extensions`,\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Operation } from '@dxos/compute';\nimport { Database, Ref, Type, DXN } from '@dxos/echo';\nimport { EditorViewMode } from '@dxos/ui-editor/types';\nimport { trim } from '@dxos/util';\n\nimport { meta } from '#meta';\n\nimport * as Markdown from './Markdown';\n\nconst makeKey = (name: string) => DXN.make(`${meta.id}.operation.${name}`);\n\nconst Edit = Schema.Struct({\n oldString: Schema.String.annotations({\n description: 'The text to find in the document.',\n }),\n newString: Schema.String.annotations({\n description: 'The text to replace it with.',\n }),\n replaceAll: Schema.optional(Schema.Boolean).annotations({\n description: 'If true, replaces all occurrences. Defaults to false (first occurrence only).',\n }),\n});\n\nexport const Create = Operation.make({\n meta: {\n key: DXN.make('org.dxos.function.markdown.create'),\n name: 'Create',\n description: 'Creates a new markdown document and adds it to the space.',\n icon: 'ph--file-text--regular',\n },\n input: Schema.Struct({\n name: Schema.String,\n content: Schema.String,\n }),\n output: Schema.Struct({\n id: Schema.String.annotations({\n description: 'The DXN of the created document.',\n }),\n }),\n services: [Database.Service],\n});\n\nexport const CreateMarkdown = Operation.make({\n meta: {\n key: makeKey('create'),\n name: 'Create Markdown Document',\n icon: 'ph--file-text--regular',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n content: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: Type.getSchema(Markdown.Document),\n }),\n});\n\nexport const Open = Operation.make({\n meta: {\n key: DXN.make('org.dxos.function.markdown.open'),\n name: 'Open',\n description: 'Opens and reads the contents of a new markdown document.',\n icon: 'ph--arrow-square-out--regular',\n },\n input: Schema.Struct({\n doc: Ref.Ref(Markdown.Document).annotations({\n description: 'The ID of the markdown document.',\n }),\n }),\n output: Schema.Struct({\n content: Schema.String,\n }),\n services: [Database.Service],\n});\n\nexport const ScrollToAnchor = Operation.make({\n meta: {\n key: makeKey('scrollToAnchor'),\n name: 'Scroll To Anchor',\n icon: 'ph--anchor-simple--regular',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n subject: Schema.String.annotations({ description: 'Attendable ID of the markdown editor.' }),\n cursor: Schema.String.annotations({ description: 'Cursor position to scroll to.' }),\n ref: Schema.optional(Schema.String.annotations({ description: 'Reference ID (e.g. thread ID).' })),\n }),\n output: Schema.Void,\n});\n\n// TODO(wittjosiah): This appears to be unused.\nexport const SetViewMode = Operation.make({\n meta: { key: makeKey('setViewMode'), name: 'Set View Mode', icon: 'ph--layout--regular' },\n services: [Capability.Service],\n input: Schema.Struct({\n id: Schema.String,\n viewMode: EditorViewMode,\n }),\n output: Schema.Void,\n});\n\nexport const Update = Operation.make({\n meta: {\n key: DXN.make('org.dxos.function.markdown.update'),\n name: 'Update',\n description: trim`\n Applies a set of edits to the markdown document.\n `,\n icon: 'ph--pencil-simple--regular',\n },\n input: Schema.Struct({\n doc: Ref.Ref(Markdown.Document).annotations({\n description: 'The ID of the markdown document.',\n }),\n edits: Schema.Array(Edit).annotations({\n description: 'The edits to apply to the document. Each edit finds oldString and replaces it with newString.',\n }),\n }),\n output: Schema.Struct({\n newContent: Schema.String,\n }),\n services: [Database.Service],\n});\n"],
5
- "mappings": "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",
6
- "names": ["Settings", "Schema", "BlueprintsAnnotation", "GraphPropsAnnotation", "DXN", "Annotation", "Obj", "Ref", "Type", "DescriptionAnnotation", "FormInputAnnotation", "LabelAnnotation", "Text", "Schema", "EditorInputMode", "EditorViewMode", "CommentAgentMode", "Union", "Literal", "Settings", "mutable", "Struct", "defaultViewMode", "annotations", "title", "description", "commentAgentMode", "optional", "editorInputMode", "toolbar", "Boolean", "numberedHeadings", "folding", "experimental", "debug", "snippets", "String", "BLUEPRINT_KEY", "Settings", "Document", "Struct", "name", "optional", "String", "description", "fallbackName", "pipe", "FormInputAnnotation", "set", "content", "Ref", "Text", "LabelAnnotation", "DescriptionAnnotation", "Annotation", "IconAnnotation", "icon", "hue", "BlueprintsAnnotation", "GraphPropsAnnotation", "managesAutofocus", "Type", "makeObject", "DXN", "make", "props", "doc", "Obj", "setParent", "target", "Settings", "Schema", "Capability", "meta", "StateSchema", "mutable", "Struct", "viewMode", "Record", "key", "String", "value", "make", "id", "State", "EditorState", "EditorViews", "ExtensionProvider", "AppActivationEvents", "meta", "SetupExtensions", "createStateEvent", "id", "Schema", "Capability", "Operation", "Database", "Ref", "Type", "DXN", "EditorViewMode", "trim", "meta", "makeKey", "name", "DXN", "make", "meta", "id", "Edit", "Struct", "oldString", "String", "annotations", "description", "newString", "replaceAll", "optional", "Boolean", "Create", "Operation", "key", "icon", "input", "content", "output", "services", "Database", "Service", "CreateMarkdown", "Capability", "object", "Type", "getSchema", "Document", "Open", "doc", "Ref", "ScrollToAnchor", "subject", "cursor", "ref", "Void", "SetViewMode", "viewMode", "EditorViewMode", "Update", "trim", "edits", "Array", "newContent"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/comment-config.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { Type } from '@dxos/echo';\nimport { createDocAccessor, getTextInRange } from '@dxos/echo-client';\n\nimport { MarkdownOperation } from '#types';\nimport { Markdown } from '#types';\n\n// NOTE: Explicit annotation required: d.ts emit cannot portably name the inferred @dxos/compute types (TS2883).\nconst activate: () => Effect.Effect<\n Capability.Capability<typeof AppCapabilities.CommentConfig>,\n never,\n Capability.Service\n> = Effect.fnUntraced(function* () {\n const config: AppCapabilities.CommentConfig = {\n id: Type.getTypename(Markdown.Document),\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 scrollToAnchor: MarkdownOperation.ScrollToAnchor,\n };\n return Capability.contributes(AppCapabilities.CommentConfig, config);\n});\n\nexport default activate;\n"],
5
- "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SAASC,YAAY;AACrB,SAASC,mBAAmBC,sBAAsB;AAElD,SAASC,yBAAyB;AAClC,SAASC,gBAAgB;AAGzB,IAAMC,WAIKC,kBAAW,aAAA;AACpB,QAAMC,SAAwC;IAC5CC,IAAIR,KAAKS,YAAYL,SAASM,QAAQ;IACtCC,UAAU;IACVC,eAAe;IACfC,gBAAgB,CAACC,KAAwBC,WAAAA;AACvC,UAAID,IAAIE,SAAS;AACf,cAAM,CAACC,OAAOC,GAAAA,IAAOH,OAAOI,MAAM,GAAA;AAClC,eAAOjB,eAAeD,kBAAkBa,IAAIE,QAAQI,QAAS;UAAC;SAAU,GAAGH,OAAOC,GAAAA;MACpF;IACF;IACAG,gBAAgBlB,kBAAkBmB;EACpC;AACA,SAAOxB,WAAWyB,YAAYxB,gBAAgByB,eAAejB,MAAAA;AAC/D,CAAA;AAEA,IAAA,yBAAeF;",
6
- "names": ["Effect", "Capability", "AppCapabilities", "Type", "createDocAccessor", "getTextInRange", "MarkdownOperation", "Markdown", "activate", "fnUntraced", "config", "id", "getTypename", "Document", "comments", "selectionMode", "getAnchorLabel", "doc", "anchor", "content", "start", "end", "split", "target", "scrollToAnchor", "ScrollToAnchor", "contributes", "CommentConfig"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/create-object.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Operation } from '@dxos/compute';\nimport { Type } from '@dxos/echo';\nimport { SpaceOperation } from '@dxos/plugin-space';\nimport { SpaceCapabilities } from '@dxos/plugin-space';\n\nimport { Markdown } from '#types';\n\nimport { getDocumentsPath } from '../paths';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n return Capability.contributes(SpaceCapabilities.CreateObjectEntry, {\n id: Type.getTypename(Markdown.Document),\n createObject: (props, options) =>\n Effect.gen(function* () {\n const object = Markdown.make(props);\n return yield* Operation.invoke(SpaceOperation.AddObject, {\n object,\n target: options.target,\n hidden: true,\n targetNodeId: options.targetNodeId ?? getDocumentsPath(options.db.spaceId),\n });\n }),\n });\n }),\n);\n"],
5
- "mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAC1B,SAASC,YAAY;AACrB,SAASC,sBAAsB;AAC/B,SAASC,yBAAyB;AAElC,SAASC,gBAAgB;AAIzB,IAAA,wBAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAChB,SAAOF,WAAWG,YAAYC,kBAAkBC,mBAAmB;IACjEC,IAAIC,KAAKC,YAAYC,SAASC,QAAQ;IACtCC,cAAc,CAACC,OAAOC,YACbC,WAAI,aAAA;AACT,YAAMC,SAASN,SAASO,KAAKJ,KAAAA;AAC7B,aAAO,OAAOK,UAAUC,OAAOC,eAAeC,WAAW;QACvDL;QACAM,QAAQR,QAAQQ;QAChBC,QAAQ;QACRC,cAAcV,QAAQU,gBAAgBC,iBAAiBX,QAAQY,GAAGC,OAAO;MAC3E,CAAA;IACF,CAAA;EACJ,CAAA;AACF,CAAA,CAAA;",
6
- "names": ["Effect", "Capability", "Operation", "Type", "SpaceOperation", "SpaceCapabilities", "Markdown", "Capability", "makeModule", "fnUntraced", "contributes", "SpaceCapabilities", "CreateObjectEntry", "id", "Type", "getTypename", "Markdown", "Document", "createObject", "props", "options", "gen", "object", "make", "Operation", "invoke", "SpaceOperation", "AddObject", "target", "hidden", "targetNodeId", "getDocumentsPath", "db", "spaceId"]
7
- }
@@ -1,14 +0,0 @@
1
- import "./chunk-J5LGTIGS.mjs";
2
-
3
- // src/capabilities/navigation-resolver.ts
4
- import * as Effect from "effect/Effect";
5
- import { Capability } from "@dxos/app-framework";
6
- import { AppCapabilities, createTypeSectionPathResolver } from "@dxos/app-toolkit";
7
- import { Markdown } from "#types";
8
- var navigation_resolver_default = Capability.makeModule(Effect.fnUntraced(function* () {
9
- return Capability.contributes(AppCapabilities.NavigationPathResolver, createTypeSectionPathResolver(Markdown.Document));
10
- }));
11
- export {
12
- navigation_resolver_default as default
13
- };
14
- //# sourceMappingURL=navigation-resolver-3KBOMN4U.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/navigation-resolver.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities, createTypeSectionPathResolver } from '@dxos/app-toolkit';\n\nimport { Markdown } from '#types';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n return Capability.contributes(\n AppCapabilities.NavigationPathResolver,\n createTypeSectionPathResolver(Markdown.Document),\n );\n }),\n);\n"],
5
- "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiBC,qCAAqC;AAE/D,SAASC,gBAAgB;AAEzB,IAAA,8BAAeH,WAAWI,WACjBC,kBAAW,aAAA;AAChB,SAAOL,WAAWM,YAChBL,gBAAgBM,wBAChBL,8BAA8BC,SAASK,QAAQ,CAAA;AAEnD,CAAA,CAAA;",
6
- "names": ["Effect", "Capability", "AppCapabilities", "createTypeSectionPathResolver", "Markdown", "makeModule", "fnUntraced", "contributes", "NavigationPathResolver", "Document"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-surface.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React, { forwardRef, useCallback, useMemo } from 'react';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport {\n Surface,\n useAtomCapability,\n useAtomCapabilityState,\n useCapabilities,\n useCapability,\n useSettingsState,\n} from '@dxos/app-framework/ui';\nimport { AppSurface } from '@dxos/app-toolkit/ui';\nimport { Obj } from '@dxos/echo';\nimport { AttentionCapabilities } from '@dxos/plugin-attention';\nimport { Text } from '@dxos/schema';\nimport { type EditorViewMode } from '@dxos/ui-editor/types';\n\nimport { MarkdownSettings } from '#components';\nimport { MarkdownCard, EditableMarkdownCard, MarkdownArticle, type MarkdownArticleProps } from '#containers';\nimport { meta } from '#meta';\nimport { Markdown, MarkdownCapabilities } from '#types';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(Capabilities.ReactSurface, [\n Surface.create({\n id: 'surface.document',\n // TODO(wittjosiah): Split into multiple surfaces if this filter proves too strict for non-article roles.\n role: ['article', 'section', 'tabpanel'],\n filter: (data): data is { subject: Markdown.Document; attendableId: string; variant: undefined } =>\n typeof data.attendableId === 'string' && Obj.instanceOf(Markdown.Document, data.subject) && !data.variant,\n component: ({ data, role, ref }) => {\n return (\n <Container\n id={Obj.getURI(data.subject)}\n attendableId={data.attendableId}\n subject={data.subject}\n role={role}\n ref={ref}\n />\n );\n },\n }),\n Surface.create({\n id: 'surface.text',\n // TODO(wittjosiah): Split into multiple surfaces if this filter proves too strict for non-article roles.\n // TODO(burdon): Why is attendableId required? See EventArticle.tsx\n filter: AppSurface.oneOf(\n AppSurface.object(AppSurface.Article, Text.Text),\n AppSurface.object(AppSurface.Section, Text.Text),\n AppSurface.object(AppSurface.Tabpanel, Text.Text),\n ),\n component: ({ data, role, ref }) => {\n return (\n <Container\n id={Obj.getURI(data.subject)}\n attendableId={data.attendableId}\n subject={data.subject}\n role={role}\n ref={ref}\n />\n );\n },\n }),\n Surface.create({\n id: 'surface.pluginSettings',\n filter: AppSurface.settings(AppSurface.Article, meta.id),\n component: ({ data: { subject } }) => {\n const { settings, updateSettings } = useSettingsState<Markdown.Settings>(subject.atom);\n return <MarkdownSettings settings={settings} onSettingsChange={updateSettings} />;\n },\n }),\n Surface.create({\n id: 'surface.editable',\n position: 'first',\n filter: AppSurface.object(AppSurface.Card, [Markdown.Document, Text.Text], (data) => data.editable === true),\n component: ({ data }) => <EditableMarkdownCard subject={data.subject} />,\n }),\n Surface.create({\n id: 'surface.preview',\n filter: AppSurface.object(AppSurface.Card, [Markdown.Document, Text.Text], (data) => data.editable !== true),\n component: ({ data }) => <MarkdownCard {...data} />,\n }),\n ]),\n ),\n);\n\n/**\n * Common wrapper.\n */\nconst Container = forwardRef<\n HTMLDivElement,\n AppSurface.ObjectArticleProps<Markdown.Document | Text.Text, { id: string }>\n>(({ id, attendableId, subject, role }, forwardedRef) => {\n const selectionManager = useCapability(AttentionCapabilities.Selection);\n const settings = useAtomCapability(MarkdownCapabilities.Settings);\n const [state, setState] = useAtomCapabilityState(MarkdownCapabilities.State);\n const editorState = useCapability(MarkdownCapabilities.EditorState);\n const extensions = useCapabilities(MarkdownCapabilities.ExtensionProvider);\n const extensionProviders = useMemo(() => extensions.flat(), [extensions]);\n\n const viewMode: EditorViewMode = (id && state.viewMode[id]) || settings?.defaultViewMode || 'source';\n const handleViewModeChange = useCallback<NonNullable<MarkdownArticleProps['onViewModeChange']>>(\n (mode) => setState((current) => ({ ...current, viewMode: { ...current.viewMode, [id]: mode } })),\n [id, setState],\n );\n\n return (\n <MarkdownArticle\n role={role}\n subject={subject}\n id={id}\n attendableId={attendableId}\n settings={settings}\n selectionManager={selectionManager}\n extensionProviders={extensionProviders}\n editorStateStore={editorState}\n viewMode={viewMode}\n onViewModeChange={handleViewModeChange}\n ref={forwardedRef}\n />\n );\n});\n"],
5
- "mappings": "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",
6
- "names": ["Effect", "React", "forwardRef", "useCallback", "useMemo", "Capabilities", "Capability", "Surface", "useAtomCapability", "useAtomCapabilityState", "useCapabilities", "useCapability", "useSettingsState", "AppSurface", "Obj", "AttentionCapabilities", "Text", "MarkdownSettings", "MarkdownCard", "EditableMarkdownCard", "MarkdownArticle", "meta", "Markdown", "MarkdownCapabilities", "makeModule", "succeed", "contributes", "ReactSurface", "create", "id", "role", "filter", "data", "attendableId", "instanceOf", "Document", "subject", "variant", "component", "ref", "Container", "getURI", "oneOf", "object", "Article", "Section", "Tabpanel", "settings", "updateSettings", "atom", "onSettingsChange", "position", "Card", "editable", "forwardedRef", "selectionManager", "Selection", "Settings", "state", "setState", "State", "editorState", "EditorState", "extensions", "ExtensionProvider", "extensionProviders", "flat", "viewMode", "defaultViewMode", "handleViewModeChange", "mode", "current", "editorStateStore", "onViewModeChange"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/settings.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { createKvsStore } from '@dxos/effect';\n\nimport { meta } from '#meta';\nimport { Markdown, MarkdownCapabilities } from '#types';\n\nexport default Capability.makeModule(() =>\n Effect.sync(() => {\n const settingsAtom = createKvsStore({\n key: meta.id,\n schema: Markdown.Settings,\n defaultValue: () => ({\n defaultViewMode: 'preview' as const,\n toolbar: true,\n numberedHeadings: true,\n folding: true,\n experimental: false,\n }),\n });\n\n return [\n Capability.contributes(MarkdownCapabilities.Settings, settingsAtom),\n Capability.contributes(AppCapabilities.Settings, {\n prefix: meta.id,\n schema: Markdown.Settings,\n atom: settingsAtom,\n }),\n ];\n }),\n);\n"],
5
- "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SAASC,sBAAsB;AAE/B,SAASC,YAAY;AACrB,SAASC,UAAUC,4BAA4B;AAE/C,IAAA,mBAAeL,WAAWM,WAAW,MAC5BC,YAAK,MAAA;AACV,QAAMC,eAAeN,eAAe;IAClCO,KAAKN,KAAKO;IACVC,QAAQP,SAASQ;IACjBC,cAAc,OAAO;MACnBC,iBAAiB;MACjBC,SAAS;MACTC,kBAAkB;MAClBC,SAAS;MACTC,cAAc;IAChB;EACF,CAAA;AAEA,SAAO;IACLlB,WAAWmB,YAAYd,qBAAqBO,UAAUJ,YAAAA;IACtDR,WAAWmB,YAAYlB,gBAAgBW,UAAU;MAC/CQ,QAAQjB,KAAKO;MACbC,QAAQP,SAASQ;MACjBS,MAAMb;IACR,CAAA;;AAEJ,CAAA,CAAA;",
6
- "names": ["Effect", "Capability", "AppCapabilities", "createKvsStore", "meta", "Markdown", "MarkdownCapabilities", "makeModule", "sync", "settingsAtom", "key", "id", "schema", "Settings", "defaultValue", "defaultViewMode", "toolbar", "numberedHeadings", "folding", "experimental", "contributes", "prefix", "atom"]
7
- }
@@ -1,44 +0,0 @@
1
- import "./chunk-J5LGTIGS.mjs";
2
-
3
- // src/capabilities/state.ts
4
- import * as Effect from "effect/Effect";
5
- import { Capability } from "@dxos/app-framework";
6
- import { createKvsStore } from "@dxos/effect";
7
- import { createEditorStateStore } from "@dxos/ui-editor";
8
- import { meta } from "#meta";
9
- import { MarkdownCapabilities } from "#types";
10
- var createEditorViewRegistry = () => {
11
- const views = /* @__PURE__ */ new Map();
12
- return {
13
- register: (attendableId, view, documentId) => {
14
- views.set(attendableId, {
15
- view,
16
- documentId
17
- });
18
- },
19
- unregister: (attendableId) => {
20
- views.delete(attendableId);
21
- },
22
- get: (attendableId) => views.get(attendableId)
23
- };
24
- };
25
- var state_default = Capability.makeModule(Effect.fnUntraced(function* () {
26
- const stateAtom = createKvsStore({
27
- key: `${meta.id}.state`,
28
- schema: MarkdownCapabilities.StateSchema,
29
- defaultValue: () => ({
30
- viewMode: {}
31
- })
32
- });
33
- const editorState = createEditorStateStore(`${meta.id}.editor`);
34
- const editorViews = createEditorViewRegistry();
35
- return [
36
- Capability.contributes(MarkdownCapabilities.State, stateAtom),
37
- Capability.contributes(MarkdownCapabilities.EditorState, editorState),
38
- Capability.contributes(MarkdownCapabilities.EditorViews, editorViews)
39
- ];
40
- }));
41
- export {
42
- state_default as default
43
- };
44
- //# sourceMappingURL=state-5COCF5PN.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/state.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { createKvsStore } from '@dxos/effect';\nimport { createEditorStateStore } from '@dxos/ui-editor';\n\nimport { meta } from '#meta';\nimport { MarkdownCapabilities } from '#types';\n\nconst createEditorViewRegistry = (): MarkdownCapabilities.EditorViewRegistry => {\n const views = new Map<string, MarkdownCapabilities.EditorViewEntry>();\n return {\n register: (attendableId, view, documentId) => {\n views.set(attendableId, { view, documentId });\n },\n unregister: (attendableId) => {\n views.delete(attendableId);\n },\n get: (attendableId) => views.get(attendableId),\n };\n};\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n // Persisted state using KVS store.\n const stateAtom = createKvsStore({\n key: `${meta.id}.state`,\n schema: MarkdownCapabilities.StateSchema,\n defaultValue: () => ({ viewMode: {} }),\n });\n\n // TODO(wittjosiah): Fold into state.\n const editorState = createEditorStateStore(`${meta.id}.editor`);\n\n const editorViews = createEditorViewRegistry();\n\n return [\n Capability.contributes(MarkdownCapabilities.State, stateAtom),\n Capability.contributes(MarkdownCapabilities.EditorState, editorState),\n Capability.contributes(MarkdownCapabilities.EditorViews, editorViews),\n ];\n }),\n);\n"],
5
- "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,sBAAsB;AAC/B,SAASC,8BAA8B;AAEvC,SAASC,YAAY;AACrB,SAASC,4BAA4B;AAErC,IAAMC,2BAA2B,MAAA;AAC/B,QAAMC,QAAQ,oBAAIC,IAAAA;AAClB,SAAO;IACLC,UAAU,CAACC,cAAcC,MAAMC,eAAAA;AAC7BL,YAAMM,IAAIH,cAAc;QAAEC;QAAMC;MAAW,CAAA;IAC7C;IACAE,YAAY,CAACJ,iBAAAA;AACXH,YAAMQ,OAAOL,YAAAA;IACf;IACAM,KAAK,CAACN,iBAAiBH,MAAMS,IAAIN,YAAAA;EACnC;AACF;AAEA,IAAA,gBAAeT,WAAWgB,WACjBC,kBAAW,aAAA;AAEhB,QAAMC,YAAYjB,eAAe;IAC/BkB,KAAK,GAAGhB,KAAKiB,EAAE;IACfC,QAAQjB,qBAAqBkB;IAC7BC,cAAc,OAAO;MAAEC,UAAU,CAAC;IAAE;EACtC,CAAA;AAGA,QAAMC,cAAcvB,uBAAuB,GAAGC,KAAKiB,EAAE,SAAS;AAE9D,QAAMM,cAAcrB,yBAAAA;AAEpB,SAAO;IACLL,WAAW2B,YAAYvB,qBAAqBwB,OAAOV,SAAAA;IACnDlB,WAAW2B,YAAYvB,qBAAqByB,aAAaJ,WAAAA;IACzDzB,WAAW2B,YAAYvB,qBAAqB0B,aAAaJ,WAAAA;;AAE7D,CAAA,CAAA;",
6
- "names": ["Effect", "Capability", "createKvsStore", "createEditorStateStore", "meta", "MarkdownCapabilities", "createEditorViewRegistry", "views", "Map", "register", "attendableId", "view", "documentId", "set", "unregister", "delete", "get", "makeModule", "fnUntraced", "stateAtom", "key", "id", "schema", "StateSchema", "defaultValue", "viewMode", "editorState", "editorViews", "contributes", "State", "EditorState", "EditorViews"]
7
- }
@@ -1,44 +0,0 @@
1
- import {
2
- MarkdownOperation_exports
3
- } from "./chunk-Y2LQRUU7.mjs";
4
- import "./chunk-J5LGTIGS.mjs";
5
-
6
- // src/operations/update-markdown.ts
7
- import { next as A } from "@automerge/automerge";
8
- import * as Effect from "effect/Effect";
9
- import { Operation } from "@dxos/compute";
10
- import { Database } from "@dxos/echo";
11
- import { DocAccessor, createDocAccessor } from "@dxos/echo-client";
12
- var handler = MarkdownOperation_exports.Update.pipe(Operation.withHandler(Effect.fn(function* ({ doc, edits }) {
13
- const content = yield* doc.pipe(Database.load, Effect.map((_) => _.content), Effect.flatMap(Database.load));
14
- const accessor = createDocAccessor(content, [
15
- "content"
16
- ]);
17
- for (const edit of edits) {
18
- accessor.handle.change((doc2) => {
19
- const text = DocAccessor.getValue(accessor);
20
- if (edit.replaceAll) {
21
- let idx = text.indexOf(edit.oldString);
22
- while (idx !== -1) {
23
- A.splice(doc2, accessor.path, idx, edit.oldString.length, edit.newString);
24
- const updated = DocAccessor.getValue(accessor);
25
- idx = updated.indexOf(edit.oldString, idx + edit.newString.length);
26
- }
27
- } else {
28
- const idx = text.indexOf(edit.oldString);
29
- if (idx === -1) {
30
- throw new Error(`Edit not found: ${JSON.stringify(edit.oldString)}`);
31
- }
32
- A.splice(doc2, accessor.path, idx, edit.oldString.length, edit.newString);
33
- }
34
- });
35
- }
36
- return {
37
- newContent: DocAccessor.getValue(accessor)
38
- };
39
- })));
40
- var update_markdown_default = handler;
41
- export {
42
- update_markdown_default as default
43
- };
44
- //# sourceMappingURL=update-markdown-NNINDDV5.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/operations/update-markdown.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { next as A, type Doc } from '@automerge/automerge';\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { Database } from '@dxos/echo';\nimport { DocAccessor, createDocAccessor } from '@dxos/echo-client';\n\nimport { MarkdownOperation } from '../types';\n\nconst handler: Operation.WithHandler<typeof MarkdownOperation.Update> = MarkdownOperation.Update.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ doc, edits }) {\n const content = yield* doc.pipe(\n Database.load,\n Effect.map((_) => _.content),\n Effect.flatMap(Database.load),\n );\n const accessor = createDocAccessor(content, ['content']);\n\n for (const edit of edits) {\n accessor.handle.change((doc: Doc<typeof content>) => {\n const text = DocAccessor.getValue<string>(accessor);\n if (edit.replaceAll) {\n let idx = text.indexOf(edit.oldString);\n while (idx !== -1) {\n A.splice(doc, accessor.path as A.Prop[], idx, edit.oldString.length, edit.newString);\n const updated = DocAccessor.getValue<string>(accessor);\n idx = updated.indexOf(edit.oldString, idx + edit.newString.length);\n }\n } else {\n const idx = text.indexOf(edit.oldString);\n if (idx === -1) {\n throw new Error(`Edit not found: ${JSON.stringify(edit.oldString)}`);\n }\n A.splice(doc, accessor.path as A.Prop[], idx, edit.oldString.length, edit.newString);\n }\n });\n }\n\n return {\n newContent: DocAccessor.getValue<string>(accessor),\n };\n }),\n ),\n);\n\nexport default handler;\n"],
5
- "mappings": ";;;;;;AAIA,SAASA,QAAQC,SAAmB;AACpC,YAAYC,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AACzB,SAASC,aAAaC,yBAAyB;AAI/C,IAAMC,UAAkEC,0BAAkBC,OAAOC,KAC/FC,UAAUC,YACDC,UAAG,WAAW,EAAEC,KAAKC,MAAK,GAAE;AACjC,QAAMC,UAAU,OAAOF,IAAIJ,KACzBO,SAASC,MACFC,WAAI,CAACC,MAAMA,EAAEJ,OAAO,GACpBK,eAAQJ,SAASC,IAAI,CAAA;AAE9B,QAAMI,WAAWC,kBAAkBP,SAAS;IAAC;GAAU;AAEvD,aAAWQ,QAAQT,OAAO;AACxBO,aAASG,OAAOC,OAAO,CAACZ,SAAAA;AACtB,YAAMa,OAAOC,YAAYC,SAAiBP,QAAAA;AAC1C,UAAIE,KAAKM,YAAY;AACnB,YAAIC,MAAMJ,KAAKK,QAAQR,KAAKS,SAAS;AACrC,eAAOF,QAAQ,IAAI;AACjBG,YAAEC,OAAOrB,MAAKQ,SAASc,MAAkBL,KAAKP,KAAKS,UAAUI,QAAQb,KAAKc,SAAS;AACnF,gBAAMC,UAAUX,YAAYC,SAAiBP,QAAAA;AAC7CS,gBAAMQ,QAAQP,QAAQR,KAAKS,WAAWF,MAAMP,KAAKc,UAAUD,MAAM;QACnE;MACF,OAAO;AACL,cAAMN,MAAMJ,KAAKK,QAAQR,KAAKS,SAAS;AACvC,YAAIF,QAAQ,IAAI;AACd,gBAAM,IAAIS,MAAM,mBAAmBC,KAAKC,UAAUlB,KAAKS,SAAS,CAAA,EAAG;QACrE;AACAC,UAAEC,OAAOrB,MAAKQ,SAASc,MAAkBL,KAAKP,KAAKS,UAAUI,QAAQb,KAAKc,SAAS;MACrF;IACF,CAAA;EACF;AAEA,SAAO;IACLK,YAAYf,YAAYC,SAAiBP,QAAAA;EAC3C;AACF,CAAA,CAAA,CAAA;AAIJ,IAAA,0BAAef;",
6
- "names": ["next", "A", "Effect", "Operation", "Database", "DocAccessor", "createDocAccessor", "handler", "MarkdownOperation", "Update", "pipe", "Operation", "withHandler", "fn", "doc", "edits", "content", "Database", "load", "map", "_", "flatMap", "accessor", "createDocAccessor", "edit", "handle", "change", "text", "DocAccessor", "getValue", "replaceAll", "idx", "indexOf", "oldString", "A", "splice", "path", "length", "newString", "updated", "Error", "JSON", "stringify", "newContent"]
7
- }
@@ -1,2 +0,0 @@
1
- export { default as MarkdownBlueprint } from './markdown-blueprint';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/blueprints/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,4 +0,0 @@
1
- import { Blueprint } from '@dxos/compute';
2
- declare const blueprint: Blueprint.Definition;
3
- export default blueprint;
4
- //# sourceMappingURL=markdown-blueprint.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"markdown-blueprint.d.ts","sourceRoot":"","sources":["../../../../src/blueprints/markdown-blueprint.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAY,MAAM,eAAe,CAAC;AAiCpD,QAAA,MAAM,SAAS,EAAE,SAAS,CAAC,UAG1B,CAAC;eAEa,SAAS"}
@@ -1,6 +0,0 @@
1
- import * as Effect from 'effect/Effect';
2
- import { Capability } from '@dxos/app-framework';
3
- import { GraphBuilder } from '@dxos/plugin-graph';
4
- declare const _default: (props: void) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<GraphBuilder.BuilderExtensions>>, never, never>;
5
- export default _default;
6
- //# sourceMappingURL=app-graph-builder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-builder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAKjD,OAAO,EAAE,YAAY,EAAQ,MAAM,oBAAoB,CAAC"}
@@ -1,5 +0,0 @@
1
- import * as Effect from 'effect/Effect';
2
- import { Capability } from '@dxos/app-framework';
3
- declare const _default: (props: void) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<import("@dxos/app-toolkit").NodeSerializer[]>>, never, Capability.Service>;
4
- export default _default;
5
- //# sourceMappingURL=app-graph-serializer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"app-graph-serializer.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-serializer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAgB,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,6 +0,0 @@
1
- import * as Effect from 'effect/Effect';
2
- import { Capability } from '@dxos/app-framework';
3
- import { AppCapabilities } from '@dxos/app-toolkit';
4
- declare const blueprintDefinition: () => Effect.Effect<Capability.Capability<typeof AppCapabilities.BlueprintDefinition>[], never, Capability.Service>;
5
- export default blueprintDefinition;
6
- //# sourceMappingURL=blueprint-definition.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"blueprint-definition.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/blueprint-definition.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKpD,QAAA,MAAM,mBAAmB,EAAE,MAAM,MAAM,CAAC,MAAM,CAC5C,UAAU,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,mBAAmB,CAAC,EAAE,EACnE,KAAK,EACL,UAAU,CAAC,OAAO,CACsF,CAAC;eAE5F,mBAAmB"}
@@ -1,6 +0,0 @@
1
- import * as Effect from 'effect/Effect';
2
- import { Capability } from '@dxos/app-framework';
3
- import { AppCapabilities } from '@dxos/app-toolkit';
4
- declare const _default: (props: void) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<AppCapabilities.NavigationPathResolver>>, never, never>;
5
- export default _default;
6
- //# sourceMappingURL=navigation-resolver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"navigation-resolver.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/navigation-resolver.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAiC,MAAM,mBAAmB,CAAC"}
@@ -1,3 +0,0 @@
1
- declare const getDocumentsPath: (spaceId: string) => string, getDocumentPath: (spaceId: string, objectId: string) => string;
2
- export { getDocumentsPath, getDocumentPath };
3
- //# sourceMappingURL=paths.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/paths.ts"],"names":[],"mappings":"AAQA,QAAA,MAAwB,gBAAgB,+BAAiB,eAAe,+CAA8C,CAAC;AAEvH,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC"}
@@ -1,5 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- export { default as MarkdownBlueprint } from './markdown-blueprint';