@dxos/plugin-markdown 0.7.5-labs.e27f9b9 → 0.7.5-labs.f400bbc

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 (128) hide show
  1. package/dist/lib/browser/{MarkdownContainer-5BS3UOMU.mjs → MarkdownContainer-TTRIEPSE.mjs} +9 -9
  2. package/dist/lib/browser/MarkdownContainer-TTRIEPSE.mjs.map +7 -0
  3. package/dist/lib/browser/{app-graph-serializer-DSVNMTSU.mjs → app-graph-serializer-BG3MHYI4.mjs} +4 -4
  4. package/dist/lib/browser/artifact-definition-7CNIKNQT.mjs +110 -0
  5. package/dist/lib/browser/artifact-definition-7CNIKNQT.mjs.map +7 -0
  6. package/dist/lib/browser/{chunk-FSAYVXSE.mjs → chunk-EZ65DY2X.mjs} +2 -2
  7. package/dist/lib/browser/{chunk-GYLDOX66.mjs → chunk-GPKIUDG2.mjs} +10 -8
  8. package/dist/lib/browser/{chunk-GYLDOX66.mjs.map → chunk-GPKIUDG2.mjs.map} +3 -3
  9. package/dist/lib/browser/{chunk-EMIIXXVX.mjs → chunk-P4K367ZX.mjs} +2 -2
  10. package/dist/lib/browser/{chunk-YXRZIFT3.mjs → chunk-ROJ4VUZB.mjs} +3 -3
  11. package/dist/lib/browser/chunk-YTHIPV5Q.mjs +22 -0
  12. package/dist/lib/browser/chunk-YTHIPV5Q.mjs.map +7 -0
  13. package/dist/lib/browser/index.mjs +57 -32
  14. package/dist/lib/browser/index.mjs.map +4 -4
  15. package/dist/lib/browser/{intent-resolver-TVTJPGNU.mjs → intent-resolver-CIFJVGAU.mjs} +6 -6
  16. package/dist/lib/browser/meta.json +1 -1
  17. package/dist/lib/browser/{react-surface-N4MRORGJ.mjs → react-surface-LG2MTHC7.mjs} +7 -7
  18. package/dist/lib/browser/{settings-PTF73JDL.mjs → settings-U7E4DUWJ.mjs} +3 -3
  19. package/dist/lib/browser/{state-DOVZP7XJ.mjs → state-QMQXUPSI.mjs} +3 -3
  20. package/dist/lib/browser/{thread-G4RS7NBZ.mjs → thread-Y4WMNFBC.mjs} +3 -3
  21. package/dist/lib/browser/types/index.mjs +2 -2
  22. package/dist/lib/node/{MarkdownContainer-4BJGWTDG.cjs → MarkdownContainer-2R6WRR5T.cjs} +16 -16
  23. package/dist/lib/node/MarkdownContainer-2R6WRR5T.cjs.map +7 -0
  24. package/dist/lib/node/{app-graph-serializer-X36IUMC5.cjs → app-graph-serializer-QZWERV4M.cjs} +10 -10
  25. package/dist/lib/node/artifact-definition-E6EQTWBS.cjs +124 -0
  26. package/dist/lib/node/artifact-definition-E6EQTWBS.cjs.map +7 -0
  27. package/dist/lib/node/{chunk-G7WKHUGU.cjs → chunk-23NQGZX3.cjs} +7 -7
  28. package/dist/lib/node/{chunk-34WFGSZU.cjs → chunk-CZXXBKMN.cjs} +6 -6
  29. package/dist/lib/node/{chunk-HTWAAR54.cjs → chunk-QZ4XQYNC.cjs} +13 -6
  30. package/dist/lib/node/chunk-QZ4XQYNC.cjs.map +7 -0
  31. package/dist/lib/node/{chunk-2KDTUWCY.cjs → chunk-VFE34V2L.cjs} +15 -12
  32. package/dist/lib/node/{chunk-2KDTUWCY.cjs.map → chunk-VFE34V2L.cjs.map} +3 -3
  33. package/dist/lib/node/{chunk-4K6TWAHC.cjs → chunk-ZO5ABSHT.cjs} +8 -8
  34. package/dist/lib/node/index.cjs +86 -63
  35. package/dist/lib/node/index.cjs.map +4 -4
  36. package/dist/lib/node/{intent-resolver-DVME6SGT.cjs → intent-resolver-6COP7TEQ.cjs} +11 -11
  37. package/dist/lib/node/meta.json +1 -1
  38. package/dist/lib/node/{react-surface-N2PPGT3Z.cjs → react-surface-JJ2DHTCW.cjs} +19 -19
  39. package/dist/lib/node/{settings-BO5P5R4I.cjs → settings-4OYDMRVY.cjs} +8 -8
  40. package/dist/lib/node/{state-F26NQP7F.cjs → state-QSA5AOLH.cjs} +10 -10
  41. package/dist/lib/node/{thread-THWQ67WS.cjs → thread-BZE6RKFE.cjs} +7 -7
  42. package/dist/lib/node/types/index.cjs +6 -6
  43. package/dist/lib/node/types/index.cjs.map +1 -1
  44. package/dist/lib/node-esm/{MarkdownContainer-6QBBUSHQ.mjs → MarkdownContainer-WXTODKI4.mjs} +9 -9
  45. package/dist/lib/node-esm/MarkdownContainer-WXTODKI4.mjs.map +7 -0
  46. package/dist/lib/node-esm/{app-graph-serializer-ABFIUF7N.mjs → app-graph-serializer-H7LI476D.mjs} +4 -4
  47. package/dist/lib/node-esm/artifact-definition-S64WTOFK.mjs +111 -0
  48. package/dist/lib/node-esm/artifact-definition-S64WTOFK.mjs.map +7 -0
  49. package/dist/lib/node-esm/{chunk-U2HBCR3V.mjs → chunk-7I4X2C7G.mjs} +10 -8
  50. package/dist/lib/node-esm/{chunk-U2HBCR3V.mjs.map → chunk-7I4X2C7G.mjs.map} +3 -3
  51. package/dist/lib/node-esm/chunk-BBVPC53M.mjs +24 -0
  52. package/dist/lib/node-esm/chunk-BBVPC53M.mjs.map +7 -0
  53. package/dist/lib/node-esm/{chunk-CDFNMFGT.mjs → chunk-MMVIEZ43.mjs} +2 -2
  54. package/dist/lib/node-esm/{chunk-CIZHTZXC.mjs → chunk-OXPPXUUU.mjs} +3 -3
  55. package/dist/lib/node-esm/{chunk-2GHK262V.mjs → chunk-Y5QKDC4V.mjs} +2 -2
  56. package/dist/lib/node-esm/index.mjs +57 -32
  57. package/dist/lib/node-esm/index.mjs.map +4 -4
  58. package/dist/lib/node-esm/{intent-resolver-4AD4PQNY.mjs → intent-resolver-GF3EHDYE.mjs} +6 -6
  59. package/dist/lib/node-esm/meta.json +1 -1
  60. package/dist/lib/node-esm/{react-surface-XH2T43TJ.mjs → react-surface-O2WYA2AU.mjs} +7 -7
  61. package/dist/lib/node-esm/{settings-E7P5FQ3F.mjs → settings-MEN2YBLA.mjs} +3 -3
  62. package/dist/lib/node-esm/{state-HXSOQNOV.mjs → state-FF4NXLWU.mjs} +3 -3
  63. package/dist/lib/node-esm/{thread-CYEXBXTW.mjs → thread-O2YDKT77.mjs} +3 -3
  64. package/dist/lib/node-esm/types/index.mjs +2 -2
  65. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  66. package/dist/types/src/capabilities/artifact-definition.d.ts +11 -0
  67. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -0
  68. package/dist/types/src/capabilities/index.d.ts +4 -3
  69. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  70. package/dist/types/src/components/MarkdownContainer.d.ts +2 -3
  71. package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
  72. package/dist/types/src/components/MarkdownEditor.d.ts +4 -5
  73. package/dist/types/src/components/MarkdownEditor.d.ts.map +1 -1
  74. package/dist/types/src/components/MarkdownSettings.d.ts +1 -2
  75. package/dist/types/src/components/MarkdownSettings.d.ts.map +1 -1
  76. package/dist/types/src/components/index.d.ts +1 -1
  77. package/dist/types/src/components/index.d.ts.map +1 -1
  78. package/dist/types/src/events.d.ts +4 -0
  79. package/dist/types/src/events.d.ts.map +1 -0
  80. package/dist/types/src/index.d.ts +1 -0
  81. package/dist/types/src/index.d.ts.map +1 -1
  82. package/dist/types/src/meta.d.ts +1 -0
  83. package/dist/types/src/meta.d.ts.map +1 -1
  84. package/dist/types/src/types/schema.d.ts +18 -18
  85. package/dist/types/src/types/schema.d.ts.map +1 -1
  86. package/package.json +32 -31
  87. package/src/MarkdownPlugin.tsx +37 -15
  88. package/src/capabilities/artifact-definition.ts +85 -0
  89. package/src/capabilities/index.ts +1 -0
  90. package/src/components/MarkdownEditor.tsx +2 -2
  91. package/src/events.ts +11 -0
  92. package/src/index.ts +1 -0
  93. package/src/meta.ts +6 -1
  94. package/dist/lib/browser/MarkdownContainer-5BS3UOMU.mjs.map +0 -7
  95. package/dist/lib/browser/chunk-YB2TJFNH.mjs +0 -15
  96. package/dist/lib/browser/chunk-YB2TJFNH.mjs.map +0 -7
  97. package/dist/lib/node/MarkdownContainer-4BJGWTDG.cjs.map +0 -7
  98. package/dist/lib/node/chunk-HTWAAR54.cjs.map +0 -7
  99. package/dist/lib/node-esm/MarkdownContainer-6QBBUSHQ.mjs.map +0 -7
  100. package/dist/lib/node-esm/chunk-AOKWCL3O.mjs +0 -17
  101. package/dist/lib/node-esm/chunk-AOKWCL3O.mjs.map +0 -7
  102. /package/dist/lib/browser/{app-graph-serializer-DSVNMTSU.mjs.map → app-graph-serializer-BG3MHYI4.mjs.map} +0 -0
  103. /package/dist/lib/browser/{chunk-FSAYVXSE.mjs.map → chunk-EZ65DY2X.mjs.map} +0 -0
  104. /package/dist/lib/browser/{chunk-EMIIXXVX.mjs.map → chunk-P4K367ZX.mjs.map} +0 -0
  105. /package/dist/lib/browser/{chunk-YXRZIFT3.mjs.map → chunk-ROJ4VUZB.mjs.map} +0 -0
  106. /package/dist/lib/browser/{intent-resolver-TVTJPGNU.mjs.map → intent-resolver-CIFJVGAU.mjs.map} +0 -0
  107. /package/dist/lib/browser/{react-surface-N4MRORGJ.mjs.map → react-surface-LG2MTHC7.mjs.map} +0 -0
  108. /package/dist/lib/browser/{settings-PTF73JDL.mjs.map → settings-U7E4DUWJ.mjs.map} +0 -0
  109. /package/dist/lib/browser/{state-DOVZP7XJ.mjs.map → state-QMQXUPSI.mjs.map} +0 -0
  110. /package/dist/lib/browser/{thread-G4RS7NBZ.mjs.map → thread-Y4WMNFBC.mjs.map} +0 -0
  111. /package/dist/lib/node/{app-graph-serializer-X36IUMC5.cjs.map → app-graph-serializer-QZWERV4M.cjs.map} +0 -0
  112. /package/dist/lib/node/{chunk-G7WKHUGU.cjs.map → chunk-23NQGZX3.cjs.map} +0 -0
  113. /package/dist/lib/node/{chunk-34WFGSZU.cjs.map → chunk-CZXXBKMN.cjs.map} +0 -0
  114. /package/dist/lib/node/{chunk-4K6TWAHC.cjs.map → chunk-ZO5ABSHT.cjs.map} +0 -0
  115. /package/dist/lib/node/{intent-resolver-DVME6SGT.cjs.map → intent-resolver-6COP7TEQ.cjs.map} +0 -0
  116. /package/dist/lib/node/{react-surface-N2PPGT3Z.cjs.map → react-surface-JJ2DHTCW.cjs.map} +0 -0
  117. /package/dist/lib/node/{settings-BO5P5R4I.cjs.map → settings-4OYDMRVY.cjs.map} +0 -0
  118. /package/dist/lib/node/{state-F26NQP7F.cjs.map → state-QSA5AOLH.cjs.map} +0 -0
  119. /package/dist/lib/node/{thread-THWQ67WS.cjs.map → thread-BZE6RKFE.cjs.map} +0 -0
  120. /package/dist/lib/node-esm/{app-graph-serializer-ABFIUF7N.mjs.map → app-graph-serializer-H7LI476D.mjs.map} +0 -0
  121. /package/dist/lib/node-esm/{chunk-CDFNMFGT.mjs.map → chunk-MMVIEZ43.mjs.map} +0 -0
  122. /package/dist/lib/node-esm/{chunk-CIZHTZXC.mjs.map → chunk-OXPPXUUU.mjs.map} +0 -0
  123. /package/dist/lib/node-esm/{chunk-2GHK262V.mjs.map → chunk-Y5QKDC4V.mjs.map} +0 -0
  124. /package/dist/lib/node-esm/{intent-resolver-4AD4PQNY.mjs.map → intent-resolver-GF3EHDYE.mjs.map} +0 -0
  125. /package/dist/lib/node-esm/{react-surface-XH2T43TJ.mjs.map → react-surface-O2WYA2AU.mjs.map} +0 -0
  126. /package/dist/lib/node-esm/{settings-E7P5FQ3F.mjs.map → settings-MEN2YBLA.mjs.map} +0 -0
  127. /package/dist/lib/node-esm/{state-HXSOQNOV.mjs.map → state-FF4NXLWU.mjs.map} +0 -0
  128. /package/dist/lib/node-esm/{thread-CYEXBXTW.mjs.map → thread-O2YDKT77.mjs.map} +0 -0
