@dxos/plugin-markdown 0.8.2-main.12df754 → 0.8.2-main.30e4dbb

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.
Files changed (170) hide show
  1. package/dist/lib/browser/{MarkdownContainer-MH6MMKA5.mjs → MarkdownContainer-CZGNGEO4.mjs} +48 -61
  2. package/dist/lib/browser/MarkdownContainer-CZGNGEO4.mjs.map +7 -0
  3. package/dist/lib/browser/MarkdownPreview-ID5RNELS.mjs +81 -0
  4. package/dist/lib/browser/MarkdownPreview-ID5RNELS.mjs.map +7 -0
  5. package/dist/lib/browser/{app-graph-serializer-BF7WSE3D.mjs → app-graph-serializer-6SMW5SL3.mjs} +3 -3
  6. package/dist/lib/browser/{artifact-definition-XTVOUMMI.mjs → artifact-definition-BEV7S3Q2.mjs} +9 -8
  7. package/dist/lib/browser/artifact-definition-BEV7S3Q2.mjs.map +7 -0
  8. package/dist/lib/browser/{chunk-V54HDI7B.mjs → chunk-DTJ3HDN6.mjs} +9 -22
  9. package/dist/lib/browser/chunk-DTJ3HDN6.mjs.map +7 -0
  10. package/dist/lib/browser/chunk-FJ5P5CGA.mjs +86 -0
  11. package/dist/lib/browser/chunk-FJ5P5CGA.mjs.map +7 -0
  12. package/dist/lib/browser/{chunk-2DKQKSBR.mjs → chunk-JD72ICHV.mjs} +5 -3
  13. package/dist/lib/browser/{chunk-2DKQKSBR.mjs.map → chunk-JD72ICHV.mjs.map} +2 -2
  14. package/dist/lib/browser/chunk-WQOUWAY4.mjs +20 -0
  15. package/dist/lib/browser/chunk-WQOUWAY4.mjs.map +7 -0
  16. package/dist/lib/browser/index.mjs +10 -6
  17. package/dist/lib/browser/index.mjs.map +3 -3
  18. package/dist/lib/browser/{intent-resolver-H37L3DBD.mjs → intent-resolver-K7GY2J5W.mjs} +4 -4
  19. package/dist/lib/browser/intent-resolver-K7GY2J5W.mjs.map +7 -0
  20. package/dist/lib/browser/meta.json +1 -1
  21. package/dist/lib/browser/{react-surface-RONTBOZZ.mjs → react-surface-2B7GO5M4.mjs} +18 -7
  22. package/dist/lib/browser/react-surface-2B7GO5M4.mjs.map +7 -0
  23. package/dist/lib/browser/{settings-EQSDBX6O.mjs → settings-QBFZJW2H.mjs} +2 -2
  24. package/dist/lib/browser/{thread-MFKBUVCB.mjs → thread-VUUBSXA5.mjs} +2 -2
  25. package/dist/lib/browser/types/index.mjs +1 -1
  26. package/dist/lib/node/{MarkdownContainer-PCHMSPTC.cjs → MarkdownContainer-CJL2QFWT.cjs} +52 -65
  27. package/dist/lib/node/MarkdownContainer-CJL2QFWT.cjs.map +7 -0
  28. package/dist/lib/node/MarkdownPreview-7OGABQ22.cjs +104 -0
  29. package/dist/lib/node/MarkdownPreview-7OGABQ22.cjs.map +7 -0
  30. package/dist/lib/node/{app-graph-serializer-UVT5EAWW.cjs → app-graph-serializer-4VZJUDTL.cjs} +9 -9
  31. package/dist/lib/node/{artifact-definition-ADEN2KD6.cjs → artifact-definition-HNSTQ7SX.cjs} +15 -14
  32. package/dist/lib/node/artifact-definition-HNSTQ7SX.cjs.map +7 -0
  33. package/dist/lib/node/{chunk-YHL4JSA6.cjs → chunk-2HGBN655.cjs} +34 -32
  34. package/dist/lib/node/chunk-2HGBN655.cjs.map +7 -0
  35. package/dist/lib/node/{chunk-6ERKWMAU.cjs → chunk-ETVG2GKL.cjs} +9 -7
  36. package/dist/lib/node/{chunk-6ERKWMAU.cjs.map → chunk-ETVG2GKL.cjs.map} +2 -2
  37. package/dist/lib/node/chunk-PLJVVHKG.cjs +58 -0
  38. package/dist/lib/node/chunk-PLJVVHKG.cjs.map +7 -0
  39. package/dist/lib/node/{chunk-5XQ27MNY.cjs → chunk-XJ4XHWXZ.cjs} +12 -39
  40. package/dist/lib/node/chunk-XJ4XHWXZ.cjs.map +7 -0
  41. package/dist/lib/node/index.cjs +24 -21
  42. package/dist/lib/node/index.cjs.map +3 -3
  43. package/dist/lib/node/{intent-resolver-NX5QNRYF.cjs → intent-resolver-FGBVXI7L.cjs} +10 -10
  44. package/dist/lib/node/intent-resolver-FGBVXI7L.cjs.map +7 -0
  45. package/dist/lib/node/meta.json +1 -1
  46. package/dist/lib/node/{react-surface-26PWFBBV.cjs → react-surface-5AAXZCA7.cjs} +21 -10
  47. package/dist/lib/node/react-surface-5AAXZCA7.cjs.map +7 -0
  48. package/dist/lib/node/{settings-2JXASSLU.cjs → settings-I3Z64YPE.cjs} +6 -6
  49. package/dist/lib/node/{thread-MXEGV6HS.cjs → thread-NHTJKFC4.cjs} +6 -6
  50. package/dist/lib/node/types/index.cjs +7 -7
  51. package/dist/lib/node/types/index.cjs.map +1 -1
  52. package/dist/lib/node-esm/{MarkdownContainer-ERQH4SXI.mjs → MarkdownContainer-76V4H5DS.mjs} +48 -61
  53. package/dist/lib/node-esm/MarkdownContainer-76V4H5DS.mjs.map +7 -0
  54. package/dist/lib/node-esm/MarkdownPreview-NURUI35V.mjs +82 -0
  55. package/dist/lib/node-esm/MarkdownPreview-NURUI35V.mjs.map +7 -0
  56. package/dist/lib/node-esm/{app-graph-serializer-LPRG2PFZ.mjs → app-graph-serializer-QH2FE7FH.mjs} +3 -3
  57. package/dist/lib/node-esm/{artifact-definition-KTS5M2FW.mjs → artifact-definition-GA7NQ3X5.mjs} +9 -8
  58. package/dist/lib/node-esm/artifact-definition-GA7NQ3X5.mjs.map +7 -0
  59. package/dist/lib/node-esm/{chunk-IZUCQ5P5.mjs → chunk-6TXN2UXT.mjs} +5 -3
  60. package/dist/lib/node-esm/{chunk-IZUCQ5P5.mjs.map → chunk-6TXN2UXT.mjs.map} +2 -2
  61. package/dist/lib/node-esm/{chunk-USLC246I.mjs → chunk-HEMSNCBW.mjs} +9 -22
  62. package/dist/lib/node-esm/chunk-HEMSNCBW.mjs.map +7 -0
  63. package/dist/lib/node-esm/chunk-I6RIVFIP.mjs +87 -0
  64. package/dist/lib/node-esm/chunk-I6RIVFIP.mjs.map +7 -0
  65. package/dist/lib/node-esm/chunk-IMCNTYSA.mjs +22 -0
  66. package/dist/lib/node-esm/chunk-IMCNTYSA.mjs.map +7 -0
  67. package/dist/lib/node-esm/index.mjs +10 -6
  68. package/dist/lib/node-esm/index.mjs.map +3 -3
  69. package/dist/lib/node-esm/{intent-resolver-XES4ZCA6.mjs → intent-resolver-3STR3645.mjs} +4 -4
  70. package/dist/lib/node-esm/intent-resolver-3STR3645.mjs.map +7 -0
  71. package/dist/lib/node-esm/meta.json +1 -1
  72. package/dist/lib/node-esm/{react-surface-ZEJSYIRX.mjs → react-surface-IRT63VJF.mjs} +18 -7
  73. package/dist/lib/node-esm/react-surface-IRT63VJF.mjs.map +7 -0
  74. package/dist/lib/node-esm/{settings-67RVIH3N.mjs → settings-G7QIMIEK.mjs} +2 -2
  75. package/dist/lib/node-esm/{thread-5U4KSBED.mjs → thread-72RI26KD.mjs} +2 -2
  76. package/dist/lib/node-esm/types/index.mjs +1 -1
  77. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  78. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  79. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  80. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  81. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  82. package/dist/types/src/components/MarkdownContainer.d.ts +2 -2
  83. package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
  84. package/dist/types/src/components/{MarkdownEditor.d.ts → MarkdownEditor/MarkdownEditor.d.ts} +1 -16
  85. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -0
  86. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts.map +1 -0
  87. package/dist/types/src/components/MarkdownEditor/index.d.ts +2 -0
  88. package/dist/types/src/components/MarkdownEditor/index.d.ts.map +1 -0
  89. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts +6 -0
  90. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts.map +1 -0
  91. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts +189 -0
  92. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts.map +1 -0
  93. package/dist/types/src/components/MarkdownPreview/index.d.ts +4 -0
  94. package/dist/types/src/components/MarkdownPreview/index.d.ts.map +1 -0
  95. package/dist/types/src/components/{MarkdownSettings.d.ts → MarkdownSettings/MarkdownSettings.d.ts} +1 -1
  96. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts.map +1 -0
  97. package/dist/types/src/components/MarkdownSettings/index.d.ts +2 -0
  98. package/dist/types/src/components/MarkdownSettings/index.d.ts.map +1 -0
  99. package/dist/types/src/components/Suggestions.stories.d.ts.map +1 -1
  100. package/dist/types/src/components/Toolbar.stories.d.ts.map +1 -1
  101. package/dist/types/src/components/index.d.ts +1 -0
  102. package/dist/types/src/components/index.d.ts.map +1 -1
  103. package/dist/types/src/extensions.d.ts +2 -2
  104. package/dist/types/src/extensions.d.ts.map +1 -1
  105. package/dist/types/src/hooks/useSelectCurrentThread.d.ts.map +1 -1
  106. package/dist/types/src/translations.d.ts +6 -0
  107. package/dist/types/src/translations.d.ts.map +1 -1
  108. package/dist/types/src/types/schema.d.ts +509 -190
  109. package/dist/types/src/types/schema.d.ts.map +1 -1
  110. package/dist/types/src/types/types.d.ts +195 -85
  111. package/dist/types/src/types/types.d.ts.map +1 -1
  112. package/dist/types/src/util.d.ts +1 -0
  113. package/dist/types/src/util.d.ts.map +1 -1
  114. package/dist/types/tsconfig.tsbuildinfo +1 -1
  115. package/package.json +40 -37
  116. package/src/MarkdownPlugin.tsx +2 -2
  117. package/src/capabilities/artifact-definition.ts +5 -3
  118. package/src/capabilities/intent-resolver.ts +2 -2
  119. package/src/capabilities/react-surface.tsx +13 -5
  120. package/src/components/MarkdownContainer.tsx +3 -3
  121. package/src/components/{MarkdownEditor.stories.tsx → MarkdownEditor/MarkdownEditor.stories.tsx} +2 -2
  122. package/src/components/{MarkdownEditor.tsx → MarkdownEditor/MarkdownEditor.tsx} +24 -44
  123. package/src/components/MarkdownEditor/index.ts +5 -0
  124. package/src/components/MarkdownPreview/MarkdownPreview.stories.tsx +68 -0
  125. package/src/components/MarkdownPreview/MarkdownPreview.tsx +85 -0
  126. package/src/components/MarkdownPreview/index.ts +9 -0
  127. package/src/components/{MarkdownSettings.tsx → MarkdownSettings/MarkdownSettings.tsx} +2 -2
  128. package/src/components/MarkdownSettings/index.ts +5 -0
  129. package/src/components/Suggestions.stories.tsx +21 -12
  130. package/src/components/Toolbar.stories.tsx +14 -14
  131. package/src/components/index.ts +1 -0
  132. package/src/extensions.tsx +2 -2
  133. package/src/hooks/useSelectCurrentThread.tsx +2 -2
  134. package/src/translations.ts +2 -0
  135. package/src/types/schema.ts +20 -12
  136. package/src/types/types.ts +22 -21
  137. package/src/util.tsx +7 -3
  138. package/dist/lib/browser/MarkdownContainer-MH6MMKA5.mjs.map +0 -7
  139. package/dist/lib/browser/artifact-definition-XTVOUMMI.mjs.map +0 -7
  140. package/dist/lib/browser/chunk-GVOEHF7E.mjs +0 -84
  141. package/dist/lib/browser/chunk-GVOEHF7E.mjs.map +0 -7
  142. package/dist/lib/browser/chunk-V54HDI7B.mjs.map +0 -7
  143. package/dist/lib/browser/intent-resolver-H37L3DBD.mjs.map +0 -7
  144. package/dist/lib/browser/react-surface-RONTBOZZ.mjs.map +0 -7
  145. package/dist/lib/node/MarkdownContainer-PCHMSPTC.cjs.map +0 -7
  146. package/dist/lib/node/artifact-definition-ADEN2KD6.cjs.map +0 -7
  147. package/dist/lib/node/chunk-5XQ27MNY.cjs.map +0 -7
  148. package/dist/lib/node/chunk-YHL4JSA6.cjs.map +0 -7
  149. package/dist/lib/node/intent-resolver-NX5QNRYF.cjs.map +0 -7
  150. package/dist/lib/node/react-surface-26PWFBBV.cjs.map +0 -7
  151. package/dist/lib/node-esm/MarkdownContainer-ERQH4SXI.mjs.map +0 -7
  152. package/dist/lib/node-esm/artifact-definition-KTS5M2FW.mjs.map +0 -7
  153. package/dist/lib/node-esm/chunk-NUZHKZSZ.mjs +0 -85
  154. package/dist/lib/node-esm/chunk-NUZHKZSZ.mjs.map +0 -7
  155. package/dist/lib/node-esm/chunk-USLC246I.mjs.map +0 -7
  156. package/dist/lib/node-esm/intent-resolver-XES4ZCA6.mjs.map +0 -7
  157. package/dist/lib/node-esm/react-surface-ZEJSYIRX.mjs.map +0 -7
  158. package/dist/types/src/components/MarkdownEditor.d.ts.map +0 -1
  159. package/dist/types/src/components/MarkdownEditor.stories.d.ts.map +0 -1
  160. package/dist/types/src/components/MarkdownSettings.d.ts.map +0 -1
  161. /package/dist/lib/browser/{app-graph-serializer-BF7WSE3D.mjs.map → app-graph-serializer-6SMW5SL3.mjs.map} +0 -0
  162. /package/dist/lib/browser/{settings-EQSDBX6O.mjs.map → settings-QBFZJW2H.mjs.map} +0 -0
  163. /package/dist/lib/browser/{thread-MFKBUVCB.mjs.map → thread-VUUBSXA5.mjs.map} +0 -0
  164. /package/dist/lib/node/{app-graph-serializer-UVT5EAWW.cjs.map → app-graph-serializer-4VZJUDTL.cjs.map} +0 -0
  165. /package/dist/lib/node/{settings-2JXASSLU.cjs.map → settings-I3Z64YPE.cjs.map} +0 -0
  166. /package/dist/lib/node/{thread-MXEGV6HS.cjs.map → thread-NHTJKFC4.cjs.map} +0 -0
  167. /package/dist/lib/node-esm/{app-graph-serializer-LPRG2PFZ.mjs.map → app-graph-serializer-QH2FE7FH.mjs.map} +0 -0
  168. /package/dist/lib/node-esm/{settings-67RVIH3N.mjs.map → settings-G7QIMIEK.mjs.map} +0 -0
  169. /package/dist/lib/node-esm/{thread-5U4KSBED.mjs.map → thread-72RI26KD.mjs.map} +0 -0
  170. /package/dist/types/src/components/{MarkdownEditor.stories.d.ts → MarkdownEditor/MarkdownEditor.stories.d.ts} +0 -0
