@dxos/plugin-space 0.8.0 → 0.8.1-main.013e445

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 (212) hide show
  1. package/dist/lib/browser/{app-graph-builder-MGK5HWPZ.mjs → app-graph-builder-7NG7UNQD.mjs} +5 -5
  2. package/dist/lib/browser/{app-graph-serializer-FOWFLYGU.mjs → app-graph-serializer-OZNRXG62.mjs} +7 -7
  3. package/dist/lib/browser/{app-graph-serializer-FOWFLYGU.mjs.map → app-graph-serializer-OZNRXG62.mjs.map} +2 -2
  4. package/dist/lib/browser/{chunk-23RVI5FZ.mjs → chunk-KV4JWY3Z.mjs} +9 -8
  5. package/dist/lib/browser/{chunk-23RVI5FZ.mjs.map → chunk-KV4JWY3Z.mjs.map} +3 -3
  6. package/dist/lib/browser/{chunk-NU7WDVGN.mjs → chunk-O7LODPTY.mjs} +2 -2
  7. package/dist/lib/browser/{chunk-PCEP3KQY.mjs → chunk-PE2T7DOU.mjs} +22 -21
  8. package/dist/lib/browser/chunk-PE2T7DOU.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-PQXZCNAU.mjs → chunk-PTKYMZWO.mjs} +1 -1
  10. package/dist/lib/browser/chunk-PTKYMZWO.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-ULA2UQJ4.mjs → chunk-TYU27VTL.mjs} +6 -62
  12. package/dist/lib/browser/chunk-TYU27VTL.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-UDWHTKB5.mjs → chunk-VIU4XFXR.mjs} +6 -8
  14. package/dist/lib/browser/chunk-VIU4XFXR.mjs.map +7 -0
  15. package/dist/lib/browser/{identity-created-FYGS6TBH.mjs → identity-created-TG52G7RV.mjs} +3 -3
  16. package/dist/lib/browser/index.mjs +13 -13
  17. package/dist/lib/browser/index.mjs.map +3 -3
  18. package/dist/lib/browser/{intent-resolver-GPNAQ2SG.mjs → intent-resolver-XAEHWUHJ.mjs} +11 -9
  19. package/dist/lib/browser/{intent-resolver-GPNAQ2SG.mjs.map → intent-resolver-XAEHWUHJ.mjs.map} +3 -3
  20. package/dist/lib/browser/meta.json +1 -1
  21. package/dist/lib/browser/{react-root-4CCSD7TZ.mjs → react-root-H5WH6EUY.mjs} +6 -6
  22. package/dist/lib/browser/{react-surface-FKMRI3WV.mjs → react-surface-523S3CFL.mjs} +9 -8
  23. package/dist/lib/browser/react-surface-523S3CFL.mjs.map +7 -0
  24. package/dist/lib/browser/{schema-5W3DSY2E.mjs → schema-UOCBWGA4.mjs} +3 -3
  25. package/dist/lib/browser/schema-tools-6J5ZEDBC.mjs +123 -0
  26. package/dist/lib/browser/schema-tools-6J5ZEDBC.mjs.map +7 -0
  27. package/dist/lib/browser/{settings-PHPCXX33.mjs → settings-XCHJUNYL.mjs} +3 -3
  28. package/dist/lib/browser/{spaces-ready-K47RR7N2.mjs → spaces-ready-VVPJN6TU.mjs} +5 -5
  29. package/dist/lib/browser/{state-INJ63O57.mjs → state-BUM7SQUV.mjs} +3 -3
  30. package/dist/lib/browser/types/index.mjs +2 -10
  31. package/dist/lib/node/{app-graph-builder-ZIUBXRPA.cjs → app-graph-builder-G3O5GZMQ.cjs} +45 -45
  32. package/dist/lib/node/{app-graph-serializer-VQOGHKXL.cjs → app-graph-serializer-774VMAFT.cjs} +21 -21
  33. package/dist/lib/node/{app-graph-serializer-VQOGHKXL.cjs.map → app-graph-serializer-774VMAFT.cjs.map} +2 -2
  34. package/dist/lib/node/{chunk-WAJKBO3J.cjs → chunk-37QRDFMQ.cjs} +10 -70
  35. package/dist/lib/node/chunk-37QRDFMQ.cjs.map +7 -0
  36. package/dist/lib/node/{chunk-U6DYXAR3.cjs → chunk-5MWD635N.cjs} +11 -13
  37. package/dist/lib/node/chunk-5MWD635N.cjs.map +7 -0
  38. package/dist/lib/node/{chunk-WZR6OAN3.cjs → chunk-6P2DB4QQ.cjs} +4 -4
  39. package/dist/lib/node/{chunk-WZR6OAN3.cjs.map → chunk-6P2DB4QQ.cjs.map} +2 -2
  40. package/dist/lib/node/{chunk-OVGKWJOC.cjs → chunk-7BN5N2ND.cjs} +60 -59
  41. package/dist/lib/node/{chunk-OVGKWJOC.cjs.map → chunk-7BN5N2ND.cjs.map} +3 -3
  42. package/dist/lib/node/{chunk-QE4GVR6C.cjs → chunk-BN5K3SRF.cjs} +83 -80
  43. package/dist/lib/node/chunk-BN5K3SRF.cjs.map +7 -0
  44. package/dist/lib/node/{chunk-YZKNRFHU.cjs → chunk-GRM6AGWI.cjs} +10 -10
  45. package/dist/lib/node/{identity-created-AXI64BLE.cjs → identity-created-AQCHGXOF.cjs} +7 -7
  46. package/dist/lib/node/index.cjs +96 -97
  47. package/dist/lib/node/index.cjs.map +3 -3
  48. package/dist/lib/node/{intent-resolver-ICHHI6I6.cjs → intent-resolver-7DUDOPMC.cjs} +71 -69
  49. package/dist/lib/node/{intent-resolver-ICHHI6I6.cjs.map → intent-resolver-7DUDOPMC.cjs.map} +3 -3
  50. package/dist/lib/node/meta.json +1 -1
  51. package/dist/lib/node/{react-root-TCBTUOOJ.cjs → react-root-HCFNELCK.cjs} +12 -12
  52. package/dist/lib/node/{react-surface-JSCCIZS5.cjs → react-surface-VIGVLED7.cjs} +62 -61
  53. package/dist/lib/node/react-surface-VIGVLED7.cjs.map +7 -0
  54. package/dist/lib/node/{schema-YN7WVFRX.cjs → schema-EERAOETL.cjs} +7 -7
  55. package/dist/lib/node/schema-tools-OZS4OC6X.cjs +146 -0
  56. package/dist/lib/node/schema-tools-OZS4OC6X.cjs.map +7 -0
  57. package/dist/lib/node/{settings-5QYFWNH7.cjs → settings-VPFJWIWP.cjs} +8 -8
  58. package/dist/lib/node/{spaces-ready-FQNAKR7G.cjs → spaces-ready-BDKHLPYB.cjs} +14 -14
  59. package/dist/lib/node/{state-57UE3DYE.cjs → state-AIETH3DE.cjs} +8 -8
  60. package/dist/lib/node/types/index.cjs +13 -21
  61. package/dist/lib/node/types/index.cjs.map +2 -2
  62. package/dist/lib/node-esm/{app-graph-builder-TERVM2SL.mjs → app-graph-builder-LJAESOIB.mjs} +5 -5
  63. package/dist/lib/node-esm/{app-graph-serializer-GZRSWHEN.mjs → app-graph-serializer-YATEFHDI.mjs} +7 -7
  64. package/dist/lib/node-esm/{app-graph-serializer-GZRSWHEN.mjs.map → app-graph-serializer-YATEFHDI.mjs.map} +2 -2
  65. package/dist/lib/node-esm/{chunk-6RSVVEPS.mjs → chunk-AJ4IZAKT.mjs} +2 -2
  66. package/dist/lib/node-esm/{chunk-HJCEJNW3.mjs → chunk-G6EUAPVP.mjs} +22 -21
  67. package/dist/lib/node-esm/chunk-G6EUAPVP.mjs.map +7 -0
  68. package/dist/lib/node-esm/{chunk-TRNZQEEN.mjs → chunk-KNJZGST5.mjs} +6 -62
  69. package/dist/lib/node-esm/chunk-KNJZGST5.mjs.map +7 -0
  70. package/dist/lib/node-esm/{chunk-ICCM4YRJ.mjs → chunk-MSWEFAPD.mjs} +1 -1
  71. package/dist/lib/node-esm/chunk-MSWEFAPD.mjs.map +7 -0
  72. package/dist/lib/node-esm/{chunk-2TQ2AJEZ.mjs → chunk-TTHJ55CE.mjs} +6 -8
  73. package/dist/lib/node-esm/chunk-TTHJ55CE.mjs.map +7 -0
  74. package/dist/lib/node-esm/{chunk-PGH5L7MV.mjs → chunk-XRC7NH6E.mjs} +9 -8
  75. package/dist/lib/node-esm/{chunk-PGH5L7MV.mjs.map → chunk-XRC7NH6E.mjs.map} +3 -3
  76. package/dist/lib/node-esm/{identity-created-3CGEXNPO.mjs → identity-created-CK3VMR6Q.mjs} +3 -3
  77. package/dist/lib/node-esm/index.mjs +13 -13
  78. package/dist/lib/node-esm/index.mjs.map +3 -3
  79. package/dist/lib/node-esm/{intent-resolver-VR42K5GE.mjs → intent-resolver-7MLSVU7R.mjs} +11 -9
  80. package/dist/lib/node-esm/{intent-resolver-VR42K5GE.mjs.map → intent-resolver-7MLSVU7R.mjs.map} +3 -3
  81. package/dist/lib/node-esm/meta.json +1 -1
  82. package/dist/lib/node-esm/{react-root-THJBSTQS.mjs → react-root-PLKZW44B.mjs} +6 -6
  83. package/dist/lib/node-esm/{react-surface-Z3BBQ5HX.mjs → react-surface-DTT3ZJVO.mjs} +9 -8
  84. package/dist/lib/node-esm/react-surface-DTT3ZJVO.mjs.map +7 -0
  85. package/dist/lib/node-esm/{schema-LOR2EVGY.mjs → schema-LOOOBN6J.mjs} +3 -3
  86. package/dist/lib/node-esm/schema-tools-KJVXGDBO.mjs +125 -0
  87. package/dist/lib/node-esm/schema-tools-KJVXGDBO.mjs.map +7 -0
  88. package/dist/lib/node-esm/{settings-H6MXTEQM.mjs → settings-2VSJTVUW.mjs} +3 -3
  89. package/dist/lib/node-esm/{spaces-ready-HKAQG5SA.mjs → spaces-ready-7ROQ7PRB.mjs} +5 -5
  90. package/dist/lib/node-esm/{state-VYA6OFHD.mjs → state-DWUAP6MH.mjs} +3 -3
  91. package/dist/lib/node-esm/types/index.mjs +2 -10
  92. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  93. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  94. package/dist/types/src/capabilities/index.d.ts +1 -0
  95. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  96. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  97. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  98. package/dist/types/src/capabilities/schema-tool.test.d.ts +2 -0
  99. package/dist/types/src/capabilities/schema-tool.test.d.ts.map +1 -0
  100. package/dist/types/src/capabilities/schema-tools.d.ts +13 -0
  101. package/dist/types/src/capabilities/schema-tools.d.ts.map +1 -0
  102. package/dist/types/src/components/AdvancedObjectSettings/AdvancedObjectSettings.d.ts +2 -1
  103. package/dist/types/src/components/AdvancedObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  104. package/dist/types/src/components/AdvancedObjectSettings/ForeignKeys.d.ts +2 -1
  105. package/dist/types/src/components/AdvancedObjectSettings/ForeignKeys.d.ts.map +1 -1
  106. package/dist/types/src/components/AwaitingObject.d.ts +2 -1
  107. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  108. package/dist/types/src/components/BaseObjectSettings.d.ts +2 -1
  109. package/dist/types/src/components/BaseObjectSettings.d.ts.map +1 -1
  110. package/dist/types/src/components/CollectionMain.d.ts +2 -1
  111. package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
  112. package/dist/types/src/components/CollectionSection.d.ts +2 -1
  113. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  114. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +2 -1
  115. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  116. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +2 -1
  117. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  118. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +2 -1
  119. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  120. package/dist/types/src/components/JoinDialog.d.ts +2 -1
  121. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  122. package/dist/types/src/components/MenuFooter.d.ts +2 -1
  123. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  124. package/dist/types/src/components/PersistenceStatus.d.ts +2 -1
  125. package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
  126. package/dist/types/src/components/PopoverAddSpace.d.ts +2 -1
  127. package/dist/types/src/components/PopoverAddSpace.d.ts.map +1 -1
  128. package/dist/types/src/components/PopoverRenameObject.d.ts +2 -1
  129. package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
  130. package/dist/types/src/components/PopoverRenameSpace.d.ts +2 -1
  131. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
  132. package/dist/types/src/components/ShareSpaceButton.d.ts +3 -2
  133. package/dist/types/src/components/ShareSpaceButton.d.ts.map +1 -1
  134. package/dist/types/src/components/SpacePluginSettings.d.ts +2 -1
  135. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  136. package/dist/types/src/components/SpacePresence.d.ts +5 -4
  137. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  138. package/dist/types/src/components/SpacePresence.stories.d.ts +3 -2
  139. package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
  140. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts +2 -1
  141. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts.map +1 -1
  142. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts +2 -1
  143. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts.map +1 -1
  144. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts +2 -1
  145. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +1 -1
  146. package/dist/types/src/components/SyncStatus/Space.d.ts +3 -2
  147. package/dist/types/src/components/SyncStatus/Space.d.ts.map +1 -1
  148. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts +4 -3
  149. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  150. package/dist/types/src/meta.d.ts +2 -5
  151. package/dist/types/src/meta.d.ts.map +1 -1
  152. package/dist/types/src/translations.d.ts +5 -12
  153. package/dist/types/src/translations.d.ts.map +1 -1
  154. package/dist/types/src/types/thread.d.ts +177 -174
  155. package/dist/types/src/types/thread.d.ts.map +1 -1
  156. package/dist/types/src/types/types.d.ts +2 -0
  157. package/dist/types/src/types/types.d.ts.map +1 -1
  158. package/dist/types/src/util.d.ts.map +1 -1
  159. package/package.json +43 -41
  160. package/src/SpacePlugin.tsx +6 -1
  161. package/src/capabilities/app-graph-serializer.ts +2 -2
  162. package/src/capabilities/index.ts +1 -0
  163. package/src/capabilities/intent-resolver.ts +3 -1
  164. package/src/capabilities/react-surface.tsx +3 -2
  165. package/src/capabilities/schema-tool.test.ts +45 -0
  166. package/src/capabilities/schema-tools.ts +124 -0
  167. package/src/components/BaseObjectSettings.tsx +3 -1
  168. package/src/components/CreateDialog/CreateObjectDialog.tsx +3 -6
  169. package/src/components/PopoverRenameObject.tsx +1 -1
  170. package/src/meta.ts +2 -2
  171. package/src/translations.ts +2 -4
  172. package/src/types/thread.ts +2 -56
  173. package/src/types/types.ts +3 -0
  174. package/src/util.tsx +1 -2
  175. package/dist/lib/browser/chunk-PCEP3KQY.mjs.map +0 -7
  176. package/dist/lib/browser/chunk-PQXZCNAU.mjs.map +0 -7
  177. package/dist/lib/browser/chunk-UDWHTKB5.mjs.map +0 -7
  178. package/dist/lib/browser/chunk-ULA2UQJ4.mjs.map +0 -7
  179. package/dist/lib/browser/react-surface-FKMRI3WV.mjs.map +0 -7
  180. package/dist/lib/node/chunk-QE4GVR6C.cjs.map +0 -7
  181. package/dist/lib/node/chunk-U6DYXAR3.cjs.map +0 -7
  182. package/dist/lib/node/chunk-WAJKBO3J.cjs.map +0 -7
  183. package/dist/lib/node/react-surface-JSCCIZS5.cjs.map +0 -7
  184. package/dist/lib/node-esm/chunk-2TQ2AJEZ.mjs.map +0 -7
  185. package/dist/lib/node-esm/chunk-HJCEJNW3.mjs.map +0 -7
  186. package/dist/lib/node-esm/chunk-ICCM4YRJ.mjs.map +0 -7
  187. package/dist/lib/node-esm/chunk-TRNZQEEN.mjs.map +0 -7
  188. package/dist/lib/node-esm/react-surface-Z3BBQ5HX.mjs.map +0 -7
  189. /package/dist/lib/browser/{app-graph-builder-MGK5HWPZ.mjs.map → app-graph-builder-7NG7UNQD.mjs.map} +0 -0
  190. /package/dist/lib/browser/{chunk-NU7WDVGN.mjs.map → chunk-O7LODPTY.mjs.map} +0 -0
  191. /package/dist/lib/browser/{identity-created-FYGS6TBH.mjs.map → identity-created-TG52G7RV.mjs.map} +0 -0
  192. /package/dist/lib/browser/{react-root-4CCSD7TZ.mjs.map → react-root-H5WH6EUY.mjs.map} +0 -0
  193. /package/dist/lib/browser/{schema-5W3DSY2E.mjs.map → schema-UOCBWGA4.mjs.map} +0 -0
  194. /package/dist/lib/browser/{settings-PHPCXX33.mjs.map → settings-XCHJUNYL.mjs.map} +0 -0
  195. /package/dist/lib/browser/{spaces-ready-K47RR7N2.mjs.map → spaces-ready-VVPJN6TU.mjs.map} +0 -0
  196. /package/dist/lib/browser/{state-INJ63O57.mjs.map → state-BUM7SQUV.mjs.map} +0 -0
  197. /package/dist/lib/node/{app-graph-builder-ZIUBXRPA.cjs.map → app-graph-builder-G3O5GZMQ.cjs.map} +0 -0
  198. /package/dist/lib/node/{chunk-YZKNRFHU.cjs.map → chunk-GRM6AGWI.cjs.map} +0 -0
  199. /package/dist/lib/node/{identity-created-AXI64BLE.cjs.map → identity-created-AQCHGXOF.cjs.map} +0 -0
  200. /package/dist/lib/node/{react-root-TCBTUOOJ.cjs.map → react-root-HCFNELCK.cjs.map} +0 -0
  201. /package/dist/lib/node/{schema-YN7WVFRX.cjs.map → schema-EERAOETL.cjs.map} +0 -0
  202. /package/dist/lib/node/{settings-5QYFWNH7.cjs.map → settings-VPFJWIWP.cjs.map} +0 -0
  203. /package/dist/lib/node/{spaces-ready-FQNAKR7G.cjs.map → spaces-ready-BDKHLPYB.cjs.map} +0 -0
  204. /package/dist/lib/node/{state-57UE3DYE.cjs.map → state-AIETH3DE.cjs.map} +0 -0
  205. /package/dist/lib/node-esm/{app-graph-builder-TERVM2SL.mjs.map → app-graph-builder-LJAESOIB.mjs.map} +0 -0
  206. /package/dist/lib/node-esm/{chunk-6RSVVEPS.mjs.map → chunk-AJ4IZAKT.mjs.map} +0 -0
  207. /package/dist/lib/node-esm/{identity-created-3CGEXNPO.mjs.map → identity-created-CK3VMR6Q.mjs.map} +0 -0
  208. /package/dist/lib/node-esm/{react-root-THJBSTQS.mjs.map → react-root-PLKZW44B.mjs.map} +0 -0
  209. /package/dist/lib/node-esm/{schema-LOR2EVGY.mjs.map → schema-LOOOBN6J.mjs.map} +0 -0
  210. /package/dist/lib/node-esm/{settings-H6MXTEQM.mjs.map → settings-2VSJTVUW.mjs.map} +0 -0
  211. /package/dist/lib/node-esm/{spaces-ready-HKAQG5SA.mjs.map → spaces-ready-7ROQ7PRB.mjs.map} +0 -0
  212. /package/dist/lib/node-esm/{state-VYA6OFHD.mjs.map → state-DWUAP6MH.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_OVGKWJOC_exports = {};
20
- __export(chunk_OVGKWJOC_exports, {
19
+ var chunk_7BN5N2ND_exports = {};
20
+ __export(chunk_7BN5N2ND_exports, {
21
21
  COMPOSER_SPACE_LOCK: () => COMPOSER_SPACE_LOCK,
22
22
  SHARED: () => SHARED,
23
23
  SPACES: () => SPACES,
@@ -32,9 +32,9 @@ __export(chunk_OVGKWJOC_exports, {
32
32
  getSpaceDisplayName: () => getSpaceDisplayName,
33
33
  memoizeQuery: () => memoizeQuery
34
34
  });
35
- module.exports = __toCommonJS(chunk_OVGKWJOC_exports);
36
- var import_chunk_WAJKBO3J = require("./chunk-WAJKBO3J.cjs");
37
- var import_chunk_WZR6OAN3 = require("./chunk-WZR6OAN3.cjs");
35
+ module.exports = __toCommonJS(chunk_7BN5N2ND_exports);
36
+ var import_chunk_37QRDFMQ = require("./chunk-37QRDFMQ.cjs");
37
+ var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
38
38
  var import_app_framework = require("@dxos/app-framework");
39
39
  var import_echo_schema = require("@dxos/echo-schema");
40
40
  var import_invariant = require("@dxos/invariant");
@@ -43,7 +43,7 @@ var import_migrations = require("@dxos/migrations");
43
43
  var import_plugin_graph = require("@dxos/plugin-graph");
44
44
  var import_echo = require("@dxos/react-client/echo");
45
45
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/util.tsx";
46
- var SPACES = `${import_chunk_WZR6OAN3.SPACE_PLUGIN}-spaces`;
46
+ var SPACES = `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}-spaces`;
47
47
  var SPACE_TYPE = "dxos.org/type/Space";
48
48
  var COMPOSER_SPACE_LOCK = "dxos.org/plugin/space/lock";
49
49
  var SHARED = "shared-spaces";
@@ -62,12 +62,12 @@ var getSpaceDisplayName = (space, { personal, namesCache = {} } = {}) => {
62
62
  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 ? [
63
63
  "personal space label",
64
64
  {
65
- ns: import_chunk_WZR6OAN3.SPACE_PLUGIN
65
+ ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
66
66
  }
67
67
  ] : [
68
68
  "unnamed space label",
69
69
  {
70
- ns: import_chunk_WZR6OAN3.SPACE_PLUGIN
70
+ ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
71
71
  }
72
72
  ];
73
73
  };
@@ -115,8 +115,8 @@ var checkPendingMigration = (space) => {
115
115
  };
116
116
  var constructSpaceNode = ({ space, navigable = false, personal, namesCache, resolve }) => {
117
117
  const hasPendingMigration = checkPendingMigration(space);
118
- const collection = space.state.get() === import_echo.SpaceState.SPACE_READY && space.properties[import_chunk_WAJKBO3J.CollectionType.typename]?.target;
119
- const partials = space.state.get() === import_echo.SpaceState.SPACE_READY && collection instanceof import_chunk_WAJKBO3J.CollectionType ? getCollectionGraphNodePartials({
118
+ const collection = space.state.get() === import_echo.SpaceState.SPACE_READY && space.properties[import_chunk_37QRDFMQ.CollectionType.typename]?.target;
119
+ const partials = space.state.get() === import_echo.SpaceState.SPACE_READY && collection instanceof import_chunk_37QRDFMQ.CollectionType ? getCollectionGraphNodePartials({
120
120
  collection,
121
121
  space,
122
122
  resolve,
@@ -152,10 +152,10 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
152
152
  const actions = [];
153
153
  if (hasPendingMigration) {
154
154
  actions.push({
155
- id: getId(import_chunk_WAJKBO3J.SpaceAction.Migrate._tag),
155
+ id: getId(import_chunk_37QRDFMQ.SpaceAction.Migrate._tag),
156
156
  type: import_plugin_graph.ACTION_GROUP_TYPE,
157
157
  data: async () => {
158
- await dispatch((0, import_app_framework.createIntent)(import_chunk_WAJKBO3J.SpaceAction.Migrate, {
158
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_37QRDFMQ.SpaceAction.Migrate, {
159
159
  space
160
160
  }));
161
161
  },
@@ -163,7 +163,7 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
163
163
  label: [
164
164
  "migrate space label",
165
165
  {
166
- ns: import_chunk_WZR6OAN3.SPACE_PLUGIN
166
+ ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
167
167
  }
168
168
  ],
169
169
  icon: "ph--database--regular",
@@ -175,10 +175,10 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
175
175
  if (state === import_echo.SpaceState.SPACE_READY && !hasPendingMigration) {
176
176
  const locked = space.properties[COMPOSER_SPACE_LOCK];
177
177
  actions.push({
178
- id: getId(import_chunk_WAJKBO3J.SpaceAction.OpenCreateObject._tag),
178
+ id: getId(import_chunk_37QRDFMQ.SpaceAction.OpenCreateObject._tag),
179
179
  type: import_plugin_graph.ACTION_TYPE,
180
180
  data: async () => {
181
- await dispatch((0, import_app_framework.createIntent)(import_chunk_WAJKBO3J.SpaceAction.OpenCreateObject, {
181
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_37QRDFMQ.SpaceAction.OpenCreateObject, {
182
182
  target: space
183
183
  }));
184
184
  },
@@ -186,7 +186,7 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
186
186
  label: [
187
187
  "create object in space label",
188
188
  {
189
- ns: import_chunk_WZR6OAN3.SPACE_PLUGIN
189
+ ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
190
190
  }
191
191
  ],
192
192
  icon: "ph--plus--regular",
@@ -194,13 +194,13 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
194
194
  testId: "spacePlugin.createObject"
195
195
  }
196
196
  }, {
197
- id: getId(import_chunk_WAJKBO3J.SpaceAction.Share._tag),
197
+ id: getId(import_chunk_37QRDFMQ.SpaceAction.Share._tag),
198
198
  type: import_plugin_graph.ACTION_TYPE,
199
199
  data: async () => {
200
200
  if (locked) {
201
201
  return;
202
202
  }
203
- await dispatch((0, import_app_framework.createIntent)(import_chunk_WAJKBO3J.SpaceAction.Share, {
203
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_37QRDFMQ.SpaceAction.Share, {
204
204
  space
205
205
  }));
206
206
  },
@@ -208,7 +208,7 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
208
208
  label: [
209
209
  "share space label",
210
210
  {
211
- ns: import_chunk_WZR6OAN3.SPACE_PLUGIN
211
+ ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
212
212
  }
213
213
  ],
214
214
  icon: "ph--users--regular",
@@ -223,15 +223,15 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
223
223
  }
224
224
  }
225
225
  }, {
226
- id: locked ? getId(import_chunk_WAJKBO3J.SpaceAction.Unlock._tag) : getId(import_chunk_WAJKBO3J.SpaceAction.Lock._tag),
226
+ id: locked ? getId(import_chunk_37QRDFMQ.SpaceAction.Unlock._tag) : getId(import_chunk_37QRDFMQ.SpaceAction.Lock._tag),
227
227
  type: import_plugin_graph.ACTION_TYPE,
228
228
  data: async () => {
229
229
  if (locked) {
230
- await dispatch((0, import_app_framework.createIntent)(import_chunk_WAJKBO3J.SpaceAction.Unlock, {
230
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_37QRDFMQ.SpaceAction.Unlock, {
231
231
  space
232
232
  }));
233
233
  } else {
234
- await dispatch((0, import_app_framework.createIntent)(import_chunk_WAJKBO3J.SpaceAction.Lock, {
234
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_37QRDFMQ.SpaceAction.Lock, {
235
235
  space
236
236
  }));
237
237
  }
@@ -240,16 +240,16 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
240
240
  label: [
241
241
  locked ? "unlock space label" : "lock space label",
242
242
  {
243
- ns: import_chunk_WZR6OAN3.SPACE_PLUGIN
243
+ ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
244
244
  }
245
245
  ],
246
246
  icon: locked ? "ph--lock-simple-open--regular" : "ph--lock-simple--regular"
247
247
  }
248
248
  }, {
249
- id: getId(import_chunk_WAJKBO3J.SpaceAction.Rename._tag),
249
+ id: getId(import_chunk_37QRDFMQ.SpaceAction.Rename._tag),
250
250
  type: import_plugin_graph.ACTION_TYPE,
251
251
  data: async (params) => {
252
- await dispatch((0, import_app_framework.createIntent)(import_chunk_WAJKBO3J.SpaceAction.Rename, {
252
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_37QRDFMQ.SpaceAction.Rename, {
253
253
  space,
254
254
  caller: params.caller
255
255
  }));
@@ -258,7 +258,7 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
258
258
  label: [
259
259
  "rename space label",
260
260
  {
261
- ns: import_chunk_WZR6OAN3.SPACE_PLUGIN
261
+ ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
262
262
  }
263
263
  ],
264
264
  icon: "ph--pencil-simple-line--regular",
@@ -268,10 +268,10 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
268
268
  }
269
269
  }
270
270
  }, {
271
- id: getId(import_chunk_WAJKBO3J.SpaceAction.OpenSettings._tag),
271
+ id: getId(import_chunk_37QRDFMQ.SpaceAction.OpenSettings._tag),
272
272
  type: import_plugin_graph.ACTION_TYPE,
273
273
  data: async () => {
274
- await dispatch((0, import_app_framework.createIntent)(import_chunk_WAJKBO3J.SpaceAction.OpenSettings, {
274
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_37QRDFMQ.SpaceAction.OpenSettings, {
275
275
  space
276
276
  }));
277
277
  },
@@ -279,7 +279,7 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
279
279
  label: [
280
280
  "open space settings label",
281
281
  {
282
- ns: import_chunk_WZR6OAN3.SPACE_PLUGIN
282
+ ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
283
283
  }
284
284
  ],
285
285
  icon: "ph--gear--regular"
@@ -288,10 +288,10 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
288
288
  }
289
289
  if (state !== import_echo.SpaceState.SPACE_INACTIVE && !hasPendingMigration) {
290
290
  actions.push({
291
- id: getId(import_chunk_WAJKBO3J.SpaceAction.Close._tag),
291
+ id: getId(import_chunk_37QRDFMQ.SpaceAction.Close._tag),
292
292
  type: import_plugin_graph.ACTION_TYPE,
293
293
  data: async () => {
294
- await dispatch((0, import_app_framework.createIntent)(import_chunk_WAJKBO3J.SpaceAction.Close, {
294
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_37QRDFMQ.SpaceAction.Close, {
295
295
  space
296
296
  }));
297
297
  },
@@ -299,7 +299,7 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
299
299
  label: [
300
300
  "close space label",
301
301
  {
302
- ns: import_chunk_WZR6OAN3.SPACE_PLUGIN
302
+ ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
303
303
  }
304
304
  ],
305
305
  icon: "ph--x--regular",
@@ -309,10 +309,10 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
309
309
  }
310
310
  if (state === import_echo.SpaceState.SPACE_INACTIVE) {
311
311
  actions.push({
312
- id: getId(import_chunk_WAJKBO3J.SpaceAction.Open._tag),
312
+ id: getId(import_chunk_37QRDFMQ.SpaceAction.Open._tag),
313
313
  type: import_plugin_graph.ACTION_TYPE,
314
314
  data: async () => {
315
- await dispatch((0, import_app_framework.createIntent)(import_chunk_WAJKBO3J.SpaceAction.Open, {
315
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_37QRDFMQ.SpaceAction.Open, {
316
316
  space
317
317
  }));
318
318
  },
@@ -320,7 +320,7 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
320
320
  label: [
321
321
  "open space label",
322
322
  {
323
- ns: import_chunk_WZR6OAN3.SPACE_PLUGIN
323
+ ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
324
324
  }
325
325
  ],
326
326
  icon: "ph--clock-counter-clockwise--regular",
@@ -339,7 +339,7 @@ var createObjectNode = ({ object, space, navigable = false, resolve }) => {
339
339
  if (Object.keys(metadata).length === 0) {
340
340
  return void 0;
341
341
  }
342
- const partials = object instanceof import_chunk_WAJKBO3J.CollectionType ? getCollectionGraphNodePartials({
342
+ const partials = object instanceof import_chunk_37QRDFMQ.CollectionType ? getCollectionGraphNodePartials({
343
343
  collection: object,
344
344
  space,
345
345
  resolve,
@@ -356,10 +356,11 @@ var createObjectNode = ({ object, space, navigable = false, resolve }) => {
356
356
  data: object,
357
357
  properties: {
358
358
  ...partials,
359
- label: metadata.label?.(object) || object.name || metadata.placeholder || [
360
- "unnamed object label",
359
+ label: metadata.label?.(object) || object.name || [
360
+ "object name placeholder",
361
361
  {
362
- ns: import_chunk_WZR6OAN3.SPACE_PLUGIN
362
+ ns: type,
363
+ default: "New object"
363
364
  }
364
365
  ],
365
366
  icon: metadata.icon ?? "ph--placeholder--regular",
@@ -374,7 +375,7 @@ var constructObjectActions = ({ node, dispatch, navigable = false }) => {
374
375
  const space = (0, import_echo.getSpace)(object);
375
376
  (0, import_invariant.invariant)(space, "Space not found", {
376
377
  F: __dxlog_file,
377
- L: 423,
378
+ L: 422,
378
379
  S: void 0,
379
380
  A: [
380
381
  "space",
@@ -383,12 +384,12 @@ var constructObjectActions = ({ node, dispatch, navigable = false }) => {
383
384
  });
384
385
  const getId = (id) => `${id}/${(0, import_echo.fullyQualifiedId)(object)}`;
385
386
  const actions = [
386
- ...object instanceof import_chunk_WAJKBO3J.CollectionType ? [
387
+ ...object instanceof import_chunk_37QRDFMQ.CollectionType ? [
387
388
  {
388
- id: getId(import_chunk_WAJKBO3J.SpaceAction.OpenCreateObject._tag),
389
+ id: getId(import_chunk_37QRDFMQ.SpaceAction.OpenCreateObject._tag),
389
390
  type: import_plugin_graph.ACTION_TYPE,
390
391
  data: async () => {
391
- await dispatch((0, import_app_framework.createIntent)(import_chunk_WAJKBO3J.SpaceAction.OpenCreateObject, {
392
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_37QRDFMQ.SpaceAction.OpenCreateObject, {
392
393
  target: object
393
394
  }));
394
395
  },
@@ -396,7 +397,7 @@ var constructObjectActions = ({ node, dispatch, navigable = false }) => {
396
397
  label: [
397
398
  "create object in collection label",
398
399
  {
399
- ns: import_chunk_WZR6OAN3.SPACE_PLUGIN
400
+ ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
400
401
  }
401
402
  ],
402
403
  icon: "ph--plus--regular",
@@ -406,19 +407,19 @@ var constructObjectActions = ({ node, dispatch, navigable = false }) => {
406
407
  }
407
408
  ] : [],
408
409
  {
409
- id: getId(import_chunk_WAJKBO3J.SpaceAction.RenameObject._tag),
410
+ id: getId(import_chunk_37QRDFMQ.SpaceAction.RenameObject._tag),
410
411
  type: import_plugin_graph.ACTION_TYPE,
411
412
  data: async (params) => {
412
- await dispatch((0, import_app_framework.createIntent)(import_chunk_WAJKBO3J.SpaceAction.RenameObject, {
413
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_37QRDFMQ.SpaceAction.RenameObject, {
413
414
  object,
414
415
  caller: params.caller
415
416
  }));
416
417
  },
417
418
  properties: {
418
419
  label: [
419
- object instanceof import_chunk_WAJKBO3J.CollectionType ? "rename collection label" : "rename object label",
420
+ object instanceof import_chunk_37QRDFMQ.CollectionType ? "rename collection label" : "rename object label",
420
421
  {
421
- ns: import_chunk_WZR6OAN3.SPACE_PLUGIN
422
+ ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
422
423
  }
423
424
  ],
424
425
  icon: "ph--pencil-simple-line--regular",
@@ -428,14 +429,14 @@ var constructObjectActions = ({ node, dispatch, navigable = false }) => {
428
429
  }
429
430
  },
430
431
  {
431
- id: getId(import_chunk_WAJKBO3J.SpaceAction.RemoveObjects._tag),
432
+ id: getId(import_chunk_37QRDFMQ.SpaceAction.RemoveObjects._tag),
432
433
  type: import_plugin_graph.ACTION_TYPE,
433
434
  data: async () => {
434
435
  const graph = (0, import_plugin_graph.getGraph)(node);
435
436
  const collection = graph.nodes(node, {
436
437
  relation: "inbound"
437
- }).find(({ data }) => data instanceof import_chunk_WAJKBO3J.CollectionType)?.data;
438
- await dispatch((0, import_app_framework.createIntent)(import_chunk_WAJKBO3J.SpaceAction.RemoveObjects, {
438
+ }).find(({ data }) => data instanceof import_chunk_37QRDFMQ.CollectionType)?.data;
439
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_37QRDFMQ.SpaceAction.RemoveObjects, {
439
440
  objects: [
440
441
  object
441
442
  ],
@@ -444,17 +445,17 @@ var constructObjectActions = ({ node, dispatch, navigable = false }) => {
444
445
  },
445
446
  properties: {
446
447
  label: [
447
- object instanceof import_chunk_WAJKBO3J.CollectionType ? "delete collection label" : "delete object label",
448
+ object instanceof import_chunk_37QRDFMQ.CollectionType ? "delete collection label" : "delete object label",
448
449
  {
449
- ns: import_chunk_WZR6OAN3.SPACE_PLUGIN
450
+ ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
450
451
  }
451
452
  ],
452
453
  icon: "ph--trash--regular",
453
- keyBinding: object instanceof import_chunk_WAJKBO3J.CollectionType ? void 0 : "shift+meta+Backspace",
454
+ keyBinding: object instanceof import_chunk_37QRDFMQ.CollectionType ? void 0 : "shift+meta+Backspace",
454
455
  testId: "spacePlugin.deleteObject"
455
456
  }
456
457
  },
457
- ...navigable || !(object instanceof import_chunk_WAJKBO3J.CollectionType) ? [
458
+ ...navigable || !(object instanceof import_chunk_37QRDFMQ.CollectionType) ? [
458
459
  {
459
460
  id: getId("copy-link"),
460
461
  type: import_plugin_graph.ACTION_TYPE,
@@ -466,7 +467,7 @@ var constructObjectActions = ({ node, dispatch, navigable = false }) => {
466
467
  label: [
467
468
  "copy link label",
468
469
  {
469
- ns: import_chunk_WZR6OAN3.SPACE_PLUGIN
470
+ ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
470
471
  }
471
472
  ],
472
473
  icon: "ph--link--regular",
@@ -488,7 +489,7 @@ var constructObjectActions = ({ node, dispatch, navigable = false }) => {
488
489
  label: [
489
490
  "expose object label",
490
491
  {
491
- ns: import_chunk_WZR6OAN3.SPACE_PLUGIN
492
+ ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
492
493
  }
493
494
  ],
494
495
  icon: "ph--eye--regular",
@@ -532,7 +533,7 @@ var cloneObject = async (object, resolve, newSpace) => {
532
533
  const serializer = metadata.serializer;
533
534
  (0, import_invariant.invariant)(serializer, `No serializer for type: ${typename}`, {
534
535
  F: __dxlog_file,
535
- L: 567,
536
+ L: 566,
536
537
  S: void 0,
537
538
  A: [
538
539
  "serializer",
@@ -564,4 +565,4 @@ var cloneObject = async (object, resolve, newSpace) => {
564
565
  getSpaceDisplayName,
565
566
  memoizeQuery
566
567
  });
567
- //# sourceMappingURL=chunk-OVGKWJOC.cjs.map
568
+ //# sourceMappingURL=chunk-7BN5N2ND.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { createIntent, type PromiseIntentDispatcher, LayoutAction } from '@dxos/app-framework';\nimport { EXPANDO_TYPENAME, getObjectAnnotation, getTypename, type Expando } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { getSchema, isReactiveObject, makeRef } from '@dxos/live-object';\nimport { Migrations } from '@dxos/migrations';\nimport {\n ACTION_GROUP_TYPE,\n ACTION_TYPE,\n cleanup,\n getGraph,\n memoize,\n type ActionData,\n type Graph,\n type InvokeParams,\n type Node,\n type NodeArg,\n} from '@dxos/plugin-graph';\nimport {\n Filter,\n fullyQualifiedId,\n getSpace,\n isEchoObject,\n isSpace,\n SpaceState,\n type Echo,\n type FilterSource,\n type Query,\n type QueryOptions,\n type ReactiveEchoObject,\n type Space,\n} from '@dxos/react-client/echo';\n\nimport { SPACE_PLUGIN } from './meta';\nimport { CollectionType, SpaceAction } from './types';\n\nexport const SPACES = `${SPACE_PLUGIN}-spaces`;\nexport const SPACE_TYPE = 'dxos.org/type/Space';\nexport const COMPOSER_SPACE_LOCK = 'dxos.org/plugin/space/lock';\n// TODO(wittjosiah): Remove.\nexport const SHARED = 'shared-spaces';\n\nconst EMPTY_ARRAY: never[] = [];\n\n/**\n *\n * @param spaceOrEcho\n * @param filter\n * @param options\n * @returns\n */\nexport const memoizeQuery = <T extends ReactiveEchoObject<any>>(\n spaceOrEcho?: Space | Echo,\n filter?: FilterSource<T>,\n options?: QueryOptions,\n): T[] => {\n const key = JSON.stringify({\n space: isSpace(spaceOrEcho) ? spaceOrEcho.id : undefined,\n filter: Filter.from(filter).toProto(),\n });\n\n const query = memoize(\n () =>\n isSpace(spaceOrEcho)\n ? spaceOrEcho.db.query(filter, options)\n : (spaceOrEcho?.query(filter, options) as Query<T> | undefined),\n key,\n );\n const unsubscribe = memoize(() => query?.subscribe(), key);\n cleanup(() => unsubscribe?.());\n\n return query?.objects ?? EMPTY_ARRAY;\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 navigable,\n collection,\n space,\n resolve,\n}: {\n navigable: boolean;\n collection: CollectionType;\n space: Space;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n return {\n disabled: !navigable,\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(isEchoObject).map(makeRef);\n },\n onTransferStart: (child: Node<ReactiveEchoObject<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, makeRef(child.data));\n } else {\n collection.objects.push(makeRef(child.data));\n }\n }\n\n // }\n },\n onTransferEnd: (child: Node<ReactiveEchoObject<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<ReactiveEchoObject<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, makeRef(newObject));\n } else {\n collection.objects.push(makeRef(newObject));\n }\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 = space.state.get() === SpaceState.SPACE_READY && space.properties[CollectionType.typename]?.target;\n const partials =\n space.state.get() === SpaceState.SPACE_READY && collection instanceof CollectionType\n ? getCollectionGraphNodePartials({ collection, space, resolve, navigable })\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 },\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: 'toolbar',\n disabled: migrating || Migrations.running(space),\n },\n });\n }\n\n if (state === SpaceState.SPACE_READY && !hasPendingMigration) {\n const locked = space.properties[COMPOSER_SPACE_LOCK];\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.Share._tag),\n type: ACTION_TYPE,\n data: async () => {\n if (locked) {\n return;\n }\n await dispatch(createIntent(SpaceAction.Share, { space }));\n },\n properties: {\n label: ['share space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--users--regular',\n disabled: locked,\n disposition: 'toolbar',\n iconOnly: false,\n variant: 'default',\n testId: 'spacePlugin.shareSpace',\n keyBinding: {\n macos: 'meta+.',\n windows: 'alt+.',\n },\n },\n },\n {\n id: locked ? getId(SpaceAction.Unlock._tag) : getId(SpaceAction.Lock._tag),\n type: ACTION_TYPE,\n data: async () => {\n if (locked) {\n await dispatch(createIntent(SpaceAction.Unlock, { space }));\n } else {\n await dispatch(createIntent(SpaceAction.Lock, { space }));\n }\n },\n properties: {\n label: [locked ? 'unlock space label' : 'lock space label', { ns: SPACE_PLUGIN }],\n icon: locked ? 'ph--lock-simple-open--regular' : 'ph--lock-simple--regular',\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 id: getId(SpaceAction.OpenSettings._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenSettings, { space }));\n },\n properties: {\n label: ['open space settings label', { ns: SPACE_PLUGIN }],\n icon: 'ph--gear--regular',\n },\n },\n );\n }\n\n // TODO(wittjosiah): Consider moving close space into the space settings dialog.\n if (state !== SpaceState.SPACE_INACTIVE && !hasPendingMigration) {\n actions.push({\n id: getId(SpaceAction.Close._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.Close, { space }));\n },\n properties: {\n label: ['close space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--x--regular',\n disabled: personal,\n },\n });\n }\n\n if (state === SpaceState.SPACE_INACTIVE) {\n actions.push({\n id: getId(SpaceAction.Open._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.Open, { space }));\n },\n properties: {\n label: ['open space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--clock-counter-clockwise--regular',\n disposition: 'toolbar',\n },\n });\n }\n\n return actions;\n};\n\nexport const createObjectNode = ({\n object,\n space,\n navigable = false,\n resolve,\n}: {\n object: ReactiveEchoObject<any>;\n space: Space;\n navigable?: boolean;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const type = 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 =\n object instanceof CollectionType\n ? getCollectionGraphNodePartials({ collection: object, space, resolve, navigable })\n : metadata.graphProps;\n\n return {\n id: fullyQualifiedId(object),\n type,\n cacheable: ['label', 'icon', 'role'],\n data: object,\n properties: {\n ...partials,\n label: metadata.label?.(object) ||\n object.name ||\n metadata.placeholder || ['unnamed object label', { ns: SPACE_PLUGIN }],\n icon: metadata.icon ?? 'ph--placeholder--regular',\n testId: 'spacePlugin.object',\n persistenceClass: 'echo',\n persistenceKey: space?.id,\n },\n };\n};\n\nexport const constructObjectActions = ({\n node,\n dispatch,\n navigable = false,\n}: {\n node: Node<ReactiveEchoObject<any>>;\n dispatch: PromiseIntentDispatcher;\n navigable?: boolean;\n}) => {\n const object = node.data;\n const space = getSpace(object);\n invariant(space, 'Space not found');\n const getId = (id: string) => `${id}/${fullyQualifiedId(object)}`;\n const actions: NodeArg<ActionData>[] = [\n ...(object instanceof CollectionType\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: 'toolbar',\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 object instanceof CollectionType ? 'rename collection label' : 'rename object label',\n { ns: SPACE_PLUGIN },\n ],\n icon: 'ph--pencil-simple-line--regular',\n // TODO(wittjosiah): Doesn't work.\n // keyBinding: 'shift+F6',\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceAction.RemoveObjects._tag),\n type: ACTION_TYPE,\n data: async () => {\n const graph = getGraph(node);\n const collection = graph\n .nodes(node, { relation: 'inbound' })\n .find(({ data }) => data instanceof CollectionType)?.data;\n await dispatch(createIntent(SpaceAction.RemoveObjects, { objects: [object], target: collection }));\n },\n properties: {\n label: [\n object instanceof CollectionType ? 'delete collection label' : 'delete object label',\n { ns: SPACE_PLUGIN },\n ],\n icon: 'ph--trash--regular',\n keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',\n testId: 'spacePlugin.deleteObject',\n },\n },\n ...(navigable || !(object instanceof CollectionType)\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 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 testId: 'spacePlugin.exposeObject',\n },\n },\n ];\n\n return actions;\n};\n\n/**\n * @deprecated\n */\nexport const getActiveSpace = (graph: Graph, active?: string) => {\n if (!active) {\n return;\n }\n\n const node = graph.findNode(active);\n if (!node || !isReactiveObject(node.data)) {\n return;\n }\n\n return getSpace(node.data);\n};\n\n/**\n * @deprecated This is a temporary solution.\n */\nexport const getNestedObjects = async (\n object: ReactiveEchoObject<any>,\n resolve: (typename: string) => Record<string, any>,\n): Promise<ReactiveEchoObject<any>[]> => {\n const type = 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: ReactiveEchoObject<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: Expando,\n resolve: (typename: string) => Record<string, any>,\n newSpace: Space,\n): Promise<Expando> => {\n const schema = getSchema(object);\n const typename = schema ? getObjectAnnotation(schema)?.typename ?? 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": ["SPACES", "SPACE_PLUGIN", "SPACE_TYPE", "COMPOSER_SPACE_LOCK", "SHARED", "EMPTY_ARRAY", "memoizeQuery", "spaceOrEcho", "filter", "options", "key", "JSON", "stringify", "space", "isSpace", "id", "undefined", "Filter", "from", "toProto", "query", "memoize", "db", "unsubscribe", "subscribe", "cleanup", "objects", "getSpaceDisplayName", "personal", "namesCache", "state", "get", "SpaceState", "SPACE_READY", "properties", "name", "length", "ns", "getCollectionGraphNodePartials", "navigable", "collection", "resolve", "disabled", "acceptPersistenceClass", "Set", "acceptPersistenceKey", "role", "onRearrangeChildren", "nextOrder", "isEchoObject", "map", "makeRef", "onTransferStart", "child", "index", "find", "object", "target", "data", "splice", "push", "onTransferEnd", "destination", "findIndex", "onCopy", "newObject", "cloneObject", "add", "checkPendingMigration", "SPACE_REQUIRES_MIGRATION", "Migrations", "versionProperty", "targetVersion", "constructSpaceNode", "hasPendingMigration", "CollectionType", "typename", "partials", "type", "cacheable", "label", "description", "hue", "icon", "testId", "constructSpaceActions", "dispatch", "migrating", "getId", "actions", "SpaceAction", "Migrate", "_tag", "ACTION_GROUP_TYPE", "createIntent", "disposition", "running", "locked", "OpenCreateObject", "ACTION_TYPE", "Share", "iconOnly", "variant", "keyBinding", "macos", "windows", "Unlock", "Lock", "Rename", "params", "caller", "OpenSettings", "SPACE_INACTIVE", "Close", "Open", "createObjectNode", "getTypename", "metadata", "Object", "keys", "graphProps", "fullyQualifiedId", "placeholder", "persistenceClass", "persistenceKey", "constructObjectActions", "node", "getSpace", "invariant", "RenameObject", "RemoveObjects", "graph", "getGraph", "nodes", "relation", "url", "window", "location", "origin", "navigator", "clipboard", "writeText", "LayoutAction", "Expose", "part", "subject", "getActiveSpace", "active", "findNode", "isReactiveObject", "getNestedObjects", "loadReferences", "nested", "Promise", "all", "flat", "newSpace", "schema", "getSchema", "getObjectAnnotation", "EXPANDO_TYPENAME", "serializer", "content", "serialize", "deserialize", "newId"]
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { createIntent, type PromiseIntentDispatcher, LayoutAction } from '@dxos/app-framework';\nimport { EXPANDO_TYPENAME, getObjectAnnotation, getTypename, type Expando } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { getSchema, isReactiveObject, makeRef } from '@dxos/live-object';\nimport { Migrations } from '@dxos/migrations';\nimport {\n ACTION_GROUP_TYPE,\n ACTION_TYPE,\n cleanup,\n getGraph,\n memoize,\n type ActionData,\n type Graph,\n type InvokeParams,\n type Node,\n type NodeArg,\n} from '@dxos/plugin-graph';\nimport {\n Filter,\n fullyQualifiedId,\n getSpace,\n isEchoObject,\n isSpace,\n SpaceState,\n type Echo,\n type FilterSource,\n type Query,\n type QueryOptions,\n type ReactiveEchoObject,\n type Space,\n} from '@dxos/react-client/echo';\n\nimport { SPACE_PLUGIN } from './meta';\nimport { CollectionType, SpaceAction } from './types';\n\nexport const SPACES = `${SPACE_PLUGIN}-spaces`;\nexport const SPACE_TYPE = 'dxos.org/type/Space';\nexport const COMPOSER_SPACE_LOCK = 'dxos.org/plugin/space/lock';\n// TODO(wittjosiah): Remove.\nexport const SHARED = 'shared-spaces';\n\nconst EMPTY_ARRAY: never[] = [];\n\n/**\n *\n * @param spaceOrEcho\n * @param filter\n * @param options\n * @returns\n */\nexport const memoizeQuery = <T extends ReactiveEchoObject<any>>(\n spaceOrEcho?: Space | Echo,\n filter?: FilterSource<T>,\n options?: QueryOptions,\n): T[] => {\n const key = JSON.stringify({\n space: isSpace(spaceOrEcho) ? spaceOrEcho.id : undefined,\n filter: Filter.from(filter).toProto(),\n });\n\n const query = memoize(\n () =>\n isSpace(spaceOrEcho)\n ? spaceOrEcho.db.query(filter, options)\n : (spaceOrEcho?.query(filter, options) as Query<T> | undefined),\n key,\n );\n const unsubscribe = memoize(() => query?.subscribe(), key);\n cleanup(() => unsubscribe?.());\n\n return query?.objects ?? EMPTY_ARRAY;\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 navigable,\n collection,\n space,\n resolve,\n}: {\n navigable: boolean;\n collection: CollectionType;\n space: Space;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n return {\n disabled: !navigable,\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(isEchoObject).map(makeRef);\n },\n onTransferStart: (child: Node<ReactiveEchoObject<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, makeRef(child.data));\n } else {\n collection.objects.push(makeRef(child.data));\n }\n }\n\n // }\n },\n onTransferEnd: (child: Node<ReactiveEchoObject<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<ReactiveEchoObject<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, makeRef(newObject));\n } else {\n collection.objects.push(makeRef(newObject));\n }\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 = space.state.get() === SpaceState.SPACE_READY && space.properties[CollectionType.typename]?.target;\n const partials =\n space.state.get() === SpaceState.SPACE_READY && collection instanceof CollectionType\n ? getCollectionGraphNodePartials({ collection, space, resolve, navigable })\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 },\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: 'toolbar',\n disabled: migrating || Migrations.running(space),\n },\n });\n }\n\n if (state === SpaceState.SPACE_READY && !hasPendingMigration) {\n const locked = space.properties[COMPOSER_SPACE_LOCK];\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.Share._tag),\n type: ACTION_TYPE,\n data: async () => {\n if (locked) {\n return;\n }\n await dispatch(createIntent(SpaceAction.Share, { space }));\n },\n properties: {\n label: ['share space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--users--regular',\n disabled: locked,\n disposition: 'toolbar',\n iconOnly: false,\n variant: 'default',\n testId: 'spacePlugin.shareSpace',\n keyBinding: {\n macos: 'meta+.',\n windows: 'alt+.',\n },\n },\n },\n {\n id: locked ? getId(SpaceAction.Unlock._tag) : getId(SpaceAction.Lock._tag),\n type: ACTION_TYPE,\n data: async () => {\n if (locked) {\n await dispatch(createIntent(SpaceAction.Unlock, { space }));\n } else {\n await dispatch(createIntent(SpaceAction.Lock, { space }));\n }\n },\n properties: {\n label: [locked ? 'unlock space label' : 'lock space label', { ns: SPACE_PLUGIN }],\n icon: locked ? 'ph--lock-simple-open--regular' : 'ph--lock-simple--regular',\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 id: getId(SpaceAction.OpenSettings._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenSettings, { space }));\n },\n properties: {\n label: ['open space settings label', { ns: SPACE_PLUGIN }],\n icon: 'ph--gear--regular',\n },\n },\n );\n }\n\n // TODO(wittjosiah): Consider moving close space into the space settings dialog.\n if (state !== SpaceState.SPACE_INACTIVE && !hasPendingMigration) {\n actions.push({\n id: getId(SpaceAction.Close._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.Close, { space }));\n },\n properties: {\n label: ['close space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--x--regular',\n disabled: personal,\n },\n });\n }\n\n if (state === SpaceState.SPACE_INACTIVE) {\n actions.push({\n id: getId(SpaceAction.Open._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.Open, { space }));\n },\n properties: {\n label: ['open space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--clock-counter-clockwise--regular',\n disposition: 'toolbar',\n },\n });\n }\n\n return actions;\n};\n\nexport const createObjectNode = ({\n object,\n space,\n navigable = false,\n resolve,\n}: {\n object: ReactiveEchoObject<any>;\n space: Space;\n navigable?: boolean;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const type = 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 =\n object instanceof CollectionType\n ? getCollectionGraphNodePartials({ collection: object, space, resolve, navigable })\n : metadata.graphProps;\n\n return {\n id: fullyQualifiedId(object),\n type,\n cacheable: ['label', 'icon', 'role'],\n data: object,\n properties: {\n ...partials,\n label: metadata.label?.(object) ||\n object.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 },\n };\n};\n\nexport const constructObjectActions = ({\n node,\n dispatch,\n navigable = false,\n}: {\n node: Node<ReactiveEchoObject<any>>;\n dispatch: PromiseIntentDispatcher;\n navigable?: boolean;\n}) => {\n const object = node.data;\n const space = getSpace(object);\n invariant(space, 'Space not found');\n const getId = (id: string) => `${id}/${fullyQualifiedId(object)}`;\n const actions: NodeArg<ActionData>[] = [\n ...(object instanceof CollectionType\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: 'toolbar',\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 object instanceof CollectionType ? 'rename collection label' : 'rename object label',\n { ns: SPACE_PLUGIN },\n ],\n icon: 'ph--pencil-simple-line--regular',\n // TODO(wittjosiah): Doesn't work.\n // keyBinding: 'shift+F6',\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceAction.RemoveObjects._tag),\n type: ACTION_TYPE,\n data: async () => {\n const graph = getGraph(node);\n const collection = graph\n .nodes(node, { relation: 'inbound' })\n .find(({ data }) => data instanceof CollectionType)?.data;\n await dispatch(createIntent(SpaceAction.RemoveObjects, { objects: [object], target: collection }));\n },\n properties: {\n label: [\n object instanceof CollectionType ? 'delete collection label' : 'delete object label',\n { ns: SPACE_PLUGIN },\n ],\n icon: 'ph--trash--regular',\n keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',\n testId: 'spacePlugin.deleteObject',\n },\n },\n ...(navigable || !(object instanceof CollectionType)\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 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 testId: 'spacePlugin.exposeObject',\n },\n },\n ];\n\n return actions;\n};\n\n/**\n * @deprecated\n */\nexport const getActiveSpace = (graph: Graph, active?: string) => {\n if (!active) {\n return;\n }\n\n const node = graph.findNode(active);\n if (!node || !isReactiveObject(node.data)) {\n return;\n }\n\n return getSpace(node.data);\n};\n\n/**\n * @deprecated This is a temporary solution.\n */\nexport const getNestedObjects = async (\n object: ReactiveEchoObject<any>,\n resolve: (typename: string) => Record<string, any>,\n): Promise<ReactiveEchoObject<any>[]> => {\n const type = 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: ReactiveEchoObject<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: Expando,\n resolve: (typename: string) => Record<string, any>,\n newSpace: Space,\n): Promise<Expando> => {\n const schema = getSchema(object);\n const typename = schema ? getObjectAnnotation(schema)?.typename ?? 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": ["SPACES", "SPACE_PLUGIN", "SPACE_TYPE", "COMPOSER_SPACE_LOCK", "SHARED", "EMPTY_ARRAY", "memoizeQuery", "spaceOrEcho", "filter", "options", "key", "JSON", "stringify", "space", "isSpace", "id", "undefined", "Filter", "from", "toProto", "query", "memoize", "db", "unsubscribe", "subscribe", "cleanup", "objects", "getSpaceDisplayName", "personal", "namesCache", "state", "get", "SpaceState", "SPACE_READY", "properties", "name", "length", "ns", "getCollectionGraphNodePartials", "navigable", "collection", "resolve", "disabled", "acceptPersistenceClass", "Set", "acceptPersistenceKey", "role", "onRearrangeChildren", "nextOrder", "isEchoObject", "map", "makeRef", "onTransferStart", "child", "index", "find", "object", "target", "data", "splice", "push", "onTransferEnd", "destination", "findIndex", "onCopy", "newObject", "cloneObject", "add", "checkPendingMigration", "SPACE_REQUIRES_MIGRATION", "Migrations", "versionProperty", "targetVersion", "constructSpaceNode", "hasPendingMigration", "CollectionType", "typename", "partials", "type", "cacheable", "label", "description", "hue", "icon", "testId", "constructSpaceActions", "dispatch", "migrating", "getId", "actions", "SpaceAction", "Migrate", "_tag", "ACTION_GROUP_TYPE", "createIntent", "disposition", "running", "locked", "OpenCreateObject", "ACTION_TYPE", "Share", "iconOnly", "variant", "keyBinding", "macos", "windows", "Unlock", "Lock", "Rename", "params", "caller", "OpenSettings", "SPACE_INACTIVE", "Close", "Open", "createObjectNode", "getTypename", "metadata", "Object", "keys", "graphProps", "fullyQualifiedId", "default", "persistenceClass", "persistenceKey", "constructObjectActions", "node", "getSpace", "invariant", "RenameObject", "RemoveObjects", "graph", "getGraph", "nodes", "relation", "url", "window", "location", "origin", "navigator", "clipboard", "writeText", "LayoutAction", "Expose", "part", "subject", "getActiveSpace", "active", "findNode", "isReactiveObject", "getNestedObjects", "loadReferences", "nested", "Promise", "all", "flat", "newSpace", "schema", "getSchema", "getObjectAnnotation", "EXPANDO_TYPENAME", "serializer", "content", "serialize", "deserialize", "newId"]
7
7
  }