@dxos/plugin-space 0.8.3-main.672df60 → 0.8.3-staging.0fa589b

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 (237) hide show
  1. package/dist/lib/browser/{app-graph-builder-DCWUULKX.mjs → app-graph-builder-M2RH72VL.mjs} +49 -14
  2. package/dist/lib/browser/app-graph-builder-M2RH72VL.mjs.map +7 -0
  3. package/dist/lib/browser/{app-graph-serializer-MLU7XI2P.mjs → app-graph-serializer-F7ISRRBV.mjs} +13 -13
  4. package/dist/lib/browser/app-graph-serializer-F7ISRRBV.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-VEBKN45O.mjs → chunk-4ZKSFDXM.mjs} +29 -17
  6. package/dist/lib/browser/chunk-4ZKSFDXM.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-3LN4LJN6.mjs → chunk-BXNL6SDI.mjs} +2 -1
  8. package/dist/lib/browser/chunk-BXNL6SDI.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-ZQEIXWBK.mjs → chunk-NFUKCRGE.mjs} +157 -141
  10. package/dist/lib/browser/chunk-NFUKCRGE.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-TW7O2EPP.mjs +284 -0
  12. package/dist/lib/browser/chunk-TW7O2EPP.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-N5QMRLKI.mjs → chunk-V24VASAJ.mjs} +112 -43
  14. package/dist/lib/browser/chunk-V24VASAJ.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-YMCZR6EZ.mjs +18 -0
  16. package/dist/lib/browser/chunk-YMCZR6EZ.mjs.map +7 -0
  17. package/dist/lib/browser/{identity-created-O63SIYOF.mjs → identity-created-PI7TKANR.mjs} +5 -10
  18. package/dist/lib/browser/identity-created-PI7TKANR.mjs.map +7 -0
  19. package/dist/lib/browser/index.mjs +61 -51
  20. package/dist/lib/browser/index.mjs.map +4 -4
  21. package/dist/lib/browser/{intent-resolver-PG473BRV.mjs → intent-resolver-RWU6ZE4H.mjs} +66 -45
  22. package/dist/lib/browser/intent-resolver-RWU6ZE4H.mjs.map +7 -0
  23. package/dist/lib/browser/meta.json +1 -1
  24. package/dist/lib/browser/{react-root-FRDC4UXB.mjs → react-root-QIKHSNT2.mjs} +5 -5
  25. package/dist/lib/browser/{react-surface-QOP7T66K.mjs → react-surface-W56UD53I.mjs} +79 -19
  26. package/dist/lib/browser/react-surface-W56UD53I.mjs.map +7 -0
  27. package/dist/lib/browser/{schema-defs-JMN74RNK.mjs → schema-defs-WREJNMIC.mjs} +2 -2
  28. package/dist/lib/browser/{schema-tools-JIEMHUXV.mjs → schema-tools-ILTVSSS3.mjs} +7 -6
  29. package/dist/lib/browser/schema-tools-ILTVSSS3.mjs.map +7 -0
  30. package/dist/lib/browser/{settings-2IN2WLUK.mjs → settings-K54STC5A.mjs} +4 -4
  31. package/dist/lib/browser/settings-K54STC5A.mjs.map +7 -0
  32. package/dist/lib/browser/{spaces-ready-L4QAGTDE.mjs → spaces-ready-3PDRDHPC.mjs} +12 -13
  33. package/dist/lib/browser/spaces-ready-3PDRDHPC.mjs.map +7 -0
  34. package/dist/lib/browser/{state-6HOSHLIN.mjs → state-HRZ4VRXU.mjs} +2 -2
  35. package/dist/lib/browser/types/index.mjs +1 -3
  36. package/dist/lib/node/{app-graph-builder-WC445X77.cjs → app-graph-builder-6LK5HLLE.cjs} +79 -43
  37. package/dist/lib/node/app-graph-builder-6LK5HLLE.cjs.map +7 -0
  38. package/dist/lib/node/{app-graph-serializer-UPQOQVMJ.cjs → app-graph-serializer-HKHBNHA3.cjs} +24 -23
  39. package/dist/lib/node/app-graph-serializer-HKHBNHA3.cjs.map +7 -0
  40. package/dist/lib/node/chunk-3X4EA4XL.cjs +37 -0
  41. package/dist/lib/node/chunk-3X4EA4XL.cjs.map +7 -0
  42. package/dist/lib/node/{chunk-DXL5TDFP.cjs → chunk-DOC5XEZ4.cjs} +32 -18
  43. package/dist/lib/node/chunk-DOC5XEZ4.cjs.map +7 -0
  44. package/dist/lib/node/{chunk-USFHJG7C.cjs → chunk-NCHF433F.cjs} +207 -190
  45. package/dist/lib/node/chunk-NCHF433F.cjs.map +7 -0
  46. package/dist/lib/node/{chunk-7GQGM4ZF.cjs → chunk-NL5Y4EDX.cjs} +5 -4
  47. package/dist/lib/node/chunk-NL5Y4EDX.cjs.map +7 -0
  48. package/dist/lib/node/chunk-ULJZPATP.cjs +312 -0
  49. package/dist/lib/node/chunk-ULJZPATP.cjs.map +7 -0
  50. package/dist/lib/node/{chunk-COQYISES.cjs → chunk-XHWVT7LW.cjs} +137 -67
  51. package/dist/lib/node/chunk-XHWVT7LW.cjs.map +7 -0
  52. package/dist/lib/node/{identity-created-UXEAUGC7.cjs → identity-created-FF4WZ2WY.cjs} +8 -10
  53. package/dist/lib/node/identity-created-FF4WZ2WY.cjs.map +7 -0
  54. package/dist/lib/node/index.cjs +130 -119
  55. package/dist/lib/node/index.cjs.map +4 -4
  56. package/dist/lib/node/{intent-resolver-VPVZSSIL.cjs → intent-resolver-AV4CMM3Z.cjs} +99 -79
  57. package/dist/lib/node/intent-resolver-AV4CMM3Z.cjs.map +7 -0
  58. package/dist/lib/node/meta.json +1 -1
  59. package/dist/lib/node/{react-root-JXLRINF3.cjs → react-root-RQUU3A45.cjs} +10 -10
  60. package/dist/lib/node/{react-surface-ZIYDBL3C.cjs → react-surface-AZFJLE72.cjs} +119 -58
  61. package/dist/lib/node/react-surface-AZFJLE72.cjs.map +7 -0
  62. package/dist/lib/node/{schema-defs-XLFBG3XK.cjs → schema-defs-OB2X2HBH.cjs} +6 -6
  63. package/dist/lib/node/{schema-tools-ZG6Z2QRC.cjs → schema-tools-IYREN4IH.cjs} +9 -8
  64. package/dist/lib/node/schema-tools-IYREN4IH.cjs.map +7 -0
  65. package/dist/lib/node/{settings-FOH7EB5C.cjs → settings-P2EQ7VKQ.cjs} +7 -7
  66. package/dist/lib/node/settings-P2EQ7VKQ.cjs.map +7 -0
  67. package/dist/lib/node/{spaces-ready-VXQYCBII.cjs → spaces-ready-DXPOHYV7.cjs} +26 -27
  68. package/dist/lib/node/spaces-ready-DXPOHYV7.cjs.map +7 -0
  69. package/dist/lib/node/{state-ZT3MTZXB.cjs → state-M35DK75Z.cjs} +6 -6
  70. package/dist/lib/node/types/index.cjs +11 -13
  71. package/dist/lib/node/types/index.cjs.map +2 -2
  72. package/dist/lib/node-esm/{app-graph-builder-E7CCGPQJ.mjs → app-graph-builder-BCHVZ4OM.mjs} +49 -14
  73. package/dist/lib/node-esm/app-graph-builder-BCHVZ4OM.mjs.map +7 -0
  74. package/dist/lib/node-esm/{app-graph-serializer-UCMSLPIA.mjs → app-graph-serializer-TXRGGNP2.mjs} +13 -13
  75. package/dist/lib/node-esm/app-graph-serializer-TXRGGNP2.mjs.map +7 -0
  76. package/dist/lib/node-esm/chunk-3CP67AYY.mjs +19 -0
  77. package/dist/lib/node-esm/chunk-3CP67AYY.mjs.map +7 -0
  78. package/dist/lib/node-esm/{chunk-4X4Y63ND.mjs → chunk-BSLREHIX.mjs} +2 -1
  79. package/dist/lib/node-esm/chunk-BSLREHIX.mjs.map +7 -0
  80. package/dist/lib/node-esm/chunk-D4QMPPS7.mjs +285 -0
  81. package/dist/lib/node-esm/chunk-D4QMPPS7.mjs.map +7 -0
  82. package/dist/lib/node-esm/{chunk-XAZNQ3QN.mjs → chunk-HO7AIKQS.mjs} +112 -43
  83. package/dist/lib/node-esm/chunk-HO7AIKQS.mjs.map +7 -0
  84. package/dist/lib/node-esm/{chunk-OSPEGYX3.mjs → chunk-JBQKU4K5.mjs} +29 -17
  85. package/dist/lib/node-esm/chunk-JBQKU4K5.mjs.map +7 -0
  86. package/dist/lib/node-esm/{chunk-BE2BLE7K.mjs → chunk-LA6AVVH6.mjs} +157 -141
  87. package/dist/lib/node-esm/chunk-LA6AVVH6.mjs.map +7 -0
  88. package/dist/lib/node-esm/{identity-created-ZECO4NH3.mjs → identity-created-35CTAQWI.mjs} +5 -9
  89. package/dist/lib/node-esm/identity-created-35CTAQWI.mjs.map +7 -0
  90. package/dist/lib/node-esm/index.mjs +61 -51
  91. package/dist/lib/node-esm/index.mjs.map +4 -4
  92. package/dist/lib/node-esm/{intent-resolver-SK5LP5ZK.mjs → intent-resolver-JO6L2VXC.mjs} +66 -45
  93. package/dist/lib/node-esm/intent-resolver-JO6L2VXC.mjs.map +7 -0
  94. package/dist/lib/node-esm/meta.json +1 -1
  95. package/dist/lib/node-esm/{react-root-K2KRGIT7.mjs → react-root-YFGL3B4J.mjs} +5 -5
  96. package/dist/lib/node-esm/{react-surface-XNUWZCSH.mjs → react-surface-CVAPDLEZ.mjs} +79 -19
  97. package/dist/lib/node-esm/react-surface-CVAPDLEZ.mjs.map +7 -0
  98. package/dist/lib/node-esm/{schema-defs-QZJS6UXN.mjs → schema-defs-4MEJETVX.mjs} +2 -2
  99. package/dist/lib/node-esm/{schema-tools-2Y4D42PD.mjs → schema-tools-SRLCRZ3B.mjs} +7 -6
  100. package/dist/lib/node-esm/schema-tools-SRLCRZ3B.mjs.map +7 -0
  101. package/dist/lib/node-esm/{settings-Q4XDFSYD.mjs → settings-TD76LTQS.mjs} +4 -4
  102. package/dist/lib/node-esm/settings-TD76LTQS.mjs.map +7 -0
  103. package/dist/lib/node-esm/{spaces-ready-JHKPD4PH.mjs → spaces-ready-FJMGPAVV.mjs} +12 -13
  104. package/dist/lib/node-esm/spaces-ready-FJMGPAVV.mjs.map +7 -0
  105. package/dist/lib/node-esm/{state-4ATRHSKA.mjs → state-XQNDCN37.mjs} +2 -2
  106. package/dist/lib/node-esm/types/index.mjs +1 -3
  107. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  108. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  109. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  110. package/dist/types/src/capabilities/capabilities.d.ts +8 -1
  111. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  112. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
  113. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  114. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  115. package/dist/types/src/capabilities/schema-tools.d.ts.map +1 -1
  116. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  117. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  118. package/dist/types/src/components/CollectionMain.d.ts +2 -2
  119. package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
  120. package/dist/types/src/components/CollectionSection.d.ts +2 -2
  121. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  122. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +3 -3
  123. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  124. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  125. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +8 -7
  126. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  127. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  128. package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
  129. package/dist/types/src/components/MenuFooter.d.ts +2 -2
  130. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  131. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts +2 -2
  132. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  133. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +2 -2
  134. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
  135. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts +2 -2
  136. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -1
  137. package/dist/types/src/components/SchemaContainer.d.ts +2 -2
  138. package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
  139. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  140. package/dist/types/src/components/SpacePresence.d.ts +2 -2
  141. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  142. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  143. package/dist/types/src/events.d.ts +1 -3
  144. package/dist/types/src/events.d.ts.map +1 -1
  145. package/dist/types/src/translations.d.ts +275 -2
  146. package/dist/types/src/translations.d.ts.map +1 -1
  147. package/dist/types/src/types/index.d.ts +0 -1
  148. package/dist/types/src/types/index.d.ts.map +1 -1
  149. package/dist/types/src/types/types.d.ts +81 -12
  150. package/dist/types/src/types/types.d.ts.map +1 -1
  151. package/dist/types/src/util.d.ts +16 -11
  152. package/dist/types/src/util.d.ts.map +1 -1
  153. package/package.json +45 -45
  154. package/src/{SpacePlugin.tsx → SpacePlugin.ts} +30 -10
  155. package/src/capabilities/app-graph-builder.ts +74 -20
  156. package/src/capabilities/app-graph-serializer.ts +11 -8
  157. package/src/capabilities/capabilities.ts +6 -1
  158. package/src/capabilities/identity-created.ts +5 -4
  159. package/src/capabilities/intent-resolver.ts +60 -36
  160. package/src/capabilities/react-surface.tsx +105 -29
  161. package/src/capabilities/schema-tools.ts +3 -2
  162. package/src/capabilities/settings.ts +6 -2
  163. package/src/capabilities/spaces-ready.ts +7 -8
  164. package/src/components/CollectionMain.tsx +3 -3
  165. package/src/components/CollectionSection.tsx +2 -2
  166. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +7 -6
  167. package/src/components/CreateDialog/CreateObjectDialog.tsx +31 -25
  168. package/src/components/CreateDialog/CreateObjectPanel.tsx +45 -52
  169. package/src/components/CreateDialog/CreateSpaceDialog.tsx +6 -5
  170. package/src/components/MembersContainer.tsx +4 -2
  171. package/src/components/MenuFooter.tsx +3 -2
  172. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +12 -4
  173. package/src/components/ObjectSettings/BaseObjectSettings.tsx +7 -7
  174. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +4 -4
  175. package/src/components/SchemaContainer.tsx +3 -3
  176. package/src/components/SpacePluginSettings.tsx +24 -19
  177. package/src/components/SpacePresence.tsx +22 -15
  178. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +2 -1
  179. package/src/events.ts +1 -5
  180. package/src/translations.ts +30 -14
  181. package/src/types/index.ts +0 -1
  182. package/src/types/types.ts +32 -11
  183. package/src/util.tsx +136 -57
  184. package/dist/lib/browser/app-graph-builder-DCWUULKX.mjs.map +0 -7
  185. package/dist/lib/browser/app-graph-serializer-MLU7XI2P.mjs.map +0 -7
  186. package/dist/lib/browser/chunk-3LN4LJN6.mjs.map +0 -7
  187. package/dist/lib/browser/chunk-N5QMRLKI.mjs.map +0 -7
  188. package/dist/lib/browser/chunk-VEBKN45O.mjs.map +0 -7
  189. package/dist/lib/browser/chunk-W46VVHFM.mjs +0 -288
  190. package/dist/lib/browser/chunk-W46VVHFM.mjs.map +0 -7
  191. package/dist/lib/browser/chunk-ZQEIXWBK.mjs.map +0 -7
  192. package/dist/lib/browser/identity-created-O63SIYOF.mjs.map +0 -7
  193. package/dist/lib/browser/intent-resolver-PG473BRV.mjs.map +0 -7
  194. package/dist/lib/browser/react-surface-QOP7T66K.mjs.map +0 -7
  195. package/dist/lib/browser/schema-tools-JIEMHUXV.mjs.map +0 -7
  196. package/dist/lib/browser/settings-2IN2WLUK.mjs.map +0 -7
  197. package/dist/lib/browser/spaces-ready-L4QAGTDE.mjs.map +0 -7
  198. package/dist/lib/node/app-graph-builder-WC445X77.cjs.map +0 -7
  199. package/dist/lib/node/app-graph-serializer-UPQOQVMJ.cjs.map +0 -7
  200. package/dist/lib/node/chunk-7GQGM4ZF.cjs.map +0 -7
  201. package/dist/lib/node/chunk-COQYISES.cjs.map +0 -7
  202. package/dist/lib/node/chunk-DXL5TDFP.cjs.map +0 -7
  203. package/dist/lib/node/chunk-FXHI7JNY.cjs +0 -315
  204. package/dist/lib/node/chunk-FXHI7JNY.cjs.map +0 -7
  205. package/dist/lib/node/chunk-USFHJG7C.cjs.map +0 -7
  206. package/dist/lib/node/identity-created-UXEAUGC7.cjs.map +0 -7
  207. package/dist/lib/node/intent-resolver-VPVZSSIL.cjs.map +0 -7
  208. package/dist/lib/node/react-surface-ZIYDBL3C.cjs.map +0 -7
  209. package/dist/lib/node/schema-tools-ZG6Z2QRC.cjs.map +0 -7
  210. package/dist/lib/node/settings-FOH7EB5C.cjs.map +0 -7
  211. package/dist/lib/node/spaces-ready-VXQYCBII.cjs.map +0 -7
  212. package/dist/lib/node-esm/app-graph-builder-E7CCGPQJ.mjs.map +0 -7
  213. package/dist/lib/node-esm/app-graph-serializer-UCMSLPIA.mjs.map +0 -7
  214. package/dist/lib/node-esm/chunk-4X4Y63ND.mjs.map +0 -7
  215. package/dist/lib/node-esm/chunk-BE2BLE7K.mjs.map +0 -7
  216. package/dist/lib/node-esm/chunk-FTELJGEG.mjs +0 -289
  217. package/dist/lib/node-esm/chunk-FTELJGEG.mjs.map +0 -7
  218. package/dist/lib/node-esm/chunk-OSPEGYX3.mjs.map +0 -7
  219. package/dist/lib/node-esm/chunk-XAZNQ3QN.mjs.map +0 -7
  220. package/dist/lib/node-esm/identity-created-ZECO4NH3.mjs.map +0 -7
  221. package/dist/lib/node-esm/intent-resolver-SK5LP5ZK.mjs.map +0 -7
  222. package/dist/lib/node-esm/react-surface-XNUWZCSH.mjs.map +0 -7
  223. package/dist/lib/node-esm/schema-tools-2Y4D42PD.mjs.map +0 -7
  224. package/dist/lib/node-esm/settings-Q4XDFSYD.mjs.map +0 -7
  225. package/dist/lib/node-esm/spaces-ready-JHKPD4PH.mjs.map +0 -7
  226. package/dist/types/src/types/collection.d.ts +0 -15
  227. package/dist/types/src/types/collection.d.ts.map +0 -1
  228. package/src/types/collection.ts +0 -18
  229. /package/dist/lib/browser/{react-root-FRDC4UXB.mjs.map → react-root-QIKHSNT2.mjs.map} +0 -0
  230. /package/dist/lib/browser/{schema-defs-JMN74RNK.mjs.map → schema-defs-WREJNMIC.mjs.map} +0 -0
  231. /package/dist/lib/browser/{state-6HOSHLIN.mjs.map → state-HRZ4VRXU.mjs.map} +0 -0
  232. /package/dist/lib/node/{react-root-JXLRINF3.cjs.map → react-root-RQUU3A45.cjs.map} +0 -0
  233. /package/dist/lib/node/{schema-defs-XLFBG3XK.cjs.map → schema-defs-OB2X2HBH.cjs.map} +0 -0
  234. /package/dist/lib/node/{state-ZT3MTZXB.cjs.map → state-M35DK75Z.cjs.map} +0 -0
  235. /package/dist/lib/node-esm/{react-root-K2KRGIT7.mjs.map → react-root-YFGL3B4J.mjs.map} +0 -0
  236. /package/dist/lib/node-esm/{schema-defs-QZJS6UXN.mjs.map → schema-defs-4MEJETVX.mjs.map} +0 -0
  237. /package/dist/lib/node-esm/{state-4ATRHSKA.mjs.map → state-XQNDCN37.mjs.map} +0 -0
