@dxos/plugin-markdown 0.8.4-main.e8ec1fe → 0.8.4-main.effb148878
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/LICENSE +102 -5
- package/README.md +1 -1
- package/dist/lib/neutral/EditableMarkdownCard-AW7MD35U.mjs +34 -0
- package/dist/lib/neutral/EditableMarkdownCard-AW7MD35U.mjs.map +7 -0
- package/dist/lib/neutral/MarkdownArticle-Z4QRU3WD.mjs +126 -0
- package/dist/lib/neutral/MarkdownArticle-Z4QRU3WD.mjs.map +7 -0
- package/dist/lib/neutral/MarkdownCard-36P4AHYL.mjs +107 -0
- package/dist/lib/neutral/MarkdownCard-36P4AHYL.mjs.map +7 -0
- package/dist/lib/neutral/MarkdownPlugin.mjs +58 -0
- package/dist/lib/neutral/MarkdownPlugin.mjs.map +7 -0
- package/dist/lib/neutral/MarkdownPlugin.node.mjs +25 -0
- package/dist/lib/neutral/MarkdownPlugin.node.mjs.map +7 -0
- package/dist/lib/neutral/MarkdownPlugin.workerd.mjs +23 -0
- package/dist/lib/neutral/MarkdownPlugin.workerd.mjs.map +7 -0
- package/dist/lib/neutral/MarkdownSettings-YCTZJL5V.mjs +32 -0
- package/dist/lib/neutral/MarkdownSettings-YCTZJL5V.mjs.map +7 -0
- package/dist/lib/neutral/anchor-sort-37GOHBLW.mjs +32 -0
- package/dist/lib/neutral/anchor-sort-37GOHBLW.mjs.map +7 -0
- package/dist/lib/neutral/app-graph-serializer-VL5KPM7V.mjs +55 -0
- package/dist/lib/neutral/app-graph-serializer-VL5KPM7V.mjs.map +7 -0
- package/dist/lib/neutral/blueprint-definition-33OK2KUL.mjs +15 -0
- package/dist/lib/neutral/blueprint-definition-33OK2KUL.mjs.map +7 -0
- package/dist/lib/neutral/blueprints/index.mjs +8 -0
- package/dist/lib/neutral/capabilities/index.mjs +25 -0
- package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
- package/dist/lib/neutral/capabilities/node.mjs +11 -0
- package/dist/lib/neutral/capabilities/node.mjs.map +7 -0
- package/dist/lib/neutral/chunk-5JY7PO7Z.mjs +285 -0
- package/dist/lib/neutral/chunk-5JY7PO7Z.mjs.map +7 -0
- package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/neutral/chunk-KDN4GKG2.mjs +98 -0
- package/dist/lib/neutral/chunk-KDN4GKG2.mjs.map +7 -0
- package/dist/lib/neutral/chunk-LXNSKCPD.mjs +44 -0
- package/dist/lib/neutral/chunk-LXNSKCPD.mjs.map +7 -0
- package/dist/lib/neutral/chunk-MGVKW5GN.mjs +8 -0
- package/dist/lib/neutral/chunk-MGVKW5GN.mjs.map +7 -0
- package/dist/lib/neutral/chunk-N76TRQSY.mjs +28 -0
- package/dist/lib/neutral/chunk-N76TRQSY.mjs.map +7 -0
- package/dist/lib/neutral/comment-config-ZEA66BUR.mjs +31 -0
- package/dist/lib/neutral/comment-config-ZEA66BUR.mjs.map +7 -0
- package/dist/lib/neutral/components/index.mjs +370 -0
- package/dist/lib/neutral/components/index.mjs.map +7 -0
- package/dist/lib/neutral/containers/index.mjs +13 -0
- package/dist/lib/neutral/containers/index.mjs.map +7 -0
- package/dist/lib/neutral/create-P255GUFG.mjs +28 -0
- package/dist/lib/neutral/create-P255GUFG.mjs.map +7 -0
- package/dist/lib/neutral/create-markdown-N2DOEZXT.mjs +20 -0
- package/dist/lib/neutral/create-markdown-N2DOEZXT.mjs.map +7 -0
- package/dist/lib/neutral/create-object-VU3KX663.mjs +28 -0
- package/dist/lib/neutral/create-object-VU3KX663.mjs.map +7 -0
- package/dist/lib/neutral/hooks/index.mjs +327 -0
- package/dist/lib/neutral/hooks/index.mjs.map +7 -0
- package/dist/lib/neutral/index.mjs +42 -0
- package/dist/lib/neutral/meta.json +1 -0
- package/dist/lib/neutral/meta.mjs +8 -0
- package/dist/lib/neutral/open-4U46EH7F.mjs +20 -0
- package/dist/lib/neutral/open-4U46EH7F.mjs.map +7 -0
- package/dist/lib/neutral/operation-handler-2ARMPBGZ.mjs +13 -0
- package/dist/lib/neutral/operation-handler-2ARMPBGZ.mjs.map +7 -0
- package/dist/lib/neutral/operations/index.mjs +8 -0
- package/dist/lib/neutral/plugin.mjs +16 -0
- package/dist/lib/neutral/plugin.mjs.map +7 -0
- package/dist/lib/neutral/react-surface-P2WX2KXA.mjs +119 -0
- package/dist/lib/neutral/react-surface-P2WX2KXA.mjs.map +7 -0
- package/dist/lib/neutral/scroll-to-anchor-AFFA7YBC.mjs +47 -0
- package/dist/lib/neutral/scroll-to-anchor-AFFA7YBC.mjs.map +7 -0
- package/dist/lib/neutral/set-view-mode-UERQK6D7.mjs +24 -0
- package/dist/lib/neutral/set-view-mode-UERQK6D7.mjs.map +7 -0
- package/dist/lib/neutral/settings-TDGDLCUR.mjs +34 -0
- package/dist/lib/neutral/settings-TDGDLCUR.mjs.map +7 -0
- package/dist/lib/neutral/state-5COCF5PN.mjs +44 -0
- package/dist/lib/neutral/state-5COCF5PN.mjs.map +7 -0
- package/dist/lib/neutral/testing.mjs +19 -0
- package/dist/lib/neutral/testing.mjs.map +7 -0
- package/dist/lib/neutral/translations.mjs +44 -0
- package/dist/lib/neutral/translations.mjs.map +7 -0
- package/dist/lib/neutral/types/index.mjs +16 -0
- package/dist/lib/neutral/update-markdown-Q4MT3TW3.mjs +44 -0
- package/dist/lib/neutral/update-markdown-Q4MT3TW3.mjs.map +7 -0
- package/dist/types/src/MarkdownPlugin.d.ts +3 -1
- package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
- package/dist/types/src/MarkdownPlugin.node.d.ts +4 -0
- package/dist/types/src/MarkdownPlugin.node.d.ts.map +1 -0
- package/dist/types/src/MarkdownPlugin.test.d.ts +2 -0
- package/dist/types/src/MarkdownPlugin.test.d.ts.map +1 -0
- package/dist/types/src/MarkdownPlugin.workerd.d.ts +4 -0
- package/dist/types/src/MarkdownPlugin.workerd.d.ts.map +1 -0
- package/dist/types/src/blueprints/index.d.ts +2 -0
- package/dist/types/src/blueprints/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/markdown-blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/markdown-blueprint.d.ts.map +1 -0
- package/dist/types/src/capabilities/anchor-sort.d.ts +4 -2
- package/dist/types/src/capabilities/anchor-sort.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-serializer.d.ts +3 -2
- package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
- package/dist/types/src/capabilities/artifact-definition.d.ts +3 -1
- package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
- package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -6
- package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
- package/dist/types/src/capabilities/comment-config.d.ts +12 -0
- package/dist/types/src/capabilities/comment-config.d.ts.map +1 -0
- package/dist/types/src/capabilities/create-object.d.ts +11 -0
- package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +22 -14
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/node.d.ts +10 -0
- package/dist/types/src/capabilities/node.d.ts.map +1 -0
- package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
- package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface.d.ts +3 -2
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings.d.ts +4 -2
- package/dist/types/src/capabilities/settings.d.ts.map +1 -1
- package/dist/types/src/capabilities/state.d.ts +4 -9
- package/dist/types/src/capabilities/state.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/FileUpload.d.ts +1 -1
- package/dist/types/src/components/MarkdownEditor/FileUpload.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +34 -22
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts +3 -3
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts +17 -10
- package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts +6 -5
- package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts +4 -4
- package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownSettings/MarkdownSettings.stories.d.ts +94 -0
- package/dist/types/src/components/MarkdownSettings/MarkdownSettings.stories.d.ts.map +1 -0
- package/dist/types/src/components/MarkdownSettings/index.d.ts +1 -1
- package/dist/types/src/components/MarkdownSettings/index.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +3 -5
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/containers/EditableMarkdownCard/EditableMarkdownCard.d.ts +15 -0
- package/dist/types/src/containers/EditableMarkdownCard/EditableMarkdownCard.d.ts.map +1 -0
- package/dist/types/src/containers/EditableMarkdownCard/EditableMarkdownCard.stories.d.ts +9 -0
- package/dist/types/src/containers/EditableMarkdownCard/EditableMarkdownCard.stories.d.ts.map +1 -0
- package/dist/types/src/containers/EditableMarkdownCard/index.d.ts +3 -0
- package/dist/types/src/containers/EditableMarkdownCard/index.d.ts.map +1 -0
- package/dist/types/src/containers/MarkdownArticle/MarkdownArticle.d.ts +40 -0
- package/dist/types/src/containers/MarkdownArticle/MarkdownArticle.d.ts.map +1 -0
- package/dist/types/src/containers/MarkdownArticle/MarkdownArticle.stories.d.ts +97 -0
- package/dist/types/src/containers/MarkdownArticle/MarkdownArticle.stories.d.ts.map +1 -0
- package/dist/types/src/containers/MarkdownArticle/index.d.ts +3 -0
- package/dist/types/src/containers/MarkdownArticle/index.d.ts.map +1 -0
- package/dist/types/src/containers/MarkdownCard/MarkdownCard.d.ts +8 -0
- package/dist/types/src/containers/MarkdownCard/MarkdownCard.d.ts.map +1 -0
- package/dist/types/src/containers/MarkdownCard/MarkdownCard.stories.d.ts +9 -0
- package/dist/types/src/containers/MarkdownCard/MarkdownCard.stories.d.ts.map +1 -0
- package/dist/types/src/containers/MarkdownCard/index.d.ts +2 -0
- package/dist/types/src/containers/MarkdownCard/index.d.ts.map +1 -0
- package/dist/types/src/containers/MarkdownCard/snippet.d.ts +17 -0
- package/dist/types/src/containers/MarkdownCard/snippet.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/index.d.ts +0 -1
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useEditorMenuOptions.d.ts.map +1 -1
- package/dist/types/src/hooks/useExtensions.d.ts +10 -6
- package/dist/types/src/hooks/useExtensions.d.ts.map +1 -1
- package/dist/types/src/hooks/useLinkQuery.d.ts +2 -2
- package/dist/types/src/hooks/useLinkQuery.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +2 -3
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +2 -2
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/operations/create-markdown.d.ts +5 -0
- package/dist/types/src/operations/create-markdown.d.ts.map +1 -0
- package/dist/types/src/operations/create.d.ts +5 -0
- package/dist/types/src/operations/create.d.ts.map +1 -0
- package/dist/types/src/operations/create.test.d.ts.map +1 -0
- package/dist/types/src/operations/index.d.ts +3 -0
- package/dist/types/src/operations/index.d.ts.map +1 -0
- package/dist/types/src/operations/open.d.ts +5 -0
- package/dist/types/src/operations/open.d.ts.map +1 -0
- package/dist/types/src/operations/scroll-to-anchor.d.ts +5 -0
- package/dist/types/src/operations/scroll-to-anchor.d.ts.map +1 -0
- package/dist/types/src/operations/set-view-mode.d.ts +5 -0
- package/dist/types/src/operations/set-view-mode.d.ts.map +1 -0
- package/dist/types/src/operations/update-markdown.d.ts +5 -0
- package/dist/types/src/operations/update-markdown.d.ts.map +1 -0
- package/dist/types/src/operations/update.test.d.ts.map +1 -0
- package/dist/types/src/plugin.d.ts +4 -0
- package/dist/types/src/plugin.d.ts.map +1 -0
- package/dist/types/src/testing.d.ts +3 -2
- package/dist/types/src/testing.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +74 -36
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Markdown.d.ts +34 -33
- package/dist/types/src/types/Markdown.d.ts.map +1 -1
- package/dist/types/src/types/MarkdownCapabilities.d.ts +32 -0
- package/dist/types/src/types/MarkdownCapabilities.d.ts.map +1 -0
- package/dist/types/src/types/MarkdownEvents.d.ts +3 -0
- package/dist/types/src/types/MarkdownEvents.d.ts.map +1 -0
- package/dist/types/src/types/MarkdownOperation.d.ts +64 -0
- package/dist/types/src/types/MarkdownOperation.d.ts.map +1 -0
- package/dist/types/src/types/Settings.d.ts +30 -0
- package/dist/types/src/types/Settings.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +5 -2
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +3 -2
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +6 -3
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/src/util.test.d.ts +2 -0
- package/dist/types/src/util.test.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +153 -89
- package/src/MarkdownPlugin.node.ts +20 -0
- package/src/MarkdownPlugin.test.ts +26 -0
- package/src/MarkdownPlugin.tsx +33 -101
- package/src/MarkdownPlugin.workerd.ts +19 -0
- package/src/blueprints/index.ts +5 -0
- package/src/blueprints/markdown-blueprint.ts +43 -0
- package/src/capabilities/anchor-sort.ts +28 -21
- package/src/capabilities/app-graph-serializer.ts +52 -43
- package/src/capabilities/artifact-definition.ts +83 -86
- package/src/capabilities/blueprint-definition.ts +11 -35
- package/src/capabilities/comment-config.ts +33 -0
- package/src/capabilities/create-object.ts +31 -0
- package/src/capabilities/index.ts +15 -11
- package/src/capabilities/node.ts +13 -0
- package/src/capabilities/operation-handler.ts +16 -0
- package/src/capabilities/react-surface.tsx +102 -67
- package/src/capabilities/settings.ts +30 -18
- package/src/capabilities/state.ts +41 -25
- package/src/components/MarkdownEditor/FileUpload.tsx +2 -2
- package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +48 -44
- package/src/components/MarkdownEditor/MarkdownEditor.tsx +149 -106
- package/src/components/MarkdownEditor/MarkdownEditorContent.tsx +66 -33
- package/src/components/MarkdownEditor/MarkdownEditorToolbar.tsx +37 -53
- package/src/components/MarkdownSettings/MarkdownSettings.stories.tsx +40 -0
- package/src/components/MarkdownSettings/MarkdownSettings.tsx +23 -96
- package/src/components/MarkdownSettings/index.ts +1 -1
- package/src/components/index.ts +4 -7
- package/src/containers/EditableMarkdownCard/EditableMarkdownCard.stories.tsx +86 -0
- package/src/containers/EditableMarkdownCard/EditableMarkdownCard.tsx +44 -0
- package/src/containers/EditableMarkdownCard/index.ts +6 -0
- package/src/containers/MarkdownArticle/MarkdownArticle.stories.tsx +135 -0
- package/src/containers/MarkdownArticle/MarkdownArticle.tsx +146 -0
- package/src/containers/MarkdownArticle/index.ts +6 -0
- package/src/containers/MarkdownCard/MarkdownCard.stories.tsx +68 -0
- package/src/containers/MarkdownCard/MarkdownCard.tsx +75 -0
- package/src/containers/MarkdownCard/index.ts +5 -0
- package/src/containers/MarkdownCard/snippet.ts +54 -0
- package/src/containers/index.ts +11 -0
- package/src/hooks/index.ts +0 -1
- package/src/hooks/useEditorMenuOptions.ts +11 -14
- package/src/hooks/useExtensions.tsx +103 -114
- package/src/hooks/useLinkQuery.ts +57 -41
- package/src/index.ts +2 -5
- package/src/meta.ts +15 -6
- package/src/operations/create-markdown.ts +19 -0
- package/src/operations/create.conversations.json +1 -0
- package/src/operations/create.test.ts +96 -0
- package/src/operations/create.ts +26 -0
- package/src/operations/index.ts +14 -0
- package/src/operations/open.ts +25 -0
- package/src/operations/scroll-to-anchor.ts +38 -0
- package/src/operations/set-view-mode.ts +23 -0
- package/src/operations/update-markdown.ts +51 -0
- package/src/operations/update.conversations.json +1 -0
- package/src/operations/update.test.ts +213 -0
- package/src/plugin.ts +11 -0
- package/src/testing.ts +13 -8
- package/src/translations.ts +28 -36
- package/src/types/Markdown.ts +27 -33
- package/src/types/MarkdownCapabilities.ts +51 -0
- package/src/types/MarkdownEvents.ts +14 -0
- package/src/types/MarkdownOperation.ts +125 -0
- package/src/types/Settings.ts +85 -0
- package/src/types/index.ts +6 -3
- package/src/types/types.ts +7 -3
- package/src/util.test.ts +44 -0
- package/src/util.tsx +78 -8
- package/dist/lib/browser/MarkdownCard-JYMDPKV5.mjs +0 -12
- package/dist/lib/browser/MarkdownContainer-Y75XSVBX.mjs +0 -15
- package/dist/lib/browser/anchor-sort-3HGPGCOO.mjs +0 -31
- package/dist/lib/browser/anchor-sort-3HGPGCOO.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-POZN234F.mjs +0 -51
- package/dist/lib/browser/app-graph-serializer-POZN234F.mjs.map +0 -7
- package/dist/lib/browser/blueprint-definition-GIPKFDY5.mjs +0 -13
- package/dist/lib/browser/chunk-22XSSNBS.mjs +0 -56
- package/dist/lib/browser/chunk-22XSSNBS.mjs.map +0 -7
- package/dist/lib/browser/chunk-2MLGSYRN.mjs +0 -20
- package/dist/lib/browser/chunk-2MLGSYRN.mjs.map +0 -7
- package/dist/lib/browser/chunk-BQTYJOFB.mjs +0 -28
- package/dist/lib/browser/chunk-BQTYJOFB.mjs.map +0 -7
- package/dist/lib/browser/chunk-GH6GQSBL.mjs +0 -51
- package/dist/lib/browser/chunk-GH6GQSBL.mjs.map +0 -7
- package/dist/lib/browser/chunk-IBCHVMZW.mjs +0 -16
- package/dist/lib/browser/chunk-IBCHVMZW.mjs.map +0 -7
- package/dist/lib/browser/chunk-K3LXOU3E.mjs +0 -827
- package/dist/lib/browser/chunk-K3LXOU3E.mjs.map +0 -7
- package/dist/lib/browser/chunk-PBJLFIOX.mjs +0 -96
- package/dist/lib/browser/chunk-PBJLFIOX.mjs.map +0 -7
- package/dist/lib/browser/chunk-QYSEJ5GP.mjs +0 -79
- package/dist/lib/browser/chunk-QYSEJ5GP.mjs.map +0 -7
- package/dist/lib/browser/chunk-Y53FQREH.mjs +0 -150
- package/dist/lib/browser/chunk-Y53FQREH.mjs.map +0 -7
- package/dist/lib/browser/index.mjs +0 -174
- package/dist/lib/browser/index.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-Z5L7TXUK.mjs +0 -62
- package/dist/lib/browser/intent-resolver-Z5L7TXUK.mjs.map +0 -7
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/react-surface-GO5ZOKNN.mjs +0 -211
- package/dist/lib/browser/react-surface-GO5ZOKNN.mjs.map +0 -7
- package/dist/lib/browser/settings-TZUDB5EW.mjs +0 -28
- package/dist/lib/browser/settings-TZUDB5EW.mjs.map +0 -7
- package/dist/lib/browser/state-BTUKVZHY.mjs +0 -37
- package/dist/lib/browser/state-BTUKVZHY.mjs.map +0 -7
- package/dist/lib/browser/toolkit.mjs +0 -13
- package/dist/lib/browser/types/index.mjs +0 -10
- package/dist/lib/node-esm/MarkdownCard-ZXPJLUYO.mjs +0 -13
- package/dist/lib/node-esm/MarkdownCard-ZXPJLUYO.mjs.map +0 -7
- package/dist/lib/node-esm/MarkdownContainer-YRDSRDCS.mjs +0 -16
- package/dist/lib/node-esm/MarkdownContainer-YRDSRDCS.mjs.map +0 -7
- package/dist/lib/node-esm/anchor-sort-PCDXEBJ2.mjs +0 -32
- package/dist/lib/node-esm/anchor-sort-PCDXEBJ2.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-NF65JYAS.mjs +0 -52
- package/dist/lib/node-esm/app-graph-serializer-NF65JYAS.mjs.map +0 -7
- package/dist/lib/node-esm/blueprint-definition-ENKJZYQS.mjs +0 -14
- package/dist/lib/node-esm/blueprint-definition-ENKJZYQS.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-AMHACOXW.mjs +0 -57
- package/dist/lib/node-esm/chunk-AMHACOXW.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-CT7CFX5G.mjs +0 -828
- package/dist/lib/node-esm/chunk-CT7CFX5G.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-GMMVSXQ6.mjs +0 -17
- package/dist/lib/node-esm/chunk-GMMVSXQ6.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HAIEWPU7.mjs +0 -151
- package/dist/lib/node-esm/chunk-HAIEWPU7.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-KCHUTL3Q.mjs +0 -22
- package/dist/lib/node-esm/chunk-KCHUTL3Q.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-NGYJNQ6A.mjs +0 -80
- package/dist/lib/node-esm/chunk-NGYJNQ6A.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-PIOOG7A5.mjs +0 -97
- package/dist/lib/node-esm/chunk-PIOOG7A5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-PLZ7EVCT.mjs +0 -52
- package/dist/lib/node-esm/chunk-PLZ7EVCT.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-SHAMSMKQ.mjs +0 -29
- package/dist/lib/node-esm/chunk-SHAMSMKQ.mjs.map +0 -7
- package/dist/lib/node-esm/index.mjs +0 -175
- package/dist/lib/node-esm/index.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-6B3PFQ5F.mjs +0 -63
- package/dist/lib/node-esm/intent-resolver-6B3PFQ5F.mjs.map +0 -7
- package/dist/lib/node-esm/meta.json +0 -1
- package/dist/lib/node-esm/react-surface-I46BPCWT.mjs +0 -212
- package/dist/lib/node-esm/react-surface-I46BPCWT.mjs.map +0 -7
- package/dist/lib/node-esm/settings-CJ3T5EX4.mjs +0 -29
- package/dist/lib/node-esm/settings-CJ3T5EX4.mjs.map +0 -7
- package/dist/lib/node-esm/state-K6EH7SRZ.mjs +0 -38
- package/dist/lib/node-esm/state-K6EH7SRZ.mjs.map +0 -7
- package/dist/lib/node-esm/toolkit.mjs +0 -14
- package/dist/lib/node-esm/toolkit.mjs.map +0 -7
- package/dist/lib/node-esm/types/index.mjs +0 -11
- package/dist/types/src/capabilities/capabilities.d.ts +0 -12
- package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts +0 -7
- package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts +0 -9
- package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownCard/index.d.ts +0 -4
- package/dist/types/src/components/MarkdownCard/index.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownContainer.d.ts +0 -14
- package/dist/types/src/components/MarkdownContainer.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownContainer.stories.d.ts +0 -58
- package/dist/types/src/components/MarkdownContainer.stories.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/dist/types/src/events.d.ts +0 -4
- package/dist/types/src/events.d.ts.map +0 -1
- package/dist/types/src/functions/create.d.ts +0 -8
- package/dist/types/src/functions/create.d.ts.map +0 -1
- package/dist/types/src/functions/create.test.d.ts.map +0 -1
- package/dist/types/src/functions/index.d.ts +0 -18
- package/dist/types/src/functions/index.d.ts.map +0 -1
- package/dist/types/src/functions/open.d.ts +0 -7
- package/dist/types/src/functions/open.d.ts.map +0 -1
- package/dist/types/src/functions/update.d.ts +0 -6
- package/dist/types/src/functions/update.d.ts.map +0 -1
- package/dist/types/src/functions/update.test.d.ts.map +0 -1
- package/dist/types/src/hooks/useSelectCurrentThread.d.ts +0 -6
- package/dist/types/src/hooks/useSelectCurrentThread.d.ts.map +0 -1
- package/dist/types/src/toolkit.d.ts +0 -3
- package/dist/types/src/toolkit.d.ts.map +0 -1
- package/dist/types/src/types/MarkdownAction.d.ts +0 -34
- package/dist/types/src/types/MarkdownAction.d.ts.map +0 -1
- package/src/capabilities/capabilities.ts +0 -22
- package/src/capabilities/intent-resolver.ts +0 -58
- package/src/components/MarkdownCard/MarkdownCard.stories.tsx +0 -76
- package/src/components/MarkdownCard/MarkdownCard.tsx +0 -89
- package/src/components/MarkdownCard/index.ts +0 -9
- package/src/components/MarkdownContainer.stories.tsx +0 -136
- package/src/components/MarkdownContainer.tsx +0 -113
- package/src/components/Suggestions.stories.tsx +0 -225
- package/src/events.ts +0 -11
- package/src/functions/create.conversations.json +0 -1
- package/src/functions/create.test.ts +0 -128
- package/src/functions/create.ts +0 -34
- package/src/functions/index.ts +0 -13
- package/src/functions/open.ts +0 -32
- package/src/functions/update.conversations.json +0 -1
- package/src/functions/update.test.ts +0 -151
- package/src/functions/update.ts +0 -37
- package/src/hooks/useSelectCurrentThread.tsx +0 -66
- package/src/toolkit.ts +0 -6
- package/src/types/MarkdownAction.ts +0 -29
- /package/dist/lib/{browser/types → neutral/blueprints}/index.mjs.map +0 -0
- /package/dist/lib/{browser/MarkdownCard-JYMDPKV5.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
- /package/dist/lib/{node-esm/types → neutral}/index.mjs.map +0 -0
- /package/dist/lib/{browser/MarkdownContainer-Y75XSVBX.mjs.map → neutral/meta.mjs.map} +0 -0
- /package/dist/lib/{browser/blueprint-definition-GIPKFDY5.mjs.map → neutral/operations/index.mjs.map} +0 -0
- /package/dist/lib/{browser/toolkit.mjs.map → neutral/types/index.mjs.map} +0 -0
- /package/dist/types/src/{functions → operations}/create.test.d.ts +0 -0
- /package/dist/types/src/{functions → operations}/update.test.d.ts +0 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/capabilities/anchor-sort.ts
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import { Capability } from "@dxos/app-framework";
|
|
6
|
+
import { AppCapabilities } from "@dxos/app-toolkit";
|
|
7
|
+
import { Relation, Type } from "@dxos/echo";
|
|
8
|
+
import { createDocAccessor, getRangeFromCursor } from "@dxos/echo-db";
|
|
9
|
+
import { Markdown } from "#types";
|
|
10
|
+
var anchor_sort_default = Capability.makeModule(() => Effect.succeed(Capability.contributes(AppCapabilities.AnchorSort, {
|
|
11
|
+
key: Type.getTypename(Markdown.Document),
|
|
12
|
+
sort: (anchorA, anchorB) => {
|
|
13
|
+
const doc = Relation.getTarget(anchorA);
|
|
14
|
+
const accessor = doc.content.target ? createDocAccessor(doc.content.target, [
|
|
15
|
+
"content"
|
|
16
|
+
]) : void 0;
|
|
17
|
+
if (doc !== Relation.getTarget(anchorB) || !accessor) {
|
|
18
|
+
return 0;
|
|
19
|
+
}
|
|
20
|
+
const getStartPosition = (cursor) => {
|
|
21
|
+
const range = cursor ? getRangeFromCursor(accessor, cursor) : void 0;
|
|
22
|
+
return range?.start ?? Number.MAX_SAFE_INTEGER;
|
|
23
|
+
};
|
|
24
|
+
const posA = getStartPosition(anchorA.anchor);
|
|
25
|
+
const posB = getStartPosition(anchorB.anchor);
|
|
26
|
+
return posA - posB;
|
|
27
|
+
}
|
|
28
|
+
})));
|
|
29
|
+
export {
|
|
30
|
+
anchor_sort_default as default
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=anchor-sort-37GOHBLW.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 * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { Relation, Type } from '@dxos/echo';\nimport { createDocAccessor, getRangeFromCursor } from '@dxos/echo-db';\nimport { type AnchoredTo } from '@dxos/types';\n\nimport { Markdown } from '#types';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(AppCapabilities.AnchorSort, {\n key: Type.getTypename(Markdown.Document),\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 ),\n);\n"],
|
|
5
|
+
"mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SAASC,UAAUC,YAAY;AAC/B,SAASC,mBAAmBC,0BAA0B;AAGtD,SAASC,gBAAgB;AAEzB,IAAA,sBAAeN,WAAWO,WAAW,MAC5BC,eACLR,WAAWS,YAAYR,gBAAgBS,YAAY;EACjDC,KAAKR,KAAKS,YAAYN,SAASO,QAAQ;EACvCC,MAAM,CAACC,SAAgCC,YAAAA;AACrC,UAAMC,MAAMf,SAASgB,UAAUH,OAAAA;AAC/B,UAAMI,WAAWF,IAAIG,QAAQC,SAASjB,kBAAkBa,IAAIG,QAAQC,QAAQ;MAAC;KAAU,IAAIC;AAC3F,QAAIL,QAAQf,SAASgB,UAAUF,OAAAA,KAAY,CAACG,UAAU;AACpD,aAAO;IACT;AAEA,UAAMI,mBAAmB,CAACC,WAAAA;AACxB,YAAMC,QAAQD,SAASnB,mBAAmBc,UAAUK,MAAAA,IAAUF;AAC9D,aAAOG,OAAOC,SAASC,OAAOC;IAChC;AAEA,UAAMC,OAAON,iBAAiBR,QAAQe,MAAM;AAC5C,UAAMC,OAAOR,iBAAiBP,QAAQc,MAAM;AAC5C,WAAOD,OAAOE;EAChB;AACF,CAAA,CAAA,CAAA;",
|
|
6
|
+
"names": ["Effect", "Capability", "AppCapabilities", "Relation", "Type", "createDocAccessor", "getRangeFromCursor", "Markdown", "makeModule", "succeed", "contributes", "AnchorSort", "key", "getTypename", "Document", "sort", "anchorA", "anchorB", "doc", "getTarget", "accessor", "content", "target", "undefined", "getStartPosition", "cursor", "range", "start", "Number", "MAX_SAFE_INTEGER", "posA", "anchor", "posB"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/capabilities/app-graph-serializer.ts
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import { Capabilities, Capability } from "@dxos/app-framework";
|
|
6
|
+
import { AppCapabilities } from "@dxos/app-toolkit";
|
|
7
|
+
import { Collection, Obj, Type } from "@dxos/echo";
|
|
8
|
+
import { SpaceOperation } from "@dxos/plugin-space";
|
|
9
|
+
import { isSpace } from "@dxos/react-client/echo";
|
|
10
|
+
import { translations } from "#translations";
|
|
11
|
+
import { MarkdownOperation } from "#types";
|
|
12
|
+
import { Markdown } from "#types";
|
|
13
|
+
var app_graph_serializer_default = Capability.makeModule(Effect.fnUntraced(function* () {
|
|
14
|
+
const capabilities = yield* Capability.Service;
|
|
15
|
+
return Capability.contributes(AppCapabilities.AppGraphSerializer, [
|
|
16
|
+
{
|
|
17
|
+
inputType: Type.getTypename(Markdown.Document),
|
|
18
|
+
outputType: "text/markdown",
|
|
19
|
+
// Reconcile with metadata serializers.
|
|
20
|
+
serialize: async (node) => {
|
|
21
|
+
const doc = node.data;
|
|
22
|
+
const content = await doc.content.load();
|
|
23
|
+
return {
|
|
24
|
+
name: doc.name || doc.fallbackName || translations[0]["en-US"][Type.getTypename(Markdown.Document)]["object-name.placeholder"],
|
|
25
|
+
data: content.content,
|
|
26
|
+
type: "text/markdown"
|
|
27
|
+
};
|
|
28
|
+
},
|
|
29
|
+
deserialize: async (data, ancestors) => {
|
|
30
|
+
const space = ancestors.find(isSpace);
|
|
31
|
+
const target = ancestors.findLast((ancestor) => Obj.instanceOf(Collection.Collection, ancestor)) ?? space?.properties[Type.getTypename(Collection.Collection)]?.target;
|
|
32
|
+
if (!space || !target) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const { invokePromise } = capabilities.get(Capabilities.OperationInvoker);
|
|
36
|
+
const createResult = await invokePromise(MarkdownOperation.CreateMarkdown, {
|
|
37
|
+
name: data.name,
|
|
38
|
+
content: data.data
|
|
39
|
+
});
|
|
40
|
+
if (!createResult.data?.object) {
|
|
41
|
+
return void 0;
|
|
42
|
+
}
|
|
43
|
+
await invokePromise(SpaceOperation.AddObject, {
|
|
44
|
+
target,
|
|
45
|
+
object: createResult.data.object
|
|
46
|
+
});
|
|
47
|
+
return createResult.data.object;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
]);
|
|
51
|
+
}));
|
|
52
|
+
export {
|
|
53
|
+
app_graph_serializer_default as default
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=app-graph-serializer-VL5KPM7V.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 Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { Collection, Obj, Type } from '@dxos/echo';\nimport { SpaceOperation } from '@dxos/plugin-space';\nimport { isSpace } from '@dxos/react-client/echo';\n\nimport { translations } from '#translations';\nimport { MarkdownOperation } from '#types';\nimport { Markdown } from '#types';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n // Get context for lazy capability access in callbacks.\n const capabilities = yield* Capability.Service;\n\n return Capability.contributes(AppCapabilities.AppGraphSerializer, [\n {\n inputType: Type.getTypename(Markdown.Document),\n outputType: 'text/markdown',\n // Reconcile with metadata serializers.\n serialize: async (node) => {\n const doc = node.data;\n const content = await doc.content.load();\n return {\n name:\n doc.name ||\n doc.fallbackName ||\n translations[0]['en-US'][Type.getTypename(Markdown.Document)]['object-name.placeholder'],\n data: content.content,\n type: 'text/markdown',\n };\n },\n deserialize: async (data, ancestors) => {\n const space = ancestors.find(isSpace);\n const target =\n ancestors.findLast((ancestor) => Obj.instanceOf(Collection.Collection, ancestor)) ??\n space?.properties[Type.getTypename(Collection.Collection)]?.target;\n if (!space || !target) {\n return;\n }\n\n const { invokePromise } = capabilities.get(Capabilities.OperationInvoker);\n const createResult = await invokePromise(MarkdownOperation.CreateMarkdown, {\n name: data.name,\n content: data.data,\n });\n if (!createResult.data?.object) {\n return undefined;\n }\n await invokePromise(SpaceOperation.AddObject, { target, object: createResult.data.object });\n\n return createResult.data.object;\n },\n },\n ]);\n }),\n);\n"],
|
|
5
|
+
"mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,uBAAuB;AAChC,SAASC,YAAYC,KAAKC,YAAY;AACtC,SAASC,sBAAsB;AAC/B,SAASC,eAAe;AAExB,SAASC,oBAAoB;AAC7B,SAASC,yBAAyB;AAClC,SAASC,gBAAgB;AAEzB,IAAA,+BAAeT,WAAWU,WACjBC,kBAAW,aAAA;AAEhB,QAAMC,eAAe,OAAOZ,WAAWa;AAEvC,SAAOb,WAAWc,YAAYb,gBAAgBc,oBAAoB;IAChE;MACEC,WAAWZ,KAAKa,YAAYR,SAASS,QAAQ;MAC7CC,YAAY;;MAEZC,WAAW,OAAOC,SAAAA;AAChB,cAAMC,MAAMD,KAAKE;AACjB,cAAMC,UAAU,MAAMF,IAAIE,QAAQC,KAAI;AACtC,eAAO;UACLC,MACEJ,IAAII,QACJJ,IAAIK,gBACJpB,aAAa,CAAA,EAAG,OAAA,EAASH,KAAKa,YAAYR,SAASS,QAAQ,CAAA,EAAG,yBAAA;UAChEK,MAAMC,QAAQA;UACdI,MAAM;QACR;MACF;MACAC,aAAa,OAAON,MAAMO,cAAAA;AACxB,cAAMC,QAAQD,UAAUE,KAAK1B,OAAAA;AAC7B,cAAM2B,SACJH,UAAUI,SAAS,CAACC,aAAahC,IAAIiC,WAAWlC,WAAWA,YAAYiC,QAAAA,CAAAA,KACvEJ,OAAOM,WAAWjC,KAAKa,YAAYf,WAAWA,UAAU,CAAA,GAAI+B;AAC9D,YAAI,CAACF,SAAS,CAACE,QAAQ;AACrB;QACF;AAEA,cAAM,EAAEK,cAAa,IAAK1B,aAAa2B,IAAIxC,aAAayC,gBAAgB;AACxE,cAAMC,eAAe,MAAMH,cAAc9B,kBAAkBkC,gBAAgB;UACzEhB,MAAMH,KAAKG;UACXF,SAASD,KAAKA;QAChB,CAAA;AACA,YAAI,CAACkB,aAAalB,MAAMoB,QAAQ;AAC9B,iBAAOC;QACT;AACA,cAAMN,cAAcjC,eAAewC,WAAW;UAAEZ;UAAQU,QAAQF,aAAalB,KAAKoB;QAAO,CAAA;AAEzF,eAAOF,aAAalB,KAAKoB;MAC3B;IACF;GACD;AACH,CAAA,CAAA;",
|
|
6
|
+
"names": ["Effect", "Capabilities", "Capability", "AppCapabilities", "Collection", "Obj", "Type", "SpaceOperation", "isSpace", "translations", "MarkdownOperation", "Markdown", "makeModule", "fnUntraced", "capabilities", "Service", "contributes", "AppGraphSerializer", "inputType", "getTypename", "Document", "outputType", "serialize", "node", "doc", "data", "content", "load", "name", "fallbackName", "type", "deserialize", "ancestors", "space", "find", "target", "findLast", "ancestor", "instanceOf", "properties", "invokePromise", "get", "OperationInvoker", "createResult", "CreateMarkdown", "object", "undefined", "AddObject"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/capabilities/blueprint-definition.ts
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import { Capability } from "@dxos/app-framework";
|
|
6
|
+
import { AppCapabilities } from "@dxos/app-toolkit";
|
|
7
|
+
import { MarkdownBlueprint } from "#blueprints";
|
|
8
|
+
var blueprintDefinition = Capability.makeModule(() => Effect.succeed([
|
|
9
|
+
Capability.contributes(AppCapabilities.BlueprintDefinition, MarkdownBlueprint)
|
|
10
|
+
]));
|
|
11
|
+
var blueprint_definition_default = blueprintDefinition;
|
|
12
|
+
export {
|
|
13
|
+
blueprint_definition_default as default
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=blueprint-definition-33OK2KUL.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/blueprint-definition.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\n// eslint-disable-next-line unused-imports/no-unused-imports\nimport type { Blueprint } from '@dxos/compute';\n\nimport { MarkdownBlueprint } from '#blueprints';\n\nconst blueprintDefinition = Capability.makeModule<\n [],\n Capability.Capability<typeof AppCapabilities.BlueprintDefinition>[]\n>(() => Effect.succeed([Capability.contributes(AppCapabilities.BlueprintDefinition, MarkdownBlueprint)]));\n\nexport default blueprintDefinition;\n"],
|
|
5
|
+
"mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAIhC,SAASC,yBAAyB;AAElC,IAAMC,sBAAsBH,WAAWI,WAGrC,MAAaC,eAAQ;EAACL,WAAWM,YAAYL,gBAAgBM,qBAAqBL,iBAAAA;CAAmB,CAAA;AAEvG,IAAA,+BAAeC;",
|
|
6
|
+
"names": ["Effect", "Capability", "AppCapabilities", "MarkdownBlueprint", "blueprintDefinition", "makeModule", "succeed", "contributes", "BlueprintDefinition"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import "../chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/capabilities/index.ts
|
|
4
|
+
import { Capability } from "@dxos/app-framework";
|
|
5
|
+
var AnchorSort = Capability.lazy("AnchorSort", () => import("../anchor-sort-37GOHBLW.mjs"));
|
|
6
|
+
var AppGraphSerializer = Capability.lazy("AppGraphSerializer", () => import("../app-graph-serializer-VL5KPM7V.mjs"));
|
|
7
|
+
var CommentConfig = Capability.lazy("CommentConfig", () => import("../comment-config-ZEA66BUR.mjs"));
|
|
8
|
+
var CreateObject = Capability.lazy("CreateObject", () => import("../create-object-VU3KX663.mjs"));
|
|
9
|
+
var BlueprintDefinition = Capability.lazy("BlueprintDefinition", () => import("../blueprint-definition-33OK2KUL.mjs"));
|
|
10
|
+
var OperationHandler = Capability.lazy("OperationHandler", () => import("../operation-handler-2ARMPBGZ.mjs"));
|
|
11
|
+
var ReactSurface = Capability.lazy("ReactSurface", () => import("../react-surface-P2WX2KXA.mjs"));
|
|
12
|
+
var MarkdownSettings = Capability.lazy("MarkdownSettings", () => import("../settings-TDGDLCUR.mjs"));
|
|
13
|
+
var MarkdownState = Capability.lazy("MarkdownState", () => import("../state-5COCF5PN.mjs"));
|
|
14
|
+
export {
|
|
15
|
+
AnchorSort,
|
|
16
|
+
AppGraphSerializer,
|
|
17
|
+
BlueprintDefinition,
|
|
18
|
+
CommentConfig,
|
|
19
|
+
CreateObject,
|
|
20
|
+
MarkdownSettings,
|
|
21
|
+
MarkdownState,
|
|
22
|
+
OperationHandler,
|
|
23
|
+
ReactSurface
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=index.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 { Capability } from '@dxos/app-framework';\n// eslint-disable-next-line unused-imports/no-unused-imports\nimport type { Blueprint, Operation, OperationHandlerSet } from '@dxos/compute';\n\nexport const AnchorSort = Capability.lazy('AnchorSort', () => import('./anchor-sort'));\nexport const AppGraphSerializer = Capability.lazy('AppGraphSerializer', () => import('./app-graph-serializer'));\nexport const CommentConfig = Capability.lazy('CommentConfig', () => import('./comment-config'));\nexport const CreateObject = Capability.lazy('CreateObject', () => import('./create-object'));\nexport const BlueprintDefinition = Capability.lazy('BlueprintDefinition', () => import('./blueprint-definition'));\nexport const OperationHandler = Capability.lazy<OperationHandlerSet.OperationHandlerSet>(\n 'OperationHandler',\n () => import('./operation-handler'),\n);\nexport const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));\nexport const MarkdownSettings = Capability.lazy('MarkdownSettings', () => import('./settings'));\nexport const MarkdownState = Capability.lazy('MarkdownState', () => import('./state'));\n"],
|
|
5
|
+
"mappings": ";;;AAIA,SAASA,kBAAkB;AAIpB,IAAMC,aAAaD,WAAWE,KAAK,cAAc,MAAM,OAAO,6BAAA,CAAA;AAC9D,IAAMC,qBAAqBH,WAAWE,KAAK,sBAAsB,MAAM,OAAO,sCAAA,CAAA;AAC9E,IAAME,gBAAgBJ,WAAWE,KAAK,iBAAiB,MAAM,OAAO,gCAAA,CAAA;AACpE,IAAMG,eAAeL,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAClE,IAAMI,sBAAsBN,WAAWE,KAAK,uBAAuB,MAAM,OAAO,sCAAA,CAAA;AAChF,IAAMK,mBAAmBP,WAAWE,KACzC,oBACA,MAAM,OAAO,mCAAA,CAAA;AAER,IAAMM,eAAeR,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAClE,IAAMO,mBAAmBT,WAAWE,KAAK,oBAAoB,MAAM,OAAO,0BAAA,CAAA;AAC1E,IAAMQ,gBAAgBV,WAAWE,KAAK,iBAAiB,MAAM,OAAO,uBAAA,CAAA;",
|
|
6
|
+
"names": ["Capability", "AnchorSort", "lazy", "AppGraphSerializer", "CommentConfig", "CreateObject", "BlueprintDefinition", "OperationHandler", "ReactSurface", "MarkdownSettings", "MarkdownState"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import "../chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/capabilities/node.ts
|
|
4
|
+
import { Capability } from "@dxos/app-framework";
|
|
5
|
+
var CreateObject = Capability.lazy("CreateObject", () => import("../create-object-VU3KX663.mjs"));
|
|
6
|
+
var OperationHandler = Capability.lazy("OperationHandler", () => import("../operation-handler-2ARMPBGZ.mjs"));
|
|
7
|
+
export {
|
|
8
|
+
CreateObject,
|
|
9
|
+
OperationHandler
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=node.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/capabilities/node.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport const CreateObject = Capability.lazy('CreateObject', () => import('./create-object'));\n\nexport const OperationHandler = Capability.lazy<OperationHandlerSet.OperationHandlerSet>(\n 'OperationHandler',\n () => import('./operation-handler'),\n);\n"],
|
|
5
|
+
"mappings": ";;;AAIA,SAASA,kBAAkB;AAGpB,IAAMC,eAAeD,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAElE,IAAMC,mBAAmBH,WAAWE,KACzC,oBACA,MAAM,OAAO,mCAAA,CAAA;",
|
|
6
|
+
"names": ["Capability", "CreateObject", "lazy", "OperationHandler"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__export
|
|
3
|
+
} from "./chunk-J5LGTIGS.mjs";
|
|
4
|
+
|
|
5
|
+
// src/types/Markdown.ts
|
|
6
|
+
var Markdown_exports = {};
|
|
7
|
+
__export(Markdown_exports, {
|
|
8
|
+
BLUEPRINT_KEY: () => BLUEPRINT_KEY,
|
|
9
|
+
Document: () => Document,
|
|
10
|
+
Settings: () => Settings2,
|
|
11
|
+
make: () => make
|
|
12
|
+
});
|
|
13
|
+
import * as Schema2 from "effect/Schema";
|
|
14
|
+
import { BlueprintsAnnotation, GraphPropsAnnotation } from "@dxos/app-toolkit";
|
|
15
|
+
import { DXN, Annotation, Obj, Ref, Type } from "@dxos/echo";
|
|
16
|
+
import { DescriptionAnnotation, FormInputAnnotation, LabelAnnotation } from "@dxos/echo/internal";
|
|
17
|
+
import { Text } from "@dxos/schema";
|
|
18
|
+
|
|
19
|
+
// src/types/Settings.ts
|
|
20
|
+
var Settings_exports = {};
|
|
21
|
+
__export(Settings_exports, {
|
|
22
|
+
CommentAgentMode: () => CommentAgentMode,
|
|
23
|
+
Settings: () => Settings
|
|
24
|
+
});
|
|
25
|
+
import * as Schema from "effect/Schema";
|
|
26
|
+
import { EditorInputMode, EditorViewMode } from "@dxos/ui-editor/types";
|
|
27
|
+
var CommentAgentMode = Schema.Union(Schema.Literal("off"), Schema.Literal("auto"), Schema.Literal("mention"));
|
|
28
|
+
var Settings = Schema.mutable(Schema.Struct({
|
|
29
|
+
defaultViewMode: EditorViewMode.annotations({
|
|
30
|
+
title: "Default view mode",
|
|
31
|
+
description: "Set whether documents open in editing or read-only mode."
|
|
32
|
+
}),
|
|
33
|
+
commentAgentMode: Schema.optional(CommentAgentMode.annotations({
|
|
34
|
+
title: "Comment agent mode",
|
|
35
|
+
description: "How new comment threads on markdown documents are processed: 'off' (no AI), 'auto' (AI responds to every user message), or 'mention' (AI responds only on @mention)."
|
|
36
|
+
})),
|
|
37
|
+
editorInputMode: Schema.optional(EditorInputMode.annotations({
|
|
38
|
+
title: "Editor input mode",
|
|
39
|
+
description: "Choose keyboard bindings for the editor."
|
|
40
|
+
})),
|
|
41
|
+
toolbar: Schema.optional(Schema.Boolean.annotations({
|
|
42
|
+
title: "Show toolbar",
|
|
43
|
+
description: "Display a formatting toolbar above the editor."
|
|
44
|
+
})),
|
|
45
|
+
numberedHeadings: Schema.optional(Schema.Boolean.annotations({
|
|
46
|
+
title: "Numbered headings",
|
|
47
|
+
description: "Automatically number heading levels in the document."
|
|
48
|
+
})),
|
|
49
|
+
folding: Schema.optional(Schema.Boolean.annotations({
|
|
50
|
+
title: "Folding",
|
|
51
|
+
description: "Allow collapsing and expanding sections by heading."
|
|
52
|
+
})),
|
|
53
|
+
experimental: Schema.optional(Schema.Boolean.annotations({
|
|
54
|
+
title: "Enable experimental features",
|
|
55
|
+
description: "Turn on features that are still in development."
|
|
56
|
+
})),
|
|
57
|
+
debug: Schema.optional(Schema.Boolean.annotations({
|
|
58
|
+
title: "Enable debugging features",
|
|
59
|
+
description: "Show developer tools and diagnostics for the editor."
|
|
60
|
+
})),
|
|
61
|
+
snippets: Schema.optional(Schema.String.annotations({
|
|
62
|
+
title: "Snippets",
|
|
63
|
+
description: "Input snippets to replay for testing purposes."
|
|
64
|
+
}))
|
|
65
|
+
}));
|
|
66
|
+
|
|
67
|
+
// src/types/Markdown.ts
|
|
68
|
+
var BLUEPRINT_KEY = "org.dxos.blueprint.markdown";
|
|
69
|
+
var Settings2 = Settings;
|
|
70
|
+
var Document = Schema2.Struct({
|
|
71
|
+
name: Schema2.optional(Schema2.String),
|
|
72
|
+
description: Schema2.optional(Schema2.String),
|
|
73
|
+
fallbackName: Schema2.String.pipe(FormInputAnnotation.set(false), Schema2.optional),
|
|
74
|
+
content: Ref.Ref(Text.Text).pipe(FormInputAnnotation.set(false))
|
|
75
|
+
}).pipe(LabelAnnotation.set([
|
|
76
|
+
"name",
|
|
77
|
+
"fallbackName"
|
|
78
|
+
]), DescriptionAnnotation.set("description"), Annotation.IconAnnotation.set({
|
|
79
|
+
icon: "ph--text-aa--regular",
|
|
80
|
+
hue: "indigo"
|
|
81
|
+
}), BlueprintsAnnotation.set([
|
|
82
|
+
BLUEPRINT_KEY
|
|
83
|
+
]), GraphPropsAnnotation.set({
|
|
84
|
+
managesAutofocus: true
|
|
85
|
+
}), Type.makeObject(DXN.make("org.dxos.type.document", "0.1.0")));
|
|
86
|
+
var make = ({ content = "", ...props } = {}) => {
|
|
87
|
+
const doc = Obj.make(Document, {
|
|
88
|
+
...props,
|
|
89
|
+
content: Ref.make(Text.make({
|
|
90
|
+
content
|
|
91
|
+
}))
|
|
92
|
+
});
|
|
93
|
+
Obj.setParent(doc.content.target, doc);
|
|
94
|
+
return doc;
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
// src/types/MarkdownCapabilities.ts
|
|
98
|
+
var MarkdownCapabilities_exports = {};
|
|
99
|
+
__export(MarkdownCapabilities_exports, {
|
|
100
|
+
EditorState: () => EditorState,
|
|
101
|
+
EditorViews: () => EditorViews,
|
|
102
|
+
Extensions: () => Extensions,
|
|
103
|
+
Settings: () => Settings3,
|
|
104
|
+
State: () => State,
|
|
105
|
+
StateSchema: () => StateSchema
|
|
106
|
+
});
|
|
107
|
+
import * as Schema3 from "effect/Schema";
|
|
108
|
+
import { Capability } from "@dxos/app-framework";
|
|
109
|
+
import { meta } from "#meta";
|
|
110
|
+
var StateSchema = Schema3.mutable(Schema3.Struct({
|
|
111
|
+
viewMode: Schema3.Record({
|
|
112
|
+
key: Schema3.String,
|
|
113
|
+
value: Schema3.String
|
|
114
|
+
})
|
|
115
|
+
}));
|
|
116
|
+
var Settings3 = Capability.make(`${meta.id}.capability.settings`);
|
|
117
|
+
var State = Capability.make(`${meta.id}.capability.state`);
|
|
118
|
+
var EditorState = Capability.make(`${meta.id}.capability.editor-state`);
|
|
119
|
+
var EditorViews = Capability.make(`${meta.id}.capability.editor-views`);
|
|
120
|
+
var Extensions = Capability.make(`${meta.id}.capability.extensions`);
|
|
121
|
+
|
|
122
|
+
// src/types/MarkdownEvents.ts
|
|
123
|
+
var MarkdownEvents_exports = {};
|
|
124
|
+
__export(MarkdownEvents_exports, {
|
|
125
|
+
SetupExtensions: () => SetupExtensions
|
|
126
|
+
});
|
|
127
|
+
import { AppActivationEvents } from "@dxos/app-toolkit";
|
|
128
|
+
import { meta as meta2 } from "#meta";
|
|
129
|
+
var SetupExtensions = AppActivationEvents.createStateEvent(`${meta2.id}.event.setup-extensions`);
|
|
130
|
+
|
|
131
|
+
// src/types/MarkdownOperation.ts
|
|
132
|
+
var MarkdownOperation_exports = {};
|
|
133
|
+
__export(MarkdownOperation_exports, {
|
|
134
|
+
Create: () => Create,
|
|
135
|
+
CreateMarkdown: () => CreateMarkdown,
|
|
136
|
+
Open: () => Open,
|
|
137
|
+
ScrollToAnchor: () => ScrollToAnchor,
|
|
138
|
+
SetViewMode: () => SetViewMode,
|
|
139
|
+
Update: () => Update
|
|
140
|
+
});
|
|
141
|
+
import * as Schema4 from "effect/Schema";
|
|
142
|
+
import { Capability as Capability2 } from "@dxos/app-framework";
|
|
143
|
+
import { Operation } from "@dxos/compute";
|
|
144
|
+
import { Database, Ref as Ref2, Type as Type2 } from "@dxos/echo";
|
|
145
|
+
import { EditorViewMode as EditorViewMode2 } from "@dxos/ui-editor/types";
|
|
146
|
+
import { trim } from "@dxos/util";
|
|
147
|
+
import { meta as meta3 } from "#meta";
|
|
148
|
+
var MARKDOWN_OPERATION = `${meta3.id}.operation`;
|
|
149
|
+
var Edit = Schema4.Struct({
|
|
150
|
+
oldString: Schema4.String.annotations({
|
|
151
|
+
description: "The text to find in the document."
|
|
152
|
+
}),
|
|
153
|
+
newString: Schema4.String.annotations({
|
|
154
|
+
description: "The text to replace it with."
|
|
155
|
+
}),
|
|
156
|
+
replaceAll: Schema4.optional(Schema4.Boolean).annotations({
|
|
157
|
+
description: "If true, replaces all occurrences. Defaults to false (first occurrence only)."
|
|
158
|
+
})
|
|
159
|
+
});
|
|
160
|
+
var Create = Operation.make({
|
|
161
|
+
meta: {
|
|
162
|
+
key: "org.dxos.function.markdown.create",
|
|
163
|
+
name: "Create",
|
|
164
|
+
description: "Creates a new markdown document and adds it to the space.",
|
|
165
|
+
icon: "ph--file-text--regular"
|
|
166
|
+
},
|
|
167
|
+
input: Schema4.Struct({
|
|
168
|
+
name: Schema4.String,
|
|
169
|
+
content: Schema4.String
|
|
170
|
+
}),
|
|
171
|
+
output: Schema4.Struct({
|
|
172
|
+
id: Schema4.String.annotations({
|
|
173
|
+
description: "The DXN of the created document."
|
|
174
|
+
})
|
|
175
|
+
}),
|
|
176
|
+
services: [
|
|
177
|
+
Database.Service
|
|
178
|
+
]
|
|
179
|
+
});
|
|
180
|
+
var CreateMarkdown = Operation.make({
|
|
181
|
+
meta: {
|
|
182
|
+
key: `${MARKDOWN_OPERATION}.create`,
|
|
183
|
+
name: "Create Markdown Document",
|
|
184
|
+
icon: "ph--file-text--regular"
|
|
185
|
+
},
|
|
186
|
+
services: [
|
|
187
|
+
Capability2.Service
|
|
188
|
+
],
|
|
189
|
+
input: Schema4.Struct({
|
|
190
|
+
name: Schema4.optional(Schema4.String),
|
|
191
|
+
content: Schema4.optional(Schema4.String)
|
|
192
|
+
}),
|
|
193
|
+
output: Schema4.Struct({
|
|
194
|
+
object: Type2.getSchema(Document)
|
|
195
|
+
})
|
|
196
|
+
});
|
|
197
|
+
var Open = Operation.make({
|
|
198
|
+
meta: {
|
|
199
|
+
key: "org.dxos.function.markdown.open",
|
|
200
|
+
name: "Open",
|
|
201
|
+
description: "Opens and reads the contents of a new markdown document.",
|
|
202
|
+
icon: "ph--arrow-square-out--regular"
|
|
203
|
+
},
|
|
204
|
+
input: Schema4.Struct({
|
|
205
|
+
doc: Ref2.Ref(Document).annotations({
|
|
206
|
+
description: "The ID of the markdown document."
|
|
207
|
+
})
|
|
208
|
+
}),
|
|
209
|
+
output: Schema4.Struct({
|
|
210
|
+
content: Schema4.String
|
|
211
|
+
}),
|
|
212
|
+
services: [
|
|
213
|
+
Database.Service
|
|
214
|
+
]
|
|
215
|
+
});
|
|
216
|
+
var ScrollToAnchor = Operation.make({
|
|
217
|
+
meta: {
|
|
218
|
+
key: `${MARKDOWN_OPERATION}.scroll-to-anchor`,
|
|
219
|
+
name: "Scroll To Anchor",
|
|
220
|
+
icon: "ph--anchor-simple--regular"
|
|
221
|
+
},
|
|
222
|
+
services: [
|
|
223
|
+
Capability2.Service
|
|
224
|
+
],
|
|
225
|
+
input: Schema4.Struct({
|
|
226
|
+
subject: Schema4.String.annotations({
|
|
227
|
+
description: "Attendable ID of the markdown editor."
|
|
228
|
+
}),
|
|
229
|
+
cursor: Schema4.String.annotations({
|
|
230
|
+
description: "Cursor position to scroll to."
|
|
231
|
+
}),
|
|
232
|
+
ref: Schema4.optional(Schema4.String.annotations({
|
|
233
|
+
description: "Reference ID (e.g. thread ID)."
|
|
234
|
+
}))
|
|
235
|
+
}),
|
|
236
|
+
output: Schema4.Void
|
|
237
|
+
});
|
|
238
|
+
var SetViewMode = Operation.make({
|
|
239
|
+
meta: {
|
|
240
|
+
key: `${MARKDOWN_OPERATION}.set-view-mode`,
|
|
241
|
+
name: "Set View Mode",
|
|
242
|
+
icon: "ph--layout--regular"
|
|
243
|
+
},
|
|
244
|
+
services: [
|
|
245
|
+
Capability2.Service
|
|
246
|
+
],
|
|
247
|
+
input: Schema4.Struct({
|
|
248
|
+
id: Schema4.String,
|
|
249
|
+
viewMode: EditorViewMode2
|
|
250
|
+
}),
|
|
251
|
+
output: Schema4.Void
|
|
252
|
+
});
|
|
253
|
+
var Update = Operation.make({
|
|
254
|
+
meta: {
|
|
255
|
+
key: "org.dxos.function.markdown.update",
|
|
256
|
+
name: "Update",
|
|
257
|
+
description: trim`
|
|
258
|
+
Applies a set of edits to the markdown document.
|
|
259
|
+
`,
|
|
260
|
+
icon: "ph--pencil-simple--regular"
|
|
261
|
+
},
|
|
262
|
+
input: Schema4.Struct({
|
|
263
|
+
doc: Ref2.Ref(Document).annotations({
|
|
264
|
+
description: "The ID of the markdown document."
|
|
265
|
+
}),
|
|
266
|
+
edits: Schema4.Array(Edit).annotations({
|
|
267
|
+
description: "The edits to apply to the document. Each edit finds oldString and replaces it with newString."
|
|
268
|
+
})
|
|
269
|
+
}),
|
|
270
|
+
output: Schema4.Struct({
|
|
271
|
+
newContent: Schema4.String
|
|
272
|
+
}),
|
|
273
|
+
services: [
|
|
274
|
+
Database.Service
|
|
275
|
+
]
|
|
276
|
+
});
|
|
277
|
+
|
|
278
|
+
export {
|
|
279
|
+
Settings_exports,
|
|
280
|
+
Markdown_exports,
|
|
281
|
+
MarkdownCapabilities_exports,
|
|
282
|
+
MarkdownEvents_exports,
|
|
283
|
+
MarkdownOperation_exports
|
|
284
|
+
};
|
|
285
|
+
//# sourceMappingURL=chunk-5JY7PO7Z.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types/Markdown.ts", "../../../src/types/Settings.ts", "../../../src/types/MarkdownCapabilities.ts", "../../../src/types/MarkdownEvents.ts", "../../../src/types/MarkdownOperation.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { BlueprintsAnnotation, GraphPropsAnnotation } from '@dxos/app-toolkit';\nimport { DXN, Annotation, Obj, Ref, Type } from '@dxos/echo';\nimport { DescriptionAnnotation, FormInputAnnotation, LabelAnnotation } from '@dxos/echo/internal';\nimport { Text } from '@dxos/schema';\n\nexport const BLUEPRINT_KEY = 'org.dxos.blueprint.markdown';\n\n// Re-export Settings as merged const/type (not as namespace).\nimport * as SettingsModule from './Settings';\nexport const Settings = SettingsModule.Settings;\nexport type Settings = SettingsModule.Settings;\n\n/**\n * Document Item type.\n */\nexport const Document = Schema.Struct({\n name: Schema.optional(Schema.String),\n description: Schema.optional(Schema.String),\n fallbackName: Schema.String.pipe(FormInputAnnotation.set(false), Schema.optional),\n content: Ref.Ref(Text.Text).pipe(FormInputAnnotation.set(false)),\n}).pipe(\n LabelAnnotation.set(['name', 'fallbackName']),\n DescriptionAnnotation.set('description'),\n Annotation.IconAnnotation.set({\n icon: 'ph--text-aa--regular',\n hue: 'indigo',\n }),\n BlueprintsAnnotation.set([BLUEPRINT_KEY]),\n GraphPropsAnnotation.set({ managesAutofocus: true }),\n Type.makeObject(DXN.make('org.dxos.type.document', '0.1.0')),\n);\n\nexport type Document = Type.InstanceType<typeof Document>;\n\n/**\n * Document factory.\n */\nexport const make = ({\n content = '',\n ...props\n}: Partial<{ name: string; fallbackName: string; content: string }> = {}) => {\n const doc = Obj.make(Document, { ...props, content: Ref.make(Text.make({ content })) });\n // TODO(dmaretskyi): We need a better way to set parents when creating hierarchies.\n Obj.setParent(doc.content.target!, doc);\n return doc;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { EditorInputMode, EditorViewMode } from '@dxos/ui-editor/types';\n\n/**\n * Determines how new comment threads on markdown documents are wired up to\n * the comment-thread AI agent (plugin-thread). The agent's identity (name,\n * DID) is resolved at runtime via the AgentIdentity capability — this\n * setting only controls whether and when the agent fires.\n *\n * - `off`: comments are plain user-only threads (no agent).\n * - `auto`: every user message in a thread triggers an agent response.\n * - `mention`: agent only responds when the message contains `@{agentName}`.\n */\nexport const CommentAgentMode = Schema.Union(Schema.Literal('off'), Schema.Literal('auto'), Schema.Literal('mention'));\nexport type CommentAgentMode = Schema.Schema.Type<typeof CommentAgentMode>;\n\n/**\n * Plugin settings.\n */\nexport const Settings = Schema.mutable(\n Schema.Struct({\n defaultViewMode: EditorViewMode.annotations({\n title: 'Default view mode',\n description: 'Set whether documents open in editing or read-only mode.',\n }),\n commentAgentMode: Schema.optional(\n CommentAgentMode.annotations({\n title: 'Comment agent mode',\n description:\n \"How new comment threads on markdown documents are processed: 'off' (no AI), 'auto' (AI responds to every user message), or 'mention' (AI responds only on @mention).\",\n }),\n ),\n editorInputMode: Schema.optional(\n EditorInputMode.annotations({\n title: 'Editor input mode',\n description: 'Choose keyboard bindings for the editor.',\n }),\n ),\n toolbar: Schema.optional(\n Schema.Boolean.annotations({\n title: 'Show toolbar',\n description: 'Display a formatting toolbar above the editor.',\n }),\n ),\n numberedHeadings: Schema.optional(\n Schema.Boolean.annotations({\n title: 'Numbered headings',\n description: 'Automatically number heading levels in the document.',\n }),\n ),\n folding: Schema.optional(\n Schema.Boolean.annotations({\n title: 'Folding',\n description: 'Allow collapsing and expanding sections by heading.',\n }),\n ),\n experimental: Schema.optional(\n Schema.Boolean.annotations({\n title: 'Enable experimental features',\n description: 'Turn on features that are still in development.',\n }),\n ),\n debug: Schema.optional(\n Schema.Boolean.annotations({\n title: 'Enable debugging features',\n description: 'Show developer tools and diagnostics for the editor.',\n }),\n ),\n snippets: Schema.optional(\n Schema.String.annotations({\n title: 'Snippets',\n description: 'Input snippets to replay for testing purposes.',\n }),\n ),\n }),\n);\n\nexport interface Settings extends Schema.Schema.Type<typeof Settings> {}\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport { type EditorView } from '@codemirror/view';\nimport { type Atom } from '@effect-atom/atom-react';\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { type EditorStateStore } from '@dxos/ui-editor';\nimport { type EditorViewMode } from '@dxos/ui-editor/types';\n\nimport { meta } from '#meta';\n\nimport type * as Markdown from './Markdown';\nimport { type MarkdownExtensionProvider } from './types';\n\n/** Schema for persisted markdown state. */\nexport const StateSchema = Schema.mutable(\n Schema.Struct({\n viewMode: Schema.Record({ key: Schema.String, value: Schema.String }),\n }),\n);\n\nexport type MarkdownState = {\n viewMode: Record<string, EditorViewMode>;\n};\n\nexport type EditorViewEntry = { view: EditorView; documentId: string };\n\nexport type EditorViewRegistry = {\n register: (attendableId: string, view: EditorView, documentId: string) => void;\n unregister: (attendableId: string) => void;\n get: (attendableId: string) => EditorViewEntry | undefined;\n};\n\nexport const Settings = Capability.make<Atom.Writable<Markdown.Settings>>(`${meta.id}.capability.settings`);\n\n/** Persisted state atom for view mode per document. */\nexport const State = Capability.make<Atom.Writable<MarkdownState>>(`${meta.id}.capability.state`);\n\n/** Editor state store for cursor positions, scroll state, etc. */\nexport const EditorState = Capability.make<EditorStateStore>(`${meta.id}.capability.editor-state`);\n\n/** Registry of active EditorView instances keyed by attendable ID. */\nexport const EditorViews = Capability.make<EditorViewRegistry>(`${meta.id}.capability.editor-views`);\n\n// TODO(burdon): Move to ./types (external API)?\nexport const Extensions = Capability.make<MarkdownExtensionProvider[]>(`${meta.id}.capability.extensions`);\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport { type ActivationEvent } from '@dxos/app-framework';\nimport { AppActivationEvents } from '@dxos/app-toolkit';\n\nimport { meta } from '#meta';\n\nexport const SetupExtensions: ActivationEvent.ActivationEvent = AppActivationEvents.createStateEvent(\n `${meta.id}.event.setup-extensions`,\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Operation } from '@dxos/compute';\nimport { Database, Ref, Type } from '@dxos/echo';\nimport { EditorViewMode } from '@dxos/ui-editor/types';\nimport { trim } from '@dxos/util';\n\nimport { meta } from '#meta';\n\nimport * as Markdown from './Markdown';\n\nconst MARKDOWN_OPERATION = `${meta.id}.operation`;\n\nconst Edit = Schema.Struct({\n oldString: Schema.String.annotations({\n description: 'The text to find in the document.',\n }),\n newString: Schema.String.annotations({\n description: 'The text to replace it with.',\n }),\n replaceAll: Schema.optional(Schema.Boolean).annotations({\n description: 'If true, replaces all occurrences. Defaults to false (first occurrence only).',\n }),\n});\n\nexport const Create = Operation.make({\n meta: {\n key: 'org.dxos.function.markdown.create',\n name: 'Create',\n description: 'Creates a new markdown document and adds it to the space.',\n icon: 'ph--file-text--regular',\n },\n input: Schema.Struct({\n name: Schema.String,\n content: Schema.String,\n }),\n output: Schema.Struct({\n id: Schema.String.annotations({\n description: 'The DXN of the created document.',\n }),\n }),\n services: [Database.Service],\n});\n\nexport const CreateMarkdown = Operation.make({\n meta: { key: `${MARKDOWN_OPERATION}.create`, name: 'Create Markdown Document', icon: 'ph--file-text--regular' },\n services: [Capability.Service],\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n content: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: Type.getSchema(Markdown.Document),\n }),\n});\n\nexport const Open = Operation.make({\n meta: {\n key: 'org.dxos.function.markdown.open',\n name: 'Open',\n description: 'Opens and reads the contents of a new markdown document.',\n icon: 'ph--arrow-square-out--regular',\n },\n input: Schema.Struct({\n doc: Ref.Ref(Markdown.Document).annotations({\n description: 'The ID of the markdown document.',\n }),\n }),\n output: Schema.Struct({\n content: Schema.String,\n }),\n services: [Database.Service],\n});\n\nexport const ScrollToAnchor = Operation.make({\n meta: { key: `${MARKDOWN_OPERATION}.scroll-to-anchor`, name: 'Scroll To Anchor', icon: 'ph--anchor-simple--regular' },\n services: [Capability.Service],\n input: Schema.Struct({\n subject: Schema.String.annotations({ description: 'Attendable ID of the markdown editor.' }),\n cursor: Schema.String.annotations({ description: 'Cursor position to scroll to.' }),\n ref: Schema.optional(Schema.String.annotations({ description: 'Reference ID (e.g. thread ID).' })),\n }),\n output: Schema.Void,\n});\n\n// TODO(wittjosiah): This appears to be unused.\nexport const SetViewMode = Operation.make({\n meta: { key: `${MARKDOWN_OPERATION}.set-view-mode`, name: 'Set View Mode', icon: 'ph--layout--regular' },\n services: [Capability.Service],\n input: Schema.Struct({\n id: Schema.String,\n viewMode: EditorViewMode,\n }),\n output: Schema.Void,\n});\n\nexport const Update = Operation.make({\n meta: {\n key: 'org.dxos.function.markdown.update',\n name: 'Update',\n description: trim`\n Applies a set of edits to the markdown document.\n `,\n icon: 'ph--pencil-simple--regular',\n },\n input: Schema.Struct({\n doc: Ref.Ref(Markdown.Document).annotations({\n description: 'The ID of the markdown document.',\n }),\n edits: Schema.Array(Edit).annotations({\n description: 'The edits to apply to the document. Each edit finds oldString and replaces it with newString.',\n }),\n }),\n output: Schema.Struct({\n newContent: Schema.String,\n }),\n services: [Database.Service],\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Settings", "Schema", "BlueprintsAnnotation", "GraphPropsAnnotation", "DXN", "Annotation", "Obj", "Ref", "Type", "DescriptionAnnotation", "FormInputAnnotation", "LabelAnnotation", "Text", "Schema", "EditorInputMode", "EditorViewMode", "CommentAgentMode", "Union", "Literal", "Settings", "mutable", "Struct", "defaultViewMode", "annotations", "title", "description", "commentAgentMode", "optional", "editorInputMode", "toolbar", "Boolean", "numberedHeadings", "folding", "experimental", "debug", "snippets", "String", "BLUEPRINT_KEY", "Settings", "Document", "Struct", "name", "optional", "String", "description", "fallbackName", "pipe", "FormInputAnnotation", "set", "content", "Ref", "Text", "LabelAnnotation", "DescriptionAnnotation", "Annotation", "IconAnnotation", "icon", "hue", "BlueprintsAnnotation", "GraphPropsAnnotation", "managesAutofocus", "Type", "makeObject", "DXN", "make", "props", "doc", "Obj", "setParent", "target", "Settings", "Schema", "Capability", "meta", "StateSchema", "mutable", "Struct", "viewMode", "Record", "key", "String", "value", "make", "id", "State", "EditorState", "EditorViews", "Extensions", "AppActivationEvents", "meta", "SetupExtensions", "createStateEvent", "id", "Schema", "Capability", "Operation", "Database", "Ref", "Type", "EditorViewMode", "trim", "meta", "MARKDOWN_OPERATION", "meta", "id", "Edit", "Struct", "oldString", "String", "annotations", "description", "newString", "replaceAll", "optional", "Boolean", "Create", "Operation", "make", "key", "name", "icon", "input", "content", "output", "services", "Database", "Service", "CreateMarkdown", "Capability", "object", "Type", "getSchema", "Document", "Open", "doc", "Ref", "ScrollToAnchor", "subject", "cursor", "ref", "Void", "SetViewMode", "viewMode", "EditorViewMode", "Update", "trim", "edits", "Array", "newContent"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
// src/util.tsx
|
|
2
|
+
import { debounce } from "@dxos/async";
|
|
3
|
+
import { Obj } from "@dxos/echo";
|
|
4
|
+
import { Markdown } from "#types";
|
|
5
|
+
var isEditorModel = (data) => data && typeof data === "object" && "id" in data && typeof data.id === "string" && "text" in data && typeof data.text === "string";
|
|
6
|
+
var isMarkdownProperties = (data) => Obj.isObject(data) ? true : data && typeof data === "object" ? "title" in data && typeof data.title === "string" : false;
|
|
7
|
+
var nonTitleChars = /[^\w ]/g;
|
|
8
|
+
var skipPatterns = [
|
|
9
|
+
/^!\[/,
|
|
10
|
+
/^---\s*$/,
|
|
11
|
+
/^```/,
|
|
12
|
+
/^\s*$/
|
|
13
|
+
];
|
|
14
|
+
var titlePatterns = [
|
|
15
|
+
/^#{1,6}\s+(.+)/
|
|
16
|
+
];
|
|
17
|
+
var getFallbackName = (content = "") => {
|
|
18
|
+
const len = content.length;
|
|
19
|
+
let i = 0;
|
|
20
|
+
while (i < len) {
|
|
21
|
+
let lineEnd = i;
|
|
22
|
+
while (lineEnd < len && content[lineEnd] !== "\n") {
|
|
23
|
+
lineEnd++;
|
|
24
|
+
}
|
|
25
|
+
const line = content.slice(i, lineEnd).trim();
|
|
26
|
+
i = lineEnd + 1;
|
|
27
|
+
if (skipPatterns.some((pattern) => pattern.test(line))) {
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
for (const pattern of titlePatterns) {
|
|
31
|
+
const match = pattern.exec(line);
|
|
32
|
+
if (match) {
|
|
33
|
+
const text2 = match[1].replaceAll(nonTitleChars, "").trim();
|
|
34
|
+
if (text2.length > 0) {
|
|
35
|
+
return text2;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
const maxLen = 32;
|
|
40
|
+
const text = line.replaceAll(nonTitleChars, "").trim();
|
|
41
|
+
if (text.length > 0) {
|
|
42
|
+
if (text.length > maxLen) {
|
|
43
|
+
const words = text.split(/\s+/);
|
|
44
|
+
let result = "";
|
|
45
|
+
for (const word of words) {
|
|
46
|
+
const next = result.length === 0 ? word : result + " " + word;
|
|
47
|
+
if (next.length > maxLen) {
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
result = next;
|
|
51
|
+
}
|
|
52
|
+
return result + "\u2026";
|
|
53
|
+
}
|
|
54
|
+
return text;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return "";
|
|
58
|
+
};
|
|
59
|
+
var getContentSnippet = (content = "", maxLines = 3) => {
|
|
60
|
+
const abstract = content.split("\n").filter((line) => !line.startsWith("!")).filter((line) => line.trim() !== "");
|
|
61
|
+
return abstract.slice(0, maxLines).join("\n") ?? "";
|
|
62
|
+
};
|
|
63
|
+
var setFallbackName = debounce((doc, content = "") => {
|
|
64
|
+
const name = getFallbackName(content);
|
|
65
|
+
if (doc.fallbackName !== name) {
|
|
66
|
+
Obj.update(doc, (doc2) => {
|
|
67
|
+
doc2.fallbackName = name;
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}, 200);
|
|
71
|
+
var serializer = {
|
|
72
|
+
serialize: async ({ object }) => {
|
|
73
|
+
const { content } = await object.content.load();
|
|
74
|
+
return JSON.stringify({
|
|
75
|
+
name: object.name,
|
|
76
|
+
fallbackName: object.fallbackName,
|
|
77
|
+
content
|
|
78
|
+
});
|
|
79
|
+
},
|
|
80
|
+
deserialize: async ({ content: serialized }) => {
|
|
81
|
+
const { name, fallbackName, content } = JSON.parse(serialized);
|
|
82
|
+
return Markdown.make({
|
|
83
|
+
name,
|
|
84
|
+
fallbackName,
|
|
85
|
+
content
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
export {
|
|
91
|
+
isEditorModel,
|
|
92
|
+
isMarkdownProperties,
|
|
93
|
+
getFallbackName,
|
|
94
|
+
getContentSnippet,
|
|
95
|
+
setFallbackName,
|
|
96
|
+
serializer
|
|
97
|
+
};
|
|
98
|
+
//# sourceMappingURL=chunk-KDN4GKG2.mjs.map
|