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