@dxos/plugin-markdown 0.8.2-main.5885341 → 0.8.2-main.600d381

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 (150) hide show
  1. package/dist/lib/browser/{MarkdownContainer-5XV7K2NX.mjs → MarkdownContainer-CZGNGEO4.mjs} +45 -60
  2. package/dist/lib/browser/MarkdownContainer-CZGNGEO4.mjs.map +7 -0
  3. package/dist/lib/browser/{MarkdownPreview-DX5U5LCX.mjs → MarkdownPreview-ID5RNELS.mjs} +7 -7
  4. package/dist/lib/browser/MarkdownPreview-ID5RNELS.mjs.map +7 -0
  5. package/dist/lib/browser/{app-graph-serializer-OCXP7PCK.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-QV6ZIXAD.mjs → chunk-DTJ3HDN6.mjs} +4 -4
  9. package/dist/lib/browser/{chunk-QV6ZIXAD.mjs.map → chunk-DTJ3HDN6.mjs.map} +3 -3
  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-LJ2UFBJ2.mjs → chunk-JD72ICHV.mjs} +2 -2
  13. package/dist/lib/browser/{chunk-5QXYEKSX.mjs → chunk-WQOUWAY4.mjs} +7 -7
  14. package/dist/lib/browser/index.mjs +6 -6
  15. package/dist/lib/browser/index.mjs.map +3 -3
  16. package/dist/lib/browser/{intent-resolver-H37L3DBD.mjs → intent-resolver-K7GY2J5W.mjs} +4 -4
  17. package/dist/lib/browser/intent-resolver-K7GY2J5W.mjs.map +7 -0
  18. package/dist/lib/browser/meta.json +1 -1
  19. package/dist/lib/browser/{react-surface-LBCMSLJ5.mjs → react-surface-2B7GO5M4.mjs} +9 -8
  20. package/dist/lib/browser/react-surface-2B7GO5M4.mjs.map +7 -0
  21. package/dist/lib/browser/{settings-EQSDBX6O.mjs → settings-QBFZJW2H.mjs} +2 -2
  22. package/dist/lib/browser/{thread-MFKBUVCB.mjs → thread-VUUBSXA5.mjs} +2 -2
  23. package/dist/lib/browser/types/index.mjs +1 -1
  24. package/dist/lib/node/{MarkdownContainer-5EQTBXV3.cjs → MarkdownContainer-CJL2QFWT.cjs} +51 -66
  25. package/dist/lib/node/MarkdownContainer-CJL2QFWT.cjs.map +7 -0
  26. package/dist/lib/node/{MarkdownPreview-W7QIN2KJ.cjs → MarkdownPreview-7OGABQ22.cjs} +14 -14
  27. package/dist/lib/node/MarkdownPreview-7OGABQ22.cjs.map +7 -0
  28. package/dist/lib/node/{app-graph-serializer-KBDLASRP.cjs → app-graph-serializer-4VZJUDTL.cjs} +9 -9
  29. package/dist/lib/node/{artifact-definition-ADEN2KD6.cjs → artifact-definition-HNSTQ7SX.cjs} +15 -14
  30. package/dist/lib/node/artifact-definition-HNSTQ7SX.cjs.map +7 -0
  31. package/dist/lib/node/{chunk-YHL4JSA6.cjs → chunk-2HGBN655.cjs} +34 -32
  32. package/dist/lib/node/chunk-2HGBN655.cjs.map +7 -0
  33. package/dist/lib/node/{chunk-JO4SBK36.cjs → chunk-ETVG2GKL.cjs} +6 -6
  34. package/dist/lib/node/{chunk-QRE5L6ZC.cjs → chunk-PLJVVHKG.cjs} +10 -10
  35. package/dist/lib/node/{chunk-WGMVEPB3.cjs → chunk-XJ4XHWXZ.cjs} +7 -7
  36. package/dist/lib/node/chunk-XJ4XHWXZ.cjs.map +7 -0
  37. package/dist/lib/node/index.cjs +23 -23
  38. package/dist/lib/node/index.cjs.map +3 -3
  39. package/dist/lib/node/{intent-resolver-NX5QNRYF.cjs → intent-resolver-FGBVXI7L.cjs} +10 -10
  40. package/dist/lib/node/intent-resolver-FGBVXI7L.cjs.map +7 -0
  41. package/dist/lib/node/meta.json +1 -1
  42. package/dist/lib/node/{react-surface-DJIZSVMN.cjs → react-surface-5AAXZCA7.cjs} +13 -12
  43. package/dist/lib/node/react-surface-5AAXZCA7.cjs.map +7 -0
  44. package/dist/lib/node/{settings-2JXASSLU.cjs → settings-I3Z64YPE.cjs} +6 -6
  45. package/dist/lib/node/{thread-MXEGV6HS.cjs → thread-NHTJKFC4.cjs} +6 -6
  46. package/dist/lib/node/types/index.cjs +7 -7
  47. package/dist/lib/node/types/index.cjs.map +1 -1
  48. package/dist/lib/node-esm/{MarkdownContainer-LONZOJJX.mjs → MarkdownContainer-76V4H5DS.mjs} +45 -60
  49. package/dist/lib/node-esm/MarkdownContainer-76V4H5DS.mjs.map +7 -0
  50. package/dist/lib/node-esm/{MarkdownPreview-T3OW2EN4.mjs → MarkdownPreview-NURUI35V.mjs} +7 -7
  51. package/dist/lib/node-esm/MarkdownPreview-NURUI35V.mjs.map +7 -0
  52. package/dist/lib/node-esm/{app-graph-serializer-67CO7ST3.mjs → app-graph-serializer-QH2FE7FH.mjs} +3 -3
  53. package/dist/lib/node-esm/{artifact-definition-KTS5M2FW.mjs → artifact-definition-GA7NQ3X5.mjs} +9 -8
  54. package/dist/lib/node-esm/artifact-definition-GA7NQ3X5.mjs.map +7 -0
  55. package/dist/lib/node-esm/{chunk-VQA6BQGT.mjs → chunk-6TXN2UXT.mjs} +2 -2
  56. package/dist/lib/node-esm/{chunk-4U2F4EB7.mjs → chunk-HEMSNCBW.mjs} +4 -4
  57. package/dist/lib/node-esm/{chunk-4U2F4EB7.mjs.map → chunk-HEMSNCBW.mjs.map} +3 -3
  58. package/dist/lib/node-esm/chunk-I6RIVFIP.mjs +87 -0
  59. package/dist/lib/node-esm/chunk-I6RIVFIP.mjs.map +7 -0
  60. package/dist/lib/node-esm/{chunk-PALFXZBY.mjs → chunk-IMCNTYSA.mjs} +7 -7
  61. package/dist/lib/node-esm/index.mjs +6 -6
  62. package/dist/lib/node-esm/index.mjs.map +3 -3
  63. package/dist/lib/node-esm/{intent-resolver-XES4ZCA6.mjs → intent-resolver-3STR3645.mjs} +4 -4
  64. package/dist/lib/node-esm/intent-resolver-3STR3645.mjs.map +7 -0
  65. package/dist/lib/node-esm/meta.json +1 -1
  66. package/dist/lib/node-esm/{react-surface-737EXAWT.mjs → react-surface-IRT63VJF.mjs} +9 -8
  67. package/dist/lib/node-esm/react-surface-IRT63VJF.mjs.map +7 -0
  68. package/dist/lib/node-esm/{settings-67RVIH3N.mjs → settings-G7QIMIEK.mjs} +2 -2
  69. package/dist/lib/node-esm/{thread-5U4KSBED.mjs → thread-72RI26KD.mjs} +2 -2
  70. package/dist/lib/node-esm/types/index.mjs +1 -1
  71. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  72. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  73. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  74. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  75. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  76. package/dist/types/src/components/MarkdownContainer.d.ts +2 -2
  77. package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
  78. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +0 -15
  79. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
  80. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts +2 -2
  81. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts.map +1 -1
  82. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts +52 -54
  83. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts.map +1 -1
  84. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts.map +1 -1
  85. package/dist/types/src/components/Suggestions.stories.d.ts.map +1 -1
  86. package/dist/types/src/components/Toolbar.stories.d.ts.map +1 -1
  87. package/dist/types/src/components/index.d.ts +1 -1
  88. package/dist/types/src/components/index.d.ts.map +1 -1
  89. package/dist/types/src/extensions.d.ts +2 -2
  90. package/dist/types/src/extensions.d.ts.map +1 -1
  91. package/dist/types/src/hooks/useSelectCurrentThread.d.ts.map +1 -1
  92. package/dist/types/src/types/schema.d.ts +181 -186
  93. package/dist/types/src/types/schema.d.ts.map +1 -1
  94. package/dist/types/src/types/types.d.ts +84 -86
  95. package/dist/types/src/types/types.d.ts.map +1 -1
  96. package/dist/types/src/util.d.ts.map +1 -1
  97. package/dist/types/tsconfig.tsbuildinfo +1 -1
  98. package/package.json +39 -37
  99. package/src/MarkdownPlugin.tsx +2 -2
  100. package/src/capabilities/artifact-definition.ts +5 -3
  101. package/src/capabilities/intent-resolver.ts +2 -2
  102. package/src/capabilities/react-surface.tsx +7 -6
  103. package/src/components/MarkdownContainer.tsx +3 -3
  104. package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +1 -1
  105. package/src/components/MarkdownEditor/MarkdownEditor.tsx +20 -41
  106. package/src/components/MarkdownPreview/MarkdownPreview.stories.tsx +3 -3
  107. package/src/components/MarkdownPreview/MarkdownPreview.tsx +8 -8
  108. package/src/components/Suggestions.stories.tsx +17 -10
  109. package/src/components/Toolbar.stories.tsx +14 -14
  110. package/src/extensions.tsx +2 -2
  111. package/src/hooks/useSelectCurrentThread.tsx +2 -2
  112. package/src/types/schema.ts +20 -12
  113. package/src/types/types.ts +22 -21
  114. package/src/util.tsx +3 -3
  115. package/dist/lib/browser/MarkdownContainer-5XV7K2NX.mjs.map +0 -7
  116. package/dist/lib/browser/MarkdownPreview-DX5U5LCX.mjs.map +0 -7
  117. package/dist/lib/browser/artifact-definition-XTVOUMMI.mjs.map +0 -7
  118. package/dist/lib/browser/chunk-GVOEHF7E.mjs +0 -84
  119. package/dist/lib/browser/chunk-GVOEHF7E.mjs.map +0 -7
  120. package/dist/lib/browser/intent-resolver-H37L3DBD.mjs.map +0 -7
  121. package/dist/lib/browser/react-surface-LBCMSLJ5.mjs.map +0 -7
  122. package/dist/lib/node/MarkdownContainer-5EQTBXV3.cjs.map +0 -7
  123. package/dist/lib/node/MarkdownPreview-W7QIN2KJ.cjs.map +0 -7
  124. package/dist/lib/node/artifact-definition-ADEN2KD6.cjs.map +0 -7
  125. package/dist/lib/node/chunk-WGMVEPB3.cjs.map +0 -7
  126. package/dist/lib/node/chunk-YHL4JSA6.cjs.map +0 -7
  127. package/dist/lib/node/intent-resolver-NX5QNRYF.cjs.map +0 -7
  128. package/dist/lib/node/react-surface-DJIZSVMN.cjs.map +0 -7
  129. package/dist/lib/node-esm/MarkdownContainer-LONZOJJX.mjs.map +0 -7
  130. package/dist/lib/node-esm/MarkdownPreview-T3OW2EN4.mjs.map +0 -7
  131. package/dist/lib/node-esm/artifact-definition-KTS5M2FW.mjs.map +0 -7
  132. package/dist/lib/node-esm/chunk-NUZHKZSZ.mjs +0 -85
  133. package/dist/lib/node-esm/chunk-NUZHKZSZ.mjs.map +0 -7
  134. package/dist/lib/node-esm/intent-resolver-XES4ZCA6.mjs.map +0 -7
  135. package/dist/lib/node-esm/react-surface-737EXAWT.mjs.map +0 -7
  136. /package/dist/lib/browser/{app-graph-serializer-OCXP7PCK.mjs.map → app-graph-serializer-6SMW5SL3.mjs.map} +0 -0
  137. /package/dist/lib/browser/{chunk-LJ2UFBJ2.mjs.map → chunk-JD72ICHV.mjs.map} +0 -0
  138. /package/dist/lib/browser/{chunk-5QXYEKSX.mjs.map → chunk-WQOUWAY4.mjs.map} +0 -0
  139. /package/dist/lib/browser/{settings-EQSDBX6O.mjs.map → settings-QBFZJW2H.mjs.map} +0 -0
  140. /package/dist/lib/browser/{thread-MFKBUVCB.mjs.map → thread-VUUBSXA5.mjs.map} +0 -0
  141. /package/dist/lib/node/{app-graph-serializer-KBDLASRP.cjs.map → app-graph-serializer-4VZJUDTL.cjs.map} +0 -0
  142. /package/dist/lib/node/{chunk-JO4SBK36.cjs.map → chunk-ETVG2GKL.cjs.map} +0 -0
  143. /package/dist/lib/node/{chunk-QRE5L6ZC.cjs.map → chunk-PLJVVHKG.cjs.map} +0 -0
  144. /package/dist/lib/node/{settings-2JXASSLU.cjs.map → settings-I3Z64YPE.cjs.map} +0 -0
  145. /package/dist/lib/node/{thread-MXEGV6HS.cjs.map → thread-NHTJKFC4.cjs.map} +0 -0
  146. /package/dist/lib/node-esm/{app-graph-serializer-67CO7ST3.mjs.map → app-graph-serializer-QH2FE7FH.mjs.map} +0 -0
  147. /package/dist/lib/node-esm/{chunk-VQA6BQGT.mjs.map → chunk-6TXN2UXT.mjs.map} +0 -0
  148. /package/dist/lib/node-esm/{chunk-PALFXZBY.mjs.map → chunk-IMCNTYSA.mjs.map} +0 -0
  149. /package/dist/lib/node-esm/{settings-67RVIH3N.mjs.map → settings-G7QIMIEK.mjs.map} +0 -0
  150. /package/dist/lib/node-esm/{thread-5U4KSBED.mjs.map → thread-72RI26KD.mjs.map} +0 -0
