@dxos/plugin-markdown 0.8.2 → 0.8.3-main.7f5a14c

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 (143) hide show
  1. package/dist/lib/browser/{MarkdownContainer-5IEINNQB.mjs → MarkdownContainer-3KTC7Q4C.mjs} +132 -18
  2. package/dist/lib/browser/MarkdownContainer-3KTC7Q4C.mjs.map +7 -0
  3. package/dist/lib/browser/{MarkdownPreview-YW5CS3ID.mjs → MarkdownPreview-F4PYFW5L.mjs} +15 -22
  4. package/dist/lib/browser/MarkdownPreview-F4PYFW5L.mjs.map +7 -0
  5. package/dist/lib/browser/{anchor-sort-VS4OZVPP.mjs → anchor-sort-BMAN2ABT.mjs} +4 -4
  6. package/dist/lib/browser/anchor-sort-BMAN2ABT.mjs.map +7 -0
  7. package/dist/lib/browser/{app-graph-serializer-V6RLEHVY.mjs → app-graph-serializer-FLQI6GFL.mjs} +3 -3
  8. package/dist/lib/browser/{artifact-definition-5NAODQLG.mjs → artifact-definition-FQ2R6KPT.mjs} +6 -6
  9. package/dist/lib/browser/artifact-definition-FQ2R6KPT.mjs.map +7 -0
  10. package/dist/lib/browser/{chunk-C5RABVIX.mjs → chunk-CX5GYZYO.mjs} +2 -2
  11. package/dist/lib/browser/{chunk-ACAID3XF.mjs → chunk-LCMXUTQB.mjs} +7 -7
  12. package/dist/lib/browser/{chunk-77NGW7EO.mjs → chunk-LXSRQPEP.mjs} +9 -9
  13. package/dist/lib/browser/chunk-LXSRQPEP.mjs.map +7 -0
  14. package/dist/lib/browser/{chunk-ECSM56YC.mjs → chunk-N2D26K6W.mjs} +4 -5
  15. package/dist/lib/browser/chunk-N2D26K6W.mjs.map +7 -0
  16. package/dist/lib/browser/index.mjs +7 -8
  17. package/dist/lib/browser/index.mjs.map +3 -3
  18. package/dist/lib/browser/{intent-resolver-4GDYST4Y.mjs → intent-resolver-6ZOABX2J.mjs} +6 -7
  19. package/dist/lib/browser/intent-resolver-6ZOABX2J.mjs.map +7 -0
  20. package/dist/lib/browser/meta.json +1 -1
  21. package/dist/lib/browser/{react-surface-QE4SKXBT.mjs → react-surface-RJQKYJJQ.mjs} +8 -8
  22. package/dist/lib/browser/react-surface-RJQKYJJQ.mjs.map +7 -0
  23. package/dist/lib/browser/{settings-W5CK4PXP.mjs → settings-PLH54VC7.mjs} +4 -4
  24. package/dist/lib/browser/settings-PLH54VC7.mjs.map +7 -0
  25. package/dist/lib/browser/types/index.mjs +1 -1
  26. package/dist/lib/node/{MarkdownContainer-LSNNPNRB.cjs → MarkdownContainer-NG4H6AZJ.cjs} +181 -67
  27. package/dist/lib/node/MarkdownContainer-NG4H6AZJ.cjs.map +7 -0
  28. package/dist/lib/node/{MarkdownPreview-G34HSQEB.cjs → MarkdownPreview-GCJJCXY6.cjs} +24 -31
  29. package/dist/lib/node/MarkdownPreview-GCJJCXY6.cjs.map +7 -0
  30. package/dist/lib/node/{anchor-sort-NHVF23EU.cjs → anchor-sort-V3T4SFFI.cjs} +12 -12
  31. package/dist/lib/node/anchor-sort-V3T4SFFI.cjs.map +7 -0
  32. package/dist/lib/node/{app-graph-serializer-CLALIYN3.cjs → app-graph-serializer-BZPM7HHJ.cjs} +9 -9
  33. package/dist/lib/node/{artifact-definition-VEAHK7BX.cjs → artifact-definition-U27MH5SC.cjs} +16 -16
  34. package/dist/lib/node/artifact-definition-U27MH5SC.cjs.map +7 -0
  35. package/dist/lib/node/{chunk-RQS4KBMG.cjs → chunk-3HHV4MM6.cjs} +6 -7
  36. package/dist/lib/node/chunk-3HHV4MM6.cjs.map +7 -0
  37. package/dist/lib/node/{chunk-C4HR7UXE.cjs → chunk-4DYNEQG3.cjs} +10 -10
  38. package/dist/lib/node/{chunk-G7RBJX22.cjs → chunk-CJLYFGPI.cjs} +12 -12
  39. package/dist/lib/node/chunk-CJLYFGPI.cjs.map +7 -0
  40. package/dist/lib/node/{chunk-ZDTL47I7.cjs → chunk-SYEFGLXN.cjs} +6 -6
  41. package/dist/lib/node/index.cjs +26 -27
  42. package/dist/lib/node/index.cjs.map +3 -3
  43. package/dist/lib/node/{intent-resolver-AUZVK3NZ.cjs → intent-resolver-OEFLRNEJ.cjs} +14 -15
  44. package/dist/lib/node/intent-resolver-OEFLRNEJ.cjs.map +7 -0
  45. package/dist/lib/node/meta.json +1 -1
  46. package/dist/lib/node/{react-surface-WJZTEBYO.cjs → react-surface-5RKEWAXS.cjs} +15 -15
  47. package/dist/lib/node/react-surface-5RKEWAXS.cjs.map +7 -0
  48. package/dist/lib/node/{settings-IRKU3WPM.cjs → settings-E3NUTXJ4.cjs} +7 -7
  49. package/dist/lib/node/settings-E3NUTXJ4.cjs.map +7 -0
  50. package/dist/lib/node/types/index.cjs +7 -7
  51. package/dist/lib/node/types/index.cjs.map +1 -1
  52. package/dist/lib/node-esm/{MarkdownContainer-UZSLXMWO.mjs → MarkdownContainer-DZPXCA6J.mjs} +132 -18
  53. package/dist/lib/node-esm/MarkdownContainer-DZPXCA6J.mjs.map +7 -0
  54. package/dist/lib/node-esm/{MarkdownPreview-TCV7BI32.mjs → MarkdownPreview-KFDRV4GC.mjs} +15 -22
  55. package/dist/lib/node-esm/MarkdownPreview-KFDRV4GC.mjs.map +7 -0
  56. package/dist/lib/node-esm/{anchor-sort-G2HLCYFK.mjs → anchor-sort-BXL7BE67.mjs} +4 -4
  57. package/dist/lib/node-esm/anchor-sort-BXL7BE67.mjs.map +7 -0
  58. package/dist/lib/node-esm/{app-graph-serializer-C3RNTQGM.mjs → app-graph-serializer-EBH54X6Z.mjs} +3 -3
  59. package/dist/lib/node-esm/{artifact-definition-7TIJW2CO.mjs → artifact-definition-NQOHB6S5.mjs} +6 -6
  60. package/dist/lib/node-esm/artifact-definition-NQOHB6S5.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-6RPARLIK.mjs → chunk-K26TX5V4.mjs} +9 -9
  62. package/dist/lib/node-esm/chunk-K26TX5V4.mjs.map +7 -0
  63. package/dist/lib/node-esm/{chunk-TCFJNUAE.mjs → chunk-Q7WUBLL3.mjs} +2 -2
  64. package/dist/lib/node-esm/{chunk-NCMPVEXO.mjs → chunk-T2Y2BT53.mjs} +4 -5
  65. package/dist/lib/node-esm/chunk-T2Y2BT53.mjs.map +7 -0
  66. package/dist/lib/node-esm/{chunk-EIUTPXGL.mjs → chunk-WANCCPU7.mjs} +7 -7
  67. package/dist/lib/node-esm/index.mjs +7 -8
  68. package/dist/lib/node-esm/index.mjs.map +3 -3
  69. package/dist/lib/node-esm/{intent-resolver-FTNXUNI2.mjs → intent-resolver-CLMSVF2K.mjs} +6 -7
  70. package/dist/lib/node-esm/intent-resolver-CLMSVF2K.mjs.map +7 -0
  71. package/dist/lib/node-esm/meta.json +1 -1
  72. package/dist/lib/node-esm/{react-surface-XNM3YDFB.mjs → react-surface-Z3DX37JV.mjs} +8 -8
  73. package/dist/lib/node-esm/react-surface-Z3DX37JV.mjs.map +7 -0
  74. package/dist/lib/node-esm/{settings-MK7D7LHQ.mjs → settings-SIY33P3F.mjs} +4 -4
  75. package/dist/lib/node-esm/settings-SIY33P3F.mjs.map +7 -0
  76. package/dist/lib/node-esm/types/index.mjs +1 -1
  77. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  78. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  79. package/dist/types/src/components/MarkdownContainer.d.ts +1 -1
  80. package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
  81. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +4 -2
  82. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
  83. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts +1 -1
  84. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts.map +1 -1
  85. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts +2 -6
  86. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts.map +1 -1
  87. package/dist/types/src/components/Suggestions.stories.d.ts.map +1 -1
  88. package/dist/types/src/components/index.d.ts +1 -1
  89. package/dist/types/src/components/index.d.ts.map +1 -1
  90. package/dist/types/src/types/schema.d.ts.map +1 -1
  91. package/dist/types/src/util.d.ts.map +1 -1
  92. package/package.json +38 -39
  93. package/src/MarkdownPlugin.tsx +3 -5
  94. package/src/capabilities/anchor-sort.ts +2 -2
  95. package/src/capabilities/artifact-definition.ts +3 -3
  96. package/src/capabilities/intent-resolver.ts +4 -5
  97. package/src/capabilities/react-surface.tsx +4 -4
  98. package/src/capabilities/settings.ts +2 -2
  99. package/src/components/MarkdownContainer.tsx +61 -7
  100. package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +3 -3
  101. package/src/components/MarkdownEditor/MarkdownEditor.tsx +196 -144
  102. package/src/components/MarkdownPreview/MarkdownPreview.stories.tsx +8 -7
  103. package/src/components/MarkdownPreview/MarkdownPreview.tsx +14 -28
  104. package/src/components/Suggestions.stories.tsx +8 -9
  105. package/src/components/Toolbar.stories.tsx +3 -3
  106. package/src/types/schema.ts +2 -3
  107. package/src/util.tsx +5 -7
  108. package/dist/lib/browser/MarkdownContainer-5IEINNQB.mjs.map +0 -7
  109. package/dist/lib/browser/MarkdownPreview-YW5CS3ID.mjs.map +0 -7
  110. package/dist/lib/browser/anchor-sort-VS4OZVPP.mjs.map +0 -7
  111. package/dist/lib/browser/artifact-definition-5NAODQLG.mjs.map +0 -7
  112. package/dist/lib/browser/chunk-77NGW7EO.mjs.map +0 -7
  113. package/dist/lib/browser/chunk-ECSM56YC.mjs.map +0 -7
  114. package/dist/lib/browser/intent-resolver-4GDYST4Y.mjs.map +0 -7
  115. package/dist/lib/browser/react-surface-QE4SKXBT.mjs.map +0 -7
  116. package/dist/lib/browser/settings-W5CK4PXP.mjs.map +0 -7
  117. package/dist/lib/node/MarkdownContainer-LSNNPNRB.cjs.map +0 -7
  118. package/dist/lib/node/MarkdownPreview-G34HSQEB.cjs.map +0 -7
  119. package/dist/lib/node/anchor-sort-NHVF23EU.cjs.map +0 -7
  120. package/dist/lib/node/artifact-definition-VEAHK7BX.cjs.map +0 -7
  121. package/dist/lib/node/chunk-G7RBJX22.cjs.map +0 -7
  122. package/dist/lib/node/chunk-RQS4KBMG.cjs.map +0 -7
  123. package/dist/lib/node/intent-resolver-AUZVK3NZ.cjs.map +0 -7
  124. package/dist/lib/node/react-surface-WJZTEBYO.cjs.map +0 -7
  125. package/dist/lib/node/settings-IRKU3WPM.cjs.map +0 -7
  126. package/dist/lib/node-esm/MarkdownContainer-UZSLXMWO.mjs.map +0 -7
  127. package/dist/lib/node-esm/MarkdownPreview-TCV7BI32.mjs.map +0 -7
  128. package/dist/lib/node-esm/anchor-sort-G2HLCYFK.mjs.map +0 -7
  129. package/dist/lib/node-esm/artifact-definition-7TIJW2CO.mjs.map +0 -7
  130. package/dist/lib/node-esm/chunk-6RPARLIK.mjs.map +0 -7
  131. package/dist/lib/node-esm/chunk-NCMPVEXO.mjs.map +0 -7
  132. package/dist/lib/node-esm/intent-resolver-FTNXUNI2.mjs.map +0 -7
  133. package/dist/lib/node-esm/react-surface-XNM3YDFB.mjs.map +0 -7
  134. package/dist/lib/node-esm/settings-MK7D7LHQ.mjs.map +0 -7
  135. /package/dist/lib/browser/{app-graph-serializer-V6RLEHVY.mjs.map → app-graph-serializer-FLQI6GFL.mjs.map} +0 -0
  136. /package/dist/lib/browser/{chunk-C5RABVIX.mjs.map → chunk-CX5GYZYO.mjs.map} +0 -0
  137. /package/dist/lib/browser/{chunk-ACAID3XF.mjs.map → chunk-LCMXUTQB.mjs.map} +0 -0
  138. /package/dist/lib/node/{app-graph-serializer-CLALIYN3.cjs.map → app-graph-serializer-BZPM7HHJ.cjs.map} +0 -0
  139. /package/dist/lib/node/{chunk-C4HR7UXE.cjs.map → chunk-4DYNEQG3.cjs.map} +0 -0
  140. /package/dist/lib/node/{chunk-ZDTL47I7.cjs.map → chunk-SYEFGLXN.cjs.map} +0 -0
  141. /package/dist/lib/node-esm/{app-graph-serializer-C3RNTQGM.mjs.map → app-graph-serializer-EBH54X6Z.mjs.map} +0 -0
  142. /package/dist/lib/node-esm/{chunk-TCFJNUAE.mjs.map → chunk-Q7WUBLL3.mjs.map} +0 -0
  143. /package/dist/lib/node-esm/{chunk-EIUTPXGL.mjs.map → chunk-WANCCPU7.mjs.map} +0 -0
