@dxos/plugin-markdown 0.8.4-main.2e9d522 → 0.8.4-main.5ea62a8
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/{MarkdownPreview-S3C7CGAV.mjs → MarkdownCard-JLUQITYK.mjs} +16 -16
- package/dist/lib/browser/MarkdownCard-JLUQITYK.mjs.map +7 -0
- package/dist/lib/browser/{MarkdownContainer-F3WEEIBX.mjs → MarkdownContainer-7M37DXAD.mjs} +263 -260
- package/dist/lib/browser/MarkdownContainer-7M37DXAD.mjs.map +7 -0
- package/dist/lib/browser/{anchor-sort-UKJJ7ZNP.mjs → anchor-sort-E33BSTYF.mjs} +5 -5
- package/dist/lib/browser/anchor-sort-E33BSTYF.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-ICLAF662.mjs → app-graph-serializer-OX62DNPT.mjs} +10 -11
- package/dist/lib/browser/app-graph-serializer-OX62DNPT.mjs.map +7 -0
- package/dist/lib/browser/blueprint-definition-Z3RQGWUD.mjs +11 -0
- package/dist/lib/browser/blueprint-definition-Z3RQGWUD.mjs.map +7 -0
- package/dist/lib/browser/chunk-BEE7VQPU.mjs +78 -0
- package/dist/lib/browser/chunk-BEE7VQPU.mjs.map +7 -0
- package/dist/lib/browser/chunk-D7UYVHL6.mjs +20 -0
- package/dist/lib/browser/{chunk-PHTD5DTR.mjs.map → chunk-D7UYVHL6.mjs.map} +3 -3
- package/dist/lib/browser/{chunk-LFML7LC6.mjs → chunk-LAVZ2W6X.mjs} +8 -9
- package/dist/lib/browser/chunk-LAVZ2W6X.mjs.map +7 -0
- package/dist/lib/browser/chunk-ODB2PTBP.mjs +28 -0
- package/dist/lib/browser/chunk-ODB2PTBP.mjs.map +7 -0
- package/dist/lib/browser/chunk-OY6CGPOO.mjs +16 -0
- package/dist/lib/browser/chunk-OY6CGPOO.mjs.map +7 -0
- package/dist/lib/browser/{chunk-LHDCHDBW.mjs → chunk-Z7P6JGGW.mjs} +6 -5
- package/dist/lib/browser/chunk-Z7P6JGGW.mjs.map +7 -0
- package/dist/lib/browser/chunk-ZVVKLB5L.mjs +121 -0
- package/dist/lib/browser/chunk-ZVVKLB5L.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +26 -20
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/intent-resolver-WDDH56JC.mjs +62 -0
- package/dist/lib/browser/intent-resolver-WDDH56JC.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-C3Z423TV.mjs → react-surface-LN2XK2UN.mjs} +53 -44
- package/dist/lib/browser/react-surface-LN2XK2UN.mjs.map +7 -0
- package/dist/lib/browser/{settings-KN75ZQY6.mjs → settings-AABBTB4Q.mjs} +5 -5
- package/dist/lib/browser/settings-AABBTB4Q.mjs.map +7 -0
- package/dist/lib/browser/{state-LZWTAS65.mjs → state-FTHQQX7V.mjs} +7 -7
- package/dist/lib/browser/state-FTHQQX7V.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +6 -14
- package/dist/lib/node-esm/{MarkdownPreview-77UFEWXT.mjs → MarkdownCard-XL5EVSJ7.mjs} +16 -16
- package/dist/lib/node-esm/MarkdownCard-XL5EVSJ7.mjs.map +7 -0
- package/dist/lib/node-esm/{MarkdownContainer-VOUHL6IU.mjs → MarkdownContainer-K3BPAGWO.mjs} +263 -260
- package/dist/lib/node-esm/MarkdownContainer-K3BPAGWO.mjs.map +7 -0
- package/dist/lib/node-esm/{anchor-sort-IPIS5D5B.mjs → anchor-sort-ALP2NH24.mjs} +5 -5
- package/dist/lib/node-esm/anchor-sort-ALP2NH24.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-FLBXQKKR.mjs → app-graph-serializer-56TD3BMX.mjs} +10 -11
- package/dist/lib/node-esm/app-graph-serializer-56TD3BMX.mjs.map +7 -0
- package/dist/lib/node-esm/blueprint-definition-735OAX33.mjs +12 -0
- package/dist/lib/node-esm/blueprint-definition-735OAX33.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-ACFGXH2K.mjs → chunk-CB2R4YIY.mjs} +5 -5
- package/dist/lib/node-esm/chunk-CB2R4YIY.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-FXILAQ5F.mjs +79 -0
- package/dist/lib/node-esm/chunk-FXILAQ5F.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-VIR2ABYE.mjs → chunk-J7A6TUB2.mjs} +6 -5
- package/dist/lib/node-esm/chunk-J7A6TUB2.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-JPXFCBC4.mjs +22 -0
- package/dist/lib/node-esm/{chunk-7X6TPTJK.mjs.map → chunk-JPXFCBC4.mjs.map} +3 -3
- package/dist/lib/node-esm/{chunk-CWTFQSN7.mjs → chunk-O6EXWGGS.mjs} +8 -9
- package/dist/lib/node-esm/chunk-O6EXWGGS.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-VCG2U522.mjs +29 -0
- package/dist/lib/node-esm/chunk-VCG2U522.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-Y422WR6A.mjs +122 -0
- package/dist/lib/node-esm/chunk-Y422WR6A.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +26 -20
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/intent-resolver-2I5HKCUU.mjs +63 -0
- package/dist/lib/node-esm/intent-resolver-2I5HKCUU.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-TTTBYNI2.mjs → react-surface-DJGGKYBD.mjs} +53 -44
- package/dist/lib/node-esm/react-surface-DJGGKYBD.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-KVP7TVX7.mjs → settings-CXGR6DH4.mjs} +5 -5
- package/dist/lib/node-esm/settings-CXGR6DH4.mjs.map +7 -0
- package/dist/lib/node-esm/{state-NW3W4JCQ.mjs → state-NWMQ3XAI.mjs} +7 -7
- package/dist/lib/node-esm/state-NWMQ3XAI.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +6 -14
- package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/anchor-sort.d.ts +2 -2
- package/dist/types/src/capabilities/app-graph-serializer.d.ts +1 -1
- package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
- package/dist/types/src/capabilities/artifact-definition.d.ts +1 -9
- package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
- package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -0
- package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
- package/dist/types/src/capabilities/capabilities.d.ts +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +11 -10
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings.d.ts +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/MarkdownCard/MarkdownCard.d.ts +7 -0
- package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts.map +1 -0
- package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts +10 -0
- package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts.map +1 -0
- package/dist/types/src/components/MarkdownCard/index.d.ts +4 -0
- package/dist/types/src/components/MarkdownCard/index.d.ts.map +1 -0
- 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 +50 -4
- 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/MarkdownEditor/MarkdownEditor.stories.d.ts +110 -12
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.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 +44 -7
- 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/functions/create.d.ts +12 -0
- package/dist/types/src/functions/create.d.ts.map +1 -0
- package/dist/types/src/functions/diff.d.ts +6 -0
- package/dist/types/src/functions/diff.d.ts.map +1 -0
- package/dist/types/src/functions/index.d.ts +4 -0
- package/dist/types/src/functions/index.d.ts.map +1 -0
- package/dist/types/src/functions/open.d.ts +7 -0
- package/dist/types/src/functions/open.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +2 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +0 -1
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +3 -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 +33 -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 +46 -41
- package/src/MarkdownPlugin.tsx +14 -12
- package/src/capabilities/anchor-sort.ts +3 -3
- package/src/capabilities/app-graph-serializer.ts +7 -5
- package/src/capabilities/artifact-definition.ts +18 -23
- package/src/capabilities/blueprint-definition.ts +39 -0
- package/src/capabilities/capabilities.ts +5 -4
- package/src/capabilities/index.ts +2 -1
- package/src/capabilities/intent-resolver.ts +15 -21
- package/src/capabilities/react-surface.tsx +21 -19
- package/src/capabilities/settings.ts +3 -3
- package/src/capabilities/state.ts +8 -8
- package/src/components/MarkdownCard/MarkdownCard.stories.tsx +79 -0
- package/src/components/{MarkdownPreview/MarkdownPreview.tsx → MarkdownCard/MarkdownCard.tsx} +11 -9
- package/src/components/MarkdownCard/index.ts +9 -0
- package/src/components/MarkdownContainer.stories.tsx +12 -15
- package/src/components/MarkdownContainer.tsx +10 -9
- package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +10 -7
- package/src/components/MarkdownEditor/MarkdownEditor.tsx +9 -8
- package/src/components/MarkdownSettings/MarkdownSettings.tsx +81 -78
- package/src/components/Suggestions.stories.tsx +24 -27
- package/src/components/Toolbar.stories.tsx +18 -13
- package/src/components/index.ts +1 -1
- package/src/events.ts +2 -2
- package/src/extensions.tsx +12 -12
- package/src/functions/create.ts +23 -0
- package/src/functions/diff.ts +35 -0
- package/src/functions/index.ts +7 -0
- package/src/functions/open.ts +30 -0
- package/src/hooks/useSelectCurrentThread.tsx +3 -3
- package/src/index.ts +4 -1
- package/src/meta.ts +7 -8
- package/src/translations.ts +3 -2
- package/src/types/Markdown.ts +56 -0
- package/src/types/MarkdownAction.ts +29 -0
- package/src/types/index.ts +2 -1
- package/src/types/types.ts +6 -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 +0 -145
- 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 +0 -64
- 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 +0 -146
- package/dist/lib/node-esm/artifact-definition-MLTAY4LK.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-7X6TPTJK.mjs +0 -22
- 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 +0 -65
- 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/components/MarkdownPreview/MarkdownPreview.d.ts +0 -6
- package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts +0 -42
- package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownPreview/index.d.ts +0 -4
- package/dist/types/src/components/MarkdownPreview/index.d.ts.map +0 -1
- package/dist/types/src/types/schema.d.ts +0 -35
- package/dist/types/src/types/schema.d.ts.map +0 -1
- package/src/components/MarkdownPreview/MarkdownPreview.stories.tsx +0 -81
- package/src/components/MarkdownPreview/index.ts +0 -9
- package/src/types/schema.ts +0 -39
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
Markdown_exports
|
|
4
|
+
} from "./chunk-FXILAQ5F.mjs";
|
|
5
|
+
|
|
6
|
+
// src/capabilities/blueprint-definition.ts
|
|
7
|
+
import { Capabilities, contributes } from "@dxos/app-framework";
|
|
8
|
+
import { Blueprint, Template } from "@dxos/blueprints";
|
|
9
|
+
import { trim as trim2 } from "@dxos/util";
|
|
10
|
+
|
|
11
|
+
// src/functions/create.ts
|
|
12
|
+
import { Effect, Schema } from "effect";
|
|
13
|
+
import { DatabaseService, defineFunction } from "@dxos/functions";
|
|
14
|
+
var create_default = defineFunction({
|
|
15
|
+
name: "dxos.org/function/markdown/create",
|
|
16
|
+
description: "Creates a new markdown document.",
|
|
17
|
+
inputSchema: Schema.Struct({
|
|
18
|
+
name: Schema.optional(Schema.String),
|
|
19
|
+
content: Schema.optional(Schema.String)
|
|
20
|
+
}),
|
|
21
|
+
outputSchema: Markdown_exports.Document,
|
|
22
|
+
handler: Effect.fn(function* ({ data: { name, content } }) {
|
|
23
|
+
return yield* DatabaseService.add(Markdown_exports.makeDocument({
|
|
24
|
+
name,
|
|
25
|
+
content
|
|
26
|
+
}));
|
|
27
|
+
})
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
// src/functions/diff.ts
|
|
31
|
+
import { Effect as Effect2, Schema as Schema2 } from "effect";
|
|
32
|
+
import { ArtifactId, applyDiffs } from "@dxos/assistant";
|
|
33
|
+
import { createDocAccessor } from "@dxos/echo-db";
|
|
34
|
+
import { DatabaseService as DatabaseService2, defineFunction as defineFunction2 } from "@dxos/functions";
|
|
35
|
+
import { trim } from "@dxos/util";
|
|
36
|
+
var diff_default = defineFunction2({
|
|
37
|
+
name: "dxos.org/function/markdown/diff",
|
|
38
|
+
description: trim`
|
|
39
|
+
Applies a set of diffs to the markdown document.
|
|
40
|
+
`,
|
|
41
|
+
inputSchema: Schema2.Struct({
|
|
42
|
+
id: ArtifactId.annotations({
|
|
43
|
+
description: "The ID of the markdown document."
|
|
44
|
+
}),
|
|
45
|
+
diffs: Schema2.Array(Schema2.String).annotations({
|
|
46
|
+
description: "The diffs to apply to the document."
|
|
47
|
+
})
|
|
48
|
+
}),
|
|
49
|
+
outputSchema: Schema2.Void,
|
|
50
|
+
handler: Effect2.fn(function* ({ data: { id, diffs } }) {
|
|
51
|
+
const object = yield* DatabaseService2.resolve(ArtifactId.toDXN(id), Markdown_exports.Document);
|
|
52
|
+
const content = yield* Effect2.promise(() => object.content.load());
|
|
53
|
+
const accessor = createDocAccessor(content, [
|
|
54
|
+
"content"
|
|
55
|
+
]);
|
|
56
|
+
applyDiffs(accessor, diffs);
|
|
57
|
+
})
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
// src/functions/open.ts
|
|
61
|
+
import { Effect as Effect3, Schema as Schema3 } from "effect";
|
|
62
|
+
import { ArtifactId as ArtifactId2 } from "@dxos/assistant";
|
|
63
|
+
import { DatabaseService as DatabaseService3, defineFunction as defineFunction3 } from "@dxos/functions";
|
|
64
|
+
var open_default = defineFunction3({
|
|
65
|
+
name: "dxos.org/function/markdown/open",
|
|
66
|
+
description: "Opens and reads the contents of a new markdown document.",
|
|
67
|
+
inputSchema: Schema3.Struct({
|
|
68
|
+
id: ArtifactId2.annotations({
|
|
69
|
+
description: "The ID of the markdown document."
|
|
70
|
+
})
|
|
71
|
+
}),
|
|
72
|
+
outputSchema: Schema3.Struct({
|
|
73
|
+
content: Schema3.String
|
|
74
|
+
}),
|
|
75
|
+
handler: Effect3.fn(function* ({ data: { id } }) {
|
|
76
|
+
const object = yield* DatabaseService3.resolve(ArtifactId2.toDXN(id), Markdown_exports.Document);
|
|
77
|
+
const { content } = yield* Effect3.promise(() => object.content.load());
|
|
78
|
+
return {
|
|
79
|
+
content
|
|
80
|
+
};
|
|
81
|
+
})
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
// src/capabilities/blueprint-definition.ts
|
|
85
|
+
var functions = [
|
|
86
|
+
create_default,
|
|
87
|
+
diff_default,
|
|
88
|
+
open_default
|
|
89
|
+
];
|
|
90
|
+
var tools = [
|
|
91
|
+
"add-proposals"
|
|
92
|
+
];
|
|
93
|
+
var BLUEPRINT_KEY = "dxos.org/blueprint/markdown";
|
|
94
|
+
var blueprint_definition_default = () => [
|
|
95
|
+
contributes(Capabilities.Functions, functions),
|
|
96
|
+
contributes(Capabilities.BlueprintDefinition, Blueprint.make({
|
|
97
|
+
key: BLUEPRINT_KEY,
|
|
98
|
+
name: "Markdown",
|
|
99
|
+
tools: Blueprint.toolDefinitions({
|
|
100
|
+
functions,
|
|
101
|
+
tools
|
|
102
|
+
}),
|
|
103
|
+
instructions: Template.make({
|
|
104
|
+
source: trim2`
|
|
105
|
+
You can create and update markdown documents.
|
|
106
|
+
When asked to edit or update documents return updates as a set of compact diff string pairs.
|
|
107
|
+
For each diff, respond with the smallest possible matching span.
|
|
108
|
+
For example:
|
|
109
|
+
- "There is a tyop in this sentence."
|
|
110
|
+
+ "There is a typo in this sentence."
|
|
111
|
+
- "This id goof."
|
|
112
|
+
+ "This is good."
|
|
113
|
+
`
|
|
114
|
+
})
|
|
115
|
+
}))
|
|
116
|
+
];
|
|
117
|
+
|
|
118
|
+
export {
|
|
119
|
+
BLUEPRINT_KEY,
|
|
120
|
+
blueprint_definition_default
|
|
121
|
+
};
|
|
122
|
+
//# sourceMappingURL=chunk-Y422WR6A.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/blueprint-definition.ts", "../../../src/functions/create.ts", "../../../src/functions/diff.ts", "../../../src/functions/open.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, type Capability, contributes } from '@dxos/app-framework';\nimport { Blueprint, Template } from '@dxos/blueprints';\nimport { type FunctionDefinition } from '@dxos/functions';\nimport { trim } from '@dxos/util';\n\nimport { create, diff, open } from '../functions';\n\nconst functions: FunctionDefinition[] = [create, diff, open];\nconst tools = ['add-proposals'];\n\nexport const BLUEPRINT_KEY = 'dxos.org/blueprint/markdown';\n\nexport default (): Capability<any>[] => [\n contributes(Capabilities.Functions, functions),\n contributes(\n Capabilities.BlueprintDefinition,\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Markdown',\n tools: Blueprint.toolDefinitions({ functions, tools }),\n instructions: Template.make({\n source: trim`\n You can create and update markdown documents.\n When asked to edit or update documents return updates as a set of compact diff string pairs.\n For each diff, respond with the smallest possible matching span.\n For example:\n - \"There is a tyop in this sentence.\"\n + \"There is a typo in this sentence.\"\n - \"This id goof.\"\n + \"This is good.\"\n `,\n }),\n }),\n ),\n];\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Effect, Schema } from 'effect';\n\nimport { DatabaseService, defineFunction } from '@dxos/functions';\n\nimport { Markdown } from '../types';\n\n// TODO(wittjosiah): Reconcile with MarkdownAction.Create.\nexport default defineFunction({\n name: 'dxos.org/function/markdown/create',\n description: 'Creates a new markdown document.',\n inputSchema: Schema.Struct({\n name: Schema.optional(Schema.String),\n content: Schema.optional(Schema.String),\n }),\n outputSchema: Markdown.Document,\n handler: Effect.fn(function* ({ data: { name, content } }) {\n return yield* DatabaseService.add(Markdown.makeDocument({ name, content }));\n }),\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Effect, Schema } from 'effect';\n\nimport { ArtifactId, applyDiffs } from '@dxos/assistant';\nimport { createDocAccessor } from '@dxos/echo-db';\nimport { DatabaseService, defineFunction } from '@dxos/functions';\nimport { trim } from '@dxos/util';\n\nimport { Markdown } from '../types';\n\n// TODO(wittjosiah): Reconcile with ThreadAction.AddProposal.\nexport default defineFunction({\n name: 'dxos.org/function/markdown/diff',\n description: trim`\n Applies a set of diffs to the markdown document.\n `,\n inputSchema: Schema.Struct({\n id: ArtifactId.annotations({\n description: 'The ID of the markdown document.',\n }),\n diffs: Schema.Array(Schema.String).annotations({\n description: 'The diffs to apply to the document.',\n }),\n }),\n outputSchema: Schema.Void,\n handler: Effect.fn(function* ({ data: { id, diffs } }) {\n const object = yield* DatabaseService.resolve(ArtifactId.toDXN(id), Markdown.Document);\n const content = yield* Effect.promise(() => object.content.load());\n const accessor = createDocAccessor(content, ['content']);\n applyDiffs(accessor, diffs);\n }),\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Effect, Schema } from 'effect';\n\nimport { ArtifactId } from '@dxos/assistant';\nimport { DatabaseService, defineFunction } from '@dxos/functions';\n\nimport { Markdown } from '../types';\n\nexport default defineFunction({\n name: 'dxos.org/function/markdown/open',\n description: 'Opens and reads the contents of a new markdown document.',\n inputSchema: Schema.Struct({\n id: ArtifactId.annotations({\n description: 'The ID of the markdown document.',\n }),\n }),\n outputSchema: Schema.Struct({\n content: Schema.String,\n }),\n handler: Effect.fn(function* ({ data: { id } }) {\n const object = yield* DatabaseService.resolve(ArtifactId.toDXN(id), Markdown.Document);\n const { content } = yield* Effect.promise(() => object.content.load());\n return {\n content,\n };\n }),\n});\n"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,SAASA,cAA+BC,mBAAmB;AAC3D,SAASC,WAAWC,gBAAgB;AAEpC,SAASC,QAAAA,aAAY;;;ACHrB,SAASC,QAAQC,cAAc;AAE/B,SAASC,iBAAiBC,sBAAsB;AAKhD,IAAA,iBAAeC,eAAe;EAC5BC,MAAM;EACNC,aAAa;EACbC,aAAaC,OAAOC,OAAO;IACzBJ,MAAMG,OAAOE,SAASF,OAAOG,MAAM;IACnCC,SAASJ,OAAOE,SAASF,OAAOG,MAAM;EACxC,CAAA;EACAE,cAAcC,iBAASC;EACvBC,SAASC,OAAOC,GAAG,WAAW,EAAEC,MAAM,EAAEd,MAAMO,QAAO,EAAE,GAAE;AACvD,WAAO,OAAOQ,gBAAgBC,IAAIP,iBAASQ,aAAa;MAAEjB;MAAMO;IAAQ,CAAA,CAAA;EAC1E,CAAA;AACF,CAAA;;;AClBA,SAASW,UAAAA,SAAQC,UAAAA,eAAc;AAE/B,SAASC,YAAYC,kBAAkB;AACvC,SAASC,yBAAyB;AAClC,SAASC,mBAAAA,kBAAiBC,kBAAAA,uBAAsB;AAChD,SAASC,YAAY;AAKrB,IAAA,eAAeC,gBAAe;EAC5BC,MAAM;EACNC,aAAaC;;;EAGbC,aAAaC,QAAOC,OAAO;IACzBC,IAAIC,WAAWC,YAAY;MACzBP,aAAa;IACf,CAAA;IACAQ,OAAOL,QAAOM,MAAMN,QAAOO,MAAM,EAAEH,YAAY;MAC7CP,aAAa;IACf,CAAA;EACF,CAAA;EACAW,cAAcR,QAAOS;EACrBC,SAASC,QAAOC,GAAG,WAAW,EAAEC,MAAM,EAAEX,IAAIG,MAAK,EAAE,GAAE;AACnD,UAAMS,SAAS,OAAOC,iBAAgBC,QAAQb,WAAWc,MAAMf,EAAAA,GAAKgB,iBAASC,QAAQ;AACrF,UAAMC,UAAU,OAAOT,QAAOU,QAAQ,MAAMP,OAAOM,QAAQE,KAAI,CAAA;AAC/D,UAAMC,WAAWC,kBAAkBJ,SAAS;MAAC;KAAU;AACvDK,eAAWF,UAAUlB,KAAAA;EACvB,CAAA;AACF,CAAA;;;AC9BA,SAASqB,UAAAA,SAAQC,UAAAA,eAAc;AAE/B,SAASC,cAAAA,mBAAkB;AAC3B,SAASC,mBAAAA,kBAAiBC,kBAAAA,uBAAsB;AAIhD,IAAA,eAAeC,gBAAe;EAC5BC,MAAM;EACNC,aAAa;EACbC,aAAaC,QAAOC,OAAO;IACzBC,IAAIC,YAAWC,YAAY;MACzBN,aAAa;IACf,CAAA;EACF,CAAA;EACAO,cAAcL,QAAOC,OAAO;IAC1BK,SAASN,QAAOO;EAClB,CAAA;EACAC,SAASC,QAAOC,GAAG,WAAW,EAAEC,MAAM,EAAET,GAAE,EAAE,GAAE;AAC5C,UAAMU,SAAS,OAAOC,iBAAgBC,QAAQX,YAAWY,MAAMb,EAAAA,GAAKc,iBAASC,QAAQ;AACrF,UAAM,EAAEX,QAAO,IAAK,OAAOG,QAAOS,QAAQ,MAAMN,OAAON,QAAQa,KAAI,CAAA;AACnE,WAAO;MACLb;IACF;EACF,CAAA;AACF,CAAA;;;AHlBA,IAAMc,YAAkC;EAACC;EAAQC;EAAMC;;AACvD,IAAMC,QAAQ;EAAC;;AAER,IAAMC,gBAAgB;AAE7B,IAAA,+BAAe,MAAyB;EACtCC,YAAYC,aAAaC,WAAWR,SAAAA;EACpCM,YACEC,aAAaE,qBACbC,UAAUC,KAAK;IACbC,KAAKP;IACLQ,MAAM;IACNT,OAAOM,UAAUI,gBAAgB;MAAEd;MAAWI;IAAM,CAAA;IACpDW,cAAcC,SAASL,KAAK;MAC1BM,QAAQC;;;;;;;;;;IAUV,CAAA;EACF,CAAA,CAAA;;",
|
|
6
|
+
"names": ["Capabilities", "contributes", "Blueprint", "Template", "trim", "Effect", "Schema", "DatabaseService", "defineFunction", "defineFunction", "name", "description", "inputSchema", "Schema", "Struct", "optional", "String", "content", "outputSchema", "Markdown", "Document", "handler", "Effect", "fn", "data", "DatabaseService", "add", "makeDocument", "Effect", "Schema", "ArtifactId", "applyDiffs", "createDocAccessor", "DatabaseService", "defineFunction", "trim", "defineFunction", "name", "description", "trim", "inputSchema", "Schema", "Struct", "id", "ArtifactId", "annotations", "diffs", "Array", "String", "outputSchema", "Void", "handler", "Effect", "fn", "data", "object", "DatabaseService", "resolve", "toDXN", "Markdown", "Document", "content", "promise", "load", "accessor", "createDocAccessor", "applyDiffs", "Effect", "Schema", "ArtifactId", "DatabaseService", "defineFunction", "defineFunction", "name", "description", "inputSchema", "Schema", "Struct", "id", "ArtifactId", "annotations", "outputSchema", "content", "String", "handler", "Effect", "fn", "data", "object", "DatabaseService", "resolve", "toDXN", "Markdown", "Document", "promise", "load", "functions", "create", "diff", "open", "tools", "BLUEPRINT_KEY", "contributes", "Capabilities", "Functions", "BlueprintDefinition", "Blueprint", "make", "key", "name", "toolDefinitions", "instructions", "Template", "source", "trim"]
|
|
7
|
+
}
|
|
@@ -1,44 +1,47 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
translations
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-J7A6TUB2.mjs";
|
|
5
5
|
import {
|
|
6
6
|
AnchorSort,
|
|
7
7
|
AppGraphSerializer,
|
|
8
|
-
|
|
8
|
+
BlueprintDefinition,
|
|
9
9
|
IntentResolver,
|
|
10
10
|
MarkdownSettings,
|
|
11
11
|
MarkdownState,
|
|
12
12
|
ReactSurface
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-JPXFCBC4.mjs";
|
|
14
|
+
import {
|
|
15
|
+
BLUEPRINT_KEY
|
|
16
|
+
} from "./chunk-Y422WR6A.mjs";
|
|
14
17
|
import {
|
|
15
18
|
MarkdownCapabilities
|
|
16
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-CB2R4YIY.mjs";
|
|
17
20
|
import {
|
|
18
21
|
getAbstract,
|
|
19
22
|
getFallbackName,
|
|
23
|
+
isEditorModel,
|
|
20
24
|
isMarkdownProperties,
|
|
21
25
|
serializer,
|
|
22
26
|
setFallbackName
|
|
23
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-O6EXWGGS.mjs";
|
|
24
28
|
import {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
} from "./chunk-
|
|
29
|
+
MarkdownAction_exports,
|
|
30
|
+
Markdown_exports
|
|
31
|
+
} from "./chunk-FXILAQ5F.mjs";
|
|
28
32
|
import {
|
|
29
|
-
MARKDOWN_PLUGIN,
|
|
30
33
|
meta
|
|
31
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-VCG2U522.mjs";
|
|
32
35
|
|
|
33
36
|
// src/events.ts
|
|
34
37
|
import { Events } from "@dxos/app-framework";
|
|
35
38
|
(function(MarkdownEvents2) {
|
|
36
|
-
MarkdownEvents2.SetupExtensions = Events.createStateEvent(`${
|
|
39
|
+
MarkdownEvents2.SetupExtensions = Events.createStateEvent(`${meta.id}/event/setup-extensions`);
|
|
37
40
|
})(MarkdownEvents || (MarkdownEvents = {}));
|
|
38
41
|
var MarkdownEvents;
|
|
39
42
|
|
|
40
43
|
// src/MarkdownPlugin.tsx
|
|
41
|
-
import { Capabilities, contributes, createIntent, defineModule, definePlugin
|
|
44
|
+
import { Capabilities, Events as Events2, contributes, createIntent, defineModule, definePlugin } from "@dxos/app-framework";
|
|
42
45
|
import { Ref } from "@dxos/echo";
|
|
43
46
|
import { ClientCapabilities, ClientEvents } from "@dxos/plugin-client";
|
|
44
47
|
import { SpaceCapabilities } from "@dxos/plugin-space";
|
|
@@ -72,10 +75,13 @@ var MarkdownPlugin = () => definePlugin(meta, [
|
|
|
72
75
|
id: `${meta.id}/module/metadata`,
|
|
73
76
|
activatesOn: Events2.SetupMetadata,
|
|
74
77
|
activate: () => contributes(Capabilities.Metadata, {
|
|
75
|
-
id:
|
|
78
|
+
id: Markdown_exports.Document.typename,
|
|
76
79
|
metadata: {
|
|
77
80
|
label: (object) => object.name || object.fallbackName,
|
|
78
81
|
icon: "ph--text-aa--regular",
|
|
82
|
+
blueprints: [
|
|
83
|
+
BLUEPRINT_KEY
|
|
84
|
+
],
|
|
79
85
|
graphProps: {
|
|
80
86
|
managesAutofocus: true
|
|
81
87
|
},
|
|
@@ -102,10 +108,8 @@ var MarkdownPlugin = () => definePlugin(meta, [
|
|
|
102
108
|
id: `${meta.id}/module/object-form`,
|
|
103
109
|
activatesOn: ClientEvents.SetupSchema,
|
|
104
110
|
activate: () => contributes(SpaceCapabilities.ObjectForm, defineObjectForm({
|
|
105
|
-
objectSchema:
|
|
106
|
-
getIntent: (
|
|
107
|
-
spaceId: space.id
|
|
108
|
-
})
|
|
111
|
+
objectSchema: Markdown_exports.Document,
|
|
112
|
+
getIntent: () => createIntent(MarkdownAction_exports.Create, {})
|
|
109
113
|
}))
|
|
110
114
|
}),
|
|
111
115
|
defineModule({
|
|
@@ -141,18 +145,20 @@ var MarkdownPlugin = () => definePlugin(meta, [
|
|
|
141
145
|
activate: AnchorSort
|
|
142
146
|
}),
|
|
143
147
|
defineModule({
|
|
144
|
-
id: `${meta.id}/module/
|
|
148
|
+
id: `${meta.id}/module/blueprint`,
|
|
145
149
|
activatesOn: Events2.SetupArtifactDefinition,
|
|
146
|
-
activate:
|
|
150
|
+
activate: BlueprintDefinition
|
|
147
151
|
})
|
|
148
152
|
]);
|
|
149
153
|
export {
|
|
150
|
-
|
|
154
|
+
Markdown_exports as Markdown,
|
|
155
|
+
MarkdownAction_exports as MarkdownAction,
|
|
151
156
|
MarkdownCapabilities,
|
|
152
157
|
MarkdownEvents,
|
|
153
158
|
MarkdownPlugin,
|
|
154
159
|
getAbstract,
|
|
155
160
|
getFallbackName,
|
|
161
|
+
isEditorModel,
|
|
156
162
|
isMarkdownProperties,
|
|
157
163
|
meta,
|
|
158
164
|
serializer,
|
|
@@ -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, Events, contributes, createIntent, defineModule, definePlugin } 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 BLUEPRINT_KEY,\n BlueprintDefinition,\n IntentResolver,\n MarkdownSettings,\n MarkdownState,\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 blueprints: [BLUEPRINT_KEY],\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: () => createIntent(MarkdownAction.Create, {}),\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/blueprint`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: BlueprintDefinition,\n }),\n ]);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Events", "MarkdownEvents", "SetupExtensions", "Events", "createStateEvent", "meta", "id", "Capabilities", "Events", "contributes", "createIntent", "defineModule", "definePlugin", "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", "blueprints", "BLUEPRINT_KEY", "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", "createIntent", "MarkdownAction", "Create", "ClientCapabilities", "Schema", "DataType", "Text", "SetupReactSurface", "activatesBefore", "MarkdownEvents", "SetupExtensions", "ReactSurface", "SetupIntentResolver", "IntentResolver", "AppGraphReady", "AppGraphSerializer", "AnchorSort", "SetupArtifactDefinition", "BlueprintDefinition"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
MarkdownCapabilities
|
|
4
|
+
} from "./chunk-CB2R4YIY.mjs";
|
|
5
|
+
import {
|
|
6
|
+
MarkdownAction_exports,
|
|
7
|
+
Markdown_exports
|
|
8
|
+
} from "./chunk-FXILAQ5F.mjs";
|
|
9
|
+
import "./chunk-VCG2U522.mjs";
|
|
10
|
+
|
|
11
|
+
// src/capabilities/intent-resolver.ts
|
|
12
|
+
import { next as A } from "@automerge/automerge";
|
|
13
|
+
import { Option } from "effect";
|
|
14
|
+
import { Capabilities, CollaborationActions, contributes, createResolver } from "@dxos/app-framework";
|
|
15
|
+
import { Obj } from "@dxos/echo";
|
|
16
|
+
import { createDocAccessor, getRangeFromCursor } from "@dxos/react-client/echo";
|
|
17
|
+
var intent_resolver_default = (context) => contributes(Capabilities.IntentResolver, [
|
|
18
|
+
createResolver({
|
|
19
|
+
intent: MarkdownAction_exports.Create,
|
|
20
|
+
resolve: ({ name, content }) => {
|
|
21
|
+
return {
|
|
22
|
+
data: {
|
|
23
|
+
object: Markdown_exports.makeDocument({
|
|
24
|
+
name,
|
|
25
|
+
content
|
|
26
|
+
})
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
}),
|
|
31
|
+
createResolver({
|
|
32
|
+
intent: MarkdownAction_exports.SetViewMode,
|
|
33
|
+
resolve: ({ id, viewMode }) => {
|
|
34
|
+
const { state } = context.getCapability(MarkdownCapabilities.State);
|
|
35
|
+
state.viewMode[id] = viewMode;
|
|
36
|
+
}
|
|
37
|
+
}),
|
|
38
|
+
createResolver({
|
|
39
|
+
intent: CollaborationActions.AcceptProposal,
|
|
40
|
+
filter: (data) => Obj.instanceOf(Markdown_exports.Document, data.subject),
|
|
41
|
+
resolve: async ({ subject, anchor, proposal }) => {
|
|
42
|
+
const text = await subject.content.load();
|
|
43
|
+
const accessor = createDocAccessor(text, [
|
|
44
|
+
"content"
|
|
45
|
+
]);
|
|
46
|
+
const { start, end } = Option.fromNullable(anchor).pipe(
|
|
47
|
+
Option.flatMap((at) => Option.fromNullable(getRangeFromCursor(accessor, at))),
|
|
48
|
+
// Fallback to the end of the document.
|
|
49
|
+
Option.getOrElse(() => ({
|
|
50
|
+
start: text.content.length - 1,
|
|
51
|
+
end: text.content.length - 1
|
|
52
|
+
}))
|
|
53
|
+
);
|
|
54
|
+
accessor.handle.change((doc) => {
|
|
55
|
+
A.splice(doc, accessor.path.slice(), start, end - start, proposal.text);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
})
|
|
59
|
+
]);
|
|
60
|
+
export {
|
|
61
|
+
intent_resolver_default as default
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=intent-resolver-2I5HKCUU.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, type Schema } from 'effect';\n\nimport {\n Capabilities,\n CollaborationActions,\n type PluginContext,\n contributes,\n createResolver,\n} from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { createDocAccessor, getRangeFromCursor } from '@dxos/react-client/echo';\n\nimport { Markdown, MarkdownAction } from '../types';\n\nimport { MarkdownCapabilities } from './capabilities';\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.AcceptProposal,\n filter: (\n data,\n ): data is Omit<Schema.Schema.Type<typeof CollaborationActions.AcceptProposal.fields.input>, 'subject'> & {\n subject: Markdown.Document;\n } => Obj.instanceOf(Markdown.Document, data.subject),\n resolve: async ({ subject, anchor, proposal }) => {\n const text = await subject.content.load();\n const accessor = createDocAccessor(text, ['content']);\n const { start, end } = Option.fromNullable(anchor).pipe(\n Option.flatMap((at) => Option.fromNullable(getRangeFromCursor(accessor, at))),\n // Fallback to the end of the document.\n Option.getOrElse(() => ({ start: text.content.length - 1, end: text.content.length - 1 })),\n );\n accessor.handle.change((doc) => {\n A.splice(doc, accessor.path.slice(), start, end - start, proposal.text);\n });\n },\n }),\n ]);\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;AAIA,SAASA,QAAQC,SAAS;AAC1B,SAASC,cAA2B;AAEpC,SACEC,cACAC,sBAEAC,aACAC,sBACK;AACP,SAASC,WAAW;AACpB,SAASC,mBAAmBC,0BAA0B;AAMtD,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,OAAO;IACnDpB,SAAS,OAAO,EAAEoB,SAASC,QAAQC,SAAQ,MAAE;AAC3C,YAAMC,OAAO,MAAMH,QAAQlB,QAAQsB,KAAI;AACvC,YAAMC,WAAWC,kBAAkBH,MAAM;QAAC;OAAU;AACpD,YAAM,EAAEI,OAAOC,IAAG,IAAKC,OAAOC,aAAaT,MAAAA,EAAQU;QACjDF,OAAOG,QAAQ,CAACC,OAAOJ,OAAOC,aAAaI,mBAAmBT,UAAUQ,EAAAA,CAAAA,CAAAA;;QAExEJ,OAAOM,UAAU,OAAO;UAAER,OAAOJ,KAAKrB,QAAQkC,SAAS;UAAGR,KAAKL,KAAKrB,QAAQkC,SAAS;QAAE,EAAA;MAAA;AAEzFX,eAASY,OAAOC,OAAO,CAACC,QAAAA;AACtBC,UAAEC,OAAOF,KAAKd,SAASiB,KAAKC,MAAK,GAAIhB,OAAOC,MAAMD,OAAOL,SAASC,IAAI;MACxE,CAAA;IACF;EACF,CAAA;CACD;",
|
|
6
|
+
"names": ["next", "A", "Option", "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", "AcceptProposal", "filter", "Obj", "instanceOf", "Document", "subject", "anchor", "proposal", "text", "load", "accessor", "createDocAccessor", "start", "end", "Option", "fromNullable", "pipe", "flatMap", "at", "getRangeFromCursor", "getOrElse", "length", "handle", "change", "doc", "A", "splice", "path", "slice"]
|
|
7
|
+
}
|