@@ -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 { Schema } from 'effect';\n\nimport { Capabilities, contributes, type PromiseIntentDispatcher } from '@dxos/app-framework';\nimport { ArtifactId, defineArtifact, defineTool, ToolResult } from '@dxos/artifact';\nimport { isInstanceOf } from '@dxos/echo-schema';\nimport { invariant, assertArgument } from '@dxos/invariant';\nimport { Filter, fullyQualifiedId, 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: `artifact:${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: Schema.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: Schema.Struct({\n id: ArtifactId,\n }),\n execute: async ({ id }, { extensions }) => {\n invariant(extensions?.space, 'No space');\n const document = await extensions.space.db.query({ id: ArtifactId.toDXN(id).toString() }).first();\n assertArgument(isInstanceOf(DocumentType, document), 'Invalid type');\n\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,oBAAuB;AAEvB,2BAAwE;AACxE,sBAAmE;AACnE,yBAA6B;AAC7B,uBAA0C;AAC1C,kBAAqD;;AAarD,IAAA,8BAAe,MAAA;AACb,QAAMA,iBAAaC,gCAAe;IAChCC,IAAI,YAAYC,2BAAKD,EAAE;IACvBE,MAAMD,2BAAKC;IACXC,cAAc;;;;;IAKdC,QAAQC;IACRC,OAAO;UACLC,4BAAWN,2BAAKD,IAAI;QAClBE,MAAM;QACNM,aAAa;QACbC,SAAS;QACTL,QAAQM,qBAAOC,OAAO,CAAC,CAAA;QACvBC,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,qBAAOC,OAAO;UACpBX,IAAI+B;QACN,CAAA;QACAnB,SAAS,OAAO,EAAEZ,GAAE,GAAI,EAAEc,WAAU,MAAE;AACpCC,0CAAUD,YAAYE,OAAO,YAAA;;;;;;;;;AAC7B,gBAAMgB,WAAW,MAAMlB,WAAWE,MAAMG,GAAGC,MAAM;YAAEpB,IAAI+B,2BAAWE,MAAMjC,EAAAA,EAAIkC,SAAQ;UAAG,CAAA,EAAGC,MAAK;AAC/FC,mDAAeV,iCAAarB,oCAAc2B,QAAAA,GAAW,cAAA;AAErD,gBAAM,EAAEK,QAAO,IAAK,MAAML,SAASK,SAASC,KAAAA;AAC5C,iBAAOT,2BAAWC,QAAQ;YACxB9B,QAAI2B,8BAAiBK,QAAAA;YACrB9B,MAAM8B,SAAS9B,QAAQ8B,SAASJ,gBAAgB;YAChDS;UACF,CAAA;QACF;MACF,CAAA;;EAEJ,CAAA;AAEA,aAAOE,kCAAYC,kCAAaC,oBAAoB3C,UAAAA;AACtD;",
6
+ "names": ["definition", "defineArtifact", "id", "meta", "name", "instructions", "schema", "DocumentType", "tools", "defineTool", "description", "caption", "Schema", "Struct", "execute", "_input", "extensions", "invariant", "space", "objects", "documents", "db", "query", "Filter", "run", "documentInfo", "map", "doc", "isInstanceOf", "fullyQualifiedId", "fallbackName", "ToolResult", "Success", "ArtifactId", "document", "toDXN", "toString", "first", "assertArgument", "content", "load", "contributes", "Capabilities", "ArtifactDefinition"]
7
+ }
@@ -16,8 +16,8 @@ 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_YHL4JSA6_exports = {};
20
- __export(chunk_YHL4JSA6_exports, {
19
+ var chunk_2HGBN655_exports = {};
20
+ __export(chunk_2HGBN655_exports, {
21
21
  DocumentSchema: () => DocumentSchema,
22
22
  DocumentType: () => DocumentType,
23
23
  MarkdownAction: () => MarkdownAction,
@@ -25,34 +25,36 @@ __export(chunk_YHL4JSA6_exports, {
25
25
  createDocument: () => createDocument,
26
26
  isEditorModel: () => isEditorModel
27
27
  });
28
- module.exports = __toCommonJS(chunk_YHL4JSA6_exports);
28
+ module.exports = __toCommonJS(chunk_2HGBN655_exports);
29
29
  var import_chunk_ZU5OIHCY = require("./chunk-ZU5OIHCY.cjs");
30
+ var import_effect = require("effect");
31
+ var import_echo = require("@dxos/echo");
30
32
  var import_echo_schema = require("@dxos/echo-schema");
31
33
  var import_live_object = require("@dxos/live-object");
32
34
  var import_types = require("@dxos/plugin-space/types");
33
35
  var import_schema = require("@dxos/schema");
34
- var import_echo_schema2 = require("@dxos/echo-schema");
36
+ var import_effect2 = require("effect");
35
37
  var import_react_ui_editor = require("@dxos/react-ui-editor");
36
- var DocumentSchema = import_echo_schema.S.Struct({
37
- name: import_echo_schema.S.optional(import_echo_schema.S.String),
38
- fallbackName: import_echo_schema.S.optional(import_echo_schema.S.String),
39
- content: (0, import_echo_schema.Ref)(import_schema.TextType),
40
- threads: import_echo_schema.S.mutable(import_echo_schema.S.Array((0, import_echo_schema.Ref)(import_types.ThreadType))),
41
- assistantChatQueue: import_echo_schema.S.optional((0, import_echo_schema.Ref)(import_echo_schema.Expando))
38
+ var DocumentSchema = import_effect.Schema.Struct({
39
+ name: import_effect.Schema.optional(import_effect.Schema.String),
40
+ fallbackName: import_effect.Schema.optional(import_effect.Schema.String),
41
+ content: (0, import_echo_schema.Ref)(import_schema.DataType.Text),
42
+ threads: import_effect.Schema.mutable(import_effect.Schema.Array((0, import_echo_schema.Ref)(import_types.ThreadType))),
43
+ assistantChatQueue: import_effect.Schema.optional((0, import_echo_schema.Ref)(import_echo_schema.Expando))
42
44
  }).annotations({
43
- // TODO(dmaretskyi): `S.Struct(...).pipe(defaultLabel(['name', 'fallbackName']))` for type-safe annotations.
45
+ // TODO(dmaretskyi): `Schema.Struct(...).pipe(defaultLabel(['name', 'fallbackName']))` for type-safe annotations.
44
46
  [import_echo_schema.LabelAnnotationId]: [
45
47
  "name",
46
48
  "fallbackName"
47
49
  ]
48
50
  });
49
- var DocumentType = DocumentSchema.pipe((0, import_echo_schema.EchoObject)({
51
+ var DocumentType = DocumentSchema.pipe(import_echo.Type.def({
50
52
  typename: "dxos.org/type/Document",
51
53
  version: "0.1.0"
52
54
  }));
53
55
  var createDocument = ({ name, content }) => (0, import_live_object.live)(DocumentType, {
54
56
  name,
55
- content: (0, import_live_object.makeRef)((0, import_live_object.live)(import_schema.TextType, {
57
+ content: (0, import_live_object.makeRef)((0, import_live_object.live)(import_schema.DataType.Text, {
56
58
  content
57
59
  })),
58
60
  threads: []
@@ -61,38 +63,38 @@ var isEditorModel = (data) => data && typeof data === "object" && "id" in data &
61
63
  var MARKDOWN_ACTION = `${import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN}/action`;
62
64
  var MarkdownAction;
63
65
  (function(MarkdownAction2) {
64
- class Create extends import_echo_schema2.S.TaggedClass()(MARKDOWN_ACTION, {
65
- input: import_echo_schema2.S.Struct({
66
- spaceId: import_echo_schema2.S.String,
67
- name: import_echo_schema2.S.optional(import_echo_schema2.S.String),
68
- content: import_echo_schema2.S.optional(import_echo_schema2.S.String)
66
+ class Create extends import_effect2.Schema.TaggedClass()(MARKDOWN_ACTION, {
67
+ input: import_effect2.Schema.Struct({
68
+ spaceId: import_effect2.Schema.String,
69
+ name: import_effect2.Schema.optional(import_effect2.Schema.String),
70
+ content: import_effect2.Schema.optional(import_effect2.Schema.String)
69
71
  }),
70
- output: import_echo_schema2.S.Struct({
72
+ output: import_effect2.Schema.Struct({
71
73
  object: DocumentType
72
74
  })
73
75
  }) {
74
76
  }
75
77
  MarkdownAction2.Create = Create;
76
- class SetViewMode extends import_echo_schema2.S.TaggedClass()(`${MARKDOWN_ACTION}/set-view-mode`, {
77
- input: import_echo_schema2.S.Struct({
78
- id: import_echo_schema2.S.String,
78
+ class SetViewMode extends import_effect2.Schema.TaggedClass()(`${MARKDOWN_ACTION}/set-view-mode`, {
79
+ input: import_effect2.Schema.Struct({
80
+ id: import_effect2.Schema.String,
79
81
  viewMode: import_react_ui_editor.EditorViewMode
80
82
  }),
81
- output: import_echo_schema2.S.Void
83
+ output: import_effect2.Schema.Void
82
84
  }) {
83
85
  }
84
86
  MarkdownAction2.SetViewMode = SetViewMode;
85
87
  })(MarkdownAction || (MarkdownAction = {}));
86
- var MarkdownSettingsSchema = import_echo_schema2.S.mutable(import_echo_schema2.S.Struct({
88
+ var MarkdownSettingsSchema = import_effect2.Schema.mutable(import_effect2.Schema.Struct({
87
89
  defaultViewMode: import_react_ui_editor.EditorViewMode,
88
- editorInputMode: import_echo_schema2.S.optional(import_react_ui_editor.EditorInputMode),
89
- experimental: import_echo_schema2.S.optional(import_echo_schema2.S.Boolean),
90
- debug: import_echo_schema2.S.optional(import_echo_schema2.S.Boolean),
91
- toolbar: import_echo_schema2.S.optional(import_echo_schema2.S.Boolean),
92
- typewriter: import_echo_schema2.S.optional(import_echo_schema2.S.String),
90
+ editorInputMode: import_effect2.Schema.optional(import_react_ui_editor.EditorInputMode),
91
+ experimental: import_effect2.Schema.optional(import_effect2.Schema.Boolean),
92
+ debug: import_effect2.Schema.optional(import_effect2.Schema.Boolean),
93
+ toolbar: import_effect2.Schema.optional(import_effect2.Schema.Boolean),
94
+ typewriter: import_effect2.Schema.optional(import_effect2.Schema.String),
93
95
  // TODO(burdon): Per document settings.
94
- numberedHeadings: import_echo_schema2.S.optional(import_echo_schema2.S.Boolean),
95
- folding: import_echo_schema2.S.optional(import_echo_schema2.S.Boolean)
96
+ numberedHeadings: import_effect2.Schema.optional(import_effect2.Schema.Boolean),
97
+ folding: import_effect2.Schema.optional(import_effect2.Schema.Boolean)
96
98
  }));
97
99
  // Annotate the CommonJS export names for ESM import in node:
98
100
  0 && (module.exports = {
@@ -103,4 +105,4 @@ var MarkdownSettingsSchema = import_echo_schema2.S.mutable(import_echo_schema2.S
103
105
  createDocument,
104
106
  isEditorModel
105
107
  });
106
- //# sourceMappingURL=chunk-YHL4JSA6.cjs.map
108
+ //# sourceMappingURL=chunk-2HGBN655.cjs.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,oBAAuB;AAEvB,kBAAqB;AACrB,yBAAgD;AAChD,yBAA8B;AAC9B,mBAA2B;AAC3B,oBAAyB;ACNzB,IAAAA,iBAAuB;AAGvB,6BAAgE;ADKzD,IAAMC,iBAAiBC,qBAAOC,OAAO;EAC1CC,MAAMF,qBAAOG,SAASH,qBAAOI,MAAM;EACnCC,cAAcL,qBAAOG,SAASH,qBAAOI,MAAM;EAC3CE,aAASC,wBAAIC,uBAASC,IAAI;EAC1BC,SAASV,qBAAOW,QAAQX,qBAAOY,UAAML,wBAAIM,uBAAAA,CAAAA,CAAAA;EACzCC,oBAAoBd,qBAAOG,aAASI,wBAAIQ,0BAAAA,CAAAA;AAC1C,CAAA,EAAGC,YAAY;;EAEb,CAACC,oCAAAA,GAAoB;IAAC;IAAQ;;AAChC,CAAA;AAEO,IAAMC,eAAenB,eAAeoB,KACzCC,iBAAKC,IAAI;EACPC,UAAU;EACVC,SAAS;AACX,CAAA,CAAA;AAKK,IAAMC,iBAAiB,CAAC,EAAEtB,MAAMI,QAAO,UAC5CmB,yBAAKP,cAAc;EAAEhB;EAAMI,aAASoB,gCAAQD,yBAAKjB,uBAASC,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;ACjCvB,IAAMC,kBAAkB,GAAGC,qCAAAA;;UAEVC,iBAAAA;EACR,MAAMC,eAAelC,eAAAA,OAAOmC,YAAW,EAAWJ,iBAAiB;IACxEK,OAAOpC,eAAAA,OAAOC,OAAO;MACnBoC,SAASrC,eAAAA,OAAOI;MAChBF,MAAMF,eAAAA,OAAOG,SAASH,eAAAA,OAAOI,MAAM;MACnCE,SAASN,eAAAA,OAAOG,SAASH,eAAAA,OAAOI,MAAM;IACxC,CAAA;IACAkC,QAAQtC,eAAAA,OAAOC,OAAO;MACpBsC,QAAQrB;IACV,CAAA;EACF,CAAA,EAAA;EAAI;kBATSgB,SAAAA;EAWN,MAAMM,oBAAoBxC,eAAAA,OAAOmC,YAAW,EAAgB,GAAGJ,eAAAA,kBAAiC;IACrGK,OAAOpC,eAAAA,OAAOC,OAAO;MACnB4B,IAAI7B,eAAAA,OAAOI;MACXqC,UAAUC;IACZ,CAAA;IACAJ,QAAQtC,eAAAA,OAAO2C;EACjB,CAAA,EAAA;EAAI;kBANSH,cAAAA;AAOf,GAnBiBP,mBAAAA,iBAAAA,CAAAA,EAAAA;AAqCV,IAAMW,yBAAyB5C,eAAAA,OAAOW,QAC3CX,eAAAA,OAAOC,OAAO;EACZ4C,iBAAiBH;EACjBI,iBAAiB9C,eAAAA,OAAOG,SAAS4C,sCAAAA;EACjCC,cAAchD,eAAAA,OAAOG,SAASH,eAAAA,OAAOiD,OAAO;EAC5CC,OAAOlD,eAAAA,OAAOG,SAASH,eAAAA,OAAOiD,OAAO;EACrCE,SAASnD,eAAAA,OAAOG,SAASH,eAAAA,OAAOiD,OAAO;EACvCG,YAAYpD,eAAAA,OAAOG,SAASH,eAAAA,OAAOI,MAAM;;EAEzCiD,kBAAkBrD,eAAAA,OAAOG,SAASH,eAAAA,OAAOiD,OAAO;EAChDK,SAAStD,eAAAA,OAAOG,SAASH,eAAAA,OAAOiD,OAAO;AACzC,CAAA,CAAA;",
6
+ "names": ["import_effect", "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", "MARKDOWN_ACTION", "MARKDOWN_PLUGIN", "MarkdownAction", "Create", "TaggedClass", "input", "spaceId", "output", "object", "SetViewMode", "viewMode", "EditorViewMode", "Void", "MarkdownSettingsSchema", "defaultViewMode", "editorInputMode", "EditorInputMode", "experimental", "Boolean", "debug", "toolbar", "typewriter", "numberedHeadings", "folding"]
7
+ }
@@ -16,18 +16,18 @@ 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_JO4SBK36_exports = {};
20
- __export(chunk_JO4SBK36_exports, {
19
+ var chunk_ETVG2GKL_exports = {};
20
+ __export(chunk_ETVG2GKL_exports, {
21
21
  translations_default: () => translations_default
22
22
  });
23
- module.exports = __toCommonJS(chunk_JO4SBK36_exports);
24
- var import_chunk_YHL4JSA6 = require("./chunk-YHL4JSA6.cjs");
23
+ module.exports = __toCommonJS(chunk_ETVG2GKL_exports);
24
+ var import_chunk_2HGBN655 = require("./chunk-2HGBN655.cjs");
25
25
  var import_chunk_ZU5OIHCY = require("./chunk-ZU5OIHCY.cjs");
26
26
  var import_echo_schema = require("@dxos/echo-schema");
27
27
  var translations_default = [
28
28
  {
29
29
  "en-US": {
30
- [(0, import_echo_schema.getSchemaTypename)(import_chunk_YHL4JSA6.DocumentType)]: {
30
+ [(0, import_echo_schema.getSchemaTypename)(import_chunk_2HGBN655.DocumentType)]: {
31
31
  "typename label": "Document",
32
32
  "object name placeholder": "New document"
33
33
  },
@@ -62,4 +62,4 @@ var translations_default = [
62
62
  0 && (module.exports = {
63
63
  translations_default
64
64
  });
65
- //# sourceMappingURL=chunk-JO4SBK36.cjs.map
65
+ //# sourceMappingURL=chunk-ETVG2GKL.cjs.map
@@ -26,8 +26,8 @@ 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_QRE5L6ZC_exports = {};
30
- __export(chunk_QRE5L6ZC_exports, {
29
+ var chunk_PLJVVHKG_exports = {};
30
+ __export(chunk_PLJVVHKG_exports, {
31
31
  AppGraphSerializer: () => AppGraphSerializer,
32
32
  ArtifactDefinition: () => ArtifactDefinition,
33
33
  IntentResolver: () => IntentResolver,
@@ -36,15 +36,15 @@ __export(chunk_QRE5L6ZC_exports, {
36
36
  ReactSurface: () => ReactSurface,
37
37
  Thread: () => Thread
38
38
  });
39
- module.exports = __toCommonJS(chunk_QRE5L6ZC_exports);
39
+ module.exports = __toCommonJS(chunk_PLJVVHKG_exports);
40
40
  var import_app_framework = require("@dxos/app-framework");
41
- var AppGraphSerializer = (0, import_app_framework.lazy)(() => import("./app-graph-serializer-KBDLASRP.cjs"));
42
- var ArtifactDefinition = (0, import_app_framework.lazy)(() => import("./artifact-definition-ADEN2KD6.cjs"));
43
- var IntentResolver = (0, import_app_framework.lazy)(() => import("./intent-resolver-NX5QNRYF.cjs"));
44
- var ReactSurface = (0, import_app_framework.lazy)(() => import("./react-surface-DJIZSVMN.cjs"));
45
- var MarkdownSettings = (0, import_app_framework.lazy)(() => import("./settings-2JXASSLU.cjs"));
41
+ var AppGraphSerializer = (0, import_app_framework.lazy)(() => import("./app-graph-serializer-4VZJUDTL.cjs"));
42
+ var ArtifactDefinition = (0, import_app_framework.lazy)(() => import("./artifact-definition-HNSTQ7SX.cjs"));
43
+ var IntentResolver = (0, import_app_framework.lazy)(() => import("./intent-resolver-FGBVXI7L.cjs"));
44
+ var ReactSurface = (0, import_app_framework.lazy)(() => import("./react-surface-5AAXZCA7.cjs"));
45
+ var MarkdownSettings = (0, import_app_framework.lazy)(() => import("./settings-I3Z64YPE.cjs"));
46
46
  var MarkdownState = (0, import_app_framework.lazy)(() => import("./state-PC7IVXFP.cjs"));
47
- var Thread = (0, import_app_framework.lazy)(() => import("./thread-MXEGV6HS.cjs"));
47
+ var Thread = (0, import_app_framework.lazy)(() => import("./thread-NHTJKFC4.cjs"));
48
48
  // Annotate the CommonJS export names for ESM import in node:
49
49
  0 && (module.exports = {
50
50
  AppGraphSerializer,
@@ -55,4 +55,4 @@ var Thread = (0, import_app_framework.lazy)(() => import("./thread-MXEGV6HS.cjs"
55
55
  ReactSurface,
56
56
  Thread
57
57
  });
58
- //# sourceMappingURL=chunk-QRE5L6ZC.cjs.map
58
+ //# sourceMappingURL=chunk-PLJVVHKG.cjs.map
@@ -16,16 +16,16 @@ 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_WGMVEPB3_exports = {};
20
- __export(chunk_WGMVEPB3_exports, {
19
+ var chunk_XJ4XHWXZ_exports = {};
20
+ __export(chunk_XJ4XHWXZ_exports, {
21
21
  getAbstract: () => getAbstract,
22
22
  getFallbackName: () => getFallbackName,
23
23
  isMarkdownProperties: () => isMarkdownProperties,
24
24
  serializer: () => serializer,
25
25
  setFallbackName: () => setFallbackName
26
26
  });
27
- module.exports = __toCommonJS(chunk_WGMVEPB3_exports);
28
- var import_chunk_YHL4JSA6 = require("./chunk-YHL4JSA6.cjs");
27
+ module.exports = __toCommonJS(chunk_XJ4XHWXZ_exports);
28
+ var import_chunk_2HGBN655 = require("./chunk-2HGBN655.cjs");
29
29
  var import_async = require("@dxos/async");
30
30
  var import_echo = require("@dxos/react-client/echo");
31
31
  var import_schema = require("@dxos/schema");
@@ -54,10 +54,10 @@ var serializer = {
54
54
  },
55
55
  deserialize: async ({ content: serialized }) => {
56
56
  const { name, fallbackName, content } = JSON.parse(serialized);
57
- return (0, import_echo.createObject)((0, import_echo.live)(import_chunk_YHL4JSA6.DocumentType, {
57
+ return (0, import_echo.createObject)((0, import_echo.live)(import_chunk_2HGBN655.DocumentType, {
58
58
  name,
59
59
  fallbackName,
60
- content: (0, import_echo.makeRef)((0, import_echo.live)(import_schema.TextType, {
60
+ content: (0, import_echo.makeRef)((0, import_echo.live)(import_schema.DataType.Text, {
61
61
  content
62
62
  })),
63
63
  threads: []
@@ -72,4 +72,4 @@ var serializer = {
72
72
  serializer,
73
73
  setFallbackName
74
74
  });
75
- //# sourceMappingURL=chunk-WGMVEPB3.cjs.map
75
+ //# sourceMappingURL=chunk-XJ4XHWXZ.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { debounce } from '@dxos/async';\nimport { type TypedObjectSerializer } from '@dxos/plugin-space/types';\nimport { live, createObject, isEchoObject, loadObjectReferences, makeRef } from '@dxos/react-client/echo';\nimport { DataType } from '@dxos/schema';\n\nimport { DocumentType, type MarkdownProperties } from './types';\n\nexport const isMarkdownProperties = (data: unknown): data is MarkdownProperties =>\n (isEchoObject(data) as boolean)\n ? true\n : data && typeof data === 'object'\n ? 'title' in data && typeof data.title === 'string'\n : false;\n\nconst nonTitleChars = /[^\\w ]/g;\n\nexport const getFallbackName = (content: string) => {\n return content.substring(0, 31).split('\\n')[0].replaceAll(nonTitleChars, '').trim();\n};\n\nexport const getAbstract = (content: string) => {\n return content.substring(0, 128).split('\\n')[0].replaceAll(nonTitleChars, '').trim();\n};\n\nexport const setFallbackName = debounce((doc: 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 live(DocumentType, { name, fallbackName, content: makeRef(live(DataType.Text, { content })), threads: [] }),\n );\n },\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mBAAyB;AAEzB,kBAAgF;AAChF,oBAAyB;AAIlB,IAAMA,uBAAuB,CAACC,aAClCC,0BAAaD,IAAAA,IACV,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,cAAc,CAACL,YAAAA;AAC1B,SAAOA,QAAQC,UAAU,GAAG,GAAA,EAAKC,MAAM,IAAA,EAAM,CAAA,EAAGC,WAAWL,eAAe,EAAA,EAAIM,KAAI;AACpF;AAEO,IAAME,sBAAkBC,uBAAS,CAACC,KAAmBR,YAAAA;AAC1D,QAAMS,OAAOV,gBAAgBC,OAAAA;AAC7B,MAAIQ,IAAIE,iBAAiBD,MAAM;AAC7BD,QAAIE,eAAeD;EACrB;AACF,GAAG,GAAA;AAEI,IAAME,aAAkD;EAC7DC,WAAW,OAAO,EAAEC,OAAM,MAAE;AAC1B,UAAMb,UAAU,UAAMc,kCAAqBD,QAAQ,CAACL,QAAQA,IAAIR,OAAO;AACvE,WAAOe,KAAKC,UAAU;MAAEP,MAAMI,OAAOJ;MAAMC,cAAcG,OAAOH;MAAcV,SAASA,QAAQiB,QAAQjB;IAAQ,CAAA;EACjH;EAEAkB,aAAa,OAAO,EAAElB,SAASmB,WAAU,MAAE;AACzC,UAAM,EAAEV,MAAMC,cAAcV,QAAO,IAAKe,KAAKK,MAAMD,UAAAA;AACnD,eAAOE,8BACLC,kBAAKC,oCAAc;MAAEd;MAAMC;MAAcV,aAASwB,yBAAQF,kBAAKG,uBAASC,MAAM;QAAE1B;MAAQ,CAAA,CAAA;MAAK2B,SAAS,CAAA;IAAG,CAAA,CAAA;EAE7G;AACF;",
6
+ "names": ["isMarkdownProperties", "data", "isEchoObject", "title", "nonTitleChars", "getFallbackName", "content", "substring", "split", "replaceAll", "trim", "getAbstract", "setFallbackName", "debounce", "doc", "name", "fallbackName", "serializer", "serialize", "object", "loadObjectReferences", "JSON", "stringify", "target", "deserialize", "serialized", "parse", "createObject", "live", "DocumentType", "makeRef", "DataType", "Text", "threads"]
7
+ }
@@ -22,19 +22,19 @@ __export(node_exports, {
22
22
  MarkdownCapabilities: () => import_chunk_DZXTXSXX.MarkdownCapabilities,
23
23
  MarkdownEvents: () => MarkdownEvents,
24
24
  MarkdownPlugin: () => MarkdownPlugin,
25
- getAbstract: () => import_chunk_WGMVEPB3.getAbstract,
26
- getFallbackName: () => import_chunk_WGMVEPB3.getFallbackName,
27
- isMarkdownProperties: () => import_chunk_WGMVEPB3.isMarkdownProperties,
25
+ getAbstract: () => import_chunk_XJ4XHWXZ.getAbstract,
26
+ getFallbackName: () => import_chunk_XJ4XHWXZ.getFallbackName,
27
+ isMarkdownProperties: () => import_chunk_XJ4XHWXZ.isMarkdownProperties,
28
28
  meta: () => import_chunk_ZU5OIHCY.meta,
29
- serializer: () => import_chunk_WGMVEPB3.serializer,
30
- setFallbackName: () => import_chunk_WGMVEPB3.setFallbackName
29
+ serializer: () => import_chunk_XJ4XHWXZ.serializer,
30
+ setFallbackName: () => import_chunk_XJ4XHWXZ.setFallbackName
31
31
  });
32
32
  module.exports = __toCommonJS(node_exports);
33
- var import_chunk_JO4SBK36 = require("./chunk-JO4SBK36.cjs");
34
- var import_chunk_QRE5L6ZC = require("./chunk-QRE5L6ZC.cjs");
35
- var import_chunk_WGMVEPB3 = require("./chunk-WGMVEPB3.cjs");
33
+ var import_chunk_ETVG2GKL = require("./chunk-ETVG2GKL.cjs");
34
+ var import_chunk_PLJVVHKG = require("./chunk-PLJVVHKG.cjs");
35
+ var import_chunk_XJ4XHWXZ = require("./chunk-XJ4XHWXZ.cjs");
36
36
  var import_chunk_DZXTXSXX = require("./chunk-DZXTXSXX.cjs");
37
- var import_chunk_YHL4JSA6 = require("./chunk-YHL4JSA6.cjs");
37
+ var import_chunk_2HGBN655 = require("./chunk-2HGBN655.cjs");
38
38
  var import_chunk_ZU5OIHCY = require("./chunk-ZU5OIHCY.cjs");
39
39
  var import_app_framework = require("@dxos/app-framework");
40
40
  var import_app_framework2 = require("@dxos/app-framework");
@@ -54,14 +54,14 @@ var MarkdownPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_
54
54
  id: `${import_chunk_ZU5OIHCY.meta.id}/module/translations`,
55
55
  activatesOn: import_app_framework2.Events.SetupTranslations,
56
56
  activate: () => (0, import_app_framework2.contributes)(import_app_framework2.Capabilities.Translations, [
57
- ...import_chunk_JO4SBK36.translations_default,
57
+ ...import_chunk_ETVG2GKL.translations_default,
58
58
  ...import_react_ui_editor.translations
59
59
  ])
60
60
  }),
61
61
  (0, import_app_framework2.defineModule)({
62
62
  id: `${import_chunk_ZU5OIHCY.meta.id}/module/settings`,
63
63
  activatesOn: import_app_framework2.Events.SetupSettings,
64
- activate: import_chunk_QRE5L6ZC.MarkdownSettings
64
+ activate: import_chunk_PLJVVHKG.MarkdownSettings
65
65
  }),
66
66
  (0, import_app_framework2.defineModule)({
67
67
  id: `${import_chunk_ZU5OIHCY.meta.id}/module/state`,
@@ -69,15 +69,15 @@ var MarkdownPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_
69
69
  // Should this be a different event?
70
70
  // Should settings store be renamed to be more generic?
71
71
  activatesOn: import_app_framework2.Events.SetupSettings,
72
- activate: import_chunk_QRE5L6ZC.MarkdownState
72
+ activate: import_chunk_PLJVVHKG.MarkdownState
73
73
  }),
74
74
  (0, import_app_framework2.defineModule)({
75
75
  id: `${import_chunk_ZU5OIHCY.meta.id}/module/metadata`,
76
76
  activatesOn: import_app_framework2.Events.SetupMetadata,
77
77
  activate: () => (0, import_app_framework2.contributes)(import_app_framework2.Capabilities.Metadata, {
78
- id: import_chunk_YHL4JSA6.DocumentType.typename,
78
+ id: import_chunk_2HGBN655.DocumentType.typename,
79
79
  metadata: {
80
- label: (object) => (0, import_echo_schema.isInstanceOf)(import_chunk_YHL4JSA6.DocumentType, object) ? object.name || object.fallbackName : void 0,
80
+ label: (object) => (0, import_echo_schema.isInstanceOf)(import_chunk_2HGBN655.DocumentType, object) ? object.name || object.fallbackName : void 0,
81
81
  icon: "ph--text-aa--regular",
82
82
  graphProps: {
83
83
  managesAutofocus: true
@@ -87,7 +87,7 @@ var MarkdownPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_
87
87
  doc.content,
88
88
  ...doc.threads
89
89
  ]),
90
- serializer: import_chunk_WGMVEPB3.serializer
90
+ serializer: import_chunk_XJ4XHWXZ.serializer
91
91
  }
92
92
  })
93
93
  }),
@@ -95,8 +95,8 @@ var MarkdownPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_
95
95
  id: `${import_chunk_ZU5OIHCY.meta.id}/module/object-form`,
96
96
  activatesOn: import_plugin_client.ClientEvents.SetupSchema,
97
97
  activate: () => (0, import_app_framework2.contributes)(import_plugin_space.SpaceCapabilities.ObjectForm, (0, import_types.defineObjectForm)({
98
- objectSchema: import_chunk_YHL4JSA6.DocumentType,
99
- getIntent: (_, { space }) => (0, import_app_framework2.createIntent)(import_chunk_YHL4JSA6.MarkdownAction.Create, {
98
+ objectSchema: import_chunk_2HGBN655.DocumentType,
99
+ getIntent: (_, { space }) => (0, import_app_framework2.createIntent)(import_chunk_2HGBN655.MarkdownAction.Create, {
100
100
  spaceId: space.id
101
101
  })
102
102
  }))
@@ -105,7 +105,7 @@ var MarkdownPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_
105
105
  id: `${import_chunk_ZU5OIHCY.meta.id}/module/schema`,
106
106
  activatesOn: import_plugin_client.ClientEvents.SetupSchema,
107
107
  activate: () => (0, import_app_framework2.contributes)(import_plugin_client.ClientCapabilities.Schema, [
108
- import_schema.TextType
108
+ import_schema.DataType.Text
109
109
  ])
110
110
  }),
111
111
  (0, import_app_framework2.defineModule)({
@@ -115,27 +115,27 @@ var MarkdownPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_
115
115
  activatesBefore: [
116
116
  MarkdownEvents.SetupExtensions
117
117
  ],
118
- activate: import_chunk_QRE5L6ZC.ReactSurface
118
+ activate: import_chunk_PLJVVHKG.ReactSurface
119
119
  }),
120
120
  (0, import_app_framework2.defineModule)({
121
121
  id: `${import_chunk_ZU5OIHCY.meta.id}/module/intent-resolver`,
122
122
  activatesOn: import_app_framework2.Events.SetupIntentResolver,
123
- activate: import_chunk_QRE5L6ZC.IntentResolver
123
+ activate: import_chunk_PLJVVHKG.IntentResolver
124
124
  }),
125
125
  (0, import_app_framework2.defineModule)({
126
126
  id: `${import_chunk_ZU5OIHCY.meta.id}/module/app-graph-serializer`,
127
127
  activatesOn: import_app_framework2.Events.AppGraphReady,
128
- activate: import_chunk_QRE5L6ZC.AppGraphSerializer
128
+ activate: import_chunk_PLJVVHKG.AppGraphSerializer
129
129
  }),
130
130
  (0, import_app_framework2.defineModule)({
131
131
  id: `${import_chunk_ZU5OIHCY.meta.id}/module/thread`,
132
132
  activatesOn: import_plugin_space.ThreadEvents.SetupThread,
133
- activate: import_chunk_QRE5L6ZC.Thread
133
+ activate: import_chunk_PLJVVHKG.Thread
134
134
  }),
135
135
  (0, import_app_framework2.defineModule)({
136
136
  id: `${import_chunk_ZU5OIHCY.meta.id}/module/artifact-definition`,
137
137
  activatesOn: import_app_framework2.Events.SetupArtifactDefinition,
138
- activate: import_chunk_QRE5L6ZC.ArtifactDefinition
138
+ activate: import_chunk_PLJVVHKG.ArtifactDefinition
139
139
  })
140
140
  ]);
141
141
  // Annotate the CommonJS export names for ESM import in node:
@@ -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,2BAAuB;ACAvB,IAAAA,wBAA4F;AAC5F,yBAA8C;AAC9C,yBAAyB;AACzB,2BAAiD;AACjD,0BAAgD;AAChD,mBAAiC;AACjC,6BAAmD;AACnD,oBAAyB;;UDHRC,iBAAAA;kBACFC,kBAAkBC,4BAAOC,iBAAiB,GAAGC,qCAAAA,mBAAkC;AAC9F,GAFiBJ,mBAAAA,iBAAAA,CAAAA,EAAAA;ACoBV,IAAMK,iBAAiB,UAC5BC,oCAAaC,4BAAM;MACjBC,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOS;IACpBC,UAAU,UAAMC,mCAAYC,mCAAaC,cAAc;SAAIC;SAAiBC,uBAAAA;KAAmB;EACjG,CAAA;MACAT,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOgB;IACpBN,UAAUO;EACZ,CAAA;MACAX,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;;;;IAIdC,aAAaR,sBAAAA,OAAOgB;IACpBN,UAAUQ;EACZ,CAAA;MACAZ,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOmB;IACpBT,UAAU,UACRC,mCAAYC,mCAAaQ,UAAU;MACjCb,IAAIc,mCAAaC;MACjBC,UAAU;QACRC,OAAO,CAACC,eACNC,iCAAaL,oCAAcI,MAAAA,IAAUA,OAAOE,QAAQF,OAAOG,eAAeC;QAC5EC,MAAM;QACNC,YAAY;UACVC,kBAAkB;QACpB;;QAEAC,gBAAgB,OAAOC,QACrB,MAAMC,4BAASC,QAAoB;UAACF,IAAIG;aAAYH,IAAII;SAAQ;QAClEC;MACF;IACF,CAAA;EACJ,CAAA;MACAjC,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAagC,kCAAaC;IAC1B/B,UAAU,UACRC,mCACE+B,sCAAkBC,gBAClBC,+BAAiB;MACfC,cAAcxB;MACdyB,WAAW,CAACC,GAAG,EAAEC,MAAK,UAAOC,oCAAaC,qCAAeC,QAAQ;QAAEC,SAASJ,MAAMzC;MAAG,CAAA;IACvF,CAAA,CAAA;EAEN,CAAA;MACAD,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAagC,kCAAaC;IAC1B/B,UAAU,UAAMC,mCAAY0C,wCAAmBC,QAAQ;MAACC;KAAS;EACnE,CAAA;MACAjD,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOwD;;IAEpBC,iBAAiB;MAAC3D,eAAeC;;IACjCW,UAAUgD;EACZ,CAAA;MACApD,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAO2D;IACpBjD,UAAUkD;EACZ,CAAA;MACAtD,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAO6D;IACpBnD,UAAUoD;EACZ,CAAA;MACAxD,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAauD,iCAAaC;IAC1BtD,UAAUuD;EACZ,CAAA;MACA3D,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOkE;IACpBxD,UAAUyD;EACZ,CAAA;CACD;",
6
- "names": ["import_app_framework", "MarkdownEvents", "SetupExtensions", "Events", "createStateEvent", "MARKDOWN_PLUGIN", "MarkdownPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "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", "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,2BAAuB;ACAvB,IAAAA,wBAA4F;AAC5F,yBAA8C;AAC9C,yBAAyB;AACzB,2BAAiD;AACjD,0BAAgD;AAChD,mBAAiC;AACjC,6BAAmD;AACnD,oBAAyB;;UDHRC,iBAAAA;kBACFC,kBAAkBC,4BAAOC,iBAAiB,GAAGC,qCAAAA,mBAAkC;AAC9F,GAFiBJ,mBAAAA,iBAAAA,CAAAA,EAAAA;ACoBV,IAAMK,iBAAiB,UAC5BC,oCAAaC,4BAAM;MACjBC,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOS;IACpBC,UAAU,UAAMC,mCAAYC,mCAAaC,cAAc;SAAIC;SAAiBC,uBAAAA;KAAmB;EACjG,CAAA;MACAT,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOgB;IACpBN,UAAUO;EACZ,CAAA;MACAX,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;;;;IAIdC,aAAaR,sBAAAA,OAAOgB;IACpBN,UAAUQ;EACZ,CAAA;MACAZ,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOmB;IACpBT,UAAU,UACRC,mCAAYC,mCAAaQ,UAAU;MACjCb,IAAIc,mCAAaC;MACjBC,UAAU;QACRC,OAAO,CAACC,eACNC,iCAAaL,oCAAcI,MAAAA,IAAUA,OAAOE,QAAQF,OAAOG,eAAeC;QAC5EC,MAAM;QACNC,YAAY;UACVC,kBAAkB;QACpB;;QAEAC,gBAAgB,OAAOC,QACrB,MAAMC,4BAASC,QAAoB;UAACF,IAAIG;aAAYH,IAAII;SAAQ;QAClEC;MACF;IACF,CAAA;EACJ,CAAA;MACAjC,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAagC,kCAAaC;IAC1B/B,UAAU,UACRC,mCACE+B,sCAAkBC,gBAClBC,+BAAiB;MACfC,cAAcxB;MACdyB,WAAW,CAACC,GAAG,EAAEC,MAAK,UAAOC,oCAAaC,qCAAeC,QAAQ;QAAEC,SAASJ,MAAMzC;MAAG,CAAA;IACvF,CAAA,CAAA;EAEN,CAAA;MACAD,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAagC,kCAAaC;IAC1B/B,UAAU,UAAMC,mCAAY0C,wCAAmBC,QAAQ;MAACC,uBAASC;KAAK;EACxE,CAAA;MACAlD,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOyD;;IAEpBC,iBAAiB;MAAC5D,eAAeC;;IACjCW,UAAUiD;EACZ,CAAA;MACArD,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAO4D;IACpBlD,UAAUmD;EACZ,CAAA;MACAvD,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAO8D;IACpBpD,UAAUqD;EACZ,CAAA;MACAzD,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAawD,iCAAaC;IAC1BvD,UAAUwD;EACZ,CAAA;MACA5D,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOmE;IACpBzD,UAAU0D;EACZ,CAAA;CACD;",
6
+ "names": ["import_app_framework", "MarkdownEvents", "SetupExtensions", "Events", "createStateEvent", "MARKDOWN_PLUGIN", "MarkdownPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "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", "ReactSurface", "SetupIntentResolver", "IntentResolver", "AppGraphReady", "AppGraphSerializer", "ThreadEvents", "SetupThread", "Thread", "SetupArtifactDefinition", "ArtifactDefinition"]
7
7
  }
@@ -16,13 +16,13 @@ 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 intent_resolver_NX5QNRYF_exports = {};
20
- __export(intent_resolver_NX5QNRYF_exports, {
19
+ var intent_resolver_FGBVXI7L_exports = {};
20
+ __export(intent_resolver_FGBVXI7L_exports, {
21
21
  default: () => intent_resolver_default
22
22
  });
23
- module.exports = __toCommonJS(intent_resolver_NX5QNRYF_exports);
23
+ module.exports = __toCommonJS(intent_resolver_FGBVXI7L_exports);
24
24
  var import_chunk_DZXTXSXX = require("./chunk-DZXTXSXX.cjs");
25
- var import_chunk_YHL4JSA6 = require("./chunk-YHL4JSA6.cjs");
25
+ var import_chunk_2HGBN655 = require("./chunk-2HGBN655.cjs");
26
26
  var import_chunk_ZU5OIHCY = require("./chunk-ZU5OIHCY.cjs");
27
27
  var import_app_framework = require("@dxos/app-framework");
28
28
  var import_automerge = require("@dxos/automerge/automerge");
@@ -37,11 +37,11 @@ var import_schema = require("@dxos/schema");
37
37
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-markdown/src/capabilities/intent-resolver.ts";
38
38
  var intent_resolver_default = (context) => (0, import_app_framework.contributes)(import_app_framework.Capabilities.IntentResolver, [
39
39
  (0, import_app_framework.createResolver)({
40
- intent: import_chunk_YHL4JSA6.MarkdownAction.Create,
40
+ intent: import_chunk_2HGBN655.MarkdownAction.Create,
41
41
  resolve: ({ name, spaceId, content }) => {
42
- const doc = (0, import_live_object.live)(import_chunk_YHL4JSA6.DocumentType, {
42
+ const doc = (0, import_live_object.live)(import_chunk_2HGBN655.DocumentType, {
43
43
  name,
44
- content: (0, import_live_object.makeRef)((0, import_live_object.live)(import_schema.TextType, {
44
+ content: (0, import_live_object.makeRef)((0, import_live_object.live)(import_schema.DataType.Text, {
45
45
  content: content ?? ""
46
46
  })),
47
47
  assistantChatQueue: (0, import_live_object.refFromDXN)(new import_keys.DXN(import_keys.DXN.kind.QUEUE, [
@@ -59,7 +59,7 @@ var intent_resolver_default = (context) => (0, import_app_framework.contributes)
59
59
  }
60
60
  }),
61
61
  (0, import_app_framework.createResolver)({
62
- intent: import_chunk_YHL4JSA6.MarkdownAction.SetViewMode,
62
+ intent: import_chunk_2HGBN655.MarkdownAction.SetViewMode,
63
63
  resolve: ({ id, viewMode }) => {
64
64
  const { state } = context.requestCapability(import_chunk_DZXTXSXX.MarkdownCapabilities.State);
65
65
  state.viewMode[id] = viewMode;
@@ -72,7 +72,7 @@ var intent_resolver_default = (context) => (0, import_app_framework.contributes)
72
72
  const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
73
73
  const space = client.spaces.get(spaceId);
74
74
  const target = await (0, import_react_client.resolveRef)(client, targetRef.dxn, space);
75
- if (target && (0, import_echo_schema.isInstanceOf)(import_chunk_YHL4JSA6.DocumentType, target)) {
75
+ if (target && (0, import_echo_schema.isInstanceOf)(import_chunk_2HGBN655.DocumentType, target)) {
76
76
  const accessor = (0, import_echo.createDocAccessor)(target, [
77
77
  "content"
78
78
  ]);
@@ -96,4 +96,4 @@ var intent_resolver_default = (context) => (0, import_app_framework.contributes)
96
96
  }
97
97
  })
98
98
  ]);
99
- //# sourceMappingURL=intent-resolver-NX5QNRYF.cjs.map
99
+ //# sourceMappingURL=intent-resolver-FGBVXI7L.cjs.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,2BAMO;AACP,uBAA0B;AAC1B,yBAAuC;AACvC,kBAAuC;AACvC,yBAA0C;AAC1C,iBAAoB;AACpB,2BAAmC;AACnC,0BAA2B;AAC3B,kBAAkC;AAClC,oBAAyB;;AAKzB,IAAA,0BAAe,CAACA,gBACdC,kCAAYC,kCAAaC,gBAAgB;MACvCC,qCAAe;IACbC,QAAQC,qCAAeC;IACvBC,SAAS,CAAC,EAAEC,MAAMC,SAASC,QAAO,MAAE;AAClC,YAAMC,UAAMC,yBAAKC,oCAAc;QAC7BL;QACAE,aAASI,gCAAQF,yBAAKG,uBAASC,MAAM;UAAEN,SAASA,WAAW;QAAG,CAAA,CAAA;QAC9DO,wBAAoBC,+BAAW,IAAIC,gBAAIA,gBAAIC,KAAKC,OAAO;UAACC,8BAAkBC;UAAMd;UAASe,4BAASC,OAAM;SAAG,CAAA;QAC3GC,SAAS,CAAA;MACX,CAAA;AAEA,aAAO;QAAEC,MAAM;UAAEC,QAAQjB;QAAI;MAAE;IACjC;EACF,CAAA;MACAR,qCAAe;IACbC,QAAQC,qCAAewB;IACvBtB,SAAS,CAAC,EAAEuB,IAAIC,SAAQ,MAAE;AACxB,YAAM,EAAEC,MAAK,IAAKjC,QAAQkC,kBAAkBC,2CAAqBC,KAAK;AACtEH,YAAMD,SAASD,EAAAA,IAAMC;IACvB;EACF,CAAA;;MAEA5B,qCAAe;IACbC,QAAQgC,0CAAqBC;IAC7B9B,SAAS,OAAO,EAAEE,SAAS6B,QAAQC,WAAWX,QAAQY,WAAWC,MAAK,MAAE;AACtE,YAAMC,SAAS3C,QAAQkC,kBAAkBU,wCAAmBC,MAAM;AAClE,YAAMC,QAAQH,OAAOI,OAAOC,IAAItC,OAAAA;AAChC,YAAM6B,SAAS,UAAMU,gCAAWN,QAAQH,UAAUU,KAAKJ,KAAAA;AACvD,UAAIP,cAAUY,iCAAarC,oCAAcyB,MAAAA,GAAS;AAChD,cAAMa,eAAWC,+BAAkBd,QAAQ;UAAC;SAAU;AAEtD,cAAMe,QAAQ;AACdF,iBAASG,OAAOC,OAAO,CAAC5C,QAAAA;AAGtB,gBAAM6C,MAAM,IAAIf,SAAS,mBAAA,MAAyBD,UAAUS,IAAIQ,SAAQ,CAAA;;AACxEC,2BAAAA,KAAEC,OAAOhD,KAAKwC,SAASS,KAAKC,MAAK,GAAIR,OAAO,GAAGG,GAAAA;QACjD,CAAA;MACF,OAAO;AACLM,uBAAIC,KAAK,4BAA4B;UAAExB;UAAWC;QAAU,GAAA;;;;;;MAC9D;IACF;EACF,CAAA;CACD;",
6
+ "names": ["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
+ }