@dxos/plugin-markdown 0.8.1 → 0.8.2-main.36232bc
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-PDIKEQQU.mjs} +15 -12
- package/dist/lib/browser/MarkdownContainer-PDIKEQQU.mjs.map +7 -0
- package/dist/lib/browser/MarkdownPreview-2G2FVWO2.mjs +73 -0
- package/dist/lib/browser/MarkdownPreview-2G2FVWO2.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-NOXI4IQ5.mjs → app-graph-serializer-OCXP7PCK.mjs} +3 -3
- package/dist/lib/browser/{artifact-definition-CE6J6NY4.mjs → artifact-definition-XTVOUMMI.mjs} +2 -2
- package/dist/lib/browser/{chunk-YCJNW2RU.mjs → chunk-GVOEHF7E.mjs} +10 -1
- package/dist/lib/browser/chunk-GVOEHF7E.mjs.map +7 -0
- package/dist/lib/browser/{chunk-QXDKFACU.mjs → chunk-LJ2UFBJ2.mjs} +5 -3
- package/dist/lib/browser/{chunk-QXDKFACU.mjs.map → chunk-LJ2UFBJ2.mjs.map} +2 -2
- package/dist/lib/browser/{chunk-3ULJ4FIJ.mjs → chunk-QV6ZIXAD.mjs} +10 -23
- package/dist/lib/browser/chunk-QV6ZIXAD.mjs.map +7 -0
- package/dist/lib/browser/chunk-UQ2W5NRK.mjs +20 -0
- package/dist/lib/browser/chunk-UQ2W5NRK.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +8 -4
- package/dist/lib/browser/index.mjs.map +2 -2
- package/dist/lib/browser/intent-resolver-H37L3DBD.mjs +86 -0
- package/dist/lib/browser/intent-resolver-H37L3DBD.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-RQX3CPFV.mjs → react-surface-OIHIDL6Q.mjs} +11 -4
- package/dist/lib/browser/react-surface-OIHIDL6Q.mjs.map +7 -0
- package/dist/lib/browser/{settings-GCSS3Y4Z.mjs → settings-EQSDBX6O.mjs} +4 -4
- package/dist/lib/browser/settings-EQSDBX6O.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-MFKBUVCB.mjs} +2 -2
- package/dist/lib/browser/types/index.mjs +3 -1
- package/dist/lib/node/{MarkdownContainer-6ZJIFAP6.cjs → MarkdownContainer-GYHFOCWZ.cjs} +18 -15
- package/dist/lib/node/MarkdownContainer-GYHFOCWZ.cjs.map +7 -0
- package/dist/lib/node/MarkdownPreview-T32LRPVG.cjs +96 -0
- package/dist/lib/node/MarkdownPreview-T32LRPVG.cjs.map +7 -0
- package/dist/lib/node/{app-graph-serializer-HKK3SEDN.cjs → app-graph-serializer-KBDLASRP.cjs} +9 -9
- package/dist/lib/node/{artifact-definition-XGADFWCQ.cjs → artifact-definition-ADEN2KD6.cjs} +9 -9
- package/dist/lib/node/{chunk-7QVONRSI.cjs → chunk-HB44GO7V.cjs} +13 -57
- package/dist/lib/node/chunk-HB44GO7V.cjs.map +7 -0
- package/dist/lib/node/{chunk-H5MYVP6F.cjs → chunk-JO4SBK36.cjs} +9 -7
- package/dist/lib/node/{chunk-H5MYVP6F.cjs.map → chunk-JO4SBK36.cjs.map} +2 -2
- package/dist/lib/node/chunk-WGMVEPB3.cjs +75 -0
- package/dist/lib/node/chunk-WGMVEPB3.cjs.map +7 -0
- package/dist/lib/node/{chunk-UEXGNGSS.cjs → chunk-YHL4JSA6.cjs} +14 -4
- package/dist/lib/node/chunk-YHL4JSA6.cjs.map +7 -0
- package/dist/lib/node/index.cjs +23 -20
- package/dist/lib/node/index.cjs.map +2 -2
- package/dist/lib/node/{intent-resolver-NW27BF3W.cjs → intent-resolver-NX5QNRYF.cjs} +45 -9
- package/dist/lib/node/intent-resolver-NX5QNRYF.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-surface-5X3SMHGI.cjs → react-surface-JYGR4QB3.cjs} +15 -8
- package/dist/lib/node/react-surface-JYGR4QB3.cjs.map +7 -0
- package/dist/lib/node/{settings-S2ISUVIH.cjs → settings-2JXASSLU.cjs} +7 -7
- package/dist/lib/node/settings-2JXASSLU.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-MXEGV6HS.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-7T5H7ROL.mjs} +15 -12
- package/dist/lib/node-esm/MarkdownContainer-7T5H7ROL.mjs.map +7 -0
- package/dist/lib/node-esm/MarkdownPreview-MGR5BF6U.mjs +74 -0
- package/dist/lib/node-esm/MarkdownPreview-MGR5BF6U.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-QQ2CTHOQ.mjs → app-graph-serializer-67CO7ST3.mjs} +3 -3
- package/dist/lib/node-esm/{artifact-definition-WRG5ZRN5.mjs → artifact-definition-KTS5M2FW.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-F6UHVLH7.mjs → chunk-4U2F4EB7.mjs} +10 -23
- package/dist/lib/node-esm/chunk-4U2F4EB7.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-JNA7GQEA.mjs +22 -0
- package/dist/lib/node-esm/chunk-JNA7GQEA.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-4AM4VU3Y.mjs → chunk-NUZHKZSZ.mjs} +10 -1
- package/dist/lib/node-esm/chunk-NUZHKZSZ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-JAVD67QP.mjs → chunk-VQA6BQGT.mjs} +5 -3
- package/dist/lib/node-esm/{chunk-JAVD67QP.mjs.map → chunk-VQA6BQGT.mjs.map} +2 -2
- package/dist/lib/node-esm/index.mjs +8 -4
- package/dist/lib/node-esm/index.mjs.map +2 -2
- package/dist/lib/node-esm/intent-resolver-XES4ZCA6.mjs +87 -0
- package/dist/lib/node-esm/intent-resolver-XES4ZCA6.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-6IKC3G46.mjs → react-surface-QIMBMILA.mjs} +11 -4
- package/dist/lib/node-esm/react-surface-QIMBMILA.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-ZDIFTK4N.mjs → settings-67RVIH3N.mjs} +4 -4
- package/dist/lib/node-esm/settings-67RVIH3N.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-5U4KSBED.mjs} +2 -2
- package/dist/lib/node-esm/types/index.mjs +3 -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.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 +191 -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.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 +421 -17
- package/dist/types/src/types/schema.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +120 -8
- 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 +37 -32
- package/src/MarkdownPlugin.tsx +3 -3
- package/src/capabilities/intent-resolver.ts +38 -5
- package/src/capabilities/react-surface.tsx +8 -1
- package/src/capabilities/settings.ts +2 -2
- package/src/capabilities/state.ts +1 -1
- package/src/components/MarkdownContainer.tsx +1 -0
- package/src/components/{MarkdownEditor.stories.tsx → MarkdownEditor/MarkdownEditor.stories.tsx} +22 -35
- package/src/components/{MarkdownEditor.tsx → MarkdownEditor/MarkdownEditor.tsx} +4 -4
- package/src/components/MarkdownEditor/index.ts +5 -0
- package/src/components/MarkdownPreview/MarkdownPreview.stories.tsx +68 -0
- package/src/components/MarkdownPreview/MarkdownPreview.tsx +59 -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 +184 -0
- package/src/components/Toolbar.stories.tsx +15 -15
- package/src/components/index.ts +1 -0
- package/src/extensions.tsx +37 -32
- package/src/translations.ts +2 -0
- package/src/types/schema.ts +5 -0
- package/src/util.tsx +6 -2
- package/dist/lib/browser/MarkdownContainer-T3HU27RE.mjs.map +0 -7
- package/dist/lib/browser/chunk-3ULJ4FIJ.mjs.map +0 -7
- 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/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/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-OCXP7PCK.mjs.map} +0 -0
- /package/dist/lib/browser/{artifact-definition-CE6J6NY4.mjs.map → artifact-definition-XTVOUMMI.mjs.map} +0 -0
- /package/dist/lib/browser/{thread-3QGCFNVZ.mjs.map → thread-MFKBUVCB.mjs.map} +0 -0
- /package/dist/lib/node/{app-graph-serializer-HKK3SEDN.cjs.map → app-graph-serializer-KBDLASRP.cjs.map} +0 -0
- /package/dist/lib/node/{artifact-definition-XGADFWCQ.cjs.map → artifact-definition-ADEN2KD6.cjs.map} +0 -0
- /package/dist/lib/node/{thread-42R57L4K.cjs.map → thread-MXEGV6HS.cjs.map} +0 -0
- /package/dist/lib/node-esm/{app-graph-serializer-QQ2CTHOQ.mjs.map → app-graph-serializer-67CO7ST3.mjs.map} +0 -0
- /package/dist/lib/node-esm/{artifact-definition-WRG5ZRN5.mjs.map → artifact-definition-KTS5M2FW.mjs.map} +0 -0
- /package/dist/lib/node-esm/{thread-R2KHZD6V.mjs.map → thread-5U4KSBED.mjs.map} +0 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var chunk_WGMVEPB3_exports = {};
|
|
20
|
+
__export(chunk_WGMVEPB3_exports, {
|
|
21
|
+
getAbstract: () => getAbstract,
|
|
22
|
+
getFallbackName: () => getFallbackName,
|
|
23
|
+
isMarkdownProperties: () => isMarkdownProperties,
|
|
24
|
+
serializer: () => serializer,
|
|
25
|
+
setFallbackName: () => setFallbackName
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(chunk_WGMVEPB3_exports);
|
|
28
|
+
var import_chunk_YHL4JSA6 = require("./chunk-YHL4JSA6.cjs");
|
|
29
|
+
var import_async = require("@dxos/async");
|
|
30
|
+
var import_echo = require("@dxos/react-client/echo");
|
|
31
|
+
var import_schema = require("@dxos/schema");
|
|
32
|
+
var isMarkdownProperties = (data) => (0, import_echo.isEchoObject)(data) ? true : data && typeof data === "object" ? "title" in data && typeof data.title === "string" : false;
|
|
33
|
+
var nonTitleChars = /[^\w ]/g;
|
|
34
|
+
var getFallbackName = (content) => {
|
|
35
|
+
return content.substring(0, 31).split("\n")[0].replaceAll(nonTitleChars, "").trim();
|
|
36
|
+
};
|
|
37
|
+
var getAbstract = (content) => {
|
|
38
|
+
return content.substring(0, 128).split("\n")[0].replaceAll(nonTitleChars, "").trim();
|
|
39
|
+
};
|
|
40
|
+
var setFallbackName = (0, import_async.debounce)((doc, content) => {
|
|
41
|
+
const name = getFallbackName(content);
|
|
42
|
+
if (doc.fallbackName !== name) {
|
|
43
|
+
doc.fallbackName = name;
|
|
44
|
+
}
|
|
45
|
+
}, 200);
|
|
46
|
+
var serializer = {
|
|
47
|
+
serialize: async ({ object }) => {
|
|
48
|
+
const content = await (0, import_echo.loadObjectReferences)(object, (doc) => doc.content);
|
|
49
|
+
return JSON.stringify({
|
|
50
|
+
name: object.name,
|
|
51
|
+
fallbackName: object.fallbackName,
|
|
52
|
+
content: content.target?.content
|
|
53
|
+
});
|
|
54
|
+
},
|
|
55
|
+
deserialize: async ({ content: serialized }) => {
|
|
56
|
+
const { name, fallbackName, content } = JSON.parse(serialized);
|
|
57
|
+
return (0, import_echo.createObject)((0, import_echo.live)(import_chunk_YHL4JSA6.DocumentType, {
|
|
58
|
+
name,
|
|
59
|
+
fallbackName,
|
|
60
|
+
content: (0, import_echo.makeRef)((0, import_echo.live)(import_schema.TextType, {
|
|
61
|
+
content
|
|
62
|
+
})),
|
|
63
|
+
threads: []
|
|
64
|
+
}));
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
68
|
+
0 && (module.exports = {
|
|
69
|
+
getAbstract,
|
|
70
|
+
getFallbackName,
|
|
71
|
+
isMarkdownProperties,
|
|
72
|
+
serializer,
|
|
73
|
+
setFallbackName
|
|
74
|
+
});
|
|
75
|
+
//# sourceMappingURL=chunk-WGMVEPB3.cjs.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 { TextType } 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(TextType, { content })), threads: [] }),\n );\n },\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mBAAyB;AAEzB,kBAAgF;AAChF,oBAAyB;AAIlB,IAAMA,uBAAuB,CAACC,aACnCC,0BAAaD,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,sBAAkBC,uBAAS,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,UAAMc,kCAAqBD,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,eAAOE,8BACLC,kBAAKC,oCAAc;MAAEd;MAAMC;MAAcV,aAASwB,yBAAQF,kBAAKG,wBAAU;QAAEzB;MAAQ,CAAA,CAAA;MAAK0B,SAAS,CAAA;IAAG,CAAA,CAAA;EAExG;AACF;",
|
|
6
|
+
"names": ["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", "TextType", "threads"]
|
|
7
|
+
}
|
|
@@ -16,17 +16,19 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
19
|
+
var chunk_YHL4JSA6_exports = {};
|
|
20
|
+
__export(chunk_YHL4JSA6_exports, {
|
|
21
21
|
DocumentSchema: () => DocumentSchema,
|
|
22
22
|
DocumentType: () => DocumentType,
|
|
23
23
|
MarkdownAction: () => MarkdownAction,
|
|
24
24
|
MarkdownSettingsSchema: () => MarkdownSettingsSchema,
|
|
25
|
+
createDocument: () => createDocument,
|
|
25
26
|
isEditorModel: () => isEditorModel
|
|
26
27
|
});
|
|
27
|
-
module.exports = __toCommonJS(
|
|
28
|
+
module.exports = __toCommonJS(chunk_YHL4JSA6_exports);
|
|
28
29
|
var import_chunk_ZU5OIHCY = require("./chunk-ZU5OIHCY.cjs");
|
|
29
30
|
var import_echo_schema = require("@dxos/echo-schema");
|
|
31
|
+
var import_live_object = require("@dxos/live-object");
|
|
30
32
|
var import_types = require("@dxos/plugin-space/types");
|
|
31
33
|
var import_schema = require("@dxos/schema");
|
|
32
34
|
var import_echo_schema2 = require("@dxos/echo-schema");
|
|
@@ -48,6 +50,13 @@ var DocumentType = DocumentSchema.pipe((0, import_echo_schema.EchoObject)({
|
|
|
48
50
|
typename: "dxos.org/type/Document",
|
|
49
51
|
version: "0.1.0"
|
|
50
52
|
}));
|
|
53
|
+
var createDocument = ({ name, content }) => (0, import_live_object.live)(DocumentType, {
|
|
54
|
+
name,
|
|
55
|
+
content: (0, import_live_object.makeRef)((0, import_live_object.live)(import_schema.TextType, {
|
|
56
|
+
content
|
|
57
|
+
})),
|
|
58
|
+
threads: []
|
|
59
|
+
});
|
|
51
60
|
var isEditorModel = (data) => data && typeof data === "object" && "id" in data && typeof data.id === "string" && "text" in data && typeof data.text === "string";
|
|
52
61
|
var MARKDOWN_ACTION = `${import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN}/action`;
|
|
53
62
|
var MarkdownAction;
|
|
@@ -91,6 +100,7 @@ var MarkdownSettingsSchema = import_echo_schema2.S.mutable(import_echo_schema2.S
|
|
|
91
100
|
DocumentType,
|
|
92
101
|
MarkdownAction,
|
|
93
102
|
MarkdownSettingsSchema,
|
|
103
|
+
createDocument,
|
|
94
104
|
isEditorModel
|
|
95
105
|
});
|
|
96
|
-
//# sourceMappingURL=chunk-
|
|
106
|
+
//# sourceMappingURL=chunk-YHL4JSA6.cjs.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 { EchoObject, Expando, LabelAnnotationId, Ref, S } from '@dxos/echo-schema';\nimport { makeRef, live } from '@dxos/live-object';\nimport { ThreadType } from '@dxos/plugin-space/types';\nimport { TextType } from '@dxos/schema';\n\nexport const DocumentSchema = S.Struct({\n name: S.optional(S.String),\n fallbackName: S.optional(S.String),\n content: Ref(TextType),\n threads: S.mutable(S.Array(Ref(ThreadType))),\n assistantChatQueue: S.optional(Ref(Expando)),\n}).annotations({\n // TODO(dmaretskyi): `S.Struct(...).pipe(defaultLabel(['name', 'fallbackName']))` for type-safe annotations.\n [LabelAnnotationId]: ['name', 'fallbackName'],\n});\n\nexport const DocumentType = DocumentSchema.pipe(EchoObject({ typename: 'dxos.org/type/Document', version: '0.1.0' }));\nexport type DocumentType = S.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(TextType, { 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 { S } from '@dxos/echo-schema';\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 S.TaggedClass<Create>()(MARKDOWN_ACTION, {\n input: S.Struct({\n spaceId: S.String,\n name: S.optional(S.String),\n content: S.optional(S.String),\n }),\n output: S.Struct({\n object: DocumentType,\n }),\n }) {}\n\n export class SetViewMode extends S.TaggedClass<SetViewMode>()(`${MARKDOWN_ACTION}/set-view-mode`, {\n input: S.Struct({\n id: S.String,\n viewMode: EditorViewMode,\n }),\n output: S.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 = S.mutable(\n S.Struct({\n defaultViewMode: EditorViewMode,\n editorInputMode: S.optional(EditorInputMode),\n experimental: S.optional(S.Boolean),\n debug: S.optional(S.Boolean),\n toolbar: S.optional(S.Boolean),\n typewriter: S.optional(S.String),\n // TODO(burdon): Per document settings.\n numberedHeadings: S.optional(S.Boolean),\n folding: S.optional(S.Boolean),\n }),\n);\n\nexport type MarkdownSettingsProps = S.Schema.Type<typeof MarkdownSettingsSchema>;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,yBAA+D;AAC/D,yBAA8B;AAC9B,mBAA2B;AAC3B,oBAAyB;ACHzB,IAAAA,sBAAkB;AAElB,6BAAgE;ADGzD,IAAMC,iBAAiBC,qBAAEC,OAAO;EACrCC,MAAMF,qBAAEG,SAASH,qBAAEI,MAAM;EACzBC,cAAcL,qBAAEG,SAASH,qBAAEI,MAAM;EACjCE,aAASC,wBAAIC,sBAAAA;EACbC,SAAST,qBAAEU,QAAQV,qBAAEW,UAAMJ,wBAAIK,uBAAAA,CAAAA,CAAAA;EAC/BC,oBAAoBb,qBAAEG,aAASI,wBAAIO,0BAAAA,CAAAA;AACrC,CAAA,EAAGC,YAAY;;EAEb,CAACC,oCAAAA,GAAoB;IAAC;IAAQ;;AAChC,CAAA;AAEO,IAAMC,eAAelB,eAAemB,SAAKC,+BAAW;EAAEC,UAAU;EAA0BC,SAAS;AAAQ,CAAA,CAAA;AAI3G,IAAMC,iBAAiB,CAAC,EAAEpB,MAAMI,QAAO,UAC5CiB,yBAAKN,cAAc;EAAEf;EAAMI,aAASkB,gCAAQD,yBAAKf,wBAAU;IAAEF;EAAQ,CAAA,CAAA;EAAKG,SAAS,CAAA;AAAG,CAAA;AAMjF,IAAMgB,gBAAgB,CAACC,SAC5BA,QACA,OAAOA,SAAS,YAChB,QAAQA,QACR,OAAOA,KAAKC,OAAO,YACnB,UAAUD,QACV,OAAOA,KAAKE,SAAS;AC1BvB,IAAMC,kBAAkB,GAAGC,qCAAAA;;UAEVC,iBAAAA;EACR,MAAMC,eAAehC,oBAAAA,EAAEiC,YAAW,EAAWJ,iBAAiB;IACnEK,OAAOlC,oBAAAA,EAAEC,OAAO;MACdkC,SAASnC,oBAAAA,EAAEI;MACXF,MAAMF,oBAAAA,EAAEG,SAASH,oBAAAA,EAAEI,MAAM;MACzBE,SAASN,oBAAAA,EAAEG,SAASH,oBAAAA,EAAEI,MAAM;IAC9B,CAAA;IACAgC,QAAQpC,oBAAAA,EAAEC,OAAO;MACfoC,QAAQpB;IACV,CAAA;EACF,CAAA,EAAA;EAAI;kBATSe,SAAAA;EAWN,MAAMM,oBAAoBtC,oBAAAA,EAAEiC,YAAW,EAAgB,GAAGJ,eAAAA,kBAAiC;IAChGK,OAAOlC,oBAAAA,EAAEC,OAAO;MACd0B,IAAI3B,oBAAAA,EAAEI;MACNmC,UAAUC;IACZ,CAAA;IACAJ,QAAQpC,oBAAAA,EAAEyC;EACZ,CAAA,EAAA;EAAI;kBANSH,cAAAA;AAOf,GAnBiBP,mBAAAA,iBAAAA,CAAAA,EAAAA;AAqCV,IAAMW,yBAAyB1C,oBAAAA,EAAEU,QACtCV,oBAAAA,EAAEC,OAAO;EACP0C,iBAAiBH;EACjBI,iBAAiB5C,oBAAAA,EAAEG,SAAS0C,sCAAAA;EAC5BC,cAAc9C,oBAAAA,EAAEG,SAASH,oBAAAA,EAAE+C,OAAO;EAClCC,OAAOhD,oBAAAA,EAAEG,SAASH,oBAAAA,EAAE+C,OAAO;EAC3BE,SAASjD,oBAAAA,EAAEG,SAASH,oBAAAA,EAAE+C,OAAO;EAC7BG,YAAYlD,oBAAAA,EAAEG,SAASH,oBAAAA,EAAEI,MAAM;;EAE/B+C,kBAAkBnD,oBAAAA,EAAEG,SAASH,oBAAAA,EAAE+C,OAAO;EACtCK,SAASpD,oBAAAA,EAAEG,SAASH,oBAAAA,EAAE+C,OAAO;AAC/B,CAAA,CAAA;",
|
|
6
|
+
"names": ["import_echo_schema", "DocumentSchema", "S", "Struct", "name", "optional", "String", "fallbackName", "content", "Ref", "TextType", "threads", "mutable", "Array", "ThreadType", "assistantChatQueue", "Expando", "annotations", "LabelAnnotationId", "DocumentType", "pipe", "EchoObject", "typename", "version", "createDocument", "live", "makeRef", "isEditorModel", "data", "id", "text", "MARKDOWN_ACTION", "MARKDOWN_PLUGIN", "MarkdownAction", "Create", "TaggedClass", "input", "spaceId", "output", "object", "SetViewMode", "viewMode", "EditorViewMode", "Void", "MarkdownSettingsSchema", "defaultViewMode", "editorInputMode", "EditorInputMode", "experimental", "Boolean", "debug", "toolbar", "typewriter", "numberedHeadings", "folding"]
|
|
7
|
+
}
|
package/dist/lib/node/index.cjs
CHANGED
|
@@ -22,17 +22,19 @@ __export(node_exports, {
|
|
|
22
22
|
MarkdownCapabilities: () => import_chunk_DZXTXSXX.MarkdownCapabilities,
|
|
23
23
|
MarkdownEvents: () => MarkdownEvents,
|
|
24
24
|
MarkdownPlugin: () => MarkdownPlugin,
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
getAbstract: () => import_chunk_WGMVEPB3.getAbstract,
|
|
26
|
+
getFallbackName: () => import_chunk_WGMVEPB3.getFallbackName,
|
|
27
|
+
isMarkdownProperties: () => import_chunk_WGMVEPB3.isMarkdownProperties,
|
|
27
28
|
meta: () => import_chunk_ZU5OIHCY.meta,
|
|
28
|
-
serializer: () =>
|
|
29
|
-
setFallbackName: () =>
|
|
29
|
+
serializer: () => import_chunk_WGMVEPB3.serializer,
|
|
30
|
+
setFallbackName: () => import_chunk_WGMVEPB3.setFallbackName
|
|
30
31
|
});
|
|
31
32
|
module.exports = __toCommonJS(node_exports);
|
|
32
|
-
var
|
|
33
|
-
var
|
|
33
|
+
var import_chunk_JO4SBK36 = require("./chunk-JO4SBK36.cjs");
|
|
34
|
+
var import_chunk_HB44GO7V = require("./chunk-HB44GO7V.cjs");
|
|
35
|
+
var import_chunk_WGMVEPB3 = require("./chunk-WGMVEPB3.cjs");
|
|
34
36
|
var import_chunk_DZXTXSXX = require("./chunk-DZXTXSXX.cjs");
|
|
35
|
-
var
|
|
37
|
+
var import_chunk_YHL4JSA6 = require("./chunk-YHL4JSA6.cjs");
|
|
36
38
|
var import_chunk_ZU5OIHCY = require("./chunk-ZU5OIHCY.cjs");
|
|
37
39
|
var import_app_framework = require("@dxos/app-framework");
|
|
38
40
|
var import_app_framework2 = require("@dxos/app-framework");
|
|
@@ -52,14 +54,14 @@ var MarkdownPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_
|
|
|
52
54
|
id: `${import_chunk_ZU5OIHCY.meta.id}/module/translations`,
|
|
53
55
|
activatesOn: import_app_framework2.Events.SetupTranslations,
|
|
54
56
|
activate: () => (0, import_app_framework2.contributes)(import_app_framework2.Capabilities.Translations, [
|
|
55
|
-
...
|
|
57
|
+
...import_chunk_JO4SBK36.translations_default,
|
|
56
58
|
...import_react_ui_editor.translations
|
|
57
59
|
])
|
|
58
60
|
}),
|
|
59
61
|
(0, import_app_framework2.defineModule)({
|
|
60
62
|
id: `${import_chunk_ZU5OIHCY.meta.id}/module/settings`,
|
|
61
63
|
activatesOn: import_app_framework2.Events.SetupSettings,
|
|
62
|
-
activate:
|
|
64
|
+
activate: import_chunk_HB44GO7V.MarkdownSettings
|
|
63
65
|
}),
|
|
64
66
|
(0, import_app_framework2.defineModule)({
|
|
65
67
|
id: `${import_chunk_ZU5OIHCY.meta.id}/module/state`,
|
|
@@ -67,15 +69,15 @@ var MarkdownPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_
|
|
|
67
69
|
// Should this be a different event?
|
|
68
70
|
// Should settings store be renamed to be more generic?
|
|
69
71
|
activatesOn: import_app_framework2.Events.SetupSettings,
|
|
70
|
-
activate:
|
|
72
|
+
activate: import_chunk_HB44GO7V.MarkdownState
|
|
71
73
|
}),
|
|
72
74
|
(0, import_app_framework2.defineModule)({
|
|
73
75
|
id: `${import_chunk_ZU5OIHCY.meta.id}/module/metadata`,
|
|
74
76
|
activatesOn: import_app_framework2.Events.SetupMetadata,
|
|
75
77
|
activate: () => (0, import_app_framework2.contributes)(import_app_framework2.Capabilities.Metadata, {
|
|
76
|
-
id:
|
|
78
|
+
id: import_chunk_YHL4JSA6.DocumentType.typename,
|
|
77
79
|
metadata: {
|
|
78
|
-
label: (object) => (0, import_echo_schema.isInstanceOf)(
|
|
80
|
+
label: (object) => (0, import_echo_schema.isInstanceOf)(import_chunk_YHL4JSA6.DocumentType, object) ? object.name || object.fallbackName : void 0,
|
|
79
81
|
icon: "ph--text-aa--regular",
|
|
80
82
|
graphProps: {
|
|
81
83
|
managesAutofocus: true
|
|
@@ -85,7 +87,7 @@ var MarkdownPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_
|
|
|
85
87
|
doc.content,
|
|
86
88
|
...doc.threads
|
|
87
89
|
]),
|
|
88
|
-
serializer:
|
|
90
|
+
serializer: import_chunk_WGMVEPB3.serializer
|
|
89
91
|
}
|
|
90
92
|
})
|
|
91
93
|
}),
|
|
@@ -93,8 +95,8 @@ var MarkdownPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_
|
|
|
93
95
|
id: `${import_chunk_ZU5OIHCY.meta.id}/module/object-form`,
|
|
94
96
|
activatesOn: import_plugin_client.ClientEvents.SetupSchema,
|
|
95
97
|
activate: () => (0, import_app_framework2.contributes)(import_plugin_space.SpaceCapabilities.ObjectForm, (0, import_types.defineObjectForm)({
|
|
96
|
-
objectSchema:
|
|
97
|
-
getIntent: (_, { space }) => (0, import_app_framework2.createIntent)(
|
|
98
|
+
objectSchema: import_chunk_YHL4JSA6.DocumentType,
|
|
99
|
+
getIntent: (_, { space }) => (0, import_app_framework2.createIntent)(import_chunk_YHL4JSA6.MarkdownAction.Create, {
|
|
98
100
|
spaceId: space.id
|
|
99
101
|
})
|
|
100
102
|
}))
|
|
@@ -113,27 +115,27 @@ var MarkdownPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_
|
|
|
113
115
|
activatesBefore: [
|
|
114
116
|
MarkdownEvents.SetupExtensions
|
|
115
117
|
],
|
|
116
|
-
activate:
|
|
118
|
+
activate: import_chunk_HB44GO7V.ReactSurface
|
|
117
119
|
}),
|
|
118
120
|
(0, import_app_framework2.defineModule)({
|
|
119
121
|
id: `${import_chunk_ZU5OIHCY.meta.id}/module/intent-resolver`,
|
|
120
122
|
activatesOn: import_app_framework2.Events.SetupIntentResolver,
|
|
121
|
-
activate:
|
|
123
|
+
activate: import_chunk_HB44GO7V.IntentResolver
|
|
122
124
|
}),
|
|
123
125
|
(0, import_app_framework2.defineModule)({
|
|
124
126
|
id: `${import_chunk_ZU5OIHCY.meta.id}/module/app-graph-serializer`,
|
|
125
127
|
activatesOn: import_app_framework2.Events.AppGraphReady,
|
|
126
|
-
activate:
|
|
128
|
+
activate: import_chunk_HB44GO7V.AppGraphSerializer
|
|
127
129
|
}),
|
|
128
130
|
(0, import_app_framework2.defineModule)({
|
|
129
131
|
id: `${import_chunk_ZU5OIHCY.meta.id}/module/thread`,
|
|
130
132
|
activatesOn: import_plugin_space.ThreadEvents.SetupThread,
|
|
131
|
-
activate:
|
|
133
|
+
activate: import_chunk_HB44GO7V.Thread
|
|
132
134
|
}),
|
|
133
135
|
(0, import_app_framework2.defineModule)({
|
|
134
136
|
id: `${import_chunk_ZU5OIHCY.meta.id}/module/artifact-definition`,
|
|
135
137
|
activatesOn: import_app_framework2.Events.SetupArtifactDefinition,
|
|
136
|
-
activate:
|
|
138
|
+
activate: import_chunk_HB44GO7V.ArtifactDefinition
|
|
137
139
|
})
|
|
138
140
|
]);
|
|
139
141
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -142,6 +144,7 @@ var MarkdownPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_
|
|
|
142
144
|
MarkdownCapabilities,
|
|
143
145
|
MarkdownEvents,
|
|
144
146
|
MarkdownPlugin,
|
|
147
|
+
getAbstract,
|
|
145
148
|
getFallbackName,
|
|
146
149
|
isMarkdownProperties,
|
|
147
150
|
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 { TextType } from '@dxos/schema';\n\nimport {\n
|
|
5
|
-
"mappings": "
|
|
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 { TextType } 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, [TextType]),\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,2BAAuB;ACAvB,IAAAA,wBAA4F;AAC5F,yBAA8C;AAC9C,yBAAyB;AACzB,2BAAiD;AACjD,0BAAgD;AAChD,mBAAiC;AACjC,6BAAmD;AACnD,oBAAyB;;UDHRC,iBAAAA;kBACFC,kBAAkBC,4BAAOC,iBAAiB,GAAGC,qCAAAA,mBAAkC;AAC9F,GAFiBJ,mBAAAA,iBAAAA,CAAAA,EAAAA;ACoBV,IAAMK,iBAAiB,UAC5BC,oCAAaC,4BAAM;MACjBC,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOS;IACpBC,UAAU,UAAMC,mCAAYC,mCAAaC,cAAc;SAAIC;SAAiBC,uBAAAA;KAAmB;EACjG,CAAA;MACAT,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOgB;IACpBN,UAAUO;EACZ,CAAA;MACAX,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;;;;IAIdC,aAAaR,sBAAAA,OAAOgB;IACpBN,UAAUQ;EACZ,CAAA;MACAZ,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOmB;IACpBT,UAAU,UACRC,mCAAYC,mCAAaQ,UAAU;MACjCb,IAAIc,mCAAaC;MACjBC,UAAU;QACRC,OAAO,CAACC,eACNC,iCAAaL,oCAAcI,MAAAA,IAAUA,OAAOE,QAAQF,OAAOG,eAAeC;QAC5EC,MAAM;QACNC,YAAY;UACVC,kBAAkB;QACpB;;QAEAC,gBAAgB,OAAOC,QACrB,MAAMC,4BAASC,QAAoB;UAACF,IAAIG;aAAYH,IAAII;SAAQ;QAClEC;MACF;IACF,CAAA;EACJ,CAAA;MACAjC,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAagC,kCAAaC;IAC1B/B,UAAU,UACRC,mCACE+B,sCAAkBC,gBAClBC,+BAAiB;MACfC,cAAcxB;MACdyB,WAAW,CAACC,GAAG,EAAEC,MAAK,UAAOC,oCAAaC,qCAAeC,QAAQ;QAAEC,SAASJ,MAAMzC;MAAG,CAAA;IACvF,CAAA,CAAA;EAEN,CAAA;MACAD,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAagC,kCAAaC;IAC1B/B,UAAU,UAAMC,mCAAY0C,wCAAmBC,QAAQ;MAACC;KAAS;EACnE,CAAA;MACAjD,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOwD;;IAEpBC,iBAAiB;MAAC3D,eAAeC;;IACjCW,UAAUgD;EACZ,CAAA;MACApD,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAO2D;IACpBjD,UAAUkD;EACZ,CAAA;MACAtD,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAO6D;IACpBnD,UAAUoD;EACZ,CAAA;MACAxD,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAauD,iCAAaC;IAC1BtD,UAAUuD;EACZ,CAAA;MACA3D,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOkE;IACpBxD,UAAUyD;EACZ,CAAA;CACD;",
|
|
6
6
|
"names": ["import_app_framework", "MarkdownEvents", "SetupExtensions", "Events", "createStateEvent", "MARKDOWN_PLUGIN", "MarkdownPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "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", "TextType", "SetupReactSurface", "activatesBefore", "ReactSurface", "SetupIntentResolver", "IntentResolver", "AppGraphReady", "AppGraphSerializer", "ThreadEvents", "SetupThread", "Thread", "SetupArtifactDefinition", "ArtifactDefinition"]
|
|
7
7
|
}
|
|
@@ -16,26 +16,32 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
19
|
+
var intent_resolver_NX5QNRYF_exports = {};
|
|
20
|
+
__export(intent_resolver_NX5QNRYF_exports, {
|
|
21
21
|
default: () => intent_resolver_default
|
|
22
22
|
});
|
|
23
|
-
module.exports = __toCommonJS(
|
|
23
|
+
module.exports = __toCommonJS(intent_resolver_NX5QNRYF_exports);
|
|
24
24
|
var import_chunk_DZXTXSXX = require("./chunk-DZXTXSXX.cjs");
|
|
25
|
-
var
|
|
25
|
+
var import_chunk_YHL4JSA6 = require("./chunk-YHL4JSA6.cjs");
|
|
26
26
|
var import_chunk_ZU5OIHCY = require("./chunk-ZU5OIHCY.cjs");
|
|
27
27
|
var import_app_framework = require("@dxos/app-framework");
|
|
28
|
+
var import_automerge = require("@dxos/automerge/automerge");
|
|
28
29
|
var import_echo_schema = require("@dxos/echo-schema");
|
|
29
30
|
var import_keys = require("@dxos/keys");
|
|
30
31
|
var import_live_object = require("@dxos/live-object");
|
|
32
|
+
var import_log = require("@dxos/log");
|
|
33
|
+
var import_plugin_client = require("@dxos/plugin-client");
|
|
34
|
+
var import_react_client = require("@dxos/react-client");
|
|
35
|
+
var import_echo = require("@dxos/react-client/echo");
|
|
31
36
|
var import_schema = require("@dxos/schema");
|
|
37
|
+
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-markdown/src/capabilities/intent-resolver.ts";
|
|
32
38
|
var intent_resolver_default = (context) => (0, import_app_framework.contributes)(import_app_framework.Capabilities.IntentResolver, [
|
|
33
39
|
(0, import_app_framework.createResolver)({
|
|
34
|
-
intent:
|
|
40
|
+
intent: import_chunk_YHL4JSA6.MarkdownAction.Create,
|
|
35
41
|
resolve: ({ name, spaceId, content }) => {
|
|
36
|
-
const doc = (0, import_live_object.
|
|
42
|
+
const doc = (0, import_live_object.live)(import_chunk_YHL4JSA6.DocumentType, {
|
|
37
43
|
name,
|
|
38
|
-
content: (0, import_live_object.makeRef)((0, import_live_object.
|
|
44
|
+
content: (0, import_live_object.makeRef)((0, import_live_object.live)(import_schema.TextType, {
|
|
39
45
|
content: content ?? ""
|
|
40
46
|
})),
|
|
41
47
|
assistantChatQueue: (0, import_live_object.refFromDXN)(new import_keys.DXN(import_keys.DXN.kind.QUEUE, [
|
|
@@ -53,11 +59,41 @@ var intent_resolver_default = (context) => (0, import_app_framework.contributes)
|
|
|
53
59
|
}
|
|
54
60
|
}),
|
|
55
61
|
(0, import_app_framework.createResolver)({
|
|
56
|
-
intent:
|
|
62
|
+
intent: import_chunk_YHL4JSA6.MarkdownAction.SetViewMode,
|
|
57
63
|
resolve: ({ id, viewMode }) => {
|
|
58
64
|
const { state } = context.requestCapability(import_chunk_DZXTXSXX.MarkdownCapabilities.State);
|
|
59
65
|
state.viewMode[id] = viewMode;
|
|
60
66
|
}
|
|
67
|
+
}),
|
|
68
|
+
// TODO(burdon): What is the error boundary for intents? Are errors reported back to caller?
|
|
69
|
+
(0, import_app_framework.createResolver)({
|
|
70
|
+
intent: import_app_framework.CollaborationActions.InsertContent,
|
|
71
|
+
resolve: async ({ spaceId, target: targetRef, object: objectRef, label }) => {
|
|
72
|
+
const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
|
|
73
|
+
const space = client.spaces.get(spaceId);
|
|
74
|
+
const target = await (0, import_react_client.resolveRef)(client, targetRef.dxn, space);
|
|
75
|
+
if (target && (0, import_echo_schema.isInstanceOf)(import_chunk_YHL4JSA6.DocumentType, target)) {
|
|
76
|
+
const accessor = (0, import_echo.createDocAccessor)(target, [
|
|
77
|
+
"content"
|
|
78
|
+
]);
|
|
79
|
+
const index = 0;
|
|
80
|
+
accessor.handle.change((doc) => {
|
|
81
|
+
const ref = `[${label ?? "Generated content"}]](${objectRef.dxn.toString()})
|
|
82
|
+
`;
|
|
83
|
+
import_automerge.next.splice(doc, accessor.path.slice(), index, 0, ref);
|
|
84
|
+
});
|
|
85
|
+
} else {
|
|
86
|
+
import_log.log.warn("target is not a document", {
|
|
87
|
+
targetRef,
|
|
88
|
+
objectRef
|
|
89
|
+
}, {
|
|
90
|
+
F: __dxlog_file,
|
|
91
|
+
L: 65,
|
|
92
|
+
S: void 0,
|
|
93
|
+
C: (f, a) => f(...a)
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
61
97
|
})
|
|
62
98
|
]);
|
|
63
|
-
//# sourceMappingURL=intent-resolver-
|
|
99
|
+
//# sourceMappingURL=intent-resolver-NX5QNRYF.cjs.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 { TextType } 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(TextType, { 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,2BAMO;AACP,uBAA0B;AAC1B,yBAAuC;AACvC,kBAAuC;AACvC,yBAA0C;AAC1C,iBAAoB;AACpB,2BAAmC;AACnC,0BAA2B;AAC3B,kBAAkC;AAClC,oBAAyB;;AAKzB,IAAA,0BAAe,CAACA,gBACdC,kCAAYC,kCAAaC,gBAAgB;MACvCC,qCAAe;IACbC,QAAQC,qCAAeC;IACvBC,SAAS,CAAC,EAAEC,MAAMC,SAASC,QAAO,MAAE;AAClC,YAAMC,UAAMC,yBAAKC,oCAAc;QAC7BL;QACAE,aAASI,gCAAQF,yBAAKG,wBAAU;UAAEL,SAASA,WAAW;QAAG,CAAA,CAAA;QACzDM,wBAAoBC,+BAAW,IAAIC,gBAAIA,gBAAIC,KAAKC,OAAO;UAACC,8BAAkBC;UAAMb;UAASc,4BAASC,OAAM;SAAG,CAAA;QAC3GC,SAAS,CAAA;MACX,CAAA;AAEA,aAAO;QAAEC,MAAM;UAAEC,QAAQhB;QAAI;MAAE;IACjC;EACF,CAAA;MACAR,qCAAe;IACbC,QAAQC,qCAAeuB;IACvBrB,SAAS,CAAC,EAAEsB,IAAIC,SAAQ,MAAE;AACxB,YAAM,EAAEC,MAAK,IAAKhC,QAAQiC,kBAAkBC,2CAAqBC,KAAK;AACtEH,YAAMD,SAASD,EAAAA,IAAMC;IACvB;EACF,CAAA;;MAEA3B,qCAAe;IACbC,QAAQ+B,0CAAqBC;IAC7B7B,SAAS,OAAO,EAAEE,SAAS4B,QAAQC,WAAWX,QAAQY,WAAWC,MAAK,MAAE;AACtE,YAAMC,SAAS1C,QAAQiC,kBAAkBU,wCAAmBC,MAAM;AAClE,YAAMC,QAAQH,OAAOI,OAAOC,IAAIrC,OAAAA;AAChC,YAAM4B,SAAS,UAAMU,gCAAWN,QAAQH,UAAUU,KAAKJ,KAAAA;AACvD,UAAIP,cAAUY,iCAAapC,oCAAcwB,MAAAA,GAAS;AAChD,cAAMa,eAAWC,+BAAkBd,QAAQ;UAAC;SAAU;AAEtD,cAAMe,QAAQ;AACdF,iBAASG,OAAOC,OAAO,CAAC3C,QAAAA;AAGtB,gBAAM4C,MAAM,IAAIf,SAAS,mBAAA,MAAyBD,UAAUS,IAAIQ,SAAQ,CAAA;;AACxEC,2BAAAA,KAAEC,OAAO/C,KAAKuC,SAASS,KAAKC,MAAK,GAAIR,OAAO,GAAGG,GAAAA;QACjD,CAAA;MACF,OAAO;AACLM,uBAAIC,KAAK,4BAA4B;UAAExB;UAAWC;QAAU,GAAA;;;;;;MAC9D;IACF;EACF,CAAA;CACD;",
|
|
6
|
+
"names": ["context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "MarkdownAction", "Create", "resolve", "name", "spaceId", "content", "doc", "live", "DocumentType", "makeRef", "TextType", "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
|
+
}
|