@@ -2,10 +2,10 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  getAbstract,
4
4
  getFallbackName
5
- } from "./chunk-6RPARLIK.mjs";
5
+ } from "./chunk-K26TX5V4.mjs";
6
6
  import {
7
7
  DocumentType
8
- } from "./chunk-NCMPVEXO.mjs";
8
+ } from "./chunk-T2Y2BT53.mjs";
9
9
  import {
10
10
  MARKDOWN_PLUGIN
11
11
  } from "./chunk-RX63ZNML.mjs";
@@ -15,27 +15,26 @@ import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
15
15
  import { pipe } from "effect";
16
16
  import React, { useCallback } from "react";
17
17
  import { chain, createIntent, LayoutAction, useIntentDispatcher } from "@dxos/app-framework";
18
- import { isInstanceOf } from "@dxos/echo-schema";
19
- import { defaultCard, kanbanCardWithoutPoster, popoverCard, previewTitle, previewProse, previewChrome } from "@dxos/plugin-preview";
18
+ import { Obj } from "@dxos/echo";
20
19
  import { fullyQualifiedId } from "@dxos/react-client/echo";
21
20
  import { Button, Icon, useTranslation } from "@dxos/react-ui";
22
- import { mx } from "@dxos/react-ui-theme";
21
+ import { Card } from "@dxos/react-ui-stack";
23
22
  import { DataType } from "@dxos/schema";
