@dxos/plugin-markdown 0.8.2-staging.7ac8446 → 0.8.3-main.672df60
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-DGPA7SEG.mjs +588 -0
- package/dist/lib/browser/MarkdownContainer-DGPA7SEG.mjs.map +7 -0
- package/dist/lib/browser/MarkdownPreview-KQN2TGK6.mjs +80 -0
- package/dist/lib/browser/MarkdownPreview-KQN2TGK6.mjs.map +7 -0
- package/dist/lib/browser/anchor-sort-VS4OZVPP.mjs +32 -0
- package/dist/lib/browser/anchor-sort-VS4OZVPP.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-NOXI4IQ5.mjs → app-graph-serializer-V6RLEHVY.mjs} +5 -6
- package/dist/lib/browser/app-graph-serializer-V6RLEHVY.mjs.map +7 -0
- package/dist/lib/browser/{artifact-definition-CE6J6NY4.mjs → artifact-definition-5NAODQLG.mjs} +65 -17
- package/dist/lib/browser/artifact-definition-5NAODQLG.mjs.map +7 -0
- package/dist/lib/browser/{chunk-3ULJ4FIJ.mjs → chunk-77NGW7EO.mjs} +12 -26
- package/dist/lib/browser/chunk-77NGW7EO.mjs.map +7 -0
- package/dist/lib/browser/{chunk-QXDKFACU.mjs → chunk-C5RABVIX.mjs} +6 -5
- package/dist/lib/browser/chunk-C5RABVIX.mjs.map +7 -0
- package/dist/lib/browser/chunk-ECSM56YC.mjs +80 -0
- package/dist/lib/browser/chunk-ECSM56YC.mjs.map +7 -0
- package/dist/lib/browser/chunk-OTOPAFWC.mjs +20 -0
- package/dist/lib/browser/chunk-OTOPAFWC.mjs.map +7 -0
- package/dist/lib/browser/{chunk-NAGMSX77.mjs → chunk-QVJETNGS.mjs} +2 -2
- package/dist/lib/{node-esm/chunk-ETXPC5VP.mjs.map → browser/chunk-QVJETNGS.mjs.map} +1 -1
- package/dist/lib/browser/index.mjs +34 -18
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/intent-resolver-4GDYST4Y.mjs +65 -0
- package/dist/lib/browser/intent-resolver-4GDYST4Y.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react-surface-DM6B4UUJ.mjs +200 -0
- package/dist/lib/browser/react-surface-DM6B4UUJ.mjs.map +7 -0
- package/dist/lib/browser/{settings-GCSS3Y4Z.mjs → settings-W5CK4PXP.mjs} +4 -4
- package/dist/lib/browser/settings-W5CK4PXP.mjs.map +7 -0
- package/dist/lib/browser/{state-O7P5JDIH.mjs → state-KI6PJ6DT.mjs} +3 -3
- package/dist/lib/browser/state-KI6PJ6DT.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +3 -1
- package/dist/lib/node/MarkdownContainer-BZK66EQD.cjs +601 -0
- package/dist/lib/node/MarkdownContainer-BZK66EQD.cjs.map +7 -0
- package/dist/lib/node/MarkdownPreview-H7FFIWJH.cjs +103 -0
- package/dist/lib/node/MarkdownPreview-H7FFIWJH.cjs.map +7 -0
- package/dist/lib/node/{thread-42R57L4K.cjs → anchor-sort-NHVF23EU.cjs} +15 -20
- package/dist/lib/node/anchor-sort-NHVF23EU.cjs.map +7 -0
- package/dist/lib/node/{app-graph-serializer-HKK3SEDN.cjs → app-graph-serializer-CLALIYN3.cjs} +10 -11
- package/dist/lib/node/app-graph-serializer-CLALIYN3.cjs.map +7 -0
- package/dist/lib/node/{artifact-definition-XGADFWCQ.cjs → artifact-definition-VEAHK7BX.cjs} +68 -21
- package/dist/lib/node/artifact-definition-VEAHK7BX.cjs.map +7 -0
- package/dist/lib/node/chunk-BBDDZLQH.cjs +58 -0
- package/dist/lib/node/chunk-BBDDZLQH.cjs.map +7 -0
- package/dist/lib/node/{chunk-7QVONRSI.cjs → chunk-G7RBJX22.cjs} +13 -41
- package/dist/lib/node/chunk-G7RBJX22.cjs.map +7 -0
- package/dist/lib/node/{chunk-DZXTXSXX.cjs → chunk-IFYSBQE5.cjs} +5 -5
- package/dist/lib/node/{chunk-DZXTXSXX.cjs.map → chunk-IFYSBQE5.cjs.map} +1 -1
- package/dist/lib/node/{chunk-UEXGNGSS.cjs → chunk-RQS4KBMG.cjs} +45 -39
- package/dist/lib/node/chunk-RQS4KBMG.cjs.map +7 -0
- package/dist/lib/node/{chunk-H5MYVP6F.cjs → chunk-ZDTL47I7.cjs} +9 -8
- package/dist/lib/node/chunk-ZDTL47I7.cjs.map +7 -0
- package/dist/lib/node/index.cjs +43 -28
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/intent-resolver-AUZVK3NZ.cjs +78 -0
- package/dist/lib/node/intent-resolver-AUZVK3NZ.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/react-surface-QBW4FFXF.cjs +213 -0
- package/dist/lib/node/react-surface-QBW4FFXF.cjs.map +7 -0
- package/dist/lib/node/{settings-S2ISUVIH.cjs → settings-IRKU3WPM.cjs} +7 -7
- package/dist/lib/node/settings-IRKU3WPM.cjs.map +7 -0
- package/dist/lib/node/{state-L44SG3ZM.cjs → state-KKDRAG7X.cjs} +7 -7
- package/dist/lib/node/state-KKDRAG7X.cjs.map +7 -0
- 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-2DYVQ6RC.mjs +589 -0
- package/dist/lib/node-esm/MarkdownContainer-2DYVQ6RC.mjs.map +7 -0
- package/dist/lib/node-esm/MarkdownPreview-JUIXYYKF.mjs +81 -0
- package/dist/lib/node-esm/MarkdownPreview-JUIXYYKF.mjs.map +7 -0
- package/dist/lib/node-esm/anchor-sort-G2HLCYFK.mjs +33 -0
- package/dist/lib/node-esm/anchor-sort-G2HLCYFK.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-QQ2CTHOQ.mjs → app-graph-serializer-C3RNTQGM.mjs} +5 -6
- package/dist/lib/node-esm/app-graph-serializer-C3RNTQGM.mjs.map +7 -0
- package/dist/lib/node-esm/{artifact-definition-WRG5ZRN5.mjs → artifact-definition-7TIJW2CO.mjs} +65 -17
- package/dist/lib/node-esm/artifact-definition-7TIJW2CO.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-F6UHVLH7.mjs → chunk-6RPARLIK.mjs} +12 -26
- package/dist/lib/node-esm/chunk-6RPARLIK.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-ETXPC5VP.mjs → chunk-JXXDCSMW.mjs} +2 -2
- package/dist/lib/{browser/chunk-NAGMSX77.mjs.map → node-esm/chunk-JXXDCSMW.mjs.map} +1 -1
- package/dist/lib/node-esm/chunk-KK7LP3UQ.mjs +22 -0
- package/dist/lib/node-esm/chunk-KK7LP3UQ.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-NCMPVEXO.mjs +81 -0
- package/dist/lib/node-esm/chunk-NCMPVEXO.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-JAVD67QP.mjs → chunk-TCFJNUAE.mjs} +6 -5
- package/dist/lib/node-esm/chunk-TCFJNUAE.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +34 -18
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/intent-resolver-FTNXUNI2.mjs +66 -0
- package/dist/lib/node-esm/intent-resolver-FTNXUNI2.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/react-surface-A4VAOQG6.mjs +201 -0
- package/dist/lib/node-esm/react-surface-A4VAOQG6.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-ZDIFTK4N.mjs → settings-MK7D7LHQ.mjs} +4 -4
- package/dist/lib/node-esm/settings-MK7D7LHQ.mjs.map +7 -0
- package/dist/lib/node-esm/{state-DWPOKLEY.mjs → state-LLGVRYKL.mjs} +3 -3
- package/dist/lib/node-esm/state-LLGVRYKL.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +3 -1
- package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/anchor-sort.d.ts +6 -0
- package/dist/types/src/capabilities/anchor-sort.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-serializer.d.ts +2 -2
- package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
- package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +7 -7
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +2 -2
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/state.d.ts +2 -2
- package/dist/types/src/capabilities/state.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownContainer.d.ts +5 -3
- package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +24 -0
- 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 +23 -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 +2 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/extensions.d.ts +8 -5
- package/dist/types/src/extensions.d.ts.map +1 -1
- package/dist/types/src/hooks/useSelectCurrentThread.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +4 -42
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/schema.d.ts +29 -129
- package/dist/types/src/types/schema.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +40 -88
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +1 -0
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +47 -34
- package/src/MarkdownPlugin.tsx +22 -12
- package/src/capabilities/anchor-sort.ts +30 -0
- package/src/capabilities/app-graph-serializer.ts +4 -5
- package/src/capabilities/artifact-definition.ts +48 -10
- package/src/capabilities/index.ts +1 -1
- package/src/capabilities/intent-resolver.ts +40 -12
- package/src/capabilities/react-surface.tsx +20 -5
- package/src/capabilities/settings.ts +2 -2
- package/src/capabilities/state.ts +4 -4
- package/src/components/MarkdownContainer.tsx +20 -7
- package/src/components/{MarkdownEditor.stories.tsx → MarkdownEditor/MarkdownEditor.stories.tsx} +22 -35
- package/src/components/{MarkdownEditor.tsx → MarkdownEditor/MarkdownEditor.tsx} +32 -73
- package/src/components/MarkdownEditor/index.ts +5 -0
- package/src/components/MarkdownPreview/MarkdownPreview.stories.tsx +73 -0
- package/src/components/MarkdownPreview/MarkdownPreview.tsx +71 -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 +217 -0
- package/src/components/Toolbar.stories.tsx +29 -29
- package/src/components/index.ts +1 -0
- package/src/extensions.tsx +82 -48
- package/src/hooks/useSelectCurrentThread.tsx +2 -2
- package/src/translations.ts +3 -3
- package/src/types/schema.ts +22 -15
- package/src/types/types.ts +23 -21
- package/src/util.tsx +8 -4
- package/dist/lib/browser/MarkdownContainer-T3HU27RE.mjs +0 -563
- package/dist/lib/browser/MarkdownContainer-T3HU27RE.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-NOXI4IQ5.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-QXDKFACU.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 +0 -176
- package/dist/lib/browser/react-surface-RQX3CPFV.mjs.map +0 -7
- package/dist/lib/browser/settings-GCSS3Y4Z.mjs.map +0 -7
- package/dist/lib/browser/state-O7P5JDIH.mjs.map +0 -7
- package/dist/lib/browser/thread-3QGCFNVZ.mjs +0 -37
- package/dist/lib/browser/thread-3QGCFNVZ.mjs.map +0 -7
- package/dist/lib/node/MarkdownContainer-6ZJIFAP6.cjs +0 -576
- package/dist/lib/node/MarkdownContainer-6ZJIFAP6.cjs.map +0 -7
- package/dist/lib/node/app-graph-serializer-HKK3SEDN.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-H5MYVP6F.cjs.map +0 -7
- package/dist/lib/node/chunk-UEXGNGSS.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-NW27BF3W.cjs +0 -63
- package/dist/lib/node/intent-resolver-NW27BF3W.cjs.map +0 -7
- package/dist/lib/node/react-surface-5X3SMHGI.cjs +0 -189
- 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/state-L44SG3ZM.cjs.map +0 -7
- package/dist/lib/node/thread-42R57L4K.cjs.map +0 -7
- package/dist/lib/node-esm/MarkdownContainer-URAPTO37.mjs +0 -564
- package/dist/lib/node-esm/MarkdownContainer-URAPTO37.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-QQ2CTHOQ.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/chunk-JAVD67QP.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 +0 -177
- 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/lib/node-esm/state-DWPOKLEY.mjs.map +0 -7
- package/dist/lib/node-esm/thread-R2KHZD6V.mjs +0 -38
- package/dist/lib/node-esm/thread-R2KHZD6V.mjs.map +0 -7
- package/dist/types/src/capabilities/thread.d.ts +0 -6
- package/dist/types/src/capabilities/thread.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownEditor.d.ts +0 -39
- 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/src/capabilities/thread.ts +0 -35
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MARKDOWN_PLUGIN
|
|
3
|
+
} from "./chunk-JX6XNEHE.mjs";
|
|
4
|
+
|
|
5
|
+
// packages/plugins/plugin-markdown/src/types/schema.ts
|
|
6
|
+
import { Schema } from "effect";
|
|
7
|
+
import { Type, Ref } from "@dxos/echo";
|
|
8
|
+
import { LabelAnnotation } from "@dxos/echo-schema";
|
|
9
|
+
import { live } from "@dxos/live-object";
|
|
10
|
+
import { DataType } from "@dxos/schema";
|
|
11
|
+
var DocumentSchema = Schema.Struct({
|
|
12
|
+
name: Schema.optional(Schema.String),
|
|
13
|
+
fallbackName: Schema.optional(Schema.String),
|
|
14
|
+
content: Type.Ref(DataType.Text)
|
|
15
|
+
}).pipe(LabelAnnotation.set([
|
|
16
|
+
"name",
|
|
17
|
+
"fallbackName"
|
|
18
|
+
]));
|
|
19
|
+
var DocumentType = DocumentSchema.pipe(Type.Obj({
|
|
20
|
+
typename: "dxos.org/type/Document",
|
|
21
|
+
version: "0.1.0"
|
|
22
|
+
}));
|
|
23
|
+
var createDocument = ({ name, content }) => live(DocumentType, {
|
|
24
|
+
name,
|
|
25
|
+
content: Ref.make(live(DataType.Text, {
|
|
26
|
+
content
|
|
27
|
+
}))
|
|
28
|
+
});
|
|
29
|
+
var isEditorModel = (data) => data && typeof data === "object" && "id" in data && typeof data.id === "string" && "text" in data && typeof data.text === "string";
|
|
30
|
+
|
|
31
|
+
// packages/plugins/plugin-markdown/src/types/types.ts
|
|
32
|
+
import { Schema as Schema2 } from "effect";
|
|
33
|
+
import { Type as Type2 } from "@dxos/echo";
|
|
34
|
+
import { EditorInputMode, EditorViewMode } from "@dxos/react-ui-editor";
|
|
35
|
+
var MARKDOWN_ACTION = `${MARKDOWN_PLUGIN}/action`;
|
|
36
|
+
(function(MarkdownAction2) {
|
|
37
|
+
class Create extends Schema2.TaggedClass()(MARKDOWN_ACTION, {
|
|
38
|
+
input: Schema2.Struct({
|
|
39
|
+
spaceId: Type2.SpaceId,
|
|
40
|
+
name: Schema2.optional(Schema2.String),
|
|
41
|
+
content: Schema2.optional(Schema2.String)
|
|
42
|
+
}),
|
|
43
|
+
output: Schema2.Struct({
|
|
44
|
+
object: DocumentType
|
|
45
|
+
})
|
|
46
|
+
}) {
|
|
47
|
+
}
|
|
48
|
+
MarkdownAction2.Create = Create;
|
|
49
|
+
class SetViewMode extends Schema2.TaggedClass()(`${MARKDOWN_ACTION}/set-view-mode`, {
|
|
50
|
+
input: Schema2.Struct({
|
|
51
|
+
id: Schema2.String,
|
|
52
|
+
viewMode: EditorViewMode
|
|
53
|
+
}),
|
|
54
|
+
output: Schema2.Void
|
|
55
|
+
}) {
|
|
56
|
+
}
|
|
57
|
+
MarkdownAction2.SetViewMode = SetViewMode;
|
|
58
|
+
})(MarkdownAction || (MarkdownAction = {}));
|
|
59
|
+
var MarkdownSettingsSchema = Schema2.mutable(Schema2.Struct({
|
|
60
|
+
defaultViewMode: EditorViewMode,
|
|
61
|
+
editorInputMode: Schema2.optional(EditorInputMode),
|
|
62
|
+
experimental: Schema2.optional(Schema2.Boolean),
|
|
63
|
+
debug: Schema2.optional(Schema2.Boolean),
|
|
64
|
+
toolbar: Schema2.optional(Schema2.Boolean),
|
|
65
|
+
typewriter: Schema2.optional(Schema2.String),
|
|
66
|
+
// TODO(burdon): Per document settings.
|
|
67
|
+
numberedHeadings: Schema2.optional(Schema2.Boolean),
|
|
68
|
+
folding: Schema2.optional(Schema2.Boolean)
|
|
69
|
+
}));
|
|
70
|
+
var MarkdownAction;
|
|
71
|
+
|
|
72
|
+
export {
|
|
73
|
+
DocumentSchema,
|
|
74
|
+
DocumentType,
|
|
75
|
+
createDocument,
|
|
76
|
+
isEditorModel,
|
|
77
|
+
MarkdownSettingsSchema,
|
|
78
|
+
MarkdownAction
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=chunk-ECSM56YC.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types/schema.ts", "../../../src/types/types.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Type, Ref } from '@dxos/echo';\nimport { LabelAnnotation } from '@dxos/echo-schema';\nimport { live } from '@dxos/live-object';\nimport { DataType } from '@dxos/schema';\n\nexport const DocumentSchema = Schema.Struct({\n name: Schema.optional(Schema.String),\n fallbackName: Schema.optional(Schema.String),\n content: Type.Ref(DataType.Text),\n}).pipe(LabelAnnotation.set(['name', 'fallbackName']));\n\nexport const DocumentType = DocumentSchema.pipe(\n Type.Obj({\n typename: 'dxos.org/type/Document',\n version: '0.1.0',\n }),\n);\nexport type DocumentType = Schema.Schema.Type<typeof DocumentType>;\n\n// TODO(burdon): Replace when defaults are supported.\nexport const createDocument = ({ name, content }: { name: string; content: string }) =>\n live(DocumentType, { name, content: Ref.make(live(DataType.Text, { content })) });\n\n/**\n * Checks if an object conforms to the interface needed to render an editor.\n */\n// TODO(burdon): Normalize types (from FilesPlugin).\nexport const isEditorModel = (data: any): data is { id: string; text: string } =>\n data &&\n typeof data === 'object' &&\n 'id' in data &&\n typeof data.id === 'string' &&\n 'text' in data &&\n typeof data.text === 'string';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Type } from '@dxos/echo';\n// TODO(wittjosiah): This pulls in UI code into the types entrypoint.\nimport { type Extension, EditorInputMode, EditorViewMode } from '@dxos/react-ui-editor';\n\nimport { DocumentType } from './schema';\nimport { MARKDOWN_PLUGIN } from '../meta';\n\nconst MARKDOWN_ACTION = `${MARKDOWN_PLUGIN}/action`;\n\nexport namespace MarkdownAction {\n export class Create extends Schema.TaggedClass<Create>()(MARKDOWN_ACTION, {\n input: Schema.Struct({\n spaceId: Type.SpaceId,\n name: Schema.optional(Schema.String),\n content: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: DocumentType,\n }),\n }) {}\n\n export class SetViewMode extends Schema.TaggedClass<SetViewMode>()(`${MARKDOWN_ACTION}/set-view-mode`, {\n input: Schema.Struct({\n id: Schema.String,\n viewMode: EditorViewMode,\n }),\n output: Schema.Void,\n }) {}\n}\n\nexport type MarkdownProperties = Record<string, any>;\n\n// TODO(burdon): Async.\nexport type MarkdownExtensionProvider = (props: { document?: DocumentType }) => Extension | undefined;\n\nexport type OnChange = (text: string) => void;\n\nexport type MarkdownPluginState = {\n // Codemirror extensions provided by other plugins.\n extensionProviders?: MarkdownExtensionProvider[];\n\n // TODO(burdon): Extend view mode per document to include scroll position, etc.\n // View mode per document.\n viewMode: Record<string, EditorViewMode>;\n};\n\nexport const MarkdownSettingsSchema = Schema.mutable(\n Schema.Struct({\n defaultViewMode: EditorViewMode,\n editorInputMode: Schema.optional(EditorInputMode),\n experimental: Schema.optional(Schema.Boolean),\n debug: Schema.optional(Schema.Boolean),\n toolbar: Schema.optional(Schema.Boolean),\n typewriter: Schema.optional(Schema.String),\n // TODO(burdon): Per document settings.\n numberedHeadings: Schema.optional(Schema.Boolean),\n folding: Schema.optional(Schema.Boolean),\n }),\n);\n\nexport type MarkdownSettingsProps = Schema.Schema.Type<typeof MarkdownSettingsSchema>;\n"],
|
|
5
|
+
"mappings": ";;;;;AAIA,SAASA,cAAc;AAEvB,SAASC,MAAMC,WAAW;AAC1B,SAASC,uBAAuB;AAChC,SAASC,YAAY;AACrB,SAASC,gBAAgB;AAElB,IAAMC,iBAAiBC,OAAOC,OAAO;EAC1CC,MAAMF,OAAOG,SAASH,OAAOI,MAAM;EACnCC,cAAcL,OAAOG,SAASH,OAAOI,MAAM;EAC3CE,SAASC,KAAKC,IAAIC,SAASC,IAAI;AACjC,CAAA,EAAGC,KAAKC,gBAAgBC,IAAI;EAAC;EAAQ;CAAe,CAAA;AAE7C,IAAMC,eAAef,eAAeY,KACzCJ,KAAKQ,IAAI;EACPC,UAAU;EACVC,SAAS;AACX,CAAA,CAAA;AAKK,IAAMC,iBAAiB,CAAC,EAAEhB,MAAMI,QAAO,MAC5Ca,KAAKL,cAAc;EAAEZ;EAAMI,SAASE,IAAIY,KAAKD,KAAKV,SAASC,MAAM;IAAEJ;EAAQ,CAAA,CAAA;AAAI,CAAA;AAM1E,IAAMe,gBAAgB,CAACC,SAC5BA,QACA,OAAOA,SAAS,YAChB,QAAQA,QACR,OAAOA,KAAKC,OAAO,YACnB,UAAUD,QACV,OAAOA,KAAKE,SAAS;;;ACnCvB,SAASC,UAAAA,eAAc;AAEvB,SAASC,QAAAA,aAAY;AAErB,SAAyBC,iBAAiBC,sBAAsB;AAKhE,IAAMC,kBAAkB,GAAGC,eAAAA;UAEVC,iBAAAA;EACR,MAAMC,eAAeC,QAAOC,YAAW,EAAWL,iBAAiB;IACxEM,OAAOF,QAAOG,OAAO;MACnBC,SAASC,MAAKC;MACdC,MAAMP,QAAOQ,SAASR,QAAOS,MAAM;MACnCC,SAASV,QAAOQ,SAASR,QAAOS,MAAM;IACxC,CAAA;IACAE,QAAQX,QAAOG,OAAO;MACpBS,QAAQC;IACV,CAAA;EACF,CAAA,EAAA;EAAI;kBATSd,SAAAA;EAWN,MAAMe,oBAAoBd,QAAOC,YAAW,EAAgB,GAAGL,eAAAA,kBAAiC;IACrGM,OAAOF,QAAOG,OAAO;MACnBY,IAAIf,QAAOS;MACXO,UAAUC;IACZ,CAAA;IACAN,QAAQX,QAAOkB;EACjB,CAAA,EAAA;EAAI;kBANSJ,cAAAA;AAOf,GAnBiBhB,mBAAAA,iBAAAA,CAAAA,EAAAA;AAqCV,IAAMqB,yBAAyBnB,QAAOoB,QAC3CpB,QAAOG,OAAO;EACZkB,iBAAiBJ;EACjBK,iBAAiBtB,QAAOQ,SAASe,eAAAA;EACjCC,cAAcxB,QAAOQ,SAASR,QAAOyB,OAAO;EAC5CC,OAAO1B,QAAOQ,SAASR,QAAOyB,OAAO;EACrCE,SAAS3B,QAAOQ,SAASR,QAAOyB,OAAO;EACvCG,YAAY5B,QAAOQ,SAASR,QAAOS,MAAM;;EAEzCoB,kBAAkB7B,QAAOQ,SAASR,QAAOyB,OAAO;EAChDK,SAAS9B,QAAOQ,SAASR,QAAOyB,OAAO;AACzC,CAAA,CAAA;;",
|
|
6
|
+
"names": ["Schema", "Type", "Ref", "LabelAnnotation", "live", "DataType", "DocumentSchema", "Schema", "Struct", "name", "optional", "String", "fallbackName", "content", "Type", "Ref", "DataType", "Text", "pipe", "LabelAnnotation", "set", "DocumentType", "Obj", "typename", "version", "createDocument", "live", "make", "isEditorModel", "data", "id", "text", "Schema", "Type", "EditorInputMode", "EditorViewMode", "MARKDOWN_ACTION", "MARKDOWN_PLUGIN", "MarkdownAction", "Create", "Schema", "TaggedClass", "input", "Struct", "spaceId", "Type", "SpaceId", "name", "optional", "String", "content", "output", "object", "DocumentType", "SetViewMode", "id", "viewMode", "EditorViewMode", "Void", "MarkdownSettingsSchema", "mutable", "defaultViewMode", "editorInputMode", "EditorInputMode", "experimental", "Boolean", "debug", "toolbar", "typewriter", "numberedHeadings", "folding"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// packages/plugins/plugin-markdown/src/capabilities/index.ts
|
|
2
|
+
import { lazy } from "@dxos/app-framework";
|
|
3
|
+
var AnchorSort = lazy(() => import("./anchor-sort-VS4OZVPP.mjs"));
|
|
4
|
+
var AppGraphSerializer = lazy(() => import("./app-graph-serializer-V6RLEHVY.mjs"));
|
|
5
|
+
var ArtifactDefinition = lazy(() => import("./artifact-definition-5NAODQLG.mjs"));
|
|
6
|
+
var IntentResolver = lazy(() => import("./intent-resolver-4GDYST4Y.mjs"));
|
|
7
|
+
var ReactSurface = lazy(() => import("./react-surface-DM6B4UUJ.mjs"));
|
|
8
|
+
var MarkdownSettings = lazy(() => import("./settings-W5CK4PXP.mjs"));
|
|
9
|
+
var MarkdownState = lazy(() => import("./state-KI6PJ6DT.mjs"));
|
|
10
|
+
|
|
11
|
+
export {
|
|
12
|
+
AnchorSort,
|
|
13
|
+
AppGraphSerializer,
|
|
14
|
+
ArtifactDefinition,
|
|
15
|
+
IntentResolver,
|
|
16
|
+
ReactSurface,
|
|
17
|
+
MarkdownSettings,
|
|
18
|
+
MarkdownState
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=chunk-OTOPAFWC.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AnchorSort = lazy(() => import('./anchor-sort'));\nexport const AppGraphSerializer = lazy(() => import('./app-graph-serializer'));\nexport const ArtifactDefinition = lazy(() => import('./artifact-definition'));\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\nexport const MarkdownSettings = lazy(() => import('./settings'));\nexport const MarkdownState = lazy(() => import('./state'));\n\nexport * from './capabilities';\n"],
|
|
5
|
+
"mappings": ";AAIA,SAASA,YAAY;AAEd,IAAMC,aAAaC,KAAK,MAAM,OAAO,4BAAA,CAAA;AACrC,IAAMC,qBAAqBD,KAAK,MAAM,OAAO,qCAAA,CAAA;AAC7C,IAAME,qBAAqBF,KAAK,MAAM,OAAO,oCAAA,CAAA;AAC7C,IAAMG,iBAAiBH,KAAK,MAAM,OAAO,gCAAA,CAAA;AACzC,IAAMI,eAAeJ,KAAK,MAAM,OAAO,8BAAA,CAAA;AACvC,IAAMK,mBAAmBL,KAAK,MAAM,OAAO,yBAAA,CAAA;AAC3C,IAAMM,gBAAgBN,KAAK,MAAM,OAAO,sBAAA,CAAA;",
|
|
6
|
+
"names": ["lazy", "AnchorSort", "lazy", "AppGraphSerializer", "ArtifactDefinition", "IntentResolver", "ReactSurface", "MarkdownSettings", "MarkdownState"]
|
|
7
|
+
}
|
|
@@ -4,13 +4,13 @@ import {
|
|
|
4
4
|
|
|
5
5
|
// packages/plugins/plugin-markdown/src/capabilities/capabilities.ts
|
|
6
6
|
import { defineCapability } from "@dxos/app-framework";
|
|
7
|
-
var MarkdownCapabilities;
|
|
8
7
|
(function(MarkdownCapabilities2) {
|
|
9
8
|
MarkdownCapabilities2.State = defineCapability(`${MARKDOWN_PLUGIN}/capability/state`);
|
|
10
9
|
MarkdownCapabilities2.Extensions = defineCapability(`${MARKDOWN_PLUGIN}/capability/extensions`);
|
|
11
10
|
})(MarkdownCapabilities || (MarkdownCapabilities = {}));
|
|
11
|
+
var MarkdownCapabilities;
|
|
12
12
|
|
|
13
13
|
export {
|
|
14
14
|
MarkdownCapabilities
|
|
15
15
|
};
|
|
16
|
-
//# sourceMappingURL=chunk-
|
|
16
|
+
//# sourceMappingURL=chunk-QVJETNGS.mjs.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/capabilities/capabilities.ts"],
|
|
4
4
|
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineCapability } from '@dxos/app-framework';\nimport { type EditorViewMode, type EditorStateStore } from '@dxos/react-ui-editor';\n\nimport { MARKDOWN_PLUGIN } from '../meta';\nimport { type MarkdownExtensionProvider, type MarkdownPluginState } from '../types';\n\nexport namespace MarkdownCapabilities {\n export const State = defineCapability<{\n state: MarkdownPluginState;\n editorState: EditorStateStore;\n getViewMode: (id: string) => EditorViewMode;\n setViewMode: (id: string, viewMode: EditorViewMode) => void;\n }>(`${MARKDOWN_PLUGIN}/capability/state`);\n\n export const Extensions = defineCapability<MarkdownExtensionProvider[]>(`${MARKDOWN_PLUGIN}/capability/extensions`);\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;AAIA,SAASA,wBAAwB;UAMhBC,uBAAAA;wBACFC,QAAQC,iBAKlB,GAAGC,eAAAA,mBAAkC;wBAE3BC,aAAaF,iBAA8C,GAAGC,eAAAA,wBAAuC;AACpH,GATiBH,yBAAAA,uBAAAA,CAAAA,EAAAA;;",
|
|
6
6
|
"names": ["defineCapability", "MarkdownCapabilities", "State", "defineCapability", "MARKDOWN_PLUGIN", "Extensions"]
|
|
7
7
|
}
|
|
@@ -1,26 +1,29 @@
|
|
|
1
1
|
import {
|
|
2
2
|
translations_default
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-C5RABVIX.mjs";
|
|
4
4
|
import {
|
|
5
|
+
AnchorSort,
|
|
5
6
|
AppGraphSerializer,
|
|
6
7
|
ArtifactDefinition,
|
|
7
8
|
IntentResolver,
|
|
8
9
|
MarkdownSettings,
|
|
9
10
|
MarkdownState,
|
|
10
|
-
ReactSurface
|
|
11
|
-
|
|
11
|
+
ReactSurface
|
|
12
|
+
} from "./chunk-OTOPAFWC.mjs";
|
|
13
|
+
import {
|
|
14
|
+
MarkdownCapabilities
|
|
15
|
+
} from "./chunk-QVJETNGS.mjs";
|
|
16
|
+
import {
|
|
17
|
+
getAbstract,
|
|
12
18
|
getFallbackName,
|
|
13
19
|
isMarkdownProperties,
|
|
14
20
|
serializer,
|
|
15
21
|
setFallbackName
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import {
|
|
18
|
-
MarkdownCapabilities
|
|
19
|
-
} from "./chunk-NAGMSX77.mjs";
|
|
22
|
+
} from "./chunk-77NGW7EO.mjs";
|
|
20
23
|
import {
|
|
21
24
|
DocumentType,
|
|
22
25
|
MarkdownAction
|
|
23
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-ECSM56YC.mjs";
|
|
24
27
|
import {
|
|
25
28
|
MARKDOWN_PLUGIN,
|
|
26
29
|
meta
|
|
@@ -28,20 +31,21 @@ import {
|
|
|
28
31
|
|
|
29
32
|
// packages/plugins/plugin-markdown/src/events.ts
|
|
30
33
|
import { Events } from "@dxos/app-framework";
|
|
31
|
-
var MarkdownEvents;
|
|
32
34
|
(function(MarkdownEvents2) {
|
|
33
35
|
MarkdownEvents2.SetupExtensions = Events.createStateEvent(`${MARKDOWN_PLUGIN}/setup-extensions`);
|
|
34
36
|
})(MarkdownEvents || (MarkdownEvents = {}));
|
|
37
|
+
var MarkdownEvents;
|
|
35
38
|
|
|
36
39
|
// packages/plugins/plugin-markdown/src/MarkdownPlugin.tsx
|
|
37
40
|
import { Capabilities, contributes, createIntent, defineModule, definePlugin, Events as Events2 } from "@dxos/app-framework";
|
|
38
41
|
import { isInstanceOf } from "@dxos/echo-schema";
|
|
39
42
|
import { RefArray } from "@dxos/live-object";
|
|
40
43
|
import { ClientCapabilities, ClientEvents } from "@dxos/plugin-client";
|
|
41
|
-
import { SpaceCapabilities
|
|
44
|
+
import { SpaceCapabilities } from "@dxos/plugin-space";
|
|
42
45
|
import { defineObjectForm } from "@dxos/plugin-space/types";
|
|
46
|
+
import { createDocAccessor, getTextInRange } from "@dxos/react-client/echo";
|
|
43
47
|
import { translations as editorTranslations } from "@dxos/react-ui-editor";
|
|
44
|
-
import {
|
|
48
|
+
import { DataType } from "@dxos/schema";
|
|
45
49
|
var MarkdownPlugin = () => definePlugin(meta, [
|
|
46
50
|
defineModule({
|
|
47
51
|
id: `${meta.id}/module/translations`,
|
|
@@ -77,10 +81,20 @@ var MarkdownPlugin = () => definePlugin(meta, [
|
|
|
77
81
|
},
|
|
78
82
|
// TODO(wittjosiah): Move out of metadata.
|
|
79
83
|
loadReferences: async (doc) => await RefArray.loadAll([
|
|
80
|
-
doc.content
|
|
81
|
-
...doc.threads
|
|
84
|
+
doc.content
|
|
82
85
|
]),
|
|
83
|
-
serializer
|
|
86
|
+
serializer,
|
|
87
|
+
// TODO(wittjosiah): Consider how to do generic comments without these.
|
|
88
|
+
comments: "anchored",
|
|
89
|
+
selectionMode: "multi-range",
|
|
90
|
+
getAnchorLabel: (doc, anchor) => {
|
|
91
|
+
if (doc.content) {
|
|
92
|
+
const [start, end] = anchor.split(":");
|
|
93
|
+
return getTextInRange(createDocAccessor(doc.content.target, [
|
|
94
|
+
"content"
|
|
95
|
+
]), start, end);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
84
98
|
}
|
|
85
99
|
})
|
|
86
100
|
}),
|
|
@@ -98,7 +112,7 @@ var MarkdownPlugin = () => definePlugin(meta, [
|
|
|
98
112
|
id: `${meta.id}/module/schema`,
|
|
99
113
|
activatesOn: ClientEvents.SetupSchema,
|
|
100
114
|
activate: () => contributes(ClientCapabilities.Schema, [
|
|
101
|
-
|
|
115
|
+
DataType.Text
|
|
102
116
|
])
|
|
103
117
|
}),
|
|
104
118
|
defineModule({
|
|
@@ -121,9 +135,10 @@ var MarkdownPlugin = () => definePlugin(meta, [
|
|
|
121
135
|
activate: AppGraphSerializer
|
|
122
136
|
}),
|
|
123
137
|
defineModule({
|
|
124
|
-
id: `${meta.id}/module/
|
|
125
|
-
|
|
126
|
-
|
|
138
|
+
id: `${meta.id}/module/anchor-sort`,
|
|
139
|
+
// TODO(wittjosiah): More relevant event?
|
|
140
|
+
activatesOn: Events2.AppGraphReady,
|
|
141
|
+
activate: AnchorSort
|
|
127
142
|
}),
|
|
128
143
|
defineModule({
|
|
129
144
|
id: `${meta.id}/module/artifact-definition`,
|
|
@@ -136,6 +151,7 @@ export {
|
|
|
136
151
|
MarkdownCapabilities,
|
|
137
152
|
MarkdownEvents,
|
|
138
153
|
MarkdownPlugin,
|
|
154
|
+
getAbstract,
|
|
139
155
|
getFallbackName,
|
|
140
156
|
isMarkdownProperties,
|
|
141
157
|
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
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["Events", "MarkdownEvents", "SetupExtensions", "Events", "createStateEvent", "MARKDOWN_PLUGIN", "Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "isInstanceOf", "RefArray", "ClientCapabilities", "ClientEvents", "SpaceCapabilities", "
|
|
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 } 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 { 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) => await RefArray.loadAll<BaseObject>([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: DocumentType, 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: 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/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", "MARKDOWN_PLUGIN", "Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "isInstanceOf", "RefArray", "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", "DocumentType", "typename", "metadata", "label", "object", "isInstanceOf", "name", "fallbackName", "undefined", "icon", "graphProps", "managesAutofocus", "loadReferences", "doc", "RefArray", "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
|
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MarkdownCapabilities
|
|
3
|
+
} from "./chunk-QVJETNGS.mjs";
|
|
4
|
+
import {
|
|
5
|
+
DocumentType,
|
|
6
|
+
MarkdownAction
|
|
7
|
+
} from "./chunk-ECSM56YC.mjs";
|
|
8
|
+
import "./chunk-JX6XNEHE.mjs";
|
|
9
|
+
|
|
10
|
+
// packages/plugins/plugin-markdown/src/capabilities/intent-resolver.ts
|
|
11
|
+
import { next as A } from "@automerge/automerge";
|
|
12
|
+
import { Option, pipe } from "effect";
|
|
13
|
+
import { Capabilities, CollaborationActions, contributes, createResolver } from "@dxos/app-framework";
|
|
14
|
+
import { isInstanceOf } from "@dxos/echo-schema";
|
|
15
|
+
import { live } from "@dxos/live-object";
|
|
16
|
+
import { createDocAccessor, getRangeFromCursor, Ref } from "@dxos/react-client/echo";
|
|
17
|
+
import { DataType } from "@dxos/schema";
|
|
18
|
+
var intent_resolver_default = (context) => contributes(Capabilities.IntentResolver, [
|
|
19
|
+
createResolver({
|
|
20
|
+
intent: MarkdownAction.Create,
|
|
21
|
+
resolve: ({ name, content }) => {
|
|
22
|
+
const doc = live(DocumentType, {
|
|
23
|
+
name,
|
|
24
|
+
content: Ref.make(live(DataType.Text, {
|
|
25
|
+
content: content ?? ""
|
|
26
|
+
}))
|
|
27
|
+
});
|
|
28
|
+
return {
|
|
29
|
+
data: {
|
|
30
|
+
object: doc
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
}),
|
|
35
|
+
createResolver({
|
|
36
|
+
intent: MarkdownAction.SetViewMode,
|
|
37
|
+
resolve: ({ id, viewMode }) => {
|
|
38
|
+
const { state } = context.getCapability(MarkdownCapabilities.State);
|
|
39
|
+
state.viewMode[id] = viewMode;
|
|
40
|
+
}
|
|
41
|
+
}),
|
|
42
|
+
createResolver({
|
|
43
|
+
intent: CollaborationActions.InsertContent,
|
|
44
|
+
filter: (data) => isInstanceOf(DocumentType, data.target),
|
|
45
|
+
resolve: async ({ target, object: objectRef, at, label }) => {
|
|
46
|
+
const text = await target.content.load();
|
|
47
|
+
const accessor = createDocAccessor(text, [
|
|
48
|
+
"content"
|
|
49
|
+
]);
|
|
50
|
+
const { start, end } = pipe(Option.fromNullable(at), Option.flatMap((at2) => Option.fromNullable(getRangeFromCursor(accessor, at2))), Option.getOrElse(() => ({
|
|
51
|
+
start: text.content.length - 1,
|
|
52
|
+
end: text.content.length - 1
|
|
53
|
+
})));
|
|
54
|
+
accessor.handle.change((doc) => {
|
|
55
|
+
const ref = `[${label ?? "Generated content"}]](${objectRef.dxn.toString()})
|
|
56
|
+
`;
|
|
57
|
+
A.splice(doc, accessor.path.slice(), start, end - start, ref);
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
})
|
|
61
|
+
]);
|
|
62
|
+
export {
|
|
63
|
+
intent_resolver_default as default
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=intent-resolver-4GDYST4Y.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 { isInstanceOf } from '@dxos/echo-schema';\nimport { live } from '@dxos/live-object';\nimport { createDocAccessor, getRangeFromCursor, Ref } from '@dxos/react-client/echo';\nimport { DataType } from '@dxos/schema';\n\nimport { MarkdownCapabilities } from './capabilities';\nimport { DocumentType, MarkdownAction } from '../types';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: MarkdownAction.Create,\n resolve: ({ name, content }) => {\n const doc = live(DocumentType, {\n name,\n content: Ref.make(live(DataType.Text, { content: content ?? '' })),\n });\n\n return { data: { object: doc } };\n },\n }),\n createResolver({\n intent: MarkdownAction.SetViewMode,\n resolve: ({ id, viewMode }) => {\n const { state } = context.getCapability(MarkdownCapabilities.State);\n state.viewMode[id] = viewMode;\n },\n }),\n createResolver({\n intent: CollaborationActions.InsertContent,\n filter: (\n data,\n ): data is Omit<Schema.Schema.Type<typeof CollaborationActions.InsertContent.fields.input>, 'target'> & {\n target: DocumentType;\n } => isInstanceOf(DocumentType, 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,oBAAoB;AAC7B,SAASC,YAAY;AACrB,SAASC,mBAAmBC,oBAAoBC,WAAW;AAC3D,SAASC,gBAAgB;AAKzB,IAAA,0BAAe,CAACC,YACdC,YAAYC,aAAaC,gBAAgB;EACvCC,eAAe;IACbC,QAAQC,eAAeC;IACvBC,SAAS,CAAC,EAAEC,MAAMC,QAAO,MAAE;AACzB,YAAMC,MAAMC,KAAKC,cAAc;QAC7BJ;QACAC,SAASI,IAAIC,KAAKH,KAAKI,SAASC,MAAM;UAAEP,SAASA,WAAW;QAAG,CAAA,CAAA;MACjE,CAAA;AAEA,aAAO;QAAEQ,MAAM;UAAEC,QAAQR;QAAI;MAAE;IACjC;EACF,CAAA;EACAP,eAAe;IACbC,QAAQC,eAAec;IACvBZ,SAAS,CAAC,EAAEa,IAAIC,SAAQ,MAAE;AACxB,YAAM,EAAEC,MAAK,IAAKvB,QAAQwB,cAAcC,qBAAqBC,KAAK;AAClEH,YAAMD,SAASD,EAAAA,IAAMC;IACvB;EACF,CAAA;EACAlB,eAAe;IACbC,QAAQsB,qBAAqBC;IAC7BC,QAAQ,CACNX,SAGGY,aAAajB,cAAcK,KAAKa,MAAM;IAC3CvB,SAAS,OAAO,EAAEuB,QAAQZ,QAAQa,WAAWC,IAAIC,MAAK,MAAE;AACtD,YAAMC,OAAO,MAAMJ,OAAOrB,QAAQ0B,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,KAAKzB,QAAQqC,SAAS;QAAGP,KAAKL,KAAKzB,QAAQqC,SAAS;MAAE,EAAA,CAAA;AAEzFV,eAASW,OAAOC,OAAO,CAACtC,QAAAA;AACtB,cAAMuC,MAAM,IAAIhB,SAAS,mBAAA,MAAyBF,UAAUmB,IAAIC,SAAQ,CAAA;;AACxEC,UAAEC,OAAO3C,KAAK0B,SAASkB,KAAKC,MAAK,GAAIjB,OAAOC,MAAMD,OAAOW,GAAAA;MAC3D,CAAA;IACF;EACF,CAAA;CACD;",
|
|
6
|
+
"names": ["next", "A", "Option", "pipe", "Capabilities", "CollaborationActions", "contributes", "createResolver", "isInstanceOf", "live", "createDocAccessor", "getRangeFromCursor", "Ref", "DataType", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "MarkdownAction", "Create", "resolve", "name", "content", "doc", "live", "DocumentType", "Ref", "make", "DataType", "Text", "data", "object", "SetViewMode", "id", "viewMode", "state", "getCapability", "MarkdownCapabilities", "State", "CollaborationActions", "InsertContent", "filter", "isInstanceOf", "target", "objectRef", "at", "label", "text", "load", "accessor", "createDocAccessor", "start", "end", "pipe", "Option", "fromNullable", "flatMap", "getRangeFromCursor", "getOrElse", "length", "handle", "change", "ref", "dxn", "toString", "A", "splice", "path", "slice"]
|
|
7
|
+
}
|