@@ -0,0 +1,86 @@
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 } from "@dxos/echo";
8
+ import { Expando, LabelAnnotationId, Ref } from "@dxos/echo-schema";
9
+ import { makeRef, live } from "@dxos/live-object";
10
+ import { ThreadType } from "@dxos/plugin-space/types";
11
+ import { DataType } from "@dxos/schema";
12
+ var DocumentSchema = Schema.Struct({
13
+ name: Schema.optional(Schema.String),
14
+ fallbackName: Schema.optional(Schema.String),
15
+ content: Ref(DataType.Text),
16
+ threads: Schema.mutable(Schema.Array(Ref(ThreadType))),
17
+ assistantChatQueue: Schema.optional(Ref(Expando))
18
+ }).annotations({
19
+ // TODO(dmaretskyi): `Schema.Struct(...).pipe(defaultLabel(['name', 'fallbackName']))` for type-safe annotations.
20
+ [LabelAnnotationId]: [
21
+ "name",
22
+ "fallbackName"
23
+ ]
24
+ });
25
+ var DocumentType = DocumentSchema.pipe(Type.def({
26
+ typename: "dxos.org/type/Document",
27
+ version: "0.1.0"
28
+ }));
29
+ var createDocument = ({ name, content }) => live(DocumentType, {
30
+ name,
31
+ content: makeRef(live(DataType.Text, {
32
+ content
33
+ })),
34
+ threads: []
35
+ });
36
+ var isEditorModel = (data) => data && typeof data === "object" && "id" in data && typeof data.id === "string" && "text" in data && typeof data.text === "string";
37
+
38
+ // packages/plugins/plugin-markdown/src/types/types.ts
39
+ import { Schema as Schema2 } from "effect";
40
+ import { EditorInputMode, EditorViewMode } from "@dxos/react-ui-editor";
41
+ var MARKDOWN_ACTION = `${MARKDOWN_PLUGIN}/action`;
42
+ var MarkdownAction;
43
+ (function(MarkdownAction2) {
44
+ class Create extends Schema2.TaggedClass()(MARKDOWN_ACTION, {
45
+ input: Schema2.Struct({
46
+ spaceId: Schema2.String,
47
+ name: Schema2.optional(Schema2.String),
48
+ content: Schema2.optional(Schema2.String)
49
+ }),
50
+ output: Schema2.Struct({
51
+ object: DocumentType
52
+ })
53
+ }) {
54
+ }
55
+ MarkdownAction2.Create = Create;
56
+ class SetViewMode extends Schema2.TaggedClass()(`${MARKDOWN_ACTION}/set-view-mode`, {
57
+ input: Schema2.Struct({
58
+ id: Schema2.String,
59
+ viewMode: EditorViewMode
60
+ }),
61
+ output: Schema2.Void
62
+ }) {
63
+ }
64
+ MarkdownAction2.SetViewMode = SetViewMode;
65
+ })(MarkdownAction || (MarkdownAction = {}));
66
+ var MarkdownSettingsSchema = Schema2.mutable(Schema2.Struct({
67
+ defaultViewMode: EditorViewMode,
68
+ editorInputMode: Schema2.optional(EditorInputMode),
69
+ experimental: Schema2.optional(Schema2.Boolean),
70
+ debug: Schema2.optional(Schema2.Boolean),
71
+ toolbar: Schema2.optional(Schema2.Boolean),
72
+ typewriter: Schema2.optional(Schema2.String),
73
+ // TODO(burdon): Per document settings.
74
+ numberedHeadings: Schema2.optional(Schema2.Boolean),
75
+ folding: Schema2.optional(Schema2.Boolean)
76
+ }));
77
+
78
+ export {
79
+ DocumentSchema,
80
+ DocumentType,
81
+ createDocument,
82
+ isEditorModel,
83
+ MarkdownAction,
84
+ MarkdownSettingsSchema
85
+ };
86
+ //# sourceMappingURL=chunk-FJ5P5CGA.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 } from '@dxos/echo';\nimport { Expando, LabelAnnotationId, Ref } from '@dxos/echo-schema';\nimport { makeRef, live } from '@dxos/live-object';\nimport { ThreadType } from '@dxos/plugin-space/types';\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: Ref(DataType.Text),\n threads: Schema.mutable(Schema.Array(Ref(ThreadType))),\n assistantChatQueue: Schema.optional(Ref(Expando)),\n}).annotations({\n // TODO(dmaretskyi): `Schema.Struct(...).pipe(defaultLabel(['name', 'fallbackName']))` for type-safe annotations.\n [LabelAnnotationId]: ['name', 'fallbackName'],\n});\n\nexport const DocumentType = DocumentSchema.pipe(\n Type.def({\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: makeRef(live(DataType.Text, { content })), threads: [] });\n\n/**\n * Checks if an object conforms to the interface needed to render an editor.\n */\n// TODO(burdon): Normalize types (from FilesPlugin).\nexport const isEditorModel = (data: any): data is { id: string; text: string } =>\n data &&\n typeof data === 'object' &&\n 'id' in data &&\n typeof data.id === 'string' &&\n 'text' in data &&\n typeof data.text === 'string';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\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: Schema.String,\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,YAAY;AACrB,SAASC,SAASC,mBAAmBC,WAAW;AAChD,SAASC,SAASC,YAAY;AAC9B,SAASC,kBAAkB;AAC3B,SAASC,gBAAgB;AAElB,IAAMC,iBAAiBC,OAAOC,OAAO;EAC1CC,MAAMF,OAAOG,SAASH,OAAOI,MAAM;EACnCC,cAAcL,OAAOG,SAASH,OAAOI,MAAM;EAC3CE,SAASC,IAAIC,SAASC,IAAI;EAC1BC,SAASV,OAAOW,QAAQX,OAAOY,MAAML,IAAIM,UAAAA,CAAAA,CAAAA;EACzCC,oBAAoBd,OAAOG,SAASI,IAAIQ,OAAAA,CAAAA;AAC1C,CAAA,EAAGC,YAAY;;EAEb,CAACC,iBAAAA,GAAoB;IAAC;IAAQ;;AAChC,CAAA;AAEO,IAAMC,eAAenB,eAAeoB,KACzCC,KAAKC,IAAI;EACPC,UAAU;EACVC,SAAS;AACX,CAAA,CAAA;AAKK,IAAMC,iBAAiB,CAAC,EAAEtB,MAAMI,QAAO,MAC5CmB,KAAKP,cAAc;EAAEhB;EAAMI,SAASoB,QAAQD,KAAKjB,SAASC,MAAM;IAAEH;EAAQ,CAAA,CAAA;EAAKI,SAAS,CAAA;AAAG,CAAA;AAMtF,IAAMiB,gBAAgB,CAACC,SAC5BA,QACA,OAAOA,SAAS,YAChB,QAAQA,QACR,OAAOA,KAAKC,OAAO,YACnB,UAAUD,QACV,OAAOA,KAAKE,SAAS;;;ACzCvB,SAASC,UAAAA,eAAc;AAGvB,SAAyBC,iBAAiBC,sBAAsB;AAKhE,IAAMC,kBAAkB,GAAGC,eAAAA;;UAEVC,iBAAAA;EACR,MAAMC,eAAeC,QAAOC,YAAW,EAAWL,iBAAiB;IACxEM,OAAOF,QAAOG,OAAO;MACnBC,SAASJ,QAAOK;MAChBC,MAAMN,QAAOO,SAASP,QAAOK,MAAM;MACnCG,SAASR,QAAOO,SAASP,QAAOK,MAAM;IACxC,CAAA;IACAI,QAAQT,QAAOG,OAAO;MACpBO,QAAQC;IACV,CAAA;EACF,CAAA,EAAA;EAAI;kBATSZ,SAAAA;EAWN,MAAMa,oBAAoBZ,QAAOC,YAAW,EAAgB,GAAGL,eAAAA,kBAAiC;IACrGM,OAAOF,QAAOG,OAAO;MACnBU,IAAIb,QAAOK;MACXS,UAAUC;IACZ,CAAA;IACAN,QAAQT,QAAOgB;EACjB,CAAA,EAAA;EAAI;kBANSJ,cAAAA;AAOf,GAnBiBd,mBAAAA,iBAAAA,CAAAA,EAAAA;AAqCV,IAAMmB,yBAAyBjB,QAAOkB,QAC3ClB,QAAOG,OAAO;EACZgB,iBAAiBJ;EACjBK,iBAAiBpB,QAAOO,SAASc,eAAAA;EACjCC,cAActB,QAAOO,SAASP,QAAOuB,OAAO;EAC5CC,OAAOxB,QAAOO,SAASP,QAAOuB,OAAO;EACrCE,SAASzB,QAAOO,SAASP,QAAOuB,OAAO;EACvCG,YAAY1B,QAAOO,SAASP,QAAOK,MAAM;;EAEzCsB,kBAAkB3B,QAAOO,SAASP,QAAOuB,OAAO;EAChDK,SAAS5B,QAAOO,SAASP,QAAOuB,OAAO;AACzC,CAAA,CAAA;",
6
+ "names": ["Schema", "Type", "Expando", "LabelAnnotationId", "Ref", "makeRef", "live", "ThreadType", "DataType", "DocumentSchema", "Schema", "Struct", "name", "optional", "String", "fallbackName", "content", "Ref", "DataType", "Text", "threads", "mutable", "Array", "ThreadType", "assistantChatQueue", "Expando", "annotations", "LabelAnnotationId", "DocumentType", "pipe", "Type", "def", "typename", "version", "createDocument", "live", "makeRef", "isEditorModel", "data", "id", "text", "Schema", "EditorInputMode", "EditorViewMode", "MARKDOWN_ACTION", "MARKDOWN_PLUGIN", "MarkdownAction", "Create", "Schema", "TaggedClass", "input", "Struct", "spaceId", "String", "name", "optional", "content", "output", "object", "DocumentType", "SetViewMode", "id", "viewMode", "EditorViewMode", "Void", "MarkdownSettingsSchema", "mutable", "defaultViewMode", "editorInputMode", "EditorInputMode", "experimental", "Boolean", "debug", "toolbar", "typewriter", "numberedHeadings", "folding"]
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DocumentType
3
- } from "./chunk-GVOEHF7E.mjs";
3
+ } from "./chunk-FJ5P5CGA.mjs";
4
4
  import {
5
5
  MARKDOWN_PLUGIN
6
6
  } from "./chunk-JX6XNEHE.mjs";
