@dxos/plugin-markdown 0.8.4-main.69d29f4 → 0.8.4-main.6fa680abb7
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.
- package/dist/lib/browser/{chunk-VQ3WOAB6.mjs → MarkdownCard-KTTAKZAO.mjs} +28 -27
- package/dist/lib/browser/MarkdownCard-KTTAKZAO.mjs.map +7 -0
- package/dist/lib/browser/{chunk-KDKXFKDN.mjs → MarkdownContainer-DB5VCJSG.mjs} +45 -25
- package/dist/lib/browser/MarkdownContainer-DB5VCJSG.mjs.map +7 -0
- package/dist/lib/browser/MarkdownSettings-OD7AJSSJ.mjs +106 -0
- package/dist/lib/browser/MarkdownSettings-OD7AJSSJ.mjs.map +7 -0
- package/dist/lib/browser/{anchor-sort-WQ3TL7ZI.mjs → anchor-sort-KP3XOHL6.mjs} +6 -4
- package/dist/lib/browser/anchor-sort-KP3XOHL6.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-ULZUJKOD.mjs → app-graph-serializer-QJVGW3AI.mjs} +9 -7
- package/dist/lib/browser/app-graph-serializer-QJVGW3AI.mjs.map +7 -0
- package/dist/lib/browser/blueprint-definition-GYGSMBAL.mjs +18 -0
- package/dist/lib/browser/blueprint-definition-GYGSMBAL.mjs.map +7 -0
- package/dist/lib/browser/blueprints/index.mjs +5 -4
- package/dist/lib/browser/{chunk-LMO5UVKL.mjs → chunk-2JGSYTNW.mjs} +29 -61
- package/dist/lib/browser/chunk-2JGSYTNW.mjs.map +7 -0
- package/dist/lib/browser/chunk-EY5RVGKO.mjs +178 -0
- package/dist/lib/browser/chunk-EY5RVGKO.mjs.map +7 -0
- package/dist/lib/browser/{chunk-BX73DASG.mjs → chunk-G2MHLFEL.mjs} +281 -205
- package/dist/lib/browser/chunk-G2MHLFEL.mjs.map +7 -0
- package/dist/lib/browser/{chunk-JOXYQLKH.mjs → chunk-NAJ3XQLK.mjs} +9 -4
- package/dist/lib/browser/chunk-NAJ3XQLK.mjs.map +7 -0
- package/dist/lib/browser/chunk-RYZHVXZ5.mjs +28 -0
- package/dist/lib/browser/chunk-RYZHVXZ5.mjs.map +7 -0
- package/dist/lib/browser/{chunk-CUGDX7KA.mjs → chunk-TIV2F6SR.mjs} +2 -2
- package/dist/lib/browser/cli/index.mjs +15 -13
- package/dist/lib/browser/cli/index.mjs.map +3 -3
- package/dist/lib/browser/index.mjs +44 -45
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{operation-resolver-EGCWOQKJ.mjs → operation-resolver-QLM762DE.mjs} +6 -18
- package/dist/lib/browser/operation-resolver-QLM762DE.mjs.map +7 -0
- package/dist/lib/browser/react-surface-3KWMKHEU.mjs +117 -0
- package/dist/lib/browser/react-surface-3KWMKHEU.mjs.map +7 -0
- package/dist/lib/browser/{settings-JY5JE7MI.mjs → settings-2PHGT4PJ.mjs} +8 -5
- package/dist/lib/browser/settings-2PHGT4PJ.mjs.map +7 -0
- package/dist/lib/browser/{state-QE7VSJWJ.mjs → state-KNJ7E36W.mjs} +7 -5
- package/dist/lib/{node-esm/state-LXE5XIN4.mjs.map → browser/state-KNJ7E36W.mjs.map} +2 -2
- package/dist/lib/browser/types/index.mjs +2 -1
- package/dist/lib/node-esm/{chunk-KXEQCFMB.mjs → MarkdownCard-EFCQQR22.mjs} +28 -27
- package/dist/lib/node-esm/MarkdownCard-EFCQQR22.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-3JYPCC7M.mjs → MarkdownContainer-X3UQUNWL.mjs} +45 -25
- package/dist/lib/node-esm/MarkdownContainer-X3UQUNWL.mjs.map +7 -0
- package/dist/lib/node-esm/MarkdownSettings-U7GJ4OP3.mjs +107 -0
- package/dist/lib/node-esm/MarkdownSettings-U7GJ4OP3.mjs.map +7 -0
- package/dist/lib/node-esm/{anchor-sort-G7D5TAI6.mjs → anchor-sort-4574EWPS.mjs} +6 -4
- package/dist/lib/node-esm/anchor-sort-4574EWPS.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-W5YMQP7P.mjs → app-graph-serializer-CCMYKW2M.mjs} +9 -7
- package/dist/lib/node-esm/app-graph-serializer-CCMYKW2M.mjs.map +7 -0
- package/dist/lib/node-esm/blueprint-definition-TZPCKPPU.mjs +19 -0
- package/dist/lib/node-esm/blueprint-definition-TZPCKPPU.mjs.map +7 -0
- package/dist/lib/node-esm/blueprints/index.mjs +5 -4
- package/dist/lib/node-esm/{chunk-W3IIKDV5.mjs → chunk-4YMS5I4L.mjs} +2 -2
- package/dist/lib/node-esm/chunk-7UHD5AKT.mjs +179 -0
- package/dist/lib/node-esm/chunk-7UHD5AKT.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-CW4FZNMZ.mjs +29 -0
- package/dist/lib/node-esm/chunk-CW4FZNMZ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-44VJC3QF.mjs → chunk-QQF75YGF.mjs} +9 -4
- package/dist/lib/node-esm/chunk-QQF75YGF.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-D4BCFPKK.mjs → chunk-RKTB7TV3.mjs} +281 -205
- package/dist/lib/node-esm/chunk-RKTB7TV3.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-PRV35A7Z.mjs → chunk-XTF6AXHM.mjs} +29 -61
- package/dist/lib/node-esm/chunk-XTF6AXHM.mjs.map +7 -0
- package/dist/lib/node-esm/cli/index.mjs +15 -13
- package/dist/lib/node-esm/cli/index.mjs.map +3 -3
- package/dist/lib/node-esm/index.mjs +44 -45
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{operation-resolver-2HIS2AQZ.mjs → operation-resolver-IYXA7HEG.mjs} +6 -18
- package/dist/lib/node-esm/operation-resolver-IYXA7HEG.mjs.map +7 -0
- package/dist/lib/node-esm/react-surface-CYC6UH4E.mjs +118 -0
- package/dist/lib/node-esm/react-surface-CYC6UH4E.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-4UGMPIRY.mjs → settings-4HAQICPV.mjs} +8 -5
- package/dist/lib/node-esm/settings-4HAQICPV.mjs.map +7 -0
- package/dist/lib/node-esm/{state-LXE5XIN4.mjs → state-XAMY5RVG.mjs} +7 -5
- package/dist/lib/{browser/state-QE7VSJWJ.mjs.map → node-esm/state-XAMY5RVG.mjs.map} +2 -2
- package/dist/lib/node-esm/types/index.mjs +2 -1
- package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
- package/dist/types/src/blueprints/functions/create.d.ts.map +1 -1
- package/dist/types/src/blueprints/functions/index.d.ts +41 -3
- package/dist/types/src/blueprints/functions/index.d.ts.map +1 -1
- package/dist/types/src/blueprints/functions/open.d.ts +8 -1
- package/dist/types/src/blueprints/functions/open.d.ts.map +1 -1
- package/dist/types/src/blueprints/functions/update.d.ts +16 -3
- package/dist/types/src/blueprints/functions/update.d.ts.map +1 -1
- package/dist/types/src/blueprints/index.d.ts +1 -1
- package/dist/types/src/blueprints/index.d.ts.map +1 -1
- package/dist/types/src/blueprints/markdown-blueprint.d.ts +3 -20
- package/dist/types/src/blueprints/markdown-blueprint.d.ts.map +1 -1
- package/dist/types/src/capabilities/anchor-sort/anchor-sort.d.ts +3 -2
- package/dist/types/src/capabilities/anchor-sort/anchor-sort.d.ts.map +1 -1
- package/dist/types/src/capabilities/anchor-sort/index.d.ts +1 -1
- package/dist/types/src/capabilities/anchor-sort/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts +2 -2
- package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-serializer/index.d.ts +1 -1
- package/dist/types/src/capabilities/app-graph-serializer/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts +1 -1
- package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts.map +1 -1
- package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +3 -7
- package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -1
- package/dist/types/src/capabilities/blueprint-definition/index.d.ts +1 -1
- package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-resolver/index.d.ts +1 -1
- package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +2 -2
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface/index.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +2 -2
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings/index.d.ts +1 -1
- package/dist/types/src/capabilities/settings/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings/settings.d.ts +3 -2
- package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -1
- package/dist/types/src/capabilities/state/state.d.ts +1 -1
- package/dist/types/src/cli/plugin.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/FileUpload.d.ts +2 -2
- package/dist/types/src/components/MarkdownEditor/FileUpload.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +4 -3
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts +2 -0
- package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts +5 -5
- package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +1 -8
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/containers/MarkdownCard/MarkdownCard.d.ts.map +1 -0
- package/dist/types/src/containers/MarkdownCard/MarkdownCard.stories.d.ts.map +1 -0
- package/dist/types/src/{components → containers}/MarkdownCard/index.d.ts +0 -1
- package/dist/types/src/containers/MarkdownCard/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers/MarkdownContainer}/MarkdownContainer.d.ts +6 -6
- package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.d.ts.map +1 -0
- package/dist/types/src/{components → containers/MarkdownContainer}/MarkdownContainer.stories.d.ts +31 -1
- package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.stories.d.ts.map +1 -0
- package/dist/types/src/containers/MarkdownContainer/index.d.ts +3 -0
- package/dist/types/src/containers/MarkdownContainer/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers}/MarkdownSettings/MarkdownSettings.d.ts.map +1 -1
- package/dist/types/src/containers/MarkdownSettings/index.d.ts +3 -0
- package/dist/types/src/containers/MarkdownSettings/index.d.ts.map +1 -0
- package/dist/types/src/containers/index.d.ts +6 -0
- package/dist/types/src/containers/index.d.ts.map +1 -0
- package/dist/types/src/hooks/useExtensions.d.ts +3 -3
- package/dist/types/src/hooks/useExtensions.d.ts.map +1 -1
- package/dist/types/src/hooks/useSelectCurrentThread.d.ts +1 -1
- package/dist/types/src/hooks/useSelectCurrentThread.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -0
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +30 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Markdown.d.ts +1 -1
- package/dist/types/src/types/Markdown.d.ts.map +1 -1
- package/dist/types/src/types/MarkdownAction.d.ts +2 -22
- package/dist/types/src/types/MarkdownAction.d.ts.map +1 -1
- package/dist/types/src/types/events.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +1 -1
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +67 -60
- package/src/MarkdownPlugin.tsx +24 -35
- package/src/blueprints/functions/create.conversations.json +1 -1
- package/src/blueprints/functions/create.test.ts +24 -57
- package/src/blueprints/functions/create.ts +6 -5
- package/src/blueprints/functions/index.ts +11 -3
- package/src/blueprints/functions/open.ts +10 -10
- package/src/blueprints/functions/update.conversations.json +1 -1
- package/src/blueprints/functions/update.test.ts +133 -67
- package/src/blueprints/functions/update.ts +54 -13
- package/src/blueprints/index.ts +1 -1
- package/src/blueprints/markdown-blueprint.ts +14 -6
- package/src/capabilities/anchor-sort/anchor-sort.ts +3 -2
- package/src/capabilities/app-graph-serializer/app-graph-serializer.ts +5 -4
- package/src/capabilities/artifact-definition/artifact-definition.ts +2 -2
- package/src/capabilities/blueprint-definition/blueprint-definition.ts +6 -14
- package/src/capabilities/operation-resolver/operation-resolver.ts +3 -14
- package/src/capabilities/react-surface/react-surface.tsx +30 -19
- package/src/capabilities/settings/settings.ts +3 -2
- package/src/capabilities/state/state.ts +2 -2
- package/src/cli/plugin.ts +5 -5
- package/src/components/MarkdownEditor/FileUpload.tsx +2 -2
- package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +25 -22
- package/src/components/MarkdownEditor/MarkdownEditor.tsx +43 -15
- package/src/components/MarkdownEditor/MarkdownEditorContent.tsx +6 -5
- package/src/components/MarkdownEditor/MarkdownEditorToolbar.tsx +13 -12
- package/src/components/index.ts +2 -14
- package/src/{components → containers}/MarkdownCard/MarkdownCard.stories.tsx +17 -7
- package/src/{components → containers}/MarkdownCard/MarkdownCard.tsx +24 -25
- package/src/{components → containers}/MarkdownCard/index.ts +0 -2
- package/src/{components → containers/MarkdownContainer}/MarkdownContainer.stories.tsx +22 -9
- package/src/{components → containers/MarkdownContainer}/MarkdownContainer.tsx +57 -34
- package/src/containers/MarkdownContainer/index.ts +6 -0
- package/src/{components → containers}/MarkdownSettings/MarkdownSettings.tsx +24 -24
- package/src/containers/MarkdownSettings/index.ts +7 -0
- package/src/containers/index.ts +11 -0
- package/src/hooks/useEditorMenuOptions.ts +1 -1
- package/src/hooks/useExtensions.tsx +52 -89
- package/src/hooks/useLinkQuery.ts +3 -3
- package/src/hooks/useSelectCurrentThread.tsx +6 -6
- package/src/index.ts +2 -0
- package/src/meta.ts +1 -1
- package/src/testing.ts +2 -2
- package/src/translations.ts +3 -0
- package/src/types/Markdown.ts +13 -5
- package/src/types/MarkdownAction.ts +3 -18
- package/src/types/capabilities.ts +4 -4
- package/src/types/events.ts +4 -3
- package/src/util.tsx +2 -2
- package/dist/lib/browser/MarkdownCard-HFNNE4B4.mjs +0 -12
- package/dist/lib/browser/MarkdownCard-HFNNE4B4.mjs.map +0 -7
- package/dist/lib/browser/MarkdownContainer-V7EAADMF.mjs +0 -12
- package/dist/lib/browser/MarkdownContainer-V7EAADMF.mjs.map +0 -7
- package/dist/lib/browser/anchor-sort-WQ3TL7ZI.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-ULZUJKOD.mjs.map +0 -7
- package/dist/lib/browser/blueprint-definition-TLV4PNZW.mjs +0 -19
- package/dist/lib/browser/blueprint-definition-TLV4PNZW.mjs.map +0 -7
- package/dist/lib/browser/chunk-BX73DASG.mjs.map +0 -7
- package/dist/lib/browser/chunk-FWQQW6KU.mjs +0 -144
- package/dist/lib/browser/chunk-FWQQW6KU.mjs.map +0 -7
- package/dist/lib/browser/chunk-JOXYQLKH.mjs.map +0 -7
- package/dist/lib/browser/chunk-KDKXFKDN.mjs.map +0 -7
- package/dist/lib/browser/chunk-LMO5UVKL.mjs.map +0 -7
- package/dist/lib/browser/chunk-S45ULIOG.mjs +0 -101
- package/dist/lib/browser/chunk-S45ULIOG.mjs.map +0 -7
- package/dist/lib/browser/chunk-VQ3WOAB6.mjs.map +0 -7
- package/dist/lib/browser/operation-resolver-EGCWOQKJ.mjs.map +0 -7
- package/dist/lib/browser/react-surface-64FZ7T7F.mjs +0 -213
- package/dist/lib/browser/react-surface-64FZ7T7F.mjs.map +0 -7
- package/dist/lib/browser/settings-JY5JE7MI.mjs.map +0 -7
- package/dist/lib/node-esm/MarkdownCard-GMNXUWWR.mjs +0 -13
- package/dist/lib/node-esm/MarkdownCard-GMNXUWWR.mjs.map +0 -7
- package/dist/lib/node-esm/MarkdownContainer-LUSMORP2.mjs +0 -13
- package/dist/lib/node-esm/MarkdownContainer-LUSMORP2.mjs.map +0 -7
- package/dist/lib/node-esm/anchor-sort-G7D5TAI6.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-W5YMQP7P.mjs.map +0 -7
- package/dist/lib/node-esm/blueprint-definition-HYFA7BKQ.mjs +0 -20
- package/dist/lib/node-esm/blueprint-definition-HYFA7BKQ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-3JYPCC7M.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-44VJC3QF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-D4BCFPKK.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-EYAFC4N7.mjs +0 -145
- package/dist/lib/node-esm/chunk-EYAFC4N7.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-KXEQCFMB.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-PRV35A7Z.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-SDTYEGGL.mjs +0 -102
- package/dist/lib/node-esm/chunk-SDTYEGGL.mjs.map +0 -7
- package/dist/lib/node-esm/operation-resolver-2HIS2AQZ.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-PKEVHTJK.mjs +0 -214
- package/dist/lib/node-esm/react-surface-PKEVHTJK.mjs.map +0 -7
- package/dist/lib/node-esm/settings-4UGMPIRY.mjs.map +0 -7
- package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownCard/index.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownContainer.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownContainer.stories.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownSettings/index.d.ts +0 -2
- package/dist/types/src/components/MarkdownSettings/index.d.ts.map +0 -1
- package/dist/types/src/components/Suggestions.stories.d.ts +0 -11
- package/dist/types/src/components/Suggestions.stories.d.ts.map +0 -1
- package/src/components/MarkdownSettings/index.ts +0 -5
- package/src/components/Suggestions.stories.tsx +0 -215
- /package/dist/lib/browser/{chunk-CUGDX7KA.mjs.map → chunk-TIV2F6SR.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-W3IIKDV5.mjs.map → chunk-4YMS5I4L.mjs.map} +0 -0
- /package/dist/types/src/{components → containers}/MarkdownCard/MarkdownCard.d.ts +0 -0
- /package/dist/types/src/{components → containers}/MarkdownCard/MarkdownCard.stories.d.ts +0 -0
- /package/dist/types/src/{components → containers}/MarkdownSettings/MarkdownSettings.d.ts +0 -0
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
};
|
|
1
|
+
import {
|
|
2
|
+
__export,
|
|
3
|
+
meta
|
|
4
|
+
} from "./chunk-RYZHVXZ5.mjs";
|
|
6
5
|
|
|
7
6
|
// src/types/MarkdownAction.ts
|
|
8
7
|
var MarkdownAction_exports = {};
|
|
@@ -12,27 +11,8 @@ __export(MarkdownAction_exports, {
|
|
|
12
11
|
import * as Schema2 from "effect/Schema";
|
|
13
12
|
import { Capability } from "@dxos/app-framework";
|
|
14
13
|
import { Operation } from "@dxos/operation";
|
|
15
|
-
import { SpaceSchema } from "@dxos/react-client/echo";
|
|
16
|
-
import { Collection } from "@dxos/schema";
|
|
17
14
|
import { EditorViewMode as EditorViewMode2 } from "@dxos/ui-editor/types";
|
|
18
15
|
|
|
19
|
-
// src/meta.ts
|
|
20
|
-
import { trim } from "@dxos/util";
|
|
21
|
-
var meta = {
|
|
22
|
-
id: "dxos.org/plugin/markdown",
|
|
23
|
-
name: "Markdown",
|
|
24
|
-
description: trim`
|
|
25
|
-
Full-featured collaborative markdown editor with real-time editing, inline comments, and rich formatting.
|
|
26
|
-
Supports AI-powered editing assistance and seamlessly integrates with other workspace objects.
|
|
27
|
-
`,
|
|
28
|
-
icon: "ph--text-aa--regular",
|
|
29
|
-
iconHue: "indigo",
|
|
30
|
-
source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-markdown",
|
|
31
|
-
screenshots: [
|
|
32
|
-
"https://dxos.network/plugin-details-markdown-dark.png"
|
|
33
|
-
]
|
|
34
|
-
};
|
|
35
|
-
|
|
36
16
|
// src/types/Markdown.ts
|
|
37
17
|
var Markdown_exports = {};
|
|
38
18
|
__export(Markdown_exports, {
|
|
@@ -41,7 +21,7 @@ __export(Markdown_exports, {
|
|
|
41
21
|
make: () => make
|
|
42
22
|
});
|
|
43
23
|
import * as Schema from "effect/Schema";
|
|
44
|
-
import { Obj, Ref, Type } from "@dxos/echo";
|
|
24
|
+
import { Annotation, Obj, Ref, Type } from "@dxos/echo";
|
|
45
25
|
import { DescriptionAnnotation, FormInputAnnotation, LabelAnnotation } from "@dxos/echo/internal";
|
|
46
26
|
import { Text } from "@dxos/schema";
|
|
47
27
|
import { EditorInputMode, EditorViewMode } from "@dxos/ui-editor/types";
|
|
@@ -49,18 +29,25 @@ var Document = Schema.Struct({
|
|
|
49
29
|
name: Schema.optional(Schema.String),
|
|
50
30
|
description: Schema.optional(Schema.String),
|
|
51
31
|
fallbackName: Schema.String.pipe(FormInputAnnotation.set(false), Schema.optional),
|
|
52
|
-
content:
|
|
32
|
+
content: Ref.Ref(Text.Text).pipe(FormInputAnnotation.set(false))
|
|
53
33
|
}).pipe(Type.object({
|
|
54
|
-
typename: "dxos.
|
|
34
|
+
typename: "org.dxos.type.document",
|
|
55
35
|
version: "0.1.0"
|
|
56
36
|
}), LabelAnnotation.set([
|
|
57
37
|
"name",
|
|
58
38
|
"fallbackName"
|
|
59
|
-
]), DescriptionAnnotation.set("description")
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
})
|
|
39
|
+
]), DescriptionAnnotation.set("description"), Annotation.IconAnnotation.set({
|
|
40
|
+
icon: "ph--text-aa--regular",
|
|
41
|
+
hue: "green"
|
|
42
|
+
}));
|
|
43
|
+
var make = ({ content = "", ...props } = {}) => {
|
|
44
|
+
const doc = Obj.make(Document, {
|
|
45
|
+
...props,
|
|
46
|
+
content: Ref.make(Text.make(content))
|
|
47
|
+
});
|
|
48
|
+
Obj.setParent(doc.content.target, doc);
|
|
49
|
+
return doc;
|
|
50
|
+
};
|
|
64
51
|
var Settings = Schema.mutable(Schema.Struct({
|
|
65
52
|
defaultViewMode: EditorViewMode,
|
|
66
53
|
editorInputMode: Schema.optional(EditorInputMode),
|
|
@@ -74,28 +61,11 @@ var Settings = Schema.mutable(Schema.Struct({
|
|
|
74
61
|
}));
|
|
75
62
|
|
|
76
63
|
// src/types/MarkdownAction.ts
|
|
77
|
-
var MARKDOWN_OPERATION = `${meta.id}
|
|
64
|
+
var MARKDOWN_OPERATION = `${meta.id}.operation`;
|
|
78
65
|
(function(MarkdownOperation2) {
|
|
79
|
-
MarkdownOperation2.OnCreateSpace = Operation.make({
|
|
80
|
-
meta: {
|
|
81
|
-
key: `${MARKDOWN_OPERATION}/on-create-space`,
|
|
82
|
-
name: "On Create Space"
|
|
83
|
-
},
|
|
84
|
-
services: [
|
|
85
|
-
Capability.Service
|
|
86
|
-
],
|
|
87
|
-
schema: {
|
|
88
|
-
input: Schema2.Struct({
|
|
89
|
-
space: SpaceSchema,
|
|
90
|
-
rootCollection: Collection.Collection,
|
|
91
|
-
isDefault: Schema2.optional(Schema2.Boolean)
|
|
92
|
-
}),
|
|
93
|
-
output: Schema2.Void
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
66
|
MarkdownOperation2.Create = Operation.make({
|
|
97
67
|
meta: {
|
|
98
|
-
key: `${MARKDOWN_OPERATION}
|
|
68
|
+
key: `${MARKDOWN_OPERATION}.create`,
|
|
99
69
|
name: "Create Markdown Document"
|
|
100
70
|
},
|
|
101
71
|
services: [
|
|
@@ -113,7 +83,7 @@ var MARKDOWN_OPERATION = `${meta.id}/operation`;
|
|
|
113
83
|
});
|
|
114
84
|
MarkdownOperation2.SetViewMode = Operation.make({
|
|
115
85
|
meta: {
|
|
116
|
-
key: `${MARKDOWN_OPERATION}
|
|
86
|
+
key: `${MARKDOWN_OPERATION}.set-view-mode`,
|
|
117
87
|
name: "Set View Mode"
|
|
118
88
|
},
|
|
119
89
|
services: [
|
|
@@ -140,23 +110,21 @@ var MarkdownStateSchema = Schema3.mutable(Schema3.Struct({
|
|
|
140
110
|
})
|
|
141
111
|
}));
|
|
142
112
|
(function(MarkdownCapabilities2) {
|
|
143
|
-
MarkdownCapabilities2.Settings = Capability2.make(`${meta.id}
|
|
144
|
-
MarkdownCapabilities2.State = Capability2.make(`${meta.id}
|
|
145
|
-
MarkdownCapabilities2.EditorState = Capability2.make(`${meta.id}
|
|
146
|
-
MarkdownCapabilities2.Extensions = Capability2.make(`${meta.id}
|
|
113
|
+
MarkdownCapabilities2.Settings = Capability2.make(`${meta.id}.capability.settings`);
|
|
114
|
+
MarkdownCapabilities2.State = Capability2.make(`${meta.id}.capability.state`);
|
|
115
|
+
MarkdownCapabilities2.EditorState = Capability2.make(`${meta.id}.capability.editor-state`);
|
|
116
|
+
MarkdownCapabilities2.Extensions = Capability2.make(`${meta.id}.capability.extensions`);
|
|
147
117
|
})(MarkdownCapabilities || (MarkdownCapabilities = {}));
|
|
148
118
|
var MarkdownCapabilities;
|
|
149
119
|
|
|
150
120
|
// src/types/events.ts
|
|
151
|
-
import {
|
|
121
|
+
import { AppActivationEvents } from "@dxos/app-toolkit";
|
|
152
122
|
(function(MarkdownEvents2) {
|
|
153
|
-
MarkdownEvents2.SetupExtensions =
|
|
123
|
+
MarkdownEvents2.SetupExtensions = AppActivationEvents.createStateEvent(`${meta.id}.event.setup-extensions`);
|
|
154
124
|
})(MarkdownEvents || (MarkdownEvents = {}));
|
|
155
125
|
var MarkdownEvents;
|
|
156
126
|
|
|
157
127
|
export {
|
|
158
|
-
__export,
|
|
159
|
-
meta,
|
|
160
128
|
Markdown_exports,
|
|
161
129
|
MarkdownOperation,
|
|
162
130
|
MarkdownAction_exports,
|
|
@@ -164,4 +132,4 @@ export {
|
|
|
164
132
|
MarkdownCapabilities,
|
|
165
133
|
MarkdownEvents
|
|
166
134
|
};
|
|
167
|
-
//# sourceMappingURL=chunk-
|
|
135
|
+
//# sourceMappingURL=chunk-2JGSYTNW.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types/MarkdownAction.ts", "../../../src/types/Markdown.ts", "../../../src/types/capabilities.ts", "../../../src/types/events.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Operation } from '@dxos/operation';\nimport { EditorViewMode } from '@dxos/ui-editor/types';\n\nimport { meta } from '../meta';\n\nimport { Document } from './Markdown';\n\nconst MARKDOWN_OPERATION = `${meta.id}.operation`;\n\nexport namespace MarkdownOperation {\n export const Create = Operation.make({\n meta: { key: `${MARKDOWN_OPERATION}.create`, name: 'Create Markdown Document' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n content: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: Document,\n }),\n },\n });\n\n // TODO(wittjosiah): This appears to be unused.\n export const SetViewMode = Operation.make({\n meta: { key: `${MARKDOWN_OPERATION}.set-view-mode`, name: 'Set View Mode' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n id: Schema.String,\n viewMode: EditorViewMode,\n }),\n output: Schema.Void,\n },\n });\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Annotation, Obj, Ref, Type } from '@dxos/echo';\nimport { DescriptionAnnotation, FormInputAnnotation, LabelAnnotation } from '@dxos/echo/internal';\nimport { Text } from '@dxos/schema';\nimport { EditorInputMode, EditorViewMode } from '@dxos/ui-editor/types';\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 Type.object({\n typename: 'org.dxos.type.document',\n version: '0.1.0',\n }),\n LabelAnnotation.set(['name', 'fallbackName']),\n DescriptionAnnotation.set('description'),\n Annotation.IconAnnotation.set({\n icon: 'ph--text-aa--regular',\n hue: 'green',\n }),\n);\n\nexport type Document = Schema.Schema.Type<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/**\n * Plugin settings.\n */\nexport const Settings = Schema.mutable(\n Schema.Struct({\n defaultViewMode: EditorViewMode,\n editorInputMode: Schema.optional(EditorInputMode),\n experimental: Schema.optional(Schema.Boolean),\n debug: Schema.optional(Schema.Boolean),\n toolbar: Schema.optional(Schema.Boolean),\n typewriter: Schema.optional(Schema.String),\n // TODO(burdon): Per document settings.\n numberedHeadings: Schema.optional(Schema.Boolean),\n folding: Schema.optional(Schema.Boolean),\n }),\n);\n\nexport interface Settings extends Schema.Schema.Type<typeof Settings> {}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Atom } from '@effect-atom/atom-react';\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { type EditorStateStore, type EditorViewMode } from '@dxos/ui-editor';\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 MarkdownStateSchema = 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 namespace MarkdownCapabilities {\n export const Settings = Capability.make<Atom.Writable<Markdown.Settings>>(`${meta.id}.capability.settings`);\n\n /** Persisted state atom for view mode per document. */\n export const State = Capability.make<Atom.Writable<MarkdownState>>(`${meta.id}.capability.state`);\n\n /** Editor state store for cursor positions, scroll state, etc. */\n export const EditorState = Capability.make<EditorStateStore>(`${meta.id}.capability.editor-state`);\n\n // TODO(burdon): Move to ./types (external API)?\n export const Extensions = Capability.make<MarkdownExtensionProvider[]>(`${meta.id}.capability.extensions`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type ActivationEvent } from '@dxos/app-framework';\nimport { AppActivationEvents } from '@dxos/app-toolkit';\n\nimport { meta } from '../meta';\n\nexport namespace MarkdownEvents {\n export const SetupExtensions: ActivationEvent.ActivationEvent = AppActivationEvents.createStateEvent(\n `${meta.id}.event.setup-extensions`,\n );\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Schema", "Capability", "Operation", "EditorViewMode", "Schema", "Annotation", "Obj", "Ref", "Type", "DescriptionAnnotation", "FormInputAnnotation", "LabelAnnotation", "Text", "EditorInputMode", "EditorViewMode", "Document", "Struct", "name", "optional", "String", "description", "fallbackName", "pipe", "FormInputAnnotation", "set", "content", "Ref", "Text", "Type", "object", "typename", "version", "LabelAnnotation", "DescriptionAnnotation", "Annotation", "IconAnnotation", "icon", "hue", "make", "props", "doc", "Obj", "setParent", "target", "Settings", "mutable", "defaultViewMode", "EditorViewMode", "editorInputMode", "EditorInputMode", "experimental", "Boolean", "debug", "toolbar", "typewriter", "numberedHeadings", "folding", "MARKDOWN_OPERATION", "meta", "id", "MarkdownOperation", "Create", "Operation", "make", "key", "name", "services", "Capability", "Service", "schema", "input", "Struct", "optional", "String", "content", "output", "object", "Document", "SetViewMode", "viewMode", "EditorViewMode", "Void", "Schema", "Capability", "MarkdownStateSchema", "mutable", "Struct", "viewMode", "Record", "key", "String", "value", "MarkdownCapabilities", "Settings", "Capability", "make", "meta", "id", "State", "EditorState", "Extensions", "AppActivationEvents", "MarkdownEvents", "SetupExtensions", "AppActivationEvents", "createStateEvent", "meta", "id"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Markdown_exports
|
|
3
|
+
} from "./chunk-2JGSYTNW.mjs";
|
|
4
|
+
|
|
5
|
+
// src/blueprints/markdown-blueprint.ts
|
|
6
|
+
import { Blueprint, Template } from "@dxos/blueprints";
|
|
7
|
+
import { trim as trim2 } from "@dxos/util";
|
|
8
|
+
|
|
9
|
+
// src/blueprints/functions/create.ts
|
|
10
|
+
import * as Effect from "effect/Effect";
|
|
11
|
+
import * as Schema from "effect/Schema";
|
|
12
|
+
import { Obj } from "@dxos/echo";
|
|
13
|
+
import { defineFunction } from "@dxos/functions";
|
|
14
|
+
import { CollectionModel } from "@dxos/schema";
|
|
15
|
+
var create_default = defineFunction({
|
|
16
|
+
key: "org.dxos.function.markdown.create",
|
|
17
|
+
name: "Create",
|
|
18
|
+
description: "Creates a new markdown document and adds it to the space.",
|
|
19
|
+
inputSchema: Schema.Struct({
|
|
20
|
+
name: Schema.String,
|
|
21
|
+
content: Schema.String
|
|
22
|
+
}),
|
|
23
|
+
outputSchema: Schema.Struct({
|
|
24
|
+
id: Schema.String.annotations({
|
|
25
|
+
description: "The DXN of the created document."
|
|
26
|
+
})
|
|
27
|
+
}),
|
|
28
|
+
handler: Effect.fn(function* ({ data: { name, content } }) {
|
|
29
|
+
const object = Markdown_exports.make({
|
|
30
|
+
name,
|
|
31
|
+
content
|
|
32
|
+
});
|
|
33
|
+
yield* CollectionModel.add({
|
|
34
|
+
object
|
|
35
|
+
});
|
|
36
|
+
return {
|
|
37
|
+
id: Obj.getDXN(object).toString()
|
|
38
|
+
};
|
|
39
|
+
})
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
// src/blueprints/functions/open.ts
|
|
43
|
+
import * as Effect2 from "effect/Effect";
|
|
44
|
+
import * as Schema2 from "effect/Schema";
|
|
45
|
+
import { Database, Ref } from "@dxos/echo";
|
|
46
|
+
import { defineFunction as defineFunction2 } from "@dxos/functions";
|
|
47
|
+
var open_default = defineFunction2({
|
|
48
|
+
key: "org.dxos.function.markdown.open",
|
|
49
|
+
name: "Open",
|
|
50
|
+
description: "Opens and reads the contents of a new markdown document.",
|
|
51
|
+
inputSchema: Schema2.Struct({
|
|
52
|
+
doc: Ref.Ref(Markdown_exports.Document).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: { doc } }) {
|
|
60
|
+
const { content } = yield* doc.pipe(Database.load, Effect2.map((_) => _.content), Effect2.flatMap(Database.load));
|
|
61
|
+
return {
|
|
62
|
+
content
|
|
63
|
+
};
|
|
64
|
+
})
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
// src/blueprints/functions/update.ts
|
|
68
|
+
import { next as A } from "@automerge/automerge";
|
|
69
|
+
import * as Effect3 from "effect/Effect";
|
|
70
|
+
import * as Schema3 from "effect/Schema";
|
|
71
|
+
import { Database as Database2, Ref as Ref2 } from "@dxos/echo";
|
|
72
|
+
import { DocAccessor, createDocAccessor } from "@dxos/echo-db";
|
|
73
|
+
import { defineFunction as defineFunction3 } from "@dxos/functions";
|
|
74
|
+
import { trim } from "@dxos/util";
|
|
75
|
+
var Edit = Schema3.Struct({
|
|
76
|
+
oldString: Schema3.String.annotations({
|
|
77
|
+
description: "The text to find in the document."
|
|
78
|
+
}),
|
|
79
|
+
newString: Schema3.String.annotations({
|
|
80
|
+
description: "The text to replace it with."
|
|
81
|
+
}),
|
|
82
|
+
replaceAll: Schema3.optional(Schema3.Boolean).annotations({
|
|
83
|
+
description: "If true, replaces all occurrences. Defaults to false (first occurrence only)."
|
|
84
|
+
})
|
|
85
|
+
});
|
|
86
|
+
var update_default = defineFunction3({
|
|
87
|
+
key: "org.dxos.function.markdown.update",
|
|
88
|
+
name: "Update",
|
|
89
|
+
description: trim`
|
|
90
|
+
Applies a set of edits to the markdown document.
|
|
91
|
+
`,
|
|
92
|
+
inputSchema: Schema3.Struct({
|
|
93
|
+
doc: Ref2.Ref(Markdown_exports.Document).annotations({
|
|
94
|
+
description: "The ID of the markdown document."
|
|
95
|
+
}),
|
|
96
|
+
edits: Schema3.Array(Edit).annotations({
|
|
97
|
+
description: "The edits to apply to the document. Each edit finds oldString and replaces it with newString."
|
|
98
|
+
})
|
|
99
|
+
}),
|
|
100
|
+
outputSchema: Schema3.Struct({
|
|
101
|
+
newContent: Schema3.String
|
|
102
|
+
}),
|
|
103
|
+
handler: Effect3.fn(function* ({ data: { doc, edits } }) {
|
|
104
|
+
const content = yield* doc.pipe(Database2.load, Effect3.map((_) => _.content), Effect3.flatMap(Database2.load));
|
|
105
|
+
const accessor = createDocAccessor(content, [
|
|
106
|
+
"content"
|
|
107
|
+
]);
|
|
108
|
+
for (const edit of edits) {
|
|
109
|
+
accessor.handle.change((doc2) => {
|
|
110
|
+
const text = DocAccessor.getValue(accessor);
|
|
111
|
+
if (edit.replaceAll) {
|
|
112
|
+
let idx = text.indexOf(edit.oldString);
|
|
113
|
+
while (idx !== -1) {
|
|
114
|
+
A.splice(doc2, accessor.path, idx, edit.oldString.length, edit.newString);
|
|
115
|
+
const updated = DocAccessor.getValue(accessor);
|
|
116
|
+
idx = updated.indexOf(edit.oldString, idx + edit.newString.length);
|
|
117
|
+
}
|
|
118
|
+
} else {
|
|
119
|
+
const idx = text.indexOf(edit.oldString);
|
|
120
|
+
if (idx === -1) {
|
|
121
|
+
throw new Error(`Edit not found: ${JSON.stringify(edit.oldString)}`);
|
|
122
|
+
}
|
|
123
|
+
A.splice(doc2, accessor.path, idx, edit.oldString.length, edit.newString);
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
return {
|
|
128
|
+
newContent: DocAccessor.getValue(accessor)
|
|
129
|
+
};
|
|
130
|
+
})
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
// src/blueprints/functions/index.ts
|
|
134
|
+
var MarkdownFunctions = {
|
|
135
|
+
Create: create_default,
|
|
136
|
+
Open: open_default,
|
|
137
|
+
Update: update_default
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
// src/blueprints/markdown-blueprint.ts
|
|
141
|
+
var BLUEPRINT_KEY = "org.dxos.blueprint.markdown";
|
|
142
|
+
var functions = Object.values(MarkdownFunctions);
|
|
143
|
+
var make = () => Blueprint.make({
|
|
144
|
+
key: BLUEPRINT_KEY,
|
|
145
|
+
name: "Markdown",
|
|
146
|
+
tools: Blueprint.toolDefinitions({
|
|
147
|
+
functions
|
|
148
|
+
}),
|
|
149
|
+
instructions: Template.make({
|
|
150
|
+
// TODO(wittjosiah): Move example to function input schema annotation.
|
|
151
|
+
source: trim2`
|
|
152
|
+
{{! Markdown }}
|
|
153
|
+
|
|
154
|
+
You can create, read and update markdown documents.
|
|
155
|
+
When asked to edit or update documents return updates as a set of compact diff string pairs.
|
|
156
|
+
For each diff, respond with the smallest possible matching span.
|
|
157
|
+
|
|
158
|
+
Example:
|
|
159
|
+
${"```"}diff
|
|
160
|
+
- "There is a tyop in this sentence."
|
|
161
|
+
+ "There is a typo in this sentence."
|
|
162
|
+
- "This id good."
|
|
163
|
+
+ "This sentence is really good."
|
|
164
|
+
${"```"}
|
|
165
|
+
`
|
|
166
|
+
})
|
|
167
|
+
});
|
|
168
|
+
var blueprint = {
|
|
169
|
+
key: BLUEPRINT_KEY,
|
|
170
|
+
functions,
|
|
171
|
+
make
|
|
172
|
+
};
|
|
173
|
+
var markdown_blueprint_default = blueprint;
|
|
174
|
+
|
|
175
|
+
export {
|
|
176
|
+
markdown_blueprint_default
|
|
177
|
+
};
|
|
178
|
+
//# sourceMappingURL=chunk-EY5RVGKO.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/blueprints/markdown-blueprint.ts", "../../../src/blueprints/functions/create.ts", "../../../src/blueprints/functions/open.ts", "../../../src/blueprints/functions/update.ts", "../../../src/blueprints/functions/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type AppCapabilities } from '@dxos/app-toolkit';\nimport { Blueprint, Template } from '@dxos/blueprints';\nimport { trim } from '@dxos/util';\n\nimport { MarkdownFunctions } from './functions';\n\nconst BLUEPRINT_KEY = 'org.dxos.blueprint.markdown';\n\nconst functions = Object.values(MarkdownFunctions);\n\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Markdown',\n tools: Blueprint.toolDefinitions({ functions }),\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: AppCapabilities.BlueprintDefinition = {\n key: BLUEPRINT_KEY,\n functions,\n make,\n};\n\nexport default blueprint;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { Obj } from '@dxos/echo';\nimport { defineFunction } from '@dxos/functions';\nimport { CollectionModel } from '@dxos/schema';\n\nimport { Markdown } from '../../types';\n\nexport default defineFunction({\n key: 'org.dxos.function.markdown.create',\n name: 'Create',\n description: 'Creates a new markdown document and adds it to the space.',\n inputSchema: Schema.Struct({\n name: Schema.String,\n content: Schema.String,\n }),\n outputSchema: Schema.Struct({\n id: Schema.String.annotations({\n description: 'The DXN of the created document.',\n }),\n }),\n handler: Effect.fn(function* ({ data: { name, content } }) {\n const object = Markdown.make({ name, content });\n yield* CollectionModel.add({ object });\n\n return {\n id: Obj.getDXN(object).toString(),\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 { Database, Ref } from '@dxos/echo';\nimport { defineFunction } from '@dxos/functions';\n\nimport { Markdown } from '../../types';\n\nexport default defineFunction({\n key: 'org.dxos.function.markdown.open',\n name: 'Open',\n description: 'Opens and reads the contents of a new markdown document.',\n inputSchema: Schema.Struct({\n doc: Ref.Ref(Markdown.Document).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: { doc } }) {\n const { content } = yield* doc.pipe(\n Database.load,\n Effect.map((_) => _.content),\n Effect.flatMap(Database.load),\n );\n return { content };\n }),\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { next as A, type Doc } from '@automerge/automerge';\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { Database, Ref } from '@dxos/echo';\nimport { DocAccessor, createDocAccessor } from '@dxos/echo-db';\nimport { defineFunction } from '@dxos/functions';\nimport { trim } from '@dxos/util';\n\nimport { Markdown } from '../../types';\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\n// TODO(wittjosiah): Reconcile with ThreadAction.AddProposal.\n// Based on opencode's MutilEdit tool: https://deepwiki.com/search/how-does-text-edit-tool-work_a159bc76-5401-424e-b29f-f087d1ea4f78\nexport default defineFunction({\n key: 'org.dxos.function.markdown.update',\n name: 'Update',\n description: trim`\n Applies a set of edits to the markdown document.\n `,\n inputSchema: 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 outputSchema: Schema.Struct({\n newContent: Schema.String,\n }),\n handler: Effect.fn(function* ({ data: { 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// Copyright 2024 DXOS.org\n//\n\nimport Create from './create';\nimport Open from './open';\nimport Update from './update';\n\nexport { Create, Open, Update };\n\nexport const MarkdownFunctions = {\n Create,\n Open,\n Update,\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Blueprint", "Template", "trim", "Effect", "Schema", "Obj", "defineFunction", "CollectionModel", "defineFunction", "key", "name", "description", "inputSchema", "Struct", "String", "content", "outputSchema", "id", "annotations", "handler", "fn", "data", "object", "Markdown", "make", "CollectionModel", "add", "Obj", "getDXN", "toString", "Effect", "Schema", "Database", "Ref", "defineFunction", "defineFunction", "key", "name", "description", "inputSchema", "Struct", "doc", "Ref", "Markdown", "Document", "annotations", "outputSchema", "content", "String", "handler", "fn", "data", "pipe", "Database", "load", "map", "_", "flatMap", "next", "A", "Effect", "Schema", "Database", "Ref", "DocAccessor", "createDocAccessor", "defineFunction", "trim", "Edit", "Struct", "oldString", "String", "annotations", "description", "newString", "replaceAll", "optional", "Boolean", "defineFunction", "key", "name", "trim", "inputSchema", "doc", "Ref", "Markdown", "Document", "edits", "Array", "outputSchema", "newContent", "handler", "fn", "data", "content", "pipe", "Database", "load", "map", "_", "flatMap", "accessor", "createDocAccessor", "edit", "handle", "change", "text", "DocAccessor", "getValue", "idx", "indexOf", "A", "splice", "path", "length", "updated", "Error", "JSON", "stringify", "MarkdownFunctions", "Create", "Open", "Update", "BLUEPRINT_KEY", "functions", "Object", "values", "MarkdownFunctions", "make", "Blueprint", "key", "name", "tools", "toolDefinitions", "instructions", "Template", "source", "trim", "blueprint"]
|
|
7
|
+
}
|