@@ -16,28 +16,28 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var app_graph_serializer_X36IUMC5_exports = {};
20
- __export(app_graph_serializer_X36IUMC5_exports, {
19
+ var app_graph_serializer_QZWERV4M_exports = {};
20
+ __export(app_graph_serializer_QZWERV4M_exports, {
21
21
  default: () => app_graph_serializer_default
22
22
  });
23
- module.exports = __toCommonJS(app_graph_serializer_X36IUMC5_exports);
24
- var import_chunk_4K6TWAHC = require("./chunk-4K6TWAHC.cjs");
25
- var import_chunk_34WFGSZU = require("./chunk-34WFGSZU.cjs");
26
- var import_chunk_HTWAAR54 = require("./chunk-HTWAAR54.cjs");
23
+ module.exports = __toCommonJS(app_graph_serializer_QZWERV4M_exports);
24
+ var import_chunk_ZO5ABSHT = require("./chunk-ZO5ABSHT.cjs");
25
+ var import_chunk_CZXXBKMN = require("./chunk-CZXXBKMN.cjs");
26
+ var import_chunk_QZ4XQYNC = require("./chunk-QZ4XQYNC.cjs");
27
27
  var import_effect = require("effect");
28
28
  var import_app_framework = require("@dxos/app-framework");
29
29
  var import_types = require("@dxos/plugin-space/types");
30
30
  var import_echo = require("@dxos/react-client/echo");
31
31
  var app_graph_serializer_default = (context) => (0, import_app_framework.contributes)(import_app_framework.Capabilities.AppGraphSerializer, [
32
32
  {
33
- inputType: import_chunk_34WFGSZU.DocumentType.typename,
33
+ inputType: import_chunk_CZXXBKMN.DocumentType.typename,
34
34
  outputType: "text/markdown",
35
35
  // Reconcile with metadata serializers.
36
36
  serialize: async (node) => {
37
37
  const doc = node.data;
38
38
  const content = await doc.content.load();
39
39
  return {
40
- name: doc.name || doc.fallbackName || import_chunk_4K6TWAHC.translations_default[0]["en-US"][import_chunk_HTWAAR54.MARKDOWN_PLUGIN]["document title placeholder"],
40
+ name: doc.name || doc.fallbackName || import_chunk_ZO5ABSHT.translations_default[0]["en-US"][import_chunk_QZ4XQYNC.MARKDOWN_PLUGIN]["document title placeholder"],
41
41
  data: content.content,
42
42
  type: "text/markdown"
43
43
  };
@@ -49,7 +49,7 @@ var app_graph_serializer_default = (context) => (0, import_app_framework.contrib
49
49
  return;
50
50
  }
51
51
  const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
52
- const result = await dispatch((0, import_effect.pipe)((0, import_app_framework.createIntent)(import_chunk_34WFGSZU.MarkdownAction.Create, {
52
+ const result = await dispatch((0, import_effect.pipe)((0, import_app_framework.createIntent)(import_chunk_CZXXBKMN.MarkdownAction.Create, {
53
53
  name: data.name,
54
54
  content: data.data
55
55
  }), (0, import_app_framework.chain)(import_types.SpaceAction.AddObject, {
@@ -59,4 +59,4 @@ var app_graph_serializer_default = (context) => (0, import_app_framework.contrib
59
59
  }
60
60
  }
61
61
  ]);
62
- //# sourceMappingURL=app-graph-serializer-X36IUMC5.cjs.map
62
+ //# sourceMappingURL=app-graph-serializer-QZWERV4M.cjs.map
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var artifact_definition_E6EQTWBS_exports = {};
20
+ __export(artifact_definition_E6EQTWBS_exports, {
21
+ default: () => artifact_definition_default
22
+ });
23
+ module.exports = __toCommonJS(artifact_definition_E6EQTWBS_exports);
24
+ var import_chunk_CZXXBKMN = require("./chunk-CZXXBKMN.cjs");
25
+ var import_chunk_QZ4XQYNC = require("./chunk-QZ4XQYNC.cjs");
26
+ var import_app_framework = require("@dxos/app-framework");
27
+ var import_artifact = require("@dxos/artifact");
28
+ var import_echo_schema = require("@dxos/echo-schema");
29
+ var import_invariant = require("@dxos/invariant");
30
+ var import_echo = require("@dxos/react-client/echo");
31
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-markdown/src/capabilities/artifact-definition.ts";
32
+ var artifact_definition_default = () => {
33
+ const definition = (0, import_artifact.defineArtifact)({
34
+ id: import_chunk_QZ4XQYNC.meta.id,
35
+ name: import_chunk_QZ4XQYNC.meta.name,
36
+ instructions: `
37
+ - The markdown plugin allows you to work with text documents in the current space.
38
+ - Use these tools to interact with documents, including listing available documents and retrieving their content.
39
+ - Documents are stored in Markdown format.
40
+ `,
41
+ schema: import_chunk_CZXXBKMN.DocumentType,
42
+ tools: [
43
+ (0, import_artifact.defineTool)(import_chunk_QZ4XQYNC.meta.id, {
44
+ name: "list",
45
+ description: "List all markdown documents in the current space.",
46
+ caption: "Listing markdown documents...",
47
+ schema: import_echo_schema.S.Struct({}),
48
+ execute: async (_input, { extensions }) => {
49
+ (0, import_invariant.invariant)(extensions?.space, "No space", {
50
+ F: __dxlog_file,
51
+ L: 39,
52
+ S: void 0,
53
+ A: [
54
+ "extensions?.space",
55
+ "'No space'"
56
+ ]
57
+ });
58
+ const space = extensions.space;
59
+ const { objects: documents } = await space.db.query(import_echo.Filter.schema(import_chunk_CZXXBKMN.DocumentType)).run();
60
+ const documentInfo = documents.map((doc) => {
61
+ (0, import_invariant.invariant)((0, import_echo_schema.isInstanceOf)(import_chunk_CZXXBKMN.DocumentType, doc), void 0, {
62
+ F: __dxlog_file,
63
+ L: 43,
64
+ S: void 0,
65
+ A: [
66
+ "isInstanceOf(DocumentType, doc)",
67
+ ""
68
+ ]
69
+ });
70
+ return {
71
+ id: (0, import_echo.fullyQualifiedId)(doc),
72
+ name: doc.name || doc.fallbackName || "Unnamed Document"
73
+ };
74
+ });
75
+ return import_artifact.ToolResult.Success(documentInfo);
76
+ }
77
+ }),
78
+ (0, import_artifact.defineTool)(import_chunk_QZ4XQYNC.meta.id, {
79
+ name: "inspect",
80
+ description: "Read the content of a markdown document.",
81
+ caption: "Inspecting markdown document...",
82
+ schema: import_echo_schema.S.Struct({
83
+ id: import_echo_schema.S.String.annotations({
84
+ description: "The fully qualified ID of the document `spaceID:objectID`"
85
+ })
86
+ }),
87
+ execute: async ({ id }, { extensions }) => {
88
+ (0, import_invariant.invariant)(extensions?.space, "No space", {
89
+ F: __dxlog_file,
90
+ L: 64,
91
+ S: void 0,
92
+ A: [
93
+ "extensions?.space",
94
+ "'No space'"
95
+ ]
96
+ });
97
+ const space = extensions.space;
98
+ const { objects: documents } = await space.db.query(import_echo.Filter.schema(import_chunk_CZXXBKMN.DocumentType)).run();
99
+ const document = documents.find((doc) => (0, import_echo.fullyQualifiedId)(doc) === id);
100
+ if (!document) {
101
+ return import_artifact.ToolResult.Error(`Document not found: ${id}`);
102
+ }
103
+ (0, import_invariant.invariant)((0, import_echo_schema.isInstanceOf)(import_chunk_CZXXBKMN.DocumentType, document), void 0, {
104
+ F: __dxlog_file,
105
+ L: 72,
106
+ S: void 0,
107
+ A: [
108
+ "isInstanceOf(DocumentType, document)",
109
+ ""
110
+ ]
111
+ });
112
+ const { content } = await document.content?.load();
113
+ return import_artifact.ToolResult.Success({
114
+ id: (0, import_echo.fullyQualifiedId)(document),
115
+ name: document.name || document.fallbackName || "Unnamed Document",
116
+ content
117
+ });
118
+ }
119
+ })
120
+ ]
121
+ });
122
+ return (0, import_app_framework.contributes)(import_app_framework.Capabilities.ArtifactDefinition, definition);
123
+ };
124
+ //# sourceMappingURL=artifact-definition-E6EQTWBS.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/artifact-definition.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, type PromiseIntentDispatcher } from '@dxos/app-framework';\nimport { defineArtifact, defineTool, ToolResult } from '@dxos/artifact';\nimport { isInstanceOf, S } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { fullyQualifiedId, Filter, type Space } from '@dxos/react-client/echo';\n\nimport { meta } from '../meta';\nimport { DocumentType } from '../types';\n\n// TODO(burdon): Factor out.\ndeclare global {\n interface ToolContextExtensions {\n space?: Space;\n dispatch?: PromiseIntentDispatcher;\n }\n}\n\nexport default () => {\n const definition = defineArtifact({\n id: meta.id,\n name: meta.name,\n instructions: `\n - The markdown plugin allows you to work with text documents in the current space.\n - Use these tools to interact with documents, including listing available documents and retrieving their content.\n - Documents are stored in Markdown format.\n `,\n schema: DocumentType,\n tools: [\n defineTool(meta.id, {\n name: 'list',\n description: 'List all markdown documents in the current space.',\n caption: 'Listing markdown documents...',\n schema: S.Struct({}),\n execute: async (_input, { extensions }) => {\n invariant(extensions?.space, 'No space');\n const space = extensions.space;\n const { objects: documents } = await space.db.query(Filter.schema(DocumentType)).run();\n const documentInfo = documents.map((doc) => {\n invariant(isInstanceOf(DocumentType, doc));\n return {\n id: fullyQualifiedId(doc),\n name: doc.name || doc.fallbackName || 'Unnamed Document',\n // TODO(ZaymonFC): Include updatedAt?\n };\n });\n\n return ToolResult.Success(documentInfo);\n },\n }),\n defineTool(meta.id, {\n name: 'inspect',\n description: 'Read the content of a markdown document.',\n caption: 'Inspecting markdown document...',\n schema: S.Struct({\n id: S.String.annotations({\n description: 'The fully qualified ID of the document `spaceID:objectID`',\n }),\n }),\n execute: async ({ id }, { extensions }) => {\n invariant(extensions?.space, 'No space');\n const space = extensions.space;\n const { objects: documents } = await space.db.query(Filter.schema(DocumentType)).run();\n const document = documents.find((doc) => fullyQualifiedId(doc) === id);\n if (!document) {\n return ToolResult.Error(`Document not found: ${id}`);\n }\n\n invariant(isInstanceOf(DocumentType, document));\n const { content } = await document.content?.load();\n return ToolResult.Success({\n id: fullyQualifiedId(document),\n name: document.name || document.fallbackName || 'Unnamed Document',\n content,\n });\n },\n }),\n ],\n });\n\n return contributes(Capabilities.ArtifactDefinition, definition);\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAAwE;AACxE,sBAAuD;AACvD,yBAAgC;AAChC,uBAA0B;AAC1B,kBAAqD;;AAarD,IAAA,8BAAe,MAAA;AACb,QAAMA,iBAAaC,gCAAe;IAChCC,IAAIC,2BAAKD;IACTE,MAAMD,2BAAKC;IACXC,cAAc;;;;;IAKdC,QAAQC;IACRC,OAAO;UACLC,4BAAWN,2BAAKD,IAAI;QAClBE,MAAM;QACNM,aAAa;QACbC,SAAS;QACTL,QAAQM,qBAAEC,OAAO,CAAC,CAAA;QAClBC,SAAS,OAAOC,QAAQ,EAAEC,WAAU,MAAE;AACpCC,0CAAUD,YAAYE,OAAO,YAAA;;;;;;;;;AAC7B,gBAAMA,QAAQF,WAAWE;AACzB,gBAAM,EAAEC,SAASC,UAAS,IAAK,MAAMF,MAAMG,GAAGC,MAAMC,mBAAOjB,OAAOC,kCAAAA,CAAAA,EAAeiB,IAAG;AACpF,gBAAMC,eAAeL,UAAUM,IAAI,CAACC,QAAAA;AAClCV,gDAAUW,iCAAarB,oCAAcoB,GAAAA,GAAAA,QAAAA;;;;;;;;;AACrC,mBAAO;cACLzB,QAAI2B,8BAAiBF,GAAAA;cACrBvB,MAAMuB,IAAIvB,QAAQuB,IAAIG,gBAAgB;YAExC;UACF,CAAA;AAEA,iBAAOC,2BAAWC,QAAQP,YAAAA;QAC5B;MACF,CAAA;UACAhB,4BAAWN,2BAAKD,IAAI;QAClBE,MAAM;QACNM,aAAa;QACbC,SAAS;QACTL,QAAQM,qBAAEC,OAAO;UACfX,IAAIU,qBAAEqB,OAAOC,YAAY;YACvBxB,aAAa;UACf,CAAA;QACF,CAAA;QACAI,SAAS,OAAO,EAAEZ,GAAE,GAAI,EAAEc,WAAU,MAAE;AACpCC,0CAAUD,YAAYE,OAAO,YAAA;;;;;;;;;AAC7B,gBAAMA,QAAQF,WAAWE;AACzB,gBAAM,EAAEC,SAASC,UAAS,IAAK,MAAMF,MAAMG,GAAGC,MAAMC,mBAAOjB,OAAOC,kCAAAA,CAAAA,EAAeiB,IAAG;AACpF,gBAAMW,WAAWf,UAAUgB,KAAK,CAACT,YAAQE,8BAAiBF,GAAAA,MAASzB,EAAAA;AACnE,cAAI,CAACiC,UAAU;AACb,mBAAOJ,2BAAWM,MAAM,uBAAuBnC,EAAAA,EAAI;UACrD;AAEAe,8CAAUW,iCAAarB,oCAAc4B,QAAAA,GAAAA,QAAAA;;;;;;;;;AACrC,gBAAM,EAAEG,QAAO,IAAK,MAAMH,SAASG,SAASC,KAAAA;AAC5C,iBAAOR,2BAAWC,QAAQ;YACxB9B,QAAI2B,8BAAiBM,QAAAA;YACrB/B,MAAM+B,SAAS/B,QAAQ+B,SAASL,gBAAgB;YAChDQ;UACF,CAAA;QACF;MACF,CAAA;;EAEJ,CAAA;AAEA,aAAOE,kCAAYC,kCAAaC,oBAAoB1C,UAAAA;AACtD;",
6
+ "names": ["definition", "defineArtifact", "id", "meta", "name", "instructions", "schema", "DocumentType", "tools", "defineTool", "description", "caption", "S", "Struct", "execute", "_input", "extensions", "invariant", "space", "objects", "documents", "db", "query", "Filter", "run", "documentInfo", "map", "doc", "isInstanceOf", "fullyQualifiedId", "fallbackName", "ToolResult", "Success", "String", "annotations", "document", "find", "Error", "content", "load", "contributes", "Capabilities", "ArtifactDefinition"]
7
+ }
@@ -16,20 +16,20 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_G7WKHUGU_exports = {};
20
- __export(chunk_G7WKHUGU_exports, {
19
+ var chunk_23NQGZX3_exports = {};
20
+ __export(chunk_23NQGZX3_exports, {
21
21
  MarkdownCapabilities: () => MarkdownCapabilities
22
22
  });
23
- module.exports = __toCommonJS(chunk_G7WKHUGU_exports);
24
- var import_chunk_HTWAAR54 = require("./chunk-HTWAAR54.cjs");
23
+ module.exports = __toCommonJS(chunk_23NQGZX3_exports);
24
+ var import_chunk_QZ4XQYNC = require("./chunk-QZ4XQYNC.cjs");
25
25
  var import_app_framework = require("@dxos/app-framework");
26
26
  var MarkdownCapabilities;
27
27
  (function(MarkdownCapabilities2) {
28
- MarkdownCapabilities2.State = (0, import_app_framework.defineCapability)(`${import_chunk_HTWAAR54.MARKDOWN_PLUGIN}/capability/state`);
29
- MarkdownCapabilities2.Extensions = (0, import_app_framework.defineCapability)(`${import_chunk_HTWAAR54.MARKDOWN_PLUGIN}/capability/extensions`);
28
+ MarkdownCapabilities2.State = (0, import_app_framework.defineCapability)(`${import_chunk_QZ4XQYNC.MARKDOWN_PLUGIN}/capability/state`);
29
+ MarkdownCapabilities2.Extensions = (0, import_app_framework.defineCapability)(`${import_chunk_QZ4XQYNC.MARKDOWN_PLUGIN}/capability/extensions`);
30
30
  })(MarkdownCapabilities || (MarkdownCapabilities = {}));
31
31
  // Annotate the CommonJS export names for ESM import in node:
32
32
  0 && (module.exports = {
33
33
  MarkdownCapabilities
34
34
  });
35
- //# sourceMappingURL=chunk-G7WKHUGU.cjs.map
35
+ //# sourceMappingURL=chunk-23NQGZX3.cjs.map
@@ -16,15 +16,15 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_34WFGSZU_exports = {};
20
- __export(chunk_34WFGSZU_exports, {
19
+ var chunk_CZXXBKMN_exports = {};
20
+ __export(chunk_CZXXBKMN_exports, {
21
21
  DocumentType: () => DocumentType,
22
22
  MarkdownAction: () => MarkdownAction,
23
23
  MarkdownSettingsSchema: () => MarkdownSettingsSchema,
24
24
  isEditorModel: () => isEditorModel
25
25
  });
26
- module.exports = __toCommonJS(chunk_34WFGSZU_exports);
27
- var import_chunk_HTWAAR54 = require("./chunk-HTWAAR54.cjs");
26
+ module.exports = __toCommonJS(chunk_CZXXBKMN_exports);
27
+ var import_chunk_QZ4XQYNC = require("./chunk-QZ4XQYNC.cjs");
28
28
  var import_echo_schema = require("@dxos/echo-schema");
29
29
  var import_types = require("@dxos/plugin-space/types");
30
30
  var import_schema = require("@dxos/schema");
@@ -41,7 +41,7 @@ var DocumentType = class extends (0, import_echo_schema.TypedObject)({
41
41
  }) {
42
42
  };
43
43
  var isEditorModel = (data) => data && typeof data === "object" && "id" in data && typeof data.id === "string" && "text" in data && typeof data.text === "string";
44
- var MARKDOWN_ACTION = `${import_chunk_HTWAAR54.MARKDOWN_PLUGIN}/action`;
44
+ var MARKDOWN_ACTION = `${import_chunk_QZ4XQYNC.MARKDOWN_PLUGIN}/action`;
45
45
  var MarkdownAction;
46
46
  (function(MarkdownAction2) {
47
47
  class Create extends import_echo_schema2.S.TaggedClass()(MARKDOWN_ACTION, {
@@ -83,4 +83,4 @@ var MarkdownSettingsSchema = import_echo_schema2.S.mutable(import_echo_schema2.S
83
83
  MarkdownSettingsSchema,
84
84
  isEditorModel
85
85
  });
86
- //# sourceMappingURL=chunk-34WFGSZU.cjs.map
86
+ //# sourceMappingURL=chunk-CZXXBKMN.cjs.map
@@ -16,23 +16,30 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_HTWAAR54_exports = {};
20
- __export(chunk_HTWAAR54_exports, {
19
+ var chunk_QZ4XQYNC_exports = {};
20
+ __export(chunk_QZ4XQYNC_exports, {
21
21
  MARKDOWN_PLUGIN: () => MARKDOWN_PLUGIN,
22
22
  meta: () => meta
23
23
  });
24
- module.exports = __toCommonJS(chunk_HTWAAR54_exports);
24
+ module.exports = __toCommonJS(chunk_QZ4XQYNC_exports);
25
25
  var MARKDOWN_PLUGIN = "dxos.org/plugin/markdown";
26
26
  var meta = {
27
27
  id: MARKDOWN_PLUGIN,
28
28
  name: "Markdown",
29
- description: "Text editor supporting extended Markdown.",
29
+ description: `Composer offers a Modern Markdown editor that is collaborative and fully extensible. It provides rich text editing as well as read only and markdown view.
30
+
31
+ In addition to markdown capabilities, it also support threaded in-line comments which can be accessed from the right hand sidebar at any times inside the document.
32
+
33
+ Your AI agent will have access to all markdown docs in your Space which means you can use them to extend the memory of your personal agent and add long term context for automated workflows.`,
30
34
  source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-markdown",
31
- icon: "ph--text-aa--regular"
35
+ icon: "ph--text-aa--regular",
36
+ screenshots: [
37
+ "https://dxos.network/plugin-details-markdown-dark.png"
38
+ ]
32
39
  };
33
40
  // Annotate the CommonJS export names for ESM import in node:
34
41
  0 && (module.exports = {
35
42
  MARKDOWN_PLUGIN,
36
43
  meta
37
44
  });
38
- //# sourceMappingURL=chunk-HTWAAR54.cjs.map
45
+ //# sourceMappingURL=chunk-QZ4XQYNC.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/meta.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const MARKDOWN_PLUGIN = 'dxos.org/plugin/markdown';\n\nexport const meta = {\n id: MARKDOWN_PLUGIN,\n name: 'Markdown',\n description: `Composer offers a Modern Markdown editor that is collaborative and fully extensible. It provides rich text editing as well as read only and markdown view.\n\nIn addition to markdown capabilities, it also support threaded in-line comments which can be accessed from the right hand sidebar at any times inside the document.\n\nYour AI agent will have access to all markdown docs in your Space which means you can use them to extend the memory of your personal agent and add long term context for automated workflows.`,\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-markdown',\n icon: 'ph--text-aa--regular',\n screenshots: ['https://dxos.network/plugin-details-markdown-dark.png'],\n} satisfies PluginMeta;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAMO,IAAMA,kBAAkB;AAExB,IAAMC,OAAO;EAClBC,IAAIF;EACJG,MAAM;EACNC,aAAa;;;;;EAKbC,QAAQ;EACRC,MAAM;EACNC,aAAa;IAAC;;AAChB;",
6
+ "names": ["MARKDOWN_PLUGIN", "meta", "id", "name", "description", "source", "icon", "screenshots"]
7
+ }
@@ -26,9 +26,10 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_2KDTUWCY_exports = {};
30
- __export(chunk_2KDTUWCY_exports, {
29
+ var chunk_VFE34V2L_exports = {};
30
+ __export(chunk_VFE34V2L_exports, {
31
31
  AppGraphSerializer: () => AppGraphSerializer,
32
+ ArtifactDefinition: () => ArtifactDefinition,
32
33
  IntentResolver: () => IntentResolver,
33
34
  MarkdownSettings: () => MarkdownSettings,
34
35
  MarkdownState: () => MarkdownState,
@@ -39,8 +40,8 @@ __export(chunk_2KDTUWCY_exports, {
39
40
  serializer: () => serializer,
40
41
  setFallbackName: () => setFallbackName
41
42
  });
42
- module.exports = __toCommonJS(chunk_2KDTUWCY_exports);
43
- var import_chunk_34WFGSZU = require("./chunk-34WFGSZU.cjs");
43
+ module.exports = __toCommonJS(chunk_VFE34V2L_exports);
44
+ var import_chunk_CZXXBKMN = require("./chunk-CZXXBKMN.cjs");
44
45
  var import_async = require("@dxos/async");
45
46
  var import_echo = require("@dxos/react-client/echo");
46
47
  var import_schema = require("@dxos/schema");
@@ -67,7 +68,7 @@ var serializer = {
67
68
  },
68
69
  deserialize: async ({ content: serialized }) => {
69
70
  const { name, fallbackName, content } = JSON.parse(serialized);
70
- return (0, import_echo.createObject)((0, import_echo.create)(import_chunk_34WFGSZU.DocumentType, {
71
+ return (0, import_echo.createObject)((0, import_echo.create)(import_chunk_CZXXBKMN.DocumentType, {
71
72
  name,
72
73
  fallbackName,
73
74
  content: (0, import_echo.makeRef)((0, import_echo.create)(import_schema.TextType, {
@@ -77,15 +78,17 @@ var serializer = {
77
78
  }));
78
79
  }
79
80
  };
80
- var AppGraphSerializer = (0, import_app_framework.lazy)(() => import("./app-graph-serializer-X36IUMC5.cjs"));
81
- var IntentResolver = (0, import_app_framework.lazy)(() => import("./intent-resolver-DVME6SGT.cjs"));
82
- var ReactSurface = (0, import_app_framework.lazy)(() => import("./react-surface-N2PPGT3Z.cjs"));
83
- var MarkdownSettings = (0, import_app_framework.lazy)(() => import("./settings-BO5P5R4I.cjs"));
84
- var MarkdownState = (0, import_app_framework.lazy)(() => import("./state-F26NQP7F.cjs"));
85
- var Thread = (0, import_app_framework.lazy)(() => import("./thread-THWQ67WS.cjs"));
81
+ var AppGraphSerializer = (0, import_app_framework.lazy)(() => import("./app-graph-serializer-QZWERV4M.cjs"));
82
+ var ArtifactDefinition = (0, import_app_framework.lazy)(() => import("./artifact-definition-E6EQTWBS.cjs"));
83
+ var IntentResolver = (0, import_app_framework.lazy)(() => import("./intent-resolver-6COP7TEQ.cjs"));
84
+ var ReactSurface = (0, import_app_framework.lazy)(() => import("./react-surface-JJ2DHTCW.cjs"));
85
+ var MarkdownSettings = (0, import_app_framework.lazy)(() => import("./settings-4OYDMRVY.cjs"));
86
+ var MarkdownState = (0, import_app_framework.lazy)(() => import("./state-QSA5AOLH.cjs"));
87
+ var Thread = (0, import_app_framework.lazy)(() => import("./thread-BZE6RKFE.cjs"));
86
88
  // Annotate the CommonJS export names for ESM import in node:
87
89
  0 && (module.exports = {
88
90
  AppGraphSerializer,
91
+ ArtifactDefinition,
89
92
  IntentResolver,
90
93
  MarkdownSettings,
91
94
  MarkdownState,
@@ -96,4 +99,4 @@ var Thread = (0, import_app_framework.lazy)(() => import("./thread-THWQ67WS.cjs"
96
99
  serializer,
97
100
  setFallbackName
98
101
  });
99
- //# sourceMappingURL=chunk-2KDTUWCY.cjs.map
102
+ //# sourceMappingURL=chunk-VFE34V2L.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util.tsx", "../../../src/capabilities/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { debounce } from '@dxos/async';\nimport { type TypedObjectSerializer } from '@dxos/plugin-space/types';\nimport { create, createObject, isEchoObject, loadObjectReferences, makeRef } from '@dxos/react-client/echo';\nimport { TextType } from '@dxos/schema';\n\nimport { DocumentType, type MarkdownProperties } from './types';\n\nexport const isMarkdownProperties = (data: unknown): data is MarkdownProperties =>\n isEchoObject(data)\n ? true\n : data && typeof data === 'object'\n ? 'title' in data && typeof data.title === 'string'\n : false;\n\nconst nonTitleChars = /[^\\w ]/g;\n\nexport const getFallbackName = (content: string) => {\n return content.substring(0, 31).split('\\n')[0].replaceAll(nonTitleChars, '').trim();\n};\n\nexport const setFallbackName = debounce((doc: DocumentType, content: string) => {\n const name = getFallbackName(content);\n if (doc.fallbackName !== name) {\n doc.fallbackName = name;\n }\n}, 200);\n\nexport const serializer: TypedObjectSerializer<DocumentType> = {\n serialize: async ({ object }): Promise<string> => {\n const content = await loadObjectReferences(object, (doc) => doc.content);\n return JSON.stringify({ name: object.name, fallbackName: object.fallbackName, content: content.target?.content });\n },\n\n deserialize: async ({ content: serialized }) => {\n const { name, fallbackName, content } = JSON.parse(serialized);\n return createObject(\n create(DocumentType, { name, fallbackName, content: makeRef(create(TextType, { content })), threads: [] }),\n );\n },\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AppGraphSerializer = lazy(() => import('./app-graph-serializer'));\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,mBAAyB;AAEzB,kBAAkF;AAClF,oBAAyB;ACHzB,2BAAqB;ADOd,IAAMA,uBAAuB,CAACC,aACnCC,0BAAaD,IAAAA,IACT,OACAA,QAAQ,OAAOA,SAAS,WACtB,WAAWA,QAAQ,OAAOA,KAAKE,UAAU,WACzC;AAER,IAAMC,gBAAgB;AAEf,IAAMC,kBAAkB,CAACC,YAAAA;AAC9B,SAAOA,QAAQC,UAAU,GAAG,EAAA,EAAIC,MAAM,IAAA,EAAM,CAAA,EAAGC,WAAWL,eAAe,EAAA,EAAIM,KAAI;AACnF;AAEO,IAAMC,sBAAkBC,uBAAS,CAACC,KAAmBP,YAAAA;AAC1D,QAAMQ,OAAOT,gBAAgBC,OAAAA;AAC7B,MAAIO,IAAIE,iBAAiBD,MAAM;AAC7BD,QAAIE,eAAeD;EACrB;AACF,GAAG,GAAA;AAEI,IAAME,aAAkD;EAC7DC,WAAW,OAAO,EAAEC,OAAM,MAAE;AAC1B,UAAMZ,UAAU,UAAMa,kCAAqBD,QAAQ,CAACL,QAAQA,IAAIP,OAAO;AACvE,WAAOc,KAAKC,UAAU;MAAEP,MAAMI,OAAOJ;MAAMC,cAAcG,OAAOH;MAAcT,SAASA,QAAQgB,QAAQhB;IAAQ,CAAA;EACjH;EAEAiB,aAAa,OAAO,EAAEjB,SAASkB,WAAU,MAAE;AACzC,UAAM,EAAEV,MAAMC,cAAcT,QAAO,IAAKc,KAAKK,MAAMD,UAAAA;AACnD,eAAOE,8BACLC,oBAAOC,oCAAc;MAAEd;MAAMC;MAAcT,aAASuB,yBAAQF,oBAAOG,wBAAU;QAAExB;MAAQ,CAAA,CAAA;MAAKyB,SAAS,CAAA;IAAG,CAAA,CAAA;EAE5G;AACF;ACrCO,IAAMC,yBAAqBC,2BAAK,MAAM,OAAO,qCAAA,CAAA;AAC7C,IAAMC,qBAAiBD,2BAAK,MAAM,OAAO,gCAAA,CAAA;AACzC,IAAME,mBAAeF,2BAAK,MAAM,OAAO,8BAAA,CAAA;AACvC,IAAMG,uBAAmBH,2BAAK,MAAM,OAAO,yBAAA,CAAA;AAC3C,IAAMI,oBAAgBJ,2BAAK,MAAM,OAAO,sBAAA,CAAA;AACxC,IAAMK,aAASL,2BAAK,MAAM,OAAO,uBAAA,CAAA;",
6
- "names": ["isMarkdownProperties", "data", "isEchoObject", "title", "nonTitleChars", "getFallbackName", "content", "substring", "split", "replaceAll", "trim", "setFallbackName", "debounce", "doc", "name", "fallbackName", "serializer", "serialize", "object", "loadObjectReferences", "JSON", "stringify", "target", "deserialize", "serialized", "parse", "createObject", "create", "DocumentType", "makeRef", "TextType", "threads", "AppGraphSerializer", "lazy", "IntentResolver", "ReactSurface", "MarkdownSettings", "MarkdownState", "Thread"]
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { debounce } from '@dxos/async';\nimport { type TypedObjectSerializer } from '@dxos/plugin-space/types';\nimport { create, createObject, isEchoObject, loadObjectReferences, makeRef } from '@dxos/react-client/echo';\nimport { TextType } from '@dxos/schema';\n\nimport { DocumentType, type MarkdownProperties } from './types';\n\nexport const isMarkdownProperties = (data: unknown): data is MarkdownProperties =>\n isEchoObject(data)\n ? true\n : data && typeof data === 'object'\n ? 'title' in data && typeof data.title === 'string'\n : false;\n\nconst nonTitleChars = /[^\\w ]/g;\n\nexport const getFallbackName = (content: string) => {\n return content.substring(0, 31).split('\\n')[0].replaceAll(nonTitleChars, '').trim();\n};\n\nexport const setFallbackName = debounce((doc: DocumentType, content: string) => {\n const name = getFallbackName(content);\n if (doc.fallbackName !== name) {\n doc.fallbackName = name;\n }\n}, 200);\n\nexport const serializer: TypedObjectSerializer<DocumentType> = {\n serialize: async ({ object }): Promise<string> => {\n const content = await loadObjectReferences(object, (doc) => doc.content);\n return JSON.stringify({ name: object.name, fallbackName: object.fallbackName, content: content.target?.content });\n },\n\n deserialize: async ({ content: serialized }) => {\n const { name, fallbackName, content } = JSON.parse(serialized);\n return createObject(\n create(DocumentType, { name, fallbackName, content: makeRef(create(TextType, { content })), threads: [] }),\n );\n },\n};\n", "//\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,mBAAyB;AAEzB,kBAAkF;AAClF,oBAAyB;ACHzB,2BAAqB;ADOd,IAAMA,uBAAuB,CAACC,aACnCC,0BAAaD,IAAAA,IACT,OACAA,QAAQ,OAAOA,SAAS,WACtB,WAAWA,QAAQ,OAAOA,KAAKE,UAAU,WACzC;AAER,IAAMC,gBAAgB;AAEf,IAAMC,kBAAkB,CAACC,YAAAA;AAC9B,SAAOA,QAAQC,UAAU,GAAG,EAAA,EAAIC,MAAM,IAAA,EAAM,CAAA,EAAGC,WAAWL,eAAe,EAAA,EAAIM,KAAI;AACnF;AAEO,IAAMC,sBAAkBC,uBAAS,CAACC,KAAmBP,YAAAA;AAC1D,QAAMQ,OAAOT,gBAAgBC,OAAAA;AAC7B,MAAIO,IAAIE,iBAAiBD,MAAM;AAC7BD,QAAIE,eAAeD;EACrB;AACF,GAAG,GAAA;AAEI,IAAME,aAAkD;EAC7DC,WAAW,OAAO,EAAEC,OAAM,MAAE;AAC1B,UAAMZ,UAAU,UAAMa,kCAAqBD,QAAQ,CAACL,QAAQA,IAAIP,OAAO;AACvE,WAAOc,KAAKC,UAAU;MAAEP,MAAMI,OAAOJ;MAAMC,cAAcG,OAAOH;MAAcT,SAASA,QAAQgB,QAAQhB;IAAQ,CAAA;EACjH;EAEAiB,aAAa,OAAO,EAAEjB,SAASkB,WAAU,MAAE;AACzC,UAAM,EAAEV,MAAMC,cAAcT,QAAO,IAAKc,KAAKK,MAAMD,UAAAA;AACnD,eAAOE,8BACLC,oBAAOC,oCAAc;MAAEd;MAAMC;MAAcT,aAASuB,yBAAQF,oBAAOG,wBAAU;QAAExB;MAAQ,CAAA,CAAA;MAAKyB,SAAS,CAAA;IAAG,CAAA,CAAA;EAE5G;AACF;ACrCO,IAAMC,yBAAqBC,2BAAK,MAAM,OAAO,qCAAA,CAAA;AAC7C,IAAMC,yBAAqBD,2BAAK,MAAM,OAAO,oCAAA,CAAA;AAC7C,IAAME,qBAAiBF,2BAAK,MAAM,OAAO,gCAAA,CAAA;AACzC,IAAMG,mBAAeH,2BAAK,MAAM,OAAO,8BAAA,CAAA;AACvC,IAAMI,uBAAmBJ,2BAAK,MAAM,OAAO,yBAAA,CAAA;AAC3C,IAAMK,oBAAgBL,2BAAK,MAAM,OAAO,sBAAA,CAAA;AACxC,IAAMM,aAASN,2BAAK,MAAM,OAAO,uBAAA,CAAA;",
6
+ "names": ["isMarkdownProperties", "data", "isEchoObject", "title", "nonTitleChars", "getFallbackName", "content", "substring", "split", "replaceAll", "trim", "setFallbackName", "debounce", "doc", "name", "fallbackName", "serializer", "serialize", "object", "loadObjectReferences", "JSON", "stringify", "target", "deserialize", "serialized", "parse", "createObject", "create", "DocumentType", "makeRef", "TextType", "threads", "AppGraphSerializer", "lazy", "ArtifactDefinition", "IntentResolver", "ReactSurface", "MarkdownSettings", "MarkdownState", "Thread"]
7
7
  }
@@ -16,20 +16,20 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_4K6TWAHC_exports = {};
20
- __export(chunk_4K6TWAHC_exports, {
19
+ var chunk_ZO5ABSHT_exports = {};
20
+ __export(chunk_ZO5ABSHT_exports, {
21
21
  translations_default: () => translations_default
22
22
  });
23
- module.exports = __toCommonJS(chunk_4K6TWAHC_exports);
24
- var import_chunk_34WFGSZU = require("./chunk-34WFGSZU.cjs");
25
- var import_chunk_HTWAAR54 = require("./chunk-HTWAAR54.cjs");
23
+ module.exports = __toCommonJS(chunk_ZO5ABSHT_exports);
24
+ var import_chunk_CZXXBKMN = require("./chunk-CZXXBKMN.cjs");
25
+ var import_chunk_QZ4XQYNC = require("./chunk-QZ4XQYNC.cjs");
26
26
  var translations_default = [
27
27
  {
28
28
  "en-US": {
29
- [import_chunk_34WFGSZU.DocumentType.typename]: {
29
+ [import_chunk_CZXXBKMN.DocumentType.typename]: {
30
30
  "typename label": "Document"
31
31
  },
32
- [import_chunk_HTWAAR54.MARKDOWN_PLUGIN]: {
32
+ [import_chunk_QZ4XQYNC.MARKDOWN_PLUGIN]: {
33
33
  "plugin name": "Editor",
34
34
  "create stack section label": "Create document",
35
35
  "document title placeholder": "New document",
@@ -61,4 +61,4 @@ var translations_default = [
61
61
  0 && (module.exports = {
62
62
  translations_default
63
63
  });
64
- //# sourceMappingURL=chunk-4K6TWAHC.cjs.map
64
+ //# sourceMappingURL=chunk-ZO5ABSHT.cjs.map
@@ -18,57 +18,67 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var node_exports = {};
20
20
  __export(node_exports, {
21
- MARKDOWN_PLUGIN: () => import_chunk_HTWAAR54.MARKDOWN_PLUGIN,
22
- MarkdownCapabilities: () => import_chunk_G7WKHUGU.MarkdownCapabilities,
21
+ MARKDOWN_PLUGIN: () => import_chunk_QZ4XQYNC.MARKDOWN_PLUGIN,
22
+ MarkdownCapabilities: () => import_chunk_23NQGZX3.MarkdownCapabilities,
23
+ MarkdownEvents: () => MarkdownEvents,
23
24
  MarkdownPlugin: () => MarkdownPlugin,
24
- getFallbackName: () => import_chunk_2KDTUWCY.getFallbackName,
25
- isMarkdownProperties: () => import_chunk_2KDTUWCY.isMarkdownProperties,
26
- meta: () => import_chunk_HTWAAR54.meta,
27
- serializer: () => import_chunk_2KDTUWCY.serializer,
28
- setFallbackName: () => import_chunk_2KDTUWCY.setFallbackName
25
+ getFallbackName: () => import_chunk_VFE34V2L.getFallbackName,
26
+ isMarkdownProperties: () => import_chunk_VFE34V2L.isMarkdownProperties,
27
+ meta: () => import_chunk_QZ4XQYNC.meta,
28
+ serializer: () => import_chunk_VFE34V2L.serializer,
29
+ setFallbackName: () => import_chunk_VFE34V2L.setFallbackName
29
30
  });
30
31
  module.exports = __toCommonJS(node_exports);
31
- var import_chunk_4K6TWAHC = require("./chunk-4K6TWAHC.cjs");
32
- var import_chunk_2KDTUWCY = require("./chunk-2KDTUWCY.cjs");
33
- var import_chunk_34WFGSZU = require("./chunk-34WFGSZU.cjs");
34
- var import_chunk_G7WKHUGU = require("./chunk-G7WKHUGU.cjs");
35
- var import_chunk_HTWAAR54 = require("./chunk-HTWAAR54.cjs");
32
+ var import_chunk_ZO5ABSHT = require("./chunk-ZO5ABSHT.cjs");
33
+ var import_chunk_VFE34V2L = require("./chunk-VFE34V2L.cjs");
34
+ var import_chunk_23NQGZX3 = require("./chunk-23NQGZX3.cjs");
35
+ var import_chunk_CZXXBKMN = require("./chunk-CZXXBKMN.cjs");
36
+ var import_chunk_QZ4XQYNC = require("./chunk-QZ4XQYNC.cjs");
36
37
  var import_app_framework = require("@dxos/app-framework");
38
+ var import_app_framework2 = require("@dxos/app-framework");
37
39
  var import_live_object = require("@dxos/live-object");
38
40
  var import_plugin_client = require("@dxos/plugin-client");
41
+ var import_plugin_space = require("@dxos/plugin-space");
42
+ var import_types = require("@dxos/plugin-space/types");
39
43
  var import_react_ui_editor = require("@dxos/react-ui-editor");
40
44
  var import_schema = require("@dxos/schema");
41
- var MarkdownPlugin = () => (0, import_app_framework.definePlugin)(import_chunk_HTWAAR54.meta, [
42
- (0, import_app_framework.defineModule)({
43
- id: `${import_chunk_HTWAAR54.meta.id}/module/settings`,
44
- activatesOn: import_app_framework.Events.SetupSettings,
45
- activate: import_chunk_2KDTUWCY.MarkdownSettings
46
- }),
47
- (0, import_app_framework.defineModule)({
48
- id: `${import_chunk_HTWAAR54.meta.id}/module/state`,
49
- activatesOn: import_app_framework.Events.Startup,
50
- activate: import_chunk_2KDTUWCY.MarkdownState
51
- }),
52
- (0, import_app_framework.defineModule)({
53
- id: `${import_chunk_HTWAAR54.meta.id}/module/translations`,
54
- activatesOn: import_app_framework.Events.SetupTranslations,
55
- activate: () => (0, import_app_framework.contributes)(import_app_framework.Capabilities.Translations, [
56
- ...import_chunk_4K6TWAHC.translations_default,
45
+ var MarkdownEvents;
46
+ (function(MarkdownEvents2) {
47
+ MarkdownEvents2.SetupExtensions = import_app_framework.Events.createStateEvent(`${import_chunk_QZ4XQYNC.MARKDOWN_PLUGIN}/setup-extensions`);
48
+ })(MarkdownEvents || (MarkdownEvents = {}));
49
+ var MarkdownPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_QZ4XQYNC.meta, [
50
+ (0, import_app_framework2.defineModule)({
51
+ id: `${import_chunk_QZ4XQYNC.meta.id}/module/translations`,
52
+ activatesOn: import_app_framework2.Events.SetupTranslations,
53
+ activate: () => (0, import_app_framework2.contributes)(import_app_framework2.Capabilities.Translations, [
54
+ ...import_chunk_ZO5ABSHT.translations_default,
57
55
  ...import_react_ui_editor.translations
58
56
  ])
59
57
  }),
60
- (0, import_app_framework.defineModule)({
61
- id: `${import_chunk_HTWAAR54.meta.id}/module/metadata`,
62
- activatesOn: import_app_framework.Events.SetupMetadata,
63
- activate: () => (0, import_app_framework.contributes)(import_app_framework.Capabilities.Metadata, {
64
- id: import_chunk_34WFGSZU.DocumentType.typename,
58
+ (0, import_app_framework2.defineModule)({
59
+ id: `${import_chunk_QZ4XQYNC.meta.id}/module/settings`,
60
+ activatesOn: import_app_framework2.Events.SetupSettings,
61
+ activate: import_chunk_VFE34V2L.MarkdownSettings
62
+ }),
63
+ (0, import_app_framework2.defineModule)({
64
+ id: `${import_chunk_QZ4XQYNC.meta.id}/module/state`,
65
+ // TODO(wittjosiah): Does not integrate with settings store.
66
+ // Should this be a different event?
67
+ // Should settings store be renamed to be more generic?
68
+ activatesOn: import_app_framework2.Events.SetupSettings,
69
+ activate: import_chunk_VFE34V2L.MarkdownState
70
+ }),
71
+ (0, import_app_framework2.defineModule)({
72
+ id: `${import_chunk_QZ4XQYNC.meta.id}/module/metadata`,
73
+ activatesOn: import_app_framework2.Events.SetupMetadata,
74
+ activate: () => (0, import_app_framework2.contributes)(import_app_framework2.Capabilities.Metadata, {
75
+ id: import_chunk_CZXXBKMN.DocumentType.typename,
65
76
  metadata: {
66
- createObject: (props) => (0, import_app_framework.createIntent)(import_chunk_34WFGSZU.MarkdownAction.Create, props),
67
- label: (object) => object instanceof import_chunk_34WFGSZU.DocumentType ? object.name || object.fallbackName : void 0,
77
+ label: (object) => object instanceof import_chunk_CZXXBKMN.DocumentType ? object.name || object.fallbackName : void 0,
68
78
  placeholder: [
69
79
  "document title placeholder",
70
80
  {
71
- ns: import_chunk_HTWAAR54.MARKDOWN_PLUGIN
81
+ ns: import_chunk_QZ4XQYNC.MARKDOWN_PLUGIN
72
82
  }
73
83
  ],
74
84
  icon: "ph--text-aa--regular",
@@ -80,47 +90,60 @@ var MarkdownPlugin = () => (0, import_app_framework.definePlugin)(import_chunk_H
80
90
  doc.content,
81
91
  ...doc.threads
82
92
  ]),
83
- serializer: import_chunk_2KDTUWCY.serializer
93
+ serializer: import_chunk_VFE34V2L.serializer
84
94
  }
85
95
  })
86
96
  }),
87
- (0, import_app_framework.defineModule)({
88
- id: `${import_chunk_HTWAAR54.meta.id}/module/schema`,
97
+ (0, import_app_framework2.defineModule)({
98
+ id: `${import_chunk_QZ4XQYNC.meta.id}/module/object-form`,
89
99
  activatesOn: import_plugin_client.ClientEvents.SetupSchema,
90
- activate: () => [
91
- (0, import_app_framework.contributes)(import_plugin_client.ClientCapabilities.SystemSchema, [
92
- import_schema.TextType
93
- ]),
94
- (0, import_app_framework.contributes)(import_plugin_client.ClientCapabilities.Schema, [
95
- import_chunk_34WFGSZU.DocumentType
96
- ])
97
- ]
100
+ activate: () => (0, import_app_framework2.contributes)(import_plugin_space.SpaceCapabilities.ObjectForm, (0, import_types.defineObjectForm)({
101
+ objectSchema: import_chunk_CZXXBKMN.DocumentType,
102
+ getIntent: () => (0, import_app_framework2.createIntent)(import_chunk_CZXXBKMN.MarkdownAction.Create)
103
+ }))
104
+ }),
105
+ (0, import_app_framework2.defineModule)({
106
+ id: `${import_chunk_QZ4XQYNC.meta.id}/module/schema`,
107
+ activatesOn: import_plugin_client.ClientEvents.SetupSchema,
108
+ activate: () => (0, import_app_framework2.contributes)(import_plugin_client.ClientCapabilities.Schema, [
109
+ import_schema.TextType
110
+ ])
111
+ }),
112
+ (0, import_app_framework2.defineModule)({
113
+ id: `${import_chunk_QZ4XQYNC.meta.id}/module/react-surface`,
114
+ activatesOn: import_app_framework2.Events.SetupReactSurface,
115
+ // TODO(wittjosiah): Should occur before the editor is loaded when surfaces activation is more granular.
116
+ activatesBefore: [
117
+ MarkdownEvents.SetupExtensions
118
+ ],
119
+ activate: import_chunk_VFE34V2L.ReactSurface
98
120
  }),
99
- (0, import_app_framework.defineModule)({
100
- id: `${import_chunk_HTWAAR54.meta.id}/module/react-surface`,
101
- activatesOn: import_app_framework.Events.SetupSurfaces,
102
- activate: import_chunk_2KDTUWCY.ReactSurface
121
+ (0, import_app_framework2.defineModule)({
122
+ id: `${import_chunk_QZ4XQYNC.meta.id}/module/intent-resolver`,
123
+ activatesOn: import_app_framework2.Events.SetupIntentResolver,
124
+ activate: import_chunk_VFE34V2L.IntentResolver
103
125
  }),
104
- (0, import_app_framework.defineModule)({
105
- id: `${import_chunk_HTWAAR54.meta.id}/module/intent-resolver`,
106
- activatesOn: import_app_framework.Events.SetupIntents,
107
- activate: import_chunk_2KDTUWCY.IntentResolver
126
+ (0, import_app_framework2.defineModule)({
127
+ id: `${import_chunk_QZ4XQYNC.meta.id}/module/app-graph-serializer`,
128
+ activatesOn: import_app_framework2.Events.AppGraphReady,
129
+ activate: import_chunk_VFE34V2L.AppGraphSerializer
108
130
  }),
109
- (0, import_app_framework.defineModule)({
110
- id: `${import_chunk_HTWAAR54.meta.id}/module/app-graph-serializer`,
111
- activatesOn: import_app_framework.Events.Startup,
112
- activate: import_chunk_2KDTUWCY.AppGraphSerializer
131
+ (0, import_app_framework2.defineModule)({
132
+ id: `${import_chunk_QZ4XQYNC.meta.id}/module/thread`,
133
+ activatesOn: import_plugin_space.ThreadEvents.SetupThread,
134
+ activate: import_chunk_VFE34V2L.Thread
113
135
  }),
114
- (0, import_app_framework.defineModule)({
115
- id: `${import_chunk_HTWAAR54.meta.id}/module/thread`,
116
- activatesOn: import_app_framework.Events.Startup,
117
- activate: import_chunk_2KDTUWCY.Thread
136
+ (0, import_app_framework2.defineModule)({
137
+ id: `${import_chunk_QZ4XQYNC.meta.id}/module/artifact-definition`,
138
+ activatesOn: import_app_framework2.Events.SetupArtifactDefinition,
139
+ activate: import_chunk_VFE34V2L.ArtifactDefinition
118
140
  })
119
141
  ]);
120
142
  // Annotate the CommonJS export names for ESM import in node:
121
143
  0 && (module.exports = {
122
144
  MARKDOWN_PLUGIN,
123
145
  MarkdownCapabilities,
146
+ MarkdownEvents,
124
147
  MarkdownPlugin,
125
148
  getFallbackName,
126
149
  isMarkdownProperties,