@dxos/plugin-space 0.8.4-main.21d9917 → 0.8.4-main.2244d791bb

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 (231) hide show
  1. package/dist/lib/browser/CollectionArticle-LKTAABXP.mjs +128 -0
  2. package/dist/lib/browser/CollectionArticle-LKTAABXP.mjs.map +7 -0
  3. package/dist/lib/browser/{ObjectCardStack-TWHN6C2Y.mjs → ObjectCardStack-CXNBCSMR.mjs} +2 -2
  4. package/dist/lib/browser/ObjectCardStack-CXNBCSMR.mjs.map +7 -0
  5. package/dist/lib/browser/{ObjectDetails-GEDIISKK.mjs → ObjectDetails-HXV4IQEM.mjs} +6 -5
  6. package/dist/lib/browser/ObjectDetails-HXV4IQEM.mjs.map +7 -0
  7. package/dist/lib/browser/{RecordArticle-W57QE7QV.mjs → RecordArticle-36LDKFWF.mjs} +11 -10
  8. package/dist/lib/browser/RecordArticle-36LDKFWF.mjs.map +7 -0
  9. package/dist/lib/browser/{app-graph-builder-SJHTZXZF.mjs → app-graph-builder-GLV46QSI.mjs} +26 -19
  10. package/dist/lib/browser/app-graph-builder-GLV46QSI.mjs.map +7 -0
  11. package/dist/lib/browser/{app-graph-serializer-7AT7QMSK.mjs → app-graph-serializer-VOLRDNVE.mjs} +9 -8
  12. package/dist/lib/browser/app-graph-serializer-VOLRDNVE.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-ZT2VPYRM.mjs → chunk-7D63MVRS.mjs} +3 -3
  14. package/dist/lib/browser/chunk-7D63MVRS.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-4WZUGLQQ.mjs → chunk-A7ZCVQGZ.mjs} +10 -9
  16. package/dist/lib/browser/chunk-A7ZCVQGZ.mjs.map +7 -0
  17. package/dist/lib/browser/{chunk-CCRSHECL.mjs → chunk-KGLWYGIF.mjs} +4 -3
  18. package/dist/lib/browser/chunk-KGLWYGIF.mjs.map +7 -0
  19. package/dist/lib/browser/{chunk-AWVAX26X.mjs → chunk-NF3ZFAB4.mjs} +2 -2
  20. package/dist/lib/browser/{chunk-SUI34XSA.mjs → chunk-WAOJLA2S.mjs} +12 -12
  21. package/dist/lib/browser/chunk-WAOJLA2S.mjs.map +7 -0
  22. package/dist/lib/browser/{chunk-3X2EA2OA.mjs → chunk-XRTOZE23.mjs} +128 -137
  23. package/dist/lib/browser/chunk-XRTOZE23.mjs.map +7 -0
  24. package/dist/lib/browser/cli/index.mjs +31 -29
  25. package/dist/lib/browser/cli/index.mjs.map +3 -3
  26. package/dist/lib/browser/index.mjs +58 -53
  27. package/dist/lib/browser/index.mjs.map +3 -3
  28. package/dist/lib/browser/meta.json +1 -1
  29. package/dist/lib/browser/{operation-resolver-SIRQT36Z.mjs → operation-resolver-PJJ3PCM7.mjs} +45 -42
  30. package/dist/lib/browser/operation-resolver-PJJ3PCM7.mjs.map +7 -0
  31. package/dist/lib/browser/{react-root-PI7VTZUZ.mjs → react-root-MRIDHLHH.mjs} +8 -8
  32. package/dist/lib/browser/react-root-MRIDHLHH.mjs.map +7 -0
  33. package/dist/lib/browser/{react-surface-BPE7VWI7.mjs → react-surface-ARZZ343H.mjs} +38 -37
  34. package/dist/lib/browser/react-surface-ARZZ343H.mjs.map +7 -0
  35. package/dist/lib/browser/{repair-CJG26D52.mjs → repair-DKU4TUD2.mjs} +2 -2
  36. package/dist/lib/browser/{settings-ZS2AQ73E.mjs → settings-M2DMD2ZA.mjs} +5 -4
  37. package/dist/lib/browser/settings-M2DMD2ZA.mjs.map +7 -0
  38. package/dist/lib/browser/{spaces-ready-OQDGWUOS.mjs → spaces-ready-XWJUJ43N.mjs} +13 -12
  39. package/dist/lib/browser/spaces-ready-XWJUJ43N.mjs.map +7 -0
  40. package/dist/lib/browser/{state-7YZQB2KY.mjs → state-V637BLIM.mjs} +5 -5
  41. package/dist/lib/browser/state-V637BLIM.mjs.map +7 -0
  42. package/dist/lib/browser/types/index.mjs +1 -1
  43. package/dist/lib/node-esm/CollectionArticle-ONQMZ7BQ.mjs +129 -0
  44. package/dist/lib/node-esm/CollectionArticle-ONQMZ7BQ.mjs.map +7 -0
  45. package/dist/lib/node-esm/{ObjectCardStack-C5ZXRKP7.mjs → ObjectCardStack-EHXPNRQW.mjs} +2 -2
  46. package/dist/lib/node-esm/ObjectCardStack-EHXPNRQW.mjs.map +7 -0
  47. package/dist/lib/node-esm/{ObjectDetails-6ZLDRKCO.mjs → ObjectDetails-N73UI4ZL.mjs} +6 -5
  48. package/dist/lib/node-esm/ObjectDetails-N73UI4ZL.mjs.map +7 -0
  49. package/dist/lib/node-esm/{RecordArticle-SSV74Z46.mjs → RecordArticle-CMEXNNOZ.mjs} +11 -10
  50. package/dist/lib/node-esm/RecordArticle-CMEXNNOZ.mjs.map +7 -0
  51. package/dist/lib/node-esm/{app-graph-builder-HZ3XXDFZ.mjs → app-graph-builder-KCEHEKVS.mjs} +26 -19
  52. package/dist/lib/node-esm/app-graph-builder-KCEHEKVS.mjs.map +7 -0
  53. package/dist/lib/node-esm/{app-graph-serializer-WJ2TIQG6.mjs → app-graph-serializer-7C4MV5NB.mjs} +9 -8
  54. package/dist/lib/node-esm/app-graph-serializer-7C4MV5NB.mjs.map +7 -0
  55. package/dist/lib/node-esm/{chunk-2SW6S2BB.mjs → chunk-5N3YIAXD.mjs} +3 -3
  56. package/dist/lib/node-esm/chunk-5N3YIAXD.mjs.map +7 -0
  57. package/dist/lib/node-esm/{chunk-JOBIWCBC.mjs → chunk-A5A7M37T.mjs} +10 -9
  58. package/dist/lib/node-esm/chunk-A5A7M37T.mjs.map +7 -0
  59. package/dist/lib/node-esm/{chunk-7KMYUWSR.mjs → chunk-FB5YNROS.mjs} +12 -12
  60. package/dist/lib/node-esm/chunk-FB5YNROS.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-MPL6NHQX.mjs → chunk-NYSDQPNM.mjs} +4 -3
  62. package/dist/lib/node-esm/chunk-NYSDQPNM.mjs.map +7 -0
  63. package/dist/lib/node-esm/{chunk-HREWB23G.mjs → chunk-PG7DNOEX.mjs} +2 -2
  64. package/dist/lib/node-esm/{chunk-EYS3L2NO.mjs → chunk-QDIOQTXY.mjs} +128 -137
  65. package/dist/lib/node-esm/chunk-QDIOQTXY.mjs.map +7 -0
  66. package/dist/lib/node-esm/cli/index.mjs +31 -29
  67. package/dist/lib/node-esm/cli/index.mjs.map +3 -3
  68. package/dist/lib/node-esm/index.mjs +58 -53
  69. package/dist/lib/node-esm/index.mjs.map +3 -3
  70. package/dist/lib/node-esm/meta.json +1 -1
  71. package/dist/lib/node-esm/{operation-resolver-ZE3XJL5J.mjs → operation-resolver-2K7N4KYC.mjs} +45 -42
  72. package/dist/lib/node-esm/operation-resolver-2K7N4KYC.mjs.map +7 -0
  73. package/dist/lib/node-esm/{react-root-KUXM33JI.mjs → react-root-LKSSWFGF.mjs} +8 -8
  74. package/dist/lib/node-esm/react-root-LKSSWFGF.mjs.map +7 -0
  75. package/dist/lib/node-esm/{react-surface-STCQKUZ4.mjs → react-surface-QG5RNBPD.mjs} +38 -37
  76. package/dist/lib/node-esm/react-surface-QG5RNBPD.mjs.map +7 -0
  77. package/dist/lib/node-esm/{repair-G3ZW3VG3.mjs → repair-C2H6JQCL.mjs} +2 -2
  78. package/dist/lib/node-esm/{settings-PVI2VG56.mjs → settings-VCPCNBOY.mjs} +5 -4
  79. package/dist/lib/node-esm/settings-VCPCNBOY.mjs.map +7 -0
  80. package/dist/lib/node-esm/{spaces-ready-R744OHQG.mjs → spaces-ready-5JOGEWON.mjs} +13 -12
  81. package/dist/lib/node-esm/spaces-ready-5JOGEWON.mjs.map +7 -0
  82. package/dist/lib/node-esm/{state-XE5YGPHM.mjs → state-5MCEPWN3.mjs} +5 -5
  83. package/dist/lib/node-esm/state-5MCEPWN3.mjs.map +7 -0
  84. package/dist/lib/node-esm/types/index.mjs +1 -1
  85. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  86. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +2 -1
  87. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -1
  88. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +1 -1
  89. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -1
  90. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts +2 -2
  91. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts.map +1 -1
  92. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts +1 -1
  93. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts.map +1 -1
  94. package/dist/types/src/capabilities/operation-resolver/index.d.ts +1 -1
  95. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -1
  96. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +2 -2
  97. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
  98. package/dist/types/src/capabilities/react-root/react-root.d.ts.map +1 -1
  99. package/dist/types/src/capabilities/react-surface/index.d.ts +1 -1
  100. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -1
  101. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +2 -2
  102. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
  103. package/dist/types/src/capabilities/settings/index.d.ts +1 -1
  104. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -1
  105. package/dist/types/src/capabilities/settings/settings.d.ts +3 -2
  106. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -1
  107. package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts.map +1 -1
  108. package/dist/types/src/capabilities/state/state.d.ts.map +1 -1
  109. package/dist/types/src/cli/commands/database/add.d.ts.map +1 -1
  110. package/dist/types/src/cli/plugin.d.ts.map +1 -1
  111. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  112. package/dist/types/src/components/CollectionArticle.d.ts +2 -2
  113. package/dist/types/src/components/CollectionArticle.d.ts.map +1 -1
  114. package/dist/types/src/components/CollectionSection.d.ts +1 -1
  115. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  116. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  117. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +1 -1
  118. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +4 -1
  119. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  120. package/dist/types/src/components/JoinDialog/JoinDialog.d.ts.map +1 -1
  121. package/dist/types/src/components/MembersContainer/MembersContainer.d.ts.map +1 -1
  122. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +1 -1
  123. package/dist/types/src/components/ObjectDetails/ObjectDetails.d.ts +1 -1
  124. package/dist/types/src/components/ObjectDetails/ObjectDetails.d.ts.map +1 -1
  125. package/dist/types/src/components/RecordArticle.d.ts +1 -1
  126. package/dist/types/src/components/RecordArticle.d.ts.map +1 -1
  127. package/dist/types/src/components/RecordArticle.stories.d.ts +1 -1
  128. package/dist/types/src/components/RecordArticle.stories.d.ts.map +1 -1
  129. package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
  130. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  131. package/dist/types/src/components/SpacePresence/SpacePresence.d.ts.map +1 -1
  132. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts +4 -1
  133. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  134. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +4 -1
  135. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
  136. package/dist/types/src/components/index.d.ts +3 -3
  137. package/dist/types/src/components/index.d.ts.map +1 -1
  138. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  139. package/dist/types/src/types/events.d.ts.map +1 -1
  140. package/dist/types/src/types/types.d.ts +18 -12
  141. package/dist/types/src/types/types.d.ts.map +1 -1
  142. package/dist/types/src/util.d.ts +2 -1
  143. package/dist/types/src/util.d.ts.map +1 -1
  144. package/dist/types/tsconfig.tsbuildinfo +1 -1
  145. package/package.json +66 -65
  146. package/src/SpacePlugin.ts +59 -40
  147. package/src/capabilities/app-graph-builder/app-graph-builder.ts +17 -13
  148. package/src/capabilities/app-graph-serializer/app-graph-serializer.ts +5 -4
  149. package/src/capabilities/operation-resolver/operation-resolver.ts +31 -29
  150. package/src/capabilities/react-root/react-root.tsx +3 -3
  151. package/src/capabilities/react-surface/react-surface.tsx +34 -32
  152. package/src/capabilities/settings/settings.ts +3 -2
  153. package/src/capabilities/spaces-ready/spaces-ready.ts +8 -7
  154. package/src/capabilities/state/state.ts +3 -3
  155. package/src/cli/commands/database/add.ts +7 -8
  156. package/src/cli/commands/database/query/query.ts +1 -1
  157. package/src/cli/commands/database/remove.ts +2 -2
  158. package/src/cli/commands/database/stats.ts +1 -1
  159. package/src/cli/plugin.ts +33 -26
  160. package/src/components/AwaitingObject.tsx +4 -3
  161. package/src/components/CollectionArticle.tsx +71 -72
  162. package/src/components/CollectionSection.tsx +1 -1
  163. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +1 -1
  164. package/src/components/CreateDialog/CreateObjectDialog.tsx +20 -17
  165. package/src/components/CreateDialog/CreateObjectPanel.tsx +38 -39
  166. package/src/components/CreateDialog/CreateSpaceDialog.tsx +21 -21
  167. package/src/components/JoinDialog/JoinDialog.tsx +8 -7
  168. package/src/components/MembersContainer/MembersContainer.stories.tsx +1 -1
  169. package/src/components/MembersContainer/MembersContainer.tsx +45 -48
  170. package/src/components/ObjectCardStack/ObjectCardStack.tsx +1 -1
  171. package/src/components/ObjectDetails/BaseObjectSettings.stories.tsx +4 -4
  172. package/src/components/ObjectDetails/ObjectDetails.tsx +6 -5
  173. package/src/components/ObjectRenamePopover/ObjectRenamePopover.tsx +3 -3
  174. package/src/components/RecordArticle.stories.tsx +6 -5
  175. package/src/components/RecordArticle.tsx +23 -21
  176. package/src/components/SchemaContainer.tsx +20 -17
  177. package/src/components/SpacePluginSettings.tsx +34 -31
  178. package/src/components/SpacePresence/SpacePresence.stories.tsx +1 -1
  179. package/src/components/SpacePresence/SpacePresence.tsx +2 -1
  180. package/src/components/SpaceRenamePopover/SpaceRenamePopover.tsx +3 -3
  181. package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +1 -1
  182. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +161 -179
  183. package/src/components/SyncStatus/InlineSyncStatus.tsx +1 -1
  184. package/src/components/SyncStatus/SyncStatus.stories.tsx +1 -1
  185. package/src/components/ViewEditor.tsx +1 -1
  186. package/src/hooks/useActiveSpace.ts +5 -4
  187. package/src/hooks/useInputSurfaceLookup.tsx +3 -3
  188. package/src/translations.ts +2 -2
  189. package/src/types/events.ts +3 -2
  190. package/src/types/types.ts +10 -3
  191. package/src/util.tsx +9 -6
  192. package/dist/lib/browser/CollectionArticle-XPNA6EHZ.mjs +0 -129
  193. package/dist/lib/browser/CollectionArticle-XPNA6EHZ.mjs.map +0 -7
  194. package/dist/lib/browser/ObjectCardStack-TWHN6C2Y.mjs.map +0 -7
  195. package/dist/lib/browser/ObjectDetails-GEDIISKK.mjs.map +0 -7
  196. package/dist/lib/browser/RecordArticle-W57QE7QV.mjs.map +0 -7
  197. package/dist/lib/browser/app-graph-builder-SJHTZXZF.mjs.map +0 -7
  198. package/dist/lib/browser/app-graph-serializer-7AT7QMSK.mjs.map +0 -7
  199. package/dist/lib/browser/chunk-3X2EA2OA.mjs.map +0 -7
  200. package/dist/lib/browser/chunk-4WZUGLQQ.mjs.map +0 -7
  201. package/dist/lib/browser/chunk-CCRSHECL.mjs.map +0 -7
  202. package/dist/lib/browser/chunk-SUI34XSA.mjs.map +0 -7
  203. package/dist/lib/browser/chunk-ZT2VPYRM.mjs.map +0 -7
  204. package/dist/lib/browser/operation-resolver-SIRQT36Z.mjs.map +0 -7
  205. package/dist/lib/browser/react-root-PI7VTZUZ.mjs.map +0 -7
  206. package/dist/lib/browser/react-surface-BPE7VWI7.mjs.map +0 -7
  207. package/dist/lib/browser/settings-ZS2AQ73E.mjs.map +0 -7
  208. package/dist/lib/browser/spaces-ready-OQDGWUOS.mjs.map +0 -7
  209. package/dist/lib/browser/state-7YZQB2KY.mjs.map +0 -7
  210. package/dist/lib/node-esm/CollectionArticle-WGHNZNO2.mjs +0 -130
  211. package/dist/lib/node-esm/CollectionArticle-WGHNZNO2.mjs.map +0 -7
  212. package/dist/lib/node-esm/ObjectCardStack-C5ZXRKP7.mjs.map +0 -7
  213. package/dist/lib/node-esm/ObjectDetails-6ZLDRKCO.mjs.map +0 -7
  214. package/dist/lib/node-esm/RecordArticle-SSV74Z46.mjs.map +0 -7
  215. package/dist/lib/node-esm/app-graph-builder-HZ3XXDFZ.mjs.map +0 -7
  216. package/dist/lib/node-esm/app-graph-serializer-WJ2TIQG6.mjs.map +0 -7
  217. package/dist/lib/node-esm/chunk-2SW6S2BB.mjs.map +0 -7
  218. package/dist/lib/node-esm/chunk-7KMYUWSR.mjs.map +0 -7
  219. package/dist/lib/node-esm/chunk-EYS3L2NO.mjs.map +0 -7
  220. package/dist/lib/node-esm/chunk-JOBIWCBC.mjs.map +0 -7
  221. package/dist/lib/node-esm/chunk-MPL6NHQX.mjs.map +0 -7
  222. package/dist/lib/node-esm/operation-resolver-ZE3XJL5J.mjs.map +0 -7
  223. package/dist/lib/node-esm/react-root-KUXM33JI.mjs.map +0 -7
  224. package/dist/lib/node-esm/react-surface-STCQKUZ4.mjs.map +0 -7
  225. package/dist/lib/node-esm/settings-PVI2VG56.mjs.map +0 -7
  226. package/dist/lib/node-esm/spaces-ready-R744OHQG.mjs.map +0 -7
  227. package/dist/lib/node-esm/state-XE5YGPHM.mjs.map +0 -7
  228. /package/dist/lib/browser/{chunk-AWVAX26X.mjs.map → chunk-NF3ZFAB4.mjs.map} +0 -0
  229. /package/dist/lib/browser/{repair-CJG26D52.mjs.map → repair-DKU4TUD2.mjs.map} +0 -0
  230. /package/dist/lib/node-esm/{chunk-HREWB23G.mjs.map → chunk-PG7DNOEX.mjs.map} +0 -0
  231. /package/dist/lib/node-esm/{repair-G3ZW3VG3.mjs.map → repair-C2H6JQCL.mjs.map} +0 -0