@@ -34,7 +34,9 @@ var translations_default = [
34
34
  "settings debug placeholder": "Typewriter script...",
35
35
  "toggle view mode label": "Toggle read-only",
36
36
  "default view mode label": "Default view mode",
37
- "upload image label": "Upload image"
37
+ "upload image label": "Upload image",
38
+ "fallback title": "Untitled",
39
+ "navigate to document label": "Open document"
38
40
  }
39
41
  }
40
42
  }
@@ -43,4 +45,4 @@ var translations_default = [
43
45
  export {
44
46
  translations_default
45
47
  };
46
- //# sourceMappingURL=chunk-2DKQKSBR.mjs.map
48
+ //# sourceMappingURL=chunk-JD72ICHV.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/translations.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { getSchemaTypename } from '@dxos/echo-schema';\n\nimport { MARKDOWN_PLUGIN } from './meta';\nimport { DocumentType } from './types';\n\nexport default [\n {\n 'en-US': {\n [getSchemaTypename(DocumentType)!]: {\n 'typename label': 'Document',\n 'object name placeholder': 'New document',\n },\n [MARKDOWN_PLUGIN]: {\n 'plugin name': 'Editor',\n 'choose markdown from space dialog title': 'Choose one or more documents to add',\n // TODO(burdon): Style-guide for user-facing text (e.g., hints, questions, capitalization, etc.)\n 'empty choose markdown from space message': 'None available; try creating a new one instead?',\n 'chooser done label': 'Add selected',\n 'editor placeholder': '',\n 'editor input mode label': 'Editor input mode',\n 'select editor input mode placeholder': 'Select editor input mode…',\n 'settings editor input mode default label': 'Default',\n 'settings editor input mode vim label': 'Vim',\n 'settings editor input mode vscode label': 'VS Code',\n 'settings toolbar label': 'Show toolbar',\n 'settings numbered headings label': 'Numbered headings',\n 'settings folding label': 'Folding',\n 'settings experimental label': 'Enable experimental features',\n 'settings debug label': 'Enable debugging features',\n 'settings debug placeholder': 'Typewriter script...',\n 'toggle view mode label': 'Toggle read-only',\n 'default view mode label': 'Default view mode',\n 'upload image label': 'Upload image',\n },\n },\n },\n];\n"],
5
- "mappings": ";;;;;;;;AAIA,SAASA,yBAAyB;AAKlC,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACC,kBAAkBC,YAAAA,CAAAA,GAAiB;QAClC,kBAAkB;QAClB,2BAA2B;MAC7B;MACA,CAACC,eAAAA,GAAkB;QACjB,eAAe;QACf,2CAA2C;;QAE3C,4CAA4C;QAC5C,sBAAsB;QACtB,sBAAsB;QACtB,2BAA2B;QAC3B,wCAAwC;QACxC,4CAA4C;QAC5C,wCAAwC;QACxC,2CAA2C;QAC3C,0BAA0B;QAC1B,oCAAoC;QACpC,0BAA0B;QAC1B,+BAA+B;QAC/B,wBAAwB;QACxB,8BAA8B;QAC9B,0BAA0B;QAC1B,2BAA2B;QAC3B,sBAAsB;MACxB;IACF;EACF;;",
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { getSchemaTypename } from '@dxos/echo-schema';\n\nimport { MARKDOWN_PLUGIN } from './meta';\nimport { DocumentType } from './types';\n\nexport default [\n {\n 'en-US': {\n [getSchemaTypename(DocumentType)!]: {\n 'typename label': 'Document',\n 'object name placeholder': 'New document',\n },\n [MARKDOWN_PLUGIN]: {\n 'plugin name': 'Editor',\n 'choose markdown from space dialog title': 'Choose one or more documents to add',\n // TODO(burdon): Style-guide for user-facing text (e.g., hints, questions, capitalization, etc.)\n 'empty choose markdown from space message': 'None available; try creating a new one instead?',\n 'chooser done label': 'Add selected',\n 'editor placeholder': '',\n 'editor input mode label': 'Editor input mode',\n 'select editor input mode placeholder': 'Select editor input mode…',\n 'settings editor input mode default label': 'Default',\n 'settings editor input mode vim label': 'Vim',\n 'settings editor input mode vscode label': 'VS Code',\n 'settings toolbar label': 'Show toolbar',\n 'settings numbered headings label': 'Numbered headings',\n 'settings folding label': 'Folding',\n 'settings experimental label': 'Enable experimental features',\n 'settings debug label': 'Enable debugging features',\n 'settings debug placeholder': 'Typewriter script...',\n 'toggle view mode label': 'Toggle read-only',\n 'default view mode label': 'Default view mode',\n 'upload image label': 'Upload image',\n 'fallback title': 'Untitled',\n 'navigate to document label': 'Open document',\n },\n },\n },\n];\n"],
5
+ "mappings": ";;;;;;;;AAIA,SAASA,yBAAyB;AAKlC,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACC,kBAAkBC,YAAAA,CAAAA,GAAiB;QAClC,kBAAkB;QAClB,2BAA2B;MAC7B;MACA,CAACC,eAAAA,GAAkB;QACjB,eAAe;QACf,2CAA2C;;QAE3C,4CAA4C;QAC5C,sBAAsB;QACtB,sBAAsB;QACtB,2BAA2B;QAC3B,wCAAwC;QACxC,4CAA4C;QAC5C,wCAAwC;QACxC,2CAA2C;QAC3C,0BAA0B;QAC1B,oCAAoC;QACpC,0BAA0B;QAC1B,+BAA+B;QAC/B,wBAAwB;QACxB,8BAA8B;QAC9B,0BAA0B;QAC1B,2BAA2B;QAC3B,sBAAsB;QACtB,kBAAkB;QAClB,8BAA8B;MAChC;IACF;EACF;;",
6
6
  "names": ["getSchemaTypename", "getSchemaTypename", "DocumentType", "MARKDOWN_PLUGIN"]
7
7
  }
@@ -0,0 +1,20 @@
1
+ // packages/plugins/plugin-markdown/src/capabilities/index.ts
2
+ import { lazy } from "@dxos/app-framework";
3
+ var AppGraphSerializer = lazy(() => import("./app-graph-serializer-6SMW5SL3.mjs"));
4
+ var ArtifactDefinition = lazy(() => import("./artifact-definition-BEV7S3Q2.mjs"));
5
+ var IntentResolver = lazy(() => import("./intent-resolver-K7GY2J5W.mjs"));
6
+ var ReactSurface = lazy(() => import("./react-surface-2B7GO5M4.mjs"));
7
+ var MarkdownSettings = lazy(() => import("./settings-QBFZJW2H.mjs"));
8
+ var MarkdownState = lazy(() => import("./state-AIN4J7N5.mjs"));
9
+ var Thread = lazy(() => import("./thread-VUUBSXA5.mjs"));
10
+
11
+ export {
12
+ AppGraphSerializer,
13
+ ArtifactDefinition,
14
+ IntentResolver,
15
+ ReactSurface,
16
+ MarkdownSettings,
17
+ MarkdownState,
18
+ Thread
19
+ };
20
+ //# sourceMappingURL=chunk-WQOUWAY4.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 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'));\nexport const Thread = lazy(() => import('./thread'));\n\nexport * from './capabilities';\n"],
5
+ "mappings": ";AAIA,SAASA,YAAY;AAEd,IAAMC,qBAAqBC,KAAK,MAAM,OAAO,qCAAA,CAAA;AAC7C,IAAMC,qBAAqBD,KAAK,MAAM,OAAO,oCAAA,CAAA;AAC7C,IAAME,iBAAiBF,KAAK,MAAM,OAAO,gCAAA,CAAA;AACzC,IAAMG,eAAeH,KAAK,MAAM,OAAO,8BAAA,CAAA;AACvC,IAAMI,mBAAmBJ,KAAK,MAAM,OAAO,yBAAA,CAAA;AAC3C,IAAMK,gBAAgBL,KAAK,MAAM,OAAO,sBAAA,CAAA;AACxC,IAAMM,SAASN,KAAK,MAAM,OAAO,uBAAA,CAAA;",
6
+ "names": ["lazy", "AppGraphSerializer", "lazy", "ArtifactDefinition", "IntentResolver", "ReactSurface", "MarkdownSettings", "MarkdownState", "Thread"]
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  translations_default
3
- } from "./chunk-2DKQKSBR.mjs";
3
+ } from "./chunk-JD72ICHV.mjs";
4
4
  import {
5
5
  AppGraphSerializer,
6
6
  ArtifactDefinition,
@@ -8,19 +8,22 @@ import {
8
8
  MarkdownSettings,
9
9
  MarkdownState,
10
10
  ReactSurface,
11
- Thread,
11
+ Thread
12
+ } from "./chunk-WQOUWAY4.mjs";
13
+ import {
14
+ getAbstract,
12
15
  getFallbackName,
13
16
  isMarkdownProperties,
14
17
  serializer,
15
18
  setFallbackName
16
- } from "./chunk-V54HDI7B.mjs";
19
+ } from "./chunk-DTJ3HDN6.mjs";
17
20
  import {
18
21
  MarkdownCapabilities
19
22
  } from "./chunk-NAGMSX77.mjs";
20
23
  import {
21
24
  DocumentType,
22
25
  MarkdownAction
23
- } from "./chunk-GVOEHF7E.mjs";
26
+ } from "./chunk-FJ5P5CGA.mjs";
24
27
  import {
25
28
  MARKDOWN_PLUGIN,
26
29
  meta
@@ -41,7 +44,7 @@ import { ClientCapabilities, ClientEvents } from "@dxos/plugin-client";
41
44
  import { SpaceCapabilities, ThreadEvents } from "@dxos/plugin-space";
42
45
  import { defineObjectForm } from "@dxos/plugin-space/types";
43
46
  import { translations as editorTranslations } from "@dxos/react-ui-editor";
44
- import { TextType } from "@dxos/schema";
47
+ import { DataType } from "@dxos/schema";
45
48
  var MarkdownPlugin = () => definePlugin(meta, [
46
49
  defineModule({
47
50
  id: `${meta.id}/module/translations`,
@@ -98,7 +101,7 @@ var MarkdownPlugin = () => definePlugin(meta, [
98
101
  id: `${meta.id}/module/schema`,
99
102
  activatesOn: ClientEvents.SetupSchema,
100
103
  activate: () => contributes(ClientCapabilities.Schema, [
101
- TextType
104
+ DataType.Text
102
105
  ])
103
106
  }),
104
107
  defineModule({
@@ -136,6 +139,7 @@ export {
136
139
  MarkdownCapabilities,
137
140
  MarkdownEvents,
138
141
  MarkdownPlugin,
142
+ getAbstract,
139
143
  getFallbackName,
140
144
  isMarkdownProperties,
141
145
  meta,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/events.ts", "../../../src/MarkdownPlugin.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Events } from '@dxos/app-framework';\n\nimport { MARKDOWN_PLUGIN } from './meta';\n\nexport namespace MarkdownEvents {\n export const SetupExtensions = Events.createStateEvent(`${MARKDOWN_PLUGIN}/setup-extensions`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, defineModule, definePlugin, Events } from '@dxos/app-framework';\nimport { isInstanceOf, type BaseObject } from '@dxos/echo-schema';\nimport { RefArray } from '@dxos/live-object';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { SpaceCapabilities, ThreadEvents } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\nimport { translations as editorTranslations } from '@dxos/react-ui-editor';\nimport { TextType } from '@dxos/schema';\n\nimport {\n AppGraphSerializer,\n ArtifactDefinition,\n IntentResolver,\n MarkdownState,\n MarkdownSettings,\n ReactSurface,\n Thread,\n} from './capabilities';\nimport { MarkdownEvents } from './events';\nimport { meta } from './meta';\nimport translations from './translations';\nimport { DocumentType, MarkdownAction } from './types';\nimport { serializer } from './util';\n\nexport const MarkdownPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, ...editorTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: MarkdownSettings,\n }),\n defineModule({\n id: `${meta.id}/module/state`,\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: Events.SetupSettings,\n activate: MarkdownState,\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: DocumentType.typename,\n metadata: {\n label: (object: any) =>\n isInstanceOf(DocumentType, object) ? object.name || object.fallbackName : undefined,\n icon: 'ph--text-aa--regular',\n graphProps: {\n managesAutofocus: true,\n },\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (doc: DocumentType) =>\n await RefArray.loadAll<BaseObject>([doc.content, ...doc.threads]),\n serializer,\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: DocumentType,\n getIntent: (_, { space }) => createIntent(MarkdownAction.Create, { spaceId: space.id }),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => contributes(ClientCapabilities.Schema, [TextType]),\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the editor is loaded when surfaces activation is more granular.\n activatesBefore: [MarkdownEvents.SetupExtensions],\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-serializer`,\n activatesOn: Events.AppGraphReady,\n activate: AppGraphSerializer,\n }),\n defineModule({\n id: `${meta.id}/module/thread`,\n activatesOn: ThreadEvents.SetupThread,\n activate: Thread,\n }),\n defineModule({\n id: `${meta.id}/module/artifact-definition`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: ArtifactDefinition,\n }),\n ]);\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAASA,cAAc;;UAINC,iBAAAA;kBACFC,kBAAkBC,OAAOC,iBAAiB,GAAGC,eAAAA,mBAAkC;AAC9F,GAFiBJ,mBAAAA,iBAAAA,CAAAA,EAAAA;;;ACJjB,SAASK,cAAcC,aAAaC,cAAcC,cAAcC,cAAcC,UAAAA,eAAc;AAC5F,SAASC,oBAAqC;AAC9C,SAASC,gBAAgB;AACzB,SAASC,oBAAoBC,oBAAoB;AACjD,SAASC,mBAAmBC,oBAAoB;AAChD,SAASC,wBAAwB;AACjC,SAASC,gBAAgBC,0BAA0B;AACnD,SAASC,gBAAgB;AAiBlB,IAAMC,iBAAiB,MAC5BC,aAAaC,MAAM;EACjBC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOC;IACpBC,UAAU,MAAMC,YAAYC,aAAaC,cAAc;SAAIC;SAAiBC;KAAmB;EACjG,CAAA;EACAV,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOQ;IACpBN,UAAUO;EACZ,CAAA;EACAZ,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;;;;IAIdC,aAAaC,QAAOQ;IACpBN,UAAUQ;EACZ,CAAA;EACAb,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOW;IACpBT,UAAU,MACRC,YAAYC,aAAaQ,UAAU;MACjCd,IAAIe,aAAaC;MACjBC,UAAU;QACRC,OAAO,CAACC,WACNC,aAAaL,cAAcI,MAAAA,IAAUA,OAAOE,QAAQF,OAAOG,eAAeC;QAC5EC,MAAM;QACNC,YAAY;UACVC,kBAAkB;QACpB;;QAEAC,gBAAgB,OAAOC,QACrB,MAAMC,SAASC,QAAoB;UAACF,IAAIG;aAAYH,IAAII;SAAQ;QAClEC;MACF;IACF,CAAA;EACJ,CAAA;EACAlC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaiC,aAAaC;IAC1B/B,UAAU,MACRC,YACE+B,kBAAkBC,YAClBC,iBAAiB;MACfC,cAAcxB;MACdyB,WAAW,CAACC,GAAG,EAAEC,MAAK,MAAOC,aAAaC,eAAeC,QAAQ;QAAEC,SAASJ,MAAM1C;MAAG,CAAA;IACvF,CAAA,CAAA;EAEN,CAAA;EACAD,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaiC,aAAaC;IAC1B/B,UAAU,MAAMC,YAAY0C,mBAAmBC,QAAQ;MAACC;KAAS;EACnE,CAAA;EACAlD,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOgD;;IAEpBC,iBAAiB;MAACC,eAAeC;;IACjCjD,UAAUkD;EACZ,CAAA;EACAvD,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOqD;IACpBnD,UAAUoD;EACZ,CAAA;EACAzD,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOuD;IACpBrD,UAAUsD;EACZ,CAAA;EACA3D,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAa0D,aAAaC;IAC1BxD,UAAUyD;EACZ,CAAA;EACA9D,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAO4D;IACpB1D,UAAU2D;EACZ,CAAA;CACD;",
6
- "names": ["Events", "MarkdownEvents", "SetupExtensions", "Events", "createStateEvent", "MARKDOWN_PLUGIN", "Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "isInstanceOf", "RefArray", "ClientCapabilities", "ClientEvents", "SpaceCapabilities", "ThreadEvents", "defineObjectForm", "translations", "editorTranslations", "TextType", "MarkdownPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "editorTranslations", "SetupSettings", "MarkdownSettings", "MarkdownState", "SetupMetadata", "Metadata", "DocumentType", "typename", "metadata", "label", "object", "isInstanceOf", "name", "fallbackName", "undefined", "icon", "graphProps", "managesAutofocus", "loadReferences", "doc", "RefArray", "loadAll", "content", "threads", "serializer", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "getIntent", "_", "space", "createIntent", "MarkdownAction", "Create", "spaceId", "ClientCapabilities", "Schema", "TextType", "SetupReactSurface", "activatesBefore", "MarkdownEvents", "SetupExtensions", "ReactSurface", "SetupIntentResolver", "IntentResolver", "AppGraphReady", "AppGraphSerializer", "ThreadEvents", "SetupThread", "Thread", "SetupArtifactDefinition", "ArtifactDefinition"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Events } from '@dxos/app-framework';\n\nimport { MARKDOWN_PLUGIN } from './meta';\n\nexport namespace MarkdownEvents {\n export const SetupExtensions = Events.createStateEvent(`${MARKDOWN_PLUGIN}/setup-extensions`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, defineModule, definePlugin, Events } from '@dxos/app-framework';\nimport { isInstanceOf, type BaseObject } from '@dxos/echo-schema';\nimport { RefArray } from '@dxos/live-object';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { SpaceCapabilities, ThreadEvents } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\nimport { translations as editorTranslations } from '@dxos/react-ui-editor';\nimport { DataType } from '@dxos/schema';\n\nimport {\n AppGraphSerializer,\n ArtifactDefinition,\n IntentResolver,\n MarkdownState,\n MarkdownSettings,\n ReactSurface,\n Thread,\n} from './capabilities';\nimport { MarkdownEvents } from './events';\nimport { meta } from './meta';\nimport translations from './translations';\nimport { DocumentType, MarkdownAction } from './types';\nimport { serializer } from './util';\n\nexport const MarkdownPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, ...editorTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: MarkdownSettings,\n }),\n defineModule({\n id: `${meta.id}/module/state`,\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: Events.SetupSettings,\n activate: MarkdownState,\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: DocumentType.typename,\n metadata: {\n label: (object: any) =>\n isInstanceOf(DocumentType, object) ? object.name || object.fallbackName : undefined,\n icon: 'ph--text-aa--regular',\n graphProps: {\n managesAutofocus: true,\n },\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (doc: DocumentType) =>\n await RefArray.loadAll<BaseObject>([doc.content, ...doc.threads]),\n serializer,\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: DocumentType,\n getIntent: (_, { space }) => createIntent(MarkdownAction.Create, { spaceId: space.id }),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => contributes(ClientCapabilities.Schema, [DataType.Text]),\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the editor is loaded when surfaces activation is more granular.\n activatesBefore: [MarkdownEvents.SetupExtensions],\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-serializer`,\n activatesOn: Events.AppGraphReady,\n activate: AppGraphSerializer,\n }),\n defineModule({\n id: `${meta.id}/module/thread`,\n activatesOn: ThreadEvents.SetupThread,\n activate: Thread,\n }),\n defineModule({\n id: `${meta.id}/module/artifact-definition`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: ArtifactDefinition,\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAASA,cAAc;;UAINC,iBAAAA;kBACFC,kBAAkBC,OAAOC,iBAAiB,GAAGC,eAAAA,mBAAkC;AAC9F,GAFiBJ,mBAAAA,iBAAAA,CAAAA,EAAAA;;;ACJjB,SAASK,cAAcC,aAAaC,cAAcC,cAAcC,cAAcC,UAAAA,eAAc;AAC5F,SAASC,oBAAqC;AAC9C,SAASC,gBAAgB;AACzB,SAASC,oBAAoBC,oBAAoB;AACjD,SAASC,mBAAmBC,oBAAoB;AAChD,SAASC,wBAAwB;AACjC,SAASC,gBAAgBC,0BAA0B;AACnD,SAASC,gBAAgB;AAiBlB,IAAMC,iBAAiB,MAC5BC,aAAaC,MAAM;EACjBC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOC;IACpBC,UAAU,MAAMC,YAAYC,aAAaC,cAAc;SAAIC;SAAiBC;KAAmB;EACjG,CAAA;EACAV,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOQ;IACpBN,UAAUO;EACZ,CAAA;EACAZ,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;;;;IAIdC,aAAaC,QAAOQ;IACpBN,UAAUQ;EACZ,CAAA;EACAb,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOW;IACpBT,UAAU,MACRC,YAAYC,aAAaQ,UAAU;MACjCd,IAAIe,aAAaC;MACjBC,UAAU;QACRC,OAAO,CAACC,WACNC,aAAaL,cAAcI,MAAAA,IAAUA,OAAOE,QAAQF,OAAOG,eAAeC;QAC5EC,MAAM;QACNC,YAAY;UACVC,kBAAkB;QACpB;;QAEAC,gBAAgB,OAAOC,QACrB,MAAMC,SAASC,QAAoB;UAACF,IAAIG;aAAYH,IAAII;SAAQ;QAClEC;MACF;IACF,CAAA;EACJ,CAAA;EACAlC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaiC,aAAaC;IAC1B/B,UAAU,MACRC,YACE+B,kBAAkBC,YAClBC,iBAAiB;MACfC,cAAcxB;MACdyB,WAAW,CAACC,GAAG,EAAEC,MAAK,MAAOC,aAAaC,eAAeC,QAAQ;QAAEC,SAASJ,MAAM1C;MAAG,CAAA;IACvF,CAAA,CAAA;EAEN,CAAA;EACAD,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaiC,aAAaC;IAC1B/B,UAAU,MAAMC,YAAY0C,mBAAmBC,QAAQ;MAACC,SAASC;KAAK;EACxE,CAAA;EACAnD,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOiD;;IAEpBC,iBAAiB;MAACC,eAAeC;;IACjClD,UAAUmD;EACZ,CAAA;EACAxD,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOsD;IACpBpD,UAAUqD;EACZ,CAAA;EACA1D,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAOwD;IACpBtD,UAAUuD;EACZ,CAAA;EACA5D,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAa2D,aAAaC;IAC1BzD,UAAU0D;EACZ,CAAA;EACA/D,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,QAAO6D;IACpB3D,UAAU4D;EACZ,CAAA;CACD;",
6
+ "names": ["Events", "MarkdownEvents", "SetupExtensions", "Events", "createStateEvent", "MARKDOWN_PLUGIN", "Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "isInstanceOf", "RefArray", "ClientCapabilities", "ClientEvents", "SpaceCapabilities", "ThreadEvents", "defineObjectForm", "translations", "editorTranslations", "DataType", "MarkdownPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "editorTranslations", "SetupSettings", "MarkdownSettings", "MarkdownState", "SetupMetadata", "Metadata", "DocumentType", "typename", "metadata", "label", "object", "isInstanceOf", "name", "fallbackName", "undefined", "icon", "graphProps", "managesAutofocus", "loadReferences", "doc", "RefArray", "loadAll", "content", "threads", "serializer", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "getIntent", "_", "space", "createIntent", "MarkdownAction", "Create", "spaceId", "ClientCapabilities", "Schema", "DataType", "Text", "SetupReactSurface", "activatesBefore", "MarkdownEvents", "SetupExtensions", "ReactSurface", "SetupIntentResolver", "IntentResolver", "AppGraphReady", "AppGraphSerializer", "ThreadEvents", "SetupThread", "Thread", "SetupArtifactDefinition", "ArtifactDefinition"]
7
7
  }
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  DocumentType,
6
6
  MarkdownAction
7
- } from "./chunk-GVOEHF7E.mjs";
7
+ } from "./chunk-FJ5P5CGA.mjs";
8
8
  import "./chunk-JX6XNEHE.mjs";
9
9
 
10
10
  // packages/plugins/plugin-markdown/src/capabilities/intent-resolver.ts
@@ -17,7 +17,7 @@ import { log } from "@dxos/log";
17
17
  import { ClientCapabilities } from "@dxos/plugin-client";
18
18
  import { resolveRef } from "@dxos/react-client";
19
19
  import { createDocAccessor } from "@dxos/react-client/echo";
20
- import { TextType } from "@dxos/schema";
20
+ import { DataType } from "@dxos/schema";
21
21
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-markdown/src/capabilities/intent-resolver.ts";
22
22
  var intent_resolver_default = (context) => contributes(Capabilities.IntentResolver, [
23
23
  createResolver({
@@ -25,7 +25,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
25
25
  resolve: ({ name, spaceId, content }) => {
26
26
  const doc = live(DocumentType, {
27
27
  name,
28
- content: makeRef(live(TextType, {
28
+ content: makeRef(live(DataType.Text, {
29
29
  content: content ?? ""
30
30
  })),
31
31
  assistantChatQueue: refFromDXN(new DXN(DXN.kind.QUEUE, [
@@ -83,4 +83,4 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
83
83
  export {
84
84
  intent_resolver_default as default
85
85
  };
86
- //# sourceMappingURL=intent-resolver-H37L3DBD.mjs.map
86
+ //# sourceMappingURL=intent-resolver-K7GY2J5W.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport {\n Capabilities,\n CollaborationActions,\n contributes,\n createResolver,\n type PluginsContext,\n} from '@dxos/app-framework';\nimport { next as A } from '@dxos/automerge/automerge';\nimport { isInstanceOf, ObjectId } from '@dxos/echo-schema';\nimport { DXN, QueueSubspaceTags } from '@dxos/keys';\nimport { makeRef, live, refFromDXN } from '@dxos/live-object';\nimport { log } from '@dxos/log';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { resolveRef } from '@dxos/react-client';\nimport { createDocAccessor } from '@dxos/react-client/echo';\nimport { DataType } from '@dxos/schema';\n\nimport { MarkdownCapabilities } from './capabilities';\nimport { DocumentType, MarkdownAction } from '../types';\n\nexport default (context: PluginsContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: MarkdownAction.Create,\n resolve: ({ name, spaceId, content }) => {\n const doc = live(DocumentType, {\n name,\n content: makeRef(live(DataType.Text, { content: content ?? '' })),\n assistantChatQueue: refFromDXN(new DXN(DXN.kind.QUEUE, [QueueSubspaceTags.DATA, spaceId, ObjectId.random()])),\n threads: [],\n });\n\n return { data: { object: doc } };\n },\n }),\n createResolver({\n intent: MarkdownAction.SetViewMode,\n resolve: ({ id, viewMode }) => {\n const { state } = context.requestCapability(MarkdownCapabilities.State);\n state.viewMode[id] = viewMode;\n },\n }),\n // TODO(burdon): What is the error boundary for intents? Are errors reported back to caller?\n createResolver({\n intent: CollaborationActions.InsertContent,\n resolve: async ({ spaceId, target: targetRef, object: objectRef, label }) => {\n const client = context.requestCapability(ClientCapabilities.Client);\n const space = client.spaces.get(spaceId);\n const target = await resolveRef(client, targetRef.dxn, space);\n if (target && isInstanceOf(DocumentType, target)) {\n const accessor = createDocAccessor(target, ['content']);\n // TODO(burdon): Should be a cursor that references a selected position.\n const index = 0;\n accessor.handle.change((doc) => {\n // TODO(burdon): Throws error:\n // intent-dispatcher.ts:270 Cannot read properties of undefined (reading 'annotations') (FiberFailure) TypeError: Cannot read properties of undefined (reading 'annotations')\n const ref = `[${label ?? 'Generated content'}]](${objectRef.dxn.toString()})\\n`;\n A.splice(doc, accessor.path.slice(), index, 0, ref);\n });\n } else {\n log.warn('target is not a document', { targetRef, objectRef });\n }\n },\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;AAIA,SACEA,cACAC,sBACAC,aACAC,sBAEK;AACP,SAASC,QAAQC,SAAS;AAC1B,SAASC,cAAcC,gBAAgB;AACvC,SAASC,KAAKC,yBAAyB;AACvC,SAASC,SAASC,MAAMC,kBAAkB;AAC1C,SAASC,WAAW;AACpB,SAASC,0BAA0B;AACnC,SAASC,kBAAkB;AAC3B,SAASC,yBAAyB;AAClC,SAASC,gBAAgB;;AAKzB,IAAA,0BAAe,CAACC,YACdC,YAAYC,aAAaC,gBAAgB;EACvCC,eAAe;IACbC,QAAQC,eAAeC;IACvBC,SAAS,CAAC,EAAEC,MAAMC,SAASC,QAAO,MAAE;AAClC,YAAMC,MAAMC,KAAKC,cAAc;QAC7BL;QACAE,SAASI,QAAQF,KAAKG,SAASC,MAAM;UAAEN,SAASA,WAAW;QAAG,CAAA,CAAA;QAC9DO,oBAAoBC,WAAW,IAAIC,IAAIA,IAAIC,KAAKC,OAAO;UAACC,kBAAkBC;UAAMd;UAASe,SAASC,OAAM;SAAG,CAAA;QAC3GC,SAAS,CAAA;MACX,CAAA;AAEA,aAAO;QAAEC,MAAM;UAAEC,QAAQjB;QAAI;MAAE;IACjC;EACF,CAAA;EACAR,eAAe;IACbC,QAAQC,eAAewB;IACvBtB,SAAS,CAAC,EAAEuB,IAAIC,SAAQ,MAAE;AACxB,YAAM,EAAEC,MAAK,IAAKjC,QAAQkC,kBAAkBC,qBAAqBC,KAAK;AACtEH,YAAMD,SAASD,EAAAA,IAAMC;IACvB;EACF,CAAA;;EAEA5B,eAAe;IACbC,QAAQgC,qBAAqBC;IAC7B9B,SAAS,OAAO,EAAEE,SAAS6B,QAAQC,WAAWX,QAAQY,WAAWC,MAAK,MAAE;AACtE,YAAMC,SAAS3C,QAAQkC,kBAAkBU,mBAAmBC,MAAM;AAClE,YAAMC,QAAQH,OAAOI,OAAOC,IAAItC,OAAAA;AAChC,YAAM6B,SAAS,MAAMU,WAAWN,QAAQH,UAAUU,KAAKJ,KAAAA;AACvD,UAAIP,UAAUY,aAAarC,cAAcyB,MAAAA,GAAS;AAChD,cAAMa,WAAWC,kBAAkBd,QAAQ;UAAC;SAAU;AAEtD,cAAMe,QAAQ;AACdF,iBAASG,OAAOC,OAAO,CAAC5C,QAAAA;AAGtB,gBAAM6C,MAAM,IAAIf,SAAS,mBAAA,MAAyBD,UAAUS,IAAIQ,SAAQ,CAAA;;AACxEC,YAAEC,OAAOhD,KAAKwC,SAASS,KAAKC,MAAK,GAAIR,OAAO,GAAGG,GAAAA;QACjD,CAAA;MACF,OAAO;AACLM,YAAIC,KAAK,4BAA4B;UAAExB;UAAWC;QAAU,GAAA;;;;;;MAC9D;IACF;EACF,CAAA;CACD;",
6
+ "names": ["Capabilities", "CollaborationActions", "contributes", "createResolver", "next", "A", "isInstanceOf", "ObjectId", "DXN", "QueueSubspaceTags", "makeRef", "live", "refFromDXN", "log", "ClientCapabilities", "resolveRef", "createDocAccessor", "DataType", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "MarkdownAction", "Create", "resolve", "name", "spaceId", "content", "doc", "live", "DocumentType", "makeRef", "DataType", "Text", "assistantChatQueue", "refFromDXN", "DXN", "kind", "QUEUE", "QueueSubspaceTags", "DATA", "ObjectId", "random", "threads", "data", "object", "SetViewMode", "id", "viewMode", "state", "requestCapability", "MarkdownCapabilities", "State", "CollaborationActions", "InsertContent", "target", "targetRef", "objectRef", "label", "client", "ClientCapabilities", "Client", "space", "spaces", "get", "resolveRef", "dxn", "isInstanceOf", "accessor", "createDocAccessor", "index", "handle", "change", "ref", "toString", "A", "splice", "path", "slice", "log", "warn"]
7
+ }