@dxos/plugin-markdown 0.8.3 → 0.8.4-main.5acf9ea
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/{MarkdownContainer-EFWQ6DHD.mjs → MarkdownContainer-NNBPE6A5.mjs} +37 -28
- package/dist/lib/browser/MarkdownContainer-NNBPE6A5.mjs.map +7 -0
- package/dist/lib/browser/{MarkdownPreview-F4PYFW5L.mjs → MarkdownPreview-7VG3K24R.mjs} +13 -13
- package/dist/lib/browser/MarkdownPreview-7VG3K24R.mjs.map +7 -0
- package/dist/lib/browser/{anchor-sort-BMAN2ABT.mjs → anchor-sort-Z7JQA7RL.mjs} +6 -6
- package/dist/lib/browser/anchor-sort-Z7JQA7RL.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-EI6TEHRQ.mjs → app-graph-serializer-ZT5OVF5G.mjs} +13 -13
- package/dist/lib/browser/app-graph-serializer-ZT5OVF5G.mjs.map +7 -0
- package/dist/lib/browser/{artifact-definition-FQ2R6KPT.mjs → artifact-definition-7VNP5PCP.mjs} +15 -15
- package/dist/lib/browser/artifact-definition-7VNP5PCP.mjs.map +7 -0
- package/dist/lib/browser/chunk-CD4E4K7J.mjs +16 -0
- package/dist/lib/browser/chunk-CD4E4K7J.mjs.map +7 -0
- package/dist/lib/browser/{chunk-D767LUGU.mjs → chunk-K7ZFMSC4.mjs} +13 -12
- package/dist/lib/browser/chunk-K7ZFMSC4.mjs.map +7 -0
- package/dist/lib/browser/chunk-VCUKIILA.mjs +20 -0
- package/dist/lib/browser/{chunk-LXSRQPEP.mjs → chunk-VMX5SDGW.mjs} +9 -10
- package/dist/lib/browser/chunk-VMX5SDGW.mjs.map +7 -0
- package/dist/lib/browser/chunk-YHMGUSO7.mjs +80 -0
- package/dist/lib/browser/chunk-YHMGUSO7.mjs.map +7 -0
- package/dist/lib/browser/chunk-ZGY3DYC2.mjs +30 -0
- package/dist/lib/browser/chunk-ZGY3DYC2.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +21 -19
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-6ZOABX2J.mjs → intent-resolver-EBEF7WEI.mjs} +15 -19
- package/dist/lib/browser/intent-resolver-EBEF7WEI.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-4B5ELMEW.mjs → react-surface-ZPMZT4VU.mjs} +31 -28
- package/dist/lib/browser/react-surface-ZPMZT4VU.mjs.map +7 -0
- package/dist/lib/browser/{settings-PLH54VC7.mjs → settings-MBDK4TWE.mjs} +6 -6
- package/dist/lib/browser/settings-MBDK4TWE.mjs.map +7 -0
- package/dist/lib/browser/{state-KI6PJ6DT.mjs → state-ZA6PZPUI.mjs} +8 -8
- package/dist/lib/browser/state-ZA6PZPUI.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +6 -14
- package/dist/lib/node-esm/{MarkdownContainer-O3SGMH4G.mjs → MarkdownContainer-Q6UO7DKT.mjs} +37 -28
- package/dist/lib/node-esm/MarkdownContainer-Q6UO7DKT.mjs.map +7 -0
- package/dist/lib/node-esm/{MarkdownPreview-KFDRV4GC.mjs → MarkdownPreview-UVWR2YK3.mjs} +13 -13
- package/dist/lib/node-esm/MarkdownPreview-UVWR2YK3.mjs.map +7 -0
- package/dist/lib/node-esm/{anchor-sort-BXL7BE67.mjs → anchor-sort-R6AAKYNG.mjs} +6 -6
- package/dist/lib/node-esm/anchor-sort-R6AAKYNG.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-F7DGNF3G.mjs → app-graph-serializer-X4M5QEI6.mjs} +13 -13
- package/dist/lib/node-esm/app-graph-serializer-X4M5QEI6.mjs.map +7 -0
- package/dist/lib/node-esm/{artifact-definition-NQOHB6S5.mjs → artifact-definition-IRIILD7S.mjs} +15 -15
- package/dist/lib/node-esm/artifact-definition-IRIILD7S.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-6GCOJS4Y.mjs +81 -0
- package/dist/lib/node-esm/chunk-6GCOJS4Y.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-A7LLVI34.mjs +22 -0
- package/dist/lib/node-esm/chunk-B3J2M4YL.mjs +17 -0
- package/dist/lib/node-esm/chunk-B3J2M4YL.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-K26TX5V4.mjs → chunk-LZK3TLKM.mjs} +9 -10
- package/dist/lib/node-esm/chunk-LZK3TLKM.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-RCIXKCVG.mjs +31 -0
- package/dist/lib/node-esm/chunk-RCIXKCVG.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-BWDDFDJY.mjs → chunk-YGNVDYMB.mjs} +13 -12
- package/dist/lib/node-esm/chunk-YGNVDYMB.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +21 -19
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-CLMSVF2K.mjs → intent-resolver-L2UGZ72W.mjs} +15 -19
- package/dist/lib/node-esm/intent-resolver-L2UGZ72W.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-YHFOQTVO.mjs → react-surface-3JJSTTQP.mjs} +31 -28
- package/dist/lib/node-esm/react-surface-3JJSTTQP.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-SIY33P3F.mjs → settings-LBDWWPZJ.mjs} +6 -6
- package/dist/lib/node-esm/settings-LBDWWPZJ.mjs.map +7 -0
- package/dist/lib/node-esm/{state-LLGVRYKL.mjs → state-UIHO2SFZ.mjs} +8 -8
- package/dist/lib/node-esm/state-UIHO2SFZ.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +6 -14
- package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
- package/dist/types/src/capabilities/artifact-definition.d.ts +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +1 -1
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/state.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownContainer.d.ts +5 -5
- package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownContainer.stories.d.ts +1 -1
- package/dist/types/src/components/MarkdownContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts +2 -2
- package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts +5 -12
- package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts +2 -2
- package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts.map +1 -1
- package/dist/types/src/components/Suggestions.stories.d.ts +3 -3
- package/dist/types/src/components/Suggestions.stories.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar.stories.d.ts +1 -1
- package/dist/types/src/components/Toolbar.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +1 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/events.d.ts.map +1 -1
- package/dist/types/src/extensions.d.ts +4 -4
- package/dist/types/src/extensions.d.ts.map +1 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +1 -1
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +35 -80
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Markdown.d.ts +43 -0
- package/dist/types/src/types/Markdown.d.ts.map +1 -0
- package/dist/types/src/types/MarkdownAction.d.ts +42 -0
- package/dist/types/src/types/MarkdownAction.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +2 -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 +12 -3
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +47 -47
- package/src/MarkdownPlugin.tsx +7 -7
- package/src/capabilities/anchor-sort.ts +3 -3
- package/src/capabilities/app-graph-serializer.ts +8 -6
- package/src/capabilities/artifact-definition.ts +8 -8
- package/src/capabilities/capabilities.ts +4 -3
- package/src/capabilities/intent-resolver.ts +5 -11
- package/src/capabilities/react-surface.tsx +18 -17
- package/src/capabilities/settings.ts +3 -3
- package/src/capabilities/state.ts +6 -7
- package/src/components/MarkdownContainer.stories.tsx +7 -10
- package/src/components/MarkdownContainer.tsx +26 -13
- package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +2 -2
- package/src/components/MarkdownEditor/MarkdownEditor.tsx +3 -3
- package/src/components/MarkdownPreview/MarkdownPreview.stories.tsx +35 -32
- package/src/components/MarkdownPreview/MarkdownPreview.tsx +18 -16
- package/src/components/MarkdownSettings/MarkdownSettings.tsx +4 -4
- package/src/components/Suggestions.stories.tsx +22 -17
- package/src/components/Toolbar.stories.tsx +2 -3
- package/src/events.ts +2 -2
- package/src/extensions.tsx +22 -18
- package/src/hooks/useSelectCurrentThread.tsx +2 -2
- package/src/index.ts +1 -0
- package/src/meta.ts +10 -8
- package/src/translations.ts +9 -7
- package/src/types/Markdown.ts +55 -0
- package/src/types/MarkdownAction.ts +30 -0
- package/src/types/index.ts +2 -1
- package/src/types/types.ts +6 -51
- package/src/util.tsx +20 -6
- package/dist/lib/browser/MarkdownContainer-EFWQ6DHD.mjs.map +0 -7
- package/dist/lib/browser/MarkdownPreview-F4PYFW5L.mjs.map +0 -7
- package/dist/lib/browser/anchor-sort-BMAN2ABT.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-EI6TEHRQ.mjs.map +0 -7
- 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-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.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.map +0 -7
- package/dist/lib/browser/react-surface-4B5ELMEW.mjs.map +0 -7
- package/dist/lib/browser/settings-PLH54VC7.mjs.map +0 -7
- 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.map +0 -7
- package/dist/lib/node-esm/MarkdownPreview-KFDRV4GC.mjs.map +0 -7
- package/dist/lib/node-esm/anchor-sort-BXL7BE67.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-F7DGNF3G.mjs.map +0 -7
- 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.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/intent-resolver-CLMSVF2K.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-YHFOQTVO.mjs.map +0 -7
- package/dist/lib/node-esm/settings-SIY33P3F.mjs.map +0 -7
- package/dist/lib/node-esm/state-LLGVRYKL.mjs.map +0 -7
- package/dist/types/src/types/schema.d.ts +0 -35
- package/dist/types/src/types/schema.d.ts.map +0 -1
- package/src/types/schema.ts +0 -39
- /package/dist/lib/browser/{chunk-354IBM5X.mjs.map → chunk-VCUKIILA.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-YOABAQ7A.mjs.map → chunk-A7LLVI34.mjs.map} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
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 { createArtifactElement, ArtifactId } from '@dxos/assistant';\nimport { defineArtifact } from '@dxos/blueprints';\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 { Markdown, 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}`, // TODO(burdon): meta.id/artifact?\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: Markdown.Document,\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(Markdown.Document)).run();\n const documentInfo = documents.map((doc) => {\n invariant(Obj.instanceOf(Markdown.Document, 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(Markdown.Document, 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": ["pipe", "Schema", "createTool", "ToolResult", "Capabilities", "chain", "contributes", "createIntent", "createArtifactElement", "ArtifactId", "defineArtifact", "Obj", "invariant", "assertArgument", "SpaceAction", "Filter", "fullyQualifiedId", "definition", "defineArtifact", "id", "meta", "name", "instructions", "schema", "Markdown", "Document", "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
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import {
|
|
2
|
+
meta
|
|
3
|
+
} from "./chunk-ZGY3DYC2.mjs";
|
|
4
|
+
|
|
5
|
+
// src/capabilities/capabilities.ts
|
|
6
|
+
import { defineCapability } from "@dxos/app-framework";
|
|
7
|
+
(function(MarkdownCapabilities2) {
|
|
8
|
+
MarkdownCapabilities2.State = defineCapability(`${meta.id}/capability/state`);
|
|
9
|
+
MarkdownCapabilities2.Extensions = defineCapability(`${meta.id}/capability/extensions`);
|
|
10
|
+
})(MarkdownCapabilities || (MarkdownCapabilities = {}));
|
|
11
|
+
var MarkdownCapabilities;
|
|
12
|
+
|
|
13
|
+
export {
|
|
14
|
+
MarkdownCapabilities
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=chunk-CD4E4K7J.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/capabilities.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineCapability } from '@dxos/app-framework';\nimport { type EditorViewMode, type EditorStateStore } from '@dxos/react-ui-editor';\n\nimport { meta } from '../meta';\nimport { type MarkdownExtensionProvider, type MarkdownPluginState } from '../types';\n\nexport namespace MarkdownCapabilities {\n export const State = defineCapability<{\n state: MarkdownPluginState;\n editorState: EditorStateStore;\n getViewMode: (id: string) => EditorViewMode;\n setViewMode: (id: string, viewMode: EditorViewMode) => void;\n }>(`${meta.id}/capability/state`);\n\n // TODO(burdon): Move to ./types (external API)?\n export const Extensions = defineCapability<MarkdownExtensionProvider[]>(`${meta.id}/capability/extensions`);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;AAIA,SAASA,wBAAwB;UAMhBC,uBAAAA;wBACFC,QAAQC,iBAKlB,GAAGC,KAAKC,EAAE,mBAAmB;wBAGnBC,aAAaH,iBAA8C,GAAGC,KAAKC,EAAE,wBAAwB;AAC5G,GAViBJ,yBAAAA,uBAAAA,CAAAA,EAAAA;;",
|
|
6
|
+
"names": ["defineCapability", "MarkdownCapabilities", "State", "defineCapability", "meta", "id", "Extensions"]
|
|
7
|
+
}
|
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
} from "./chunk-
|
|
2
|
+
Markdown_exports
|
|
3
|
+
} from "./chunk-YHMGUSO7.mjs";
|
|
4
4
|
import {
|
|
5
|
-
|
|
6
|
-
} from "./chunk-
|
|
5
|
+
meta
|
|
6
|
+
} from "./chunk-ZGY3DYC2.mjs";
|
|
7
7
|
|
|
8
|
-
//
|
|
9
|
-
|
|
10
|
-
var translations_default = [
|
|
8
|
+
// src/translations.ts
|
|
9
|
+
var translations = [
|
|
11
10
|
{
|
|
12
11
|
"en-US": {
|
|
13
|
-
[
|
|
12
|
+
[Markdown_exports.Document.typename]: {
|
|
14
13
|
"typename label": "Document",
|
|
15
14
|
"typename label_zero": "Documents",
|
|
16
15
|
"typename label_one": "Document",
|
|
17
16
|
"typename label_other": "Documents",
|
|
18
|
-
"object name placeholder": "New document"
|
|
17
|
+
"object name placeholder": "New document",
|
|
18
|
+
"rename object label": "Rename document",
|
|
19
|
+
"delete object label": "Delete document"
|
|
19
20
|
},
|
|
20
|
-
[
|
|
21
|
+
[meta.id]: {
|
|
21
22
|
"plugin name": "Editor",
|
|
22
23
|
"choose markdown from space dialog title": "Choose one or more documents to add",
|
|
23
24
|
// TODO(burdon): Style-guide for user-facing text (e.g., hints, questions, capitalization, etc.)
|
|
@@ -46,6 +47,6 @@ var translations_default = [
|
|
|
46
47
|
];
|
|
47
48
|
|
|
48
49
|
export {
|
|
49
|
-
|
|
50
|
+
translations
|
|
50
51
|
};
|
|
51
|
-
//# sourceMappingURL=chunk-
|
|
52
|
+
//# sourceMappingURL=chunk-K7ZFMSC4.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/translations.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from './meta';\nimport { Markdown } from './types';\n\nexport const translations = [\n {\n 'en-US': {\n [Markdown.Document.typename]: {\n 'typename label': 'Document',\n 'typename label_zero': 'Documents',\n 'typename label_one': 'Document',\n 'typename label_other': 'Documents',\n 'object name placeholder': 'New document',\n 'rename object label': 'Rename document',\n 'delete object label': 'Delete document',\n },\n [meta.id]: {\n 'plugin name': 'Editor',\n 'choose markdown from space dialog title': 'Choose one or more documents to add',\n // TODO(burdon): Style-guide for user-facing text (e.g., hints, questions, capitalization, etc.)\n 'empty choose markdown from space message': 'None available; try creating a new one instead?',\n 'chooser done label': 'Add selected',\n 'editor placeholder': '',\n 'editor input mode label': 'Editor input mode',\n 'select editor input mode placeholder': 'Select editor input mode…',\n 'settings editor input mode default label': 'Default',\n 'settings editor input mode vim label': 'Vim',\n 'settings editor input mode vscode label': 'VS Code',\n 'settings toolbar label': 'Show toolbar',\n 'settings numbered headings label': 'Numbered headings',\n 'settings folding label': 'Folding',\n 'settings experimental label': 'Enable experimental features',\n 'settings debug label': 'Enable debugging features',\n 'settings debug placeholder': 'Typewriter script...',\n 'toggle view mode label': 'Toggle read-only',\n 'default view mode label': 'Default view mode',\n 'upload image label': 'Upload image',\n 'fallback title': 'Untitled',\n 'navigate to document label': 'Open document',\n },\n },\n },\n] as const satisfies Resource[];\n"],
|
|
5
|
+
"mappings": ";;;;;;;;AASO,IAAMA,eAAe;EAC1B;IACE,SAAS;MACP,CAACC,iBAASC,SAASC,QAAQ,GAAG;QAC5B,kBAAkB;QAClB,uBAAuB;QACvB,sBAAsB;QACtB,wBAAwB;QACxB,2BAA2B;QAC3B,uBAAuB;QACvB,uBAAuB;MACzB;MACA,CAACC,KAAKC,EAAE,GAAG;QACT,eAAe;QACf,2CAA2C;;QAE3C,4CAA4C;QAC5C,sBAAsB;QACtB,sBAAsB;QACtB,2BAA2B;QAC3B,wCAAwC;QACxC,4CAA4C;QAC5C,wCAAwC;QACxC,2CAA2C;QAC3C,0BAA0B;QAC1B,oCAAoC;QACpC,0BAA0B;QAC1B,+BAA+B;QAC/B,wBAAwB;QACxB,8BAA8B;QAC9B,0BAA0B;QAC1B,2BAA2B;QAC3B,sBAAsB;QACtB,kBAAkB;QAClB,8BAA8B;MAChC;IACF;EACF;;",
|
|
6
|
+
"names": ["translations", "Markdown", "Document", "typename", "meta", "id"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// src/capabilities/index.ts
|
|
2
|
+
import { lazy } from "@dxos/app-framework";
|
|
3
|
+
var AnchorSort = lazy(() => import("./anchor-sort-Z7JQA7RL.mjs"));
|
|
4
|
+
var AppGraphSerializer = lazy(() => import("./app-graph-serializer-ZT5OVF5G.mjs"));
|
|
5
|
+
var ArtifactDefinition = lazy(() => import("./artifact-definition-7VNP5PCP.mjs"));
|
|
6
|
+
var IntentResolver = lazy(() => import("./intent-resolver-EBEF7WEI.mjs"));
|
|
7
|
+
var ReactSurface = lazy(() => import("./react-surface-ZPMZT4VU.mjs"));
|
|
8
|
+
var MarkdownSettings = lazy(() => import("./settings-MBDK4TWE.mjs"));
|
|
9
|
+
var MarkdownState = lazy(() => import("./state-ZA6PZPUI.mjs"));
|
|
10
|
+
|
|
11
|
+
export {
|
|
12
|
+
AnchorSort,
|
|
13
|
+
AppGraphSerializer,
|
|
14
|
+
ArtifactDefinition,
|
|
15
|
+
IntentResolver,
|
|
16
|
+
ReactSurface,
|
|
17
|
+
MarkdownSettings,
|
|
18
|
+
MarkdownState
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=chunk-VCUKIILA.mjs.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
} from "./chunk-
|
|
2
|
+
Markdown_exports
|
|
3
|
+
} from "./chunk-YHMGUSO7.mjs";
|
|
4
4
|
|
|
5
|
-
//
|
|
5
|
+
// src/util.tsx
|
|
6
6
|
import { debounce } from "@dxos/async";
|
|
7
|
-
import { Obj
|
|
8
|
-
|
|
7
|
+
import { Obj } from "@dxos/echo";
|
|
8
|
+
var isEditorModel = (data) => data && typeof data === "object" && "id" in data && typeof data.id === "string" && "text" in data && typeof data.text === "string";
|
|
9
9
|
var isMarkdownProperties = (data) => Obj.isObject(data) ? true : data && typeof data === "object" ? "title" in data && typeof data.title === "string" : false;
|
|
10
10
|
var nonTitleChars = /[^\w ]/g;
|
|
11
11
|
var getFallbackName = (content) => {
|
|
@@ -31,21 +31,20 @@ var serializer = {
|
|
|
31
31
|
},
|
|
32
32
|
deserialize: async ({ content: serialized }) => {
|
|
33
33
|
const { name, fallbackName, content } = JSON.parse(serialized);
|
|
34
|
-
return
|
|
34
|
+
return Markdown_exports.makeDocument({
|
|
35
35
|
name,
|
|
36
36
|
fallbackName,
|
|
37
|
-
content
|
|
38
|
-
content
|
|
39
|
-
}))
|
|
37
|
+
content
|
|
40
38
|
});
|
|
41
39
|
}
|
|
42
40
|
};
|
|
43
41
|
|
|
44
42
|
export {
|
|
43
|
+
isEditorModel,
|
|
45
44
|
isMarkdownProperties,
|
|
46
45
|
getFallbackName,
|
|
47
46
|
getAbstract,
|
|
48
47
|
setFallbackName,
|
|
49
48
|
serializer
|
|
50
49
|
};
|
|
51
|
-
//# sourceMappingURL=chunk-
|
|
50
|
+
//# sourceMappingURL=chunk-VMX5SDGW.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { debounce } from '@dxos/async';\nimport { Obj } from '@dxos/echo';\nimport { type TypedObjectSerializer } from '@dxos/plugin-space/types';\n\nimport { Markdown } from './types';\n\n/**\n * Checks if an object conforms to the interface needed to render an editor.\n * @deprecated Use Schema.instanceOf(Markdown.Document, data)\n */\n// TODO(burdon): Normalize types (from FilesPlugin).\nexport const isEditorModel = (data: any): data is { id: string; text: string } =>\n data &&\n typeof data === 'object' &&\n 'id' in data &&\n typeof data.id === 'string' &&\n 'text' in data &&\n typeof data.text === 'string';\n\nexport type MarkdownProperties = Record<string, any>;\n\nexport const isMarkdownProperties = (data: unknown): data is MarkdownProperties =>\n (Obj.isObject(data) as boolean)\n ? true\n : data && typeof data === 'object'\n ? 'title' in data && typeof data.title === 'string'\n : false;\n\nconst nonTitleChars = /[^\\w ]/g;\n\nexport const getFallbackName = (content: string) => {\n return content.substring(0, 31).split('\\n')[0].replaceAll(nonTitleChars, '').trim();\n};\n\nexport const getAbstract = (content: string) => {\n return content.substring(0, 128).split('\\n')[0].replaceAll(nonTitleChars, '').trim();\n};\n\nexport const setFallbackName = debounce((doc: Markdown.Document, content: string) => {\n const name = getFallbackName(content);\n if (doc.fallbackName !== name) {\n doc.fallbackName = name;\n }\n}, 200);\n\nexport const serializer: TypedObjectSerializer<Markdown.Document> = {\n serialize: async ({ object }): Promise<string> => {\n const { content } = await object.content.load();\n return JSON.stringify({ name: object.name, fallbackName: object.fallbackName, content });\n },\n\n deserialize: async ({ content: serialized }) => {\n const { name, fallbackName, content } = JSON.parse(serialized);\n return Markdown.makeDocument({ name, fallbackName, content });\n },\n};\n"],
|
|
5
|
+
"mappings": ";;;;;AAIA,SAASA,gBAAgB;AACzB,SAASC,WAAW;AAUb,IAAMC,gBAAgB,CAACC,SAC5BA,QACA,OAAOA,SAAS,YAChB,QAAQA,QACR,OAAOA,KAAKC,OAAO,YACnB,UAAUD,QACV,OAAOA,KAAKE,SAAS;AAIhB,IAAMC,uBAAuB,CAACH,SAClCI,IAAIC,SAASL,IAAAA,IACV,OACAA,QAAQ,OAAOA,SAAS,WACtB,WAAWA,QAAQ,OAAOA,KAAKM,UAAU,WACzC;AAER,IAAMC,gBAAgB;AAEf,IAAMC,kBAAkB,CAACC,YAAAA;AAC9B,SAAOA,QAAQC,UAAU,GAAG,EAAA,EAAIC,MAAM,IAAA,EAAM,CAAA,EAAGC,WAAWL,eAAe,EAAA,EAAIM,KAAI;AACnF;AAEO,IAAMC,cAAc,CAACL,YAAAA;AAC1B,SAAOA,QAAQC,UAAU,GAAG,GAAA,EAAKC,MAAM,IAAA,EAAM,CAAA,EAAGC,WAAWL,eAAe,EAAA,EAAIM,KAAI;AACpF;AAEO,IAAME,kBAAkBC,SAAS,CAACC,KAAwBR,YAAAA;AAC/D,QAAMS,OAAOV,gBAAgBC,OAAAA;AAC7B,MAAIQ,IAAIE,iBAAiBD,MAAM;AAC7BD,QAAIE,eAAeD;EACrB;AACF,GAAG,GAAA;AAEI,IAAME,aAAuD;EAClEC,WAAW,OAAO,EAAEC,OAAM,MAAE;AAC1B,UAAM,EAAEb,QAAO,IAAK,MAAMa,OAAOb,QAAQc,KAAI;AAC7C,WAAOC,KAAKC,UAAU;MAAEP,MAAMI,OAAOJ;MAAMC,cAAcG,OAAOH;MAAcV;IAAQ,CAAA;EACxF;EAEAiB,aAAa,OAAO,EAAEjB,SAASkB,WAAU,MAAE;AACzC,UAAM,EAAET,MAAMC,cAAcV,QAAO,IAAKe,KAAKI,MAAMD,UAAAA;AACnD,WAAOE,iBAASC,aAAa;MAAEZ;MAAMC;MAAcV;IAAQ,CAAA;EAC7D;AACF;",
|
|
6
|
+
"names": ["debounce", "Obj", "isEditorModel", "data", "id", "text", "isMarkdownProperties", "Obj", "isObject", "title", "nonTitleChars", "getFallbackName", "content", "substring", "split", "replaceAll", "trim", "getAbstract", "setFallbackName", "debounce", "doc", "name", "fallbackName", "serializer", "serialize", "object", "load", "JSON", "stringify", "deserialize", "serialized", "parse", "Markdown", "makeDocument"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__export,
|
|
3
|
+
not_meta
|
|
4
|
+
} from "./chunk-ZGY3DYC2.mjs";
|
|
5
|
+
|
|
6
|
+
// src/types/MarkdownAction.ts
|
|
7
|
+
var MarkdownAction_exports = {};
|
|
8
|
+
__export(MarkdownAction_exports, {
|
|
9
|
+
Create: () => Create,
|
|
10
|
+
SetViewMode: () => SetViewMode
|
|
11
|
+
});
|
|
12
|
+
import { Schema as Schema2 } from "effect";
|
|
13
|
+
import { Type as Type2 } from "@dxos/echo";
|
|
14
|
+
import { EditorViewMode as EditorViewMode2 } from "@dxos/react-ui-editor/types";
|
|
15
|
+
|
|
16
|
+
// src/types/Markdown.ts
|
|
17
|
+
var Markdown_exports = {};
|
|
18
|
+
__export(Markdown_exports, {
|
|
19
|
+
Document: () => Document,
|
|
20
|
+
Settings: () => Settings,
|
|
21
|
+
makeDocument: () => makeDocument
|
|
22
|
+
});
|
|
23
|
+
import { Schema } from "effect";
|
|
24
|
+
import { Obj, Ref, Type } from "@dxos/echo";
|
|
25
|
+
import { LabelAnnotation } from "@dxos/echo-schema";
|
|
26
|
+
import { EditorInputMode, EditorViewMode } from "@dxos/react-ui-editor/types";
|
|
27
|
+
import { DataType } from "@dxos/schema";
|
|
28
|
+
var Document = Schema.Struct({
|
|
29
|
+
name: Schema.optional(Schema.String),
|
|
30
|
+
fallbackName: Schema.optional(Schema.String),
|
|
31
|
+
content: Type.Ref(DataType.Text)
|
|
32
|
+
}).pipe(Type.Obj({
|
|
33
|
+
typename: "dxos.org/type/Document",
|
|
34
|
+
version: "0.1.0"
|
|
35
|
+
}), LabelAnnotation.set([
|
|
36
|
+
"name",
|
|
37
|
+
"fallbackName"
|
|
38
|
+
]));
|
|
39
|
+
var makeDocument = ({ content = "", ...props } = {}) => Obj.make(Document, {
|
|
40
|
+
...props,
|
|
41
|
+
content: Ref.make(DataType.makeText(content))
|
|
42
|
+
});
|
|
43
|
+
var Settings = Schema.mutable(Schema.Struct({
|
|
44
|
+
defaultViewMode: EditorViewMode,
|
|
45
|
+
editorInputMode: Schema.optional(EditorInputMode),
|
|
46
|
+
experimental: Schema.optional(Schema.Boolean),
|
|
47
|
+
debug: Schema.optional(Schema.Boolean),
|
|
48
|
+
toolbar: Schema.optional(Schema.Boolean),
|
|
49
|
+
typewriter: Schema.optional(Schema.String),
|
|
50
|
+
// TODO(burdon): Per document settings.
|
|
51
|
+
numberedHeadings: Schema.optional(Schema.Boolean),
|
|
52
|
+
folding: Schema.optional(Schema.Boolean)
|
|
53
|
+
}));
|
|
54
|
+
|
|
55
|
+
// src/types/MarkdownAction.ts
|
|
56
|
+
var Create = class extends Schema2.TaggedClass()(`${not_meta.id}/action/create`, {
|
|
57
|
+
input: Schema2.Struct({
|
|
58
|
+
spaceId: Type2.SpaceId,
|
|
59
|
+
name: Schema2.optional(Schema2.String),
|
|
60
|
+
content: Schema2.optional(Schema2.String)
|
|
61
|
+
}),
|
|
62
|
+
output: Schema2.Struct({
|
|
63
|
+
object: Document
|
|
64
|
+
})
|
|
65
|
+
}) {
|
|
66
|
+
};
|
|
67
|
+
var SetViewMode = class extends Schema2.TaggedClass()(`${not_meta.id}/action/set-view-mode`, {
|
|
68
|
+
input: Schema2.Struct({
|
|
69
|
+
id: Schema2.String,
|
|
70
|
+
viewMode: EditorViewMode2
|
|
71
|
+
}),
|
|
72
|
+
output: Schema2.Void
|
|
73
|
+
}) {
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
export {
|
|
77
|
+
Markdown_exports,
|
|
78
|
+
MarkdownAction_exports
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=chunk-YHMGUSO7.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types/MarkdownAction.ts", "../../../src/types/Markdown.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Type } from '@dxos/echo';\nimport { EditorViewMode } from '@dxos/react-ui-editor/types';\n\nimport { Document } from './Markdown';\nimport { not_meta } from '../meta';\n\nexport class Create extends Schema.TaggedClass<Create>()(`${not_meta.id}/action/create`, {\n input: Schema.Struct({\n spaceId: Type.SpaceId,\n name: Schema.optional(Schema.String),\n content: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: Document,\n }),\n}) {}\n\nexport class SetViewMode extends Schema.TaggedClass<SetViewMode>()(`${not_meta.id}/action/set-view-mode`, {\n input: Schema.Struct({\n id: Schema.String,\n viewMode: EditorViewMode,\n }),\n output: Schema.Void,\n}) {}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Obj, Ref, Type } from '@dxos/echo';\nimport { LabelAnnotation } from '@dxos/echo-schema';\nimport { EditorInputMode, EditorViewMode } from '@dxos/react-ui-editor/types';\nimport { DataType } from '@dxos/schema';\n\n/**\n * Document Item type.\n */\nexport const Document = Schema.Struct({\n name: Schema.optional(Schema.String),\n fallbackName: Schema.optional(Schema.String),\n content: Type.Ref(DataType.Text),\n}).pipe(\n Type.Obj({\n typename: 'dxos.org/type/Document',\n version: '0.1.0',\n }),\n LabelAnnotation.set(['name', 'fallbackName']),\n);\n\nexport type Document = Schema.Schema.Type<typeof Document>;\n\n/**\n * Document factory.\n */\nexport const makeDocument = ({\n content = '',\n ...props\n}: Partial<{ name: string; fallbackName: string; content: string }> = {}) =>\n Obj.make(Document, { ...props, content: Ref.make(DataType.makeText(content)) });\n\n/**\n * Plugin settings.\n */\nexport const Settings = Schema.mutable(\n Schema.Struct({\n defaultViewMode: EditorViewMode,\n editorInputMode: Schema.optional(EditorInputMode),\n experimental: Schema.optional(Schema.Boolean),\n debug: Schema.optional(Schema.Boolean),\n toolbar: Schema.optional(Schema.Boolean),\n typewriter: Schema.optional(Schema.String),\n // TODO(burdon): Per document settings.\n numberedHeadings: Schema.optional(Schema.Boolean),\n folding: Schema.optional(Schema.Boolean),\n }),\n);\n\nexport interface Settings extends Schema.Schema.Type<typeof Settings> {}\n"],
|
|
5
|
+
"mappings": ";;;;;;AAAA;;;;;AAIA,SAASA,UAAAA,eAAc;AAEvB,SAASC,QAAAA,aAAY;AACrB,SAASC,kBAAAA,uBAAsB;;;ACP/B;;;;;;AAIA,SAASC,cAAc;AAEvB,SAASC,KAAKC,KAAKC,YAAY;AAC/B,SAASC,uBAAuB;AAChC,SAASC,iBAAiBC,sBAAsB;AAChD,SAASC,gBAAgB;AAKlB,IAAMC,WAAWC,OAAOC,OAAO;EACpCC,MAAMF,OAAOG,SAASH,OAAOI,MAAM;EACnCC,cAAcL,OAAOG,SAASH,OAAOI,MAAM;EAC3CE,SAASC,KAAKC,IAAIC,SAASC,IAAI;AACjC,CAAA,EAAGC,KACDJ,KAAKK,IAAI;EACPC,UAAU;EACVC,SAAS;AACX,CAAA,GACAC,gBAAgBC,IAAI;EAAC;EAAQ;CAAe,CAAA;AAQvC,IAAMC,eAAe,CAAC,EAC3BX,UAAU,IACV,GAAGY,MAAAA,IACiE,CAAC,MACrEN,IAAIO,KAAKpB,UAAU;EAAE,GAAGmB;EAAOZ,SAASE,IAAIW,KAAKV,SAASW,SAASd,OAAAA,CAAAA;AAAU,CAAA;AAKxE,IAAMe,WAAWrB,OAAOsB,QAC7BtB,OAAOC,OAAO;EACZsB,iBAAiBC;EACjBC,iBAAiBzB,OAAOG,SAASuB,eAAAA;EACjCC,cAAc3B,OAAOG,SAASH,OAAO4B,OAAO;EAC5CC,OAAO7B,OAAOG,SAASH,OAAO4B,OAAO;EACrCE,SAAS9B,OAAOG,SAASH,OAAO4B,OAAO;EACvCG,YAAY/B,OAAOG,SAASH,OAAOI,MAAM;;EAEzC4B,kBAAkBhC,OAAOG,SAASH,OAAO4B,OAAO;EAChDK,SAASjC,OAAOG,SAASH,OAAO4B,OAAO;AACzC,CAAA,CAAA;;;ADvCK,IAAMM,SAAN,cAAqBC,QAAOC,YAAW,EAAW,GAAGC,SAASC,EAAE,kBAAkB;EACvFC,OAAOJ,QAAOK,OAAO;IACnBC,SAASC,MAAKC;IACdC,MAAMT,QAAOU,SAASV,QAAOW,MAAM;IACnCC,SAASZ,QAAOU,SAASV,QAAOW,MAAM;EACxC,CAAA;EACAE,QAAQb,QAAOK,OAAO;IACpBS,QAAQC;EACV,CAAA;AACF,CAAA,EAAA;AAAI;AAEG,IAAMC,cAAN,cAA0BhB,QAAOC,YAAW,EAAgB,GAAGC,SAASC,EAAE,yBAAyB;EACxGC,OAAOJ,QAAOK,OAAO;IACnBF,IAAIH,QAAOW;IACXM,UAAUC;EACZ,CAAA;EACAL,QAAQb,QAAOmB;AACjB,CAAA,EAAA;AAAI;",
|
|
6
|
+
"names": ["Schema", "Type", "EditorViewMode", "Schema", "Obj", "Ref", "Type", "LabelAnnotation", "EditorInputMode", "EditorViewMode", "DataType", "Document", "Schema", "Struct", "name", "optional", "String", "fallbackName", "content", "Type", "Ref", "DataType", "Text", "pipe", "Obj", "typename", "version", "LabelAnnotation", "set", "makeDocument", "props", "make", "makeText", "Settings", "mutable", "defaultViewMode", "EditorViewMode", "editorInputMode", "EditorInputMode", "experimental", "Boolean", "debug", "toolbar", "typewriter", "numberedHeadings", "folding", "Create", "Schema", "TaggedClass", "not_meta", "id", "input", "Struct", "spaceId", "Type", "SpaceId", "name", "optional", "String", "content", "output", "object", "Document", "SetViewMode", "viewMode", "EditorViewMode", "Void"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __export = (target, all) => {
|
|
3
|
+
for (var name in all)
|
|
4
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
// src/meta.ts
|
|
8
|
+
import { trim } from "@dxos/util";
|
|
9
|
+
var meta = {
|
|
10
|
+
id: "dxos.org/plugin/markdown",
|
|
11
|
+
name: "Markdown",
|
|
12
|
+
description: trim`
|
|
13
|
+
A collaborative and extensible Markdown editor.
|
|
14
|
+
In addition to markdown capabilities, the plugin supports collaborative in-line comments.
|
|
15
|
+
You can use documents to extend the memory of your personal agents and add context for automated workflows.
|
|
16
|
+
`,
|
|
17
|
+
icon: "ph--text-aa--regular",
|
|
18
|
+
source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-markdown",
|
|
19
|
+
screenshots: [
|
|
20
|
+
"https://dxos.network/plugin-details-markdown-dark.png"
|
|
21
|
+
]
|
|
22
|
+
};
|
|
23
|
+
var not_meta = meta;
|
|
24
|
+
|
|
25
|
+
export {
|
|
26
|
+
__export,
|
|
27
|
+
meta,
|
|
28
|
+
not_meta
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=chunk-ZGY3DYC2.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/meta.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: PluginMeta = {\n id: 'dxos.org/plugin/markdown',\n name: 'Markdown',\n description: trim`\n A collaborative and extensible Markdown editor.\n In addition to markdown capabilities, the plugin supports collaborative in-line comments.\n You can use documents to extend the memory of your personal agents and add context for automated workflows.\n `,\n icon: 'ph--text-aa--regular',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-markdown',\n screenshots: ['https://dxos.network/plugin-details-markdown-dark.png'],\n};\n\n// TODO(burdon): Workaround for suspected vitest bug?\nexport const not_meta = meta;\n"],
|
|
5
|
+
"mappings": ";;;;;;;AAKA,SAASA,YAAY;AAEd,IAAMC,OAAmB;EAC9BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;;;EAKbC,MAAM;EACNC,QAAQ;EACRC,aAAa;IAAC;;AAChB;AAGO,IAAMC,WAAWR;",
|
|
6
|
+
"names": ["trim", "meta", "id", "name", "description", "trim", "icon", "source", "screenshots", "not_meta"]
|
|
7
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
} from "./chunk-
|
|
2
|
+
translations
|
|
3
|
+
} from "./chunk-K7ZFMSC4.mjs";
|
|
4
4
|
import {
|
|
5
5
|
AnchorSort,
|
|
6
6
|
AppGraphSerializer,
|
|
@@ -9,34 +9,35 @@ import {
|
|
|
9
9
|
MarkdownSettings,
|
|
10
10
|
MarkdownState,
|
|
11
11
|
ReactSurface
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-VCUKIILA.mjs";
|
|
13
13
|
import {
|
|
14
14
|
MarkdownCapabilities
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-CD4E4K7J.mjs";
|
|
16
16
|
import {
|
|
17
17
|
getAbstract,
|
|
18
18
|
getFallbackName,
|
|
19
|
+
isEditorModel,
|
|
19
20
|
isMarkdownProperties,
|
|
20
21
|
serializer,
|
|
21
22
|
setFallbackName
|
|
22
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-VMX5SDGW.mjs";
|
|
23
24
|
import {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
} from "./chunk-
|
|
25
|
+
MarkdownAction_exports,
|
|
26
|
+
Markdown_exports
|
|
27
|
+
} from "./chunk-YHMGUSO7.mjs";
|
|
27
28
|
import {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
} from "./chunk-
|
|
29
|
+
meta,
|
|
30
|
+
not_meta
|
|
31
|
+
} from "./chunk-ZGY3DYC2.mjs";
|
|
31
32
|
|
|
32
|
-
//
|
|
33
|
+
// src/events.ts
|
|
33
34
|
import { Events } from "@dxos/app-framework";
|
|
34
35
|
(function(MarkdownEvents2) {
|
|
35
|
-
MarkdownEvents2.SetupExtensions = Events.createStateEvent(`${
|
|
36
|
+
MarkdownEvents2.SetupExtensions = Events.createStateEvent(`${meta.id}/event/setup-extensions`);
|
|
36
37
|
})(MarkdownEvents || (MarkdownEvents = {}));
|
|
37
38
|
var MarkdownEvents;
|
|
38
39
|
|
|
39
|
-
//
|
|
40
|
+
// src/MarkdownPlugin.tsx
|
|
40
41
|
import { Capabilities, contributes, createIntent, defineModule, definePlugin, Events as Events2 } from "@dxos/app-framework";
|
|
41
42
|
import { Ref } from "@dxos/echo";
|
|
42
43
|
import { ClientCapabilities, ClientEvents } from "@dxos/plugin-client";
|
|
@@ -50,7 +51,7 @@ var MarkdownPlugin = () => definePlugin(meta, [
|
|
|
50
51
|
id: `${meta.id}/module/translations`,
|
|
51
52
|
activatesOn: Events2.SetupTranslations,
|
|
52
53
|
activate: () => contributes(Capabilities.Translations, [
|
|
53
|
-
...
|
|
54
|
+
...translations,
|
|
54
55
|
...editorTranslations
|
|
55
56
|
])
|
|
56
57
|
}),
|
|
@@ -71,7 +72,7 @@ var MarkdownPlugin = () => definePlugin(meta, [
|
|
|
71
72
|
id: `${meta.id}/module/metadata`,
|
|
72
73
|
activatesOn: Events2.SetupMetadata,
|
|
73
74
|
activate: () => contributes(Capabilities.Metadata, {
|
|
74
|
-
id:
|
|
75
|
+
id: Markdown_exports.Document.typename,
|
|
75
76
|
metadata: {
|
|
76
77
|
label: (object) => object.name || object.fallbackName,
|
|
77
78
|
icon: "ph--text-aa--regular",
|
|
@@ -101,8 +102,8 @@ var MarkdownPlugin = () => definePlugin(meta, [
|
|
|
101
102
|
id: `${meta.id}/module/object-form`,
|
|
102
103
|
activatesOn: ClientEvents.SetupSchema,
|
|
103
104
|
activate: () => contributes(SpaceCapabilities.ObjectForm, defineObjectForm({
|
|
104
|
-
objectSchema:
|
|
105
|
-
getIntent: (_, { space }) => createIntent(
|
|
105
|
+
objectSchema: Markdown_exports.Document,
|
|
106
|
+
getIntent: (_, { space }) => createIntent(MarkdownAction_exports.Create, {
|
|
106
107
|
spaceId: space.id
|
|
107
108
|
})
|
|
108
109
|
}))
|
|
@@ -146,14 +147,15 @@ var MarkdownPlugin = () => definePlugin(meta, [
|
|
|
146
147
|
})
|
|
147
148
|
]);
|
|
148
149
|
export {
|
|
149
|
-
MARKDOWN_PLUGIN,
|
|
150
150
|
MarkdownCapabilities,
|
|
151
151
|
MarkdownEvents,
|
|
152
152
|
MarkdownPlugin,
|
|
153
153
|
getAbstract,
|
|
154
154
|
getFallbackName,
|
|
155
|
+
isEditorModel,
|
|
155
156
|
isMarkdownProperties,
|
|
156
157
|
meta,
|
|
158
|
+
not_meta,
|
|
157
159
|
serializer,
|
|
158
160
|
setFallbackName
|
|
159
161
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/events.ts", "../../../src/MarkdownPlugin.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Events } from '@dxos/app-framework';\n\nimport {
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["Events", "MarkdownEvents", "SetupExtensions", "Events", "createStateEvent", "
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Events } from '@dxos/app-framework';\n\nimport { meta } from './meta';\n\nexport namespace MarkdownEvents {\n export const SetupExtensions = Events.createStateEvent(`${meta.id}/event/setup-extensions`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, defineModule, definePlugin, Events } from '@dxos/app-framework';\nimport { type Obj, Ref } from '@dxos/echo';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { SpaceCapabilities } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\nimport { createDocAccessor, getTextInRange } from '@dxos/react-client/echo';\nimport { translations as editorTranslations } from '@dxos/react-ui-editor';\nimport { DataType } from '@dxos/schema';\n\nimport {\n AnchorSort,\n AppGraphSerializer,\n ArtifactDefinition,\n IntentResolver,\n MarkdownState,\n MarkdownSettings,\n ReactSurface,\n} from './capabilities';\nimport { MarkdownEvents } from './events';\nimport { meta } from './meta';\nimport { translations } from './translations';\nimport { Markdown, MarkdownAction } from './types';\nimport { serializer } from './util';\n\nexport const MarkdownPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, ...editorTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: MarkdownSettings,\n }),\n defineModule({\n id: `${meta.id}/module/state`,\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: Events.SetupSettings,\n activate: MarkdownState,\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: Markdown.Document.typename,\n metadata: {\n label: (object: Markdown.Document) => object.name || object.fallbackName,\n icon: 'ph--text-aa--regular',\n graphProps: {\n managesAutofocus: true,\n },\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (doc: Markdown.Document) => await Ref.Array.loadAll<Obj.Any>([doc.content]),\n serializer,\n // TODO(wittjosiah): Consider how to do generic comments without these.\n comments: 'anchored',\n selectionMode: 'multi-range',\n getAnchorLabel: (doc: Markdown.Document, anchor: string): string | undefined => {\n if (doc.content) {\n const [start, end] = anchor.split(':');\n return getTextInRange(createDocAccessor(doc.content.target!, ['content']), start, end);\n }\n },\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: Markdown.Document,\n getIntent: (_, { space }) => createIntent(MarkdownAction.Create, { spaceId: space.id }),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => contributes(ClientCapabilities.Schema, [DataType.Text]),\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the editor is loaded when surfaces activation is more granular.\n activatesBefore: [MarkdownEvents.SetupExtensions],\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-serializer`,\n activatesOn: Events.AppGraphReady,\n activate: AppGraphSerializer,\n }),\n defineModule({\n id: `${meta.id}/module/anchor-sort`,\n // TODO(wittjosiah): More relevant event?\n activatesOn: Events.AppGraphReady,\n activate: AnchorSort,\n }),\n defineModule({\n id: `${meta.id}/module/artifact-definition`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: ArtifactDefinition,\n }),\n ]);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Events", "MarkdownEvents", "SetupExtensions", "Events", "createStateEvent", "meta", "id", "Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "Ref", "ClientCapabilities", "ClientEvents", "SpaceCapabilities", "defineObjectForm", "createDocAccessor", "getTextInRange", "translations", "editorTranslations", "DataType", "MarkdownPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "editorTranslations", "SetupSettings", "MarkdownSettings", "MarkdownState", "SetupMetadata", "Metadata", "Markdown", "Document", "typename", "metadata", "label", "object", "name", "fallbackName", "icon", "graphProps", "managesAutofocus", "loadReferences", "doc", "Ref", "Array", "loadAll", "content", "serializer", "comments", "selectionMode", "getAnchorLabel", "anchor", "start", "end", "split", "getTextInRange", "createDocAccessor", "target", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "getIntent", "_", "space", "createIntent", "MarkdownAction", "Create", "spaceId", "ClientCapabilities", "Schema", "DataType", "Text", "SetupReactSurface", "activatesBefore", "MarkdownEvents", "SetupExtensions", "ReactSurface", "SetupIntentResolver", "IntentResolver", "AppGraphReady", "AppGraphSerializer", "AnchorSort", "SetupArtifactDefinition", "ArtifactDefinition"]
|
|
7
7
|
}
|
|
@@ -1,38 +1,34 @@
|
|
|
1
1
|
import {
|
|
2
2
|
MarkdownCapabilities
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-CD4E4K7J.mjs";
|
|
4
4
|
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
5
|
+
MarkdownAction_exports,
|
|
6
|
+
Markdown_exports
|
|
7
|
+
} from "./chunk-YHMGUSO7.mjs";
|
|
8
|
+
import "./chunk-ZGY3DYC2.mjs";
|
|
9
9
|
|
|
10
|
-
//
|
|
10
|
+
// src/capabilities/intent-resolver.ts
|
|
11
11
|
import { next as A } from "@automerge/automerge";
|
|
12
12
|
import { Option, pipe } from "effect";
|
|
13
13
|
import { Capabilities, CollaborationActions, contributes, createResolver } from "@dxos/app-framework";
|
|
14
14
|
import { Obj } from "@dxos/echo";
|
|
15
|
-
import { createDocAccessor, getRangeFromCursor
|
|
16
|
-
import { DataType } from "@dxos/schema";
|
|
15
|
+
import { createDocAccessor, getRangeFromCursor } from "@dxos/react-client/echo";
|
|
17
16
|
var intent_resolver_default = (context) => contributes(Capabilities.IntentResolver, [
|
|
18
17
|
createResolver({
|
|
19
|
-
intent:
|
|
18
|
+
intent: MarkdownAction_exports.Create,
|
|
20
19
|
resolve: ({ name, content }) => {
|
|
21
|
-
const doc = Obj.make(DocumentType, {
|
|
22
|
-
name,
|
|
23
|
-
content: Ref.make(Obj.make(DataType.Text, {
|
|
24
|
-
content: content ?? ""
|
|
25
|
-
}))
|
|
26
|
-
});
|
|
27
20
|
return {
|
|
28
21
|
data: {
|
|
29
|
-
object:
|
|
22
|
+
object: Markdown_exports.makeDocument({
|
|
23
|
+
name,
|
|
24
|
+
content
|
|
25
|
+
})
|
|
30
26
|
}
|
|
31
27
|
};
|
|
32
28
|
}
|
|
33
29
|
}),
|
|
34
30
|
createResolver({
|
|
35
|
-
intent:
|
|
31
|
+
intent: MarkdownAction_exports.SetViewMode,
|
|
36
32
|
resolve: ({ id, viewMode }) => {
|
|
37
33
|
const { state } = context.getCapability(MarkdownCapabilities.State);
|
|
38
34
|
state.viewMode[id] = viewMode;
|
|
@@ -40,7 +36,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
40
36
|
}),
|
|
41
37
|
createResolver({
|
|
42
38
|
intent: CollaborationActions.InsertContent,
|
|
43
|
-
filter: (data) => Obj.instanceOf(
|
|
39
|
+
filter: (data) => Obj.instanceOf(Markdown_exports.Document, data.target),
|
|
44
40
|
resolve: async ({ target, object: objectRef, at, label }) => {
|
|
45
41
|
const text = await target.content.load();
|
|
46
42
|
const accessor = createDocAccessor(text, [
|
|
@@ -61,4 +57,4 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
61
57
|
export {
|
|
62
58
|
intent_resolver_default as default
|
|
63
59
|
};
|
|
64
|
-
//# sourceMappingURL=intent-resolver-
|
|
60
|
+
//# sourceMappingURL=intent-resolver-EBEF7WEI.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/intent-resolver.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { next as A } from '@automerge/automerge';\nimport { Option, pipe, type Schema } from 'effect';\n\nimport {\n Capabilities,\n CollaborationActions,\n contributes,\n createResolver,\n type PluginContext,\n} from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { createDocAccessor, getRangeFromCursor } from '@dxos/react-client/echo';\n\nimport { MarkdownCapabilities } from './capabilities';\nimport { Markdown, MarkdownAction } from '../types';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: MarkdownAction.Create,\n resolve: ({ name, content }) => {\n return { data: { object: Markdown.makeDocument({ name, content }) } };\n },\n }),\n createResolver({\n intent: MarkdownAction.SetViewMode,\n resolve: ({ id, viewMode }) => {\n const { state } = context.getCapability(MarkdownCapabilities.State);\n state.viewMode[id] = viewMode;\n },\n }),\n createResolver({\n intent: CollaborationActions.InsertContent,\n filter: (\n data,\n ): data is Omit<Schema.Schema.Type<typeof CollaborationActions.InsertContent.fields.input>, 'target'> & {\n target: Markdown.Document;\n } => Obj.instanceOf(Markdown.Document, data.target),\n resolve: async ({ target, object: objectRef, at, label }) => {\n const text = await target.content.load();\n const accessor = createDocAccessor(text, ['content']);\n const { start, end } = pipe(\n Option.fromNullable(at),\n Option.flatMap((at) => Option.fromNullable(getRangeFromCursor(accessor, at))),\n Option.getOrElse(() => ({ start: text.content.length - 1, end: text.content.length - 1 })),\n );\n accessor.handle.change((doc) => {\n const ref = `[${label ?? 'Generated content'}]](${objectRef.dxn.toString()})\\n`;\n A.splice(doc, accessor.path.slice(), start, end - start, ref);\n });\n },\n }),\n ]);\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;AAIA,SAASA,QAAQC,SAAS;AAC1B,SAASC,QAAQC,YAAyB;AAE1C,SACEC,cACAC,sBACAC,aACAC,sBAEK;AACP,SAASC,WAAW;AACpB,SAASC,mBAAmBC,0BAA0B;AAKtD,IAAA,0BAAe,CAACC,YACdC,YAAYC,aAAaC,gBAAgB;EACvCC,eAAe;IACbC,QAAQC,uBAAeC;IACvBC,SAAS,CAAC,EAAEC,MAAMC,QAAO,MAAE;AACzB,aAAO;QAAEC,MAAM;UAAEC,QAAQC,iBAASC,aAAa;YAAEL;YAAMC;UAAQ,CAAA;QAAG;MAAE;IACtE;EACF,CAAA;EACAN,eAAe;IACbC,QAAQC,uBAAeS;IACvBP,SAAS,CAAC,EAAEQ,IAAIC,SAAQ,MAAE;AACxB,YAAM,EAAEC,MAAK,IAAKlB,QAAQmB,cAAcC,qBAAqBC,KAAK;AAClEH,YAAMD,SAASD,EAAAA,IAAMC;IACvB;EACF,CAAA;EACAb,eAAe;IACbC,QAAQiB,qBAAqBC;IAC7BC,QAAQ,CACNb,SAGGc,IAAIC,WAAWb,iBAASc,UAAUhB,KAAKiB,MAAM;IAClDpB,SAAS,OAAO,EAAEoB,QAAQhB,QAAQiB,WAAWC,IAAIC,MAAK,MAAE;AACtD,YAAMC,OAAO,MAAMJ,OAAOlB,QAAQuB,KAAI;AACtC,YAAMC,WAAWC,kBAAkBH,MAAM;QAAC;OAAU;AACpD,YAAM,EAAEI,OAAOC,IAAG,IAAKC,KACrBC,OAAOC,aAAaV,EAAAA,GACpBS,OAAOE,QAAQ,CAACX,QAAOS,OAAOC,aAAaE,mBAAmBR,UAAUJ,GAAAA,CAAAA,CAAAA,GACxES,OAAOI,UAAU,OAAO;QAAEP,OAAOJ,KAAKtB,QAAQkC,SAAS;QAAGP,KAAKL,KAAKtB,QAAQkC,SAAS;MAAE,EAAA,CAAA;AAEzFV,eAASW,OAAOC,OAAO,CAACC,QAAAA;AACtB,cAAMC,MAAM,IAAIjB,SAAS,mBAAA,MAAyBF,UAAUoB,IAAIC,SAAQ,CAAA;;AACxEC,UAAEC,OAAOL,KAAKb,SAASmB,KAAKC,MAAK,GAAIlB,OAAOC,MAAMD,OAAOY,GAAAA;MAC3D,CAAA;IACF;EACF,CAAA;CACD;",
|
|
6
|
+
"names": ["next", "A", "Option", "pipe", "Capabilities", "CollaborationActions", "contributes", "createResolver", "Obj", "createDocAccessor", "getRangeFromCursor", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "MarkdownAction", "Create", "resolve", "name", "content", "data", "object", "Markdown", "makeDocument", "SetViewMode", "id", "viewMode", "state", "getCapability", "MarkdownCapabilities", "State", "CollaborationActions", "InsertContent", "filter", "Obj", "instanceOf", "Document", "target", "objectRef", "at", "label", "text", "load", "accessor", "createDocAccessor", "start", "end", "pipe", "Option", "fromNullable", "flatMap", "getRangeFromCursor", "getOrElse", "length", "handle", "change", "doc", "ref", "dxn", "toString", "A", "splice", "path", "slice"]
|
|
7
|
+
}
|