@@ -1,21 +1,22 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  translations
4
- } from "./chunk-2SW6S2BB.mjs";
4
+ } from "./chunk-5N3YIAXD.mjs";
5
5
  import {
6
6
  SPACES
7
- } from "./chunk-7KMYUWSR.mjs";
7
+ } from "./chunk-FB5YNROS.mjs";
8
8
  import {
9
9
  SPACE_TYPE,
10
10
  SpaceOperation
11
- } from "./chunk-MPL6NHQX.mjs";
11
+ } from "./chunk-NYSDQPNM.mjs";
12
12
  import {
13
13
  meta
14
14
  } from "./chunk-SL4BJSUG.mjs";
15
15
 
16
16
  // src/capabilities/app-graph-serializer/app-graph-serializer.ts
17
17
  import * as Effect from "effect/Effect";
18
- import { Capability, Common } from "@dxos/app-framework";
18
+ import { Capabilities, Capability } from "@dxos/app-framework";
19
+ import { AppCapabilities } from "@dxos/app-toolkit";
19
20
  import { isSpace } from "@dxos/client/echo";
20
21
  import { Obj } from "@dxos/echo";
21
22
  import { Collection } from "@dxos/schema";
@@ -23,7 +24,7 @@ var COLLECTION_TYPE = Collection.Collection.typename;
23
24
  var DIRECTORY_TYPE = "text/directory";
