@dxos/plugin-markdown 0.8.3 → 0.8.4-main.1068cf700f
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-7VIO7R66.mjs +11 -0
- package/dist/lib/browser/MarkdownCard-7VIO7R66.mjs.map +7 -0
- package/dist/lib/browser/MarkdownContainer-6E43EDAU.mjs +11 -0
- package/dist/lib/browser/MarkdownContainer-6E43EDAU.mjs.map +7 -0
- package/dist/lib/browser/anchor-sort-JBAZRPE7.mjs +33 -0
- package/dist/lib/browser/anchor-sort-JBAZRPE7.mjs.map +7 -0
- package/dist/lib/browser/app-graph-serializer-6Q5YBUPW.mjs +59 -0
- package/dist/lib/browser/app-graph-serializer-6Q5YBUPW.mjs.map +7 -0
- package/dist/lib/browser/blueprint-definition-6HOAW2E6.mjs +20 -0
- package/dist/lib/browser/blueprint-definition-6HOAW2E6.mjs.map +7 -0
- package/dist/lib/browser/blueprints/index.mjs +8 -0
- package/dist/lib/browser/blueprints/index.mjs.map +7 -0
- package/dist/lib/browser/{chunk-D767LUGU.mjs → chunk-2AAD3W6X.mjs} +21 -15
- package/dist/lib/browser/chunk-2AAD3W6X.mjs.map +7 -0
- package/dist/lib/browser/chunk-4GT3QWMK.mjs +167 -0
- package/dist/lib/browser/chunk-4GT3QWMK.mjs.map +7 -0
- package/dist/lib/browser/chunk-6SM75KL3.mjs +8 -0
- package/dist/lib/browser/chunk-6SM75KL3.mjs.map +7 -0
- package/dist/lib/browser/chunk-7AQTX6D5.mjs +105 -0
- package/dist/lib/browser/chunk-7AQTX6D5.mjs.map +7 -0
- package/dist/lib/browser/chunk-EZZFREFN.mjs +58 -0
- package/dist/lib/browser/chunk-EZZFREFN.mjs.map +7 -0
- package/dist/lib/browser/chunk-HHRUUWGH.mjs +796 -0
- package/dist/lib/browser/chunk-HHRUUWGH.mjs.map +7 -0
- package/dist/lib/browser/chunk-HQTBT5IY.mjs +176 -0
- package/dist/lib/browser/chunk-HQTBT5IY.mjs.map +7 -0
- package/dist/lib/browser/cli/index.mjs +33 -0
- package/dist/lib/browser/cli/index.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +132 -137
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/operation-resolver-UBQUPSXC.mjs +53 -0
- package/dist/lib/browser/operation-resolver-UBQUPSXC.mjs.map +7 -0
- package/dist/lib/browser/react-surface-7Z6AB26V.mjs +213 -0
- package/dist/lib/browser/react-surface-7Z6AB26V.mjs.map +7 -0
- package/dist/lib/browser/settings-V2XOFSD5.mjs +36 -0
- package/dist/lib/browser/settings-V2XOFSD5.mjs.map +7 -0
- package/dist/lib/browser/state-6Y3JB64H.mjs +29 -0
- package/dist/lib/browser/state-6Y3JB64H.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +13 -14
- package/dist/lib/node-esm/MarkdownCard-YC3R2TQW.mjs +12 -0
- package/dist/lib/node-esm/MarkdownCard-YC3R2TQW.mjs.map +7 -0
- package/dist/lib/node-esm/MarkdownContainer-TTRUOXU6.mjs +12 -0
- package/dist/lib/node-esm/MarkdownContainer-TTRUOXU6.mjs.map +7 -0
- package/dist/lib/node-esm/anchor-sort-IQMDZRA3.mjs +34 -0
- package/dist/lib/node-esm/anchor-sort-IQMDZRA3.mjs.map +7 -0
- package/dist/lib/node-esm/app-graph-serializer-STEPJH57.mjs +60 -0
- package/dist/lib/node-esm/app-graph-serializer-STEPJH57.mjs.map +7 -0
- package/dist/lib/node-esm/blueprint-definition-UGDFF5OZ.mjs +21 -0
- package/dist/lib/node-esm/blueprint-definition-UGDFF5OZ.mjs.map +7 -0
- package/dist/lib/node-esm/blueprints/index.mjs +9 -0
- package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-AGZOFIK2.mjs +10 -0
- package/dist/lib/node-esm/chunk-AGZOFIK2.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-D46D75SK.mjs +797 -0
- package/dist/lib/node-esm/chunk-D46D75SK.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-DCKB3AVD.mjs +59 -0
- package/dist/lib/node-esm/chunk-DCKB3AVD.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-K2IIYNCG.mjs +106 -0
- package/dist/lib/node-esm/chunk-K2IIYNCG.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-LOZVC2WA.mjs +177 -0
- package/dist/lib/node-esm/chunk-LOZVC2WA.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-BWDDFDJY.mjs → chunk-MLZQCT2N.mjs} +21 -15
- package/dist/lib/node-esm/chunk-MLZQCT2N.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-USKAPINH.mjs +168 -0
- package/dist/lib/node-esm/chunk-USKAPINH.mjs.map +7 -0
- package/dist/lib/node-esm/cli/index.mjs +34 -0
- package/dist/lib/node-esm/cli/index.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +132 -137
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/operation-resolver-QAGXDA5E.mjs +54 -0
- package/dist/lib/node-esm/operation-resolver-QAGXDA5E.mjs.map +7 -0
- package/dist/lib/node-esm/react-surface-VIXAH5CF.mjs +214 -0
- package/dist/lib/node-esm/react-surface-VIXAH5CF.mjs.map +7 -0
- package/dist/lib/node-esm/settings-EXSH2KF4.mjs +37 -0
- package/dist/lib/node-esm/settings-EXSH2KF4.mjs.map +7 -0
- package/dist/lib/node-esm/state-TVF2XT2T.mjs +30 -0
- package/dist/lib/node-esm/state-TVF2XT2T.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +13 -14
- package/dist/types/src/MarkdownPlugin.d.ts +2 -1
- package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
- package/dist/types/src/blueprints/functions/create.d.ts +8 -0
- package/dist/types/src/blueprints/functions/create.d.ts.map +1 -0
- package/dist/types/src/blueprints/functions/create.test.d.ts +2 -0
- package/dist/types/src/blueprints/functions/create.test.d.ts.map +1 -0
- package/dist/types/src/blueprints/functions/index.d.ts +4 -0
- package/dist/types/src/blueprints/functions/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/functions/open.d.ts +14 -0
- package/dist/types/src/blueprints/functions/open.d.ts.map +1 -0
- package/dist/types/src/blueprints/functions/update.d.ts +19 -0
- package/dist/types/src/blueprints/functions/update.d.ts.map +1 -0
- package/dist/types/src/blueprints/functions/update.test.d.ts +2 -0
- package/dist/types/src/blueprints/functions/update.test.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 +21 -0
- package/dist/types/src/blueprints/markdown-blueprint.d.ts.map +1 -0
- package/dist/types/src/capabilities/anchor-sort/anchor-sort.d.ts +6 -0
- package/dist/types/src/capabilities/anchor-sort/anchor-sort.d.ts.map +1 -0
- package/dist/types/src/capabilities/anchor-sort/index.d.ts +3 -0
- package/dist/types/src/capabilities/anchor-sort/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts +5 -0
- package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-serializer/index.d.ts +3 -0
- package/dist/types/src/capabilities/app-graph-serializer/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts +5 -0
- package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts.map +1 -0
- package/dist/types/src/capabilities/artifact-definition/index.d.ts +3 -0
- package/dist/types/src/capabilities/artifact-definition/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +11 -0
- package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
- package/dist/types/src/capabilities/blueprint-definition/index.d.ts +3 -0
- package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +7 -16
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
- package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
- package/dist/types/src/capabilities/settings/index.d.ts +3 -0
- package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/settings/settings.d.ts +7 -0
- package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
- package/dist/types/src/capabilities/state/index.d.ts +3 -0
- package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/state/state.d.ts +5 -0
- package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
- package/dist/types/src/cli/index.d.ts +2 -0
- package/dist/types/src/cli/index.d.ts.map +1 -0
- package/dist/types/src/cli/plugin.d.ts +3 -0
- package/dist/types/src/cli/plugin.d.ts.map +1 -0
- package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts +8 -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 +22 -12
- package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownContainer.stories.d.ts +84 -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 +43 -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 +30 -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 +6 -4
- package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts.map +1 -1
- package/dist/types/src/components/Suggestions.stories.d.ts +4 -5
- package/dist/types/src/components/Suggestions.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +7 -2
- package/dist/types/src/components/index.d.ts.map +1 -1
- 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 +4 -3
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +2 -3
- 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/translations.d.ts +69 -80
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Markdown.d.ts +45 -0
- package/dist/types/src/types/Markdown.d.ts.map +1 -0
- package/dist/types/src/types/MarkdownAction.d.ts +66 -0
- package/dist/types/src/types/MarkdownAction.d.ts.map +1 -0
- package/dist/types/src/types/capabilities.d.ts +22 -0
- package/dist/types/src/types/capabilities.d.ts.map +1 -0
- package/dist/types/src/types/events.d.ts +5 -0
- package/dist/types/src/types/events.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +5 -1
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +4 -59
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +17 -5
- 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 +99 -58
- package/src/MarkdownPlugin.tsx +83 -104
- package/src/blueprints/functions/create.conversations.json +1 -0
- package/src/blueprints/functions/create.test.ts +92 -0
- package/src/blueprints/functions/create.ts +35 -0
- package/src/blueprints/functions/index.ts +7 -0
- package/src/blueprints/functions/open.ts +33 -0
- package/src/blueprints/functions/update.conversations.json +1 -0
- package/src/blueprints/functions/update.test.ts +215 -0
- package/src/blueprints/functions/update.ts +79 -0
- package/src/blueprints/index.ts +5 -0
- package/src/blueprints/markdown-blueprint.ts +38 -0
- package/src/capabilities/anchor-sort/anchor-sort.ts +37 -0
- package/src/capabilities/anchor-sort/index.ts +7 -0
- package/src/capabilities/app-graph-serializer/app-graph-serializer.ts +60 -0
- package/src/capabilities/app-graph-serializer/index.ts +7 -0
- package/src/capabilities/artifact-definition/artifact-definition.ts +110 -0
- package/src/capabilities/artifact-definition/index.ts +7 -0
- package/src/capabilities/blueprint-definition/blueprint-definition.ts +26 -0
- package/src/capabilities/blueprint-definition/index.ts +7 -0
- package/src/capabilities/index.ts +7 -11
- package/src/capabilities/operation-resolver/index.ts +7 -0
- package/src/capabilities/operation-resolver/operation-resolver.ts +45 -0
- package/src/capabilities/react-surface/index.ts +7 -0
- package/src/capabilities/react-surface/react-surface.tsx +102 -0
- package/src/capabilities/settings/index.ts +7 -0
- package/src/capabilities/settings/settings.ts +37 -0
- package/src/capabilities/state/index.ts +7 -0
- package/src/capabilities/state/state.ts +31 -0
- package/src/cli/index.ts +5 -0
- package/src/cli/plugin.ts +30 -0
- package/src/components/MarkdownCard/MarkdownCard.stories.tsx +58 -0
- package/src/components/MarkdownCard/MarkdownCard.tsx +64 -0
- package/src/components/MarkdownCard/index.ts +9 -0
- package/src/components/MarkdownContainer.stories.tsx +82 -62
- package/src/components/MarkdownContainer.tsx +106 -234
- package/src/components/MarkdownEditor/FileUpload.tsx +63 -0
- package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +59 -37
- package/src/components/MarkdownEditor/MarkdownEditor.tsx +226 -272
- package/src/components/MarkdownEditor/MarkdownEditorContent.tsx +162 -0
- package/src/components/MarkdownEditor/MarkdownEditorToolbar.tsx +66 -0
- package/src/components/MarkdownSettings/MarkdownSettings.tsx +97 -80
- package/src/components/Suggestions.stories.tsx +74 -74
- package/src/components/index.ts +10 -3
- package/src/hooks/index.ts +3 -0
- package/src/hooks/useEditorMenuOptions.ts +68 -0
- package/src/{extensions.tsx → hooks/useExtensions.tsx} +96 -145
- package/src/hooks/useLinkQuery.ts +83 -0
- package/src/hooks/useSelectCurrentThread.tsx +39 -34
- package/src/index.ts +7 -3
- package/src/meta.ts +9 -10
- package/src/testing.ts +27 -0
- package/src/translations.ts +16 -7
- package/src/types/Markdown.ts +57 -0
- package/src/types/MarkdownAction.ts +59 -0
- package/src/types/capabilities.ts +38 -0
- package/src/types/events.ts +14 -0
- package/src/types/index.ts +6 -1
- package/src/types/types.ts +7 -50
- package/src/util.test.ts +44 -0
- package/src/util.tsx +100 -11
- package/dist/lib/browser/MarkdownContainer-EFWQ6DHD.mjs +0 -770
- package/dist/lib/browser/MarkdownContainer-EFWQ6DHD.mjs.map +0 -7
- package/dist/lib/browser/MarkdownPreview-F4PYFW5L.mjs +0 -80
- package/dist/lib/browser/MarkdownPreview-F4PYFW5L.mjs.map +0 -7
- package/dist/lib/browser/anchor-sort-BMAN2ABT.mjs +0 -32
- package/dist/lib/browser/anchor-sort-BMAN2ABT.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-EI6TEHRQ.mjs +0 -52
- package/dist/lib/browser/app-graph-serializer-EI6TEHRQ.mjs.map +0 -7
- package/dist/lib/browser/artifact-definition-FQ2R6KPT.mjs +0 -145
- package/dist/lib/browser/artifact-definition-FQ2R6KPT.mjs.map +0 -7
- package/dist/lib/browser/chunk-354IBM5X.mjs +0 -20
- package/dist/lib/browser/chunk-354IBM5X.mjs.map +0 -7
- package/dist/lib/browser/chunk-D767LUGU.mjs.map +0 -7
- package/dist/lib/browser/chunk-JX6XNEHE.mjs +0 -22
- package/dist/lib/browser/chunk-JX6XNEHE.mjs.map +0 -7
- package/dist/lib/browser/chunk-LXSRQPEP.mjs +0 -51
- package/dist/lib/browser/chunk-LXSRQPEP.mjs.map +0 -7
- package/dist/lib/browser/chunk-N2D26K6W.mjs +0 -79
- package/dist/lib/browser/chunk-N2D26K6W.mjs.map +0 -7
- package/dist/lib/browser/chunk-QVJETNGS.mjs +0 -16
- package/dist/lib/browser/chunk-QVJETNGS.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-6ZOABX2J.mjs +0 -64
- package/dist/lib/browser/intent-resolver-6ZOABX2J.mjs.map +0 -7
- package/dist/lib/browser/react-surface-4B5ELMEW.mjs +0 -205
- package/dist/lib/browser/react-surface-4B5ELMEW.mjs.map +0 -7
- package/dist/lib/browser/settings-PLH54VC7.mjs +0 -28
- package/dist/lib/browser/settings-PLH54VC7.mjs.map +0 -7
- package/dist/lib/browser/state-KI6PJ6DT.mjs +0 -37
- package/dist/lib/browser/state-KI6PJ6DT.mjs.map +0 -7
- package/dist/lib/node/MarkdownContainer-KYGUEZIL.cjs +0 -783
- package/dist/lib/node/MarkdownContainer-KYGUEZIL.cjs.map +0 -7
- package/dist/lib/node/MarkdownPreview-GCJJCXY6.cjs +0 -103
- package/dist/lib/node/MarkdownPreview-GCJJCXY6.cjs.map +0 -7
- package/dist/lib/node/anchor-sort-V3T4SFFI.cjs +0 -48
- package/dist/lib/node/anchor-sort-V3T4SFFI.cjs.map +0 -7
- package/dist/lib/node/app-graph-serializer-E6BXEDEL.cjs +0 -65
- package/dist/lib/node/app-graph-serializer-E6BXEDEL.cjs.map +0 -7
- package/dist/lib/node/artifact-definition-U27MH5SC.cjs +0 -158
- package/dist/lib/node/artifact-definition-U27MH5SC.cjs.map +0 -7
- package/dist/lib/node/chunk-3HHV4MM6.cjs +0 -101
- package/dist/lib/node/chunk-3HHV4MM6.cjs.map +0 -7
- package/dist/lib/node/chunk-CJLYFGPI.cjs +0 -74
- package/dist/lib/node/chunk-CJLYFGPI.cjs.map +0 -7
- package/dist/lib/node/chunk-FU3XZZCO.cjs +0 -58
- package/dist/lib/node/chunk-FU3XZZCO.cjs.map +0 -7
- package/dist/lib/node/chunk-IFYSBQE5.cjs +0 -35
- package/dist/lib/node/chunk-IFYSBQE5.cjs.map +0 -7
- package/dist/lib/node/chunk-LQAC5HL7.cjs +0 -68
- package/dist/lib/node/chunk-LQAC5HL7.cjs.map +0 -7
- package/dist/lib/node/chunk-ZU5OIHCY.cjs +0 -45
- package/dist/lib/node/chunk-ZU5OIHCY.cjs.map +0 -7
- package/dist/lib/node/index.cjs +0 -165
- package/dist/lib/node/index.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-OEFLRNEJ.cjs +0 -77
- package/dist/lib/node/intent-resolver-OEFLRNEJ.cjs.map +0 -7
- package/dist/lib/node/meta.json +0 -1
- package/dist/lib/node/react-surface-456HQ4KZ.cjs +0 -218
- package/dist/lib/node/react-surface-456HQ4KZ.cjs.map +0 -7
- package/dist/lib/node/settings-E3NUTXJ4.cjs +0 -42
- package/dist/lib/node/settings-E3NUTXJ4.cjs.map +0 -7
- package/dist/lib/node/state-KKDRAG7X.cjs +0 -51
- package/dist/lib/node/state-KKDRAG7X.cjs.map +0 -7
- package/dist/lib/node/types/index.cjs +0 -40
- package/dist/lib/node/types/index.cjs.map +0 -7
- package/dist/lib/node-esm/MarkdownContainer-O3SGMH4G.mjs +0 -771
- package/dist/lib/node-esm/MarkdownContainer-O3SGMH4G.mjs.map +0 -7
- package/dist/lib/node-esm/MarkdownPreview-KFDRV4GC.mjs +0 -81
- package/dist/lib/node-esm/MarkdownPreview-KFDRV4GC.mjs.map +0 -7
- package/dist/lib/node-esm/anchor-sort-BXL7BE67.mjs +0 -33
- package/dist/lib/node-esm/anchor-sort-BXL7BE67.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-F7DGNF3G.mjs +0 -53
- package/dist/lib/node-esm/app-graph-serializer-F7DGNF3G.mjs.map +0 -7
- package/dist/lib/node-esm/artifact-definition-NQOHB6S5.mjs +0 -146
- package/dist/lib/node-esm/artifact-definition-NQOHB6S5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-BWDDFDJY.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-JXXDCSMW.mjs +0 -17
- package/dist/lib/node-esm/chunk-JXXDCSMW.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-K26TX5V4.mjs +0 -52
- package/dist/lib/node-esm/chunk-K26TX5V4.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-RX63ZNML.mjs +0 -24
- package/dist/lib/node-esm/chunk-RX63ZNML.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-T2Y2BT53.mjs +0 -80
- package/dist/lib/node-esm/chunk-T2Y2BT53.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-YOABAQ7A.mjs +0 -22
- package/dist/lib/node-esm/chunk-YOABAQ7A.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-CLMSVF2K.mjs +0 -65
- package/dist/lib/node-esm/intent-resolver-CLMSVF2K.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-YHFOQTVO.mjs +0 -206
- package/dist/lib/node-esm/react-surface-YHFOQTVO.mjs.map +0 -7
- package/dist/lib/node-esm/settings-SIY33P3F.mjs +0 -29
- package/dist/lib/node-esm/settings-SIY33P3F.mjs.map +0 -7
- package/dist/lib/node-esm/state-LLGVRYKL.mjs +0 -38
- package/dist/lib/node-esm/state-LLGVRYKL.mjs.map +0 -7
- package/dist/types/src/capabilities/anchor-sort.d.ts +0 -6
- package/dist/types/src/capabilities/anchor-sort.d.ts.map +0 -1
- package/dist/types/src/capabilities/app-graph-serializer.d.ts +0 -4
- package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +0 -1
- package/dist/types/src/capabilities/artifact-definition.d.ts +0 -11
- package/dist/types/src/capabilities/artifact-definition.d.ts.map +0 -1
- 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/capabilities/react-surface.d.ts +0 -4
- package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
- package/dist/types/src/capabilities/settings.d.ts +0 -4
- package/dist/types/src/capabilities/settings.d.ts.map +0 -1
- package/dist/types/src/capabilities/state.d.ts +0 -11
- package/dist/types/src/capabilities/state.d.ts.map +0 -1
- 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 -17
- 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/events.d.ts +0 -4
- package/dist/types/src/events.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/dist/types/src/types/schema.d.ts +0 -35
- package/dist/types/src/types/schema.d.ts.map +0 -1
- package/src/capabilities/anchor-sort.ts +0 -30
- package/src/capabilities/app-graph-serializer.ts +0 -52
- package/src/capabilities/artifact-definition.ts +0 -116
- package/src/capabilities/capabilities.ts +0 -20
- package/src/capabilities/intent-resolver.ts +0 -63
- package/src/capabilities/react-surface.tsx +0 -113
- package/src/capabilities/settings.ts +0 -25
- package/src/capabilities/state.ts +0 -31
- package/src/components/MarkdownPreview/MarkdownPreview.stories.tsx +0 -74
- package/src/components/MarkdownPreview/MarkdownPreview.tsx +0 -71
- package/src/components/MarkdownPreview/index.ts +0 -9
- package/src/components/Toolbar.stories.tsx +0 -113
- package/src/events.ts +0 -11
- package/src/types/schema.ts +0 -39
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/components/MarkdownContainer.tsx", "../../../src/components/MarkdownEditor/MarkdownEditor.tsx", "../../../src/hooks/useSelectCurrentThread.tsx", "../../../src/extensions.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Rx } from '@effect-rx/rx-react';\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { Capabilities, Surface, useAppGraph, useCapabilities, usePluginManager } from '@dxos/app-framework';\nimport { DXN, Filter, Obj, Query } from '@dxos/echo';\nimport { SpaceCapabilities } from '@dxos/plugin-space';\nimport { fullyQualifiedId, getSpace, useQuery, useSpace } from '@dxos/react-client/echo';\nimport { toLocalizedString, useTranslation } from '@dxos/react-ui';\nimport { type SelectionManager } from '@dxos/react-ui-attention';\nimport {\n type CommandMenuGroup,\n type CommandMenuItem,\n insertAtCursor,\n insertAtLineStart,\n type PreviewLinkRef,\n type PreviewOptions,\n} from '@dxos/react-ui-editor';\nimport { DataType } from '@dxos/schema';\n\nimport { MarkdownEditor, type MarkdownEditorProps } from './MarkdownEditor';\nimport { useExtensions } from '../extensions';\nimport { DocumentType, type MarkdownSettingsProps } from '../types';\nimport { getFallbackName } from '../util';\n\nexport type MarkdownContainerProps = Pick<\n MarkdownEditorProps,\n 'role' | 'extensionProviders' | 'viewMode' | 'editorStateStore' | 'onViewModeChange'\n> & {\n id: string;\n object: DocumentType | DataType.Text | any;\n settings: MarkdownSettingsProps;\n selectionManager?: SelectionManager;\n};\n\nconst MarkdownContainer = ({\n id,\n role,\n object,\n settings,\n selectionManager,\n viewMode,\n editorStateStore,\n onViewModeChange,\n}: MarkdownContainerProps) => {\n const { t } = useTranslation();\n const scrollPastEnd = role === 'article';\n const doc = Obj.instanceOf(DocumentType, object) ? object : undefined;\n const text = Obj.instanceOf(DataType.Text, object) ? object : undefined;\n const [previewBlocks, setPreviewBlocks] = useState<{ link: PreviewLinkRef; el: HTMLElement }[]>([]);\n const previewOptions = useMemo(\n (): PreviewOptions => ({\n addBlockContainer: (link, el) => {\n setPreviewBlocks((prev) => [...prev, { link, el }]);\n },\n removeBlockContainer: (link) => {\n setPreviewBlocks((prev) => prev.filter(({ link: prevLink }) => prevLink.ref !== link.ref));\n },\n }),\n [],\n );\n const extensions = useExtensions({\n document: doc,\n text,\n id,\n settings,\n selectionManager,\n viewMode,\n editorStateStore,\n previewOptions,\n });\n\n // TODO(wittjosiah): Factor out.\n const manager = usePluginManager();\n const resolve = useCallback(\n (typename: string) =>\n manager.context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {},\n [manager],\n );\n const space = getSpace(object);\n const objectForms = useCapabilities(SpaceCapabilities.ObjectForm);\n const filter = useMemo(() => Filter.or(...objectForms.map((form) => Filter.type(form.objectSchema))), [objectForms]);\n const onLinkQuery = useCallback(\n async (query?: string): Promise<CommandMenuGroup[]> => {\n const name = query?.startsWith('@') ? query.slice(1).toLowerCase() : query?.toLowerCase() ?? '';\n const results = await space?.db.query(Query.select(filter)).run();\n // TODO(wittjosiah): Use `Obj.Any` type.\n const getLabel = (object: any) => {\n const type = Obj.getTypename(object)!;\n const metadata = resolve(type);\n return (\n metadata.label?.(object) || object.name || ['object name placeholder', { ns: type, default: 'New object' }]\n );\n };\n const items =\n results?.objects\n .filter((object) => toLocalizedString(getLabel(object), t).toLowerCase().includes(name))\n // TODO(wittjosiah): Remove `any` type.\n .map((object: any): CommandMenuItem => {\n const metadata = resolve(Obj.getTypename(object)!);\n const label = toLocalizedString(getLabel(object), t);\n return {\n id: object.id,\n label,\n icon: metadata.icon,\n onSelect: (view, head) => {\n const link = `[${label}][${Obj.getDXN(object)}]`;\n if (query?.startsWith('@')) {\n insertAtLineStart(view, head, `!${link}\\n`);\n } else {\n insertAtCursor(view, head, `${link} `);\n }\n },\n };\n }) ?? [];\n return [{ id: 'echo', items }];\n },\n [filter, resolve, space],\n );\n\n const editor = doc ? (\n <DocumentEditor\n id={fullyQualifiedId(object)}\n role={role}\n document={doc}\n extensions={extensions}\n viewMode={viewMode}\n settings={settings}\n scrollPastEnd={scrollPastEnd}\n onViewModeChange={onViewModeChange}\n onLinkQuery={space ? onLinkQuery : undefined}\n />\n ) : text ? (\n <MarkdownEditor\n id={id}\n role={role}\n initialValue={text.content}\n extensions={extensions}\n viewMode={viewMode}\n toolbar={settings.toolbar}\n inputMode={settings.editorInputMode}\n scrollPastEnd={scrollPastEnd}\n onViewModeChange={onViewModeChange}\n onLinkQuery={space ? onLinkQuery : undefined}\n />\n ) : (\n // TODO(burdon): Normalize with above.\n <MarkdownEditor\n id={id}\n role={role}\n initialValue={object.text}\n extensions={extensions}\n viewMode={viewMode}\n toolbar={settings.toolbar}\n inputMode={settings.editorInputMode}\n scrollPastEnd={scrollPastEnd}\n onViewModeChange={onViewModeChange}\n onLinkQuery={space ? onLinkQuery : undefined}\n />\n );\n\n return (\n <>\n {editor}\n {previewBlocks.map(({ link, el }) => (\n <PreviewBlock key={link.ref} link={link} el={el} />\n ))}\n </>\n );\n};\n\n// TODO(wittjosiah): This shouldn't be \"card\" but \"block\".\n// It's not a preview card but an interactive embedded object.\nconst PreviewBlock = ({ link, el }: { link: PreviewLinkRef; el: HTMLElement }) => {\n const echoDXN = useMemo(() => DXN.parse(link.ref).asEchoDXN(), [link.ref]);\n const space = useSpace(echoDXN?.spaceId);\n const [subject] = useQuery(space, Query.select(Filter.ids(echoDXN?.echoId ?? '')));\n const data = useMemo(() => ({ subject }), [subject]);\n\n return createPortal(<Surface role='card--document' data={data} limit={1} />, el);\n};\n\ntype DocumentEditorProps = Omit<MarkdownContainerProps, 'object' | 'extensionProviders' | 'editorStateStore'> &\n Pick<MarkdownEditorProps, 'id' | 'scrollPastEnd' | 'extensions' | 'onLinkQuery'> & {\n document: DocumentType;\n };\n\nexport const DocumentEditor = ({ id, document: doc, settings, viewMode, ...props }: DocumentEditorProps) => {\n const space = getSpace(doc);\n\n // Migrate gradually to `fallbackName`.\n useEffect(() => {\n if (typeof doc.fallbackName === 'string') {\n return;\n }\n\n const fallbackName = doc.content?.target?.content ? getFallbackName(doc.content.target.content) : undefined;\n if (fallbackName) {\n doc.fallbackName = fallbackName;\n }\n }, [doc, doc.content]);\n\n // File dragging.\n const [upload] = useCapabilities(Capabilities.FileUploader);\n const handleFileUpload = useMemo(() => {\n if (space === undefined || upload === undefined) {\n return undefined;\n }\n\n // TODO(burdon): Re-order props: space, file.\n return async (file: File) => upload!(file, space);\n }, [space, upload]);\n\n const { graph } = useAppGraph();\n const customActions = useMemo(() => {\n return Rx.make((get) => {\n const actions = get(graph.actions(id));\n const nodes = actions.filter((action) => action.properties.disposition === 'toolbar');\n return { nodes, edges: nodes.map((node) => ({ source: 'root', target: node.id })) };\n });\n }, [graph]);\n\n return (\n <MarkdownEditor\n id={id}\n initialValue={doc.content?.target?.content}\n viewMode={viewMode}\n toolbar={settings.toolbar}\n customActions={customActions}\n inputMode={settings.editorInputMode}\n onFileUpload={handleFileUpload}\n {...props}\n />\n );\n};\n\nexport default MarkdownContainer;\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type EditorView } from '@codemirror/view';\nimport React, { forwardRef, useMemo, useEffect, useCallback, useImperativeHandle, useRef } from 'react';\nimport { useDropzone } from 'react-dropzone';\n\nimport { type FileInfo } from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { toLocalizedString, useThemeContext, useTranslation } from '@dxos/react-ui';\nimport {\n CommandMenu,\n type CommandMenuGroup,\n type DNDOptions,\n type EditorInputMode,\n type EditorSelectionState,\n type EditorStateStore,\n EditorToolbar,\n type EditorToolbarActionGraphProps,\n type EditorViewMode,\n RefPopover,\n type UseTextEditorProps,\n addLink,\n createElement,\n coreSlashCommands,\n createBasicExtensions,\n createMarkdownExtensions,\n createThemeExtensions,\n dropFile,\n editorGutter,\n editorSlots,\n filterItems,\n linkSlashCommands,\n processEditorPayload,\n stackItemContentEditorClassNames,\n useEditorToolbarState,\n useFormattingState,\n useTextEditor,\n useCommandMenu,\n type UseCommandMenuOptions,\n} from '@dxos/react-ui-editor';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { isNotFalsy, isNonNullable } from '@dxos/util';\n\nimport { useSelectCurrentThread } from '../../hooks';\nimport { MARKDOWN_PLUGIN } from '../../meta';\nimport { type MarkdownPluginState } from '../../types';\n\nexport type MarkdownEditorProps = {\n id: string;\n role?: string;\n inputMode?: EditorInputMode;\n scrollPastEnd?: boolean;\n slashCommandGroups?: CommandMenuGroup[];\n toolbar?: boolean;\n customActions?: EditorToolbarActionGraphProps['customActions'];\n // TODO(wittjosiah): Generalize custom toolbar actions (e.g. comment, upload, etc.)\n viewMode?: EditorViewMode;\n editorStateStore?: EditorStateStore;\n onViewModeChange?: (id: string, mode: EditorViewMode) => void;\n onLinkQuery?: (query?: string) => Promise<CommandMenuGroup[]>;\n onFileUpload?: (file: File) => Promise<FileInfo | undefined>;\n} & Pick<UseTextEditorProps, 'initialValue' | 'extensions'> &\n Partial<Pick<MarkdownPluginState, 'extensionProviders'>>;\n\n/**\n * Base markdown editor component.\n * This component provides all the features of the markdown editor that do no depend on ECHO.\n * This allows it to be used as a common editor for markdown content on arbitrary backends (e.g. files).\n */\nexport const MarkdownEditor = ({\n extensions: _extensions,\n slashCommandGroups,\n onLinkQuery,\n ...props\n}: MarkdownEditorProps) => {\n const { t } = useTranslation();\n const viewRef = useRef<EditorView>();\n\n const getMenu = useCallback(\n (trigger: string, query?: string) => {\n switch (trigger) {\n case '@':\n return onLinkQuery?.(query) ?? [];\n case '/':\n default:\n return filterItems([coreSlashCommands, linkSlashCommands, ...(slashCommandGroups ?? [])], (item) =>\n query ? toLocalizedString(item.label, t).toLowerCase().includes(query.toLowerCase()) : true,\n );\n }\n },\n [onLinkQuery, slashCommandGroups],\n );\n\n const options = useMemo<UseCommandMenuOptions>(() => {\n const trigger = onLinkQuery ? ['/', '@'] : ['/'];\n return {\n viewRef,\n trigger,\n placeholder: {\n delay: 3_000,\n content: () => {\n return createElement('div', undefined, [\n createElement('span', { text: 'Press' }),\n ...trigger.map((text) =>\n createElement('span', {\n className: 'border border-separator rounded-sm mx-1 px-1.5 pt-[1px] pb-[2px]',\n text,\n }),\n ),\n createElement('span', { text: 'for commands.' }),\n ]);\n },\n },\n getMenu,\n };\n }, [getMenu]);\n\n const { commandMenu, groupsRef, currentItem, onSelect, ...refPopoverProps } = useCommandMenu(options);\n\n const extensions = useMemo(() => [_extensions, commandMenu].filter(isNotFalsy), [_extensions, commandMenu]);\n\n return (\n <RefPopover modal={false} {...refPopoverProps}>\n <MarkdownEditorImpl ref={viewRef} {...props} extensions={extensions} />\n <CommandMenu groups={groupsRef.current} currentItem={currentItem} onSelect={onSelect} />\n </RefPopover>\n );\n};\n\nconst MarkdownEditorImpl = forwardRef<EditorView | undefined, MarkdownEditorProps>(\n (\n {\n id,\n role = 'article',\n initialValue,\n customActions,\n editorStateStore,\n extensions,\n extensionProviders,\n scrollPastEnd,\n toolbar,\n viewMode,\n onFileUpload,\n onViewModeChange,\n },\n forwardedRef,\n ) => {\n const { t } = useTranslation(MARKDOWN_PLUGIN);\n const { themeMode } = useThemeContext();\n const toolbarState = useEditorToolbarState({ viewMode });\n const formattingObserver = useFormattingState(toolbarState);\n\n // Restore last selection and scroll point.\n const { scrollTo, selection } = useMemo<EditorSelectionState>(() => editorStateStore?.getState(id) ?? {}, [id]);\n\n // Extensions from other plugins.\n // TODO(burdon): Reconcile with DocumentEditor.useExtensions.\n const providerExtensions = useMemo(\n () => extensionProviders?.flatMap((provider) => provider({})).filter(isNonNullable),\n [extensionProviders],\n );\n\n // TODO(wittjosiah): Factor out to file uploader plugin.\n // Drag files.\n const handleDrop: DNDOptions['onDrop'] = async (view, { files }) => {\n const file = files[0];\n const info = file && onFileUpload ? await onFileUpload(file) : undefined;\n if (info) {\n processEditorPayload(view, { type: 'image', data: info.url });\n }\n };\n\n const {\n parentRef,\n view: editorView,\n focusAttributes,\n } = useTextEditor(\n () => ({\n initialValue,\n extensions: [\n formattingObserver,\n createBasicExtensions({\n readOnly: viewMode === 'readonly',\n placeholder: t('editor placeholder'),\n scrollPastEnd: role === 'section' ? false : scrollPastEnd,\n }),\n createMarkdownExtensions({ themeMode }),\n createThemeExtensions({ themeMode, syntaxHighlighting: true, slots: editorSlots }),\n editorGutter,\n role !== 'section' && onFileUpload && dropFile({ onDrop: handleDrop }),\n providerExtensions,\n extensions,\n ].filter(isNotFalsy),\n ...(role !== 'section' && {\n id,\n scrollTo,\n selection,\n // TODO(wittjosiah): Autofocus based on layout is racy.\n // autoFocus: layoutPlugin?.provides.layout ? layoutPlugin?.provides.layout.scrollIntoView === id : true,\n moveToEndOfLine: true,\n }),\n }),\n [id, formattingObserver, viewMode, themeMode, extensions, providerExtensions],\n );\n\n useImperativeHandle(forwardedRef, () => editorView, [editorView]);\n useTest(editorView);\n useSelectCurrentThread(editorView, id);\n\n // https://react-dropzone.js.org/#src\n const { acceptedFiles, getInputProps, open } = useDropzone({\n multiple: false,\n noDrag: true,\n accept: {\n 'image/*': ['.jpg', '.jpeg', '.png', '.gif'],\n },\n });\n\n useEffect(() => {\n if (editorView && onFileUpload && acceptedFiles.length) {\n requestAnimationFrame(async () => {\n // NOTE: Clone file since react-dropzone patches in a non-standard `path` property, which confuses IPFS.\n const f = acceptedFiles[0];\n const file = new File([f], f.name, {\n type: f.type,\n lastModified: f.lastModified,\n });\n\n const info = await onFileUpload(file);\n if (info) {\n addLink({ url: info.url, image: true })(editorView);\n }\n });\n }\n }, [acceptedFiles, editorView, onFileUpload]);\n\n const getView = useCallback(() => {\n invariant(editorView);\n return editorView;\n }, [editorView]);\n\n const handleViewModeChange = useCallback(\n (mode: EditorViewMode) => onViewModeChange?.(id, mode),\n [id, onViewModeChange],\n );\n\n const handleImageUpload = useCallback(() => {\n if (onFileUpload) {\n open();\n }\n }, [onFileUpload]);\n\n return (\n <StackItem.Content toolbar={!!toolbar}>\n {toolbar && (\n <>\n <EditorToolbar\n attendableId={id}\n role={role}\n state={toolbarState}\n customActions={customActions}\n getView={getView}\n image={handleImageUpload}\n viewMode={handleViewModeChange}\n />\n <input {...getInputProps()} />\n </>\n )}\n <div\n role='none'\n ref={parentRef}\n data-testid='composer.markdownRoot'\n data-toolbar={toolbar ? 'enabled' : 'disabled'}\n className={stackItemContentEditorClassNames(role)}\n data-popover-collision-boundary={true}\n {...focusAttributes}\n />\n </StackItem.Content>\n );\n },\n);\n\n// Expose editor view for playwright tests.\n// TODO(wittjosiah): Find a better way to expose this or find a way to limit it to test runs.\nconst useTest = (view?: EditorView) => {\n useEffect(() => {\n const composer = (window as any).composer;\n if (composer) {\n composer.editorView = view;\n }\n }, [view]);\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { EditorView } from '@codemirror/view';\nimport { Schema } from 'effect';\nimport { useMemo } from 'react';\n\nimport { createResolver, LayoutAction, useIntentResolver } from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { Cursor, setSelection } from '@dxos/react-ui-editor';\n\nimport { MARKDOWN_PLUGIN } from '../meta';\n\n/**\n * Handle scrolling and selection of the current thread in a markdown editor.\n */\nexport const useSelectCurrentThread = (editorView: EditorView | undefined, documentId: string) => {\n const scrollIntoViewResolver = useMemo(\n () =>\n createResolver({\n intent: LayoutAction.UpdateLayout,\n position: 'hoist',\n filter: (data): data is { part: 'current'; subject: string; options: { cursor: string } } => {\n if (!Schema.is(LayoutAction.ScrollIntoView.fields.input)(data)) {\n return false;\n }\n\n return !!editorView && data.subject === documentId && !!data.options?.cursor;\n },\n resolve: ({ options: { cursor } }) => {\n invariant(editorView, 'Editor view is not defined.');\n const range = Cursor.getRangeFromCursor(editorView.state, cursor!);\n if (range) {\n const selection = editorView.state.selection.main.from !== range.from ? { anchor: range.from } : undefined;\n const effects = [\n // NOTE: This does not use the DOM scrollIntoView function.\n EditorView.scrollIntoView(range.from, { y: 'start', yMargin: 96 }),\n ];\n if (selection) {\n // Update the editor selection to get bi-directional highlighting.\n effects.push(setSelection.of({ current: documentId }));\n }\n\n editorView.dispatch({\n effects,\n selection: selection ? { anchor: range.from } : undefined,\n });\n }\n },\n }),\n [documentId, editorView],\n );\n\n useIntentResolver(MARKDOWN_PLUGIN, scrollIntoViewResolver);\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type AnchorHTMLAttributes, type ReactNode, useMemo } from 'react';\nimport { createRoot } from 'react-dom/client';\n\nimport {\n createIntent,\n LayoutAction,\n type PromiseIntentDispatcher,\n useCapabilities,\n useIntentDispatcher,\n} from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { createDocAccessor, fullyQualifiedId, getSpace, type QueryResult } from '@dxos/react-client/echo';\nimport { useIdentity } from '@dxos/react-client/halo';\nimport { Icon, ThemeProvider } from '@dxos/react-ui';\nimport { type SelectionManager } from '@dxos/react-ui-attention';\nimport {\n type AutocompleteResult,\n type EditorStateStore,\n type EditorViewMode,\n type Extension,\n InputModeExtensions,\n createDataExtensions,\n autocomplete,\n decorateMarkdown,\n folding,\n formattingKeymap,\n linkTooltip,\n listener,\n preview,\n selectionState,\n typewriter,\n type RenderCallback,\n EditorView,\n documentId,\n Cursor,\n type PreviewOptions,\n} from '@dxos/react-ui-editor';\nimport { defaultTx } from '@dxos/react-ui-theme';\nimport { type DataType } from '@dxos/schema';\nimport { isNotFalsy } from '@dxos/util';\n\nimport { MarkdownCapabilities } from './capabilities';\nimport { type DocumentType, type MarkdownSettingsProps } from './types';\nimport { setFallbackName } from './util';\n\ntype ExtensionsOptions = {\n document?: DocumentType;\n id?: string;\n text?: DataType.Text;\n dispatch?: PromiseIntentDispatcher;\n query?: QueryResult<DocumentType>;\n settings: MarkdownSettingsProps;\n selectionManager?: SelectionManager;\n viewMode?: EditorViewMode;\n editorStateStore?: EditorStateStore;\n previewOptions?: PreviewOptions;\n};\n\n// TODO(burdon): Merge with createBaseExtensions below.\nexport const useExtensions = ({\n document,\n id,\n text,\n settings,\n selectionManager,\n viewMode,\n editorStateStore,\n previewOptions,\n}: ExtensionsOptions): Extension[] => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const identity = useIdentity();\n const space = getSpace(document) ?? getSpace(text);\n\n // TODO(wittjosiah): Autocomplete is not working and this query is causing performance issues.\n // TODO(burdon): Unsubscribe.\n // const query = space?.db.query(Filter.type(DocumentType));\n // query?.subscribe();\n const baseExtensions = useMemo(\n () =>\n createBaseExtensions({\n document,\n id,\n text,\n settings,\n selectionManager,\n viewMode,\n previewOptions,\n dispatch,\n // query,\n }),\n [\n document,\n id,\n text,\n viewMode,\n dispatch,\n previewOptions,\n settings,\n settings.editorInputMode,\n settings.folding,\n settings.numberedHeadings,\n settings.debug,\n settings.typewriter,\n selectionManager,\n ],\n );\n\n const extensionProviders = useCapabilities(MarkdownCapabilities.Extensions);\n\n //\n // External extensions from other plugins.\n //\n const pluginExtensions = useMemo<Extension[]>(() => {\n if (!document) {\n return [];\n }\n\n return extensionProviders.flat().reduce((acc: Extension[], provider) => {\n const extension = typeof provider === 'function' ? provider({ document }) : provider;\n if (extension) {\n acc.push(extension);\n }\n\n return acc;\n }, []);\n }, [extensionProviders, document]);\n\n //\n // Basic plugins.\n //\n return useMemo<Extension[]>(\n () =>\n [\n // NOTE: Data extensions must be first so that automerge is updated before other extensions compute their state.\n document &&\n createDataExtensions({\n id: document.id,\n text: document.content.target && createDocAccessor(document.content.target, ['content']),\n space,\n identity,\n }),\n text &&\n id &&\n createDataExtensions({\n id,\n text: createDocAccessor(text, ['content']),\n space,\n identity,\n }),\n selectionState(editorStateStore),\n document &&\n listener({\n onChange: (text) => setFallbackName(document, text),\n }),\n baseExtensions,\n pluginExtensions,\n ].filter(isNotFalsy),\n [baseExtensions, pluginExtensions, document, document?.content?.target, text, id, space, identity],\n );\n};\n\n/**\n * Create extension instances for editor.\n */\nconst createBaseExtensions = ({\n document,\n id,\n dispatch,\n settings,\n selectionManager,\n query,\n viewMode,\n previewOptions,\n}: ExtensionsOptions): Extension[] => {\n const extensions: Extension[] = [\n selectionManager && selectionChange(selectionManager),\n settings.editorInputMode && InputModeExtensions[settings.editorInputMode],\n settings.folding && folding(),\n ].filter(isNotFalsy);\n\n //\n // Markdown\n //\n if (viewMode !== 'source') {\n extensions.push(\n ...[\n formattingKeymap(),\n decorateMarkdown({\n selectionChangeDelay: 100,\n numberedHeadings: settings.numberedHeadings ? { from: 2 } : undefined,\n // TODO(wittjosiah): For internal links, consider ignoring the link text and rendering the label of the object being linked to.\n renderLinkButton:\n dispatch && (document || id)\n ? createLinkRenderer((id: string) => {\n void dispatch(\n createIntent(LayoutAction.Open, {\n part: 'main',\n subject: [id],\n options: {\n pivotId: document ? fullyQualifiedId(document) : id,\n },\n }),\n );\n })\n : undefined,\n }),\n linkTooltip(renderLinkTooltip),\n preview(previewOptions),\n ],\n );\n }\n\n //\n // Autocomplete object links.\n //\n if (query) {\n extensions.push(\n autocomplete({\n onSearch: (text: string) => {\n // TODO(burdon): Specify filter (e.g., stack).\n return query.objects\n .map<AutocompleteResult | undefined>((object) =>\n object.name?.length && object.id !== document?.id\n ? {\n label: object.name,\n // TODO(burdon): Factor out URL builder.\n apply: `[${object.name}](/${fullyQualifiedId(object)})`,\n }\n : undefined,\n )\n .filter(isNotFalsy);\n },\n }),\n );\n }\n\n if (settings.debug) {\n const items = settings.typewriter?.split(/[,\\n]/) ?? '';\n if (items) {\n extensions.push(typewriter({ items }));\n }\n }\n\n return extensions;\n};\n\nexport const selectionChange = (selectionManager: SelectionManager) => {\n return EditorView.updateListener.of((update) => {\n if (update.selectionSet) {\n const id = update.state.facet(documentId);\n const cursorConverter = update.state.facet(Cursor.converter);\n const selection = update.state.selection;\n const ranges = selection.ranges\n .map((range) => ({\n from: cursorConverter.toCursor(range.from),\n to: cursorConverter.toCursor(range.to),\n }))\n .filter(({ from, to }) => to > from);\n selectionManager.updateMultiRange(id, ranges);\n }\n });\n};\n\n// TODO(burdon): Factor out styles.\nconst style = {\n hover: 'rounded-sm text-primary-500 hover:text-primary-600 dark:text-primary-500 hover:dark:text-primary-400',\n icon: 'inline-block leading-none mis-1 cursor-pointer',\n};\n\nconst createLinkRenderer =\n (onSelectObject: (id: string) => void): RenderCallback<{ url: string }> =>\n (el, { url }) => {\n // TODO(burdon): Formalize/document internal link format.\n const isInternal =\n url.startsWith('/') ||\n // TODO(wittjosiah): This should probably be parsed out on paste?\n url.startsWith(window.location.origin);\n\n const options: AnchorHTMLAttributes<any> = isInternal\n ? {\n onClick: () => {\n const qualifiedId = url.split('/').at(-1);\n invariant(qualifiedId, 'Invalid link format.');\n onSelectObject(qualifiedId);\n },\n }\n : {\n href: url,\n rel: 'noreferrer',\n target: '_blank',\n };\n\n renderRoot(\n el,\n <a {...options} className={style.hover}>\n <Icon\n icon={isInternal ? 'ph--arrow-square-down--bold' : 'ph--arrow-square-out--bold'}\n size={4}\n classNames={style.icon}\n />\n </a>,\n );\n };\n\nconst renderLinkTooltip: RenderCallback<{ url: string }> = (el, { url }) => {\n const web = new URL(url);\n renderRoot(\n el,\n <a href={url} rel='noreferrer' target='_blank' className={style.hover}>\n {web.origin}\n <Icon icon='ph--arrow-square-out--bold' size={4} classNames={style.icon} />\n </a>,\n );\n};\n\n// TODO(burdon): Remove react rendering; use DOM directly.\nexport const renderRoot = <T extends Element>(root: T, node: ReactNode): T => {\n createRoot(root).render(<ThemeProvider tx={defaultTx}>{node}</ThemeProvider>);\n return root;\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["import_echo", "import_react", "import_react_ui", "import_react_ui_editor", "import_app_framework", "import_invariant", "import_util", "useSelectCurrentThread", "editorView", "documentId", "scrollIntoViewResolver", "useMemo", "createResolver", "intent", "LayoutAction", "UpdateLayout", "position", "filter", "data", "Schema", "is", "ScrollIntoView", "fields", "input", "subject", "options", "cursor", "resolve", "invariant", "range", "Cursor", "getRangeFromCursor", "state", "selection", "main", "from", "anchor", "undefined", "effects", "EditorView", "scrollIntoView", "y", "yMargin", "push", "setSelection", "of", "current", "dispatch", "useIntentResolver", "MARKDOWN_PLUGIN", "MarkdownEditor", "extensions", "_extensions", "slashCommandGroups", "onLinkQuery", "props", "t", "useTranslation", "viewRef", "useRef", "getMenu", "useCallback", "trigger", "query", "filterItems", "coreSlashCommands", "linkSlashCommands", "item", "toLocalizedString", "label", "toLowerCase", "includes", "placeholder", "delay", "content", "createElement", "text", "map", "className", "commandMenu", "groupsRef", "currentItem", "onSelect", "refPopoverProps", "useCommandMenu", "isNotFalsy", "React", "RefPopover", "modal", "MarkdownEditorImpl", "ref", "CommandMenu", "groups", "forwardRef", "id", "role", "initialValue", "customActions", "editorStateStore", "extensionProviders", "scrollPastEnd", "toolbar", "viewMode", "onFileUpload", "onViewModeChange", "forwardedRef", "themeMode", "useThemeContext", "toolbarState", "useEditorToolbarState", "formattingObserver", "useFormattingState", "scrollTo", "getState", "providerExtensions", "flatMap", "provider", "isNonNullable", "handleDrop", "view", "files", "file", "info", "processEditorPayload", "type", "url", "parentRef", "focusAttributes", "useTextEditor", "createBasicExtensions", "readOnly", "createMarkdownExtensions", "createThemeExtensions", "syntaxHighlighting", "slots", "editorSlots", "editorGutter", "dropFile", "onDrop", "moveToEndOfLine", "useImperativeHandle", "useTest", "acceptedFiles", "getInputProps", "open", "useDropzone", "multiple", "noDrag", "accept", "useEffect", "length", "requestAnimationFrame", "f", "File", "name", "lastModified", "addLink", "image", "getView", "handleViewModeChange", "mode", "handleImageUpload", "StackItem", "Content", "EditorToolbar", "attendableId", "div", "data-testid", "data-toolbar", "stackItemContentEditorClassNames", "data-popover-collision-boundary", "composer", "window", "useExtensions", "document", "settings", "selectionManager", "previewOptions", "dispatchPromise", "useIntentDispatcher", "identity", "useIdentity", "space", "getSpace", "baseExtensions", "createBaseExtensions", "editorInputMode", "folding", "numberedHeadings", "debug", "typewriter", "useCapabilities", "MarkdownCapabilities", "Extensions", "pluginExtensions", "flat", "reduce", "acc", "extension", "createDataExtensions", "target", "createDocAccessor", "selectionState", "listener", "onChange", "setFallbackName", "selectionChange", "InputModeExtensions", "formattingKeymap", "decorateMarkdown", "selectionChangeDelay", "renderLinkButton", "createLinkRenderer", "createIntent", "Open", "part", "pivotId", "fullyQualifiedId", "linkTooltip", "renderLinkTooltip", "preview", "autocomplete", "onSearch", "objects", "object", "apply", "items", "split", "updateListener", "update", "selectionSet", "facet", "cursorConverter", "converter", "ranges", "toCursor", "to", "updateMultiRange", "style", "hover", "icon", "onSelectObject", "el", "isInternal", "startsWith", "location", "origin", "onClick", "qualifiedId", "at", "href", "rel", "renderRoot", "a", "Icon", "size", "classNames", "web", "URL", "root", "node", "createRoot", "render", "ThemeProvider", "tx", "defaultTx", "MarkdownContainer", "doc", "Obj", "instanceOf", "DocumentType", "DataType", "Text", "previewBlocks", "setPreviewBlocks", "useState", "addBlockContainer", "link", "prev", "removeBlockContainer", "prevLink", "manager", "usePluginManager", "typename", "context", "getCapabilities", "Capabilities", "Metadata", "find", "metadata", "objectForms", "SpaceCapabilities", "ObjectForm", "Filter", "or", "form", "objectSchema", "slice", "results", "db", "Query", "select", "run", "getLabel", "getTypename", "ns", "default", "head", "getDXN", "insertAtLineStart", "insertAtCursor", "editor", "DocumentEditor", "inputMode", "PreviewBlock", "key", "echoDXN", "DXN", "parse", "asEchoDXN", "useSpace", "spaceId", "useQuery", "ids", "echoId", "createPortal", "Surface", "limit", "fallbackName", "getFallbackName", "upload", "FileUploader", "handleFileUpload", "graph", "useAppGraph", "Rx", "make", "get", "actions", "nodes", "action", "properties", "disposition", "edges", "source"]
|
|
7
|
-
}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var MarkdownPreview_GCJJCXY6_exports = {};
|
|
30
|
-
__export(MarkdownPreview_GCJJCXY6_exports, {
|
|
31
|
-
MarkdownPreview: () => MarkdownPreview,
|
|
32
|
-
default: () => MarkdownPreview_default
|
|
33
|
-
});
|
|
34
|
-
module.exports = __toCommonJS(MarkdownPreview_GCJJCXY6_exports);
|
|
35
|
-
var import_chunk_CJLYFGPI = require("./chunk-CJLYFGPI.cjs");
|
|
36
|
-
var import_chunk_3HHV4MM6 = require("./chunk-3HHV4MM6.cjs");
|
|
37
|
-
var import_chunk_ZU5OIHCY = require("./chunk-ZU5OIHCY.cjs");
|
|
38
|
-
var import_tracking = require("@preact-signals/safe-react/tracking");
|
|
39
|
-
var import_effect = require("effect");
|
|
40
|
-
var import_react = __toESM(require("react"));
|
|
41
|
-
var import_app_framework = require("@dxos/app-framework");
|
|
42
|
-
var import_echo = require("@dxos/echo");
|
|
43
|
-
var import_echo2 = require("@dxos/react-client/echo");
|
|
44
|
-
var import_react_ui = require("@dxos/react-ui");
|
|
45
|
-
var import_react_ui_stack = require("@dxos/react-ui-stack");
|
|
46
|
-
var import_schema = require("@dxos/schema");
|
|
47
|
-
var getTitle = (subject, fallback) => {
|
|
48
|
-
if (import_echo.Obj.instanceOf(import_chunk_3HHV4MM6.DocumentType, subject)) {
|
|
49
|
-
return subject.name ?? subject.fallbackName ?? (0, import_chunk_CJLYFGPI.getFallbackName)(subject.content?.target?.content ?? fallback);
|
|
50
|
-
} else if (import_echo.Obj.instanceOf(import_schema.DataType.Text, subject)) {
|
|
51
|
-
return (0, import_chunk_CJLYFGPI.getFallbackName)(subject.content);
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
var getSnippet = (subject, fallback) => {
|
|
55
|
-
if (import_echo.Obj.instanceOf(import_chunk_3HHV4MM6.DocumentType, subject)) {
|
|
56
|
-
return (0, import_chunk_CJLYFGPI.getAbstract)(subject.content?.target?.content ?? fallback);
|
|
57
|
-
} else if (import_echo.Obj.instanceOf(import_schema.DataType.Text, subject)) {
|
|
58
|
-
return (0, import_chunk_CJLYFGPI.getAbstract)(subject.content);
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
var MarkdownPreview = ({ subject, role }) => {
|
|
62
|
-
var _effect = (0, import_tracking.useSignals)();
|
|
63
|
-
try {
|
|
64
|
-
const { dispatchPromise: dispatch } = (0, import_app_framework.useIntentDispatcher)();
|
|
65
|
-
const { t } = (0, import_react_ui.useTranslation)(import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN);
|
|
66
|
-
const snippet = getSnippet(subject, t("fallback abstract"));
|
|
67
|
-
const handleNavigate = (0, import_react.useCallback)(() => dispatch((0, import_effect.pipe)((0, import_app_framework.createIntent)(import_app_framework.LayoutAction.UpdatePopover, {
|
|
68
|
-
part: "popover",
|
|
69
|
-
subject: null,
|
|
70
|
-
options: {
|
|
71
|
-
state: false,
|
|
72
|
-
anchorId: ""
|
|
73
|
-
}
|
|
74
|
-
}), (0, import_app_framework.chain)(import_app_framework.LayoutAction.Open, {
|
|
75
|
-
part: "main",
|
|
76
|
-
subject: [
|
|
77
|
-
(0, import_echo2.fullyQualifiedId)(subject)
|
|
78
|
-
]
|
|
79
|
-
}))), [
|
|
80
|
-
dispatch,
|
|
81
|
-
subject
|
|
82
|
-
]);
|
|
83
|
-
return /* @__PURE__ */ import_react.default.createElement(import_react_ui_stack.Card.Container, {
|
|
84
|
-
role
|
|
85
|
-
}, /* @__PURE__ */ import_react.default.createElement(import_react_ui_stack.Card.Heading, null, getTitle(subject, t("fallback title"))), snippet && /* @__PURE__ */ import_react.default.createElement(import_react_ui_stack.Card.Text, {
|
|
86
|
-
classNames: "line-clamp-3 break-words col-span-2"
|
|
87
|
-
}, snippet), /* @__PURE__ */ import_react.default.createElement(import_react_ui_stack.Card.Chrome, null, /* @__PURE__ */ import_react.default.createElement(import_react_ui.Button, {
|
|
88
|
-
onClick: handleNavigate
|
|
89
|
-
}, /* @__PURE__ */ import_react.default.createElement("span", {
|
|
90
|
-
className: "grow"
|
|
91
|
-
}, t("navigate to document label")), /* @__PURE__ */ import_react.default.createElement(import_react_ui.Icon, {
|
|
92
|
-
icon: "ph--arrow-right--regular"
|
|
93
|
-
}))));
|
|
94
|
-
} finally {
|
|
95
|
-
_effect.f();
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
var MarkdownPreview_default = MarkdownPreview;
|
|
99
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
100
|
-
0 && (module.exports = {
|
|
101
|
-
MarkdownPreview
|
|
102
|
-
});
|
|
103
|
-
//# sourceMappingURL=MarkdownPreview-GCJJCXY6.cjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/components/MarkdownPreview/MarkdownPreview.tsx", "../../../src/components/MarkdownPreview/index.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { pipe } from 'effect';\nimport React, { useCallback } from 'react';\n\nimport { chain, createIntent, LayoutAction, useIntentDispatcher } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { type PreviewProps } from '@dxos/plugin-preview';\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\nimport { Button, Icon, useTranslation } from '@dxos/react-ui';\nimport { Card } from '@dxos/react-ui-stack';\nimport { DataType } from '@dxos/schema';\n\nimport { MARKDOWN_PLUGIN } from '../../meta';\nimport { DocumentType } from '../../types';\nimport { getAbstract, getFallbackName } from '../../util';\n\n// TODO(burdon): Factor out.\nconst getTitle = (subject: DocumentType | DataType.Text, fallback: string) => {\n if (Obj.instanceOf(DocumentType, subject)) {\n return subject.name ?? subject.fallbackName ?? getFallbackName(subject.content?.target?.content ?? fallback);\n } else if (Obj.instanceOf(DataType.Text, subject)) {\n return getFallbackName(subject.content);\n }\n};\n\n// TODO(burdon): Factor out.\nconst getSnippet = (subject: DocumentType | DataType.Text, fallback: string) => {\n if (Obj.instanceOf(DocumentType, subject)) {\n return getAbstract(subject.content?.target?.content ?? fallback);\n } else if (Obj.instanceOf(DataType.Text, subject)) {\n return getAbstract(subject.content);\n }\n};\n\nexport const MarkdownPreview = ({ subject, role }: PreviewProps<DocumentType | DataType.Text>) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const { t } = useTranslation(MARKDOWN_PLUGIN);\n const snippet = getSnippet(subject, t('fallback abstract'));\n\n // TODO(wittjosiah): Factor out so this component isn't dependent on the app framework.\n const handleNavigate = useCallback(\n () =>\n dispatch(\n pipe(\n createIntent(LayoutAction.UpdatePopover, {\n part: 'popover',\n subject: null,\n options: { state: false, anchorId: '' },\n }),\n chain(LayoutAction.Open, { part: 'main', subject: [fullyQualifiedId(subject)] }),\n ),\n ),\n [dispatch, subject],\n );\n\n return (\n <Card.Container role={role}>\n <Card.Heading>{getTitle(subject, t('fallback title'))}</Card.Heading>\n {snippet && <Card.Text classNames='line-clamp-3 break-words col-span-2'>{snippet}</Card.Text>}\n <Card.Chrome>\n <Button onClick={handleNavigate}>\n <span className='grow'>{t('navigate to document label')}</span>\n <Icon icon='ph--arrow-right--regular' />\n </Button>\n </Card.Chrome>\n </Card.Container>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { MarkdownPreview } from './MarkdownPreview';\n\nexport * from './MarkdownPreview';\n\nexport default MarkdownPreview;\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,oBAAqB;AACrB,mBAAmC;AAEnC,2BAAuE;AACvE,kBAAoB;AAEpB,IAAAA,eAAiC;AACjC,sBAA6C;AAC7C,4BAAqB;AACrB,oBAAyB;AAOzB,IAAMC,WAAW,CAACC,SAAuCC,aAAAA;AACvD,MAAIC,gBAAIC,WAAWC,oCAAcJ,OAAAA,GAAU;AACzC,WAAOA,QAAQK,QAAQL,QAAQM,oBAAgBC,uCAAgBP,QAAQQ,SAASC,QAAQD,WAAWP,QAAAA;EACrG,WAAWC,gBAAIC,WAAWO,uBAASC,MAAMX,OAAAA,GAAU;AACjD,eAAOO,uCAAgBP,QAAQQ,OAAO;EACxC;AACF;AAGA,IAAMI,aAAa,CAACZ,SAAuCC,aAAAA;AACzD,MAAIC,gBAAIC,WAAWC,oCAAcJ,OAAAA,GAAU;AACzC,eAAOa,mCAAYb,QAAQQ,SAASC,QAAQD,WAAWP,QAAAA;EACzD,WAAWC,gBAAIC,WAAWO,uBAASC,MAAMX,OAAAA,GAAU;AACjD,eAAOa,mCAAYb,QAAQQ,OAAO;EACpC;AACF;AAEO,IAAMM,kBAAkB,CAAC,EAAEd,SAASe,KAAI,MAA8C;;;AAC3F,UAAM,EAAEC,iBAAiBC,SAAQ,QAAKC,0CAAAA;AACtC,UAAM,EAAEC,EAAC,QAAKC,gCAAeC,qCAAAA;AAC7B,UAAMC,UAAUV,WAAWZ,SAASmB,EAAE,mBAAA,CAAA;AAGtC,UAAMI,qBAAiBC,0BACrB,MACEP,aACEQ,wBACEC,mCAAaC,kCAAaC,eAAe;MACvCC,MAAM;MACN7B,SAAS;MACT8B,SAAS;QAAEC,OAAO;QAAOC,UAAU;MAAG;IACxC,CAAA,OACAC,4BAAMN,kCAAaO,MAAM;MAAEL,MAAM;MAAQ7B,SAAS;YAACmC,+BAAiBnC,OAAAA;;IAAU,CAAA,CAAA,CAAA,GAGpF;MAACiB;MAAUjB;KAAQ;AAGrB,WACE,6BAAAoC,QAAA,cAACC,2BAAKC,WAAS;MAACvB;OACd,6BAAAqB,QAAA,cAACC,2BAAKE,SAAO,MAAExC,SAASC,SAASmB,EAAE,gBAAA,CAAA,CAAA,GAClCG,WAAW,6BAAAc,QAAA,cAACC,2BAAK1B,MAAI;MAAC6B,YAAW;OAAuClB,OAAAA,GACzE,6BAAAc,QAAA,cAACC,2BAAKI,QAAM,MACV,6BAAAL,QAAA,cAACM,wBAAAA;MAAOC,SAASpB;OACf,6BAAAa,QAAA,cAACQ,QAAAA;MAAKC,WAAU;OAAQ1B,EAAE,4BAAA,CAAA,GAC1B,6BAAAiB,QAAA,cAACU,sBAAAA;MAAKC,MAAK;;;;;AAKrB;AC9DA,IAAA,0BAAejC;",
|
|
6
|
-
"names": ["import_echo", "getTitle", "subject", "fallback", "Obj", "instanceOf", "DocumentType", "name", "fallbackName", "getFallbackName", "content", "target", "DataType", "Text", "getSnippet", "getAbstract", "MarkdownPreview", "role", "dispatchPromise", "dispatch", "useIntentDispatcher", "t", "useTranslation", "MARKDOWN_PLUGIN", "snippet", "handleNavigate", "useCallback", "pipe", "createIntent", "LayoutAction", "UpdatePopover", "part", "options", "state", "anchorId", "chain", "Open", "fullyQualifiedId", "React", "Card", "Container", "Heading", "classNames", "Chrome", "Button", "onClick", "span", "className", "Icon", "icon"]
|
|
7
|
-
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var anchor_sort_V3T4SFFI_exports = {};
|
|
20
|
-
__export(anchor_sort_V3T4SFFI_exports, {
|
|
21
|
-
default: () => anchor_sort_default
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(anchor_sort_V3T4SFFI_exports);
|
|
24
|
-
var import_chunk_3HHV4MM6 = require("./chunk-3HHV4MM6.cjs");
|
|
25
|
-
var import_chunk_ZU5OIHCY = require("./chunk-ZU5OIHCY.cjs");
|
|
26
|
-
var import_app_framework = require("@dxos/app-framework");
|
|
27
|
-
var import_echo = require("@dxos/echo");
|
|
28
|
-
var import_echo2 = require("@dxos/react-client/echo");
|
|
29
|
-
var anchor_sort_default = () => (0, import_app_framework.contributes)(import_app_framework.Capabilities.AnchorSort, {
|
|
30
|
-
key: import_echo.Type.getTypename(import_chunk_3HHV4MM6.DocumentType),
|
|
31
|
-
sort: (anchorA, anchorB) => {
|
|
32
|
-
const doc = (0, import_echo2.getTarget)(anchorA);
|
|
33
|
-
const accessor = doc.content.target ? (0, import_echo2.createDocAccessor)(doc.content.target, [
|
|
34
|
-
"content"
|
|
35
|
-
]) : void 0;
|
|
36
|
-
if (doc !== (0, import_echo2.getTarget)(anchorB) || !accessor) {
|
|
37
|
-
return 0;
|
|
38
|
-
}
|
|
39
|
-
const getStartPosition = (cursor) => {
|
|
40
|
-
const range = cursor ? (0, import_echo2.getRangeFromCursor)(accessor, cursor) : void 0;
|
|
41
|
-
return range?.start ?? Number.MAX_SAFE_INTEGER;
|
|
42
|
-
};
|
|
43
|
-
const posA = getStartPosition(anchorA.anchor);
|
|
44
|
-
const posB = getStartPosition(anchorB.anchor);
|
|
45
|
-
return posA - posB;
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
//# sourceMappingURL=anchor-sort-V3T4SFFI.cjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
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 { Type } from '@dxos/echo';\nimport { createDocAccessor, getRangeFromCursor, getTarget } from '@dxos/react-client/echo';\n\nimport { DocumentType } from '../types';\n\nexport default () =>\n contributes(Capabilities.AnchorSort, {\n key: Type.getTypename(DocumentType)!,\n sort: (anchorA, anchorB) => {\n const doc = getTarget(anchorA) as DocumentType;\n const accessor = doc.content.target ? createDocAccessor(doc.content.target, ['content']) : undefined;\n if (doc !== 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,2BAA0C;AAC1C,kBAAqB;AACrB,IAAAA,eAAiE;AAIjE,IAAA,sBAAe,UACbC,kCAAYC,kCAAaC,YAAY;EACnCC,KAAKC,iBAAKC,YAAYC,kCAAAA;EACtBC,MAAM,CAACC,SAASC,YAAAA;AACd,UAAMC,UAAMC,wBAAUH,OAAAA;AACtB,UAAMI,WAAWF,IAAIG,QAAQC,aAASC,gCAAkBL,IAAIG,QAAQC,QAAQ;MAAC;KAAU,IAAIE;AAC3F,QAAIN,YAAQC,wBAAUF,OAAAA,KAAY,CAACG,UAAU;AAC3C,aAAO;IACT;AAEA,UAAMK,mBAAmB,CAACC,WAAAA;AACxB,YAAMC,QAAQD,aAASE,iCAAmBR,UAAUM,MAAAA,IAAUF;AAC9D,aAAOG,OAAOE,SAASC,OAAOC;IAChC;AAEA,UAAMC,OAAOP,iBAAiBT,QAAQiB,MAAM;AAC5C,UAAMC,OAAOT,iBAAiBR,QAAQgB,MAAM;AAC5C,WAAOD,OAAOE;EAChB;AACF,CAAA;",
|
|
6
|
-
"names": ["import_echo", "contributes", "Capabilities", "AnchorSort", "key", "Type", "getTypename", "DocumentType", "sort", "anchorA", "anchorB", "doc", "getTarget", "accessor", "content", "target", "createDocAccessor", "undefined", "getStartPosition", "cursor", "range", "getRangeFromCursor", "start", "Number", "MAX_SAFE_INTEGER", "posA", "anchor", "posB"]
|
|
7
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var app_graph_serializer_E6BXEDEL_exports = {};
|
|
20
|
-
__export(app_graph_serializer_E6BXEDEL_exports, {
|
|
21
|
-
default: () => app_graph_serializer_default
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(app_graph_serializer_E6BXEDEL_exports);
|
|
24
|
-
var import_chunk_LQAC5HL7 = require("./chunk-LQAC5HL7.cjs");
|
|
25
|
-
var import_chunk_3HHV4MM6 = require("./chunk-3HHV4MM6.cjs");
|
|
26
|
-
var import_chunk_ZU5OIHCY = require("./chunk-ZU5OIHCY.cjs");
|
|
27
|
-
var import_effect = require("effect");
|
|
28
|
-
var import_app_framework = require("@dxos/app-framework");
|
|
29
|
-
var import_echo = require("@dxos/echo");
|
|
30
|
-
var import_types = require("@dxos/plugin-space/types");
|
|
31
|
-
var import_echo2 = require("@dxos/react-client/echo");
|
|
32
|
-
var import_schema = require("@dxos/schema");
|
|
33
|
-
var app_graph_serializer_default = (context) => (0, import_app_framework.contributes)(import_app_framework.Capabilities.AppGraphSerializer, [
|
|
34
|
-
{
|
|
35
|
-
inputType: import_chunk_3HHV4MM6.DocumentType.typename,
|
|
36
|
-
outputType: "text/markdown",
|
|
37
|
-
// Reconcile with metadata serializers.
|
|
38
|
-
serialize: async (node) => {
|
|
39
|
-
const doc = node.data;
|
|
40
|
-
const content = await doc.content.load();
|
|
41
|
-
return {
|
|
42
|
-
name: doc.name || doc.fallbackName || import_chunk_LQAC5HL7.translations_default[0]["en-US"][import_chunk_3HHV4MM6.DocumentType.typename]["object name placeholder"],
|
|
43
|
-
data: content.content,
|
|
44
|
-
type: "text/markdown"
|
|
45
|
-
};
|
|
46
|
-
},
|
|
47
|
-
deserialize: async (data, ancestors) => {
|
|
48
|
-
const space = ancestors.find(import_echo2.isSpace);
|
|
49
|
-
const target = ancestors.findLast((ancestor) => import_echo.Obj.instanceOf(import_schema.DataType.Collection, ancestor)) ?? space?.properties[import_echo.Type.getTypename(import_schema.DataType.Collection)]?.target;
|
|
50
|
-
if (!space || !target) {
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
const { dispatchPromise: dispatch } = context.getCapability(import_app_framework.Capabilities.IntentDispatcher);
|
|
54
|
-
const result = await dispatch((0, import_effect.pipe)((0, import_app_framework.createIntent)(import_chunk_3HHV4MM6.MarkdownAction.Create, {
|
|
55
|
-
spaceId: space.id,
|
|
56
|
-
name: data.name,
|
|
57
|
-
content: data.data
|
|
58
|
-
}), (0, import_app_framework.chain)(import_types.SpaceAction.AddObject, {
|
|
59
|
-
target
|
|
60
|
-
})));
|
|
61
|
-
return result.data?.object;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
]);
|
|
65
|
-
//# sourceMappingURL=app-graph-serializer-E6BXEDEL.cjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/app-graph-serializer.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { pipe } from 'effect';\n\nimport { contributes, Capabilities, type PluginContext, chain, createIntent } from '@dxos/app-framework';\nimport { Obj, Type } from '@dxos/echo';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { isSpace } from '@dxos/react-client/echo';\nimport { DataType } from '@dxos/schema';\n\nimport translations from '../translations';\nimport { MarkdownAction, DocumentType } from '../types';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.AppGraphSerializer, [\n {\n inputType: DocumentType.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 || doc.fallbackName || translations[0]['en-US'][DocumentType.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(DataType.Collection, ancestor)) ??\n space?.properties[Type.getTypename(DataType.Collection)]?.target;\n if (!space || !target) {\n return;\n }\n\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const result = await dispatch(\n pipe(\n createIntent(MarkdownAction.Create, { spaceId: space.id, 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,oBAAqB;AAErB,2BAAmF;AACnF,kBAA0B;AAC1B,mBAA4B;AAC5B,IAAAA,eAAwB;AACxB,oBAAyB;AAKzB,IAAA,+BAAe,CAACC,gBACdC,kCAAYC,kCAAaC,oBAAoB;EAC3C;IACEC,WAAWC,mCAAaC;IACxBC,YAAY;;IAEZC,WAAW,OAAOC,SAAAA;AAChB,YAAMC,MAAMD,KAAKE;AACjB,YAAMC,UAAU,MAAMF,IAAIE,QAAQC,KAAI;AACtC,aAAO;QACLC,MACEJ,IAAII,QAAQJ,IAAIK,gBAAgBC,2CAAa,CAAA,EAAG,OAAA,EAASX,mCAAaC,QAAQ,EAAE,yBAAA;QAClFK,MAAMC,QAAQA;QACdK,MAAM;MACR;IACF;IACAC,aAAa,OAAOP,MAAMQ,cAAAA;AACxB,YAAMC,QAAQD,UAAUE,KAAKC,oBAAAA;AAC7B,YAAMC,SACJJ,UAAUK,SAAS,CAACC,aAAaC,gBAAIC,WAAWC,uBAASC,YAAYJ,QAAAA,CAAAA,KACrEL,OAAOU,WAAWC,iBAAKC,YAAYJ,uBAASC,UAAU,CAAA,GAAIN;AAC5D,UAAI,CAACH,SAAS,CAACG,QAAQ;AACrB;MACF;AAEA,YAAM,EAAEU,iBAAiBC,SAAQ,IAAKlC,QAAQmC,cAAcjC,kCAAakC,gBAAgB;AACzF,YAAMC,SAAS,MAAMH,aACnBI,wBACEC,mCAAaC,qCAAeC,QAAQ;QAAEC,SAAStB,MAAMuB;QAAI7B,MAAMH,KAAKG;QAAMF,SAASD,KAAKA;MAAK,CAAA,OAC7FiC,4BAAMC,yBAAYC,WAAW;QAAEvB;MAAO,CAAA,CAAA,CAAA;AAI1C,aAAOc,OAAO1B,MAAMoC;IACtB;EACF;CACD;",
|
|
6
|
-
"names": ["import_echo", "context", "contributes", "Capabilities", "AppGraphSerializer", "inputType", "DocumentType", "typename", "outputType", "serialize", "node", "doc", "data", "content", "load", "name", "fallbackName", "translations", "type", "deserialize", "ancestors", "space", "find", "isSpace", "target", "findLast", "ancestor", "Obj", "instanceOf", "DataType", "Collection", "properties", "Type", "getTypename", "dispatchPromise", "dispatch", "getCapability", "IntentDispatcher", "result", "pipe", "createIntent", "MarkdownAction", "Create", "spaceId", "id", "chain", "SpaceAction", "AddObject", "object"]
|
|
7
|
-
}
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var artifact_definition_U27MH5SC_exports = {};
|
|
20
|
-
__export(artifact_definition_U27MH5SC_exports, {
|
|
21
|
-
default: () => artifact_definition_default
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(artifact_definition_U27MH5SC_exports);
|
|
24
|
-
var import_chunk_3HHV4MM6 = require("./chunk-3HHV4MM6.cjs");
|
|
25
|
-
var import_chunk_ZU5OIHCY = require("./chunk-ZU5OIHCY.cjs");
|
|
26
|
-
var import_effect = require("effect");
|
|
27
|
-
var import_ai = require("@dxos/ai");
|
|
28
|
-
var import_app_framework = require("@dxos/app-framework");
|
|
29
|
-
var import_artifact = require("@dxos/artifact");
|
|
30
|
-
var import_assistant = require("@dxos/assistant");
|
|
31
|
-
var import_echo = require("@dxos/echo");
|
|
32
|
-
var import_invariant = require("@dxos/invariant");
|
|
33
|
-
var import_types = require("@dxos/plugin-space/types");
|
|
34
|
-
var import_echo2 = require("@dxos/react-client/echo");
|
|
35
|
-
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-markdown/src/capabilities/artifact-definition.ts";
|
|
36
|
-
var artifact_definition_default = () => {
|
|
37
|
-
const definition = (0, import_artifact.defineArtifact)({
|
|
38
|
-
id: `artifact:${import_chunk_ZU5OIHCY.meta.id}`,
|
|
39
|
-
name: import_chunk_ZU5OIHCY.meta.name,
|
|
40
|
-
instructions: `
|
|
41
|
-
- The markdown plugin allows you to work with text documents in the current space.
|
|
42
|
-
- Use these tools to interact with documents, including listing available documents and retrieving their content.
|
|
43
|
-
- Documents are stored in Markdown format.
|
|
44
|
-
`,
|
|
45
|
-
schema: import_chunk_3HHV4MM6.DocumentType,
|
|
46
|
-
tools: [
|
|
47
|
-
(0, import_ai.createTool)(import_chunk_ZU5OIHCY.meta.id, {
|
|
48
|
-
name: "create",
|
|
49
|
-
description: "Create a new markdown document",
|
|
50
|
-
caption: "Creating document...",
|
|
51
|
-
schema: import_effect.Schema.Struct({
|
|
52
|
-
name: import_effect.Schema.optional(import_effect.Schema.String).annotations({
|
|
53
|
-
description: "Optional name for the document."
|
|
54
|
-
}),
|
|
55
|
-
content: import_effect.Schema.String.annotations({
|
|
56
|
-
description: "The content of the document."
|
|
57
|
-
})
|
|
58
|
-
}),
|
|
59
|
-
execute: async ({ name, content }, { extensions }) => {
|
|
60
|
-
(0, import_invariant.invariant)(extensions?.space, "No space", {
|
|
61
|
-
F: __dxlog_file,
|
|
62
|
-
L: 51,
|
|
63
|
-
S: void 0,
|
|
64
|
-
A: [
|
|
65
|
-
"extensions?.space",
|
|
66
|
-
"'No space'"
|
|
67
|
-
]
|
|
68
|
-
});
|
|
69
|
-
(0, import_invariant.invariant)(extensions?.dispatch, "No intent dispatcher", {
|
|
70
|
-
F: __dxlog_file,
|
|
71
|
-
L: 52,
|
|
72
|
-
S: void 0,
|
|
73
|
-
A: [
|
|
74
|
-
"extensions?.dispatch",
|
|
75
|
-
"'No intent dispatcher'"
|
|
76
|
-
]
|
|
77
|
-
});
|
|
78
|
-
const intent = (0, import_effect.pipe)((0, import_app_framework.createIntent)(import_chunk_3HHV4MM6.MarkdownAction.Create, {
|
|
79
|
-
spaceId: extensions.space.id,
|
|
80
|
-
name,
|
|
81
|
-
content
|
|
82
|
-
}), (0, import_app_framework.chain)(import_types.SpaceAction.AddObject, {
|
|
83
|
-
target: extensions.space
|
|
84
|
-
}));
|
|
85
|
-
const { data, error } = await extensions.dispatch(intent);
|
|
86
|
-
if (!data || error) {
|
|
87
|
-
return import_ai.ToolResult.Error(error?.message ?? "Failed to create document");
|
|
88
|
-
}
|
|
89
|
-
return import_ai.ToolResult.Success((0, import_assistant.createArtifactElement)(data.id));
|
|
90
|
-
}
|
|
91
|
-
}),
|
|
92
|
-
(0, import_ai.createTool)(import_chunk_ZU5OIHCY.meta.id, {
|
|
93
|
-
name: "list",
|
|
94
|
-
description: "List all markdown documents in the current space.",
|
|
95
|
-
caption: "Listing markdown documents...",
|
|
96
|
-
schema: import_effect.Schema.Struct({}),
|
|
97
|
-
execute: async (_input, { extensions }) => {
|
|
98
|
-
(0, import_invariant.invariant)(extensions?.space, "No space", {
|
|
99
|
-
F: __dxlog_file,
|
|
100
|
-
L: 77,
|
|
101
|
-
S: void 0,
|
|
102
|
-
A: [
|
|
103
|
-
"extensions?.space",
|
|
104
|
-
"'No space'"
|
|
105
|
-
]
|
|
106
|
-
});
|
|
107
|
-
const space = extensions.space;
|
|
108
|
-
const { objects: documents } = await space.db.query(import_echo2.Filter.type(import_chunk_3HHV4MM6.DocumentType)).run();
|
|
109
|
-
const documentInfo = documents.map((doc) => {
|
|
110
|
-
(0, import_invariant.invariant)(import_echo.Obj.instanceOf(import_chunk_3HHV4MM6.DocumentType, doc), void 0, {
|
|
111
|
-
F: __dxlog_file,
|
|
112
|
-
L: 81,
|
|
113
|
-
S: void 0,
|
|
114
|
-
A: [
|
|
115
|
-
"Obj.instanceOf(DocumentType, doc)",
|
|
116
|
-
""
|
|
117
|
-
]
|
|
118
|
-
});
|
|
119
|
-
return {
|
|
120
|
-
id: (0, import_echo2.fullyQualifiedId)(doc),
|
|
121
|
-
name: doc.name || doc.fallbackName || "Unnamed Document"
|
|
122
|
-
};
|
|
123
|
-
});
|
|
124
|
-
return import_ai.ToolResult.Success(documentInfo);
|
|
125
|
-
}
|
|
126
|
-
}),
|
|
127
|
-
(0, import_ai.createTool)(import_chunk_ZU5OIHCY.meta.id, {
|
|
128
|
-
name: "inspect",
|
|
129
|
-
description: "Read the content of a markdown document.",
|
|
130
|
-
caption: "Inspecting markdown document...",
|
|
131
|
-
schema: import_effect.Schema.Struct({
|
|
132
|
-
id: import_artifact.ArtifactId
|
|
133
|
-
}),
|
|
134
|
-
execute: async ({ id }, { extensions }) => {
|
|
135
|
-
(0, import_invariant.invariant)(extensions?.space, "No space", {
|
|
136
|
-
F: __dxlog_file,
|
|
137
|
-
L: 100,
|
|
138
|
-
S: void 0,
|
|
139
|
-
A: [
|
|
140
|
-
"extensions?.space",
|
|
141
|
-
"'No space'"
|
|
142
|
-
]
|
|
143
|
-
});
|
|
144
|
-
const document = await extensions.space.db.query(import_echo2.Filter.ids(import_artifact.ArtifactId.toDXN(id).toString())).first();
|
|
145
|
-
(0, import_invariant.assertArgument)(import_echo.Obj.instanceOf(import_chunk_3HHV4MM6.DocumentType, document), "Invalid type");
|
|
146
|
-
const { content } = await document.content?.load();
|
|
147
|
-
return import_ai.ToolResult.Success({
|
|
148
|
-
id: (0, import_echo2.fullyQualifiedId)(document),
|
|
149
|
-
name: document.name || document.fallbackName || "Unnamed Document",
|
|
150
|
-
content
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
})
|
|
154
|
-
]
|
|
155
|
-
});
|
|
156
|
-
return (0, import_app_framework.contributes)(import_app_framework.Capabilities.ArtifactDefinition, definition);
|
|
157
|
-
};
|
|
158
|
-
//# sourceMappingURL=artifact-definition-U27MH5SC.cjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/artifact-definition.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { pipe, Schema } from 'effect';\n\nimport { createTool, ToolResult } from '@dxos/ai';\nimport { Capabilities, chain, contributes, createIntent, type PromiseIntentDispatcher } from '@dxos/app-framework';\nimport { ArtifactId, defineArtifact } from '@dxos/artifact';\nimport { createArtifactElement } from '@dxos/assistant';\nimport { Obj } from '@dxos/echo';\nimport { invariant, assertArgument } from '@dxos/invariant';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { Filter, fullyQualifiedId, type Space } from '@dxos/react-client/echo';\n\nimport { meta } from '../meta';\nimport { DocumentType, MarkdownAction } from '../types';\n\n// TODO(burdon): Factor out.\ndeclare global {\n interface ToolContextExtensions {\n space?: Space;\n dispatch?: PromiseIntentDispatcher;\n }\n}\n\nexport default () => {\n const definition = defineArtifact({\n id: `artifact:${meta.id}`,\n name: meta.name,\n instructions: `\n - The markdown plugin allows you to work with text documents in the current space.\n - Use these tools to interact with documents, including listing available documents and retrieving their content.\n - Documents are stored in Markdown format.\n `,\n schema: DocumentType,\n tools: [\n createTool(meta.id, {\n name: 'create',\n description: 'Create a new markdown document',\n caption: 'Creating document...',\n schema: Schema.Struct({\n name: Schema.optional(Schema.String).annotations({\n description: 'Optional name for the document.',\n }),\n content: Schema.String.annotations({\n description: 'The content of the document.',\n }),\n }),\n execute: async ({ name, content }, { extensions }) => {\n invariant(extensions?.space, 'No space');\n invariant(extensions?.dispatch, 'No intent dispatcher');\n\n const intent = pipe(\n createIntent(MarkdownAction.Create, {\n spaceId: extensions.space.id,\n name,\n content,\n }),\n chain(SpaceAction.AddObject, { target: extensions.space }),\n );\n\n const { data, error } = await extensions.dispatch(intent);\n if (!data || error) {\n return ToolResult.Error(error?.message ?? 'Failed to create document');\n }\n\n return ToolResult.Success(createArtifactElement(data.id));\n },\n }),\n createTool(meta.id, {\n name: 'list',\n description: 'List all markdown documents in the current space.',\n caption: 'Listing markdown documents...',\n schema: Schema.Struct({}),\n execute: async (_input, { extensions }) => {\n invariant(extensions?.space, 'No space');\n const space = extensions.space;\n const { objects: documents } = await space.db.query(Filter.type(DocumentType)).run();\n const documentInfo = documents.map((doc) => {\n invariant(Obj.instanceOf(DocumentType, doc));\n return {\n id: fullyQualifiedId(doc),\n name: doc.name || doc.fallbackName || 'Unnamed Document',\n // TODO(ZaymonFC): Include updatedAt?\n };\n });\n\n return ToolResult.Success(documentInfo);\n },\n }),\n createTool(meta.id, {\n name: 'inspect',\n description: 'Read the content of a markdown document.',\n caption: 'Inspecting markdown document...',\n schema: Schema.Struct({\n id: ArtifactId,\n }),\n execute: async ({ id }, { extensions }) => {\n invariant(extensions?.space, 'No space');\n const document = await extensions.space.db.query(Filter.ids(ArtifactId.toDXN(id).toString())).first();\n assertArgument(Obj.instanceOf(DocumentType, document), 'Invalid type');\n\n const { content } = await document.content?.load();\n return ToolResult.Success({\n id: fullyQualifiedId(document),\n name: document.name || document.fallbackName || 'Unnamed Document',\n content,\n });\n },\n }),\n ],\n });\n\n return contributes(Capabilities.ArtifactDefinition, definition);\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["import_echo", "definition", "defineArtifact", "id", "meta", "name", "instructions", "schema", "DocumentType", "tools", "createTool", "description", "caption", "Schema", "Struct", "optional", "String", "annotations", "content", "execute", "extensions", "invariant", "space", "dispatch", "intent", "pipe", "createIntent", "MarkdownAction", "Create", "spaceId", "chain", "SpaceAction", "AddObject", "target", "data", "error", "ToolResult", "Error", "message", "Success", "createArtifactElement", "_input", "objects", "documents", "db", "query", "Filter", "type", "run", "documentInfo", "map", "doc", "Obj", "instanceOf", "fullyQualifiedId", "fallbackName", "ArtifactId", "document", "ids", "toDXN", "toString", "first", "assertArgument", "load", "contributes", "Capabilities", "ArtifactDefinition"]
|
|
7
|
-
}
|