@@ -16,8 +16,8 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_COQYISES_exports = {};
20
- __export(chunk_COQYISES_exports, {
19
+ var chunk_XHWVT7LW_exports = {};
20
+ __export(chunk_XHWVT7LW_exports, {
21
21
  COMPOSER_SPACE_LOCK: () => COMPOSER_SPACE_LOCK,
22
22
  SHARED: () => SHARED,
23
23
  SPACES: () => SPACES,
@@ -30,19 +30,20 @@ __export(chunk_COQYISES_exports, {
30
30
  getSpaceDisplayName: () => getSpaceDisplayName,
31
31
  rxFromQuery: () => rxFromQuery
32
32
  });
33
- module.exports = __toCommonJS(chunk_COQYISES_exports);
34
- var import_chunk_FXHI7JNY = require("./chunk-FXHI7JNY.cjs");
33
+ module.exports = __toCommonJS(chunk_XHWVT7LW_exports);
34
+ var import_chunk_ULJZPATP = require("./chunk-ULJZPATP.cjs");
35
35
  var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
36
36
  var import_rx_react = require("@effect-rx/rx-react");
37
+ var import_effect = require("effect");
37
38
  var import_app_framework = require("@dxos/app-framework");
39
+ var import_echo = require("@dxos/echo");
38
40
  var import_echo_schema = require("@dxos/echo-schema");
39
- var import_echo_schema2 = require("@dxos/echo-schema");
40
41
  var import_invariant = require("@dxos/invariant");
41
- var import_live_object = require("@dxos/live-object");
42
42
  var import_migrations = require("@dxos/migrations");
43
43
  var import_plugin_graph = require("@dxos/plugin-graph");
44
- var import_echo = require("@dxos/react-client/echo");
44
+ var import_echo2 = require("@dxos/react-client/echo");
45
45
  var import_react_ui_attention = require("@dxos/react-ui-attention");
46
+ var import_schema = require("@dxos/schema");
46
47
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/util.tsx";
47
48
  var SPACES = `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}-spaces`;
48
49
  var COMPOSER_SPACE_LOCK = "dxos.org/plugin/space/lock";
@@ -57,7 +58,7 @@ var rxFromQuery = (query) => {
57
58
  });
58
59
  };
59
60
  var getSpaceDisplayName = (space, { personal, namesCache = {} } = {}) => {
60
- return space.state.get() === import_echo.SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0 ? space.properties.name : namesCache[space.id] ? namesCache[space.id] : personal ? [
61
+ return space.state.get() === import_echo2.SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0 ? space.properties.name : namesCache[space.id] ? namesCache[space.id] : personal ? [
61
62
  "personal space label",
62
63
  {
63
64
  ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
@@ -69,7 +70,7 @@ var getSpaceDisplayName = (space, { personal, namesCache = {} } = {}) => {
69
70
  }
70
71
  ];
71
72
  };
72
- var getCollectionGraphNodePartials = ({ navigable, collection, space, resolve }) => {
73
+ var getCollectionGraphNodePartials = ({ collection, space, resolve }) => {
73
74
  return {
74
75
  acceptPersistenceClass: /* @__PURE__ */ new Set([
75
76
  "echo"
@@ -79,14 +80,14 @@ var getCollectionGraphNodePartials = ({ navigable, collection, space, resolve })
79
80
  ]),
80
81
  role: "branch",
81
82
  onRearrangeChildren: (nextOrder) => {
82
- collection.objects = nextOrder.filter(import_echo.isEchoObject).map(import_live_object.makeRef);
83
+ collection.objects = nextOrder.filter(import_echo.Obj.isObject).map(import_echo.Ref.make);
83
84
  },
84
85
  onTransferStart: (child, index) => {
85
86
  if (!collection.objects.find((object) => object.target === child.data)) {
86
87
  if (typeof index !== "undefined") {
87
- collection.objects.splice(index, 0, (0, import_live_object.makeRef)(child.data));
88
+ collection.objects.splice(index, 0, import_echo.Ref.make(child.data));
88
89
  } else {
89
- collection.objects.push((0, import_live_object.makeRef)(child.data));
90
+ collection.objects.push(import_echo.Ref.make(child.data));
90
91
  }
91
92
  }
92
93
  },
@@ -100,28 +101,46 @@ var getCollectionGraphNodePartials = ({ navigable, collection, space, resolve })
100
101
  const newObject = await cloneObject(child.data, resolve, space);
101
102
  space.db.add(newObject);
102
103
  if (typeof index !== "undefined") {
103
- collection.objects.splice(index, 0, (0, import_live_object.makeRef)(newObject));
104
+ collection.objects.splice(index, 0, import_echo.Ref.make(newObject));
104
105
  } else {
105
- collection.objects.push((0, import_live_object.makeRef)(newObject));
106
+ collection.objects.push(import_echo.Ref.make(newObject));
106
107
  }
107
108
  }
108
109
  };
109
110
  };
111
+ var getQueryCollectionNodePartials = ({ collection, space, resolve }) => {
112
+ return {
113
+ icon: collection.query.typename && resolve(collection.query.typename)?.icon,
114
+ acceptPersistenceClass: /* @__PURE__ */ new Set([
115
+ "echo"
116
+ ]),
117
+ acceptPersistenceKey: /* @__PURE__ */ new Set([
118
+ space.id
119
+ ]),
120
+ role: "branch",
121
+ canDrop: (source) => {
122
+ return (0, import_plugin_graph.isGraphNode)(source.item) && import_echo.Obj.isObject(source.item.data) && import_echo.Obj.getTypename(source.item.data) === collection.query.typename;
123
+ },
124
+ onTransferStart: (child, index) => {
125
+ },
126
+ onTransferEnd: (child, destination) => {
127
+ }
128
+ };
129
+ };
110
130
  var checkPendingMigration = (space) => {
111
- return space.state.get() === import_echo.SpaceState.SPACE_REQUIRES_MIGRATION || space.state.get() === import_echo.SpaceState.SPACE_READY && !!import_migrations.Migrations.versionProperty && space.properties[import_migrations.Migrations.versionProperty] !== import_migrations.Migrations.targetVersion;
131
+ return space.state.get() === import_echo2.SpaceState.SPACE_REQUIRES_MIGRATION || space.state.get() === import_echo2.SpaceState.SPACE_READY && !!import_migrations.Migrations.versionProperty && space.properties[import_migrations.Migrations.versionProperty] !== import_migrations.Migrations.targetVersion;
112
132
  };
113
133
  var constructSpaceNode = ({ space, navigable = false, personal, namesCache, resolve }) => {
114
134
  const hasPendingMigration = checkPendingMigration(space);
115
- const collection = space.state.get() === import_echo.SpaceState.SPACE_READY && space.properties[import_chunk_FXHI7JNY.CollectionType.typename]?.target;
116
- const partials = space.state.get() === import_echo.SpaceState.SPACE_READY && collection instanceof import_chunk_FXHI7JNY.CollectionType ? getCollectionGraphNodePartials({
135
+ const collection = space.state.get() === import_echo2.SpaceState.SPACE_READY && space.properties[import_echo.Type.getTypename(import_schema.DataType.Collection)]?.target;
136
+ const partials = space.state.get() === import_echo2.SpaceState.SPACE_READY && import_echo.Obj.instanceOf(import_schema.DataType.Collection, collection) ? getCollectionGraphNodePartials({
117
137
  collection,
118
138
  space,
119
- resolve,
120
- navigable
139
+ resolve
121
140
  }) : {};
122
141
  return {
123
142
  id: space.id,
124
- type: import_chunk_FXHI7JNY.SPACE_TYPE,
143
+ type: import_chunk_ULJZPATP.SPACE_TYPE,
125
144
  cacheable: [
126
145
  "label",
127
146
  "icon",
@@ -134,11 +153,14 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
134
153
  personal,
135
154
  namesCache
136
155
  }),
137
- description: space.state.get() === import_echo.SpaceState.SPACE_READY && space.properties.description,
138
- hue: space.state.get() === import_echo.SpaceState.SPACE_READY && space.properties.hue,
139
- icon: space.state.get() === import_echo.SpaceState.SPACE_READY && space.properties.icon ? `ph--${space.properties.icon}--regular` : void 0,
140
- disabled: !navigable || space.state.get() !== import_echo.SpaceState.SPACE_READY || hasPendingMigration,
141
- testId: "spacePlugin.space"
156
+ description: space.state.get() === import_echo2.SpaceState.SPACE_READY && space.properties.description,
157
+ hue: space.state.get() === import_echo2.SpaceState.SPACE_READY && space.properties.hue,
158
+ icon: space.state.get() === import_echo2.SpaceState.SPACE_READY && space.properties.icon ? `ph--${space.properties.icon}--regular` : void 0,
159
+ disabled: !navigable || space.state.get() !== import_echo2.SpaceState.SPACE_READY || hasPendingMigration,
160
+ testId: "spacePlugin.space",
161
+ canDrop: (source) => {
162
+ return import_echo.Obj.isObject(source.item.data) || (0, import_echo2.isSpace)(source.item.data);
163
+ }
142
164
  },
143
165
  nodes: [
144
166
  {
@@ -212,10 +234,10 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
212
234
  const actions = [];
213
235
  if (hasPendingMigration) {
214
236
  actions.push({
215
- id: getId(import_chunk_FXHI7JNY.SpaceAction.Migrate._tag),
237
+ id: getId(import_chunk_ULJZPATP.SpaceAction.Migrate._tag),
216
238
  type: import_plugin_graph.ACTION_GROUP_TYPE,
217
239
  data: async () => {
218
- await dispatch((0, import_app_framework.createIntent)(import_chunk_FXHI7JNY.SpaceAction.Migrate, {
240
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_ULJZPATP.SpaceAction.Migrate, {
219
241
  space
220
242
  }));
221
243
  },
@@ -232,12 +254,12 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
232
254
  }
233
255
  });
234
256
  }
235
- if (state === import_echo.SpaceState.SPACE_READY && !hasPendingMigration) {
257
+ if (state === import_echo2.SpaceState.SPACE_READY && !hasPendingMigration) {
236
258
  actions.push({
237
- id: getId(import_chunk_FXHI7JNY.SpaceAction.OpenCreateObject._tag),
259
+ id: getId(import_chunk_ULJZPATP.SpaceAction.OpenCreateObject._tag),
238
260
  type: import_plugin_graph.ACTION_TYPE,
239
261
  data: async () => {
240
- await dispatch((0, import_app_framework.createIntent)(import_chunk_FXHI7JNY.SpaceAction.OpenCreateObject, {
262
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_ULJZPATP.SpaceAction.OpenCreateObject, {
241
263
  target: space
242
264
  }));
243
265
  },
@@ -253,10 +275,10 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
253
275
  testId: "spacePlugin.createObject"
254
276
  }
255
277
  }, {
256
- id: getId(import_chunk_FXHI7JNY.SpaceAction.Rename._tag),
278
+ id: getId(import_chunk_ULJZPATP.SpaceAction.Rename._tag),
257
279
  type: import_plugin_graph.ACTION_TYPE,
258
280
  data: async (params) => {
259
- await dispatch((0, import_app_framework.createIntent)(import_chunk_FXHI7JNY.SpaceAction.Rename, {
281
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_ULJZPATP.SpaceAction.Rename, {
260
282
  space,
261
283
  caller: params?.caller
262
284
  }));
@@ -278,8 +300,8 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
278
300
  }
279
301
  return actions;
280
302
  };
281
- var createObjectNode = ({ object, space, navigable = false, resolve }) => {
282
- const type = (0, import_echo_schema.getTypename)(object);
303
+ var createObjectNode = ({ space, object, droppable = true, navigable = false, resolve }) => {
304
+ const type = import_echo.Obj.getTypename(object);
283
305
  if (!type) {
284
306
  return void 0;
285
307
  }
@@ -287,14 +309,17 @@ var createObjectNode = ({ object, space, navigable = false, resolve }) => {
287
309
  if (Object.keys(metadata).length === 0) {
288
310
  return void 0;
289
311
  }
290
- const partials = object instanceof import_chunk_FXHI7JNY.CollectionType ? getCollectionGraphNodePartials({
312
+ const partials = import_echo.Obj.instanceOf(import_schema.DataType.Collection, object) ? getCollectionGraphNodePartials({
313
+ collection: object,
314
+ space,
315
+ resolve
316
+ }) : import_echo.Obj.instanceOf(import_schema.DataType.QueryCollection, object) ? getQueryCollectionNodePartials({
291
317
  collection: object,
292
318
  space,
293
- resolve,
294
- navigable
319
+ resolve
295
320
  }) : metadata.graphProps;
296
321
  return {
297
- id: (0, import_echo.fullyQualifiedId)(object),
322
+ id: (0, import_echo2.fullyQualifiedId)(object),
298
323
  type,
299
324
  cacheable: [
300
325
  "label",
@@ -303,7 +328,7 @@ var createObjectNode = ({ object, space, navigable = false, resolve }) => {
303
328
  ],
304
329
  data: object,
305
330
  properties: {
306
- ...partials,
331
+ // TODO(burdon): Use annotation to get the name field.
307
332
  label: metadata.label?.(object) || object.name || [
308
333
  "object name placeholder",
309
334
  {
@@ -314,29 +339,35 @@ var createObjectNode = ({ object, space, navigable = false, resolve }) => {
314
339
  icon: metadata.icon ?? "ph--placeholder--regular",
315
340
  testId: "spacePlugin.object",
316
341
  persistenceClass: "echo",
317
- persistenceKey: space?.id
342
+ persistenceKey: space?.id,
343
+ canDrop: (source) => {
344
+ return droppable && (0, import_plugin_graph.isGraphNode)(source.item) && import_echo.Obj.isObject(source.item.data);
345
+ },
346
+ ...partials
318
347
  }
319
348
  };
320
349
  };
321
- var constructObjectActions = ({ object, graph, dispatch, navigable = false }) => {
322
- const space = (0, import_echo.getSpace)(object);
350
+ var constructObjectActions = ({ object, graph, dispatch, objectForms, navigable = false }) => {
351
+ const space = (0, import_echo2.getSpace)(object);
323
352
  (0, import_invariant.invariant)(space, "Space not found", {
324
353
  F: __dxlog_file,
325
- L: 362,
354
+ L: 398,
326
355
  S: void 0,
327
356
  A: [
328
357
  "space",
329
358
  "'Space not found'"
330
359
  ]
331
360
  });
332
- const getId = (id) => `${id}/${(0, import_echo.fullyQualifiedId)(object)}`;
361
+ const getId = (id) => `${id}/${(0, import_echo2.fullyQualifiedId)(object)}`;
362
+ const queryCollection = import_echo.Obj.instanceOf(import_schema.DataType.QueryCollection, object) ? object : void 0;
363
+ const matchingObjectForm = queryCollection ? objectForms.find((form) => import_echo.Type.getTypename(form.objectSchema) === queryCollection.query.typename) : void 0;
333
364
  const actions = [
334
- ...object instanceof import_chunk_FXHI7JNY.CollectionType ? [
365
+ ...import_echo.Obj.instanceOf(import_schema.DataType.Collection, object) ? [
335
366
  {
336
- id: getId(import_chunk_FXHI7JNY.SpaceAction.OpenCreateObject._tag),
367
+ id: getId(import_chunk_ULJZPATP.SpaceAction.OpenCreateObject._tag),
337
368
  type: import_plugin_graph.ACTION_TYPE,
338
369
  data: async () => {
339
- await dispatch((0, import_app_framework.createIntent)(import_chunk_FXHI7JNY.SpaceAction.OpenCreateObject, {
370
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_ULJZPATP.SpaceAction.OpenCreateObject, {
340
371
  target: object
341
372
  }));
342
373
  },
@@ -353,36 +384,71 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
353
384
  }
354
385
  }
355
386
  ] : [],
387
+ ...matchingObjectForm ? [
388
+ {
389
+ id: getId(import_chunk_ULJZPATP.SpaceAction.OpenCreateObject._tag),
390
+ type: import_plugin_graph.ACTION_TYPE,
391
+ data: async () => {
392
+ if (matchingObjectForm.formSchema) {
393
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_ULJZPATP.SpaceAction.OpenCreateObject, {
394
+ target: space,
395
+ typename: queryCollection?.query.typename
396
+ }));
397
+ } else {
398
+ await dispatch((0, import_effect.pipe)(matchingObjectForm.getIntent({}, {
399
+ space
400
+ }), (0, import_app_framework.chain)(import_chunk_ULJZPATP.SpaceAction.AddObject, {
401
+ target: space,
402
+ hidden: true
403
+ }), (0, import_app_framework.chain)(import_app_framework.LayoutAction.Open, {
404
+ part: "main"
405
+ })));
406
+ }
407
+ },
408
+ properties: {
409
+ label: [
410
+ "create object in smart collection label",
411
+ {
412
+ ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
413
+ }
414
+ ],
415
+ icon: "ph--plus--regular",
416
+ disposition: "list-item-primary",
417
+ testId: "spacePlugin.createObject"
418
+ }
419
+ }
420
+ ] : [],
356
421
  {
357
- id: getId(import_chunk_FXHI7JNY.SpaceAction.RenameObject._tag),
422
+ id: getId(import_chunk_ULJZPATP.SpaceAction.RenameObject._tag),
358
423
  type: import_plugin_graph.ACTION_TYPE,
359
424
  data: async (params) => {
360
- await dispatch((0, import_app_framework.createIntent)(import_chunk_FXHI7JNY.SpaceAction.RenameObject, {
425
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_ULJZPATP.SpaceAction.RenameObject, {
361
426
  object,
362
427
  caller: params?.caller
363
428
  }));
364
429
  },
365
430
  properties: {
366
431
  label: [
367
- object instanceof import_chunk_FXHI7JNY.CollectionType ? "rename collection label" : "rename object label",
432
+ import_echo.Obj.instanceOf(import_schema.DataType.Collection, object) ? "rename collection label" : "rename object label",
368
433
  {
369
434
  ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
370
435
  }
371
436
  ],
372
437
  icon: "ph--pencil-simple-line--regular",
373
- // TODO(wittjosiah): Need's focus.
374
- keyBinding: {
375
- macos: "shift+F6"
376
- },
438
+ disposition: "list-item",
439
+ // TODO(wittjosiah): Not working.
440
+ // keyBinding: {
441
+ // macos: 'shift+F6',
442
+ // },
377
443
  testId: "spacePlugin.renameObject"
378
444
  }
379
445
  },
380
446
  {
381
- id: getId(import_chunk_FXHI7JNY.SpaceAction.RemoveObjects._tag),
447
+ id: getId(import_chunk_ULJZPATP.SpaceAction.RemoveObjects._tag),
382
448
  type: import_plugin_graph.ACTION_TYPE,
383
449
  data: async () => {
384
- const collection = graph.getConnections((0, import_echo.fullyQualifiedId)(object), "inbound").find(({ data }) => data instanceof import_chunk_FXHI7JNY.CollectionType)?.data;
385
- await dispatch((0, import_app_framework.createIntent)(import_chunk_FXHI7JNY.SpaceAction.RemoveObjects, {
450
+ const collection = graph.getConnections((0, import_echo2.fullyQualifiedId)(object), "inbound").find(({ data }) => import_echo.Obj.instanceOf(import_schema.DataType.Collection, data))?.data;
451
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_ULJZPATP.SpaceAction.RemoveObjects, {
386
452
  objects: [
387
453
  object
388
454
  ],
@@ -391,22 +457,24 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
391
457
  },
392
458
  properties: {
393
459
  label: [
394
- object instanceof import_chunk_FXHI7JNY.CollectionType ? "delete collection label" : "delete object label",
460
+ import_echo.Obj.instanceOf(import_schema.DataType.Collection, object) ? "delete collection label" : "delete object label",
395
461
  {
396
462
  ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
397
463
  }
398
464
  ],
399
465
  icon: "ph--trash--regular",
400
- keyBinding: object instanceof import_chunk_FXHI7JNY.CollectionType ? void 0 : "shift+meta+Backspace",
466
+ disposition: "list-item",
467
+ // TODO(wittjosiah): This is a browser shortcut.
468
+ // keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',
401
469
  testId: "spacePlugin.deleteObject"
402
470
  }
403
471
  },
404
- ...navigable || !(object instanceof import_chunk_FXHI7JNY.CollectionType) ? [
472
+ ...navigable || !import_echo.Obj.instanceOf(import_schema.DataType.Collection, object) && !import_echo.Obj.instanceOf(import_schema.DataType.QueryCollection, object) ? [
405
473
  {
406
474
  id: getId("copy-link"),
407
475
  type: import_plugin_graph.ACTION_TYPE,
408
476
  data: async () => {
409
- const url = `${window.location.origin}/${space.id}/${(0, import_echo.fullyQualifiedId)(object)}`;
477
+ const url = `${window.location.origin}/${space.id}/${(0, import_echo2.fullyQualifiedId)(object)}`;
410
478
  await navigator.clipboard.writeText(url);
411
479
  },
412
480
  properties: {
@@ -417,6 +485,7 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
417
485
  }
418
486
  ],
419
487
  icon: "ph--link--regular",
488
+ disposition: "list-item",
420
489
  testId: "spacePlugin.copyLink"
421
490
  }
422
491
  }
@@ -428,7 +497,7 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
428
497
  data: async () => {
429
498
  await dispatch((0, import_app_framework.createIntent)(import_app_framework.LayoutAction.Expose, {
430
499
  part: "navigation",
431
- subject: (0, import_echo.fullyQualifiedId)(object)
500
+ subject: (0, import_echo2.fullyQualifiedId)(object)
432
501
  }));
433
502
  },
434
503
  properties: {
@@ -439,6 +508,7 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
439
508
  }
440
509
  ],
441
510
  icon: "ph--eye--regular",
511
+ disposition: "heading-list-item",
442
512
  testId: "spacePlugin.exposeObject"
443
513
  }
444
514
  }
@@ -446,7 +516,7 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
446
516
  return actions;
447
517
  };
448
518
  var getNestedObjects = async (object, resolve) => {
449
- const type = (0, import_echo_schema.getTypename)(object);
519
+ const type = import_echo.Obj.getTypename(object);
450
520
  if (!type) {
451
521
  return [];
452
522
  }
@@ -463,13 +533,13 @@ var getNestedObjects = async (object, resolve) => {
463
533
  ];
464
534
  };
465
535
  var cloneObject = async (object, resolve, newSpace) => {
466
- const schema = (0, import_echo_schema2.getSchema)(object);
467
- const typename = schema ? (0, import_echo_schema.getTypeAnnotation)(schema)?.typename ?? import_echo_schema.EXPANDO_TYPENAME : import_echo_schema.EXPANDO_TYPENAME;
536
+ const schema = import_echo.Obj.getSchema(object);
537
+ const typename = schema ? import_echo.Type.getTypename(schema) ?? import_echo_schema.EXPANDO_TYPENAME : import_echo_schema.EXPANDO_TYPENAME;
468
538
  const metadata = resolve(typename);
469
539
  const serializer = metadata.serializer;
470
540
  (0, import_invariant.invariant)(serializer, `No serializer for type: ${typename}`, {
471
541
  F: __dxlog_file,
472
- L: 491,
542
+ L: 570,
473
543
  S: void 0,
474
544
  A: [
475
545
  "serializer",
@@ -499,4 +569,4 @@ var cloneObject = async (object, resolve, newSpace) => {
499
569
  getSpaceDisplayName,
500
570
  rxFromQuery
501
571
  });
502
- //# sourceMappingURL=chunk-COQYISES.cjs.map
572
+ //# sourceMappingURL=chunk-XHWVT7LW.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Rx } from '@effect-rx/rx-react';\nimport { pipe } from 'effect';\n\nimport { chain, createIntent, LayoutAction, type PromiseIntentDispatcher } from '@dxos/app-framework';\nimport { Obj, Ref, Type } from '@dxos/echo';\nimport { EXPANDO_TYPENAME } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { Migrations } from '@dxos/migrations';\nimport {\n ACTION_GROUP_TYPE,\n ACTION_TYPE,\n type ReadableGraph,\n type ActionData,\n type InvokeParams,\n type Node,\n type NodeArg,\n isGraphNode,\n} from '@dxos/plugin-graph';\nimport { fullyQualifiedId, getSpace, type QueryResult, SpaceState, type Space, isSpace } from '@dxos/react-client/echo';\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';\nimport { type TreeData } from '@dxos/react-ui-list';\nimport { DataType } from '@dxos/schema';\n\nimport { SPACE_PLUGIN } from './meta';\nimport { SpaceAction, SPACE_TYPE, type ObjectForm } from './types';\n\nexport const SPACES = `${SPACE_PLUGIN}-spaces`;\nexport const COMPOSER_SPACE_LOCK = 'dxos.org/plugin/space/lock';\n// TODO(wittjosiah): Remove.\nexport const SHARED = 'shared-spaces';\n\n/**\n * Convert a query result to an Rx value of the objects.\n */\nexport const rxFromQuery = <T extends Obj.Any>(query: QueryResult<T>): Rx.Rx<T[]> => {\n return Rx.make((get) => {\n const unsubscribe = query.subscribe((result) => {\n get.setSelf(result.objects);\n });\n\n get.addFinalizer(() => unsubscribe());\n return query.objects;\n });\n};\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: SPACE_PLUGIN }]\n : ['unnamed space label', { ns: SPACE_PLUGIN }];\n};\n\nconst getCollectionGraphNodePartials = ({\n collection,\n space,\n resolve,\n}: {\n collection: DataType.Collection;\n space: Space;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n return {\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([space.id]),\n role: 'branch',\n onRearrangeChildren: (nextOrder: unknown[]) => {\n // Change on disk.\n collection.objects = nextOrder.filter(Obj.isObject).map(Ref.make);\n },\n onTransferStart: (child: Node<Obj.Any>, 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 if (!collection.objects.find((object) => object.target === child.data)) {\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, Ref.make(child.data));\n } else {\n collection.objects.push(Ref.make(child.data));\n }\n }\n\n // }\n },\n onTransferEnd: (child: Node<Obj.Any>, destination: Node) => {\n // Remove child from origin collection.\n const index = collection.objects.findIndex((object) => object.target === child.data);\n if (index > -1) {\n collection.objects.splice(index, 1);\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<Obj.Any>, index?: number) => {\n // Create clone of child and add to destination space.\n const newObject = await cloneObject(child.data, resolve, space);\n space.db.add(newObject);\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, Ref.make(newObject));\n } else {\n collection.objects.push(Ref.make(newObject));\n }\n },\n };\n};\n\nconst getQueryCollectionNodePartials = ({\n collection,\n space,\n resolve,\n}: {\n collection: DataType.QueryCollection;\n space: Space;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n return {\n icon: collection.query.typename && resolve(collection.query.typename)?.icon,\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([space.id]),\n role: 'branch',\n canDrop: (source: TreeData) => {\n return (\n isGraphNode(source.item) &&\n Obj.isObject(source.item.data) &&\n Obj.getTypename(source.item.data) === collection.query.typename\n );\n },\n onTransferStart: (child: Node<Obj.Any>, index?: number) => {\n // No-op. Objects are moved into query collections by being removed from their original collection.\n },\n onTransferEnd: (child: Node<Obj.Any>, destination: Node) => {\n // No-op. Objects are moved out of query collections by being added to another collection.\n },\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}: {\n space: Space;\n navigable?: boolean;\n personal?: boolean;\n namesCache?: Record<string, string>;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const hasPendingMigration = checkPendingMigration(space);\n const collection =\n space.state.get() === SpaceState.SPACE_READY && space.properties[Type.getTypename(DataType.Collection)]?.target;\n const partials =\n space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(DataType.Collection, collection)\n ? getCollectionGraphNodePartials({ collection, space, resolve })\n : {};\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 disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,\n testId: 'spacePlugin.space',\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: `${SPACE_PLUGIN}/settings`,\n data: null,\n properties: {\n label: ['settings panel label', { ns: SPACE_PLUGIN }],\n icon: 'ph--faders--regular',\n disposition: 'alternate-tree',\n },\n nodes: [\n {\n id: `properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/properties`,\n data: `${SPACE_PLUGIN}/properties`,\n properties: {\n label: ['space settings properties label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sliders--regular',\n position: 'hoist',\n },\n },\n {\n id: `members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/members`,\n data: `${SPACE_PLUGIN}/members`,\n properties: {\n label: ['members panel label', { ns: SPACE_PLUGIN }],\n icon: 'ph--users--regular',\n position: 'hoist',\n },\n },\n {\n id: `schema-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/schema`,\n data: `${SPACE_PLUGIN}/schema`,\n properties: {\n label: ['space settings schema label', { ns: SPACE_PLUGIN }],\n icon: 'ph--shapes--regular',\n },\n },\n ],\n },\n ],\n };\n};\n\nexport const constructSpaceActions = ({\n space,\n dispatch,\n personal,\n migrating,\n}: {\n space: Space;\n dispatch: PromiseIntentDispatcher;\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: NodeArg<ActionData>[] = [];\n\n if (hasPendingMigration) {\n actions.push({\n id: getId(SpaceAction.Migrate._tag),\n type: ACTION_GROUP_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.Migrate, { space }));\n },\n properties: {\n label: ['migrate space label', { ns: SPACE_PLUGIN }],\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(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: space }));\n },\n properties: {\n label: ['create object in space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'item',\n testId: 'spacePlugin.createObject',\n },\n },\n {\n id: getId(SpaceAction.Rename._tag),\n type: ACTION_TYPE,\n data: async (params?: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.Rename, { space, caller: params?.caller }));\n },\n properties: {\n label: ['rename space label', { ns: SPACE_PLUGIN }],\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 createObjectNode = ({\n space,\n object,\n droppable = true,\n navigable = false,\n resolve,\n}: {\n space: Space;\n object: Obj.Any;\n droppable?: boolean;\n navigable?: boolean;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const type = Obj.getTypename(object);\n if (!type) {\n return undefined;\n }\n\n const metadata = resolve(type);\n if (Object.keys(metadata).length === 0) {\n return undefined;\n }\n\n const partials = Obj.instanceOf(DataType.Collection, object)\n ? getCollectionGraphNodePartials({ collection: object, space, resolve })\n : Obj.instanceOf(DataType.QueryCollection, object)\n ? getQueryCollectionNodePartials({ collection: object, space, resolve })\n : metadata.graphProps;\n\n return {\n id: fullyQualifiedId(object),\n type,\n cacheable: ['label', 'icon', 'role'],\n data: object,\n properties: {\n // TODO(burdon): Use annotation to get the name field.\n label: metadata.label?.(object) ||\n (object as any).name || ['object name placeholder', { ns: type, default: 'New object' }],\n icon: metadata.icon ?? 'ph--placeholder--regular',\n testId: 'spacePlugin.object',\n persistenceClass: 'echo',\n persistenceKey: space?.id,\n canDrop: (source: TreeData) => {\n return droppable && isGraphNode(source.item) && Obj.isObject(source.item.data);\n },\n ...partials,\n },\n };\n};\n\nexport const constructObjectActions = ({\n object,\n graph,\n dispatch,\n objectForms,\n navigable = false,\n}: {\n object: Obj.Any;\n graph: ReadableGraph;\n dispatch: PromiseIntentDispatcher;\n objectForms: ObjectForm<any>[];\n navigable?: boolean;\n}) => {\n const space = getSpace(object);\n invariant(space, 'Space not found');\n const getId = (id: string) => `${id}/${fullyQualifiedId(object)}`;\n\n const queryCollection = Obj.instanceOf(DataType.QueryCollection, object) ? object : undefined;\n const matchingObjectForm = queryCollection\n ? objectForms.find((form) => Type.getTypename(form.objectSchema) === queryCollection.query.typename)\n : undefined;\n\n const actions: NodeArg<ActionData>[] = [\n ...(Obj.instanceOf(DataType.Collection, object)\n ? [\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: object }));\n },\n properties: {\n label: ['create object in collection label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n ...(matchingObjectForm\n ? [\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n if (matchingObjectForm.formSchema) {\n await dispatch(\n createIntent(SpaceAction.OpenCreateObject, {\n target: space,\n typename: queryCollection?.query.typename,\n }),\n );\n } else {\n await dispatch(\n pipe(\n matchingObjectForm.getIntent({}, { space }),\n chain(SpaceAction.AddObject, { target: space, hidden: true }),\n chain(LayoutAction.Open, { part: 'main' }),\n ),\n );\n }\n },\n properties: {\n label: ['create object in smart collection label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n {\n id: getId(SpaceAction.RenameObject._tag),\n type: ACTION_TYPE,\n data: async (params?: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.RenameObject, { object, caller: params?.caller }));\n },\n properties: {\n label: [\n Obj.instanceOf(DataType.Collection, object) ? 'rename collection label' : 'rename object label',\n { ns: SPACE_PLUGIN },\n ],\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(SpaceAction.RemoveObjects._tag),\n type: ACTION_TYPE,\n data: async () => {\n const collection = graph\n .getConnections(fullyQualifiedId(object), 'inbound')\n .find(({ data }) => Obj.instanceOf(DataType.Collection, data))?.data;\n await dispatch(createIntent(SpaceAction.RemoveObjects, { objects: [object], target: collection }));\n },\n properties: {\n label: [\n Obj.instanceOf(DataType.Collection, object) ? 'delete collection label' : 'delete object label',\n { ns: SPACE_PLUGIN },\n ],\n icon: 'ph--trash--regular',\n disposition: 'list-item',\n // TODO(wittjosiah): This is a browser shortcut.\n // keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',\n testId: 'spacePlugin.deleteObject',\n },\n },\n ...(navigable || (!Obj.instanceOf(DataType.Collection, object) && !Obj.instanceOf(DataType.QueryCollection, object))\n ? [\n {\n id: getId('copy-link'),\n type: ACTION_TYPE,\n data: async () => {\n const url = `${window.location.origin}/${space.id}/${fullyQualifiedId(object)}`;\n await navigator.clipboard.writeText(url);\n },\n properties: {\n label: ['copy link label', { ns: SPACE_PLUGIN }],\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(LayoutAction.Expose._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(LayoutAction.Expose, { part: 'navigation', subject: fullyQualifiedId(object) }));\n },\n properties: {\n label: ['expose object label', { ns: SPACE_PLUGIN }],\n icon: 'ph--eye--regular',\n disposition: 'heading-list-item',\n testId: 'spacePlugin.exposeObject',\n },\n },\n ];\n\n return actions;\n};\n\n/**\n * @deprecated This is a temporary solution.\n */\nexport const getNestedObjects = async (\n object: Obj.Any,\n resolve: (typename: string) => Record<string, any>,\n): Promise<Obj.Any[]> => {\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.Any[] = 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: Type.Expando,\n resolve: (typename: string) => Record<string, any>,\n newSpace: Space,\n): Promise<Type.Expando> => {\n const schema = Obj.getSchema(object);\n const typename = schema ? Type.getTypename(schema) ?? EXPANDO_TYPENAME : 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, space: newSpace, newId: true });\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["import_echo", "SPACES", "SPACE_PLUGIN", "COMPOSER_SPACE_LOCK", "SHARED", "rxFromQuery", "query", "Rx", "make", "get", "unsubscribe", "subscribe", "result", "setSelf", "objects", "addFinalizer", "getSpaceDisplayName", "space", "personal", "namesCache", "state", "SpaceState", "SPACE_READY", "properties", "name", "length", "id", "ns", "getCollectionGraphNodePartials", "collection", "resolve", "acceptPersistenceClass", "Set", "acceptPersistenceKey", "role", "onRearrangeChildren", "nextOrder", "filter", "Obj", "isObject", "map", "Ref", "onTransferStart", "child", "index", "find", "object", "target", "data", "splice", "push", "onTransferEnd", "destination", "findIndex", "onCopy", "newObject", "cloneObject", "db", "add", "getQueryCollectionNodePartials", "icon", "typename", "canDrop", "source", "isGraphNode", "item", "getTypename", "checkPendingMigration", "SPACE_REQUIRES_MIGRATION", "Migrations", "versionProperty", "targetVersion", "constructSpaceNode", "navigable", "hasPendingMigration", "Type", "DataType", "Collection", "partials", "instanceOf", "type", "SPACE_TYPE", "cacheable", "label", "description", "hue", "undefined", "disabled", "testId", "isSpace", "nodes", "ATTENDABLE_PATH_SEPARATOR", "disposition", "position", "constructSpaceActions", "dispatch", "migrating", "getId", "actions", "SpaceAction", "Migrate", "_tag", "ACTION_GROUP_TYPE", "createIntent", "running", "OpenCreateObject", "ACTION_TYPE", "Rename", "params", "caller", "keyBinding", "macos", "windows", "createObjectNode", "droppable", "metadata", "Object", "keys", "QueryCollection", "graphProps", "fullyQualifiedId", "default", "persistenceClass", "persistenceKey", "constructObjectActions", "graph", "objectForms", "getSpace", "invariant", "queryCollection", "matchingObjectForm", "form", "objectSchema", "formSchema", "pipe", "getIntent", "chain", "AddObject", "hidden", "LayoutAction", "Open", "part", "RenameObject", "RemoveObjects", "getConnections", "url", "window", "location", "origin", "navigator", "clipboard", "writeText", "Expose", "subject", "getNestedObjects", "loadReferences", "nested", "Promise", "all", "flat", "newSpace", "schema", "getSchema", "EXPANDO_TYPENAME", "serializer", "content", "serialize", "deserialize", "newId"]
7
+ }
@@ -16,29 +16,27 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var identity_created_UXEAUGC7_exports = {};
20
- __export(identity_created_UXEAUGC7_exports, {
19
+ var identity_created_FF4WZ2WY_exports = {};
20
+ __export(identity_created_FF4WZ2WY_exports, {
21
21
  default: () => identity_created_default
22
22
  });
23
- module.exports = __toCommonJS(identity_created_UXEAUGC7_exports);
24
- var import_chunk_FXHI7JNY = require("./chunk-FXHI7JNY.cjs");
25
- var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
23
+ module.exports = __toCommonJS(identity_created_FF4WZ2WY_exports);
26
24
  var import_app_framework = require("@dxos/app-framework");
27
- var import_live_object = require("@dxos/live-object");
25
+ var import_echo = require("@dxos/echo");
28
26
  var import_migrations = require("@dxos/migrations");
29
27
  var import_plugin_client = require("@dxos/plugin-client");
28
+ var import_schema = require("@dxos/schema");
30
29
  var identity_created_default = async (context) => {
31
30
  const client = context.getCapability(import_plugin_client.ClientCapabilities.Client);
32
31
  await client.spaces.waitUntilReady();
33
32
  const defaultSpace = client.spaces.default;
34
33
  await defaultSpace.waitUntilReady();
35
- defaultSpace.properties[import_chunk_FXHI7JNY.CollectionType.typename] = (0, import_live_object.makeRef)((0, import_live_object.live)(import_chunk_FXHI7JNY.CollectionType, {
36
- objects: [],
37
- views: {}
34
+ defaultSpace.properties[import_echo.Type.getTypename(import_schema.DataType.Collection)] = import_echo.Ref.make(import_echo.Obj.make(import_schema.DataType.Collection, {
35
+ objects: []
38
36
  }));
39
37
  if (import_migrations.Migrations.versionProperty) {
40
38
  defaultSpace.properties[import_migrations.Migrations.versionProperty] = import_migrations.Migrations.targetVersion;
41
39
  }
42
40
  return (0, import_app_framework.contributes)(import_app_framework.Capabilities.Null, null);
43
41
  };
44
- //# sourceMappingURL=identity-created-UXEAUGC7.cjs.map
42
+ //# sourceMappingURL=identity-created-FF4WZ2WY.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/identity-created.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes, type PluginContext, Capabilities } from '@dxos/app-framework';\nimport { Obj, Ref, Type } from '@dxos/echo';\nimport { Migrations } from '@dxos/migrations';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { DataType } from '@dxos/schema';\n\nexport default async (context: PluginContext) => {\n const client = context.getCapability(ClientCapabilities.Client);\n await client.spaces.waitUntilReady();\n\n const defaultSpace = client.spaces.default;\n await defaultSpace.waitUntilReady();\n\n // Create root collection structure.\n defaultSpace.properties[Type.getTypename(DataType.Collection)] = Ref.make(\n Obj.make(DataType.Collection, { objects: [] }),\n );\n if (Migrations.versionProperty) {\n defaultSpace.properties[Migrations.versionProperty] = Migrations.targetVersion;\n }\n\n return contributes(Capabilities.Null, null);\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAA8D;AAC9D,kBAA+B;AAC/B,wBAA2B;AAC3B,2BAAmC;AACnC,oBAAyB;AAEzB,IAAA,2BAAe,OAAOA,YAAAA;AACpB,QAAMC,SAASD,QAAQE,cAAcC,wCAAmBC,MAAM;AAC9D,QAAMH,OAAOI,OAAOC,eAAc;AAElC,QAAMC,eAAeN,OAAOI,OAAOG;AACnC,QAAMD,aAAaD,eAAc;AAGjCC,eAAaE,WAAWC,iBAAKC,YAAYC,uBAASC,UAAU,CAAA,IAAKC,gBAAIC,KACnEC,gBAAID,KAAKH,uBAASC,YAAY;IAAEI,SAAS,CAAA;EAAG,CAAA,CAAA;AAE9C,MAAIC,6BAAWC,iBAAiB;AAC9BZ,iBAAaE,WAAWS,6BAAWC,eAAe,IAAID,6BAAWE;EACnE;AAEA,aAAOC,kCAAYC,kCAAaC,MAAM,IAAA;AACxC;",
6
+ "names": ["context", "client", "getCapability", "ClientCapabilities", "Client", "spaces", "waitUntilReady", "defaultSpace", "default", "properties", "Type", "getTypename", "DataType", "Collection", "Ref", "make", "Obj", "objects", "Migrations", "versionProperty", "targetVersion", "contributes", "Capabilities", "Null"]
7
+ }