@dxos/plugin-markdown 0.8.2-main.f081794 → 0.8.2-main.fbd8ed0
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-MH6MMKA5.mjs → MarkdownContainer-KKWICAKV.mjs} +49 -63
- package/dist/lib/browser/MarkdownContainer-KKWICAKV.mjs.map +7 -0
- package/dist/lib/browser/MarkdownPreview-FVSYVJGN.mjs +81 -0
- package/dist/lib/browser/MarkdownPreview-FVSYVJGN.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-BF7WSE3D.mjs → app-graph-serializer-MPJQUYTQ.mjs} +5 -6
- package/dist/lib/browser/app-graph-serializer-MPJQUYTQ.mjs.map +7 -0
- package/dist/lib/browser/{artifact-definition-XTVOUMMI.mjs → artifact-definition-DAF3YCVL.mjs} +10 -9
- package/dist/lib/browser/artifact-definition-DAF3YCVL.mjs.map +7 -0
- package/dist/lib/browser/chunk-JJY5LKZS.mjs +20 -0
- package/dist/lib/browser/chunk-JJY5LKZS.mjs.map +7 -0
- package/dist/lib/browser/{chunk-V54HDI7B.mjs → chunk-S42YXFZ7.mjs} +9 -22
- package/dist/lib/browser/chunk-S42YXFZ7.mjs.map +7 -0
- package/dist/lib/browser/{chunk-2DKQKSBR.mjs → chunk-TUCSFCS5.mjs} +6 -5
- package/dist/lib/browser/chunk-TUCSFCS5.mjs.map +7 -0
- package/dist/lib/browser/chunk-XP2ZPCLI.mjs +87 -0
- package/dist/lib/browser/chunk-XP2ZPCLI.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +10 -6
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-H37L3DBD.mjs → intent-resolver-PVKVTAFF.mjs} +9 -14
- package/dist/lib/browser/intent-resolver-PVKVTAFF.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-RONTBOZZ.mjs → react-surface-EMQV3GVI.mjs} +18 -7
- package/dist/lib/browser/react-surface-EMQV3GVI.mjs.map +7 -0
- package/dist/lib/browser/{settings-EQSDBX6O.mjs → settings-GPB6WOIU.mjs} +2 -2
- package/dist/lib/browser/{state-AIN4J7N5.mjs → state-XTP5IP3W.mjs} +2 -2
- package/dist/lib/browser/state-XTP5IP3W.mjs.map +7 -0
- package/dist/lib/browser/{thread-MFKBUVCB.mjs → thread-KW43PJ53.mjs} +2 -2
- package/dist/lib/browser/types/index.mjs +1 -1
- package/dist/lib/node/{MarkdownContainer-PCHMSPTC.cjs → MarkdownContainer-LBI6ZESS.cjs} +53 -67
- package/dist/lib/node/MarkdownContainer-LBI6ZESS.cjs.map +7 -0
- package/dist/lib/node/MarkdownPreview-O3BR4PZW.cjs +104 -0
- package/dist/lib/node/MarkdownPreview-O3BR4PZW.cjs.map +7 -0
- package/dist/lib/node/{app-graph-serializer-UVT5EAWW.cjs → app-graph-serializer-Z7UJYSSL.cjs} +10 -11
- package/dist/lib/node/app-graph-serializer-Z7UJYSSL.cjs.map +7 -0
- package/dist/lib/node/{artifact-definition-ADEN2KD6.cjs → artifact-definition-UIZSL2AL.cjs} +15 -14
- package/dist/lib/node/artifact-definition-UIZSL2AL.cjs.map +7 -0
- package/dist/lib/node/{chunk-6ERKWMAU.cjs → chunk-4525YF72.cjs} +9 -8
- package/dist/lib/node/chunk-4525YF72.cjs.map +7 -0
- package/dist/lib/node/chunk-AJHB57YQ.cjs +58 -0
- package/dist/lib/node/chunk-AJHB57YQ.cjs.map +7 -0
- package/dist/lib/node/{chunk-5XQ27MNY.cjs → chunk-BWRBWEKN.cjs} +12 -39
- package/dist/lib/node/chunk-BWRBWEKN.cjs.map +7 -0
- package/dist/lib/node/{chunk-YHL4JSA6.cjs → chunk-EO5H4OZJ.cjs} +35 -32
- package/dist/lib/node/chunk-EO5H4OZJ.cjs.map +7 -0
- package/dist/lib/node/index.cjs +24 -21
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/{intent-resolver-NX5QNRYF.cjs → intent-resolver-ND7PSRJX.cjs} +14 -19
- package/dist/lib/node/intent-resolver-ND7PSRJX.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-surface-26PWFBBV.cjs → react-surface-REHX3ABQ.cjs} +21 -10
- package/dist/lib/node/react-surface-REHX3ABQ.cjs.map +7 -0
- package/dist/lib/node/{settings-2JXASSLU.cjs → settings-SF6JDJG6.cjs} +6 -6
- package/dist/lib/node/{state-PC7IVXFP.cjs → state-K4IPZTRO.cjs} +5 -5
- package/dist/lib/node/state-K4IPZTRO.cjs.map +7 -0
- package/dist/lib/node/{thread-MXEGV6HS.cjs → thread-NWBGBGOR.cjs} +6 -6
- package/dist/lib/node/types/index.cjs +7 -7
- package/dist/lib/node/types/index.cjs.map +1 -1
- package/dist/lib/node-esm/{MarkdownContainer-ERQH4SXI.mjs → MarkdownContainer-62XZY5EP.mjs} +49 -63
- package/dist/lib/node-esm/MarkdownContainer-62XZY5EP.mjs.map +7 -0
- package/dist/lib/node-esm/MarkdownPreview-KYWRMBRM.mjs +82 -0
- package/dist/lib/node-esm/MarkdownPreview-KYWRMBRM.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-LPRG2PFZ.mjs → app-graph-serializer-DDMFMNYI.mjs} +5 -6
- package/dist/lib/node-esm/app-graph-serializer-DDMFMNYI.mjs.map +7 -0
- package/dist/lib/node-esm/{artifact-definition-KTS5M2FW.mjs → artifact-definition-ER3446S7.mjs} +10 -9
- package/dist/lib/node-esm/artifact-definition-ER3446S7.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-66XM3JMR.mjs +88 -0
- package/dist/lib/node-esm/chunk-66XM3JMR.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-IZUCQ5P5.mjs → chunk-CXTVDT5U.mjs} +6 -5
- package/dist/lib/node-esm/chunk-CXTVDT5U.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-USLC246I.mjs → chunk-PDD5B7EO.mjs} +9 -22
- package/dist/lib/node-esm/chunk-PDD5B7EO.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-T5Z5BIOF.mjs +22 -0
- package/dist/lib/node-esm/chunk-T5Z5BIOF.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +10 -6
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-XES4ZCA6.mjs → intent-resolver-5BF5PLSN.mjs} +9 -14
- package/dist/lib/node-esm/intent-resolver-5BF5PLSN.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-ZEJSYIRX.mjs → react-surface-FA7JYF2A.mjs} +18 -7
- package/dist/lib/node-esm/react-surface-FA7JYF2A.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-67RVIH3N.mjs → settings-2DT2C4RA.mjs} +2 -2
- package/dist/lib/node-esm/{state-PNOPM4TS.mjs → state-7VFYPF6Z.mjs} +2 -2
- package/dist/lib/node-esm/state-7VFYPF6Z.mjs.map +7 -0
- package/dist/lib/node-esm/{thread-5U4KSBED.mjs → thread-D2E6W44K.mjs} +2 -2
- package/dist/lib/node-esm/types/index.mjs +1 -1
- package/dist/types/src/capabilities/app-graph-serializer.d.ts +2 -2
- package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
- package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +3 -3
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +2 -2
- 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 +2 -2
- package/dist/types/src/capabilities/state.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownContainer.d.ts +2 -2
- package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
- package/dist/types/src/components/{MarkdownEditor.d.ts → MarkdownEditor/MarkdownEditor.d.ts} +1 -16
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -0
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts.map +1 -0
- package/dist/types/src/components/MarkdownEditor/index.d.ts +2 -0
- package/dist/types/src/components/MarkdownEditor/index.d.ts.map +1 -0
- package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts +6 -0
- package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts.map +1 -0
- package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts +127 -0
- package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts.map +1 -0
- package/dist/types/src/components/MarkdownPreview/index.d.ts +4 -0
- package/dist/types/src/components/MarkdownPreview/index.d.ts.map +1 -0
- package/dist/types/src/components/{MarkdownSettings.d.ts → MarkdownSettings/MarkdownSettings.d.ts} +1 -1
- package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts.map +1 -0
- package/dist/types/src/components/MarkdownSettings/index.d.ts +2 -0
- package/dist/types/src/components/MarkdownSettings/index.d.ts.map +1 -0
- package/dist/types/src/components/Suggestions.stories.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +1 -0
- package/dist/types/src/components/index.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/hooks/useSelectCurrentThread.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +4 -42
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/schema.d.ts +323 -190
- package/dist/types/src/types/schema.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +139 -85
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +1 -0
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +40 -37
- package/src/MarkdownPlugin.tsx +2 -2
- package/src/capabilities/app-graph-serializer.ts +4 -5
- package/src/capabilities/artifact-definition.ts +6 -4
- package/src/capabilities/intent-resolver.ts +10 -10
- package/src/capabilities/react-surface.tsx +13 -5
- package/src/capabilities/state.ts +3 -3
- package/src/components/MarkdownContainer.tsx +3 -4
- package/src/components/{MarkdownEditor.stories.tsx → MarkdownEditor/MarkdownEditor.stories.tsx} +2 -2
- package/src/components/{MarkdownEditor.tsx → MarkdownEditor/MarkdownEditor.tsx} +25 -45
- package/src/components/MarkdownEditor/index.ts +5 -0
- package/src/components/MarkdownPreview/MarkdownPreview.stories.tsx +74 -0
- package/src/components/MarkdownPreview/MarkdownPreview.tsx +85 -0
- package/src/components/MarkdownPreview/index.ts +9 -0
- package/src/components/{MarkdownSettings.tsx → MarkdownSettings/MarkdownSettings.tsx} +2 -2
- package/src/components/MarkdownSettings/index.ts +5 -0
- package/src/components/Suggestions.stories.tsx +23 -14
- package/src/components/Toolbar.stories.tsx +14 -14
- package/src/components/index.ts +1 -0
- package/src/extensions.tsx +5 -5
- package/src/hooks/useSelectCurrentThread.tsx +2 -2
- package/src/translations.ts +3 -3
- package/src/types/schema.ts +20 -12
- package/src/types/types.ts +23 -21
- package/src/util.tsx +7 -3
- package/dist/lib/browser/MarkdownContainer-MH6MMKA5.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-BF7WSE3D.mjs.map +0 -7
- package/dist/lib/browser/artifact-definition-XTVOUMMI.mjs.map +0 -7
- package/dist/lib/browser/chunk-2DKQKSBR.mjs.map +0 -7
- package/dist/lib/browser/chunk-GVOEHF7E.mjs +0 -84
- package/dist/lib/browser/chunk-GVOEHF7E.mjs.map +0 -7
- package/dist/lib/browser/chunk-V54HDI7B.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-H37L3DBD.mjs.map +0 -7
- package/dist/lib/browser/react-surface-RONTBOZZ.mjs.map +0 -7
- package/dist/lib/browser/state-AIN4J7N5.mjs.map +0 -7
- package/dist/lib/node/MarkdownContainer-PCHMSPTC.cjs.map +0 -7
- package/dist/lib/node/app-graph-serializer-UVT5EAWW.cjs.map +0 -7
- package/dist/lib/node/artifact-definition-ADEN2KD6.cjs.map +0 -7
- package/dist/lib/node/chunk-5XQ27MNY.cjs.map +0 -7
- package/dist/lib/node/chunk-6ERKWMAU.cjs.map +0 -7
- package/dist/lib/node/chunk-YHL4JSA6.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-NX5QNRYF.cjs.map +0 -7
- package/dist/lib/node/react-surface-26PWFBBV.cjs.map +0 -7
- package/dist/lib/node/state-PC7IVXFP.cjs.map +0 -7
- package/dist/lib/node-esm/MarkdownContainer-ERQH4SXI.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-LPRG2PFZ.mjs.map +0 -7
- package/dist/lib/node-esm/artifact-definition-KTS5M2FW.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-IZUCQ5P5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-NUZHKZSZ.mjs +0 -85
- package/dist/lib/node-esm/chunk-NUZHKZSZ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-USLC246I.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-XES4ZCA6.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-ZEJSYIRX.mjs.map +0 -7
- package/dist/lib/node-esm/state-PNOPM4TS.mjs.map +0 -7
- package/dist/types/src/components/MarkdownEditor.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownEditor.stories.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownSettings.d.ts.map +0 -1
- /package/dist/lib/browser/{settings-EQSDBX6O.mjs.map → settings-GPB6WOIU.mjs.map} +0 -0
- /package/dist/lib/browser/{thread-MFKBUVCB.mjs.map → thread-KW43PJ53.mjs.map} +0 -0
- /package/dist/lib/node/{settings-2JXASSLU.cjs.map → settings-SF6JDJG6.cjs.map} +0 -0
- /package/dist/lib/node/{thread-MXEGV6HS.cjs.map → thread-NWBGBGOR.cjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-67RVIH3N.mjs.map → settings-2DT2C4RA.mjs.map} +0 -0
- /package/dist/lib/node-esm/{thread-5U4KSBED.mjs.map → thread-D2E6W44K.mjs.map} +0 -0
- /package/dist/types/src/components/{MarkdownEditor.stories.d.ts → MarkdownEditor/MarkdownEditor.stories.d.ts} +0 -0
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DocumentType
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-XP2ZPCLI.mjs";
|
|
4
4
|
|
|
5
5
|
// packages/plugins/plugin-markdown/src/util.tsx
|
|
6
6
|
import { debounce } from "@dxos/async";
|
|
7
7
|
import { live, createObject, isEchoObject, loadObjectReferences, makeRef } from "@dxos/react-client/echo";
|
|
8
|
-
import {
|
|
8
|
+
import { DataType } from "@dxos/schema";
|
|
9
9
|
var isMarkdownProperties = (data) => isEchoObject(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) => {
|
|
12
12
|
return content.substring(0, 31).split("\n")[0].replaceAll(nonTitleChars, "").trim();
|
|
13
13
|
};
|
|
14
|
+
var getAbstract = (content) => {
|
|
15
|
+
return content.substring(0, 128).split("\n")[0].replaceAll(nonTitleChars, "").trim();
|
|
16
|
+
};
|
|
14
17
|
var setFallbackName = debounce((doc, content) => {
|
|
15
18
|
const name = getFallbackName(content);
|
|
16
19
|
if (doc.fallbackName !== name) {
|
|
@@ -31,7 +34,7 @@ var serializer = {
|
|
|
31
34
|
return createObject(live(DocumentType, {
|
|
32
35
|
name,
|
|
33
36
|
fallbackName,
|
|
34
|
-
content: makeRef(live(
|
|
37
|
+
content: makeRef(live(DataType.Text, {
|
|
35
38
|
content
|
|
36
39
|
})),
|
|
37
40
|
threads: []
|
|
@@ -39,27 +42,11 @@ var serializer = {
|
|
|
39
42
|
}
|
|
40
43
|
};
|
|
41
44
|
|
|
42
|
-
// packages/plugins/plugin-markdown/src/capabilities/index.ts
|
|
43
|
-
import { lazy } from "@dxos/app-framework";
|
|
44
|
-
var AppGraphSerializer = lazy(() => import("./app-graph-serializer-BF7WSE3D.mjs"));
|
|
45
|
-
var ArtifactDefinition = lazy(() => import("./artifact-definition-XTVOUMMI.mjs"));
|
|
46
|
-
var IntentResolver = lazy(() => import("./intent-resolver-H37L3DBD.mjs"));
|
|
47
|
-
var ReactSurface = lazy(() => import("./react-surface-RONTBOZZ.mjs"));
|
|
48
|
-
var MarkdownSettings = lazy(() => import("./settings-EQSDBX6O.mjs"));
|
|
49
|
-
var MarkdownState = lazy(() => import("./state-AIN4J7N5.mjs"));
|
|
50
|
-
var Thread = lazy(() => import("./thread-MFKBUVCB.mjs"));
|
|
51
|
-
|
|
52
45
|
export {
|
|
53
46
|
isMarkdownProperties,
|
|
54
47
|
getFallbackName,
|
|
48
|
+
getAbstract,
|
|
55
49
|
setFallbackName,
|
|
56
|
-
serializer
|
|
57
|
-
AppGraphSerializer,
|
|
58
|
-
ArtifactDefinition,
|
|
59
|
-
IntentResolver,
|
|
60
|
-
ReactSurface,
|
|
61
|
-
MarkdownSettings,
|
|
62
|
-
MarkdownState,
|
|
63
|
-
Thread
|
|
50
|
+
serializer
|
|
64
51
|
};
|
|
65
|
-
//# sourceMappingURL=chunk-
|
|
52
|
+
//# sourceMappingURL=chunk-S42YXFZ7.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 { type TypedObjectSerializer } from '@dxos/plugin-space/types';\nimport { live, createObject, isEchoObject, loadObjectReferences, makeRef } from '@dxos/react-client/echo';\nimport { DataType } from '@dxos/schema';\n\nimport { DocumentType, type MarkdownProperties } from './types';\n\nexport const isMarkdownProperties = (data: unknown): data is MarkdownProperties =>\n (isEchoObject(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: DocumentType, content: string) => {\n const name = getFallbackName(content);\n if (doc.fallbackName !== name) {\n doc.fallbackName = name;\n }\n}, 200);\n\nexport const serializer: TypedObjectSerializer<DocumentType> = {\n serialize: async ({ object }): Promise<string> => {\n const content = await loadObjectReferences(object, (doc) => doc.content);\n return JSON.stringify({ name: object.name, fallbackName: object.fallbackName, content: content.target?.content });\n },\n\n deserialize: async ({ content: serialized }) => {\n const { name, fallbackName, content } = JSON.parse(serialized);\n return createObject(\n live(DocumentType, { name, fallbackName, content: makeRef(live(DataType.Text, { content })), threads: [] }),\n );\n },\n};\n"],
|
|
5
|
+
"mappings": ";;;;;AAIA,SAASA,gBAAgB;AAEzB,SAASC,MAAMC,cAAcC,cAAcC,sBAAsBC,eAAe;AAChF,SAASC,gBAAgB;AAIlB,IAAMC,uBAAuB,CAACC,SAClCC,aAAaD,IAAAA,IACV,OACAA,QAAQ,OAAOA,SAAS,WACtB,WAAWA,QAAQ,OAAOA,KAAKE,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,KAAmBR,YAAAA;AAC1D,QAAMS,OAAOV,gBAAgBC,OAAAA;AAC7B,MAAIQ,IAAIE,iBAAiBD,MAAM;AAC7BD,QAAIE,eAAeD;EACrB;AACF,GAAG,GAAA;AAEI,IAAME,aAAkD;EAC7DC,WAAW,OAAO,EAAEC,OAAM,MAAE;AAC1B,UAAMb,UAAU,MAAMc,qBAAqBD,QAAQ,CAACL,QAAQA,IAAIR,OAAO;AACvE,WAAOe,KAAKC,UAAU;MAAEP,MAAMI,OAAOJ;MAAMC,cAAcG,OAAOH;MAAcV,SAASA,QAAQiB,QAAQjB;IAAQ,CAAA;EACjH;EAEAkB,aAAa,OAAO,EAAElB,SAASmB,WAAU,MAAE;AACzC,UAAM,EAAEV,MAAMC,cAAcV,QAAO,IAAKe,KAAKK,MAAMD,UAAAA;AACnD,WAAOE,aACLC,KAAKC,cAAc;MAAEd;MAAMC;MAAcV,SAASwB,QAAQF,KAAKG,SAASC,MAAM;QAAE1B;MAAQ,CAAA,CAAA;MAAK2B,SAAS,CAAA;IAAG,CAAA,CAAA;EAE7G;AACF;",
|
|
6
|
+
"names": ["debounce", "live", "createObject", "isEchoObject", "loadObjectReferences", "makeRef", "DataType", "isMarkdownProperties", "data", "isEchoObject", "title", "nonTitleChars", "getFallbackName", "content", "substring", "split", "replaceAll", "trim", "getAbstract", "setFallbackName", "debounce", "doc", "name", "fallbackName", "serializer", "serialize", "object", "loadObjectReferences", "JSON", "stringify", "target", "deserialize", "serialized", "parse", "createObject", "live", "DocumentType", "makeRef", "DataType", "Text", "threads"]
|
|
7
|
+
}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DocumentType
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-XP2ZPCLI.mjs";
|
|
4
4
|
import {
|
|
5
5
|
MARKDOWN_PLUGIN
|
|
6
6
|
} from "./chunk-JX6XNEHE.mjs";
|
|
7
7
|
|
|
8
8
|
// packages/plugins/plugin-markdown/src/translations.ts
|
|
9
|
-
import { getSchemaTypename } from "@dxos/echo-schema";
|
|
10
9
|
var translations_default = [
|
|
11
10
|
{
|
|
12
11
|
"en-US": {
|
|
13
|
-
[
|
|
12
|
+
[DocumentType.typename]: {
|
|
14
13
|
"typename label": "Document",
|
|
15
14
|
"object name placeholder": "New document"
|
|
16
15
|
},
|
|
@@ -34,7 +33,9 @@ var translations_default = [
|
|
|
34
33
|
"settings debug placeholder": "Typewriter script...",
|
|
35
34
|
"toggle view mode label": "Toggle read-only",
|
|
36
35
|
"default view mode label": "Default view mode",
|
|
37
|
-
"upload image label": "Upload image"
|
|
36
|
+
"upload image label": "Upload image",
|
|
37
|
+
"fallback title": "Untitled",
|
|
38
|
+
"navigate to document label": "Open document"
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
41
|
}
|
|
@@ -43,4 +44,4 @@ var translations_default = [
|
|
|
43
44
|
export {
|
|
44
45
|
translations_default
|
|
45
46
|
};
|
|
46
|
-
//# sourceMappingURL=chunk-
|
|
47
|
+
//# sourceMappingURL=chunk-TUCSFCS5.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 { MARKDOWN_PLUGIN } from './meta';\nimport { DocumentType } from './types';\n\nexport default [\n {\n 'en-US': {\n [DocumentType.typename]: {\n 'typename label': 'Document',\n 'object name placeholder': 'New document',\n },\n [MARKDOWN_PLUGIN]: {\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];\n"],
|
|
5
|
+
"mappings": ";;;;;;;;AAOA,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACA,aAAaC,QAAQ,GAAG;QACvB,kBAAkB;QAClB,2BAA2B;MAC7B;MACA,CAACC,eAAAA,GAAkB;QACjB,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": ["DocumentType", "typename", "MARKDOWN_PLUGIN"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MARKDOWN_PLUGIN
|
|
3
|
+
} from "./chunk-JX6XNEHE.mjs";
|
|
4
|
+
|
|
5
|
+
// packages/plugins/plugin-markdown/src/types/schema.ts
|
|
6
|
+
import { Schema } from "effect";
|
|
7
|
+
import { Type } from "@dxos/echo";
|
|
8
|
+
import { Expando, LabelAnnotationId, Ref } from "@dxos/echo-schema";
|
|
9
|
+
import { makeRef, live } from "@dxos/live-object";
|
|
10
|
+
import { ThreadType } from "@dxos/plugin-space/types";
|
|
11
|
+
import { DataType } from "@dxos/schema";
|
|
12
|
+
var DocumentSchema = Schema.Struct({
|
|
13
|
+
name: Schema.optional(Schema.String),
|
|
14
|
+
fallbackName: Schema.optional(Schema.String),
|
|
15
|
+
content: Ref(DataType.Text),
|
|
16
|
+
threads: Schema.mutable(Schema.Array(Ref(ThreadType))),
|
|
17
|
+
assistantChatQueue: Schema.optional(Ref(Expando))
|
|
18
|
+
}).annotations({
|
|
19
|
+
// TODO(dmaretskyi): `Schema.Struct(...).pipe(defaultLabel(['name', 'fallbackName']))` for type-safe annotations.
|
|
20
|
+
[LabelAnnotationId]: [
|
|
21
|
+
"name",
|
|
22
|
+
"fallbackName"
|
|
23
|
+
]
|
|
24
|
+
});
|
|
25
|
+
var DocumentType = DocumentSchema.pipe(Type.def({
|
|
26
|
+
typename: "dxos.org/type/Document",
|
|
27
|
+
version: "0.1.0"
|
|
28
|
+
}));
|
|
29
|
+
var createDocument = ({ name, content }) => live(DocumentType, {
|
|
30
|
+
name,
|
|
31
|
+
content: makeRef(live(DataType.Text, {
|
|
32
|
+
content
|
|
33
|
+
})),
|
|
34
|
+
threads: []
|
|
35
|
+
});
|
|
36
|
+
var isEditorModel = (data) => data && typeof data === "object" && "id" in data && typeof data.id === "string" && "text" in data && typeof data.text === "string";
|
|
37
|
+
|
|
38
|
+
// packages/plugins/plugin-markdown/src/types/types.ts
|
|
39
|
+
import { Schema as Schema2 } from "effect";
|
|
40
|
+
import { Type as Type2 } from "@dxos/echo";
|
|
41
|
+
import { EditorInputMode, EditorViewMode } from "@dxos/react-ui-editor";
|
|
42
|
+
var MARKDOWN_ACTION = `${MARKDOWN_PLUGIN}/action`;
|
|
43
|
+
var MarkdownAction;
|
|
44
|
+
(function(MarkdownAction2) {
|
|
45
|
+
class Create extends Schema2.TaggedClass()(MARKDOWN_ACTION, {
|
|
46
|
+
input: Schema2.Struct({
|
|
47
|
+
spaceId: Type2.SpaceId,
|
|
48
|
+
name: Schema2.optional(Schema2.String),
|
|
49
|
+
content: Schema2.optional(Schema2.String)
|
|
50
|
+
}),
|
|
51
|
+
output: Schema2.Struct({
|
|
52
|
+
object: DocumentType
|
|
53
|
+
})
|
|
54
|
+
}) {
|
|
55
|
+
}
|
|
56
|
+
MarkdownAction2.Create = Create;
|
|
57
|
+
class SetViewMode extends Schema2.TaggedClass()(`${MARKDOWN_ACTION}/set-view-mode`, {
|
|
58
|
+
input: Schema2.Struct({
|
|
59
|
+
id: Schema2.String,
|
|
60
|
+
viewMode: EditorViewMode
|
|
61
|
+
}),
|
|
62
|
+
output: Schema2.Void
|
|
63
|
+
}) {
|
|
64
|
+
}
|
|
65
|
+
MarkdownAction2.SetViewMode = SetViewMode;
|
|
66
|
+
})(MarkdownAction || (MarkdownAction = {}));
|
|
67
|
+
var MarkdownSettingsSchema = Schema2.mutable(Schema2.Struct({
|
|
68
|
+
defaultViewMode: EditorViewMode,
|
|
69
|
+
editorInputMode: Schema2.optional(EditorInputMode),
|
|
70
|
+
experimental: Schema2.optional(Schema2.Boolean),
|
|
71
|
+
debug: Schema2.optional(Schema2.Boolean),
|
|
72
|
+
toolbar: Schema2.optional(Schema2.Boolean),
|
|
73
|
+
typewriter: Schema2.optional(Schema2.String),
|
|
74
|
+
// TODO(burdon): Per document settings.
|
|
75
|
+
numberedHeadings: Schema2.optional(Schema2.Boolean),
|
|
76
|
+
folding: Schema2.optional(Schema2.Boolean)
|
|
77
|
+
}));
|
|
78
|
+
|
|
79
|
+
export {
|
|
80
|
+
DocumentSchema,
|
|
81
|
+
DocumentType,
|
|
82
|
+
createDocument,
|
|
83
|
+
isEditorModel,
|
|
84
|
+
MarkdownAction,
|
|
85
|
+
MarkdownSettingsSchema
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=chunk-XP2ZPCLI.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types/schema.ts", "../../../src/types/types.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Type } from '@dxos/echo';\nimport { Expando, LabelAnnotationId, Ref } from '@dxos/echo-schema';\nimport { makeRef, live } from '@dxos/live-object';\nimport { ThreadType } from '@dxos/plugin-space/types';\nimport { DataType } from '@dxos/schema';\n\nexport const DocumentSchema = Schema.Struct({\n name: Schema.optional(Schema.String),\n fallbackName: Schema.optional(Schema.String),\n content: Ref(DataType.Text),\n threads: Schema.mutable(Schema.Array(Ref(ThreadType))),\n assistantChatQueue: Schema.optional(Ref(Expando)),\n}).annotations({\n // TODO(dmaretskyi): `Schema.Struct(...).pipe(defaultLabel(['name', 'fallbackName']))` for type-safe annotations.\n [LabelAnnotationId]: ['name', 'fallbackName'],\n});\n\nexport const DocumentType = DocumentSchema.pipe(\n Type.def({\n typename: 'dxos.org/type/Document',\n version: '0.1.0',\n }),\n);\nexport type DocumentType = Schema.Schema.Type<typeof DocumentType>;\n\n// TODO(burdon): Replace when defaults are supported.\nexport const createDocument = ({ name, content }: { name: string; content: string }) =>\n live(DocumentType, { name, content: makeRef(live(DataType.Text, { content })), threads: [] });\n\n/**\n * Checks if an object conforms to the interface needed to render an editor.\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", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Type } from '@dxos/echo';\n// TODO(wittjosiah): This pulls in UI code into the types entrypoint.\nimport { type Extension, EditorInputMode, EditorViewMode } from '@dxos/react-ui-editor';\n\nimport { DocumentType } from './schema';\nimport { MARKDOWN_PLUGIN } from '../meta';\n\nconst MARKDOWN_ACTION = `${MARKDOWN_PLUGIN}/action`;\n\nexport namespace MarkdownAction {\n export class Create extends Schema.TaggedClass<Create>()(MARKDOWN_ACTION, {\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: DocumentType,\n }),\n }) {}\n\n export class SetViewMode extends Schema.TaggedClass<SetViewMode>()(`${MARKDOWN_ACTION}/set-view-mode`, {\n input: Schema.Struct({\n id: Schema.String,\n viewMode: EditorViewMode,\n }),\n output: Schema.Void,\n }) {}\n}\n\nexport type MarkdownProperties = Record<string, any>;\n\n// TODO(burdon): Async.\nexport type MarkdownExtensionProvider = (props: { document?: DocumentType }) => Extension | undefined;\n\nexport type OnChange = (text: string) => void;\n\nexport type MarkdownPluginState = {\n // Codemirror extensions provided by other plugins.\n extensionProviders?: MarkdownExtensionProvider[];\n\n // TODO(burdon): Extend view mode per document to include scroll position, etc.\n // View mode per document.\n viewMode: Record<string, EditorViewMode>;\n};\n\nexport const MarkdownSettingsSchema = 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 type MarkdownSettingsProps = Schema.Schema.Type<typeof MarkdownSettingsSchema>;\n"],
|
|
5
|
+
"mappings": ";;;;;AAIA,SAASA,cAAc;AAEvB,SAASC,YAAY;AACrB,SAASC,SAASC,mBAAmBC,WAAW;AAChD,SAASC,SAASC,YAAY;AAC9B,SAASC,kBAAkB;AAC3B,SAASC,gBAAgB;AAElB,IAAMC,iBAAiBC,OAAOC,OAAO;EAC1CC,MAAMF,OAAOG,SAASH,OAAOI,MAAM;EACnCC,cAAcL,OAAOG,SAASH,OAAOI,MAAM;EAC3CE,SAASC,IAAIC,SAASC,IAAI;EAC1BC,SAASV,OAAOW,QAAQX,OAAOY,MAAML,IAAIM,UAAAA,CAAAA,CAAAA;EACzCC,oBAAoBd,OAAOG,SAASI,IAAIQ,OAAAA,CAAAA;AAC1C,CAAA,EAAGC,YAAY;;EAEb,CAACC,iBAAAA,GAAoB;IAAC;IAAQ;;AAChC,CAAA;AAEO,IAAMC,eAAenB,eAAeoB,KACzCC,KAAKC,IAAI;EACPC,UAAU;EACVC,SAAS;AACX,CAAA,CAAA;AAKK,IAAMC,iBAAiB,CAAC,EAAEtB,MAAMI,QAAO,MAC5CmB,KAAKP,cAAc;EAAEhB;EAAMI,SAASoB,QAAQD,KAAKjB,SAASC,MAAM;IAAEH;EAAQ,CAAA,CAAA;EAAKI,SAAS,CAAA;AAAG,CAAA;AAMtF,IAAMiB,gBAAgB,CAACC,SAC5BA,QACA,OAAOA,SAAS,YAChB,QAAQA,QACR,OAAOA,KAAKC,OAAO,YACnB,UAAUD,QACV,OAAOA,KAAKE,SAAS;;;ACzCvB,SAASC,UAAAA,eAAc;AAEvB,SAASC,QAAAA,aAAY;AAErB,SAAyBC,iBAAiBC,sBAAsB;AAKhE,IAAMC,kBAAkB,GAAGC,eAAAA;;UAEVC,iBAAAA;EACR,MAAMC,eAAeC,QAAOC,YAAW,EAAWL,iBAAiB;IACxEM,OAAOF,QAAOG,OAAO;MACnBC,SAASC,MAAKC;MACdC,MAAMP,QAAOQ,SAASR,QAAOS,MAAM;MACnCC,SAASV,QAAOQ,SAASR,QAAOS,MAAM;IACxC,CAAA;IACAE,QAAQX,QAAOG,OAAO;MACpBS,QAAQC;IACV,CAAA;EACF,CAAA,EAAA;EAAI;kBATSd,SAAAA;EAWN,MAAMe,oBAAoBd,QAAOC,YAAW,EAAgB,GAAGL,eAAAA,kBAAiC;IACrGM,OAAOF,QAAOG,OAAO;MACnBY,IAAIf,QAAOS;MACXO,UAAUC;IACZ,CAAA;IACAN,QAAQX,QAAOkB;EACjB,CAAA,EAAA;EAAI;kBANSJ,cAAAA;AAOf,GAnBiBhB,mBAAAA,iBAAAA,CAAAA,EAAAA;AAqCV,IAAMqB,yBAAyBnB,QAAOoB,QAC3CpB,QAAOG,OAAO;EACZkB,iBAAiBJ;EACjBK,iBAAiBtB,QAAOQ,SAASe,eAAAA;EACjCC,cAAcxB,QAAOQ,SAASR,QAAOyB,OAAO;EAC5CC,OAAO1B,QAAOQ,SAASR,QAAOyB,OAAO;EACrCE,SAAS3B,QAAOQ,SAASR,QAAOyB,OAAO;EACvCG,YAAY5B,QAAOQ,SAASR,QAAOS,MAAM;;EAEzCoB,kBAAkB7B,QAAOQ,SAASR,QAAOyB,OAAO;EAChDK,SAAS9B,QAAOQ,SAASR,QAAOyB,OAAO;AACzC,CAAA,CAAA;",
|
|
6
|
+
"names": ["Schema", "Type", "Expando", "LabelAnnotationId", "Ref", "makeRef", "live", "ThreadType", "DataType", "DocumentSchema", "Schema", "Struct", "name", "optional", "String", "fallbackName", "content", "Ref", "DataType", "Text", "threads", "mutable", "Array", "ThreadType", "assistantChatQueue", "Expando", "annotations", "LabelAnnotationId", "DocumentType", "pipe", "Type", "def", "typename", "version", "createDocument", "live", "makeRef", "isEditorModel", "data", "id", "text", "Schema", "Type", "EditorInputMode", "EditorViewMode", "MARKDOWN_ACTION", "MARKDOWN_PLUGIN", "MarkdownAction", "Create", "Schema", "TaggedClass", "input", "Struct", "spaceId", "Type", "SpaceId", "name", "optional", "String", "content", "output", "object", "DocumentType", "SetViewMode", "id", "viewMode", "EditorViewMode", "Void", "MarkdownSettingsSchema", "mutable", "defaultViewMode", "editorInputMode", "EditorInputMode", "experimental", "Boolean", "debug", "toolbar", "typewriter", "numberedHeadings", "folding"]
|
|
7
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
translations_default
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-TUCSFCS5.mjs";
|
|
4
4
|
import {
|
|
5
5
|
AppGraphSerializer,
|
|
6
6
|
ArtifactDefinition,
|
|
@@ -8,19 +8,22 @@ import {
|
|
|
8
8
|
MarkdownSettings,
|
|
9
9
|
MarkdownState,
|
|
10
10
|
ReactSurface,
|
|
11
|
-
Thread
|
|
11
|
+
Thread
|
|
12
|
+
} from "./chunk-JJY5LKZS.mjs";
|
|
13
|
+
import {
|
|
14
|
+
getAbstract,
|
|
12
15
|
getFallbackName,
|
|
13
16
|
isMarkdownProperties,
|
|
14
17
|
serializer,
|
|
15
18
|
setFallbackName
|
|
16
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-S42YXFZ7.mjs";
|
|
17
20
|
import {
|
|
18
21
|
MarkdownCapabilities
|
|
19
22
|
} from "./chunk-NAGMSX77.mjs";
|
|
20
23
|
import {
|
|
21
24
|
DocumentType,
|
|
22
25
|
MarkdownAction
|
|
23
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-XP2ZPCLI.mjs";
|
|
24
27
|
import {
|
|
25
28
|
MARKDOWN_PLUGIN,
|
|
26
29
|
meta
|
|
@@ -41,7 +44,7 @@ import { ClientCapabilities, ClientEvents } from "@dxos/plugin-client";
|
|
|
41
44
|
import { SpaceCapabilities, ThreadEvents } from "@dxos/plugin-space";
|
|
42
45
|
import { defineObjectForm } from "@dxos/plugin-space/types";
|
|
43
46
|
import { translations as editorTranslations } from "@dxos/react-ui-editor";
|
|
44
|
-
import {
|
|
47
|
+
import { DataType } from "@dxos/schema";
|
|
45
48
|
var MarkdownPlugin = () => definePlugin(meta, [
|
|
46
49
|
defineModule({
|
|
47
50
|
id: `${meta.id}/module/translations`,
|
|
@@ -98,7 +101,7 @@ var MarkdownPlugin = () => definePlugin(meta, [
|
|
|
98
101
|
id: `${meta.id}/module/schema`,
|
|
99
102
|
activatesOn: ClientEvents.SetupSchema,
|
|
100
103
|
activate: () => contributes(ClientCapabilities.Schema, [
|
|
101
|
-
|
|
104
|
+
DataType.Text
|
|
102
105
|
])
|
|
103
106
|
}),
|
|
104
107
|
defineModule({
|
|
@@ -136,6 +139,7 @@ export {
|
|
|
136
139
|
MarkdownCapabilities,
|
|
137
140
|
MarkdownEvents,
|
|
138
141
|
MarkdownPlugin,
|
|
142
|
+
getAbstract,
|
|
139
143
|
getFallbackName,
|
|
140
144
|
isMarkdownProperties,
|
|
141
145
|
meta,
|
|
@@ -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 { MARKDOWN_PLUGIN } from './meta';\n\nexport namespace MarkdownEvents {\n export const SetupExtensions = Events.createStateEvent(`${MARKDOWN_PLUGIN}/setup-extensions`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, defineModule, definePlugin, Events } from '@dxos/app-framework';\nimport { isInstanceOf, type BaseObject } from '@dxos/echo-schema';\nimport { RefArray } from '@dxos/live-object';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { SpaceCapabilities, ThreadEvents } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\nimport { translations as editorTranslations } from '@dxos/react-ui-editor';\nimport {
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["Events", "MarkdownEvents", "SetupExtensions", "Events", "createStateEvent", "MARKDOWN_PLUGIN", "Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "isInstanceOf", "RefArray", "ClientCapabilities", "ClientEvents", "SpaceCapabilities", "ThreadEvents", "defineObjectForm", "translations", "editorTranslations", "
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Events } from '@dxos/app-framework';\n\nimport { MARKDOWN_PLUGIN } from './meta';\n\nexport namespace MarkdownEvents {\n export const SetupExtensions = Events.createStateEvent(`${MARKDOWN_PLUGIN}/setup-extensions`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, defineModule, definePlugin, Events } from '@dxos/app-framework';\nimport { isInstanceOf, type BaseObject } from '@dxos/echo-schema';\nimport { RefArray } from '@dxos/live-object';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { SpaceCapabilities, ThreadEvents } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\nimport { translations as editorTranslations } from '@dxos/react-ui-editor';\nimport { DataType } from '@dxos/schema';\n\nimport {\n AppGraphSerializer,\n ArtifactDefinition,\n IntentResolver,\n MarkdownState,\n MarkdownSettings,\n ReactSurface,\n Thread,\n} from './capabilities';\nimport { MarkdownEvents } from './events';\nimport { meta } from './meta';\nimport translations from './translations';\nimport { DocumentType, 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: DocumentType.typename,\n metadata: {\n label: (object: any) =>\n isInstanceOf(DocumentType, object) ? object.name || object.fallbackName : undefined,\n icon: 'ph--text-aa--regular',\n graphProps: {\n managesAutofocus: true,\n },\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (doc: DocumentType) =>\n await RefArray.loadAll<BaseObject>([doc.content, ...doc.threads]),\n serializer,\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: DocumentType,\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/thread`,\n activatesOn: ThreadEvents.SetupThread,\n activate: Thread,\n }),\n defineModule({\n id: `${meta.id}/module/artifact-definition`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: ArtifactDefinition,\n }),\n ]);\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAASA,cAAc;;UAINC,iBAAAA;kBACFC,kBAAkBC,OAAOC,iBAAiB,GAAGC,eAAAA,mBAAkC;AAC9F,GAFiBJ,mBAAAA,iBAAAA,CAAAA,EAAAA;;;ACJjB,SAASK,cAAcC,aAAaC,cAAcC,cAAcC,cAAcC,UAAAA,eAAc;AAC5F,SAASC,oBAAqC;AAC9C,SAASC,gBAAgB;AACzB,SAASC,oBAAoBC,oBAAoB;AACjD,SAASC,mBAAmBC,oBAAoB;AAChD,SAASC,wBAAwB;AACjC,SAASC,gBAAgBC,0BAA0B;AACnD,SAASC,gBAAgB;AAiBlB,IAAMC,iBAAiB,MAC5BC,aAAaC,MAAM;EACjBC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOC;IACpBC,UAAU,MAAMC,YAAYC,aAAaC,cAAc;SAAIC;SAAiBC;KAAmB;EACjG,CAAA;EACAV,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOQ;IACpBN,UAAUO;EACZ,CAAA;EACAZ,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;;;;IAIdC,aAAaC,QAAOQ;IACpBN,UAAUQ;EACZ,CAAA;EACAb,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOW;IACpBT,UAAU,MACRC,YAAYC,aAAaQ,UAAU;MACjCd,IAAIe,aAAaC;MACjBC,UAAU;QACRC,OAAO,CAACC,WACNC,aAAaL,cAAcI,MAAAA,IAAUA,OAAOE,QAAQF,OAAOG,eAAeC;QAC5EC,MAAM;QACNC,YAAY;UACVC,kBAAkB;QACpB;;QAEAC,gBAAgB,OAAOC,QACrB,MAAMC,SAASC,QAAoB;UAACF,IAAIG;aAAYH,IAAII;SAAQ;QAClEC;MACF;IACF,CAAA;EACJ,CAAA;EACAlC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaiC,aAAaC;IAC1B/B,UAAU,MACRC,YACE+B,kBAAkBC,YAClBC,iBAAiB;MACfC,cAAcxB;MACdyB,WAAW,CAACC,GAAG,EAAEC,MAAK,MAAOC,aAAaC,eAAeC,QAAQ;QAAEC,SAASJ,MAAM1C;MAAG,CAAA;IACvF,CAAA,CAAA;EAEN,CAAA;EACAD,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaiC,aAAaC;IAC1B/B,UAAU,MAAMC,YAAY0C,mBAAmBC,QAAQ;MAACC,SAASC;KAAK;EACxE,CAAA;EACAnD,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOiD;;IAEpBC,iBAAiB;MAACC,eAAeC;;IACjClD,UAAUmD;EACZ,CAAA;EACAxD,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOsD;IACpBpD,UAAUqD;EACZ,CAAA;EACA1D,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOwD;IACpBtD,UAAUuD;EACZ,CAAA;EACA5D,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAa2D,aAAaC;IAC1BzD,UAAU0D;EACZ,CAAA;EACA/D,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAO6D;IACpB3D,UAAU4D;EACZ,CAAA;CACD;",
|
|
6
|
+
"names": ["Events", "MarkdownEvents", "SetupExtensions", "Events", "createStateEvent", "MARKDOWN_PLUGIN", "Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "isInstanceOf", "RefArray", "ClientCapabilities", "ClientEvents", "SpaceCapabilities", "ThreadEvents", "defineObjectForm", "translations", "editorTranslations", "DataType", "MarkdownPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "editorTranslations", "SetupSettings", "MarkdownSettings", "MarkdownState", "SetupMetadata", "Metadata", "DocumentType", "typename", "metadata", "label", "object", "isInstanceOf", "name", "fallbackName", "undefined", "icon", "graphProps", "managesAutofocus", "loadReferences", "doc", "RefArray", "loadAll", "content", "threads", "serializer", "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", "ThreadEvents", "SetupThread", "Thread", "SetupArtifactDefinition", "ArtifactDefinition"]
|
|
7
7
|
}
|
|
@@ -4,20 +4,19 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
DocumentType,
|
|
6
6
|
MarkdownAction
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-XP2ZPCLI.mjs";
|
|
8
8
|
import "./chunk-JX6XNEHE.mjs";
|
|
9
9
|
|
|
10
10
|
// packages/plugins/plugin-markdown/src/capabilities/intent-resolver.ts
|
|
11
|
+
import { next as A } from "@automerge/automerge";
|
|
11
12
|
import { Capabilities, CollaborationActions, contributes, createResolver } from "@dxos/app-framework";
|
|
12
|
-
import {
|
|
13
|
-
import { isInstanceOf, ObjectId } from "@dxos/echo-schema";
|
|
14
|
-
import { DXN, QueueSubspaceTags } from "@dxos/keys";
|
|
13
|
+
import { createQueueDxn, isInstanceOf } from "@dxos/echo-schema";
|
|
15
14
|
import { makeRef, live, refFromDXN } from "@dxos/live-object";
|
|
16
15
|
import { log } from "@dxos/log";
|
|
17
16
|
import { ClientCapabilities } from "@dxos/plugin-client";
|
|
18
17
|
import { resolveRef } from "@dxos/react-client";
|
|
19
18
|
import { createDocAccessor } from "@dxos/react-client/echo";
|
|
20
|
-
import {
|
|
19
|
+
import { DataType } from "@dxos/schema";
|
|
21
20
|
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-markdown/src/capabilities/intent-resolver.ts";
|
|
22
21
|
var intent_resolver_default = (context) => contributes(Capabilities.IntentResolver, [
|
|
23
22
|
createResolver({
|
|
@@ -25,14 +24,10 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
25
24
|
resolve: ({ name, spaceId, content }) => {
|
|
26
25
|
const doc = live(DocumentType, {
|
|
27
26
|
name,
|
|
28
|
-
content: makeRef(live(
|
|
27
|
+
content: makeRef(live(DataType.Text, {
|
|
29
28
|
content: content ?? ""
|
|
30
29
|
})),
|
|
31
|
-
assistantChatQueue: refFromDXN(
|
|
32
|
-
QueueSubspaceTags.DATA,
|
|
33
|
-
spaceId,
|
|
34
|
-
ObjectId.random()
|
|
35
|
-
])),
|
|
30
|
+
assistantChatQueue: refFromDXN(createQueueDxn(spaceId)),
|
|
36
31
|
threads: []
|
|
37
32
|
});
|
|
38
33
|
return {
|
|
@@ -45,7 +40,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
45
40
|
createResolver({
|
|
46
41
|
intent: MarkdownAction.SetViewMode,
|
|
47
42
|
resolve: ({ id, viewMode }) => {
|
|
48
|
-
const { state } = context.
|
|
43
|
+
const { state } = context.getCapability(MarkdownCapabilities.State);
|
|
49
44
|
state.viewMode[id] = viewMode;
|
|
50
45
|
}
|
|
51
46
|
}),
|
|
@@ -53,7 +48,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
53
48
|
createResolver({
|
|
54
49
|
intent: CollaborationActions.InsertContent,
|
|
55
50
|
resolve: async ({ spaceId, target: targetRef, object: objectRef, label }) => {
|
|
56
|
-
const client = context.
|
|
51
|
+
const client = context.getCapability(ClientCapabilities.Client);
|
|
57
52
|
const space = client.spaces.get(spaceId);
|
|
58
53
|
const target = await resolveRef(client, targetRef.dxn, space);
|
|
59
54
|
if (target && isInstanceOf(DocumentType, target)) {
|
|
@@ -83,4 +78,4 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
83
78
|
export {
|
|
84
79
|
intent_resolver_default as default
|
|
85
80
|
};
|
|
86
|
-
//# sourceMappingURL=intent-resolver-
|
|
81
|
+
//# sourceMappingURL=intent-resolver-PVKVTAFF.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';\n\nimport {\n Capabilities,\n CollaborationActions,\n contributes,\n createResolver,\n type PluginContext,\n} from '@dxos/app-framework';\nimport { createQueueDxn, isInstanceOf } from '@dxos/echo-schema';\nimport { makeRef, live, refFromDXN } from '@dxos/live-object';\nimport { log } from '@dxos/log';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { resolveRef } from '@dxos/react-client';\nimport { createDocAccessor } from '@dxos/react-client/echo';\nimport { DataType } from '@dxos/schema';\n\nimport { MarkdownCapabilities } from './capabilities';\nimport { DocumentType, MarkdownAction } from '../types';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: MarkdownAction.Create,\n resolve: ({ name, spaceId, content }) => {\n const doc = live(DocumentType, {\n name,\n content: makeRef(live(DataType.Text, { content: content ?? '' })),\n assistantChatQueue: refFromDXN(createQueueDxn(spaceId)),\n threads: [],\n });\n\n return { data: { object: doc } };\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 // TODO(burdon): What is the error boundary for intents? Are errors reported back to caller?\n createResolver({\n intent: CollaborationActions.InsertContent,\n resolve: async ({ spaceId, target: targetRef, object: objectRef, label }) => {\n const client = context.getCapability(ClientCapabilities.Client);\n const space = client.spaces.get(spaceId);\n const target = await resolveRef(client, targetRef.dxn, space);\n if (target && isInstanceOf(DocumentType, target)) {\n const accessor = createDocAccessor(target, ['content']);\n // TODO(burdon): Should be a cursor that references a selected position.\n const index = 0;\n accessor.handle.change((doc) => {\n // TODO(burdon): Throws error:\n // intent-dispatcher.ts:270 Cannot read properties of undefined (reading 'annotations') (FiberFailure) TypeError: Cannot read properties of undefined (reading 'annotations')\n const ref = `[${label ?? 'Generated content'}]](${objectRef.dxn.toString()})\\n`;\n A.splice(doc, accessor.path.slice(), index, 0, ref);\n });\n } else {\n log.warn('target is not a document', { targetRef, objectRef });\n }\n },\n }),\n ]);\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;AAIA,SAASA,QAAQC,SAAS;AAE1B,SACEC,cACAC,sBACAC,aACAC,sBAEK;AACP,SAASC,gBAAgBC,oBAAoB;AAC7C,SAASC,SAASC,MAAMC,kBAAkB;AAC1C,SAASC,WAAW;AACpB,SAASC,0BAA0B;AACnC,SAASC,kBAAkB;AAC3B,SAASC,yBAAyB;AAClC,SAASC,gBAAgB;;AAKzB,IAAA,0BAAe,CAACC,YACdC,YAAYC,aAAaC,gBAAgB;EACvCC,eAAe;IACbC,QAAQC,eAAeC;IACvBC,SAAS,CAAC,EAAEC,MAAMC,SAASC,QAAO,MAAE;AAClC,YAAMC,MAAMC,KAAKC,cAAc;QAC7BL;QACAE,SAASI,QAAQF,KAAKG,SAASC,MAAM;UAAEN,SAASA,WAAW;QAAG,CAAA,CAAA;QAC9DO,oBAAoBC,WAAWC,eAAeV,OAAAA,CAAAA;QAC9CW,SAAS,CAAA;MACX,CAAA;AAEA,aAAO;QAAEC,MAAM;UAAEC,QAAQX;QAAI;MAAE;IACjC;EACF,CAAA;EACAR,eAAe;IACbC,QAAQC,eAAekB;IACvBhB,SAAS,CAAC,EAAEiB,IAAIC,SAAQ,MAAE;AACxB,YAAM,EAAEC,MAAK,IAAK3B,QAAQ4B,cAAcC,qBAAqBC,KAAK;AAClEH,YAAMD,SAASD,EAAAA,IAAMC;IACvB;EACF,CAAA;;EAEAtB,eAAe;IACbC,QAAQ0B,qBAAqBC;IAC7BxB,SAAS,OAAO,EAAEE,SAASuB,QAAQC,WAAWX,QAAQY,WAAWC,MAAK,MAAE;AACtE,YAAMC,SAASrC,QAAQ4B,cAAcU,mBAAmBC,MAAM;AAC9D,YAAMC,QAAQH,OAAOI,OAAOC,IAAIhC,OAAAA;AAChC,YAAMuB,SAAS,MAAMU,WAAWN,QAAQH,UAAUU,KAAKJ,KAAAA;AACvD,UAAIP,UAAUY,aAAa/B,cAAcmB,MAAAA,GAAS;AAChD,cAAMa,WAAWC,kBAAkBd,QAAQ;UAAC;SAAU;AAEtD,cAAMe,QAAQ;AACdF,iBAASG,OAAOC,OAAO,CAACtC,QAAAA;AAGtB,gBAAMuC,MAAM,IAAIf,SAAS,mBAAA,MAAyBD,UAAUS,IAAIQ,SAAQ,CAAA;;AACxEC,YAAEC,OAAO1C,KAAKkC,SAASS,KAAKC,MAAK,GAAIR,OAAO,GAAGG,GAAAA;QACjD,CAAA;MACF,OAAO;AACLM,YAAIC,KAAK,4BAA4B;UAAExB;UAAWC;QAAU,GAAA;;;;;;MAC9D;IACF;EACF,CAAA;CACD;",
|
|
6
|
+
"names": ["next", "A", "Capabilities", "CollaborationActions", "contributes", "createResolver", "createQueueDxn", "isInstanceOf", "makeRef", "live", "refFromDXN", "log", "ClientCapabilities", "resolveRef", "createDocAccessor", "DataType", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "MarkdownAction", "Create", "resolve", "name", "spaceId", "content", "doc", "live", "DocumentType", "makeRef", "DataType", "Text", "assistantChatQueue", "refFromDXN", "createQueueDxn", "threads", "data", "object", "SetViewMode", "id", "viewMode", "state", "getCapability", "MarkdownCapabilities", "State", "CollaborationActions", "InsertContent", "target", "targetRef", "objectRef", "label", "client", "ClientCapabilities", "Client", "space", "spaces", "get", "resolveRef", "dxn", "isInstanceOf", "accessor", "createDocAccessor", "index", "handle", "change", "ref", "toString", "A", "splice", "path", "slice", "log", "warn"]
|
|
7
|
+
}
|