24
23
  var getTitle = (subject, fallback) => {
25
- if (isInstanceOf(DocumentType, subject)) {
24
+ if (Obj.instanceOf(DocumentType, subject)) {
26
25
  return subject.name ?? subject.fallbackName ?? getFallbackName(subject.content?.target?.content ?? fallback);
27
- } else if (isInstanceOf(DataType.Text, subject)) {
26
+ } else if (Obj.instanceOf(DataType.Text, subject)) {
28
27
  return getFallbackName(subject.content);
29
28
  }
30
29
  };
31
30
  var getSnippet = (subject, fallback) => {
32
- if (isInstanceOf(DocumentType, subject)) {
31
+ if (Obj.instanceOf(DocumentType, subject)) {
33
32
  return getAbstract(subject.content?.target?.content ?? fallback);
34
- } else if (isInstanceOf(DataType.Text, subject)) {
33
+ } else if (Obj.instanceOf(DataType.Text, subject)) {
35
34
  return getAbstract(subject.content);
36
35
  }
37
36
  };
38
- var MarkdownPreview = ({ classNames, subject, role }) => {
37
+ var MarkdownPreview = ({ subject, role }) => {
39
38
  var _effect = _useSignals();
40
39
  try {
41
40
  const { dispatchPromise: dispatch } = useIntentDispatcher();
@@ -57,17 +56,11 @@ var MarkdownPreview = ({ classNames, subject, role }) => {
57
56
  dispatch,
58
57
  subject
59
58
  ]);
60
- return /* @__PURE__ */ React.createElement("div", {
61
- role: "none",
62
- className: mx(role === "popover" ? popoverCard : role === "card--kanban" ? kanbanCardWithoutPoster : defaultCard, classNames)
63
- }, /* @__PURE__ */ React.createElement("h2", {
64
- className: mx(previewTitle, previewProse)
65
- }, getTitle(subject, t("fallback title"))), snippet && /* @__PURE__ */ React.createElement("p", {
66
- className: mx(previewProse, "line-clamp-3 break-words col-span-2")
67
- }, snippet), /* @__PURE__ */ React.createElement("div", {
68
- role: "none",
69
- className: previewChrome
70
- }, /* @__PURE__ */ React.createElement(Button, {
59
+ return /* @__PURE__ */ React.createElement(Card.Container, {
60
+ role
61
+ }, /* @__PURE__ */ React.createElement(Card.Heading, null, getTitle(subject, t("fallback title"))), snippet && /* @__PURE__ */ React.createElement(Card.Text, {
62
+ classNames: "line-clamp-3 break-words col-span-2"
63
+ }, snippet), /* @__PURE__ */ React.createElement(Card.Chrome, null, /* @__PURE__ */ React.createElement(Button, {
71
64
  onClick: handleNavigate
72
65
  }, /* @__PURE__ */ React.createElement("span", {
73
66
  className: "grow"
@@ -85,4 +78,4 @@ export {
85
78
  MarkdownPreview,
86
79
  MarkdownPreview_default as default
87
80
  };
88
- //# sourceMappingURL=MarkdownPreview-TCV7BI32.mjs.map
81
+ //# sourceMappingURL=MarkdownPreview-KFDRV4GC.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/MarkdownPreview/MarkdownPreview.tsx", "../../../src/components/MarkdownPreview/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { pipe } from 'effect';\nimport React, { useCallback } from 'react';\n\nimport { chain, createIntent, LayoutAction, useIntentDispatcher } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { type PreviewProps } from '@dxos/plugin-preview';\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\nimport { Button, Icon, useTranslation } from '@dxos/react-ui';\nimport { Card } from '@dxos/react-ui-stack';\nimport { DataType } from '@dxos/schema';\n\nimport { MARKDOWN_PLUGIN } from '../../meta';\nimport { DocumentType } from '../../types';\nimport { getAbstract, getFallbackName } from '../../util';\n\n// TODO(burdon): Factor out.\nconst getTitle = (subject: DocumentType | DataType.Text, fallback: string) => {\n if (Obj.instanceOf(DocumentType, subject)) {\n return subject.name ?? subject.fallbackName ?? getFallbackName(subject.content?.target?.content ?? fallback);\n } else if (Obj.instanceOf(DataType.Text, subject)) {\n return getFallbackName(subject.content);\n }\n};\n\n// TODO(burdon): Factor out.\nconst getSnippet = (subject: DocumentType | DataType.Text, fallback: string) => {\n if (Obj.instanceOf(DocumentType, subject)) {\n return getAbstract(subject.content?.target?.content ?? fallback);\n } else if (Obj.instanceOf(DataType.Text, subject)) {\n return getAbstract(subject.content);\n }\n};\n\nexport const MarkdownPreview = ({ subject, role }: PreviewProps<DocumentType | DataType.Text>) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const { t } = useTranslation(MARKDOWN_PLUGIN);\n const snippet = getSnippet(subject, t('fallback abstract'));\n\n // TODO(wittjosiah): Factor out so this component isn't dependent on the app framework.\n const handleNavigate = useCallback(\n () =>\n dispatch(\n pipe(\n createIntent(LayoutAction.UpdatePopover, {\n part: 'popover',\n subject: null,\n options: { state: false, anchorId: '' },\n }),\n chain(LayoutAction.Open, { part: 'main', subject: [fullyQualifiedId(subject)] }),\n ),\n ),\n [dispatch, subject],\n );\n\n return (\n <Card.Container role={role}>\n <Card.Heading>{getTitle(subject, t('fallback title'))}</Card.Heading>\n {snippet && <Card.Text classNames='line-clamp-3 break-words col-span-2'>{snippet}</Card.Text>}\n <Card.Chrome>\n <Button onClick={handleNavigate}>\n <span className='grow'>{t('navigate to document label')}</span>\n <Icon icon='ph--arrow-right--regular' />\n </Button>\n </Card.Chrome>\n </Card.Container>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { MarkdownPreview } from './MarkdownPreview';\n\nexport * from './MarkdownPreview';\n\nexport default MarkdownPreview;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;AAIA,SAASA,YAAY;AACrB,OAAOC,SAASC,mBAAmB;AAEnC,SAASC,OAAOC,cAAcC,cAAcC,2BAA2B;AACvE,SAASC,WAAW;AAEpB,SAASC,wBAAwB;AACjC,SAASC,QAAQC,MAAMC,sBAAsB;AAC7C,SAASC,YAAY;AACrB,SAASC,gBAAgB;AAOzB,IAAMC,WAAW,CAACC,SAAuCC,aAAAA;AACvD,MAAIC,IAAIC,WAAWC,cAAcJ,OAAAA,GAAU;AACzC,WAAOA,QAAQK,QAAQL,QAAQM,gBAAgBC,gBAAgBP,QAAQQ,SAASC,QAAQD,WAAWP,QAAAA;EACrG,WAAWC,IAAIC,WAAWO,SAASC,MAAMX,OAAAA,GAAU;AACjD,WAAOO,gBAAgBP,QAAQQ,OAAO;EACxC;AACF;AAGA,IAAMI,aAAa,CAACZ,SAAuCC,aAAAA;AACzD,MAAIC,IAAIC,WAAWC,cAAcJ,OAAAA,GAAU;AACzC,WAAOa,YAAYb,QAAQQ,SAASC,QAAQD,WAAWP,QAAAA;EACzD,WAAWC,IAAIC,WAAWO,SAASC,MAAMX,OAAAA,GAAU;AACjD,WAAOa,YAAYb,QAAQQ,OAAO;EACpC;AACF;AAEO,IAAMM,kBAAkB,CAAC,EAAEd,SAASe,KAAI,MAA8C;;;AAC3F,UAAM,EAAEC,iBAAiBC,SAAQ,IAAKC,oBAAAA;AACtC,UAAM,EAAEC,EAAC,IAAKC,eAAeC,eAAAA;AAC7B,UAAMC,UAAUV,WAAWZ,SAASmB,EAAE,mBAAA,CAAA;AAGtC,UAAMI,iBAAiBC,YACrB,MACEP,SACEQ,KACEC,aAAaC,aAAaC,eAAe;MACvCC,MAAM;MACN7B,SAAS;MACT8B,SAAS;QAAEC,OAAO;QAAOC,UAAU;MAAG;IACxC,CAAA,GACAC,MAAMN,aAAaO,MAAM;MAAEL,MAAM;MAAQ7B,SAAS;QAACmC,iBAAiBnC,OAAAA;;IAAU,CAAA,CAAA,CAAA,GAGpF;MAACiB;MAAUjB;KAAQ;AAGrB,WACE,sBAAA,cAACoC,KAAKC,WAAS;MAACtB;OACd,sBAAA,cAACqB,KAAKE,SAAO,MAAEvC,SAASC,SAASmB,EAAE,gBAAA,CAAA,CAAA,GAClCG,WAAW,sBAAA,cAACc,KAAKzB,MAAI;MAAC4B,YAAW;OAAuCjB,OAAAA,GACzE,sBAAA,cAACc,KAAKI,QAAM,MACV,sBAAA,cAACC,QAAAA;MAAOC,SAASnB;OACf,sBAAA,cAACoB,QAAAA;MAAKC,WAAU;OAAQzB,EAAE,4BAAA,CAAA,GAC1B,sBAAA,cAAC0B,MAAAA;MAAKC,MAAK;;;;;AAKrB;;;AC9DA,IAAA,0BAAeC;",
6
+ "names": ["pipe", "React", "useCallback", "chain", "createIntent", "LayoutAction", "useIntentDispatcher", "Obj", "fullyQualifiedId", "Button", "Icon", "useTranslation", "Card", "DataType", "getTitle", "subject", "fallback", "Obj", "instanceOf", "DocumentType", "name", "fallbackName", "getFallbackName", "content", "target", "DataType", "Text", "getSnippet", "getAbstract", "MarkdownPreview", "role", "dispatchPromise", "dispatch", "useIntentDispatcher", "t", "useTranslation", "MARKDOWN_PLUGIN", "snippet", "handleNavigate", "useCallback", "pipe", "createIntent", "LayoutAction", "UpdatePopover", "part", "options", "state", "anchorId", "chain", "Open", "fullyQualifiedId", "Card", "Container", "Heading", "classNames", "Chrome", "Button", "onClick", "span", "className", "Icon", "icon", "MarkdownPreview"]
7
+ }
@@ -1,15 +1,15 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  DocumentType
4
- } from "./chunk-NCMPVEXO.mjs";
4
+ } from "./chunk-T2Y2BT53.mjs";
5
5
  import "./chunk-RX63ZNML.mjs";
6
6
 
7
7
  // packages/plugins/plugin-markdown/src/capabilities/anchor-sort.ts
8
8
  import { Capabilities, contributes } from "@dxos/app-framework";
9
- import { getSchemaTypename } from "@dxos/echo-schema";
9
+ import { Type } from "@dxos/echo";
10
10
  import { createDocAccessor, getRangeFromCursor, getTarget } from "@dxos/react-client/echo";
11
11
  var anchor_sort_default = () => contributes(Capabilities.AnchorSort, {
12
- key: getSchemaTypename(DocumentType),
12
+ key: Type.getTypename(DocumentType),
13
13
  sort: (anchorA, anchorB) => {
14
14
  const doc = getTarget(anchorA);
15
15
  const accessor = doc.content.target ? createDocAccessor(doc.content.target, [
@@ -30,4 +30,4 @@ var anchor_sort_default = () => contributes(Capabilities.AnchorSort, {
30
30
  export {
31
31
  anchor_sort_default as default
32
32
  };
33
- //# sourceMappingURL=anchor-sort-G2HLCYFK.mjs.map
33
+ //# sourceMappingURL=anchor-sort-BXL7BE67.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/anchor-sort.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes } from '@dxos/app-framework';\nimport { Type } from '@dxos/echo';\nimport { createDocAccessor, getRangeFromCursor, getTarget } from '@dxos/react-client/echo';\n\nimport { DocumentType } from '../types';\n\nexport default () =>\n contributes(Capabilities.AnchorSort, {\n key: Type.getTypename(DocumentType)!,\n sort: (anchorA, anchorB) => {\n const doc = getTarget(anchorA) as DocumentType;\n const accessor = doc.content.target ? createDocAccessor(doc.content.target, ['content']) : undefined;\n if (doc !== getTarget(anchorB) || !accessor) {\n return 0;\n }\n\n const getStartPosition = (cursor: string | undefined) => {\n const range = cursor ? getRangeFromCursor(accessor, cursor) : undefined;\n return range?.start ?? Number.MAX_SAFE_INTEGER;\n };\n\n const posA = getStartPosition(anchorA.anchor);\n const posB = getStartPosition(anchorB.anchor);\n return posA - posB;\n },\n });\n"],
5
+ "mappings": ";;;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,YAAY;AACrB,SAASC,mBAAmBC,oBAAoBC,iBAAiB;AAIjE,IAAA,sBAAe,MACbC,YAAYC,aAAaC,YAAY;EACnCC,KAAKC,KAAKC,YAAYC,YAAAA;EACtBC,MAAM,CAACC,SAASC,YAAAA;AACd,UAAMC,MAAMC,UAAUH,OAAAA;AACtB,UAAMI,WAAWF,IAAIG,QAAQC,SAASC,kBAAkBL,IAAIG,QAAQC,QAAQ;MAAC;KAAU,IAAIE;AAC3F,QAAIN,QAAQC,UAAUF,OAAAA,KAAY,CAACG,UAAU;AAC3C,aAAO;IACT;AAEA,UAAMK,mBAAmB,CAACC,WAAAA;AACxB,YAAMC,QAAQD,SAASE,mBAAmBR,UAAUM,MAAAA,IAAUF;AAC9D,aAAOG,OAAOE,SAASC,OAAOC;IAChC;AAEA,UAAMC,OAAOP,iBAAiBT,QAAQiB,MAAM;AAC5C,UAAMC,OAAOT,iBAAiBR,QAAQgB,MAAM;AAC5C,WAAOD,OAAOE;EAChB;AACF,CAAA;",
6
+ "names": ["Capabilities", "contributes", "Type", "createDocAccessor", "getRangeFromCursor", "getTarget", "contributes", "Capabilities", "AnchorSort", "key", "Type", "getTypename", "DocumentType", "sort", "anchorA", "anchorB", "doc", "getTarget", "accessor", "content", "target", "createDocAccessor", "undefined", "getStartPosition", "cursor", "range", "getRangeFromCursor", "start", "Number", "MAX_SAFE_INTEGER", "posA", "anchor", "posB"]
7
+ }
@@ -1,11 +1,11 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  translations_default
4
- } from "./chunk-TCFJNUAE.mjs";
4
+ } from "./chunk-Q7WUBLL3.mjs";
5
5
  import {
6
6
  DocumentType,
7
7
  MarkdownAction
8
- } from "./chunk-NCMPVEXO.mjs";
8
+ } from "./chunk-T2Y2BT53.mjs";
9
9
  import "./chunk-RX63ZNML.mjs";
10
10
 
11
11
  // packages/plugins/plugin-markdown/src/capabilities/app-graph-serializer.ts
@@ -48,4 +48,4 @@ var app_graph_serializer_default = (context) => contributes(Capabilities.AppGrap
48
48
  export {
49
49
  app_graph_serializer_default as default
50
50
  };
51
- //# sourceMappingURL=app-graph-serializer-C3RNTQGM.mjs.map
51
+ //# sourceMappingURL=app-graph-serializer-EBH54X6Z.mjs.map
@@ -2,7 +2,7 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  DocumentType,
4
4
  MarkdownAction
5
- } from "./chunk-NCMPVEXO.mjs";
5
+ } from "./chunk-T2Y2BT53.mjs";
6
6
  import {
7
7
  meta
8
8
  } from "./chunk-RX63ZNML.mjs";
@@ -13,7 +13,7 @@ import { createTool, ToolResult } from "@dxos/ai";
13
13
  import { Capabilities, chain, contributes, createIntent } from "@dxos/app-framework";
14
14
  import { ArtifactId, defineArtifact } from "@dxos/artifact";
15
15
  import { createArtifactElement } from "@dxos/assistant";
16
- import { isInstanceOf } from "@dxos/echo-schema";
16
+ import { Obj } from "@dxos/echo";
17
17
  import { invariant, assertArgument } from "@dxos/invariant";
18
18
  import { SpaceAction } from "@dxos/plugin-space/types";
19
19
  import { Filter, fullyQualifiedId } from "@dxos/react-client/echo";
@@ -92,12 +92,12 @@ var artifact_definition_default = () => {
92
92
  const space = extensions.space;
93
93
  const { objects: documents } = await space.db.query(Filter.type(DocumentType)).run();
94
94
  const documentInfo = documents.map((doc) => {
95
- invariant(isInstanceOf(DocumentType, doc), void 0, {
95
+ invariant(Obj.instanceOf(DocumentType, doc), void 0, {
96
96
  F: __dxlog_file,
97
97
  L: 81,
98
98
  S: void 0,
99
99
  A: [
100
- "isInstanceOf(DocumentType, doc)",
100
+ "Obj.instanceOf(DocumentType, doc)",
101
101
  ""
102
102
  ]
103
103
  });
@@ -127,7 +127,7 @@ var artifact_definition_default = () => {
127
127
  ]
128
128
  });
129
129
  const document = await extensions.space.db.query(Filter.ids(ArtifactId.toDXN(id).toString())).first();
130
- assertArgument(isInstanceOf(DocumentType, document), "Invalid type");
130
+ assertArgument(Obj.instanceOf(DocumentType, document), "Invalid type");
131
131
  const { content } = await document.content?.load();
132
132
  return ToolResult.Success({
133
133
  id: fullyQualifiedId(document),
@@ -143,4 +143,4 @@ var artifact_definition_default = () => {
143
143
  export {
144
144
  artifact_definition_default as default
145
145
  };
146
- //# sourceMappingURL=artifact-definition-7TIJW2CO.mjs.map
146
+ //# sourceMappingURL=artifact-definition-NQOHB6S5.mjs.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 { pipe, Schema } from 'effect';\n\nimport { createTool, ToolResult } from '@dxos/ai';\nimport { Capabilities, chain, contributes, createIntent, type PromiseIntentDispatcher } from '@dxos/app-framework';\nimport { ArtifactId, defineArtifact } from '@dxos/artifact';\nimport { createArtifactElement } from '@dxos/assistant';\nimport { Obj } from '@dxos/echo';\nimport { invariant, assertArgument } from '@dxos/invariant';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { Filter, fullyQualifiedId, type Space } from '@dxos/react-client/echo';\n\nimport { meta } from '../meta';\nimport { DocumentType, MarkdownAction } 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 createTool(meta.id, {\n name: 'create',\n description: 'Create a new markdown document',\n caption: 'Creating document...',\n schema: Schema.Struct({\n name: Schema.optional(Schema.String).annotations({\n description: 'Optional name for the document.',\n }),\n content: Schema.String.annotations({\n description: 'The content of the document.',\n }),\n }),\n execute: async ({ name, content }, { extensions }) => {\n invariant(extensions?.space, 'No space');\n invariant(extensions?.dispatch, 'No intent dispatcher');\n\n const intent = pipe(\n createIntent(MarkdownAction.Create, {\n spaceId: extensions.space.id,\n name,\n content,\n }),\n chain(SpaceAction.AddObject, { target: extensions.space }),\n );\n\n const { data, error } = await extensions.dispatch(intent);\n if (!data || error) {\n return ToolResult.Error(error?.message ?? 'Failed to create document');\n }\n\n return ToolResult.Success(createArtifactElement(data.id));\n },\n }),\n createTool(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.type(DocumentType)).run();\n const documentInfo = documents.map((doc) => {\n invariant(Obj.instanceOf(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 createTool(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(Filter.ids(ArtifactId.toDXN(id).toString())).first();\n assertArgument(Obj.instanceOf(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": "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",
6
+ "names": ["pipe", "Schema", "createTool", "ToolResult", "Capabilities", "chain", "contributes", "createIntent", "ArtifactId", "defineArtifact", "createArtifactElement", "Obj", "invariant", "assertArgument", "SpaceAction", "Filter", "fullyQualifiedId", "definition", "defineArtifact", "id", "meta", "name", "instructions", "schema", "DocumentType", "tools", "createTool", "description", "caption", "Schema", "Struct", "optional", "String", "annotations", "content", "execute", "extensions", "invariant", "space", "dispatch", "intent", "pipe", "createIntent", "MarkdownAction", "Create", "spaceId", "chain", "SpaceAction", "AddObject", "target", "data", "error", "ToolResult", "Error", "message", "Success", "createArtifactElement", "_input", "objects", "documents", "db", "query", "Filter", "type", "run", "documentInfo", "map", "doc", "Obj", "instanceOf", "fullyQualifiedId", "fallbackName", "ArtifactId", "document", "ids", "toDXN", "toString", "first", "assertArgument", "load", "contributes", "Capabilities", "ArtifactDefinition"]
7
+ }
@@ -1,13 +1,13 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  DocumentType
4
- } from "./chunk-NCMPVEXO.mjs";
4
+ } from "./chunk-T2Y2BT53.mjs";
5
5
 
6
6
  // packages/plugins/plugin-markdown/src/util.tsx
7
7
  import { debounce } from "@dxos/async";
8
- import { live, createObject, isEchoObject, loadObjectReferences, Ref } from "@dxos/react-client/echo";
8
+ import { Obj, Ref } from "@dxos/echo";
9
9
  import { DataType } from "@dxos/schema";
10
- var isMarkdownProperties = (data) => isEchoObject(data) ? true : data && typeof data === "object" ? "title" in data && typeof data.title === "string" : false;
10
+ var isMarkdownProperties = (data) => Obj.isObject(data) ? true : data && typeof data === "object" ? "title" in data && typeof data.title === "string" : false;
11
11
  var nonTitleChars = /[^\w ]/g;
12
12
  var getFallbackName = (content) => {
13
13
  return content.substring(0, 31).split("\n")[0].replaceAll(nonTitleChars, "").trim();
@@ -23,22 +23,22 @@ var setFallbackName = debounce((doc, content) => {
23
23
  }, 200);
24
24
  var serializer = {
25
25
  serialize: async ({ object }) => {
26
- const content = await loadObjectReferences(object, (doc) => doc.content);
26
+ const { content } = await object.content.load();
27
27
  return JSON.stringify({
28
28
  name: object.name,
29
29
  fallbackName: object.fallbackName,
30
- content: content.target?.content
30
+ content
31
31
  });
32
32
  },
33
33
  deserialize: async ({ content: serialized }) => {
34
34
  const { name, fallbackName, content } = JSON.parse(serialized);
35
- return createObject(live(DocumentType, {
35
+ return Obj.make(DocumentType, {
36
36
  name,
37
37
  fallbackName,
38
- content: Ref.make(live(DataType.Text, {
38
+ content: Ref.make(Obj.make(DataType.Text, {
39
39
  content
40
40
  }))
41
- }));
41
+ });
42
42
  }
43
43
  };
44
44
 
@@ -49,4 +49,4 @@ export {
49
49
  setFallbackName,
50
50
  serializer
51
51
  };
52
- //# sourceMappingURL=chunk-6RPARLIK.mjs.map
52
+ //# sourceMappingURL=chunk-K26TX5V4.mjs.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 { Obj, Ref } from '@dxos/echo';\nimport { type TypedObjectSerializer } from '@dxos/plugin-space/types';\nimport { DataType } from '@dxos/schema';\n\nimport { DocumentType, type MarkdownProperties } from './types';\n\nexport const isMarkdownProperties = (data: unknown): data is MarkdownProperties =>\n (Obj.isObject(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 object.content.load();\n return JSON.stringify({ name: object.name, fallbackName: object.fallbackName, content });\n },\n\n deserialize: async ({ content: serialized }) => {\n const { name, fallbackName, content } = JSON.parse(serialized);\n return Obj.make(DocumentType, { name, fallbackName, content: Ref.make(Obj.make(DataType.Text, { content })) });\n },\n};\n"],
5
+ "mappings": ";;;;;;AAIA,SAASA,gBAAgB;AACzB,SAASC,KAAKC,WAAW;AAEzB,SAASC,gBAAgB;AAIlB,IAAMC,uBAAuB,CAACC,SAClCC,IAAIC,SAASF,IAAAA,IACV,OACAA,QAAQ,OAAOA,SAAS,WACtB,WAAWA,QAAQ,OAAOA,KAAKG,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,kBAAkBC,SAAS,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,UAAM,EAAEb,QAAO,IAAK,MAAMa,OAAOb,QAAQc,KAAI;AAC7C,WAAOC,KAAKC,UAAU;MAAEP,MAAMI,OAAOJ;MAAMC,cAAcG,OAAOH;MAAcV;IAAQ,CAAA;EACxF;EAEAiB,aAAa,OAAO,EAAEjB,SAASkB,WAAU,MAAE;AACzC,UAAM,EAAET,MAAMC,cAAcV,QAAO,IAAKe,KAAKI,MAAMD,UAAAA;AACnD,WAAOvB,IAAIyB,KAAKC,cAAc;MAAEZ;MAAMC;MAAcV,SAASsB,IAAIF,KAAKzB,IAAIyB,KAAKG,SAASC,MAAM;QAAExB;MAAQ,CAAA,CAAA;IAAI,CAAA;EAC9G;AACF;",
6
+ "names": ["debounce", "Obj", "Ref", "DataType", "isMarkdownProperties", "data", "Obj", "isObject", "title", "nonTitleChars", "getFallbackName", "content", "substring", "split", "replaceAll", "trim", "getAbstract", "setFallbackName", "debounce", "doc", "name", "fallbackName", "serializer", "serialize", "object", "load", "JSON", "stringify", "deserialize", "serialized", "parse", "make", "DocumentType", "Ref", "DataType", "Text"]
7
+ }
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  DocumentType
4
- } from "./chunk-NCMPVEXO.mjs";
4
+ } from "./chunk-T2Y2BT53.mjs";
5
5
  import {
6
6
  MARKDOWN_PLUGIN
7
7
  } from "./chunk-RX63ZNML.mjs";
@@ -45,4 +45,4 @@ var translations_default = [
45
45
  export {
46
46
  translations_default
47
47
  };
48
- //# sourceMappingURL=chunk-TCFJNUAE.mjs.map
48
+ //# sourceMappingURL=chunk-Q7WUBLL3.mjs.map
@@ -5,9 +5,8 @@ import {
5
5
 
6
6
  // packages/plugins/plugin-markdown/src/types/schema.ts
7
7
  import { Schema } from "effect";
8
- import { Type, Ref } from "@dxos/echo";
8
+ import { Obj, Ref, Type } from "@dxos/echo";
9
9
  import { LabelAnnotation } from "@dxos/echo-schema";
10
- import { live } from "@dxos/live-object";
11
10
  import { DataType } from "@dxos/schema";
12
11
  var DocumentSchema = Schema.Struct({
13
12
  name: Schema.optional(Schema.String),
@@ -21,9 +20,9 @@ var DocumentType = DocumentSchema.pipe(Type.Obj({
21
20
  typename: "dxos.org/type/Document",
22
21
  version: "0.1.0"
23
22
  }));
24
- var createDocument = ({ name, content }) => live(DocumentType, {
23
+ var createDocument = ({ name, content }) => Obj.make(DocumentType, {
25
24
  name,
26
- content: Ref.make(live(DataType.Text, {
25
+ content: Ref.make(Obj.make(DataType.Text, {
27
26
  content
28
27
  }))
29
28
  });
@@ -78,4 +77,4 @@ export {
78
77
  MarkdownSettingsSchema,
79
78
  MarkdownAction
80
79
  };
81
- //# sourceMappingURL=chunk-NCMPVEXO.mjs.map
80
+ //# sourceMappingURL=chunk-T2Y2BT53.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/schema.ts", "../../../src/types/types.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Obj, Ref, Type } from '@dxos/echo';\nimport { LabelAnnotation } from '@dxos/echo-schema';\nimport { DataType } from '@dxos/schema';\n\nexport const DocumentSchema = Schema.Struct({\n name: Schema.optional(Schema.String),\n fallbackName: Schema.optional(Schema.String),\n content: Type.Ref(DataType.Text),\n}).pipe(LabelAnnotation.set(['name', 'fallbackName']));\n\nexport const DocumentType = DocumentSchema.pipe(\n Type.Obj({\n typename: 'dxos.org/type/Document',\n version: '0.1.0',\n }),\n);\nexport type DocumentType = Schema.Schema.Type<typeof DocumentType>;\n\n// TODO(burdon): Replace when defaults are supported.\nexport const createDocument = ({ name, content }: { name: string; content: string }) =>\n Obj.make(DocumentType, { name, content: Ref.make(Obj.make(DataType.Text, { content })) });\n\n/**\n * Checks if an object conforms to the interface needed to render an editor.\n */\n// TODO(burdon): Normalize types (from FilesPlugin).\nexport const isEditorModel = (data: any): data is { id: string; text: string } =>\n data &&\n typeof data === 'object' &&\n 'id' in data &&\n typeof data.id === 'string' &&\n 'text' in data &&\n typeof data.text === 'string';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Type } from '@dxos/echo';\n// TODO(wittjosiah): This pulls in UI code into the types entrypoint.\nimport { type Extension, EditorInputMode, EditorViewMode } from '@dxos/react-ui-editor';\n\nimport { DocumentType } from './schema';\nimport { MARKDOWN_PLUGIN } from '../meta';\n\nconst MARKDOWN_ACTION = `${MARKDOWN_PLUGIN}/action`;\n\nexport namespace MarkdownAction {\n export class Create extends Schema.TaggedClass<Create>()(MARKDOWN_ACTION, {\n input: Schema.Struct({\n spaceId: Type.SpaceId,\n name: Schema.optional(Schema.String),\n content: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: DocumentType,\n }),\n }) {}\n\n export class SetViewMode extends Schema.TaggedClass<SetViewMode>()(`${MARKDOWN_ACTION}/set-view-mode`, {\n input: Schema.Struct({\n id: Schema.String,\n viewMode: EditorViewMode,\n }),\n output: Schema.Void,\n }) {}\n}\n\nexport type MarkdownProperties = Record<string, any>;\n\n// TODO(burdon): Async.\nexport type MarkdownExtensionProvider = (props: { document?: DocumentType }) => Extension | undefined;\n\nexport type OnChange = (text: string) => void;\n\nexport type MarkdownPluginState = {\n // Codemirror extensions provided by other plugins.\n extensionProviders?: MarkdownExtensionProvider[];\n\n // TODO(burdon): Extend view mode per document to include scroll position, etc.\n // View mode per document.\n viewMode: Record<string, EditorViewMode>;\n};\n\nexport const MarkdownSettingsSchema = Schema.mutable(\n Schema.Struct({\n defaultViewMode: EditorViewMode,\n editorInputMode: Schema.optional(EditorInputMode),\n experimental: Schema.optional(Schema.Boolean),\n debug: Schema.optional(Schema.Boolean),\n toolbar: Schema.optional(Schema.Boolean),\n typewriter: Schema.optional(Schema.String),\n // TODO(burdon): Per document settings.\n numberedHeadings: Schema.optional(Schema.Boolean),\n folding: Schema.optional(Schema.Boolean),\n }),\n);\n\nexport type MarkdownSettingsProps = Schema.Schema.Type<typeof MarkdownSettingsSchema>;\n"],
5
+ "mappings": ";;;;;;AAIA,SAASA,cAAc;AAEvB,SAASC,KAAKC,KAAKC,YAAY;AAC/B,SAASC,uBAAuB;AAChC,SAASC,gBAAgB;AAElB,IAAMC,iBAAiBC,OAAOC,OAAO;EAC1CC,MAAMF,OAAOG,SAASH,OAAOI,MAAM;EACnCC,cAAcL,OAAOG,SAASH,OAAOI,MAAM;EAC3CE,SAASC,KAAKC,IAAIC,SAASC,IAAI;AACjC,CAAA,EAAGC,KAAKC,gBAAgBC,IAAI;EAAC;EAAQ;CAAe,CAAA;AAE7C,IAAMC,eAAef,eAAeY,KACzCJ,KAAKQ,IAAI;EACPC,UAAU;EACVC,SAAS;AACX,CAAA,CAAA;AAKK,IAAMC,iBAAiB,CAAC,EAAEhB,MAAMI,QAAO,MAC5CS,IAAII,KAAKL,cAAc;EAAEZ;EAAMI,SAASE,IAAIW,KAAKJ,IAAII,KAAKV,SAASC,MAAM;IAAEJ;EAAQ,CAAA,CAAA;AAAI,CAAA;AAMlF,IAAMc,gBAAgB,CAACC,SAC5BA,QACA,OAAOA,SAAS,YAChB,QAAQA,QACR,OAAOA,KAAKC,OAAO,YACnB,UAAUD,QACV,OAAOA,KAAKE,SAAS;;;AClCvB,SAASC,UAAAA,eAAc;AAEvB,SAASC,QAAAA,aAAY;AAErB,SAAyBC,iBAAiBC,sBAAsB;AAKhE,IAAMC,kBAAkB,GAAGC,eAAAA;UAEVC,iBAAAA;EACR,MAAMC,eAAeC,QAAOC,YAAW,EAAWL,iBAAiB;IACxEM,OAAOF,QAAOG,OAAO;MACnBC,SAASC,MAAKC;MACdC,MAAMP,QAAOQ,SAASR,QAAOS,MAAM;MACnCC,SAASV,QAAOQ,SAASR,QAAOS,MAAM;IACxC,CAAA;IACAE,QAAQX,QAAOG,OAAO;MACpBS,QAAQC;IACV,CAAA;EACF,CAAA,EAAA;EAAI;kBATSd,SAAAA;EAWN,MAAMe,oBAAoBd,QAAOC,YAAW,EAAgB,GAAGL,eAAAA,kBAAiC;IACrGM,OAAOF,QAAOG,OAAO;MACnBY,IAAIf,QAAOS;MACXO,UAAUC;IACZ,CAAA;IACAN,QAAQX,QAAOkB;EACjB,CAAA,EAAA;EAAI;kBANSJ,cAAAA;AAOf,GAnBiBhB,mBAAAA,iBAAAA,CAAAA,EAAAA;AAqCV,IAAMqB,yBAAyBnB,QAAOoB,QAC3CpB,QAAOG,OAAO;EACZkB,iBAAiBJ;EACjBK,iBAAiBtB,QAAOQ,SAASe,eAAAA;EACjCC,cAAcxB,QAAOQ,SAASR,QAAOyB,OAAO;EAC5CC,OAAO1B,QAAOQ,SAASR,QAAOyB,OAAO;EACrCE,SAAS3B,QAAOQ,SAASR,QAAOyB,OAAO;EACvCG,YAAY5B,QAAOQ,SAASR,QAAOS,MAAM;;EAEzCoB,kBAAkB7B,QAAOQ,SAASR,QAAOyB,OAAO;EAChDK,SAAS9B,QAAOQ,SAASR,QAAOyB,OAAO;AACzC,CAAA,CAAA;;",
6
+ "names": ["Schema", "Obj", "Ref", "Type", "LabelAnnotation", "DataType", "DocumentSchema", "Schema", "Struct", "name", "optional", "String", "fallbackName", "content", "Type", "Ref", "DataType", "Text", "pipe", "LabelAnnotation", "set", "DocumentType", "Obj", "typename", "version", "createDocument", "make", "isEditorModel", "data", "id", "text", "Schema", "Type", "EditorInputMode", "EditorViewMode", "MARKDOWN_ACTION", "MARKDOWN_PLUGIN", "MarkdownAction", "Create", "Schema", "TaggedClass", "input", "Struct", "spaceId", "Type", "SpaceId", "name", "optional", "String", "content", "output", "object", "DocumentType", "SetViewMode", "id", "viewMode", "EditorViewMode", "Void", "MarkdownSettingsSchema", "mutable", "defaultViewMode", "editorInputMode", "EditorInputMode", "experimental", "Boolean", "debug", "toolbar", "typewriter", "numberedHeadings", "folding"]
7
+ }
@@ -2,12 +2,12 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
 
3
3
  // packages/plugins/plugin-markdown/src/capabilities/index.ts
4
4
  import { lazy } from "@dxos/app-framework";
5
- var AnchorSort = lazy(() => import("./anchor-sort-G2HLCYFK.mjs"));
6
- var AppGraphSerializer = lazy(() => import("./app-graph-serializer-C3RNTQGM.mjs"));
7
- var ArtifactDefinition = lazy(() => import("./artifact-definition-7TIJW2CO.mjs"));
8
- var IntentResolver = lazy(() => import("./intent-resolver-FTNXUNI2.mjs"));
9
- var ReactSurface = lazy(() => import("./react-surface-XNM3YDFB.mjs"));
10
- var MarkdownSettings = lazy(() => import("./settings-MK7D7LHQ.mjs"));
5
+ var AnchorSort = lazy(() => import("./anchor-sort-BXL7BE67.mjs"));
6
+ var AppGraphSerializer = lazy(() => import("./app-graph-serializer-EBH54X6Z.mjs"));
7
+ var ArtifactDefinition = lazy(() => import("./artifact-definition-NQOHB6S5.mjs"));
8
+ var IntentResolver = lazy(() => import("./intent-resolver-CLMSVF2K.mjs"));
9
+ var ReactSurface = lazy(() => import("./react-surface-Z3DX37JV.mjs"));
10
+ var MarkdownSettings = lazy(() => import("./settings-SIY33P3F.mjs"));
11
11
  var MarkdownState = lazy(() => import("./state-LLGVRYKL.mjs"));
12
12
 
13
13
  export {
@@ -19,4 +19,4 @@ export {
19
19
  MarkdownSettings,
20
20
  MarkdownState
21
21
  };
22
- //# sourceMappingURL=chunk-EIUTPXGL.mjs.map
22
+ //# sourceMappingURL=chunk-WANCCPU7.mjs.map
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  translations_default
4
- } from "./chunk-TCFJNUAE.mjs";
4
+ } from "./chunk-Q7WUBLL3.mjs";
5
5
  import {
6
6
  AnchorSort,
7
7
  AppGraphSerializer,
@@ -10,7 +10,7 @@ import {
10
10
  MarkdownSettings,
11
11
  MarkdownState,
12
12
  ReactSurface
13
- } from "./chunk-EIUTPXGL.mjs";
13
+ } from "./chunk-WANCCPU7.mjs";
14
14
  import {
15
15
  MarkdownCapabilities
16
16
  } from "./chunk-JXXDCSMW.mjs";
@@ -20,11 +20,11 @@ import {
20
20
  isMarkdownProperties,
21
21
  serializer,
22
22
  setFallbackName
23
- } from "./chunk-6RPARLIK.mjs";
23
+ } from "./chunk-K26TX5V4.mjs";
24
24
  import {
25
25
  DocumentType,
26
26
  MarkdownAction
27
- } from "./chunk-NCMPVEXO.mjs";
27
+ } from "./chunk-T2Y2BT53.mjs";
28
28
  import {
29
29
  MARKDOWN_PLUGIN,
30
30
  meta
@@ -39,8 +39,7 @@ var MarkdownEvents;
39
39
 
40
40
  // packages/plugins/plugin-markdown/src/MarkdownPlugin.tsx
41
41
  import { Capabilities, contributes, createIntent, defineModule, definePlugin, Events as Events2 } from "@dxos/app-framework";
42
- import { isInstanceOf } from "@dxos/echo-schema";
43
- import { RefArray } from "@dxos/live-object";
42
+ import { Ref } from "@dxos/echo";
44
43
  import { ClientCapabilities, ClientEvents } from "@dxos/plugin-client";
45
44
  import { SpaceCapabilities } from "@dxos/plugin-space";
46
45
  import { defineObjectForm } from "@dxos/plugin-space/types";
@@ -75,13 +74,13 @@ var MarkdownPlugin = () => definePlugin(meta, [
75
74
  activate: () => contributes(Capabilities.Metadata, {
76
75
  id: DocumentType.typename,
77
76
  metadata: {
78
- label: (object) => isInstanceOf(DocumentType, object) ? object.name || object.fallbackName : void 0,
77
+ label: (object) => object.name || object.fallbackName,
79
78
  icon: "ph--text-aa--regular",
80
79
  graphProps: {
81
80
  managesAutofocus: true
82
81
  },
83
82
  // TODO(wittjosiah): Move out of metadata.
84
- loadReferences: async (doc) => await RefArray.loadAll([
83
+ loadReferences: async (doc) => await Ref.Array.loadAll([
85
84
  doc.content
86
85
  ]),
87
86
  serializer,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/events.ts", "../../../src/MarkdownPlugin.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Events } from '@dxos/app-framework';\n\nimport { MARKDOWN_PLUGIN } from './meta';\n\nexport namespace MarkdownEvents {\n export const SetupExtensions = Events.createStateEvent(`${MARKDOWN_PLUGIN}/setup-extensions`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, defineModule, definePlugin, Events } from '@dxos/app-framework';\nimport { isInstanceOf, type BaseObject } from '@dxos/echo-schema';\nimport { RefArray } from '@dxos/live-object';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { SpaceCapabilities } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\nimport { createDocAccessor, getTextInRange } from '@dxos/react-client/echo';\nimport { translations as editorTranslations } from '@dxos/react-ui-editor';\nimport { DataType } from '@dxos/schema';\n\nimport {\n AnchorSort,\n AppGraphSerializer,\n ArtifactDefinition,\n IntentResolver,\n MarkdownState,\n MarkdownSettings,\n ReactSurface,\n} from './capabilities';\nimport { MarkdownEvents } from './events';\nimport { meta } from './meta';\nimport translations from './translations';\nimport { DocumentType, MarkdownAction } from './types';\nimport { serializer } from './util';\n\nexport const MarkdownPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, ...editorTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: MarkdownSettings,\n }),\n defineModule({\n id: `${meta.id}/module/state`,\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: Events.SetupSettings,\n activate: MarkdownState,\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: DocumentType.typename,\n metadata: {\n label: (object: any) =>\n isInstanceOf(DocumentType, object) ? object.name || object.fallbackName : undefined,\n icon: 'ph--text-aa--regular',\n graphProps: {\n managesAutofocus: true,\n },\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (doc: DocumentType) => await RefArray.loadAll<BaseObject>([doc.content]),\n serializer,\n // TODO(wittjosiah): Consider how to do generic comments without these.\n comments: 'anchored',\n selectionMode: 'multi-range',\n getAnchorLabel: (doc: DocumentType, anchor: string): string | undefined => {\n if (doc.content) {\n const [start, end] = anchor.split(':');\n return getTextInRange(createDocAccessor(doc.content.target!, ['content']), start, end);\n }\n },\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: DocumentType,\n getIntent: (_, { space }) => createIntent(MarkdownAction.Create, { spaceId: space.id }),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => contributes(ClientCapabilities.Schema, [DataType.Text]),\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the editor is loaded when surfaces activation is more granular.\n activatesBefore: [MarkdownEvents.SetupExtensions],\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-serializer`,\n activatesOn: Events.AppGraphReady,\n activate: AppGraphSerializer,\n }),\n defineModule({\n id: `${meta.id}/module/anchor-sort`,\n // TODO(wittjosiah): More relevant event?\n activatesOn: Events.AppGraphReady,\n activate: AnchorSort,\n }),\n defineModule({\n id: `${meta.id}/module/artifact-definition`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: ArtifactDefinition,\n }),\n ]);\n"],
5
- "mappings": "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",
6
- "names": ["Events", "MarkdownEvents", "SetupExtensions", "Events", "createStateEvent", "MARKDOWN_PLUGIN", "Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "isInstanceOf", "RefArray", "ClientCapabilities", "ClientEvents", "SpaceCapabilities", "defineObjectForm", "createDocAccessor", "getTextInRange", "translations", "editorTranslations", "DataType", "MarkdownPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "editorTranslations", "SetupSettings", "MarkdownSettings", "MarkdownState", "SetupMetadata", "Metadata", "DocumentType", "typename", "metadata", "label", "object", "isInstanceOf", "name", "fallbackName", "undefined", "icon", "graphProps", "managesAutofocus", "loadReferences", "doc", "RefArray", "loadAll", "content", "serializer", "comments", "selectionMode", "getAnchorLabel", "anchor", "start", "end", "split", "getTextInRange", "createDocAccessor", "target", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "getIntent", "_", "space", "createIntent", "MarkdownAction", "Create", "spaceId", "ClientCapabilities", "Schema", "DataType", "Text", "SetupReactSurface", "activatesBefore", "MarkdownEvents", "SetupExtensions", "ReactSurface", "SetupIntentResolver", "IntentResolver", "AppGraphReady", "AppGraphSerializer", "AnchorSort", "SetupArtifactDefinition", "ArtifactDefinition"]
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 { type Obj, Ref } from '@dxos/echo';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { SpaceCapabilities } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\nimport { createDocAccessor, getTextInRange } from '@dxos/react-client/echo';\nimport { translations as editorTranslations } from '@dxos/react-ui-editor';\nimport { DataType } from '@dxos/schema';\n\nimport {\n AnchorSort,\n AppGraphSerializer,\n ArtifactDefinition,\n IntentResolver,\n MarkdownState,\n MarkdownSettings,\n ReactSurface,\n} from './capabilities';\nimport { MarkdownEvents } from './events';\nimport { meta } from './meta';\nimport translations from './translations';\nimport { DocumentType, MarkdownAction } from './types';\nimport { serializer } from './util';\n\nexport const MarkdownPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, ...editorTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: MarkdownSettings,\n }),\n defineModule({\n id: `${meta.id}/module/state`,\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: Events.SetupSettings,\n activate: MarkdownState,\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: DocumentType.typename,\n metadata: {\n label: (object: DocumentType) => object.name || object.fallbackName,\n icon: 'ph--text-aa--regular',\n graphProps: {\n managesAutofocus: true,\n },\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (doc: DocumentType) => await Ref.Array.loadAll<Obj.Any>([doc.content]),\n serializer,\n // TODO(wittjosiah): Consider how to do generic comments without these.\n comments: 'anchored',\n selectionMode: 'multi-range',\n getAnchorLabel: (doc: DocumentType, anchor: string): string | undefined => {\n if (doc.content) {\n const [start, end] = anchor.split(':');\n return getTextInRange(createDocAccessor(doc.content.target!, ['content']), start, end);\n }\n },\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: DocumentType,\n getIntent: (_, { space }) => createIntent(MarkdownAction.Create, { spaceId: space.id }),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => contributes(ClientCapabilities.Schema, [DataType.Text]),\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the editor is loaded when surfaces activation is more granular.\n activatesBefore: [MarkdownEvents.SetupExtensions],\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-serializer`,\n activatesOn: Events.AppGraphReady,\n activate: AppGraphSerializer,\n }),\n defineModule({\n id: `${meta.id}/module/anchor-sort`,\n // TODO(wittjosiah): More relevant event?\n activatesOn: Events.AppGraphReady,\n activate: AnchorSort,\n }),\n defineModule({\n id: `${meta.id}/module/artifact-definition`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: ArtifactDefinition,\n }),\n ]);\n"],
5
+ "mappings": "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",
6
+ "names": ["Events", "MarkdownEvents", "SetupExtensions", "Events", "createStateEvent", "MARKDOWN_PLUGIN", "Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "Ref", "ClientCapabilities", "ClientEvents", "SpaceCapabilities", "defineObjectForm", "createDocAccessor", "getTextInRange", "translations", "editorTranslations", "DataType", "MarkdownPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "editorTranslations", "SetupSettings", "MarkdownSettings", "MarkdownState", "SetupMetadata", "Metadata", "DocumentType", "typename", "metadata", "label", "object", "name", "fallbackName", "icon", "graphProps", "managesAutofocus", "loadReferences", "doc", "Ref", "Array", "loadAll", "content", "serializer", "comments", "selectionMode", "getAnchorLabel", "anchor", "start", "end", "split", "getTextInRange", "createDocAccessor", "target", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "getIntent", "_", "space", "createIntent", "MarkdownAction", "Create", "spaceId", "ClientCapabilities", "Schema", "DataType", "Text", "SetupReactSurface", "activatesBefore", "MarkdownEvents", "SetupExtensions", "ReactSurface", "SetupIntentResolver", "IntentResolver", "AppGraphReady", "AppGraphSerializer", "AnchorSort", "SetupArtifactDefinition", "ArtifactDefinition"]
7
7
  }
@@ -5,24 +5,23 @@ import {
5
5
  import {
6
6
  DocumentType,
7
7
  MarkdownAction
8
- } from "./chunk-NCMPVEXO.mjs";
8
+ } from "./chunk-T2Y2BT53.mjs";
9
9
  import "./chunk-RX63ZNML.mjs";
10
10
 
11
11
  // packages/plugins/plugin-markdown/src/capabilities/intent-resolver.ts
12
12
  import { next as A } from "@automerge/automerge";
13
13
  import { Option, pipe } from "effect";
14
14
  import { Capabilities, CollaborationActions, contributes, createResolver } from "@dxos/app-framework";
15
- import { isInstanceOf } from "@dxos/echo-schema";
16
- import { live } from "@dxos/live-object";
15
+ import { Obj } from "@dxos/echo";
17
16
  import { createDocAccessor, getRangeFromCursor, Ref } from "@dxos/react-client/echo";
18
17
  import { DataType } from "@dxos/schema";
19
18
  var intent_resolver_default = (context) => contributes(Capabilities.IntentResolver, [
20
19
  createResolver({
21
20
  intent: MarkdownAction.Create,
22
21
  resolve: ({ name, content }) => {
23
- const doc = live(DocumentType, {
22
+ const doc = Obj.make(DocumentType, {
24
23
  name,
25
- content: Ref.make(live(DataType.Text, {
24
+ content: Ref.make(Obj.make(DataType.Text, {
26
25
  content: content ?? ""
27
26
  }))
28
27
  });
@@ -42,7 +41,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
42
41
  }),
43
42
  createResolver({
44
43
  intent: CollaborationActions.InsertContent,
45
- filter: (data) => isInstanceOf(DocumentType, data.target),
44
+ filter: (data) => Obj.instanceOf(DocumentType, data.target),
46
45
  resolve: async ({ target, object: objectRef, at, label }) => {
47
46
  const text = await target.content.load();
48
47
  const accessor = createDocAccessor(text, [
@@ -63,4 +62,4 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
63
62
  export {
64
63
  intent_resolver_default as default
65
64
  };
66
- //# sourceMappingURL=intent-resolver-FTNXUNI2.mjs.map
65
+ //# sourceMappingURL=intent-resolver-CLMSVF2K.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { next as A } from '@automerge/automerge';\nimport { Option, pipe, type Schema } from 'effect';\n\nimport {\n Capabilities,\n CollaborationActions,\n contributes,\n createResolver,\n type PluginContext,\n} from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { createDocAccessor, getRangeFromCursor, Ref } from '@dxos/react-client/echo';\nimport { DataType } from '@dxos/schema';\n\nimport { MarkdownCapabilities } from './capabilities';\nimport { DocumentType, MarkdownAction } from '../types';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: MarkdownAction.Create,\n resolve: ({ name, content }) => {\n const doc = Obj.make(DocumentType, {\n name,\n content: Ref.make(Obj.make(DataType.Text, { content: content ?? '' })),\n });\n\n return { data: { object: doc } };\n },\n }),\n createResolver({\n intent: MarkdownAction.SetViewMode,\n resolve: ({ id, viewMode }) => {\n const { state } = context.getCapability(MarkdownCapabilities.State);\n state.viewMode[id] = viewMode;\n },\n }),\n createResolver({\n intent: CollaborationActions.InsertContent,\n filter: (\n data,\n ): data is Omit<Schema.Schema.Type<typeof CollaborationActions.InsertContent.fields.input>, 'target'> & {\n target: DocumentType;\n } => Obj.instanceOf(DocumentType, data.target),\n resolve: async ({ target, object: objectRef, at, label }) => {\n const text = await target.content.load();\n const accessor = createDocAccessor(text, ['content']);\n const { start, end } = pipe(\n Option.fromNullable(at),\n Option.flatMap((at) => Option.fromNullable(getRangeFromCursor(accessor, at))),\n Option.getOrElse(() => ({ start: text.content.length - 1, end: text.content.length - 1 })),\n );\n accessor.handle.change((doc) => {\n const ref = `[${label ?? 'Generated content'}]](${objectRef.dxn.toString()})\\n`;\n A.splice(doc, accessor.path.slice(), start, end - start, ref);\n });\n },\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;;AAIA,SAASA,QAAQC,SAAS;AAC1B,SAASC,QAAQC,YAAyB;AAE1C,SACEC,cACAC,sBACAC,aACAC,sBAEK;AACP,SAASC,WAAW;AACpB,SAASC,mBAAmBC,oBAAoBC,WAAW;AAC3D,SAASC,gBAAgB;AAKzB,IAAA,0BAAe,CAACC,YACdC,YAAYC,aAAaC,gBAAgB;EACvCC,eAAe;IACbC,QAAQC,eAAeC;IACvBC,SAAS,CAAC,EAAEC,MAAMC,QAAO,MAAE;AACzB,YAAMC,MAAMC,IAAIC,KAAKC,cAAc;QACjCL;QACAC,SAASK,IAAIF,KAAKD,IAAIC,KAAKG,SAASC,MAAM;UAAEP,SAASA,WAAW;QAAG,CAAA,CAAA;MACrE,CAAA;AAEA,aAAO;QAAEQ,MAAM;UAAEC,QAAQR;QAAI;MAAE;IACjC;EACF,CAAA;EACAP,eAAe;IACbC,QAAQC,eAAec;IACvBZ,SAAS,CAAC,EAAEa,IAAIC,SAAQ,MAAE;AACxB,YAAM,EAAEC,MAAK,IAAKvB,QAAQwB,cAAcC,qBAAqBC,KAAK;AAClEH,YAAMD,SAASD,EAAAA,IAAMC;IACvB;EACF,CAAA;EACAlB,eAAe;IACbC,QAAQsB,qBAAqBC;IAC7BC,QAAQ,CACNX,SAGGN,IAAIkB,WAAWhB,cAAcI,KAAKa,MAAM;IAC7CvB,SAAS,OAAO,EAAEuB,QAAQZ,QAAQa,WAAWC,IAAIC,MAAK,MAAE;AACtD,YAAMC,OAAO,MAAMJ,OAAOrB,QAAQ0B,KAAI;AACtC,YAAMC,WAAWC,kBAAkBH,MAAM;QAAC;OAAU;AACpD,YAAM,EAAEI,OAAOC,IAAG,IAAKC,KACrBC,OAAOC,aAAaV,EAAAA,GACpBS,OAAOE,QAAQ,CAACX,QAAOS,OAAOC,aAAaE,mBAAmBR,UAAUJ,GAAAA,CAAAA,CAAAA,GACxES,OAAOI,UAAU,OAAO;QAAEP,OAAOJ,KAAKzB,QAAQqC,SAAS;QAAGP,KAAKL,KAAKzB,QAAQqC,SAAS;MAAE,EAAA,CAAA;AAEzFV,eAASW,OAAOC,OAAO,CAACtC,QAAAA;AACtB,cAAMuC,MAAM,IAAIhB,SAAS,mBAAA,MAAyBF,UAAUmB,IAAIC,SAAQ,CAAA;;AACxEC,UAAEC,OAAO3C,KAAK0B,SAASkB,KAAKC,MAAK,GAAIjB,OAAOC,MAAMD,OAAOW,GAAAA;MAC3D,CAAA;IACF;EACF,CAAA;CACD;",
6
+ "names": ["next", "A", "Option", "pipe", "Capabilities", "CollaborationActions", "contributes", "createResolver", "Obj", "createDocAccessor", "getRangeFromCursor", "Ref", "DataType", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "MarkdownAction", "Create", "resolve", "name", "content", "doc", "Obj", "make", "DocumentType", "Ref", "DataType", "Text", "data", "object", "SetViewMode", "id", "viewMode", "state", "getCapability", "MarkdownCapabilities", "State", "CollaborationActions", "InsertContent", "filter", "instanceOf", "target", "objectRef", "at", "label", "text", "load", "accessor", "createDocAccessor", "start", "end", "pipe", "Option", "fromNullable", "flatMap", "getRangeFromCursor", "getOrElse", "length", "handle", "change", "ref", "dxn", "toString", "A", "splice", "path", "slice"]
7
+ }