@dxos/plugin-markdown 0.8.4-main.5acf9ea → 0.8.4-main.66e292d
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/MarkdownCard-TC3GGUSX.mjs +12 -0
- package/dist/lib/browser/MarkdownCard-TC3GGUSX.mjs.map +7 -0
- package/dist/lib/browser/MarkdownContainer-YF22DV4M.mjs +15 -0
- package/dist/lib/browser/MarkdownContainer-YF22DV4M.mjs.map +7 -0
- package/dist/lib/browser/{anchor-sort-Z7JQA7RL.mjs → anchor-sort-3MYLO74J.mjs} +10 -10
- package/dist/lib/browser/anchor-sort-3MYLO74J.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-ZT5OVF5G.mjs → app-graph-serializer-BZJ4TQOE.mjs} +11 -12
- package/dist/lib/browser/app-graph-serializer-BZJ4TQOE.mjs.map +7 -0
- package/dist/lib/browser/blueprint-definition-HED54GGW.mjs +13 -0
- package/dist/lib/browser/blueprint-definition-HED54GGW.mjs.map +7 -0
- package/dist/lib/browser/chunk-3IPVL3E4.mjs +20 -0
- package/dist/lib/browser/chunk-3IPVL3E4.mjs.map +7 -0
- package/dist/lib/browser/chunk-BE3IO2CM.mjs +150 -0
- package/dist/lib/browser/chunk-BE3IO2CM.mjs.map +7 -0
- package/dist/lib/browser/{chunk-ZGY3DYC2.mjs → chunk-BQTYJOFB.mjs} +5 -7
- package/dist/lib/browser/chunk-BQTYJOFB.mjs.map +7 -0
- package/dist/lib/browser/{chunk-YHMGUSO7.mjs → chunk-CN35HEBX.mjs} +16 -17
- package/dist/lib/browser/chunk-CN35HEBX.mjs.map +7 -0
- package/dist/lib/browser/chunk-DLZ5RR3P.mjs +96 -0
- package/dist/lib/browser/chunk-DLZ5RR3P.mjs.map +7 -0
- package/dist/lib/browser/{chunk-CD4E4K7J.mjs → chunk-IBCHVMZW.mjs} +2 -2
- package/dist/lib/browser/{chunk-CD4E4K7J.mjs.map → chunk-IBCHVMZW.mjs.map} +2 -2
- package/dist/lib/browser/{chunk-K7ZFMSC4.mjs → chunk-NXT2E2BG.mjs} +10 -5
- package/dist/lib/browser/chunk-NXT2E2BG.mjs.map +7 -0
- package/dist/lib/browser/{chunk-VMX5SDGW.mjs → chunk-OKNQ57GF.mjs} +9 -8
- package/dist/lib/browser/chunk-OKNQ57GF.mjs.map +7 -0
- package/dist/lib/browser/chunk-V7P7EIWG.mjs +829 -0
- package/dist/lib/browser/chunk-V7P7EIWG.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +32 -34
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-EBEF7WEI.mjs → intent-resolver-55ASQRIW.mjs} +22 -20
- package/dist/lib/browser/intent-resolver-55ASQRIW.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-ZPMZT4VU.mjs → react-surface-GPD6T435.mjs} +89 -86
- package/dist/lib/browser/react-surface-GPD6T435.mjs.map +7 -0
- package/dist/lib/browser/{settings-MBDK4TWE.mjs → settings-G3ZOXJQY.mjs} +5 -5
- package/dist/lib/browser/{settings-MBDK4TWE.mjs.map → settings-G3ZOXJQY.mjs.map} +1 -1
- package/dist/lib/browser/{state-ZA6PZPUI.mjs → state-BTUKVZHY.mjs} +5 -5
- package/dist/lib/browser/state-BTUKVZHY.mjs.map +7 -0
- package/dist/lib/browser/toolkit.mjs +13 -0
- package/dist/lib/browser/toolkit.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +2 -2
- package/dist/lib/node-esm/MarkdownCard-FTEHVH7P.mjs +13 -0
- package/dist/lib/node-esm/MarkdownCard-FTEHVH7P.mjs.map +7 -0
- package/dist/lib/node-esm/MarkdownContainer-L75AIJFM.mjs +16 -0
- package/dist/lib/node-esm/MarkdownContainer-L75AIJFM.mjs.map +7 -0
- package/dist/lib/node-esm/{anchor-sort-R6AAKYNG.mjs → anchor-sort-W4HCTYUQ.mjs} +10 -10
- package/dist/lib/node-esm/anchor-sort-W4HCTYUQ.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-X4M5QEI6.mjs → app-graph-serializer-OCTHXWLF.mjs} +11 -12
- package/dist/lib/node-esm/app-graph-serializer-OCTHXWLF.mjs.map +7 -0
- package/dist/lib/node-esm/blueprint-definition-HAQGJOMQ.mjs +14 -0
- package/dist/lib/node-esm/blueprint-definition-HAQGJOMQ.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-3DN4DPVA.mjs +151 -0
- package/dist/lib/node-esm/chunk-3DN4DPVA.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-LZK3TLKM.mjs → chunk-7GN66TDQ.mjs} +9 -8
- package/dist/lib/node-esm/chunk-7GN66TDQ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-B3J2M4YL.mjs → chunk-GMMVSXQ6.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-B3J2M4YL.mjs.map → chunk-GMMVSXQ6.mjs.map} +2 -2
- package/dist/lib/node-esm/{chunk-YGNVDYMB.mjs → chunk-I5JSQBPI.mjs} +10 -5
- package/dist/lib/node-esm/chunk-I5JSQBPI.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-RCIXKCVG.mjs → chunk-SHAMSMKQ.mjs} +5 -7
- package/dist/lib/node-esm/chunk-SHAMSMKQ.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-TYUGABTD.mjs +22 -0
- package/dist/lib/node-esm/chunk-TYUGABTD.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-UVLACSAE.mjs +830 -0
- package/dist/lib/node-esm/chunk-UVLACSAE.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-6GCOJS4Y.mjs → chunk-YFRTKXTB.mjs} +16 -17
- package/dist/lib/node-esm/chunk-YFRTKXTB.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-ZNS55FS3.mjs +97 -0
- package/dist/lib/node-esm/chunk-ZNS55FS3.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +32 -34
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-L2UGZ72W.mjs → intent-resolver-DTBVWCNO.mjs} +22 -20
- package/dist/lib/node-esm/intent-resolver-DTBVWCNO.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-3JJSTTQP.mjs → react-surface-QWG7CJ5U.mjs} +89 -86
- package/dist/lib/node-esm/react-surface-QWG7CJ5U.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-LBDWWPZJ.mjs → settings-IBFFCGNL.mjs} +5 -5
- package/dist/lib/node-esm/{settings-LBDWWPZJ.mjs.map → settings-IBFFCGNL.mjs.map} +1 -1
- package/dist/lib/node-esm/{state-UIHO2SFZ.mjs → state-K6EH7SRZ.mjs} +5 -5
- package/dist/lib/node-esm/state-K6EH7SRZ.mjs.map +7 -0
- package/dist/lib/node-esm/toolkit.mjs +14 -0
- package/dist/lib/node-esm/toolkit.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +2 -2
- package/dist/types/src/MarkdownPlugin.d.ts +1 -1
- package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/anchor-sort.d.ts +2 -4
- package/dist/types/src/capabilities/anchor-sort.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-serializer.d.ts +1 -1
- package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
- package/dist/types/src/capabilities/artifact-definition.d.ts +1 -9
- package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
- package/dist/types/src/capabilities/blueprint-definition.d.ts +7 -0
- package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
- package/dist/types/src/capabilities/capabilities.d.ts +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +10 -12
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings.d.ts +1 -1
- package/dist/types/src/capabilities/state.d.ts +2 -2
- package/dist/types/src/capabilities/state.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts +7 -0
- package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts.map +1 -0
- package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts +9 -0
- package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts.map +1 -0
- package/dist/types/src/components/MarkdownCard/index.d.ts +4 -0
- package/dist/types/src/components/MarkdownCard/index.d.ts.map +1 -0
- package/dist/types/src/components/MarkdownContainer.d.ts +8 -12
- package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownContainer.stories.d.ts +55 -5
- package/dist/types/src/components/MarkdownContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/FileUpload.d.ts +11 -0
- package/dist/types/src/components/MarkdownEditor/FileUpload.d.ts.map +1 -0
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +42 -23
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts +8 -15
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts +26 -0
- package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts.map +1 -0
- package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts +12 -0
- package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts.map +1 -0
- package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts.map +1 -1
- package/dist/types/src/components/Suggestions.stories.d.ts +1 -2
- package/dist/types/src/components/Suggestions.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +4 -2
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/functions/create.d.ts +8 -0
- package/dist/types/src/functions/create.d.ts.map +1 -0
- package/dist/types/src/functions/create.test.d.ts +2 -0
- package/dist/types/src/functions/create.test.d.ts.map +1 -0
- package/dist/types/src/functions/index.d.ts +18 -0
- package/dist/types/src/functions/index.d.ts.map +1 -0
- package/dist/types/src/functions/open.d.ts +7 -0
- package/dist/types/src/functions/open.d.ts.map +1 -0
- package/dist/types/src/functions/update.d.ts +6 -0
- package/dist/types/src/functions/update.d.ts.map +1 -0
- package/dist/types/src/functions/update.test.d.ts +2 -0
- package/dist/types/src/functions/update.test.d.ts.map +1 -0
- package/dist/types/src/hooks/index.d.ts +3 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useEditorMenuOptions.d.ts +9 -0
- package/dist/types/src/hooks/useEditorMenuOptions.d.ts.map +1 -0
- package/dist/types/src/hooks/useExtensions.d.ts +21 -0
- package/dist/types/src/hooks/useExtensions.d.ts.map +1 -0
- package/dist/types/src/hooks/useLinkQuery.d.ts +4 -0
- package/dist/types/src/hooks/useLinkQuery.d.ts.map +1 -0
- 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 +2 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +0 -1
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/testing.d.ts +6 -0
- package/dist/types/src/testing.d.ts.map +1 -0
- package/dist/types/src/toolkit.d.ts +3 -0
- package/dist/types/src/toolkit.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +5 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Markdown.d.ts +11 -9
- package/dist/types/src/types/Markdown.d.ts.map +1 -1
- package/dist/types/src/types/MarkdownAction.d.ts +7 -15
- package/dist/types/src/types/MarkdownAction.d.ts.map +1 -1
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +3 -3
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +76 -57
- package/src/MarkdownPlugin.tsx +90 -99
- package/src/capabilities/anchor-sort.ts +7 -6
- package/src/capabilities/app-graph-serializer.ts +7 -7
- package/src/capabilities/artifact-definition.ts +17 -21
- package/src/capabilities/blueprint-definition.ts +43 -0
- package/src/capabilities/capabilities.ts +2 -1
- package/src/capabilities/index.ts +3 -2
- package/src/capabilities/intent-resolver.ts +16 -15
- package/src/capabilities/react-surface.tsx +46 -67
- package/src/capabilities/state.ts +3 -2
- package/src/components/{MarkdownPreview/MarkdownPreview.stories.tsx → MarkdownCard/MarkdownCard.stories.tsx} +17 -18
- package/src/components/MarkdownCard/MarkdownCard.tsx +89 -0
- package/src/components/MarkdownCard/index.ts +9 -0
- package/src/components/MarkdownContainer.stories.tsx +79 -43
- package/src/components/MarkdownContainer.tsx +79 -220
- package/src/components/MarkdownEditor/FileUpload.tsx +63 -0
- package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +57 -34
- package/src/components/MarkdownEditor/MarkdownEditor.tsx +221 -272
- package/src/components/MarkdownEditor/MarkdownEditorContent.tsx +136 -0
- package/src/components/MarkdownEditor/MarkdownEditorToolbar.tsx +63 -0
- package/src/components/MarkdownSettings/MarkdownSettings.tsx +77 -74
- package/src/components/Suggestions.stories.tsx +54 -48
- package/src/components/index.ts +3 -1
- package/src/functions/create.conversations.json +1 -0
- package/src/functions/create.test.ts +128 -0
- package/src/functions/create.ts +34 -0
- package/src/functions/index.ts +13 -0
- package/src/functions/open.ts +32 -0
- package/src/functions/update.conversations.json +1 -0
- package/src/functions/update.test.ts +151 -0
- package/src/functions/update.ts +37 -0
- package/src/hooks/index.ts +3 -0
- package/src/hooks/useEditorMenuOptions.ts +71 -0
- package/src/{extensions.tsx → hooks/useExtensions.tsx} +66 -115
- package/src/hooks/useLinkQuery.ts +83 -0
- package/src/hooks/useSelectCurrentThread.tsx +15 -5
- package/src/index.ts +3 -1
- package/src/meta.ts +3 -6
- package/src/testing.ts +27 -0
- package/src/toolkit.ts +6 -0
- package/src/translations.ts +5 -0
- package/src/types/Markdown.ts +9 -7
- package/src/types/MarkdownAction.ts +5 -6
- package/src/types/index.ts +1 -0
- package/src/types/types.ts +1 -0
- package/src/util.tsx +10 -5
- package/dist/lib/browser/MarkdownContainer-NNBPE6A5.mjs +0 -779
- package/dist/lib/browser/MarkdownContainer-NNBPE6A5.mjs.map +0 -7
- package/dist/lib/browser/MarkdownPreview-7VG3K24R.mjs +0 -80
- package/dist/lib/browser/MarkdownPreview-7VG3K24R.mjs.map +0 -7
- package/dist/lib/browser/anchor-sort-Z7JQA7RL.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-ZT5OVF5G.mjs.map +0 -7
- package/dist/lib/browser/artifact-definition-7VNP5PCP.mjs +0 -145
- package/dist/lib/browser/artifact-definition-7VNP5PCP.mjs.map +0 -7
- package/dist/lib/browser/chunk-K7ZFMSC4.mjs.map +0 -7
- package/dist/lib/browser/chunk-VCUKIILA.mjs +0 -20
- package/dist/lib/browser/chunk-VCUKIILA.mjs.map +0 -7
- package/dist/lib/browser/chunk-VMX5SDGW.mjs.map +0 -7
- package/dist/lib/browser/chunk-YHMGUSO7.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZGY3DYC2.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-EBEF7WEI.mjs.map +0 -7
- package/dist/lib/browser/react-surface-ZPMZT4VU.mjs.map +0 -7
- package/dist/lib/browser/state-ZA6PZPUI.mjs.map +0 -7
- package/dist/lib/node-esm/MarkdownContainer-Q6UO7DKT.mjs +0 -780
- package/dist/lib/node-esm/MarkdownContainer-Q6UO7DKT.mjs.map +0 -7
- package/dist/lib/node-esm/MarkdownPreview-UVWR2YK3.mjs +0 -81
- package/dist/lib/node-esm/MarkdownPreview-UVWR2YK3.mjs.map +0 -7
- package/dist/lib/node-esm/anchor-sort-R6AAKYNG.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-X4M5QEI6.mjs.map +0 -7
- package/dist/lib/node-esm/artifact-definition-IRIILD7S.mjs +0 -146
- package/dist/lib/node-esm/artifact-definition-IRIILD7S.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-6GCOJS4Y.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-A7LLVI34.mjs +0 -22
- package/dist/lib/node-esm/chunk-A7LLVI34.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-LZK3TLKM.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-RCIXKCVG.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-YGNVDYMB.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-L2UGZ72W.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-3JJSTTQP.mjs.map +0 -7
- package/dist/lib/node-esm/state-UIHO2SFZ.mjs.map +0 -7
- package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts +0 -6
- package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts +0 -10
- package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownPreview/index.d.ts +0 -4
- package/dist/types/src/components/MarkdownPreview/index.d.ts.map +0 -1
- package/dist/types/src/components/Toolbar.stories.d.ts +0 -11
- package/dist/types/src/components/Toolbar.stories.d.ts.map +0 -1
- package/dist/types/src/extensions.d.ts +0 -24
- package/dist/types/src/extensions.d.ts.map +0 -1
- package/src/components/MarkdownPreview/MarkdownPreview.tsx +0 -73
- package/src/components/MarkdownPreview/index.ts +0 -9
- package/src/components/Toolbar.stories.tsx +0 -112
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MarkdownCard,
|
|
3
|
+
MarkdownCard_default
|
|
4
|
+
} from "./chunk-DLZ5RR3P.mjs";
|
|
5
|
+
import "./chunk-OKNQ57GF.mjs";
|
|
6
|
+
import "./chunk-CN35HEBX.mjs";
|
|
7
|
+
import "./chunk-BQTYJOFB.mjs";
|
|
8
|
+
export {
|
|
9
|
+
MarkdownCard,
|
|
10
|
+
MarkdownCard_default as default
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=MarkdownCard-TC3GGUSX.mjs.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MarkdownContainer,
|
|
3
|
+
MarkdownContainer_default
|
|
4
|
+
} from "./chunk-V7P7EIWG.mjs";
|
|
5
|
+
import "./chunk-3IPVL3E4.mjs";
|
|
6
|
+
import "./chunk-BE3IO2CM.mjs";
|
|
7
|
+
import "./chunk-IBCHVMZW.mjs";
|
|
8
|
+
import "./chunk-OKNQ57GF.mjs";
|
|
9
|
+
import "./chunk-CN35HEBX.mjs";
|
|
10
|
+
import "./chunk-BQTYJOFB.mjs";
|
|
11
|
+
export {
|
|
12
|
+
MarkdownContainer,
|
|
13
|
+
MarkdownContainer_default as default
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=MarkdownContainer-YF22DV4M.mjs.map
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Markdown_exports
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-CN35HEBX.mjs";
|
|
4
|
+
import "./chunk-BQTYJOFB.mjs";
|
|
5
5
|
|
|
6
6
|
// src/capabilities/anchor-sort.ts
|
|
7
7
|
import { Capabilities, contributes } from "@dxos/app-framework";
|
|
8
|
-
import {
|
|
9
|
-
import { createDocAccessor, getRangeFromCursor
|
|
10
|
-
var anchor_sort_default = () => contributes(Capabilities.AnchorSort, {
|
|
11
|
-
key:
|
|
8
|
+
import { Relation } from "@dxos/echo";
|
|
9
|
+
import { createDocAccessor, getRangeFromCursor } from "@dxos/echo-db";
|
|
10
|
+
var anchor_sort_default = (() => contributes(Capabilities.AnchorSort, {
|
|
11
|
+
key: Markdown_exports.Document.typename,
|
|
12
12
|
sort: (anchorA, anchorB) => {
|
|
13
|
-
const doc = getTarget(anchorA);
|
|
13
|
+
const doc = Relation.getTarget(anchorA);
|
|
14
14
|
const accessor = doc.content.target ? createDocAccessor(doc.content.target, [
|
|
15
15
|
"content"
|
|
16
16
|
]) : void 0;
|
|
17
|
-
if (doc !== getTarget(anchorB) || !accessor) {
|
|
17
|
+
if (doc !== Relation.getTarget(anchorB) || !accessor) {
|
|
18
18
|
return 0;
|
|
19
19
|
}
|
|
20
20
|
const getStartPosition = (cursor) => {
|
|
@@ -25,8 +25,8 @@ var anchor_sort_default = () => contributes(Capabilities.AnchorSort, {
|
|
|
25
25
|
const posB = getStartPosition(anchorB.anchor);
|
|
26
26
|
return posA - posB;
|
|
27
27
|
}
|
|
28
|
-
});
|
|
28
|
+
}));
|
|
29
29
|
export {
|
|
30
30
|
anchor_sort_default as default
|
|
31
31
|
};
|
|
32
|
-
//# sourceMappingURL=anchor-sort-
|
|
32
|
+
//# sourceMappingURL=anchor-sort-3MYLO74J.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/anchor-sort.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes } from '@dxos/app-framework';\nimport { Relation } from '@dxos/echo';\nimport { createDocAccessor, getRangeFromCursor } from '@dxos/echo-db';\nimport { type AnchoredTo } from '@dxos/types';\n\nimport { Markdown } from '../types';\n\nexport default () =>\n contributes(Capabilities.AnchorSort, {\n key: Markdown.Document.typename,\n sort: (anchorA: AnchoredTo.AnchoredTo, anchorB: AnchoredTo.AnchoredTo) => {\n const doc = Relation.getTarget(anchorA) as Markdown.Document;\n const accessor = doc.content.target ? createDocAccessor(doc.content.target, ['content']) : undefined;\n if (doc !== Relation.getTarget(anchorB) || !accessor) {\n return 0;\n }\n\n const getStartPosition = (cursor: string | undefined) => {\n const range = cursor ? getRangeFromCursor(accessor, cursor) : undefined;\n return range?.start ?? Number.MAX_SAFE_INTEGER;\n };\n\n const posA = getStartPosition(anchorA.anchor);\n const posB = getStartPosition(anchorB.anchor);\n return posA - posB;\n },\n });\n"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,gBAAgB;AACzB,SAASC,mBAAmBC,0BAA0B;AAKtD,IAAA,uBAAe,MACbC,YAAYC,aAAaC,YAAY;EACnCC,KAAKC,iBAASC,SAASC;EACvBC,MAAM,CAACC,SAAgCC,YAAAA;AACrC,UAAMC,MAAMC,SAASC,UAAUJ,OAAAA;AAC/B,UAAMK,WAAWH,IAAII,QAAQC,SAASC,kBAAkBN,IAAII,QAAQC,QAAQ;MAAC;KAAU,IAAIE;AAC3F,QAAIP,QAAQC,SAASC,UAAUH,OAAAA,KAAY,CAACI,UAAU;AACpD,aAAO;IACT;AAEA,UAAMK,mBAAmB,CAACC,WAAAA;AACxB,YAAMC,QAAQD,SAASE,mBAAmBR,UAAUM,MAAAA,IAAUF;AAC9D,aAAOG,OAAOE,SAASC,OAAOC;IAChC;AAEA,UAAMC,OAAOP,iBAAiBV,QAAQkB,MAAM;AAC5C,UAAMC,OAAOT,iBAAiBT,QAAQiB,MAAM;AAC5C,WAAOD,OAAOE;EAChB;AACF,CAAA;",
|
|
6
|
+
"names": ["Capabilities", "contributes", "Relation", "createDocAccessor", "getRangeFromCursor", "contributes", "Capabilities", "AnchorSort", "key", "Markdown", "Document", "typename", "sort", "anchorA", "anchorB", "doc", "Relation", "getTarget", "accessor", "content", "target", "createDocAccessor", "undefined", "getStartPosition", "cursor", "range", "getRangeFromCursor", "start", "Number", "MAX_SAFE_INTEGER", "posA", "anchor", "posB"]
|
|
7
|
+
}
|
package/dist/lib/browser/{app-graph-serializer-ZT5OVF5G.mjs → app-graph-serializer-BZJ4TQOE.mjs}
RENAMED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import {
|
|
2
2
|
translations
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-NXT2E2BG.mjs";
|
|
4
4
|
import {
|
|
5
5
|
MarkdownAction_exports,
|
|
6
6
|
Markdown_exports
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-CN35HEBX.mjs";
|
|
8
|
+
import "./chunk-BQTYJOFB.mjs";
|
|
9
9
|
|
|
10
10
|
// src/capabilities/app-graph-serializer.ts
|
|
11
|
-
import
|
|
12
|
-
import {
|
|
11
|
+
import * as Function from "effect/Function";
|
|
12
|
+
import { Capabilities, chain, contributes, createIntent } from "@dxos/app-framework";
|
|
13
13
|
import { Obj } from "@dxos/echo";
|
|
14
14
|
import { SpaceAction } from "@dxos/plugin-space/types";
|
|
15
15
|
import { isSpace } from "@dxos/react-client/echo";
|
|
16
|
-
import {
|
|
17
|
-
var app_graph_serializer_default = (context) => contributes(Capabilities.AppGraphSerializer, [
|
|
16
|
+
import { Collection } from "@dxos/schema";
|
|
17
|
+
var app_graph_serializer_default = ((context) => contributes(Capabilities.AppGraphSerializer, [
|
|
18
18
|
{
|
|
19
19
|
inputType: Markdown_exports.Document.typename,
|
|
20
20
|
outputType: "text/markdown",
|
|
@@ -30,13 +30,12 @@ var app_graph_serializer_default = (context) => contributes(Capabilities.AppGrap
|
|
|
30
30
|
},
|
|
31
31
|
deserialize: async (data, ancestors) => {
|
|
32
32
|
const space = ancestors.find(isSpace);
|
|
33
|
-
const target = ancestors.findLast((ancestor) => Obj.instanceOf(
|
|
33
|
+
const target = ancestors.findLast((ancestor) => Obj.instanceOf(Collection.Collection, ancestor)) ?? space?.properties[Collection.Collection.typename]?.target;
|
|
34
34
|
if (!space || !target) {
|
|
35
35
|
return;
|
|
36
36
|
}
|
|
37
37
|
const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
|
|
38
|
-
const result = await dispatch(pipe(createIntent(MarkdownAction_exports.Create, {
|
|
39
|
-
spaceId: space.id,
|
|
38
|
+
const result = await dispatch(Function.pipe(createIntent(MarkdownAction_exports.Create, {
|
|
40
39
|
name: data.name,
|
|
41
40
|
content: data.data
|
|
42
41
|
}), chain(SpaceAction.AddObject, {
|
|
@@ -45,8 +44,8 @@ var app_graph_serializer_default = (context) => contributes(Capabilities.AppGrap
|
|
|
45
44
|
return result.data?.object;
|
|
46
45
|
}
|
|
47
46
|
}
|
|
48
|
-
]);
|
|
47
|
+
]));
|
|
49
48
|
export {
|
|
50
49
|
app_graph_serializer_default as default
|
|
51
50
|
};
|
|
52
|
-
//# sourceMappingURL=app-graph-serializer-
|
|
51
|
+
//# sourceMappingURL=app-graph-serializer-BZJ4TQOE.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/app-graph-serializer.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Function from 'effect/Function';\n\nimport { Capabilities, type PluginContext, chain, contributes, createIntent } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { isSpace } from '@dxos/react-client/echo';\nimport { Collection } from '@dxos/schema';\n\nimport { translations } from '../translations';\nimport { Markdown, MarkdownAction } from '../types';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.AppGraphSerializer, [\n {\n inputType: Markdown.Document.typename,\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'][Markdown.Document.typename]['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?.properties[Collection.Collection.typename]?.target;\n if (!space || !target) {\n return;\n }\n\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const result = await dispatch(\n Function.pipe(\n createIntent(MarkdownAction.Create, { name: data.name, content: data.data }),\n chain(SpaceAction.AddObject, { target }),\n ),\n );\n\n return result.data?.object;\n },\n },\n ]);\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;AAIA,YAAYA,cAAc;AAE1B,SAASC,cAAkCC,OAAOC,aAAaC,oBAAoB;AACnF,SAASC,WAAW;AACpB,SAASC,mBAAmB;AAC5B,SAASC,eAAe;AACxB,SAASC,kBAAkB;AAK3B,IAAA,gCAAe,CAACC,YACdC,YAAYC,aAAaC,oBAAoB;EAC3C;IACEC,WAAWC,iBAASC,SAASC;IAC7BC,YAAY;;IAEZC,WAAW,OAAOC,SAAAA;AAChB,YAAMC,MAAMD,KAAKE;AACjB,YAAMC,UAAU,MAAMF,IAAIE,QAAQC,KAAI;AACtC,aAAO;QACLC,MACEJ,IAAII,QACJJ,IAAIK,gBACJC,aAAa,CAAA,EAAG,OAAA,EAASZ,iBAASC,SAASC,QAAQ,EAAE,yBAAA;QACvDK,MAAMC,QAAQA;QACdK,MAAM;MACR;IACF;IACAC,aAAa,OAAOP,MAAMQ,cAAAA;AACxB,YAAMC,QAAQD,UAAUE,KAAKC,OAAAA;AAC7B,YAAMC,SACJJ,UAAUK,SAAS,CAACC,aAAaC,IAAIC,WAAWC,WAAWA,YAAYH,QAAAA,CAAAA,KACvEL,OAAOS,WAAWD,WAAWA,WAAWtB,QAAQ,GAAGiB;AACrD,UAAI,CAACH,SAAS,CAACG,QAAQ;AACrB;MACF;AAEA,YAAM,EAAEO,iBAAiBC,SAAQ,IAAKhC,QAAQiC,cAAc/B,aAAagC,gBAAgB;AACzF,YAAMC,SAAS,MAAMH,SACVI,cACPC,aAAaC,uBAAeC,QAAQ;QAAExB,MAAMH,KAAKG;QAAMF,SAASD,KAAKA;MAAK,CAAA,GAC1E4B,MAAMC,YAAYC,WAAW;QAAElB;MAAO,CAAA,CAAA,CAAA;AAI1C,aAAOW,OAAOvB,MAAM+B;IACtB;EACF;CACD;",
|
|
6
|
+
"names": ["Function", "Capabilities", "chain", "contributes", "createIntent", "Obj", "SpaceAction", "isSpace", "Collection", "context", "contributes", "Capabilities", "AppGraphSerializer", "inputType", "Markdown", "Document", "typename", "outputType", "serialize", "node", "doc", "data", "content", "load", "name", "fallbackName", "translations", "type", "deserialize", "ancestors", "space", "find", "isSpace", "target", "findLast", "ancestor", "Obj", "instanceOf", "Collection", "properties", "dispatchPromise", "dispatch", "getCapability", "IntentDispatcher", "result", "pipe", "createIntent", "MarkdownAction", "Create", "chain", "SpaceAction", "AddObject", "object"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MARKDOWN_BLUEPRINT_KEY,
|
|
3
|
+
MarkdownBlueprint,
|
|
4
|
+
blueprint_definition_default
|
|
5
|
+
} from "./chunk-BE3IO2CM.mjs";
|
|
6
|
+
import "./chunk-CN35HEBX.mjs";
|
|
7
|
+
import "./chunk-BQTYJOFB.mjs";
|
|
8
|
+
export {
|
|
9
|
+
MARKDOWN_BLUEPRINT_KEY,
|
|
10
|
+
MarkdownBlueprint,
|
|
11
|
+
blueprint_definition_default as default
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=blueprint-definition-HED54GGW.mjs.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// src/capabilities/index.ts
|
|
2
|
+
import { lazy } from "@dxos/app-framework";
|
|
3
|
+
var AnchorSort = lazy(() => import("./anchor-sort-3MYLO74J.mjs"));
|
|
4
|
+
var AppGraphSerializer = lazy(() => import("./app-graph-serializer-BZJ4TQOE.mjs"));
|
|
5
|
+
var BlueprintDefinition = lazy(() => import("./blueprint-definition-HED54GGW.mjs"));
|
|
6
|
+
var IntentResolver = lazy(() => import("./intent-resolver-55ASQRIW.mjs"));
|
|
7
|
+
var ReactSurface = lazy(() => import("./react-surface-GPD6T435.mjs"));
|
|
8
|
+
var MarkdownSettings = lazy(() => import("./settings-G3ZOXJQY.mjs"));
|
|
9
|
+
var MarkdownState = lazy(() => import("./state-BTUKVZHY.mjs"));
|
|
10
|
+
|
|
11
|
+
export {
|
|
12
|
+
AnchorSort,
|
|
13
|
+
AppGraphSerializer,
|
|
14
|
+
BlueprintDefinition,
|
|
15
|
+
IntentResolver,
|
|
16
|
+
ReactSurface,
|
|
17
|
+
MarkdownSettings,
|
|
18
|
+
MarkdownState
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=chunk-3IPVL3E4.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AnchorSort: any = lazy(() => import('./anchor-sort'));\nexport const AppGraphSerializer = lazy(() => import('./app-graph-serializer'));\nexport const BlueprintDefinition = lazy(() => import('./blueprint-definition'));\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\nexport const MarkdownSettings = lazy(() => import('./settings'));\nexport const MarkdownState = lazy(() => import('./state'));\n\nexport * from './blueprint-definition';\nexport * from './capabilities';\n"],
|
|
5
|
+
"mappings": ";AAIA,SAASA,YAAY;AAEd,IAAMC,aAAkBC,KAAK,MAAM,OAAO,4BAAA,CAAA;AAC1C,IAAMC,qBAAqBD,KAAK,MAAM,OAAO,qCAAA,CAAA;AAC7C,IAAME,sBAAsBF,KAAK,MAAM,OAAO,qCAAA,CAAA;AAC9C,IAAMG,iBAAiBH,KAAK,MAAM,OAAO,gCAAA,CAAA;AACzC,IAAMI,eAAeJ,KAAK,MAAM,OAAO,8BAAA,CAAA;AACvC,IAAMK,mBAAmBL,KAAK,MAAM,OAAO,yBAAA,CAAA;AAC3C,IAAMM,gBAAgBN,KAAK,MAAM,OAAO,sBAAA,CAAA;",
|
|
6
|
+
"names": ["lazy", "AnchorSort", "lazy", "AppGraphSerializer", "BlueprintDefinition", "IntentResolver", "ReactSurface", "MarkdownSettings", "MarkdownState"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Markdown_exports
|
|
3
|
+
} from "./chunk-CN35HEBX.mjs";
|
|
4
|
+
|
|
5
|
+
// src/capabilities/blueprint-definition.ts
|
|
6
|
+
import { Capabilities, contributes } from "@dxos/app-framework";
|
|
7
|
+
import { Blueprint, Template } from "@dxos/blueprints";
|
|
8
|
+
import { trim as trim2 } from "@dxos/util";
|
|
9
|
+
|
|
10
|
+
// src/functions/create.ts
|
|
11
|
+
import * as Effect from "effect/Effect";
|
|
12
|
+
import * as Schema from "effect/Schema";
|
|
13
|
+
import { ArtifactId } from "@dxos/assistant";
|
|
14
|
+
import { Obj } from "@dxos/echo";
|
|
15
|
+
import { defineFunction } from "@dxos/functions";
|
|
16
|
+
import { Collection } from "@dxos/schema";
|
|
17
|
+
var create_default = defineFunction({
|
|
18
|
+
key: "dxos.org/function/markdown/create",
|
|
19
|
+
name: "Create",
|
|
20
|
+
description: "Creates a new markdown document and adds it to the space.",
|
|
21
|
+
inputSchema: Schema.Struct({
|
|
22
|
+
name: Schema.String,
|
|
23
|
+
content: Schema.String
|
|
24
|
+
}),
|
|
25
|
+
outputSchema: Schema.Struct({
|
|
26
|
+
id: ArtifactId
|
|
27
|
+
}),
|
|
28
|
+
handler: Effect.fn(function* ({ data: { name, content } }) {
|
|
29
|
+
const object = Markdown_exports.make({
|
|
30
|
+
name,
|
|
31
|
+
content
|
|
32
|
+
});
|
|
33
|
+
yield* Collection.add({
|
|
34
|
+
object
|
|
35
|
+
});
|
|
36
|
+
return {
|
|
37
|
+
id: Obj.getDXN(object).toString()
|
|
38
|
+
};
|
|
39
|
+
})
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
// src/functions/open.ts
|
|
43
|
+
import * as Effect2 from "effect/Effect";
|
|
44
|
+
import * as Schema2 from "effect/Schema";
|
|
45
|
+
import { ArtifactId as ArtifactId2 } from "@dxos/assistant";
|
|
46
|
+
import { DatabaseService, defineFunction as defineFunction2 } from "@dxos/functions";
|
|
47
|
+
var open_default = defineFunction2({
|
|
48
|
+
key: "dxos.org/function/markdown/open",
|
|
49
|
+
name: "Open",
|
|
50
|
+
description: "Opens and reads the contents of a new markdown document.",
|
|
51
|
+
inputSchema: Schema2.Struct({
|
|
52
|
+
id: ArtifactId2.annotations({
|
|
53
|
+
description: "The ID of the markdown document."
|
|
54
|
+
})
|
|
55
|
+
}),
|
|
56
|
+
outputSchema: Schema2.Struct({
|
|
57
|
+
content: Schema2.String
|
|
58
|
+
}),
|
|
59
|
+
handler: Effect2.fn(function* ({ data: { id } }) {
|
|
60
|
+
const object = yield* DatabaseService.resolve(ArtifactId2.toDXN(id), Markdown_exports.Document);
|
|
61
|
+
const { content } = yield* Effect2.promise(() => object.content.load());
|
|
62
|
+
return {
|
|
63
|
+
content
|
|
64
|
+
};
|
|
65
|
+
})
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
// src/functions/update.ts
|
|
69
|
+
import * as Effect3 from "effect/Effect";
|
|
70
|
+
import * as Schema3 from "effect/Schema";
|
|
71
|
+
import { ArtifactId as ArtifactId3, applyDiffs } from "@dxos/assistant";
|
|
72
|
+
import { createDocAccessor } from "@dxos/echo-db";
|
|
73
|
+
import { DatabaseService as DatabaseService2, defineFunction as defineFunction3 } from "@dxos/functions";
|
|
74
|
+
import { trim } from "@dxos/util";
|
|
75
|
+
var update_default = defineFunction3({
|
|
76
|
+
key: "dxos.org/function/markdown/update",
|
|
77
|
+
name: "Update",
|
|
78
|
+
description: trim`
|
|
79
|
+
Applies a set of diffs to the markdown document.
|
|
80
|
+
`,
|
|
81
|
+
inputSchema: Schema3.Struct({
|
|
82
|
+
id: ArtifactId3.annotations({
|
|
83
|
+
description: "The ID of the markdown document."
|
|
84
|
+
}),
|
|
85
|
+
diffs: Schema3.Array(Schema3.String).annotations({
|
|
86
|
+
description: "The diffs to apply to the document."
|
|
87
|
+
})
|
|
88
|
+
}),
|
|
89
|
+
outputSchema: Schema3.Void,
|
|
90
|
+
handler: Effect3.fn(function* ({ data: { id, diffs } }) {
|
|
91
|
+
const object = yield* DatabaseService2.resolve(ArtifactId3.toDXN(id), Markdown_exports.Document);
|
|
92
|
+
const content = yield* Effect3.promise(() => object.content.load());
|
|
93
|
+
const accessor = createDocAccessor(content, [
|
|
94
|
+
"content"
|
|
95
|
+
]);
|
|
96
|
+
applyDiffs(accessor, diffs);
|
|
97
|
+
})
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
// src/functions/index.ts
|
|
101
|
+
var MarkdownFunction = {
|
|
102
|
+
create: create_default,
|
|
103
|
+
open: open_default,
|
|
104
|
+
update: update_default
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
// src/capabilities/blueprint-definition.ts
|
|
108
|
+
var functions = [
|
|
109
|
+
MarkdownFunction.create,
|
|
110
|
+
MarkdownFunction.open,
|
|
111
|
+
MarkdownFunction.update
|
|
112
|
+
];
|
|
113
|
+
var MARKDOWN_BLUEPRINT_KEY = "dxos.org/blueprint/markdown";
|
|
114
|
+
var MarkdownBlueprint = Blueprint.make({
|
|
115
|
+
key: MARKDOWN_BLUEPRINT_KEY,
|
|
116
|
+
name: "Markdown",
|
|
117
|
+
tools: Blueprint.toolDefinitions({
|
|
118
|
+
functions
|
|
119
|
+
}),
|
|
120
|
+
instructions: Template.make({
|
|
121
|
+
// TODO(wittjosiah): Move example to function input schema annotation.
|
|
122
|
+
source: trim2`
|
|
123
|
+
{{! Markdown }}
|
|
124
|
+
|
|
125
|
+
You can create, read and update markdown documents.
|
|
126
|
+
When asked to edit or update documents return updates as a set of compact diff string pairs.
|
|
127
|
+
For each diff, respond with the smallest possible matching span.
|
|
128
|
+
|
|
129
|
+
Example:
|
|
130
|
+
${"```"}diff
|
|
131
|
+
- "There is a tyop in this sentence."
|
|
132
|
+
+ "There is a typo in this sentence."
|
|
133
|
+
- "This id good."
|
|
134
|
+
+ "This sentence is really good."
|
|
135
|
+
${"```"}
|
|
136
|
+
`
|
|
137
|
+
})
|
|
138
|
+
});
|
|
139
|
+
var blueprint_definition_default = (() => [
|
|
140
|
+
contributes(Capabilities.Functions, functions),
|
|
141
|
+
contributes(Capabilities.BlueprintDefinition, MarkdownBlueprint)
|
|
142
|
+
]);
|
|
143
|
+
|
|
144
|
+
export {
|
|
145
|
+
MarkdownFunction,
|
|
146
|
+
MARKDOWN_BLUEPRINT_KEY,
|
|
147
|
+
MarkdownBlueprint,
|
|
148
|
+
blueprint_definition_default
|
|
149
|
+
};
|
|
150
|
+
//# sourceMappingURL=chunk-BE3IO2CM.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/blueprint-definition.ts", "../../../src/functions/create.ts", "../../../src/functions/open.ts", "../../../src/functions/update.ts", "../../../src/functions/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes } from '@dxos/app-framework';\nimport { Blueprint, Template } from '@dxos/blueprints';\nimport { type FunctionDefinition } from '@dxos/functions';\nimport { trim } from '@dxos/util';\n\nimport { MarkdownFunction } from '../functions';\n\nconst functions: FunctionDefinition[] = [MarkdownFunction.create, MarkdownFunction.open, MarkdownFunction.update];\n\nexport const MARKDOWN_BLUEPRINT_KEY = 'dxos.org/blueprint/markdown';\n\nexport const MarkdownBlueprint: Blueprint.Blueprint = Blueprint.make({\n key: MARKDOWN_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\nexport default () => [\n contributes(Capabilities.Functions, functions),\n contributes(Capabilities.BlueprintDefinition, MarkdownBlueprint),\n];\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { ArtifactId } from '@dxos/assistant';\nimport { Obj } from '@dxos/echo';\nimport { defineFunction } from '@dxos/functions';\nimport { Collection } from '@dxos/schema';\n\nimport { Markdown } from '../types';\n\nexport default defineFunction({\n key: 'dxos.org/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: ArtifactId,\n }),\n handler: Effect.fn(function* ({ data: { name, content } }) {\n const object = Markdown.make({ name, content });\n yield* Collection.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 { ArtifactId } from '@dxos/assistant';\nimport { DatabaseService, defineFunction } from '@dxos/functions';\n\nimport { Markdown } from '../types';\n\nexport default defineFunction({\n key: 'dxos.org/function/markdown/open',\n name: 'Open',\n description: 'Opens and reads the contents of a new markdown document.',\n inputSchema: Schema.Struct({\n id: ArtifactId.annotations({\n description: 'The ID of the markdown document.',\n }),\n }),\n outputSchema: Schema.Struct({\n content: Schema.String,\n }),\n handler: Effect.fn(function* ({ data: { id } }) {\n const object = yield* DatabaseService.resolve(ArtifactId.toDXN(id), Markdown.Document);\n const { content } = yield* Effect.promise(() => object.content.load());\n return {\n content,\n };\n }),\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { ArtifactId, applyDiffs } from '@dxos/assistant';\nimport { createDocAccessor } from '@dxos/echo-db';\nimport { DatabaseService, defineFunction } from '@dxos/functions';\nimport { trim } from '@dxos/util';\n\nimport { Markdown } from '../types';\n\n// TODO(wittjosiah): Reconcile with ThreadAction.AddProposal.\nexport default defineFunction({\n key: 'dxos.org/function/markdown/update',\n name: 'Update',\n description: trim`\n Applies a set of diffs to the markdown document.\n `,\n inputSchema: Schema.Struct({\n id: ArtifactId.annotations({\n description: 'The ID of the markdown document.',\n }),\n diffs: Schema.Array(Schema.String).annotations({\n description: 'The diffs to apply to the document.',\n }),\n }),\n outputSchema: Schema.Void,\n handler: Effect.fn(function* ({ data: { id, diffs } }) {\n const object = yield* DatabaseService.resolve(ArtifactId.toDXN(id), Markdown.Document);\n const content = yield* Effect.promise(() => object.content.load());\n const accessor = createDocAccessor(content, ['content']);\n applyDiffs(accessor, diffs);\n }),\n});\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { default as create } from './create';\nimport { default as open } from './open';\nimport { default as update } from './update';\n\nexport const MarkdownFunction = {\n create,\n open,\n update,\n};\n"],
|
|
5
|
+
"mappings": ";;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,WAAWC,gBAAgB;AAEpC,SAASC,QAAAA,aAAY;;;ACHrB,YAAYC,YAAY;AACxB,YAAYC,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,WAAW;AACpB,SAASC,sBAAsB;AAC/B,SAASC,kBAAkB;AAI3B,IAAA,iBAAeC,eAAe;EAC5BC,KAAK;EACLC,MAAM;EACNC,aAAa;EACbC,aAAoBC,cAAO;IACzBH,MAAaI;IACbC,SAAgBD;EAClB,CAAA;EACAE,cAAqBH,cAAO;IAC1BI,IAAIC;EACN,CAAA;EACAC,SAAgBC,UAAG,WAAW,EAAEC,MAAM,EAAEX,MAAMK,QAAO,EAAE,GAAE;AACvD,UAAMO,SAASC,iBAASC,KAAK;MAAEd;MAAMK;IAAQ,CAAA;AAC7C,WAAOU,WAAWC,IAAI;MAAEJ;IAAO,CAAA;AAE/B,WAAO;MACLL,IAAIU,IAAIC,OAAON,MAAAA,EAAQO,SAAQ;IACjC;EACF,CAAA;AACF,CAAA;;;AC7BA,YAAYC,aAAY;AACxB,YAAYC,aAAY;AAExB,SAASC,cAAAA,mBAAkB;AAC3B,SAASC,iBAAiBC,kBAAAA,uBAAsB;AAIhD,IAAA,eAAeC,gBAAe;EAC5BC,KAAK;EACLC,MAAM;EACNC,aAAa;EACbC,aAAoBC,eAAO;IACzBC,IAAIC,YAAWC,YAAY;MACzBL,aAAa;IACf,CAAA;EACF,CAAA;EACAM,cAAqBJ,eAAO;IAC1BK,SAAgBC;EAClB,CAAA;EACAC,SAAgBC,WAAG,WAAW,EAAEC,MAAM,EAAER,GAAE,EAAE,GAAE;AAC5C,UAAMS,SAAS,OAAOC,gBAAgBC,QAAQV,YAAWW,MAAMZ,EAAAA,GAAKa,iBAASC,QAAQ;AACrF,UAAM,EAAEV,QAAO,IAAK,OAAcW,gBAAQ,MAAMN,OAAOL,QAAQY,KAAI,CAAA;AACnE,WAAO;MACLZ;IACF;EACF,CAAA;AACF,CAAA;;;AC3BA,YAAYa,aAAY;AACxB,YAAYC,aAAY;AAExB,SAASC,cAAAA,aAAYC,kBAAkB;AACvC,SAASC,yBAAyB;AAClC,SAASC,mBAAAA,kBAAiBC,kBAAAA,uBAAsB;AAChD,SAASC,YAAY;AAKrB,IAAA,iBAAeC,gBAAe;EAC5BC,KAAK;EACLC,MAAM;EACNC,aAAaC;;;EAGbC,aAAoBC,eAAO;IACzBC,IAAIC,YAAWC,YAAY;MACzBN,aAAa;IACf,CAAA;IACAO,OAAcC,cAAaC,cAAM,EAAEH,YAAY;MAC7CN,aAAa;IACf,CAAA;EACF,CAAA;EACAU,cAAqBC;EACrBC,SAAgBC,WAAG,WAAW,EAAEC,MAAM,EAAEV,IAAIG,MAAK,EAAE,GAAE;AACnD,UAAMQ,SAAS,OAAOC,iBAAgBC,QAAQZ,YAAWa,MAAMd,EAAAA,GAAKe,iBAASC,QAAQ;AACrF,UAAMC,UAAU,OAAcC,gBAAQ,MAAMP,OAAOM,QAAQE,KAAI,CAAA;AAC/D,UAAMC,WAAWC,kBAAkBJ,SAAS;MAAC;KAAU;AACvDK,eAAWF,UAAUjB,KAAAA;EACvB,CAAA;AACF,CAAA;;;AC5BO,IAAMoB,mBAAmB;EAC9BC;EACAC;EACAC;AACF;;;AJDA,IAAMC,YAAkC;EAACC,iBAAiBC;EAAQD,iBAAiBE;EAAMF,iBAAiBG;;AAEnG,IAAMC,yBAAyB;AAE/B,IAAMC,oBAAyCC,UAAUC,KAAK;EACnEC,KAAKJ;EACLK,MAAM;EACNC,OAAOJ,UAAUK,gBAAgB;IAAEZ;EAAU,CAAA;EAC7Ca,cAAcC,SAASN,KAAK;;IAE1BO,QAAQC;;;;;;;;QAQJ,KAAA;;;;;QAKA,KAAA;;EAEN,CAAA;AACF,CAAA;AAEA,IAAA,gCAAe,MAAM;EACnBC,YAAYC,aAAaC,WAAWnB,SAAAA;EACpCiB,YAAYC,aAAaE,qBAAqBd,iBAAAA;;",
|
|
6
|
+
"names": ["Capabilities", "contributes", "Blueprint", "Template", "trim", "Effect", "Schema", "ArtifactId", "Obj", "defineFunction", "Collection", "defineFunction", "key", "name", "description", "inputSchema", "Struct", "String", "content", "outputSchema", "id", "ArtifactId", "handler", "fn", "data", "object", "Markdown", "make", "Collection", "add", "Obj", "getDXN", "toString", "Effect", "Schema", "ArtifactId", "DatabaseService", "defineFunction", "defineFunction", "key", "name", "description", "inputSchema", "Struct", "id", "ArtifactId", "annotations", "outputSchema", "content", "String", "handler", "fn", "data", "object", "DatabaseService", "resolve", "toDXN", "Markdown", "Document", "promise", "load", "Effect", "Schema", "ArtifactId", "applyDiffs", "createDocAccessor", "DatabaseService", "defineFunction", "trim", "defineFunction", "key", "name", "description", "trim", "inputSchema", "Struct", "id", "ArtifactId", "annotations", "diffs", "Array", "String", "outputSchema", "Void", "handler", "fn", "data", "object", "DatabaseService", "resolve", "toDXN", "Markdown", "Document", "content", "promise", "load", "accessor", "createDocAccessor", "applyDiffs", "MarkdownFunction", "create", "open", "update", "functions", "MarkdownFunction", "create", "open", "update", "MARKDOWN_BLUEPRINT_KEY", "MarkdownBlueprint", "Blueprint", "make", "key", "name", "tools", "toolDefinitions", "instructions", "Template", "source", "trim", "contributes", "Capabilities", "Functions", "BlueprintDefinition"]
|
|
7
|
+
}
|
|
@@ -10,21 +10,19 @@ var meta = {
|
|
|
10
10
|
id: "dxos.org/plugin/markdown",
|
|
11
11
|
name: "Markdown",
|
|
12
12
|
description: trim`
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
You can use documents to extend the memory of your personal agents and add context for automated workflows.
|
|
13
|
+
Full-featured collaborative markdown editor with real-time editing, inline comments, and rich formatting.
|
|
14
|
+
Supports AI-powered editing assistance and seamlessly integrates with other workspace objects.
|
|
16
15
|
`,
|
|
17
16
|
icon: "ph--text-aa--regular",
|
|
17
|
+
iconHue: "indigo",
|
|
18
18
|
source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-markdown",
|
|
19
19
|
screenshots: [
|
|
20
20
|
"https://dxos.network/plugin-details-markdown-dark.png"
|
|
21
21
|
]
|
|
22
22
|
};
|
|
23
|
-
var not_meta = meta;
|
|
24
23
|
|
|
25
24
|
export {
|
|
26
25
|
__export,
|
|
27
|
-
meta
|
|
28
|
-
not_meta
|
|
26
|
+
meta
|
|
29
27
|
};
|
|
30
|
-
//# sourceMappingURL=chunk-
|
|
28
|
+
//# sourceMappingURL=chunk-BQTYJOFB.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/meta.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: PluginMeta = {\n id: 'dxos.org/plugin/markdown',\n name: 'Markdown',\n description: trim`\n Full-featured collaborative markdown editor with real-time editing, inline comments, and rich formatting.\n Supports AI-powered editing assistance and seamlessly integrates with other workspace objects.\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: ['https://dxos.network/plugin-details-markdown-dark.png'],\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;AAKA,SAASA,YAAY;AAEd,IAAMC,OAAmB;EAC9BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;;EAIbC,MAAM;EACNC,SAAS;EACTC,QAAQ;EACRC,aAAa;IAAC;;AAChB;",
|
|
6
|
+
"names": ["trim", "meta", "id", "name", "description", "trim", "icon", "iconHue", "source", "screenshots"]
|
|
7
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
__export,
|
|
3
|
-
|
|
4
|
-
} from "./chunk-
|
|
3
|
+
meta
|
|
4
|
+
} from "./chunk-BQTYJOFB.mjs";
|
|
5
5
|
|
|
6
6
|
// src/types/MarkdownAction.ts
|
|
7
7
|
var MarkdownAction_exports = {};
|
|
@@ -9,8 +9,7 @@ __export(MarkdownAction_exports, {
|
|
|
9
9
|
Create: () => Create,
|
|
10
10
|
SetViewMode: () => SetViewMode
|
|
11
11
|
});
|
|
12
|
-
import
|
|
13
|
-
import { Type as Type2 } from "@dxos/echo";
|
|
12
|
+
import * as Schema2 from "effect/Schema";
|
|
14
13
|
import { EditorViewMode as EditorViewMode2 } from "@dxos/react-ui-editor/types";
|
|
15
14
|
|
|
16
15
|
// src/types/Markdown.ts
|
|
@@ -18,27 +17,28 @@ var Markdown_exports = {};
|
|
|
18
17
|
__export(Markdown_exports, {
|
|
19
18
|
Document: () => Document,
|
|
20
19
|
Settings: () => Settings,
|
|
21
|
-
|
|
20
|
+
make: () => make
|
|
22
21
|
});
|
|
23
|
-
import
|
|
22
|
+
import * as Schema from "effect/Schema";
|
|
24
23
|
import { Obj, Ref, Type } from "@dxos/echo";
|
|
25
|
-
import { LabelAnnotation } from "@dxos/echo
|
|
24
|
+
import { DescriptionAnnotation, FormInputAnnotation, LabelAnnotation } from "@dxos/echo/internal";
|
|
26
25
|
import { EditorInputMode, EditorViewMode } from "@dxos/react-ui-editor/types";
|
|
27
|
-
import {
|
|
26
|
+
import { Text } from "@dxos/schema";
|
|
28
27
|
var Document = Schema.Struct({
|
|
29
28
|
name: Schema.optional(Schema.String),
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
description: Schema.optional(Schema.String),
|
|
30
|
+
fallbackName: Schema.String.pipe(FormInputAnnotation.set(false), Schema.optional),
|
|
31
|
+
content: Type.Ref(Text.Text).pipe(FormInputAnnotation.set(false))
|
|
32
32
|
}).pipe(Type.Obj({
|
|
33
33
|
typename: "dxos.org/type/Document",
|
|
34
34
|
version: "0.1.0"
|
|
35
35
|
}), LabelAnnotation.set([
|
|
36
36
|
"name",
|
|
37
37
|
"fallbackName"
|
|
38
|
-
]));
|
|
39
|
-
var
|
|
38
|
+
]), DescriptionAnnotation.set("description"));
|
|
39
|
+
var make = ({ content = "", ...props } = {}) => Obj.make(Document, {
|
|
40
40
|
...props,
|
|
41
|
-
content: Ref.make(
|
|
41
|
+
content: Ref.make(Text.make(content))
|
|
42
42
|
});
|
|
43
43
|
var Settings = Schema.mutable(Schema.Struct({
|
|
44
44
|
defaultViewMode: EditorViewMode,
|
|
@@ -53,9 +53,8 @@ var Settings = Schema.mutable(Schema.Struct({
|
|
|
53
53
|
}));
|
|
54
54
|
|
|
55
55
|
// src/types/MarkdownAction.ts
|
|
56
|
-
var Create = class extends Schema2.TaggedClass()(`${
|
|
56
|
+
var Create = class extends Schema2.TaggedClass()(`${meta.id}/action/create`, {
|
|
57
57
|
input: Schema2.Struct({
|
|
58
|
-
spaceId: Type2.SpaceId,
|
|
59
58
|
name: Schema2.optional(Schema2.String),
|
|
60
59
|
content: Schema2.optional(Schema2.String)
|
|
61
60
|
}),
|
|
@@ -64,7 +63,7 @@ var Create = class extends Schema2.TaggedClass()(`${not_meta.id}/action/create`,
|
|
|
64
63
|
})
|
|
65
64
|
}) {
|
|
66
65
|
};
|
|
67
|
-
var SetViewMode = class extends Schema2.TaggedClass()(`${
|
|
66
|
+
var SetViewMode = class extends Schema2.TaggedClass()(`${meta.id}/action/set-view-mode`, {
|
|
68
67
|
input: Schema2.Struct({
|
|
69
68
|
id: Schema2.String,
|
|
70
69
|
viewMode: EditorViewMode2
|
|
@@ -77,4 +76,4 @@ export {
|
|
|
77
76
|
Markdown_exports,
|
|
78
77
|
MarkdownAction_exports
|
|
79
78
|
};
|
|
80
|
-
//# sourceMappingURL=chunk-
|
|
79
|
+
//# sourceMappingURL=chunk-CN35HEBX.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types/MarkdownAction.ts", "../../../src/types/Markdown.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { EditorViewMode } from '@dxos/react-ui-editor/types';\n\nimport { meta } from '../meta';\n\nimport { Document } from './Markdown';\n\nexport class Create extends Schema.TaggedClass<Create>()(`${meta.id}/action/create`, {\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\nexport class SetViewMode extends Schema.TaggedClass<SetViewMode>()(`${meta.id}/action/set-view-mode`, {\n input: Schema.Struct({\n id: Schema.String,\n viewMode: EditorViewMode,\n }),\n output: Schema.Void,\n}) {}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Obj, Ref, Type } from '@dxos/echo';\nimport { DescriptionAnnotation, FormInputAnnotation, LabelAnnotation } from '@dxos/echo/internal';\nimport { EditorInputMode, EditorViewMode } from '@dxos/react-ui-editor/types';\nimport { Text } from '@dxos/schema';\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: Type.Ref(Text.Text).pipe(FormInputAnnotation.set(false)),\n}).pipe(\n Type.Obj({\n typename: 'dxos.org/type/Document',\n version: '0.1.0',\n }),\n LabelAnnotation.set(['name', 'fallbackName']),\n DescriptionAnnotation.set('description'),\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 Obj.make(Document, { ...props, content: Ref.make(Text.make(content)) });\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"],
|
|
5
|
+
"mappings": ";;;;;;AAAA;;;;;AAIA,YAAYA,aAAY;AAExB,SAASC,kBAAAA,uBAAsB;;;ACN/B;;;;;;AAIA,YAAYC,YAAY;AAExB,SAASC,KAAKC,KAAKC,YAAY;AAC/B,SAASC,uBAAuBC,qBAAqBC,uBAAuB;AAC5E,SAASC,iBAAiBC,sBAAsB;AAChD,SAASC,YAAY;AAKd,IAAMC,WAAkBC,cAAO;EACpCC,MAAaC,gBAAgBC,aAAM;EACnCC,aAAoBF,gBAAgBC,aAAM;EAC1CE,cAAqBF,cAAOG,KAAKC,oBAAoBC,IAAI,KAAA,GAAeN,eAAQ;EAChFO,SAASC,KAAKC,IAAIC,KAAKA,IAAI,EAAEN,KAAKC,oBAAoBC,IAAI,KAAA,CAAA;AAC5D,CAAA,EAAGF,KACDI,KAAKG,IAAI;EACPC,UAAU;EACVC,SAAS;AACX,CAAA,GACAC,gBAAgBR,IAAI;EAAC;EAAQ;CAAe,GAC5CS,sBAAsBT,IAAI,aAAA,CAAA;AAQrB,IAAMU,OAAO,CAAC,EACnBT,UAAU,IACV,GAAGU,MAAAA,IACiE,CAAC,MACrEN,IAAIK,KAAKnB,UAAU;EAAE,GAAGoB;EAAOV,SAASE,IAAIO,KAAKN,KAAKM,KAAKT,OAAAA,CAAAA;AAAU,CAAA;AAKhE,IAAMW,WAAkBC,eACtBrB,cAAO;EACZsB,iBAAiBC;EACjBC,iBAAwBtB,gBAASuB,eAAAA;EACjCC,cAAqBxB,gBAAgByB,cAAO;EAC5CC,OAAc1B,gBAAgByB,cAAO;EACrCE,SAAgB3B,gBAAgByB,cAAO;EACvCG,YAAmB5B,gBAAgBC,aAAM;;EAEzC4B,kBAAyB7B,gBAAgByB,cAAO;EAChDK,SAAgB9B,gBAAgByB,cAAO;AACzC,CAAA,CAAA;;;ADzCK,IAAMM,SAAN,cAA4BC,oBAAW,EAAW,GAAGC,KAAKC,EAAE,kBAAkB;EACnFC,OAAcC,eAAO;IACnBC,MAAaC,iBAAgBC,cAAM;IACnCC,SAAgBF,iBAAgBC,cAAM;EACxC,CAAA;EACAE,QAAeL,eAAO;IACpBM,QAAQC;EACV,CAAA;AACF,CAAA,EAAA;AAAI;AAEG,IAAMC,cAAN,cAAiCZ,oBAAW,EAAgB,GAAGC,KAAKC,EAAE,yBAAyB;EACpGC,OAAcC,eAAO;IACnBF,IAAWK;IACXM,UAAUC;EACZ,CAAA;EACAL,QAAeM;AACjB,CAAA,EAAA;AAAI;",
|
|
6
|
+
"names": ["Schema", "EditorViewMode", "Schema", "Obj", "Ref", "Type", "DescriptionAnnotation", "FormInputAnnotation", "LabelAnnotation", "EditorInputMode", "EditorViewMode", "Text", "Document", "Struct", "name", "optional", "String", "description", "fallbackName", "pipe", "FormInputAnnotation", "set", "content", "Type", "Ref", "Text", "Obj", "typename", "version", "LabelAnnotation", "DescriptionAnnotation", "make", "props", "Settings", "mutable", "defaultViewMode", "EditorViewMode", "editorInputMode", "EditorInputMode", "experimental", "Boolean", "debug", "toolbar", "typewriter", "numberedHeadings", "folding", "Create", "TaggedClass", "meta", "id", "input", "Struct", "name", "optional", "String", "content", "output", "object", "Document", "SetViewMode", "viewMode", "EditorViewMode", "Void"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getContentSnippet,
|
|
3
|
+
getFallbackName
|
|
4
|
+
} from "./chunk-OKNQ57GF.mjs";
|
|
5
|
+
import {
|
|
6
|
+
Markdown_exports
|
|
7
|
+
} from "./chunk-CN35HEBX.mjs";
|
|
8
|
+
import {
|
|
9
|
+
meta
|
|
10
|
+
} from "./chunk-BQTYJOFB.mjs";
|
|
11
|
+
|
|
12
|
+
// src/components/MarkdownCard/MarkdownCard.tsx
|
|
13
|
+
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
14
|
+
import * as Function from "effect/Function";
|
|
15
|
+
import React, { useCallback } from "react";
|
|
16
|
+
import { LayoutAction, chain, createIntent } from "@dxos/app-framework";
|
|
17
|
+
import { useIntentDispatcher } from "@dxos/app-framework/react";
|
|
18
|
+
import { Obj } from "@dxos/echo";
|
|
19
|
+
import { IconButton, useTranslation } from "@dxos/react-ui";
|
|
20
|
+
import { Card } from "@dxos/react-ui-stack";
|
|
21
|
+
import { Text } from "@dxos/schema";
|
|
22
|
+
var MarkdownCard = ({ subject, role }) => {
|
|
23
|
+
var _effect = _useSignals();
|
|
24
|
+
try {
|
|
25
|
+
const { dispatchPromise: dispatch } = useIntentDispatcher();
|
|
26
|
+
const { t } = useTranslation(meta.id);
|
|
27
|
+
const snippet = getSnippet(subject, t("fallback abstract"));
|
|
28
|
+
const info = getInfo(subject);
|
|
29
|
+
const handleNavigate = useCallback(() => dispatch(Function.pipe(createIntent(LayoutAction.UpdatePopover, {
|
|
30
|
+
part: "popover",
|
|
31
|
+
subject: null,
|
|
32
|
+
options: {
|
|
33
|
+
state: false,
|
|
34
|
+
anchorId: ""
|
|
35
|
+
}
|
|
36
|
+
}), chain(LayoutAction.Open, {
|
|
37
|
+
part: "main",
|
|
38
|
+
subject: [
|
|
39
|
+
Obj.getDXN(subject).toString()
|
|
40
|
+
]
|
|
41
|
+
}))), [
|
|
42
|
+
dispatch,
|
|
43
|
+
subject
|
|
44
|
+
]);
|
|
45
|
+
return /* @__PURE__ */ React.createElement(Card.SurfaceRoot, {
|
|
46
|
+
role
|
|
47
|
+
}, /* @__PURE__ */ React.createElement(Card.Heading, {
|
|
48
|
+
classNames: "flex items-center"
|
|
49
|
+
}, getTitle(subject, t("fallback title")), /* @__PURE__ */ React.createElement("span", {
|
|
50
|
+
className: "grow"
|
|
51
|
+
}), /* @__PURE__ */ React.createElement(IconButton, {
|
|
52
|
+
iconOnly: true,
|
|
53
|
+
icon: "ph--arrow-right--regular",
|
|
54
|
+
label: t("navigate to document label"),
|
|
55
|
+
onClick: handleNavigate
|
|
56
|
+
})), snippet && /* @__PURE__ */ React.createElement(Card.Text, {
|
|
57
|
+
classNames: "line-clamp-3 text-sm text-description"
|
|
58
|
+
}, snippet), /* @__PURE__ */ React.createElement(Card.Text, {
|
|
59
|
+
classNames: "text-xs text-description"
|
|
60
|
+
}, info.words, " ", t("words label", {
|
|
61
|
+
count: info.words
|
|
62
|
+
})));
|
|
63
|
+
} finally {
|
|
64
|
+
_effect.f();
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
var getInfo = (subject) => {
|
|
68
|
+
const text = (Obj.instanceOf(Markdown_exports.Document, subject) ? subject.content?.target?.content : subject.content) ?? "";
|
|
69
|
+
return {
|
|
70
|
+
words: text.split(" ").length
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
var getTitle = (subject, fallback) => {
|
|
74
|
+
if (Obj.instanceOf(Markdown_exports.Document, subject)) {
|
|
75
|
+
const title = Obj.getLabel(subject);
|
|
76
|
+
return title ?? getFallbackName(subject.content?.target?.content ?? fallback);
|
|
77
|
+
} else if (Obj.instanceOf(Text.Text, subject)) {
|
|
78
|
+
return getFallbackName(subject.content);
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
var getSnippet = (subject, fallback) => {
|
|
82
|
+
if (Obj.instanceOf(Markdown_exports.Document, subject)) {
|
|
83
|
+
return Obj.getDescription(subject) || getContentSnippet(subject.content?.target?.content ?? fallback);
|
|
84
|
+
} else if (Obj.instanceOf(Text.Text, subject)) {
|
|
85
|
+
return getContentSnippet(subject.content ?? fallback);
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
// src/components/MarkdownCard/index.ts
|
|
90
|
+
var MarkdownCard_default = MarkdownCard;
|
|
91
|
+
|
|
92
|
+
export {
|
|
93
|
+
MarkdownCard,
|
|
94
|
+
MarkdownCard_default
|
|
95
|
+
};
|
|
96
|
+
//# sourceMappingURL=chunk-DLZ5RR3P.mjs.map
|