@dxos/plugin-markdown 0.8.1 → 0.8.2-main.2f9c567
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-T3HU27RE.mjs → MarkdownContainer-JKHGKEWX.mjs} +20 -16
- package/dist/lib/browser/MarkdownContainer-JKHGKEWX.mjs.map +7 -0
- package/dist/lib/browser/MarkdownPreview-AXRXM2VS.mjs +81 -0
- package/dist/lib/browser/MarkdownPreview-AXRXM2VS.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-NOXI4IQ5.mjs → app-graph-serializer-6SMW5SL3.mjs} +3 -3
- package/dist/lib/browser/{artifact-definition-CE6J6NY4.mjs → artifact-definition-BEV7S3Q2.mjs} +9 -8
- package/dist/lib/browser/artifact-definition-BEV7S3Q2.mjs.map +7 -0
- package/dist/lib/browser/chunk-6D6EOKIT.mjs +20 -0
- package/dist/lib/browser/chunk-6D6EOKIT.mjs.map +7 -0
- package/dist/lib/browser/chunk-FJ5P5CGA.mjs +86 -0
- package/dist/lib/browser/chunk-FJ5P5CGA.mjs.map +7 -0
- package/dist/lib/browser/{chunk-3ULJ4FIJ.mjs → chunk-H2ACKZFL.mjs} +11 -24
- package/dist/lib/browser/chunk-H2ACKZFL.mjs.map +7 -0
- package/dist/lib/browser/{chunk-QXDKFACU.mjs → chunk-JD72ICHV.mjs} +5 -3
- package/dist/lib/browser/{chunk-QXDKFACU.mjs.map → chunk-JD72ICHV.mjs.map} +2 -2
- package/dist/lib/browser/index.mjs +10 -6
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/intent-resolver-K7GY2J5W.mjs +86 -0
- package/dist/lib/browser/intent-resolver-K7GY2J5W.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-RQX3CPFV.mjs → react-surface-G5QRPPGT.mjs} +16 -6
- package/dist/lib/browser/react-surface-G5QRPPGT.mjs.map +7 -0
- package/dist/lib/browser/{settings-GCSS3Y4Z.mjs → settings-QBFZJW2H.mjs} +4 -4
- package/dist/lib/browser/settings-QBFZJW2H.mjs.map +7 -0
- package/dist/lib/browser/{state-O7P5JDIH.mjs → state-AIN4J7N5.mjs} +1 -1
- package/dist/lib/browser/{state-O7P5JDIH.mjs.map → state-AIN4J7N5.mjs.map} +2 -2
- package/dist/lib/browser/{thread-3QGCFNVZ.mjs → thread-VUUBSXA5.mjs} +2 -2
- package/dist/lib/browser/types/index.mjs +3 -1
- package/dist/lib/node/{MarkdownContainer-6ZJIFAP6.cjs → MarkdownContainer-KLCUCM5O.cjs} +22 -18
- package/dist/lib/node/MarkdownContainer-KLCUCM5O.cjs.map +7 -0
- package/dist/lib/node/MarkdownPreview-YEFCEKYA.cjs +104 -0
- package/dist/lib/node/MarkdownPreview-YEFCEKYA.cjs.map +7 -0
- package/dist/lib/node/{app-graph-serializer-HKK3SEDN.cjs → app-graph-serializer-4VZJUDTL.cjs} +9 -9
- package/dist/lib/node/{artifact-definition-XGADFWCQ.cjs → artifact-definition-HNSTQ7SX.cjs} +15 -14
- package/dist/lib/node/artifact-definition-HNSTQ7SX.cjs.map +7 -0
- package/dist/lib/node/{chunk-UEXGNGSS.cjs → chunk-2HGBN655.cjs} +43 -31
- package/dist/lib/node/chunk-2HGBN655.cjs.map +7 -0
- package/dist/lib/node/{chunk-7QVONRSI.cjs → chunk-6KAGLDQY.cjs} +13 -57
- package/dist/lib/node/chunk-6KAGLDQY.cjs.map +7 -0
- package/dist/lib/node/chunk-AVTID2BC.cjs +75 -0
- package/dist/lib/node/chunk-AVTID2BC.cjs.map +7 -0
- package/dist/lib/node/{chunk-H5MYVP6F.cjs → chunk-ETVG2GKL.cjs} +9 -7
- package/dist/lib/node/{chunk-H5MYVP6F.cjs.map → chunk-ETVG2GKL.cjs.map} +2 -2
- package/dist/lib/node/index.cjs +24 -21
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/{intent-resolver-NW27BF3W.cjs → intent-resolver-FGBVXI7L.cjs} +45 -9
- package/dist/lib/node/intent-resolver-FGBVXI7L.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-surface-5X3SMHGI.cjs → react-surface-DJFEQ4EN.cjs} +19 -9
- package/dist/lib/node/react-surface-DJFEQ4EN.cjs.map +7 -0
- package/dist/lib/node/{settings-S2ISUVIH.cjs → settings-I3Z64YPE.cjs} +7 -7
- package/dist/lib/node/settings-I3Z64YPE.cjs.map +7 -0
- package/dist/lib/node/{state-L44SG3ZM.cjs → state-PC7IVXFP.cjs} +4 -4
- package/dist/lib/node/{state-L44SG3ZM.cjs.map → state-PC7IVXFP.cjs.map} +2 -2
- package/dist/lib/node/{thread-42R57L4K.cjs → thread-NHTJKFC4.cjs} +6 -6
- package/dist/lib/node/types/index.cjs +8 -6
- package/dist/lib/node/types/index.cjs.map +2 -2
- package/dist/lib/node-esm/{MarkdownContainer-URAPTO37.mjs → MarkdownContainer-IRHSOSGC.mjs} +20 -16
- package/dist/lib/node-esm/MarkdownContainer-IRHSOSGC.mjs.map +7 -0
- package/dist/lib/node-esm/MarkdownPreview-JWPTJG2V.mjs +82 -0
- package/dist/lib/node-esm/MarkdownPreview-JWPTJG2V.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-QQ2CTHOQ.mjs → app-graph-serializer-QH2FE7FH.mjs} +3 -3
- package/dist/lib/node-esm/{artifact-definition-WRG5ZRN5.mjs → artifact-definition-GA7NQ3X5.mjs} +9 -8
- package/dist/lib/node-esm/artifact-definition-GA7NQ3X5.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-F6UHVLH7.mjs → chunk-64TMVBTT.mjs} +11 -24
- package/dist/lib/node-esm/chunk-64TMVBTT.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-JAVD67QP.mjs → chunk-6TXN2UXT.mjs} +5 -3
- package/dist/lib/node-esm/{chunk-JAVD67QP.mjs.map → chunk-6TXN2UXT.mjs.map} +2 -2
- package/dist/lib/node-esm/chunk-I6RIVFIP.mjs +87 -0
- package/dist/lib/node-esm/chunk-I6RIVFIP.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-VBEBX5EB.mjs +22 -0
- package/dist/lib/node-esm/chunk-VBEBX5EB.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-3STR3645.mjs +87 -0
- package/dist/lib/node-esm/intent-resolver-3STR3645.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-6IKC3G46.mjs → react-surface-75OU2AJX.mjs} +16 -6
- package/dist/lib/node-esm/react-surface-75OU2AJX.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-ZDIFTK4N.mjs → settings-G7QIMIEK.mjs} +4 -4
- package/dist/lib/node-esm/settings-G7QIMIEK.mjs.map +7 -0
- package/dist/lib/node-esm/{state-DWPOKLEY.mjs → state-PNOPM4TS.mjs} +1 -1
- package/dist/lib/node-esm/{state-DWPOKLEY.mjs.map → state-PNOPM4TS.mjs.map} +2 -2
- package/dist/lib/node-esm/{thread-R2KHZD6V.mjs → thread-72RI26KD.mjs} +2 -2
- package/dist/lib/node-esm/types/index.mjs +3 -1
- package/dist/types/src/capabilities/artifact-definition.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/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 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -0
- package/dist/types/src/components/{MarkdownEditor.stories.d.ts → MarkdownEditor/MarkdownEditor.stories.d.ts} +3 -3
- 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 +189 -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 +12 -0
- package/dist/types/src/components/Suggestions.stories.d.ts.map +1 -0
- package/dist/types/src/components/Toolbar.stories.d.ts +2 -2
- 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 +2 -2
- package/dist/types/src/extensions.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +6 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/schema.d.ts +522 -123
- package/dist/types/src/types/schema.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +195 -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/package.json +40 -33
- package/src/MarkdownPlugin.tsx +5 -5
- package/src/capabilities/artifact-definition.ts +5 -3
- package/src/capabilities/intent-resolver.ts +39 -6
- package/src/capabilities/react-surface.tsx +11 -4
- package/src/capabilities/settings.ts +2 -2
- package/src/capabilities/state.ts +1 -1
- package/src/components/MarkdownContainer.tsx +4 -3
- package/src/components/{MarkdownEditor.stories.tsx → MarkdownEditor/MarkdownEditor.stories.tsx} +22 -35
- package/src/components/{MarkdownEditor.tsx → MarkdownEditor/MarkdownEditor.tsx} +5 -4
- package/src/components/MarkdownEditor/index.ts +5 -0
- package/src/components/MarkdownPreview/MarkdownPreview.stories.tsx +68 -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 +191 -0
- package/src/components/Toolbar.stories.tsx +16 -16
- package/src/components/index.ts +1 -0
- package/src/extensions.tsx +39 -34
- package/src/hooks/useSelectCurrentThread.tsx +2 -2
- package/src/translations.ts +2 -0
- package/src/types/schema.ts +24 -11
- package/src/types/types.ts +22 -21
- package/src/util.tsx +7 -3
- package/dist/lib/browser/MarkdownContainer-T3HU27RE.mjs.map +0 -7
- package/dist/lib/browser/artifact-definition-CE6J6NY4.mjs.map +0 -7
- package/dist/lib/browser/chunk-3ULJ4FIJ.mjs.map +0 -7
- package/dist/lib/browser/chunk-YCJNW2RU.mjs +0 -75
- package/dist/lib/browser/chunk-YCJNW2RU.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-42GQ6HNZ.mjs +0 -50
- package/dist/lib/browser/intent-resolver-42GQ6HNZ.mjs.map +0 -7
- package/dist/lib/browser/react-surface-RQX3CPFV.mjs.map +0 -7
- package/dist/lib/browser/settings-GCSS3Y4Z.mjs.map +0 -7
- package/dist/lib/node/MarkdownContainer-6ZJIFAP6.cjs.map +0 -7
- package/dist/lib/node/artifact-definition-XGADFWCQ.cjs.map +0 -7
- package/dist/lib/node/chunk-7QVONRSI.cjs.map +0 -7
- package/dist/lib/node/chunk-UEXGNGSS.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-NW27BF3W.cjs.map +0 -7
- package/dist/lib/node/react-surface-5X3SMHGI.cjs.map +0 -7
- package/dist/lib/node/settings-S2ISUVIH.cjs.map +0 -7
- package/dist/lib/node-esm/MarkdownContainer-URAPTO37.mjs.map +0 -7
- package/dist/lib/node-esm/artifact-definition-WRG5ZRN5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-4AM4VU3Y.mjs +0 -76
- package/dist/lib/node-esm/chunk-4AM4VU3Y.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-F6UHVLH7.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-7HOMUVHR.mjs +0 -51
- package/dist/lib/node-esm/intent-resolver-7HOMUVHR.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-6IKC3G46.mjs.map +0 -7
- package/dist/lib/node-esm/settings-ZDIFTK4N.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/{app-graph-serializer-NOXI4IQ5.mjs.map → app-graph-serializer-6SMW5SL3.mjs.map} +0 -0
- /package/dist/lib/browser/{thread-3QGCFNVZ.mjs.map → thread-VUUBSXA5.mjs.map} +0 -0
- /package/dist/lib/node/{app-graph-serializer-HKK3SEDN.cjs.map → app-graph-serializer-4VZJUDTL.cjs.map} +0 -0
- /package/dist/lib/node/{thread-42R57L4K.cjs.map → thread-NHTJKFC4.cjs.map} +0 -0
- /package/dist/lib/node-esm/{app-graph-serializer-QQ2CTHOQ.mjs.map → app-graph-serializer-QH2FE7FH.mjs.map} +0 -0
- /package/dist/lib/node-esm/{thread-R2KHZD6V.mjs.map → thread-72RI26KD.mjs.map} +0 -0
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DocumentType
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-FJ5P5CGA.mjs";
|
|
4
4
|
|
|
5
5
|
// packages/plugins/plugin-markdown/src/util.tsx
|
|
6
6
|
import { debounce } from "@dxos/async";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { live, createObject, isEchoObject, loadObjectReferences, makeRef } from "@dxos/react-client/echo";
|
|
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) {
|
|
@@ -28,10 +31,10 @@ var serializer = {
|
|
|
28
31
|
},
|
|
29
32
|
deserialize: async ({ content: serialized }) => {
|
|
30
33
|
const { name, fallbackName, content } = JSON.parse(serialized);
|
|
31
|
-
return createObject(
|
|
34
|
+
return createObject(live(DocumentType, {
|
|
32
35
|
name,
|
|
33
36
|
fallbackName,
|
|
34
|
-
content: makeRef(
|
|
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-NOXI4IQ5.mjs"));
|
|
45
|
-
var ArtifactDefinition = lazy(() => import("./artifact-definition-CE6J6NY4.mjs"));
|
|
46
|
-
var IntentResolver = lazy(() => import("./intent-resolver-42GQ6HNZ.mjs"));
|
|
47
|
-
var ReactSurface = lazy(() => import("./react-surface-RQX3CPFV.mjs"));
|
|
48
|
-
var MarkdownSettings = lazy(() => import("./settings-GCSS3Y4Z.mjs"));
|
|
49
|
-
var MarkdownState = lazy(() => import("./state-O7P5JDIH.mjs"));
|
|
50
|
-
var Thread = lazy(() => import("./thread-3QGCFNVZ.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-H2ACKZFL.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)\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,SACnCC,aAAaD,IAAAA,IACT,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,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DocumentType
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-FJ5P5CGA.mjs";
|
|
4
4
|
import {
|
|
5
5
|
MARKDOWN_PLUGIN
|
|
6
6
|
} from "./chunk-JX6XNEHE.mjs";
|
|
@@ -34,7 +34,9 @@ var translations_default = [
|
|
|
34
34
|
"settings debug placeholder": "Typewriter script...",
|
|
35
35
|
"toggle view mode label": "Toggle read-only",
|
|
36
36
|
"default view mode label": "Default view mode",
|
|
37
|
-
"upload image label": "Upload image"
|
|
37
|
+
"upload image label": "Upload image",
|
|
38
|
+
"fallback title": "Untitled",
|
|
39
|
+
"navigate to document label": "Open document"
|
|
38
40
|
}
|
|
39
41
|
}
|
|
40
42
|
}
|
|
@@ -43,4 +45,4 @@ var translations_default = [
|
|
|
43
45
|
export {
|
|
44
46
|
translations_default
|
|
45
47
|
};
|
|
46
|
-
//# sourceMappingURL=chunk-
|
|
48
|
+
//# sourceMappingURL=chunk-JD72ICHV.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/translations.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { getSchemaTypename } from '@dxos/echo-schema';\n\nimport { MARKDOWN_PLUGIN } from './meta';\nimport { DocumentType } from './types';\n\nexport default [\n {\n 'en-US': {\n [getSchemaTypename(DocumentType)!]: {\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 },\n },\n },\n];\n"],
|
|
5
|
-
"mappings": ";;;;;;;;AAIA,SAASA,yBAAyB;AAKlC,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACC,kBAAkBC,YAAAA,CAAAA,GAAiB;QAClC,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;
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { getSchemaTypename } from '@dxos/echo-schema';\n\nimport { MARKDOWN_PLUGIN } from './meta';\nimport { DocumentType } from './types';\n\nexport default [\n {\n 'en-US': {\n [getSchemaTypename(DocumentType)!]: {\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": ";;;;;;;;AAIA,SAASA,yBAAyB;AAKlC,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACC,kBAAkBC,YAAAA,CAAAA,GAAiB;QAClC,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
6
|
"names": ["getSchemaTypename", "getSchemaTypename", "DocumentType", "MARKDOWN_PLUGIN"]
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
translations_default
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-JD72ICHV.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-6D6EOKIT.mjs";
|
|
13
|
+
import {
|
|
14
|
+
getAbstract,
|
|
12
15
|
getFallbackName,
|
|
13
16
|
isMarkdownProperties,
|
|
14
17
|
serializer,
|
|
15
18
|
setFallbackName
|
|
16
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-H2ACKZFL.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-FJ5P5CGA.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
|
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MarkdownCapabilities
|
|
3
|
+
} from "./chunk-NAGMSX77.mjs";
|
|
4
|
+
import {
|
|
5
|
+
DocumentType,
|
|
6
|
+
MarkdownAction
|
|
7
|
+
} from "./chunk-FJ5P5CGA.mjs";
|
|
8
|
+
import "./chunk-JX6XNEHE.mjs";
|
|
9
|
+
|
|
10
|
+
// packages/plugins/plugin-markdown/src/capabilities/intent-resolver.ts
|
|
11
|
+
import { Capabilities, CollaborationActions, contributes, createResolver } from "@dxos/app-framework";
|
|
12
|
+
import { next as A } from "@dxos/automerge/automerge";
|
|
13
|
+
import { isInstanceOf, ObjectId } from "@dxos/echo-schema";
|
|
14
|
+
import { DXN, QueueSubspaceTags } from "@dxos/keys";
|
|
15
|
+
import { makeRef, live, refFromDXN } from "@dxos/live-object";
|
|
16
|
+
import { log } from "@dxos/log";
|
|
17
|
+
import { ClientCapabilities } from "@dxos/plugin-client";
|
|
18
|
+
import { resolveRef } from "@dxos/react-client";
|
|
19
|
+
import { createDocAccessor } from "@dxos/react-client/echo";
|
|
20
|
+
import { DataType } from "@dxos/schema";
|
|
21
|
+
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-markdown/src/capabilities/intent-resolver.ts";
|
|
22
|
+
var intent_resolver_default = (context) => contributes(Capabilities.IntentResolver, [
|
|
23
|
+
createResolver({
|
|
24
|
+
intent: MarkdownAction.Create,
|
|
25
|
+
resolve: ({ name, spaceId, content }) => {
|
|
26
|
+
const doc = live(DocumentType, {
|
|
27
|
+
name,
|
|
28
|
+
content: makeRef(live(DataType.Text, {
|
|
29
|
+
content: content ?? ""
|
|
30
|
+
})),
|
|
31
|
+
assistantChatQueue: refFromDXN(new DXN(DXN.kind.QUEUE, [
|
|
32
|
+
QueueSubspaceTags.DATA,
|
|
33
|
+
spaceId,
|
|
34
|
+
ObjectId.random()
|
|
35
|
+
])),
|
|
36
|
+
threads: []
|
|
37
|
+
});
|
|
38
|
+
return {
|
|
39
|
+
data: {
|
|
40
|
+
object: doc
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}),
|
|
45
|
+
createResolver({
|
|
46
|
+
intent: MarkdownAction.SetViewMode,
|
|
47
|
+
resolve: ({ id, viewMode }) => {
|
|
48
|
+
const { state } = context.requestCapability(MarkdownCapabilities.State);
|
|
49
|
+
state.viewMode[id] = viewMode;
|
|
50
|
+
}
|
|
51
|
+
}),
|
|
52
|
+
// TODO(burdon): What is the error boundary for intents? Are errors reported back to caller?
|
|
53
|
+
createResolver({
|
|
54
|
+
intent: CollaborationActions.InsertContent,
|
|
55
|
+
resolve: async ({ spaceId, target: targetRef, object: objectRef, label }) => {
|
|
56
|
+
const client = context.requestCapability(ClientCapabilities.Client);
|
|
57
|
+
const space = client.spaces.get(spaceId);
|
|
58
|
+
const target = await resolveRef(client, targetRef.dxn, space);
|
|
59
|
+
if (target && isInstanceOf(DocumentType, target)) {
|
|
60
|
+
const accessor = createDocAccessor(target, [
|
|
61
|
+
"content"
|
|
62
|
+
]);
|
|
63
|
+
const index = 0;
|
|
64
|
+
accessor.handle.change((doc) => {
|
|
65
|
+
const ref = `[${label ?? "Generated content"}]](${objectRef.dxn.toString()})
|
|
66
|
+
`;
|
|
67
|
+
A.splice(doc, accessor.path.slice(), index, 0, ref);
|
|
68
|
+
});
|
|
69
|
+
} else {
|
|
70
|
+
log.warn("target is not a document", {
|
|
71
|
+
targetRef,
|
|
72
|
+
objectRef
|
|
73
|
+
}, {
|
|
74
|
+
F: __dxlog_file,
|
|
75
|
+
L: 65,
|
|
76
|
+
S: void 0,
|
|
77
|
+
C: (f, a) => f(...a)
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
})
|
|
82
|
+
]);
|
|
83
|
+
export {
|
|
84
|
+
intent_resolver_default as default
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=intent-resolver-K7GY2J5W.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 {\n Capabilities,\n CollaborationActions,\n contributes,\n createResolver,\n type PluginsContext,\n} from '@dxos/app-framework';\nimport { next as A } from '@dxos/automerge/automerge';\nimport { isInstanceOf, ObjectId } from '@dxos/echo-schema';\nimport { DXN, QueueSubspaceTags } from '@dxos/keys';\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: PluginsContext) =>\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(new DXN(DXN.kind.QUEUE, [QueueSubspaceTags.DATA, spaceId, ObjectId.random()])),\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.requestCapability(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.requestCapability(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,SACEA,cACAC,sBACAC,aACAC,sBAEK;AACP,SAASC,QAAQC,SAAS;AAC1B,SAASC,cAAcC,gBAAgB;AACvC,SAASC,KAAKC,yBAAyB;AACvC,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,WAAW,IAAIC,IAAIA,IAAIC,KAAKC,OAAO;UAACC,kBAAkBC;UAAMd;UAASe,SAASC,OAAM;SAAG,CAAA;QAC3GC,SAAS,CAAA;MACX,CAAA;AAEA,aAAO;QAAEC,MAAM;UAAEC,QAAQjB;QAAI;MAAE;IACjC;EACF,CAAA;EACAR,eAAe;IACbC,QAAQC,eAAewB;IACvBtB,SAAS,CAAC,EAAEuB,IAAIC,SAAQ,MAAE;AACxB,YAAM,EAAEC,MAAK,IAAKjC,QAAQkC,kBAAkBC,qBAAqBC,KAAK;AACtEH,YAAMD,SAASD,EAAAA,IAAMC;IACvB;EACF,CAAA;;EAEA5B,eAAe;IACbC,QAAQgC,qBAAqBC;IAC7B9B,SAAS,OAAO,EAAEE,SAAS6B,QAAQC,WAAWX,QAAQY,WAAWC,MAAK,MAAE;AACtE,YAAMC,SAAS3C,QAAQkC,kBAAkBU,mBAAmBC,MAAM;AAClE,YAAMC,QAAQH,OAAOI,OAAOC,IAAItC,OAAAA;AAChC,YAAM6B,SAAS,MAAMU,WAAWN,QAAQH,UAAUU,KAAKJ,KAAAA;AACvD,UAAIP,UAAUY,aAAarC,cAAcyB,MAAAA,GAAS;AAChD,cAAMa,WAAWC,kBAAkBd,QAAQ;UAAC;SAAU;AAEtD,cAAMe,QAAQ;AACdF,iBAASG,OAAOC,OAAO,CAAC5C,QAAAA;AAGtB,gBAAM6C,MAAM,IAAIf,SAAS,mBAAA,MAAyBD,UAAUS,IAAIQ,SAAQ,CAAA;;AACxEC,YAAEC,OAAOhD,KAAKwC,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": ["Capabilities", "CollaborationActions", "contributes", "createResolver", "next", "A", "isInstanceOf", "ObjectId", "DXN", "QueueSubspaceTags", "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", "DXN", "kind", "QUEUE", "QueueSubspaceTags", "DATA", "ObjectId", "random", "threads", "data", "object", "SetViewMode", "id", "viewMode", "state", "requestCapability", "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
|
+
}
|