24
25
  var app_graph_serializer_default = Capability.makeModule(Effect.fnUntraced(function* () {
25
26
  const capabilities = yield* Capability.Service;
26
- return Capability.contributes(Common.Capability.AppGraphSerializer, [
27
+ return Capability.contributes(AppCapabilities.AppGraphSerializer, [
27
28
  {
28
29
  inputType: SPACES,
29
30
  outputType: DIRECTORY_TYPE,
@@ -44,7 +45,7 @@ var app_graph_serializer_default = Capability.makeModule(Effect.fnUntraced(funct
44
45
  type: DIRECTORY_TYPE
45
46
  }),
46
47
  deserialize: async (data) => {
47
- const { invokePromise } = capabilities.get(Common.Capability.OperationInvoker);
48
+ const { invokePromise } = capabilities.get(Capabilities.OperationInvoker);
48
49
  const result = await invokePromise(SpaceOperation.Create, {
49
50
  name: data.name,
50
51
  edgeReplication: true
@@ -66,7 +67,7 @@ var app_graph_serializer_default = Capability.makeModule(Effect.fnUntraced(funct
66
67
  if (!space || !collection) {
67
68
  return;
68
69
  }
69
- const { invokePromise } = capabilities.get(Common.Capability.OperationInvoker);
70
+ const { invokePromise } = capabilities.get(Capabilities.OperationInvoker);
70
71
  const result = await invokePromise(SpaceOperation.AddObject, {
71
72
  target: collection,
72
73
  object: Obj.make(Collection.Collection, {
@@ -82,4 +83,4 @@ var app_graph_serializer_default = Capability.makeModule(Effect.fnUntraced(funct
82
83
  export {
83
84
  app_graph_serializer_default as default
84
85
  };
85
- //# sourceMappingURL=app-graph-serializer-WJ2TIQG6.mjs.map
86
+ //# sourceMappingURL=app-graph-serializer-7C4MV5NB.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-serializer/app-graph-serializer.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { isSpace } from '@dxos/client/echo';\nimport { Obj } from '@dxos/echo';\nimport { Collection } from '@dxos/schema';\n\nimport { meta } from '../../meta';\nimport { translations } from '../../translations';\nimport { SPACE_TYPE, SpaceOperation } from '../../types';\nimport { SPACES } from '../../util';\n\nconst COLLECTION_TYPE = Collection.Collection.typename;\n\n// https://stackoverflow.com/a/19016910\nconst DIRECTORY_TYPE = 'text/directory';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n // Get context for lazy capability access in callbacks.\n const capabilities = yield* Capability.Service;\n\n return Capability.contributes(AppCapabilities.AppGraphSerializer, [\n {\n inputType: SPACES,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: translations[0]['en-US'][meta.id]['spaces label'] ?? 'Spaces',\n data: translations[0]['en-US'][meta.id]['spaces label'] ?? 'Spaces',\n type: DIRECTORY_TYPE,\n }),\n deserialize: () => {\n // No-op.\n },\n },\n {\n inputType: SPACE_TYPE,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: node.data.properties.name ?? translations[0]['en-US'][meta.id]['unnamed space label'],\n data: node.data.properties.name ?? translations[0]['en-US'][meta.id]['unnamed space label'],\n type: DIRECTORY_TYPE,\n }),\n deserialize: async (data) => {\n const { invokePromise } = capabilities.get(Capabilities.OperationInvoker);\n const result = await invokePromise(SpaceOperation.Create, { name: data.name, edgeReplication: true });\n return result.data?.space;\n },\n },\n {\n inputType: COLLECTION_TYPE,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: node.data.name ?? translations[0]['en-US'][meta.id]['object name placeholder'],\n data: node.data.name ?? translations[0]['en-US'][meta.id]['object name placeholder'],\n type: DIRECTORY_TYPE,\n }),\n deserialize: async (data, ancestors) => {\n const space = ancestors.find(isSpace);\n const collection =\n ancestors.findLast((ancestor) => Obj.instanceOf(Collection.Collection, ancestor)) ??\n space?.properties[COLLECTION_TYPE]?.target;\n if (!space || !collection) {\n return;\n }\n\n const { invokePromise } = capabilities.get(Capabilities.OperationInvoker);\n const result = await invokePromise(SpaceOperation.AddObject, {\n target: collection,\n object: Obj.make(Collection.Collection, { name: data.name, objects: [] }),\n });\n\n return result.data?.object;\n },\n },\n ]);\n }),\n);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,uBAAuB;AAChC,SAASC,eAAe;AACxB,SAASC,WAAW;AACpB,SAASC,kBAAkB;AAO3B,IAAMC,kBAAkBC,WAAWA,WAAWC;AAG9C,IAAMC,iBAAiB;AAEvB,IAAA,+BAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAEhB,QAAMC,eAAe,OAAOH,WAAWI;AAEvC,SAAOJ,WAAWK,YAAYC,gBAAgBC,oBAAoB;IAChE;MACEC,WAAWC;MACXC,YAAYX;MACZY,WAAW,CAACC,UAAU;QACpBC,MAAMC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,cAAA,KAAmB;QAC3DC,MAAMH,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,cAAA,KAAmB;QAC3DE,MAAMnB;MACR;MACAoB,aAAa,MAAA;MAEb;IACF;IACA;MACEX,WAAWY;MACXV,YAAYX;MACZY,WAAW,CAACC,UAAU;QACpBC,MAAMD,KAAKK,KAAKI,WAAWR,QAAQC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,qBAAA;QACrEC,MAAML,KAAKK,KAAKI,WAAWR,QAAQC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,qBAAA;QACrEE,MAAMnB;MACR;MACAoB,aAAa,OAAOF,SAAAA;AAClB,cAAM,EAAEK,cAAa,IAAKnB,aAAaoB,IAAIC,aAAaC,gBAAgB;AACxE,cAAMC,SAAS,MAAMJ,cAAcK,eAAeC,QAAQ;UAAEf,MAAMI,KAAKJ;UAAMgB,iBAAiB;QAAK,CAAA;AACnG,eAAOH,OAAOT,MAAMa;MACtB;IACF;IACA;MACEtB,WAAWZ;MACXc,YAAYX;MACZY,WAAW,CAACC,UAAU;QACpBC,MAAMD,KAAKK,KAAKJ,QAAQC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,yBAAA;QAC1DC,MAAML,KAAKK,KAAKJ,QAAQC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,yBAAA;QAC1DE,MAAMnB;MACR;MACAoB,aAAa,OAAOF,MAAMc,cAAAA;AACxB,cAAMD,QAAQC,UAAUC,KAAKC,OAAAA;AAC7B,cAAMC,aACJH,UAAUI,SAAS,CAACC,aAAaC,IAAIC,WAAWzC,WAAWA,YAAYuC,QAAAA,CAAAA,KACvEN,OAAOT,WAAWzB,eAAAA,GAAkB2C;AACtC,YAAI,CAACT,SAAS,CAACI,YAAY;AACzB;QACF;AAEA,cAAM,EAAEZ,cAAa,IAAKnB,aAAaoB,IAAIC,aAAaC,gBAAgB;AACxE,cAAMC,SAAS,MAAMJ,cAAcK,eAAea,WAAW;UAC3DD,QAAQL;UACRO,QAAQJ,IAAIK,KAAK7C,WAAWA,YAAY;YAAEgB,MAAMI,KAAKJ;YAAM8B,SAAS,CAAA;UAAG,CAAA;QACzE,CAAA;AAEA,eAAOjB,OAAOT,MAAMwB;MACtB;IACF;GACD;AACH,CAAA,CAAA;",
6
+ "names": ["Effect", "Capabilities", "Capability", "AppCapabilities", "isSpace", "Obj", "Collection", "COLLECTION_TYPE", "Collection", "typename", "DIRECTORY_TYPE", "Capability", "makeModule", "fnUntraced", "capabilities", "Service", "contributes", "AppCapabilities", "AppGraphSerializer", "inputType", "SPACES", "outputType", "serialize", "node", "name", "translations", "meta", "id", "data", "type", "deserialize", "SPACE_TYPE", "properties", "invokePromise", "get", "Capabilities", "OperationInvoker", "result", "SpaceOperation", "Create", "edgeReplication", "space", "ancestors", "find", "isSpace", "collection", "findLast", "ancestor", "Obj", "instanceOf", "target", "AddObject", "object", "make", "objects"]
7
+ }
@@ -6,7 +6,7 @@ import {
6
6
  // src/translations.ts
7
7
  import { Type } from "@dxos/echo";
8
8
  import { Collection } from "@dxos/schema";
9
- import { Event, Message, Organization, Person, Project, Task } from "@dxos/types";
9
+ import { Event, Message, Organization, Person, Pipeline, Task } from "@dxos/types";
10
10
  var translations = [
11
11
  {
12
12
  "en-US": {
@@ -58,7 +58,7 @@ var translations = [
58
58
  "typename label_other": "People",
59
59
  "object name placeholder": "New person"
60
60
  },
61
- [Project.Project.typename]: {
61
+ [Pipeline.Pipeline.typename]: {
62
62
  "typename label": "Project",
63
63
  "typename label_zero": "Projects",
64
64
  "typename label_one": "Project",
@@ -232,4 +232,4 @@ var translations = [
232
232
  export {
233
233
  translations
234
234
  };
235
- //# sourceMappingURL=chunk-2SW6S2BB.mjs.map
235
+ //# sourceMappingURL=chunk-5N3YIAXD.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/translations.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Type } from '@dxos/echo';\nimport { type Resource } from '@dxos/react-ui';\nimport { Collection } from '@dxos/schema';\nimport { Event, Message, Organization, Person, Pipeline, Task } from '@dxos/types';\n\nimport { meta } from './meta';\n\n// TODO(burdon): Change to single Resource?\nexport const translations = [\n {\n 'en-US': {\n [Collection.Collection.typename]: {\n 'typename label': 'Collection',\n 'typename label_zero': 'Collections',\n 'typename label_one': 'Collection',\n 'typename label_other': 'Collections',\n 'object name placeholder': 'New collection',\n 'rename object label': 'Rename collection',\n 'delete object label': 'Delete collection',\n 'object deleted label': 'Collection deleted',\n },\n [Type.getTypename(Type.PersistentType)]: {\n 'typename label': 'Type',\n 'typename label_zero': 'Types',\n 'typename label_one': 'Type',\n 'typename label_other': 'Types',\n 'object name placeholder': 'New type',\n 'rename object label': 'Rename type',\n 'delete object label': 'Delete type',\n 'object deleted label': 'Type deleted',\n },\n [Event.Event.typename]: {\n 'typename label': 'Event',\n 'typename label_zero': 'Events',\n 'typename label_one': 'Event',\n 'typename label_other': 'Events',\n 'object name placeholder': 'New event',\n },\n [Message.Message.typename]: {\n 'typename label': 'Message',\n 'typename label_zero': 'Messages',\n 'typename label_one': 'Message',\n 'typename label_other': 'Messages',\n 'object name placeholder': 'New message',\n },\n [Organization.Organization.typename]: {\n 'typename label': 'Organization',\n 'typename label_zero': 'Organizations',\n 'typename label_one': 'Organization',\n 'typename label_other': 'Organizations',\n 'object name placeholder': 'New organization',\n },\n [Person.Person.typename]: {\n 'typename label': 'Person',\n 'typename label_zero': 'People',\n 'typename label_one': 'Person',\n 'typename label_other': 'People',\n 'object name placeholder': 'New person',\n },\n [Pipeline.Pipeline.typename]: {\n 'typename label': 'Project',\n 'typename label_zero': 'Projects',\n 'typename label_one': 'Project',\n 'typename label_other': 'Projects',\n 'object name placeholder': 'New project',\n },\n [Task.Task.typename]: {\n 'typename label': 'Task',\n 'typename label_zero': 'Tasks',\n 'typename label_one': 'Task',\n 'typename label_other': 'Tasks',\n 'object name placeholder': 'New task',\n },\n [meta.id]: {\n 'plugin name': 'Spaces',\n 'first run message': 'Nothing selected.',\n 'create space label': 'Create space',\n 'join space label': 'Join space',\n 'empty space message': 'No documents',\n 'empty tree message': 'No spaces',\n 'unnamed space label': 'New space',\n 'closed space label': 'Closed',\n 'loading space label': 'Loading space…',\n 'lock space label': 'Lock space',\n 'unlock space label': 'Unlock space',\n 'rename space label': 'Rename space',\n 'active space label': 'Active space:',\n 'space name label': 'Space name',\n 'object name label': 'Object name',\n 'close space label': 'Close space',\n 'open space label': 'Open space',\n 'export data label': 'Export data',\n 'import data label': 'Import data',\n 'migrate space label': 'Migrate space',\n 'share space label': 'Share current space',\n 'save space to disk label': 'Save to disk',\n 'load space from disk label': 'Load from disk',\n 'confirm restore title': 'Overwrite files in this space?',\n 'confirm restore body': 'Restoring from a backup will overwrite the contents of any documents that match.',\n 'upload file message': 'Drag file here or click to browse',\n 'object name placeholder': 'Object',\n 'object placeholder': 'Type a title here…',\n 'personal space label': 'Personal Space',\n 'spaces label': 'Spaces',\n 'space settings label': 'Spaces',\n 'space settings description':\n 'Each space has its own settings you can configure, where you can adjust its properties, membership, integrations, and other objects specific to that space.',\n 'show hidden spaces label': 'Show archived spaces',\n 'save files to directory label': 'Save files to disk',\n 'select path label': 'Select path',\n 'snapshot by schema label': 'Snapshot of objects',\n 'rename collection label': 'Rename collection',\n 'rename object label': 'Rename object',\n 'duplicate object label': 'Duplicate object',\n 'object deleted label': 'Object deleted',\n 'objects deleted label': 'Objects deleted',\n 'go to object label': 'Open object',\n 'found object label': 'Ready.',\n 'found object description': 'The requested object is now available.',\n 'waiting for object label': 'Loading…',\n 'waiting for object description': 'The requested object is still being synchronized.',\n 'object not found label': 'Nothing found.',\n 'object not found description':\n 'The requested object has not been found yet. Ensure there are enough peers online in the space with an updated copy.',\n 'missing object message': 'Object not available.',\n 'missing object description':\n 'The requested object has not been found yet. Ensure there are enough peers online in the space with an updated copy.',\n 'create object in space label': 'Add to space',\n 'create object in collection label': 'Add to collection',\n 'create object in system collection label': 'Add to system collection',\n 'add view to schema label': 'Add view to type',\n 'space members label': 'Space members',\n 'active space members heading': 'Online ({{count}})',\n 'inactive space members heading': 'Offline ({{count}})',\n 'presence label_zero': 'No other viewers',\n 'presence label_one': '1 other viewer',\n 'presence label_other': '{{count}} other viewers',\n 'persisted locally label': 'Changes saved locally.',\n 'persisted locally message': 'All changes have been saved to disk on this device.',\n 'persistence pending label': 'Saving…',\n 'persistence error label': 'Error saving changes.',\n 'more actions label': 'More actions',\n 'invitations heading': 'Invitations',\n 'keyshortcuts label': 'Keyboard shortcuts',\n 'menu footer label': 'Details',\n 'location label': 'Located in',\n 'space limit label': 'Space Limit Reached',\n 'space limit description':\n 'This space has reached the maximum number of objects for the beta. This limit includes deleted objects currently, but those can be permanently removed with the cleanup action.',\n 'space limit close label': 'Close',\n 'remove deleted objects label': 'Cleanup',\n 'remove deleted objects alt': 'Permanently remove deleted objects to free up space.',\n 'copy link label': 'Copy link',\n 'default on space create label': 'On space create',\n 'sync status title': 'Sync status',\n 'dismiss label': 'Dismiss',\n 'join success label': 'Successfully joined space',\n 'name label': 'Name',\n 'name placeholder': 'Name',\n 'object settings label': 'Details',\n 'edge replication label': 'Enable EDGE Replication',\n 'saving locally label': 'Writing to disk',\n 'downloading label': 'Replicating from peers',\n 'uploading label': 'Replicating to peers',\n 'offline persisted label': 'Saved to disk (offline)',\n 'remote synced label': 'Synced with peers',\n 'syncing label': 'Space syncing',\n 'show all label': 'Show all',\n 'no sync status label': 'No space with missing objects.',\n 'create space dialog title': 'Create Space',\n 'create object dialog title': 'Create {{object}}',\n 'space input placeholder': 'Select space',\n 'schema input placeholder': 'Select type',\n 'creating object type label': 'Type',\n 'creating in space label': 'Location',\n 'creating in collection label': 'In Collection',\n 'clear input label': 'Clear',\n 'expose object label': 'Expose in navtree',\n 'add tag label': 'Add tag',\n 'advanced settings label': 'Advanced',\n 'foreign keys': 'Foreign Keys',\n 'add key': 'Add Key',\n 'open space settings label': 'Open settings',\n 'related objects label': 'Related Objects',\n\n 'row details no selection label': 'No objects selected',\n 'companion selected objects label': 'Selected',\n 'field deleted label': 'Field deleted',\n\n 'members panel label': 'Members',\n 'members verbose label': 'Manage space members',\n 'members description': 'You can view the current status of space members here as well as invite new members.',\n 'members label': 'Members',\n 'invitations label': 'Invitations',\n 'space invitation description': 'Manage invitations to the space.',\n 'qr code description': 'Share this QR code, or copy the URL and share it with the person you want to invite.',\n 'locked space description': 'This space is locked, unlock it to invite new members.',\n 'space locked label': 'Lock space',\n 'space locked description': 'Locking a space prevents new members from being invited to the space.',\n\n 'settings panel label': 'Space Settings',\n 'open current space settings label': 'Open current space settings',\n 'space settings properties label': 'General settings',\n 'space properties settings verbose label': 'Manage space properties',\n 'space properties settings description': 'You can configure how this space is displayed in the app here.',\n 'space settings schema label': 'Types',\n 'schema verbose label': 'Manage types',\n 'schema description': 'You can manage all of the types stored within this space here.',\n 'no schemas found message': 'No types found',\n 'display name input placeholder': 'Space name',\n 'display name description': 'Name of the space as it appears in the app.',\n 'icon description': 'Icon used to represent the space in the app.',\n 'hue description': 'Color used to represent the space in the app.',\n 'edge replication description':\n \"Only change this if you know what you're doing. Disabling this will prevent the space from replicating through Composer's EDGE services, and relies solely on peer-to-peer sync.\",\n 'archive space description':\n 'Archiving a space will remove it from the sidebar and stop replicating updates, but will not delete the data. You can unarchive it by enabling archived spaces in the app settings.',\n 'archive space label': 'Archive',\n 'unarchive space label': 'Unarchive',\n\n 'space controls title': 'Space Controls',\n 'space controls description': 'Advanced controls for this space.',\n 'backup space title': 'Backup Space',\n 'backup space description':\n 'Download a backup of the space. Contains all data in the space in an unencrypted format.',\n 'download backup label': 'Download backup',\n 'repair space title': 'Repair Space',\n 'repair space description': 'Run repair operations on the space.',\n 'repair space label': 'Run repairs',\n\n 'sync edge connected label': 'Edge connected',\n 'sync edge disconnected label': 'Edge disconnected',\n 'sync no connection label': 'No connection to edge service',\n 'sync latency label': 'Latency',\n 'sync upload label': 'Upload',\n 'sync download label': 'Download',\n\n 'search placeholder': 'Search…',\n },\n },\n },\n] as const satisfies Resource[];\n"],
5
+ "mappings": "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",
6
+ "names": ["Type", "Collection", "Event", "Message", "Organization", "Person", "Pipeline", "Task", "translations", "Collection", "typename", "Type", "getTypename", "PersistentType", "Event", "Message", "Organization", "Person", "Pipeline", "Task", "meta", "id"]
7
+ }
@@ -1,17 +1,18 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  getTypenames
4
- } from "./chunk-MPL6NHQX.mjs";
4
+ } from "./chunk-NYSDQPNM.mjs";
5
5
 
6
6
  // src/hooks/useActiveSpace.ts
7
- import { Common } from "@dxos/app-framework";
8
- import { useLayout } from "@dxos/app-framework/react";
7
+ import { Capabilities } from "@dxos/app-framework";
8
+ import { AppCapabilities } from "@dxos/app-toolkit";
9
+ import { useLayout } from "@dxos/app-toolkit/ui";
9
10
  import { ClientCapabilities } from "@dxos/plugin-client";
10
11
  import { parseId, useSpace } from "@dxos/react-client/echo";
11
12
  var getActiveSpace = (capabilities) => {
12
13
  const client = capabilities.get(ClientCapabilities.Client);
13
- const registry = capabilities.get(Common.Capability.AtomRegistry);
14
- const layoutAtom = capabilities.get(Common.Capability.Layout);
14
+ const registry = capabilities.get(Capabilities.AtomRegistry);
15
+ const layoutAtom = capabilities.get(AppCapabilities.Layout);
15
16
  const layout = registry.get(layoutAtom);
16
17
  const { spaceId } = parseId(layout.workspace);
17
18
  return spaceId ? client.spaces.get(spaceId) : void 0;
@@ -24,7 +25,7 @@ var useActiveSpace = () => {
24
25
 
25
26
  // src/hooks/useInputSurfaceLookup.tsx
26
27
  import React, { useCallback } from "react";
27
- import { Surface, isSurfaceAvailable, usePluginManager } from "@dxos/app-framework/react";
28
+ import { Surface, usePluginManager } from "@dxos/app-framework/ui";
28
29
  var useInputSurfaceLookup = (baseData) => {
29
30
  const pluginManager = usePluginManager();
30
31
  return useCallback(({ schema, prop, fieldProps }) => {
@@ -33,11 +34,11 @@ var useInputSurfaceLookup = (baseData) => {
33
34
  schema,
34
35
  ...baseData
35
36
  };
36
- if (isSurfaceAvailable(pluginManager.capabilities, {
37
+ if (Surface.isAvailable(pluginManager.capabilities, {
37
38
  role: "form-input",
38
39
  data
39
40
  })) {
40
- return /* @__PURE__ */ React.createElement(Surface, {
41
+ return /* @__PURE__ */ React.createElement(Surface.Surface, {
41
42
  role: "form-input",
42
43
  data,
43
44
  ...fieldProps
@@ -115,4 +116,4 @@ export {
115
116
  usePath,
116
117
  useTypeOptions
117
118
  };
118
- //# sourceMappingURL=chunk-JOBIWCBC.mjs.map
119
+ //# sourceMappingURL=chunk-A5A7M37T.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useActiveSpace.ts", "../../../src/hooks/useInputSurfaceLookup.tsx", "../../../src/hooks/usePath.ts", "../../../src/hooks/useTypeOptions.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, type CapabilityManager } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { useLayout } from '@dxos/app-toolkit/ui';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { parseId, useSpace } from '@dxos/react-client/echo';\n\nexport const getActiveSpace = (capabilities: CapabilityManager.CapabilityManager) => {\n const client = capabilities.get(ClientCapabilities.Client);\n const registry = capabilities.get(Capabilities.AtomRegistry);\n const layoutAtom = capabilities.get(AppCapabilities.Layout);\n const layout = registry.get(layoutAtom);\n const { spaceId } = parseId(layout.workspace);\n return spaceId ? client.spaces.get(spaceId) : undefined;\n};\n\nexport const useActiveSpace = () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n return useSpace(spaceId);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { Surface, usePluginManager } from '@dxos/app-framework/ui';\nimport { type FormFieldProvider } from '@dxos/react-ui-form';\n\n/**\n * Creates a surface input component based on plugin context.\n * @param baseData Additional data that will be merged with form data and passed to the surface.\n * This allows providing more context to the surface than what's available from the form itself.\n */\n// TODO(burdon): Factor out?\nexport const useInputSurfaceLookup = (baseData?: Record<string, any>): FormFieldProvider => {\n const pluginManager = usePluginManager();\n return useCallback<FormFieldProvider>(\n ({ schema, prop, fieldProps }) => {\n const data = { prop, schema, ...baseData };\n if (Surface.isAvailable(pluginManager.capabilities, { role: 'form-input', data })) {\n return <Surface.Surface role='form-input' data={data} {...fieldProps} />;\n }\n },\n [pluginManager, baseData],\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Option from 'effect/Option';\nimport { useEffect, useState } from 'react';\n\nimport { Graph } from '@dxos/plugin-graph';\n\n/**\n * React hook to get a path from the graph.\n *\n * @param graph Graph to find the node in.\n * @param id Id of the node to find a path to.\n * @param timeout Optional timeout in milliseconds to wait for the node to be found.\n * @returns Path if found, undefined otherwise.\n */\n// TODO(wittjosiah): Factor out.\nexport const usePath = (graph: Graph.ReadableGraph, id?: string, timeout?: number): Option.Option<string[]> => {\n const [pathState, setPathState] = useState<Option.Option<string[]>>(\n id ? Graph.getPath(graph, { target: id }) : Option.none(),\n );\n\n useEffect(() => {\n if (!id && pathState) {\n setPathState(Option.none());\n }\n\n if ((Option.isSome(pathState) && pathState.value.at(-1) === id) || !id) {\n return;\n }\n\n // Set timeout did not seem to effectively not block the UI thread.\n const frame = requestAnimationFrame(async () => {\n try {\n const path = await Graph.waitForPath(graph, { target: id }, { timeout });\n if (path) {\n setPathState(Option.some(path));\n }\n } catch {}\n });\n\n return () => cancelAnimationFrame(frame);\n }, [graph, id, timeout, pathState]);\n\n return pathState;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { type Space } from '@dxos/react-client/echo';\nimport { useTranslation } from '@dxos/react-ui';\n\nimport { type TypeInputOptions, getTypenames } from '../types';\n\nexport const useTypeOptions = ({ space, annotation }: { space?: Space; annotation: TypeInputOptions }) => {\n const { t } = useTranslation();\n const typenames = getTypenames({ annotation, space });\n return useMemo(\n () =>\n typenames\n .map((typename) => ({\n value: typename,\n label: t('typename label', { ns: typename, defaultValue: typename }),\n }))\n .toSorted((a, b) => a.label.localeCompare(b.label)),\n [t, typenames],\n );\n};\n"],
5
+ "mappings": ";;;;;;AAIA,SAASA,oBAA4C;AACrD,SAASC,uBAAuB;AAChC,SAASC,iBAAiB;AAC1B,SAASC,0BAA0B;AACnC,SAASC,SAASC,gBAAgB;AAE3B,IAAMC,iBAAiB,CAACC,iBAAAA;AAC7B,QAAMC,SAASD,aAAaE,IAAIC,mBAAmBC,MAAM;AACzD,QAAMC,WAAWL,aAAaE,IAAII,aAAaC,YAAY;AAC3D,QAAMC,aAAaR,aAAaE,IAAIO,gBAAgBC,MAAM;AAC1D,QAAMC,SAASN,SAASH,IAAIM,UAAAA;AAC5B,QAAM,EAAEI,QAAO,IAAKC,QAAQF,OAAOG,SAAS;AAC5C,SAAOF,UAAUX,OAAOc,OAAOb,IAAIU,OAAAA,IAAWI;AAChD;AAEO,IAAMC,iBAAiB,MAAA;AAC5B,QAAMN,SAASO,UAAAA;AACf,QAAM,EAAEN,QAAO,IAAKC,QAAQF,OAAOG,SAAS;AAC5C,SAAOK,SAASP,OAAAA;AAClB;;;ACnBA,OAAOQ,SAASC,mBAAmB;AAEnC,SAASC,SAASC,wBAAwB;AASnC,IAAMC,wBAAwB,CAACC,aAAAA;AACpC,QAAMC,gBAAgBC,iBAAAA;AACtB,SAAOC,YACL,CAAC,EAAEC,QAAQC,MAAMC,WAAU,MAAE;AAC3B,UAAMC,OAAO;MAAEF;MAAMD;MAAQ,GAAGJ;IAAS;AACzC,QAAIQ,QAAQC,YAAYR,cAAcS,cAAc;MAAEC,MAAM;MAAcJ;IAAK,CAAA,GAAI;AACjF,aAAO,sBAAA,cAACC,QAAQA,SAAO;QAACG,MAAK;QAAaJ;QAAa,GAAGD;;IAC5D;EACF,GACA;IAACL;IAAeD;GAAS;AAE7B;;;ACtBA,YAAYY,YAAY;AACxB,SAASC,WAAWC,gBAAgB;AAEpC,SAASC,aAAa;AAWf,IAAMC,UAAU,CAACC,OAA4BC,IAAaC,YAAAA;AAC/D,QAAM,CAACC,WAAWC,YAAAA,IAAgBC,SAChCJ,KAAKK,MAAMC,QAAQP,OAAO;IAAEQ,QAAQP;EAAG,CAAA,IAAYQ,YAAI,CAAA;AAGzDC,YAAU,MAAA;AACR,QAAI,CAACT,MAAME,WAAW;AACpBC,mBAAoBK,YAAI,CAAA;IAC1B;AAEA,QAAYE,cAAOR,SAAAA,KAAcA,UAAUS,MAAMC,GAAG,EAAC,MAAOZ,MAAO,CAACA,IAAI;AACtE;IACF;AAGA,UAAMa,QAAQC,sBAAsB,YAAA;AAClC,UAAI;AACF,cAAMC,OAAO,MAAMV,MAAMW,YAAYjB,OAAO;UAAEQ,QAAQP;QAAG,GAAG;UAAEC;QAAQ,CAAA;AACtE,YAAIc,MAAM;AACRZ,uBAAoBc,YAAKF,IAAAA,CAAAA;QAC3B;MACF,QAAQ;MAAC;IACX,CAAA;AAEA,WAAO,MAAMG,qBAAqBL,KAAAA;EACpC,GAAG;IAACd;IAAOC;IAAIC;IAASC;GAAU;AAElC,SAAOA;AACT;;;AC1CA,SAASiB,eAAe;AAGxB,SAASC,sBAAsB;AAIxB,IAAMC,iBAAiB,CAAC,EAAEC,OAAOC,WAAU,MAAmD;AACnG,QAAM,EAAEC,EAAC,IAAKC,eAAAA;AACd,QAAMC,YAAYC,aAAa;IAAEJ;IAAYD;EAAM,CAAA;AACnD,SAAOM,QACL,MACEF,UACGG,IAAI,CAACC,cAAc;IAClBC,OAAOD;IACPE,OAAOR,EAAE,kBAAkB;MAAES,IAAIH;MAAUI,cAAcJ;IAAS,CAAA;EACpE,EAAA,EACCK,SAAS,CAACC,GAAGC,MAAMD,EAAEJ,MAAMM,cAAcD,EAAEL,KAAK,CAAA,GACrD;IAACR;IAAGE;GAAU;AAElB;",
6
+ "names": ["Capabilities", "AppCapabilities", "useLayout", "ClientCapabilities", "parseId", "useSpace", "getActiveSpace", "capabilities", "client", "get", "ClientCapabilities", "Client", "registry", "Capabilities", "AtomRegistry", "layoutAtom", "AppCapabilities", "Layout", "layout", "spaceId", "parseId", "workspace", "spaces", "undefined", "useActiveSpace", "useLayout", "useSpace", "React", "useCallback", "Surface", "usePluginManager", "useInputSurfaceLookup", "baseData", "pluginManager", "usePluginManager", "useCallback", "schema", "prop", "fieldProps", "data", "Surface", "isAvailable", "capabilities", "role", "Option", "useEffect", "useState", "Graph", "usePath", "graph", "id", "timeout", "pathState", "setPathState", "useState", "Graph", "getPath", "target", "none", "useEffect", "isSome", "value", "at", "frame", "requestAnimationFrame", "path", "waitForPath", "some", "cancelAnimationFrame", "useMemo", "useTranslation", "useTypeOptions", "space", "annotation", "t", "useTranslation", "typenames", "getTypenames", "useMemo", "map", "typename", "value", "label", "ns", "defaultValue", "toSorted", "a", "b", "localeCompare"]
7
+ }
@@ -2,14 +2,14 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  SPACE_TYPE,
4
4
  SpaceOperation
5
- } from "./chunk-MPL6NHQX.mjs";
5
+ } from "./chunk-NYSDQPNM.mjs";
6
6
  import {
7
7
  meta
8
8
  } from "./chunk-SL4BJSUG.mjs";
9
9
 
10
10
  // src/util.tsx
11
11
  import * as Effect from "effect/Effect";
12
- import { Common } from "@dxos/app-framework";
12
+ import { LayoutOperation } from "@dxos/app-toolkit";
13
13
  import { SpaceState, isSpace } from "@dxos/client/echo";
14
14
  import { Filter, Obj, Query, Ref, Type } from "@dxos/echo";
15
15
  import { invariant } from "@dxos/invariant";
@@ -256,7 +256,7 @@ var constructSpaceActions = ({ space, personal, migrating }) => {
256
256
  }
257
257
  ],
258
258
  icon: "ph--plus--regular",
259
- disposition: "item",
259
+ disposition: "list-item-primary",
260
260
  testId: "spacePlugin.createObject"
261
261
  }
262
262
  }, {
@@ -468,11 +468,11 @@ var createObjectNode = ({ db, object, disposition, droppable = true, navigable =
468
468
  }
469
469
  };
470
470
  };
471
- var constructObjectActions = ({ object, graph, resolve, capabilities, deletable = true, navigable = false }) => {
471
+ var constructObjectActions = ({ object, graph, resolve, capabilities, deletable = true, navigable = false, shareableLinkOrigin }) => {
472
472
  const db = Obj.getDatabase(object);
473
473
  invariant(db, "Database not found", {
474
474
  F: __dxlog_file,
475
- L: 544,
475
+ L: 547,
476
476
  S: void 0,
477
477
  A: [
478
478
  "db",
@@ -482,7 +482,7 @@ var constructObjectActions = ({ object, graph, resolve, capabilities, deletable
482
482
  const typename = Obj.getTypename(object);
483
483
  invariant(typename, "Object has no typename", {
484
484
  F: __dxlog_file,
485
- L: 546,
485
+ L: 549,
486
486
  S: void 0,
487
487
  A: [
488
488
  "typename",
@@ -589,7 +589,7 @@ var constructObjectActions = ({ object, graph, resolve, capabilities, deletable
589
589
  object: createdObject
590
590
  });
591
591
  if (addResult.id) {
592
- yield* Operation.invoke(Common.LayoutOperation.Open, {
592
+ yield* Operation.invoke(LayoutOperation.Open, {
593
593
  subject: [
594
594
  addResult.id
595
595
  ]
@@ -667,7 +667,7 @@ var constructObjectActions = ({ object, graph, resolve, capabilities, deletable
667
667
  id: getId("copy-link"),
668
668
  type: Node.ActionType,
669
669
  data: () => Effect.promise(async () => {
670
- const url = `${window.location.origin}/${db.spaceId}/${Obj.getDXN(object).toString()}`;
670
+ const url = `${shareableLinkOrigin}/${db.spaceId}/${Obj.getDXN(object).toString()}`;
671
671
  await navigator.clipboard.writeText(url);
672
672
  }),
673
673
  properties: {
@@ -685,9 +685,9 @@ var constructObjectActions = ({ object, graph, resolve, capabilities, deletable
685
685
  ] : [],
686
686
  // TODO(wittjosiah): Factor out and apply to all nodes.
687
687
  {
688
- id: getId(Common.LayoutOperation.Expose.meta.key),
688
+ id: getId(LayoutOperation.Expose.meta.key),
689
689
  type: Node.ActionType,
690
- data: () => Operation.invoke(Common.LayoutOperation.Expose, {
690
+ data: () => Operation.invoke(LayoutOperation.Expose, {
691
691
  subject: Obj.getDXN(object).toString()
692
692
  }),
693
693
  properties: {
@@ -739,7 +739,7 @@ var cloneObject = async (object, resolve, newDb) => {
739
739
  const serializer = metadata.serializer;
740
740
  invariant(serializer, `No serializer for type: ${typename}`, {
741
741
  F: __dxlog_file,
742
- L: 776,
742
+ L: 779,
743
743
  S: void 0,
744
744
  A: [
745
745
  "serializer",
@@ -770,4 +770,4 @@ export {
770
770
  getNestedObjects,
771
771
  cloneObject
772
772
  };
773
- //# sourceMappingURL=chunk-7KMYUWSR.mjs.map
773
+ //# sourceMappingURL=chunk-FB5YNROS.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 { type Instruction } from '@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item';\nimport * as Effect from 'effect/Effect';\n\nimport { type CapabilityManager } from '@dxos/app-framework';\nimport { LayoutOperation } from '@dxos/app-toolkit';\nimport { type Space, SpaceState, isSpace } from '@dxos/client/echo';\nimport { type Database, Filter, Obj, Query, Ref, Type } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { Migrations } from '@dxos/migrations';\nimport { Operation } from '@dxos/operation';\nimport { Graph, Node } from '@dxos/plugin-graph';\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention/types';\nimport { type TreeData } from '@dxos/react-ui-list';\nimport { Collection, Expando } from '@dxos/schema';\nimport { createFilename } from '@dxos/util';\n\nimport { meta } from './meta';\nimport { SPACE_TYPE, SpaceOperation } from './types';\n\nexport const SPACES = `${meta.id}-spaces`;\nexport const COMPOSER_SPACE_LOCK = `${meta.id}/lock`;\n// TODO(wittjosiah): Remove.\nexport const SHARED = 'shared-spaces';\n\n// TODO(wittjosiah): Factor out? Expose via capability?\nexport const getSpaceDisplayName = (\n space: Space,\n { personal, namesCache = {} }: { personal?: boolean; namesCache?: Record<string, string> } = {},\n): string | [string, { ns: string }] => {\n return space.state.get() === SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0\n ? space.properties.name!\n : namesCache[space.id]\n ? namesCache[space.id]\n : personal\n ? ['personal space label', { ns: meta.id }]\n : ['unnamed space label', { ns: meta.id }];\n};\n\nconst getCollectionGraphNodePartials = ({\n collection,\n db,\n resolve,\n}: {\n collection: Collection.Collection;\n db: Database.Database;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n return {\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([db.spaceId]),\n role: 'branch',\n onTransferStart: (child: Node.Node<Obj.Unknown>, index?: number) => {\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // if (space && childSpace && !childSpace.key.equals(space.key)) {\n // // Create clone of child and add to destination space.\n // const newObject = clone(child.data, {\n // // TODO(wittjosiah): This needs to be generalized and not hardcoded here.\n // additional: [\n // child.data.content,\n // ...(child.data.objects ?? []),\n // ...(child.data.objects ?? []).map((object: TypedObject) => object.content),\n // ],\n // });\n // space.db.add(newObject);\n // collection.objects.push(newObject);\n // } else {\n\n // Add child to destination collection.\n // TODO(dmaretskyi): Compare by id.\n Obj.change(collection, (c) => {\n if (!c.objects.find((object) => object.target === child.data)) {\n if (typeof index !== 'undefined') {\n c.objects.splice(index, 0, Ref.make(child.data));\n } else {\n c.objects.push(Ref.make(child.data));\n }\n }\n });\n\n // }\n },\n onTransferEnd: (child: Node.Node<Obj.Unknown>, destination: Node.Node) => {\n // Remove child from origin collection.\n Obj.change(collection, (c) => {\n const index = c.objects.findIndex((object) => object.target === child.data);\n if (index > -1) {\n c.objects.splice(index, 1);\n }\n });\n\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // const destinationSpace =\n // destination.data instanceof SpaceProxy ? destination.data : getSpace(destination.data);\n // if (destinationSpace && childSpace && !childSpace.key.equals(destinationSpace.key)) {\n // // Mark child as deleted in origin space.\n // childSpace.db.remove(child.data);\n // }\n },\n onCopy: async (child: Node.Node<Obj.Unknown>, index?: number) => {\n // Create clone of child and add to destination space.\n const newObject = await cloneObject(child.data, resolve, db);\n db.add(newObject);\n Obj.change(collection, (c) => {\n if (typeof index !== 'undefined') {\n c.objects.splice(index, 0, Ref.make(newObject));\n } else {\n c.objects.push(Ref.make(newObject));\n }\n });\n },\n };\n};\n\nconst getSystemCollectionNodePartials = ({\n collection,\n db,\n resolve,\n}: {\n collection: Collection.Managed;\n db: Database.Database;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const metadata = resolve(collection.key);\n return {\n label: ['typename label', { ns: collection.key, count: 2 }],\n icon: metadata.icon,\n iconHue: metadata.iconHue,\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([db.spaceId]),\n role: 'branch',\n };\n};\n\nconst getSchemaGraphNodePartials = () => {\n return {\n role: 'branch',\n canDrop: () => false,\n };\n};\n\nconst checkPendingMigration = (space: Space) => {\n return (\n space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION ||\n (space.state.get() === SpaceState.SPACE_READY &&\n !!Migrations.versionProperty &&\n space.properties[Migrations.versionProperty] !== Migrations.targetVersion)\n );\n};\n\nexport const constructSpaceNode = ({\n space,\n navigable = false,\n personal,\n namesCache,\n resolve,\n graph,\n spacesOrder,\n}: {\n space: Space;\n navigable?: boolean;\n personal?: boolean;\n namesCache?: Record<string, string>;\n resolve: (typename: string) => Record<string, any>;\n /** Graph for sorting edges on rearrange. */\n graph?: Graph.ExpandableGraph;\n // TODO(wittjosiah): Should be Type.Expando but it doesn't work with the AtomQuery result type.\n /** Spaces order object for persisting workspace order. */\n spacesOrder?: Obj.Any;\n}) => {\n const hasPendingMigration = checkPendingMigration(space);\n const collection =\n space.state.get() === SpaceState.SPACE_READY && space.properties[Collection.Collection.typename]?.target;\n const partials =\n space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(Collection.Collection, collection)\n ? getCollectionGraphNodePartials({ collection, db: space.db, resolve })\n : {};\n\n const onRearrange =\n graph && spacesOrder\n ? (nextOrder: Space[]) => {\n // NOTE: This is needed to ensure order is updated by next animation frame.\n Graph.sortEdges(\n graph,\n Node.RootId,\n 'outbound',\n nextOrder.map(({ id }) => id),\n );\n\n // Persist order to database.\n Obj.change(spacesOrder, (mutableOrder: any) => {\n mutableOrder.order = nextOrder.map(({ id }) => id);\n });\n }\n : undefined;\n\n return {\n id: space.id,\n type: SPACE_TYPE,\n cacheable: ['label', 'icon', 'role'],\n data: space,\n properties: {\n ...partials,\n label: getSpaceDisplayName(space, { personal, namesCache }),\n description: space.state.get() === SpaceState.SPACE_READY && space.properties.description,\n hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,\n icon:\n space.state.get() === SpaceState.SPACE_READY && space.properties.icon\n ? `ph--${space.properties.icon}--regular`\n : undefined,\n iconHue: space.state.get() === SpaceState.SPACE_READY && space.properties.iconHue,\n disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,\n disposition: 'workspace',\n testId: 'spacePlugin.space',\n onRearrange,\n canDrop: (source: TreeData) => {\n // TODO(wittjosiah): Find a way to only allow space as source for rearranging.\n return Obj.isObject(source.item.data) || isSpace(source.item.data);\n },\n },\n nodes: [\n {\n id: `settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${meta.id}/settings`,\n data: null,\n properties: {\n label: ['settings panel label', { ns: meta.id }],\n icon: 'ph--faders--regular',\n disposition: 'alternate-tree',\n },\n nodes: [\n {\n id: `properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${meta.id}/properties`,\n data: `${meta.id}/properties`,\n properties: {\n label: ['space settings properties label', { ns: meta.id }],\n icon: 'ph--sliders--regular',\n position: 'hoist',\n testId: 'spacePlugin.general',\n },\n },\n {\n id: `members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${meta.id}/members`,\n data: `${meta.id}/members`,\n properties: {\n label: ['members panel label', { ns: meta.id }],\n icon: 'ph--users--regular',\n position: 'hoist',\n testId: 'spacePlugin.members',\n },\n },\n {\n id: `schema-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${meta.id}/schema`,\n data: `${meta.id}/schema`,\n properties: {\n label: ['space settings schema label', { ns: meta.id }],\n icon: 'ph--shapes--regular',\n testId: 'spacePlugin.schema',\n },\n },\n ],\n },\n ],\n };\n};\n\nexport const constructSpaceActions = ({\n space,\n personal,\n migrating,\n}: {\n space: Space;\n personal?: boolean;\n migrating?: boolean;\n}) => {\n const state = space.state.get();\n const hasPendingMigration = checkPendingMigration(space);\n const getId = (id: string) => `${id}/${space.id}`;\n const actions: Node.NodeArg<Node.ActionData<Operation.Service>>[] = [];\n\n if (hasPendingMigration) {\n actions.push({\n id: getId(SpaceOperation.Migrate.meta.key),\n type: Node.ActionGroupType,\n data: () => Operation.invoke(SpaceOperation.Migrate, { space }),\n properties: {\n label: ['migrate space label', { ns: meta.id }],\n icon: 'ph--database--regular',\n disposition: 'list-item-primary',\n disabled: migrating || Migrations.running(space),\n },\n });\n }\n\n if (state === SpaceState.SPACE_READY && !hasPendingMigration) {\n actions.push(\n {\n id: getId(SpaceOperation.OpenCreateObject.meta.key),\n type: Node.ActionType,\n data: () => Operation.invoke(SpaceOperation.OpenCreateObject, { target: space.db }),\n properties: {\n label: ['create object in space label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n {\n id: getId(SpaceOperation.Rename.meta.key),\n type: Node.ActionType,\n data: (params?: Node.InvokeProps) => Operation.invoke(SpaceOperation.Rename, { space, caller: params?.caller }),\n properties: {\n label: ['rename space label', { ns: meta.id }],\n icon: 'ph--pencil-simple-line--regular',\n keyBinding: {\n macos: 'shift+F6',\n windows: 'shift+F6',\n },\n },\n },\n );\n }\n\n return actions;\n};\n\nexport const createStaticSchemaNode = ({ schema, space }: { schema: Type.Entity.Any; space: Space }): Node.Node => {\n return {\n id: `${space.id}/${Type.getTypename(schema)}`,\n type: `${meta.id}/static-schema`,\n data: schema,\n properties: {\n label: ['typename label', { ns: Type.getTypename(schema), count: 2, default: Type.getTypename(schema) }],\n icon: 'ph--database--regular',\n iconHue: 'green',\n role: 'branch',\n selectable: false,\n canDrop: () => false,\n space,\n },\n };\n};\n\nexport const createStaticSchemaActions = ({\n schema,\n space,\n deletable,\n}: {\n schema: Type.Obj.Any;\n space: Space;\n deletable: boolean;\n}) => {\n const getId = (id: string) => `${space.id}/${Type.getTypename(schema)}/${id}`;\n\n const actions: Node.NodeArg<Node.ActionData<Operation.Service>>[] = [\n {\n id: getId(SpaceOperation.AddObject.meta.key),\n type: Node.ActionType,\n data: () =>\n Operation.invoke(SpaceOperation.OpenCreateObject, {\n target: space.db,\n views: true,\n initialFormValues: { typename: Type.getTypename(schema) },\n }),\n properties: {\n label: ['add view to schema label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.addViewToSchema',\n },\n },\n {\n id: getId(SpaceOperation.RenameObject.meta.key),\n type: Node.ActionType,\n data: () => Effect.fail(new Error('Not implemented')),\n properties: {\n label: ['rename object label', { ns: Type.getTypename(Type.PersistentType) }],\n icon: 'ph--pencil-simple-line--regular',\n disabled: true,\n disposition: 'list-item',\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceOperation.RemoveObjects.meta.key),\n type: Node.ActionType,\n data: () =>\n Effect.sync(() => {\n const index = space.properties.staticRecords.findIndex(\n (typename: string) => typename === Type.getTypename(schema),\n );\n if (index > -1) {\n Obj.change(space.properties, (p) => {\n p.staticRecords.splice(index, 1);\n });\n }\n }),\n properties: {\n label: ['delete object label', { ns: Type.getTypename(Type.PersistentType) }],\n icon: 'ph--trash--regular',\n disposition: 'list-item',\n disabled: !deletable,\n testId: 'spacePlugin.deleteObject',\n },\n },\n {\n id: getId(SpaceOperation.Snapshot.meta.key),\n type: Node.ActionType,\n data: Effect.fnUntraced(function* () {\n const result = yield* Operation.invoke(SpaceOperation.Snapshot, {\n db: space.db,\n query: Query.select(Filter.type(schema)).ast,\n });\n if (result.snapshot) {\n yield* Effect.tryPromise(() =>\n downloadBlob(result.snapshot, createFilename({ parts: [space.id, Type.getTypename(schema)], ext: 'json' })),\n );\n }\n }),\n properties: {\n label: ['snapshot by schema label', { ns: meta.id }],\n icon: 'ph--camera--regular',\n disposition: 'list-item',\n },\n },\n ];\n\n return actions;\n};\n\nexport const createObjectNode = ({\n db,\n object,\n disposition,\n droppable = true,\n navigable = false,\n managedCollectionChild = false,\n resolve,\n parentCollection,\n}: {\n db: Database.Database;\n object: Obj.Unknown;\n disposition?: string;\n droppable?: boolean;\n navigable?: boolean;\n managedCollectionChild?: boolean;\n resolve: (typename: string) => Record<string, any>;\n /** Parent collection for rearranging objects. */\n parentCollection?: Collection.Collection;\n}) => {\n const type = Obj.getTypename(object);\n if (!type) {\n return null;\n }\n\n const metadata = resolve(type);\n const partials = Obj.instanceOf(Collection.Collection, object)\n ? getCollectionGraphNodePartials({ collection: object, db, resolve })\n : Obj.instanceOf(Collection.Managed, object)\n ? getSystemCollectionNodePartials({ collection: object, db, resolve })\n : Obj.instanceOf(Type.PersistentType, object)\n ? getSchemaGraphNodePartials()\n : metadata.graphProps;\n\n // TODO(wittjosiah): Obj.getLabel isn't triggering reactivity in some cases.\n // e.g., create new collection with no name and rename it.\n const label = (object as any).name ||\n Obj.getLabel(object) ||\n // TODO(wittjosiah): Remove metadata labels.\n metadata.label?.(object) || ['object name placeholder', { ns: type, default: 'New item' }];\n\n const selectable =\n (!Obj.instanceOf(Type.PersistentType, object) &&\n !Obj.instanceOf(Collection.Managed, object) &&\n !Obj.instanceOf(Collection.Collection, object)) ||\n (navigable && Obj.instanceOf(Collection.Collection, object));\n\n return {\n id: Obj.getDXN(object).toString(),\n type,\n cacheable: ['label', 'icon', 'role'],\n data: object,\n properties: {\n label,\n icon: metadata.icon ?? 'ph--placeholder--regular',\n iconHue: metadata.iconHue,\n disposition,\n testId: 'spacePlugin.object',\n persistenceClass: 'echo',\n persistenceKey: db.spaceId,\n selectable,\n managedCollectionChild,\n onRearrange: parentCollection\n ? (nextOrder: unknown[]) => {\n Obj.change(parentCollection, (c) => {\n c.objects = nextOrder.filter(Obj.isObject).map(Ref.make);\n });\n }\n : undefined,\n blockInstruction: (source: TreeData, instruction: Instruction) => {\n if (source.item.properties.managedCollectionChild) {\n // TODO(wittjosiah): Support reordering system collections.\n // return !(managedCollectionChild && source.item.type === type && instruction.type.startsWith('reorder'));\n return true;\n }\n\n if (Obj.instanceOf(Collection.Managed, object)) {\n return !instruction.type.startsWith('reorder');\n }\n\n return managedCollectionChild;\n },\n canDrop: (source: TreeData) => {\n return droppable && Node.isGraphNode(source.item) && Obj.isObject(source.item.data);\n },\n ...partials,\n },\n };\n};\n\nexport const constructObjectActions = ({\n object,\n graph,\n resolve,\n capabilities,\n deletable = true,\n navigable = false,\n shareableLinkOrigin,\n}: {\n object: Obj.Unknown;\n graph: Graph.ReadableGraph;\n resolve: (typename: string) => Record<string, any>;\n capabilities: CapabilityManager.CapabilityManager;\n shareableLinkOrigin: string;\n deletable?: boolean;\n navigable?: boolean;\n}) => {\n const db = Obj.getDatabase(object);\n invariant(db, 'Database not found');\n const typename = Obj.getTypename(object);\n invariant(typename, 'Object has no typename');\n\n const getId = (id: string) => `${id}/${Obj.getDXN(object).toString()}`;\n\n const managedCollection = Obj.instanceOf(Collection.Managed, object) ? object : undefined;\n const metadata = managedCollection ? resolve(managedCollection.key) : {};\n const createObject = metadata.createObject;\n const inputSchema = metadata.inputSchema;\n\n const actions: Node.NodeArg<Node.ActionData<Operation.Service>>[] = [\n ...(Obj.instanceOf(Collection.Collection, object)\n ? [\n {\n id: getId(SpaceOperation.OpenCreateObject.meta.key),\n type: Node.ActionType,\n data: () => Operation.invoke(SpaceOperation.OpenCreateObject, { target: object }),\n properties: {\n label: ['create object in collection label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n ...(Obj.instanceOf(Type.PersistentType, object)\n ? [\n {\n id: getId(SpaceOperation.AddObject.meta.key),\n type: Node.ActionType,\n data: () =>\n Operation.invoke(SpaceOperation.OpenCreateObject, {\n target: db,\n views: true,\n initialFormValues: { typename: object.typename },\n }),\n properties: {\n label: ['add view to schema label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.addViewToSchema',\n },\n },\n {\n id: getId(SpaceOperation.Snapshot.meta.key),\n type: Node.ActionType,\n data: Effect.fnUntraced(function* () {\n const result = yield* Operation.invoke(SpaceOperation.Snapshot, {\n db,\n query: Query.select(Filter.type(Type.toEffectSchema(object.jsonSchema))).ast,\n });\n if (result.snapshot) {\n yield* Effect.promise(() =>\n downloadBlob(result.snapshot, createFilename({ parts: [db.spaceId, object.typename], ext: 'json' })),\n );\n }\n }),\n properties: {\n label: ['snapshot by schema label', { ns: meta.id }],\n icon: 'ph--camera--regular',\n disposition: 'list-item',\n },\n },\n ]\n : []),\n ...(createObject\n ? [\n {\n id: getId(SpaceOperation.OpenCreateObject.meta.key),\n type: Node.ActionType,\n data: Effect.fnUntraced(function* () {\n if (inputSchema) {\n yield* Operation.invoke(SpaceOperation.OpenCreateObject, {\n target: db,\n typename: managedCollection ? managedCollection.key : undefined,\n });\n } else {\n const createdObject = yield* createObject({}, { db, capabilities }) as Effect.Effect<\n Obj.Unknown,\n Error,\n never\n >;\n const addResult = yield* Operation.invoke(SpaceOperation.AddObject, {\n target: db,\n hidden: true,\n object: createdObject,\n });\n if (addResult.id) {\n yield* Operation.invoke(LayoutOperation.Open, { subject: [addResult.id] });\n }\n }\n }),\n properties: {\n label: ['create object in system collection label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n ...(managedCollection\n ? []\n : [\n {\n id: getId(SpaceOperation.RenameObject.meta.key),\n type: Node.ActionType,\n data: (params?: Node.InvokeProps) =>\n Operation.invoke(SpaceOperation.RenameObject, { object, caller: params?.caller }),\n properties: {\n label: ['rename object label', { ns: typename }],\n icon: 'ph--pencil-simple-line--regular',\n disposition: 'list-item',\n // TODO(wittjosiah): Not working.\n // keyBinding: {\n // macos: 'shift+F6',\n // },\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceOperation.RemoveObjects.meta.key),\n type: Node.ActionType,\n data: Effect.fnUntraced(function* () {\n const collection = Graph.getConnections(graph, Obj.getDXN(object).toString(), 'inbound').find(\n (node: Node.Node): node is Node.Node<Collection.Collection> =>\n Obj.instanceOf(Collection.Collection, node.data),\n )?.data;\n yield* Operation.invoke(SpaceOperation.RemoveObjects, { objects: [object], target: collection });\n }),\n properties: {\n label: ['delete object label', { ns: typename }],\n icon: 'ph--trash--regular',\n disposition: 'list-item',\n disabled: !deletable,\n // TODO(wittjosiah): This is a browser shortcut.\n // keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',\n testId: 'spacePlugin.deleteObject',\n },\n },\n ]),\n ...(navigable ||\n (!Obj.instanceOf(Collection.Collection, object) &&\n !Obj.instanceOf(Collection.Managed, object) &&\n !Obj.instanceOf(Type.PersistentType, object))\n ? [\n {\n id: getId('copy-link'),\n type: Node.ActionType,\n data: () =>\n Effect.promise(async () => {\n const url = `${shareableLinkOrigin}/${db.spaceId}/${Obj.getDXN(object).toString()}`;\n await navigator.clipboard.writeText(url);\n }),\n properties: {\n label: ['copy link label', { ns: meta.id }],\n icon: 'ph--link--regular',\n disposition: 'list-item',\n testId: 'spacePlugin.copyLink',\n },\n },\n ]\n : []),\n // TODO(wittjosiah): Factor out and apply to all nodes.\n {\n id: getId(LayoutOperation.Expose.meta.key),\n type: Node.ActionType,\n data: () => Operation.invoke(LayoutOperation.Expose, { subject: Obj.getDXN(object).toString() }),\n properties: {\n label: ['expose object label', { ns: meta.id }],\n icon: 'ph--eye--regular',\n disposition: 'heading-list-item',\n testId: 'spacePlugin.exposeObject',\n },\n },\n ];\n\n return actions;\n};\n\n// TODO(wittjosiah): Factor out.\nconst downloadBlob = async (blob: Blob, filename: string) => {\n const url = URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = filename;\n\n document.body.appendChild(a);\n a.click();\n\n document.body.removeChild(a);\n URL.revokeObjectURL(url);\n};\n\n/**\n * @deprecated This is a temporary solution.\n */\nexport const getNestedObjects = async (\n object: Obj.Unknown,\n resolve: (typename: string) => Record<string, any>,\n): Promise<Obj.Unknown[]> => {\n const type = Obj.getTypename(object);\n if (!type) {\n return [];\n }\n\n const metadata = resolve(type);\n const loadReferences = metadata?.loadReferences;\n if (typeof loadReferences !== 'function') {\n return [];\n }\n\n const objects: Obj.Unknown[] = await loadReferences(object);\n const nested = await Promise.all(objects.map((object) => getNestedObjects(object, resolve)));\n return [...objects, ...nested.flat()];\n};\n\n/**\n * @deprecated Workaround for ECHO not supporting clone.\n */\n// TODO(burdon): Remove.\nexport const cloneObject = async (\n object: Obj.Unknown,\n resolve: (typename: string) => Record<string, any>,\n newDb: Database.Database,\n): Promise<Obj.Unknown> => {\n const schema = Obj.getSchema(object);\n const typename = schema ? (Type.getTypename(schema) ?? Expando.Expando.typename) : Expando.Expando.typename;\n const metadata = resolve(typename);\n const serializer = metadata.serializer;\n invariant(serializer, `No serializer for type: ${typename}`);\n const content = await serializer.serialize({ object });\n return serializer.deserialize({ content, db: newDb, newId: true });\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Effect", "LayoutOperation", "SpaceState", "isSpace", "Filter", "Obj", "Query", "Ref", "Type", "invariant", "Migrations", "Operation", "Graph", "Node", "ATTENDABLE_PATH_SEPARATOR", "Collection", "Expando", "createFilename", "SPACES", "meta", "id", "COMPOSER_SPACE_LOCK", "SHARED", "getSpaceDisplayName", "space", "personal", "namesCache", "state", "get", "SpaceState", "SPACE_READY", "properties", "name", "length", "ns", "getCollectionGraphNodePartials", "collection", "db", "resolve", "acceptPersistenceClass", "Set", "acceptPersistenceKey", "spaceId", "role", "onTransferStart", "child", "index", "Obj", "change", "c", "objects", "find", "object", "target", "data", "splice", "Ref", "make", "push", "onTransferEnd", "destination", "findIndex", "onCopy", "newObject", "cloneObject", "add", "getSystemCollectionNodePartials", "metadata", "key", "label", "count", "icon", "iconHue", "getSchemaGraphNodePartials", "canDrop", "checkPendingMigration", "SPACE_REQUIRES_MIGRATION", "Migrations", "versionProperty", "targetVersion", "constructSpaceNode", "navigable", "graph", "spacesOrder", "hasPendingMigration", "Collection", "typename", "partials", "instanceOf", "onRearrange", "nextOrder", "Graph", "sortEdges", "Node", "RootId", "map", "mutableOrder", "order", "undefined", "type", "SPACE_TYPE", "cacheable", "description", "hue", "disabled", "disposition", "testId", "source", "isObject", "item", "isSpace", "nodes", "ATTENDABLE_PATH_SEPARATOR", "position", "constructSpaceActions", "migrating", "getId", "actions", "SpaceOperation", "Migrate", "ActionGroupType", "Operation", "invoke", "running", "OpenCreateObject", "ActionType", "Rename", "params", "caller", "keyBinding", "macos", "windows", "createStaticSchemaNode", "schema", "Type", "getTypename", "default", "selectable", "createStaticSchemaActions", "deletable", "AddObject", "views", "initialFormValues", "RenameObject", "fail", "Error", "PersistentType", "RemoveObjects", "sync", "staticRecords", "p", "Snapshot", "fnUntraced", "result", "query", "Query", "select", "Filter", "ast", "snapshot", "tryPromise", "downloadBlob", "createFilename", "parts", "ext", "createObjectNode", "droppable", "managedCollectionChild", "parentCollection", "Managed", "graphProps", "getLabel", "getDXN", "toString", "persistenceClass", "persistenceKey", "filter", "blockInstruction", "instruction", "startsWith", "isGraphNode", "constructObjectActions", "capabilities", "shareableLinkOrigin", "getDatabase", "invariant", "managedCollection", "createObject", "inputSchema", "toEffectSchema", "jsonSchema", "promise", "createdObject", "addResult", "hidden", "LayoutOperation", "Open", "subject", "getConnections", "node", "url", "navigator", "clipboard", "writeText", "Expose", "blob", "filename", "URL", "createObjectURL", "a", "document", "createElement", "href", "download", "body", "appendChild", "click", "removeChild", "revokeObjectURL", "getNestedObjects", "loadReferences", "nested", "Promise", "all", "flat", "newDb", "getSchema", "Expando", "serializer", "content", "serialize", "deserialize", "newId"]
7
+ }
@@ -25,9 +25,10 @@ import { Capability } from "@dxos/app-framework";
25
25
  var SpaceCapabilities;
26
26
 
27
27
  // src/types/events.ts
28
- import { ActivationEvent, Common } from "@dxos/app-framework";
28
+ import { ActivationEvent } from "@dxos/app-framework";
29
+ import { AppActivationEvents } from "@dxos/app-toolkit";
29
30
  (function(SpaceEvents2) {
30
- SpaceEvents2.StateReady = Common.ActivationEvent.createStateEvent(`${meta.id}/event/state-ready`);
31
+ SpaceEvents2.StateReady = AppActivationEvents.createStateEvent(`${meta.id}/event/state-ready`);
31
32
  SpaceEvents2.SetupSettingsPanel = ActivationEvent.make(`${meta.id}/event/setup-settings-panel`);
32
33
  SpaceEvents2.DefaultSpaceReady = ActivationEvent.make(`${meta.id}/event/default-space-ready`);
33
34
  SpaceEvents2.SpaceCreated = ActivationEvent.make(`${meta.id}/event/space-created`);
@@ -712,4 +713,4 @@ export {
712
713
  CollectionOperation,
713
714
  SpaceOperation
714
715
  };
715
- //# sourceMappingURL=chunk-MPL6NHQX.mjs.map
716
+ //# sourceMappingURL=chunk-NYSDQPNM.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/capabilities.ts", "../../../src/types/events.ts", "../../../src/types/form.ts", "../../../src/types/types.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Atom } from '@effect-atom/atom-react';\nimport type * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { type Space } from '@dxos/client/echo';\nimport { type Database } from '@dxos/echo';\nimport { type PublicKey } from '@dxos/keys';\nimport { type Operation } from '@dxos/operation';\nimport { type Collection } from '@dxos/schema';\nimport { type Label } from '@dxos/ui-types';\nimport { type ComplexMap, type Position } from '@dxos/util';\n\nimport { meta } from '../meta';\n\nimport { type ObjectViewerProps, type SpaceSettingsProps } from './types';\n\nexport namespace SpaceCapabilities {\n export const Settings = Capability.make<Atom.Writable<SpaceSettingsProps>>(`${meta.id}/capability/settings`);\n\n /** Schema for persisted space plugin state. */\n export const StateSchema = Schema.mutable(\n Schema.Struct({\n spaceNames: Schema.Record({ key: Schema.String, value: Schema.String }),\n enabledEdgeReplication: Schema.Boolean,\n }),\n );\n\n export type SpaceState = Schema.Schema.Type<typeof StateSchema>;\n\n /** Persisted state (stored in KVS/localStorage). */\n export const State = Capability.make<Atom.Writable<SpaceState>>(`${meta.id}/capability/state`);\n\n /** Ephemeral space plugin state (not persisted). */\n export type SpaceEphemeralState = {\n awaiting: string | undefined;\n sdkMigrationRunning: Record<string, boolean>;\n navigableCollections: boolean;\n viewersByObject: Record<string, ComplexMap<PublicKey, ObjectViewerProps>>;\n viewersByIdentity: ComplexMap<PublicKey, Set<string>>;\n };\n\n /** Transient/ephemeral state (not persisted). */\n export const EphemeralState = Capability.make<Atom.Writable<SpaceEphemeralState>>(\n `${meta.id}/capability/ephemeral-state`,\n );\n\n export type SettingsSection = { id: string; label: Label; position?: Position };\n export const SettingsSection = Capability.make<SettingsSection>(`${meta.id}/capability/settings-section`);\n\n export type OnCreateSpace = (params: {\n space: Space;\n isDefault: boolean;\n rootCollection: Collection.Collection;\n }) => Effect.Effect<void, Error, Operation.Service>;\n export const OnCreateSpace = Capability.make<OnCreateSpace>(`${meta.id}/capability/on-space-created`);\n\n export type OnSchemaAdded = (params: {\n db: Database.Database;\n schema: Schema.Schema.AnyNoContext;\n // TODO(wittjosiah): This is leaky.\n show?: boolean;\n }) => Effect.Effect<void, Error, Operation.Service>;\n export const OnSchemaAdded = Capability.make<OnSchemaAdded>(`${meta.id}/capability/on-schema-added`);\n\n // TODO(wittjosiah): Replace with migrations, this is not a sustainable solution.\n export type HandleRepair = (params: { space: Space; isDefault: boolean }) => Promise<void>;\n export const Repair = Capability.make<HandleRepair>(`${meta.id}/capability/repair`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { ActivationEvent } from '@dxos/app-framework';\nimport { AppActivationEvents } from '@dxos/app-toolkit';\n\nimport { meta } from '../meta';\n\nexport namespace SpaceEvents {\n export const StateReady = AppActivationEvents.createStateEvent(`${meta.id}/event/state-ready`);\n export const SetupSettingsPanel = ActivationEvent.make(`${meta.id}/event/setup-settings-panel`);\n export const DefaultSpaceReady = ActivationEvent.make(`${meta.id}/event/default-space-ready`);\n export const SpaceCreated = ActivationEvent.make(`${meta.id}/event/space-created`);\n export const SchemaAdded = ActivationEvent.make(`${meta.id}/event/schema-added`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Option from 'effect/Option';\nimport * as Schema from 'effect/Schema';\n\nimport { type Space } from '@dxos/client/echo';\nimport { Type } from '@dxos/echo';\nimport { EntityKind, SystemTypeAnnotation, createAnnotationHelper, getTypeAnnotation } from '@dxos/echo/internal';\n\nexport const TypeInputOptions = Schema.Struct({\n location: Schema.Array(Schema.Literal('database', 'runtime')),\n kind: Schema.Array(Schema.Literal('system', 'user')),\n registered: Schema.Array(Schema.Literal('registered', 'unregistered')),\n});\n\nexport type TypeInputOptions = Schema.Schema.Type<typeof TypeInputOptions>;\n\n/**\n * Used in forms to identify the field representing an object's type and determine which types are shown as options.\n */\nexport const TypeInputOptionsAnnotationId = Symbol.for('@dxos/schema/annotation/TypeInputOptions');\nexport const TypeInputOptionsAnnotation = createAnnotationHelper<TypeInputOptions>(TypeInputOptionsAnnotationId);\n\n// TODO(wittjosiah): This is too complicated and needs to be simplified.\nexport const getTypenames = ({ annotation, space }: { annotation: TypeInputOptions; space?: Space }) => {\n const includeRuntime = annotation.location.includes('runtime');\n const includeDatabase = annotation.location.includes('database');\n const includeSystemType = annotation.kind.includes('system');\n const includeUserType = annotation.kind.includes('user');\n const includeRegistered = annotation.registered.includes('registered');\n const includeUnregistered = annotation.registered.includes('unregistered');\n\n const runtimeTypenames =\n includeRuntime && space\n ? space.db.schemaRegistry\n .query({ location: ['runtime'] })\n .runSync()\n .filter((schema) => {\n const relation = getTypeAnnotation(schema)?.kind === EntityKind.Relation;\n if (relation) {\n return includeSystemType;\n }\n\n const system = SystemTypeAnnotation.get(schema).pipe(Option.getOrElse(() => false));\n if (system) {\n return includeSystemType;\n }\n\n return includeUserType;\n })\n .filter((schema) => {\n const registered = space?.properties.staticRecords?.includes(Type.getTypename(schema));\n return registered ? includeRegistered : includeUnregistered;\n })\n .map((schema) => Type.getTypename(schema))\n : [];\n\n const databaseTypenames =\n includeDatabase && includeRegistered && space\n ? space.db.schemaRegistry\n .query({ location: ['database'] })\n .runSync()\n .map((schema) => Type.getTypename(schema))\n : [];\n\n return Array.from(new Set<string>([...runtimeTypenames, ...databaseTypenames])).sort();\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport type * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { Capability, Plugin } from '@dxos/app-framework';\nimport { type PublicKey } from '@dxos/client';\n// TODO(wittjosiah): This pulls in full client.\nimport { SpaceSchema } from '@dxos/client/echo';\nimport { CancellableInvitationObservable, Invitation } from '@dxos/client/invitations';\nimport { Database, type Obj, QueryAST, Type } from '@dxos/echo';\nimport { Operation } from '@dxos/operation';\nimport { Collection, FieldSchema, View } from '@dxos/schema';\nimport { type ComplexMap } from '@dxos/util';\n\nimport { meta } from '../meta';\n\nimport { TypeInputOptionsAnnotation } from './form';\n\nexport const SPACE_DIRECTORY_HANDLE = `${meta.id}/directory`;\n\nexport const SPACE_TYPE = 'dxos.org/type/Space';\n\nexport type SpacePluginOptions = {\n /**\n * Origin used for shareable links (object copy-link and invitation base).\n * Defaults to window.location.origin.\n */\n shareableLinkOrigin?: string;\n\n /**\n * Path appended to shareableLinkOrigin to form the invitation base URL.\n * Defaults to '/'.\n */\n invitationPath?: string;\n\n /**\n * Query parameter name for the invitation code.\n */\n invitationProp?: string;\n\n /**\n * Whether to send observability events.\n */\n observability?: boolean;\n};\n\nexport type ObjectViewerProps = {\n lastSeen: number;\n currentlyAttended: boolean;\n};\n\nexport type ObjectId = string;\n\nexport type PluginState = {\n /**\n * Which objects are currently being viewed by which peers.\n */\n viewersByObject: Record<ObjectId, ComplexMap<PublicKey, ObjectViewerProps>>;\n\n /**\n * Which peers are currently viewing which objects.\n */\n viewersByIdentity: ComplexMap<PublicKey, Set<ObjectId>>;\n\n /**\n * Object that was linked to directly but not found and is being awaited.\n */\n awaiting: string | undefined;\n\n /**\n * Cached space names, used when spaces are closed or loading.\n */\n spaceNames: Record<string, string>;\n\n /**\n * Which spaces have an SDK migration running currently.\n */\n // TODO(wittjosiah): Factor out to sdk. Migration running should probably be a space state.\n sdkMigrationRunning: Record<string, boolean>;\n\n /**\n * Whether or not the user can navigate to collections in the graph.\n * Determined by whether or not there is an available plugin that can render a collection.\n */\n navigableCollections: boolean;\n\n /**\n * Tracks whether setting edge replication as default has been run on spaces.\n */\n // TODO(wittjosiah): Systematic way to handle migrations of state outside of spaces.\n enabledEdgeReplication: boolean;\n};\n\nexport const SpaceSettingsSchema = Schema.mutable(\n Schema.Struct({\n /**\n * Show closed spaces.\n */\n showHidden: Schema.Boolean,\n }),\n);\n\nexport type SpaceSettingsProps = Schema.Schema.Type<typeof SpaceSettingsSchema>;\n\n// TODO(wittjosiah): Reconcile with graph export serializers.\n\nexport type SerializerMap = Record<string, TypedObjectSerializer>;\n\nexport interface TypedObjectSerializer<T extends Obj.Unknown = Obj.Unknown> {\n serialize(params: { object: T }): Promise<string>;\n\n /**\n * @param params.content\n * @param params.space Space to use for deserializing schema references.\n * @param params.newId Generate new ID for deserialized object.\n */\n deserialize(params: { content: string; db: Database.Database; newId?: boolean }): Promise<T>;\n}\n\n/**\n * Factory function that creates an object directly using Type.make().\n * Returns an Effect that resolves to the created object.\n *\n * Options include:\n * - `db`: The database to use for object creation.\n */\nexport type CreateObject = (\n props: any,\n options: { db: Database.Database },\n) => Effect.Effect<Obj.Unknown, Error, Capability.Service | Operation.Service>;\n\n// TODO(burdon): Move to FormatEnum or SDK.\nexport const IconAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Icon');\nexport const HueAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Hue');\n\n// TOOD(burdon): Use SpacePropertiesSchema.\nexport const SpaceForm = Schema.Struct({\n name: Schema.optional(Schema.String.annotations({ title: 'Name' })),\n icon: Schema.optional(Schema.String.annotations({ title: 'Icon', [IconAnnotationId]: true })),\n hue: Schema.optional(Schema.String.annotations({ title: 'Color', [HueAnnotationId]: true })),\n edgeReplication: Schema.optional(Schema.Boolean.annotations({ title: 'Enable EDGE Replication' })),\n});\n\nconst COLLECTION_OPERATION = 'dxos.org/plugin/collection/operation';\n\nexport namespace CollectionOperation {\n export const Create = Operation.make({\n meta: { key: `${COLLECTION_OPERATION}/create`, name: 'Create Collection' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: Collection.Collection,\n }),\n },\n });\n}\n\nconst SPACE_OPERATION = `${meta.id}/operation`;\n\n/**\n * Operations for the Space plugin.\n */\nexport namespace SpaceOperation {\n export const Create = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/create`,\n name: 'Create Space',\n description: 'Create a new space.',\n },\n services: [Capability.Service, Plugin.Service],\n schema: {\n input: SpaceForm,\n output: Schema.Struct({\n id: Schema.String,\n subject: Schema.Array(Schema.String),\n space: SpaceSchema,\n }),\n },\n });\n\n export const Join = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/join`,\n name: 'Join Space',\n description: 'Join a space via invitation.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n invitationCode: Schema.optional(Schema.String),\n onDone: Schema.optional(Schema.Any),\n }),\n output: Schema.Void,\n },\n });\n\n export const Open = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/open`,\n name: 'Open Space',\n description: 'Open a space.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n },\n });\n\n export const Close = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/close`,\n name: 'Close Space',\n description: 'Close a space.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n },\n });\n\n export const Share = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/share`,\n name: 'Share Space',\n description: 'Share a space.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n space: SpaceSchema,\n type: Schema.Enums(Invitation.Type),\n authMethod: Schema.Enums(Invitation.AuthMethod),\n multiUse: Schema.Boolean,\n target: Schema.optional(Schema.String),\n }),\n output: Schema.instanceOf(CancellableInvitationObservable),\n },\n });\n\n // TODO(wittjosiah): This appears to be unused.\n export const Lock = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/lock`,\n name: 'Lock Space',\n description: 'Lock a space to prevent modifications.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n },\n });\n\n // TODO(wittjosiah): This appears to be unused.\n export const Unlock = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/unlock`,\n name: 'Unlock Space',\n description: 'Unlock a space to allow modifications.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n },\n });\n\n export const OpenSettings = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/open-settings`,\n name: 'Open Space Settings',\n description: 'Open space settings.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n },\n });\n\n export const WaitForObject = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/wait-for-object`,\n name: 'Wait For Object',\n description: 'Wait for an object to be available.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n id: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n },\n });\n\n export const AddObject = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/add-object`,\n name: 'Add Object',\n description: 'Add an object to a space.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n object: Type.Obj.annotations({ description: 'The object to add.' }),\n target: Schema.Union(Database.Database, Collection.Collection).annotations({\n description: 'The database or collection to add to.',\n }),\n hidden: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Struct({\n id: Schema.String,\n subject: Schema.Array(Schema.String),\n object: Type.Obj,\n }),\n },\n });\n\n export const RemoveObjectsOutput = Schema.Struct({\n objects: Schema.Array(Type.Obj).annotations({ description: 'The removed objects.' }),\n parentCollection: Collection.Collection.annotations({ description: 'The collection removed from.' }),\n indices: Schema.Array(Schema.Number).annotations({ description: 'The indices the objects were at.' }),\n nestedObjectsList: Schema.Array(Schema.Array(Type.Obj)).annotations({\n description: 'Nested objects that were removed.',\n }),\n wasActive: Schema.Array(Schema.String).annotations({\n description: 'IDs of objects that were active before removal.',\n }),\n });\n\n export type RemoveObjectsOutput = Schema.Schema.Type<typeof RemoveObjectsOutput>;\n\n export const RemoveObjects = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/remove-objects`,\n name: 'Remove Objects',\n description: 'Remove objects from a space.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n objects: Schema.Array(Type.Obj).annotations({ description: 'The objects to remove.' }),\n target: Schema.optional(Collection.Collection).annotations({ description: 'The collection to remove from.' }),\n }),\n output: RemoveObjectsOutput,\n },\n });\n\n export const DeleteFieldOutput = Schema.Struct({\n field: FieldSchema.annotations({ description: 'The deleted field schema.' }),\n // TODO(wittjosiah): This creates a type error with PropertySchema.\n props: Schema.Any.annotations({ description: 'The deleted field properties.' }),\n index: Schema.Number.annotations({ description: 'The index the field was at.' }),\n });\n\n export type DeleteFieldOutput = Schema.Schema.Type<typeof DeleteFieldOutput>;\n\n export const DeleteField = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/delete-field`,\n name: 'Delete Field',\n description: 'Delete a field from a view.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n view: View.View.annotations({ description: 'The view to delete the field from.' }),\n fieldId: Schema.String,\n }),\n output: DeleteFieldOutput,\n },\n });\n\n export const OpenCreateObject = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/open-create-object`,\n name: 'Open Create Object Dialog',\n description: 'Open the create object dialog.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n target: Schema.Union(Database.Database, Collection.Collection).annotations({\n description: 'The database or collection to create in.',\n }),\n views: Schema.optional(Schema.Boolean),\n typename: Schema.optional(Schema.String),\n initialFormValues: Schema.optional(Schema.Any),\n navigable: Schema.optional(Schema.Boolean),\n // TODO(wittjosiah): This is a function, is there a better way to handle this?\n onCreateObject: Schema.optional(Schema.Any),\n }),\n output: Schema.Void,\n },\n });\n\n export const OpenCreateSpace = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/open-create-space`,\n name: 'Open Create Space Dialog',\n description: 'Open the create space dialog.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Void,\n output: Schema.Void,\n },\n });\n\n export const Migrate = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/migrate`,\n name: 'Migrate Space',\n description: 'Migrate a space to a new version.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n space: SpaceSchema,\n version: Schema.optional(Schema.String),\n }),\n output: Schema.Boolean,\n },\n });\n\n export const Snapshot = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/snapshot`,\n name: 'Create Snapshot',\n description: 'Create a snapshot of the space.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n db: Database.Database,\n query: QueryAST.Query.pipe(Schema.optional),\n }),\n output: Schema.Struct({\n snapshot: Schema.instanceOf(Blob),\n }),\n },\n });\n\n export const Rename = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/rename`,\n name: 'Rename Space',\n description: 'Rename a space.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n space: SpaceSchema,\n caller: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n },\n });\n\n export const RenameObject = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/rename-object`,\n name: 'Rename Object',\n description: 'Rename an object.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n object: Type.Obj,\n caller: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n },\n });\n\n export const OpenMembers = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/open-members`,\n name: 'Open Members',\n description: 'Open the members panel for a space.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n },\n });\n\n export const GetShareLink = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/get-share-link`,\n name: 'Get Share Link',\n description: 'Get a shareable link for a space.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n space: SpaceSchema,\n target: Schema.optional(Schema.String),\n copyToClipboard: Schema.optional(Schema.Boolean),\n }),\n output: Schema.String,\n },\n });\n\n export const StoredSchemaForm = Schema.Struct({\n name: Schema.optional(Schema.String),\n typename: Schema.String.pipe(\n Schema.annotations({ title: 'Select type (leave blank to create a new type)' }),\n TypeInputOptionsAnnotation.set({\n location: ['runtime'],\n kind: ['user'],\n registered: ['unregistered'],\n }),\n Schema.optional,\n ),\n });\n\n export const UseStaticSchema = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/use-static-schema`,\n name: 'Use Static Schema',\n description: 'Use a static schema in the space.',\n },\n services: [Capability.Service, Plugin.Service],\n schema: {\n input: Schema.Struct({\n db: Database.Database,\n typename: Schema.String,\n show: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Struct({}),\n },\n });\n\n export const AddSchema = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/add-schema`,\n name: 'Add Schema',\n description: 'Add a schema to the space.',\n },\n services: [Capability.Service, Plugin.Service],\n schema: {\n input: Schema.Struct({\n db: Database.Database,\n name: Schema.optional(Schema.String),\n typename: Schema.optional(Schema.String),\n version: Schema.optional(Schema.String),\n // TODO(wittjosiah): Schema for schema?\n schema: Schema.Any,\n show: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Struct({\n id: Schema.String,\n object: Type.PersistentType,\n schema: Schema.instanceOf(Type.RuntimeType),\n }),\n },\n });\n\n export const AddRelation = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/add-relation`,\n name: 'Add Relation',\n description: 'Add a relation between objects.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n db: Database.Database,\n // TODO(wittjosiah): Relation schema.\n schema: Schema.Any,\n source: Type.Obj,\n target: Type.Obj,\n // TODO(wittjosiah): Type based on relation schema.\n fields: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Any })),\n }),\n output: Schema.Struct({\n relation: Schema.Any,\n }),\n },\n });\n\n // TODO(wittjosiah): This appears to be unused.\n export const DuplicateObject = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/duplicate-object`,\n name: 'Duplicate Object',\n description: 'Duplicate an object.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n object: Type.Obj,\n target: Schema.Union(Database.Database, Collection.Collection),\n }),\n output: Schema.Void,\n },\n });\n\n /**\n * Restore a deleted field to a view (inverse of DeleteField).\n */\n export const RestoreField = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/restore-field`,\n name: 'Restore Field',\n description: 'Restore a deleted field to a view.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n view: View.View.annotations({ description: 'The view to restore the field to.' }),\n field: FieldSchema.annotations({ description: 'The field schema to restore.' }),\n // TODO(wittjosiah): This creates a type error with PropertySchema.\n props: Schema.Any.annotations({ description: 'The field properties to restore.' }),\n index: Schema.Number.annotations({ description: 'The index to restore the field at.' }),\n }),\n output: Schema.Void,\n },\n });\n\n /**\n * Restore deleted objects to a space (inverse of RemoveObjects).\n */\n export const RestoreObjects = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/restore-objects`,\n name: 'Restore Objects',\n description: 'Restore deleted objects to a space.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n objects: Schema.Array(Type.Obj).annotations({ description: 'The objects to restore.' }),\n parentCollection: Collection.Collection.annotations({ description: 'The collection to restore to.' }),\n indices: Schema.Array(Schema.Number).annotations({ description: 'The indices to restore at.' }),\n nestedObjectsList: Schema.Array(Schema.Array(Type.Obj)).annotations({\n description: 'Nested objects to restore.',\n }),\n wasActive: Schema.Array(Schema.String).annotations({\n description: 'IDs of objects that were active before deletion.',\n }),\n }),\n output: Schema.Void,\n },\n });\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["Schema", "Capability", "SpaceCapabilities", "Settings", "Capability", "make", "meta", "id", "StateSchema", "mutable", "Struct", "spaceNames", "Record", "key", "String", "value", "enabledEdgeReplication", "Boolean", "State", "EphemeralState", "SettingsSection", "OnCreateSpace", "OnSchemaAdded", "Repair", "ActivationEvent", "AppActivationEvents", "SpaceEvents", "StateReady", "AppActivationEvents", "createStateEvent", "meta", "id", "SetupSettingsPanel", "ActivationEvent", "make", "DefaultSpaceReady", "SpaceCreated", "SchemaAdded", "Option", "Schema", "Type", "EntityKind", "SystemTypeAnnotation", "createAnnotationHelper", "getTypeAnnotation", "TypeInputOptions", "Struct", "location", "Array", "Literal", "kind", "registered", "TypeInputOptionsAnnotationId", "Symbol", "for", "TypeInputOptionsAnnotation", "createAnnotationHelper", "getTypenames", "annotation", "space", "includeRuntime", "includes", "includeDatabase", "includeSystemType", "includeUserType", "includeRegistered", "includeUnregistered", "runtimeTypenames", "db", "schemaRegistry", "query", "runSync", "filter", "schema", "relation", "getTypeAnnotation", "EntityKind", "Relation", "system", "SystemTypeAnnotation", "get", "pipe", "getOrElse", "properties", "staticRecords", "Type", "getTypename", "map", "databaseTypenames", "from", "Set", "sort", "Schema", "Capability", "Plugin", "SpaceSchema", "CancellableInvitationObservable", "Invitation", "Database", "QueryAST", "Type", "Operation", "Collection", "FieldSchema", "View", "SPACE_DIRECTORY_HANDLE", "meta", "id", "SPACE_TYPE", "SpaceSettingsSchema", "mutable", "Struct", "showHidden", "Boolean", "IconAnnotationId", "Symbol", "for", "HueAnnotationId", "SpaceForm", "name", "optional", "String", "annotations", "title", "icon", "hue", "edgeReplication", "COLLECTION_OPERATION", "CollectionOperation", "Create", "Operation", "make", "key", "services", "Capability", "Service", "schema", "input", "output", "object", "Collection", "SPACE_OPERATION", "SpaceOperation", "description", "Plugin", "subject", "Array", "space", "SpaceSchema", "Join", "invitationCode", "onDone", "Any", "Void", "Open", "Close", "Share", "type", "Enums", "Invitation", "Type", "authMethod", "AuthMethod", "multiUse", "target", "instanceOf", "CancellableInvitationObservable", "Lock", "Unlock", "OpenSettings", "WaitForObject", "AddObject", "Obj", "Union", "Database", "hidden", "RemoveObjectsOutput", "objects", "parentCollection", "indices", "Number", "nestedObjectsList", "wasActive", "RemoveObjects", "DeleteFieldOutput", "field", "FieldSchema", "props", "index", "DeleteField", "view", "View", "fieldId", "OpenCreateObject", "views", "typename", "initialFormValues", "navigable", "onCreateObject", "OpenCreateSpace", "Migrate", "version", "Snapshot", "db", "query", "QueryAST", "Query", "pipe", "snapshot", "Blob", "Rename", "caller", "RenameObject", "OpenMembers", "GetShareLink", "copyToClipboard", "StoredSchemaForm", "TypeInputOptionsAnnotation", "set", "location", "kind", "registered", "UseStaticSchema", "show", "AddSchema", "PersistentType", "RuntimeType", "AddRelation", "source", "fields", "Record", "value", "relation", "DuplicateObject", "RestoreField", "RestoreObjects"]
7
+ }
@@ -6,10 +6,10 @@ var IdentityCreated = Capability.lazy("IdentityCreated", () => import("./identit
6
6
 
7
7
  // src/capabilities/operation-resolver/index.ts
8
8
  import { Capability as Capability2 } from "@dxos/app-framework";
9
- var OperationResolver = Capability2.lazy("OperationResolver", () => import("./operation-resolver-ZE3XJL5J.mjs"));
9
+ var OperationResolver = Capability2.lazy("OperationResolver", () => import("./operation-resolver-2K7N4KYC.mjs"));
10
10
 
11
11
  export {
12
12
  IdentityCreated,
13
13
  OperationResolver
14
14
  };
15
- //# sourceMappingURL=chunk-HREWB23G.mjs.map
15
+ //# sourceMappingURL=chunk-PG7DNOEX.mjs.map