@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
@@ -26,23 +26,24 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var react_surface_JSCCIZS5_exports = {};
30
- __export(react_surface_JSCCIZS5_exports, {
29
+ var react_surface_VIGVLED7_exports = {};
30
+ __export(react_surface_VIGVLED7_exports, {
31
31
  default: () => react_surface_default
32
32
  });
33
- module.exports = __toCommonJS(react_surface_JSCCIZS5_exports);
34
- var import_chunk_QE4GVR6C = require("./chunk-QE4GVR6C.cjs");
35
- var import_chunk_YZKNRFHU = require("./chunk-YZKNRFHU.cjs");
36
- var import_chunk_OVGKWJOC = require("./chunk-OVGKWJOC.cjs");
37
- var import_chunk_WAJKBO3J = require("./chunk-WAJKBO3J.cjs");
38
- var import_chunk_WZR6OAN3 = require("./chunk-WZR6OAN3.cjs");
33
+ module.exports = __toCommonJS(react_surface_VIGVLED7_exports);
34
+ var import_chunk_BN5K3SRF = require("./chunk-BN5K3SRF.cjs");
35
+ var import_chunk_GRM6AGWI = require("./chunk-GRM6AGWI.cjs");
36
+ var import_chunk_7BN5N2ND = require("./chunk-7BN5N2ND.cjs");
37
+ var import_chunk_37QRDFMQ = require("./chunk-37QRDFMQ.cjs");
38
+ var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
39
39
  var import_react = __toESM(require("react"));
40
40
  var import_app_framework = require("@dxos/app-framework");
41
+ var import_echo_schema = require("@dxos/echo-schema");
41
42
  var import_local_storage = require("@dxos/local-storage");
42
43
  var import_echo = require("@dxos/react-client/echo");
43
44
  var react_surface_default = ({ createInvitationUrl }) => (0, import_app_framework.contributes)(import_app_framework.Capabilities.ReactSurface, [
44
45
  (0, import_app_framework.createSurface)({
45
- id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/article`,
46
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/article`,
46
47
  role: "article",
47
48
  filter: (data) => (
48
49
  // TODO(wittjosiah): Need to avoid shotgun parsing space state everywhere.
@@ -51,104 +52,104 @@ var react_surface_default = ({ createInvitationUrl }) => (0, import_app_framewor
51
52
  component: ({ data, role, ...rest }) => /* @__PURE__ */ import_react.default.createElement(import_app_framework.Surface, {
52
53
  data: {
53
54
  id: data.subject.id,
54
- subject: data.subject.properties[import_chunk_WAJKBO3J.CollectionType.typename]?.target
55
+ subject: data.subject.properties[import_chunk_37QRDFMQ.CollectionType.typename]?.target
55
56
  },
56
57
  role,
57
58
  ...rest
58
59
  })
59
60
  }),
60
61
  (0, import_app_framework.createSurface)({
61
- id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/collection-fallback`,
62
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/collection-fallback`,
62
63
  role: "article",
63
64
  position: "fallback",
64
- filter: (data) => data.subject instanceof import_chunk_WAJKBO3J.CollectionType,
65
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_QE4GVR6C.CollectionMain, {
65
+ filter: (data) => (0, import_echo_schema.isInstanceOf)(import_chunk_37QRDFMQ.CollectionType, data.subject),
66
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_BN5K3SRF.CollectionMain, {
66
67
  collection: data.subject
67
68
  })
68
69
  }),
69
70
  (0, import_app_framework.createSurface)({
70
- id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/settings-panel`,
71
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/settings-panel`,
71
72
  // TODO(burdon): Add role name syntax to minimal plugin docs.
72
73
  role: "complementary--settings",
73
74
  filter: (data) => (0, import_echo.isSpace)(data.subject),
74
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_QE4GVR6C.SpaceSettingsPanel, {
75
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_BN5K3SRF.SpaceSettingsPanel, {
75
76
  space: data.subject
76
77
  })
77
78
  }),
78
79
  (0, import_app_framework.createSurface)({
79
- id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/object-settings-base-panel`,
80
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/object-settings-base-panel`,
80
81
  role: "complementary--settings",
81
82
  position: "hoist",
82
83
  filter: (data) => (0, import_echo.isEchoObject)(data.subject),
83
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_QE4GVR6C.BaseObjectSettings, {
84
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_BN5K3SRF.BaseObjectSettings, {
84
85
  object: data.subject
85
86
  })
86
87
  }),
87
88
  (0, import_app_framework.createSurface)({
88
- id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/object-settings-advanced-panel`,
89
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/object-settings-advanced-panel`,
89
90
  role: "complementary--settings",
90
91
  position: "fallback",
91
92
  filter: (data) => (0, import_echo.isEchoObject)(data.subject),
92
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_QE4GVR6C.AdvancedObjectSettings, {
93
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_BN5K3SRF.AdvancedObjectSettings, {
93
94
  object: data.subject
94
95
  })
95
96
  }),
96
97
  (0, import_app_framework.createSurface)({
97
- id: import_chunk_QE4GVR6C.SPACE_SETTINGS_DIALOG,
98
+ id: import_chunk_BN5K3SRF.SPACE_SETTINGS_DIALOG,
98
99
  role: "dialog",
99
- filter: (data) => data.component === import_chunk_QE4GVR6C.SPACE_SETTINGS_DIALOG,
100
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_QE4GVR6C.SpaceSettingsDialog, {
100
+ filter: (data) => data.component === import_chunk_BN5K3SRF.SPACE_SETTINGS_DIALOG,
101
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_BN5K3SRF.SpaceSettingsDialog, {
101
102
  ...data.props,
102
103
  createInvitationUrl
103
104
  })
104
105
  }),
105
106
  (0, import_app_framework.createSurface)({
106
- id: import_chunk_QE4GVR6C.JOIN_DIALOG,
107
+ id: import_chunk_BN5K3SRF.JOIN_DIALOG,
107
108
  role: "dialog",
108
- filter: (data) => data.component === import_chunk_QE4GVR6C.JOIN_DIALOG,
109
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_QE4GVR6C.JoinDialog, data.props)
109
+ filter: (data) => data.component === import_chunk_BN5K3SRF.JOIN_DIALOG,
110
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_BN5K3SRF.JoinDialog, data.props)
110
111
  }),
111
112
  (0, import_app_framework.createSurface)({
112
- id: import_chunk_QE4GVR6C.CREATE_SPACE_DIALOG,
113
+ id: import_chunk_BN5K3SRF.CREATE_SPACE_DIALOG,
113
114
  role: "dialog",
114
- filter: (data) => data.component === import_chunk_QE4GVR6C.CREATE_SPACE_DIALOG,
115
- component: () => /* @__PURE__ */ import_react.default.createElement(import_chunk_QE4GVR6C.CreateSpaceDialog, null)
115
+ filter: (data) => data.component === import_chunk_BN5K3SRF.CREATE_SPACE_DIALOG,
116
+ component: () => /* @__PURE__ */ import_react.default.createElement(import_chunk_BN5K3SRF.CreateSpaceDialog, null)
116
117
  }),
117
118
  (0, import_app_framework.createSurface)({
118
- id: import_chunk_QE4GVR6C.CREATE_OBJECT_DIALOG,
119
+ id: import_chunk_BN5K3SRF.CREATE_OBJECT_DIALOG,
119
120
  role: "dialog",
120
- filter: (data) => data.component === import_chunk_QE4GVR6C.CREATE_OBJECT_DIALOG,
121
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_QE4GVR6C.CreateObjectDialog, data.props)
121
+ filter: (data) => data.component === import_chunk_BN5K3SRF.CREATE_OBJECT_DIALOG,
122
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_BN5K3SRF.CreateObjectDialog, data.props)
122
123
  }),
123
124
  (0, import_app_framework.createSurface)({
124
- id: import_chunk_QE4GVR6C.POPOVER_RENAME_SPACE,
125
+ id: import_chunk_BN5K3SRF.POPOVER_RENAME_SPACE,
125
126
  role: "popover",
126
- filter: (data) => data.component === import_chunk_QE4GVR6C.POPOVER_RENAME_SPACE && (0, import_echo.isSpace)(data.props),
127
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_QE4GVR6C.PopoverRenameSpace, {
127
+ filter: (data) => data.component === import_chunk_BN5K3SRF.POPOVER_RENAME_SPACE && (0, import_echo.isSpace)(data.props),
128
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_BN5K3SRF.PopoverRenameSpace, {
128
129
  space: data.props
129
130
  })
130
131
  }),
131
132
  (0, import_app_framework.createSurface)({
132
- id: import_chunk_QE4GVR6C.POPOVER_RENAME_OBJECT,
133
+ id: import_chunk_BN5K3SRF.POPOVER_RENAME_OBJECT,
133
134
  role: "popover",
134
- filter: (data) => data.component === import_chunk_QE4GVR6C.POPOVER_RENAME_OBJECT && (0, import_echo.isReactiveObject)(data.props),
135
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_QE4GVR6C.PopoverRenameObject, {
135
+ filter: (data) => data.component === import_chunk_BN5K3SRF.POPOVER_RENAME_OBJECT && (0, import_echo.isReactiveObject)(data.props),
136
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_BN5K3SRF.PopoverRenameObject, {
136
137
  object: data.props
137
138
  })
138
139
  }),
139
140
  (0, import_app_framework.createSurface)({
140
- id: import_chunk_QE4GVR6C.POPOVER_ADD_SPACE,
141
+ id: import_chunk_BN5K3SRF.POPOVER_ADD_SPACE,
141
142
  role: "popover",
142
- filter: (data) => data.component === import_chunk_QE4GVR6C.POPOVER_ADD_SPACE,
143
- component: () => /* @__PURE__ */ import_react.default.createElement(import_chunk_QE4GVR6C.PopoverAddSpace, null)
143
+ filter: (data) => data.component === import_chunk_BN5K3SRF.POPOVER_ADD_SPACE,
144
+ component: () => /* @__PURE__ */ import_react.default.createElement(import_chunk_BN5K3SRF.PopoverAddSpace, null)
144
145
  }),
145
146
  (0, import_app_framework.createSurface)({
146
- id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/navtree-presence`,
147
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/navtree-presence`,
147
148
  role: "navtree-item-end",
148
149
  filter: (data) => typeof data.id === "string" && (0, import_echo.isEchoObject)(data.subject),
149
150
  component: ({ data }) => {
150
- const state = (0, import_app_framework.useCapability)(import_chunk_YZKNRFHU.SpaceCapabilities.MutableState);
151
- return /* @__PURE__ */ import_react.default.createElement(import_chunk_QE4GVR6C.SmallPresenceLive, {
151
+ const state = (0, import_app_framework.useCapability)(import_chunk_GRM6AGWI.SpaceCapabilities.MutableState);
152
+ return /* @__PURE__ */ import_react.default.createElement(import_chunk_BN5K3SRF.SmallPresenceLive, {
152
153
  id: data.id,
153
154
  open: data.open,
154
155
  viewers: state.viewersByObject[data.id]
@@ -157,65 +158,65 @@ var react_surface_default = ({ createInvitationUrl }) => (0, import_app_framewor
157
158
  }),
158
159
  (0, import_app_framework.createSurface)({
159
160
  // TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.
160
- id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/navtree-presence-fallback`,
161
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/navtree-presence-fallback`,
161
162
  role: "navtree-item-end",
162
163
  position: "fallback",
163
164
  filter: (data) => typeof data.id === "string",
164
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_QE4GVR6C.SmallPresenceLive, {
165
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_BN5K3SRF.SmallPresenceLive, {
165
166
  id: data.id,
166
167
  open: data.open
167
168
  })
168
169
  }),
169
170
  (0, import_app_framework.createSurface)({
170
- id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/navtree-sync-status`,
171
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/navtree-sync-status`,
171
172
  role: "navtree-item-end",
172
173
  filter: (data) => (0, import_echo.isSpace)(data.subject),
173
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_QE4GVR6C.InlineSyncStatus, {
174
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_BN5K3SRF.InlineSyncStatus, {
174
175
  space: data.subject,
175
176
  open: data.open
176
177
  })
177
178
  }),
178
179
  (0, import_app_framework.createSurface)({
179
- id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/navbar-presence`,
180
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/navbar-presence`,
180
181
  role: "navbar-end",
181
182
  position: "hoist",
182
183
  filter: (data) => (0, import_echo.isSpace)(data.subject) || (0, import_echo.isEchoObject)(data.subject),
183
184
  component: ({ data }) => {
184
185
  const space = (0, import_echo.isSpace)(data.subject) ? data.subject : (0, import_echo.getSpace)(data.subject);
185
- const object = (0, import_echo.isSpace)(data.subject) ? data.subject.state.get() === import_echo.SpaceState.SPACE_READY ? space?.properties[import_chunk_WAJKBO3J.CollectionType.typename]?.target : void 0 : data.subject;
186
- return object ? /* @__PURE__ */ import_react.default.createElement(import_chunk_QE4GVR6C.SpacePresence, {
186
+ const object = (0, import_echo.isSpace)(data.subject) ? data.subject.state.get() === import_echo.SpaceState.SPACE_READY ? space?.properties[import_chunk_37QRDFMQ.CollectionType.typename]?.target : void 0 : data.subject;
187
+ return object ? /* @__PURE__ */ import_react.default.createElement(import_chunk_BN5K3SRF.SpacePresence, {
187
188
  object
188
189
  }) : null;
189
190
  }
190
191
  }),
191
192
  (0, import_app_framework.createSurface)({
192
- id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/collection-section`,
193
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/collection-section`,
193
194
  role: "section",
194
- filter: (data) => data.subject instanceof import_chunk_WAJKBO3J.CollectionType,
195
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_QE4GVR6C.CollectionSection, {
195
+ filter: (data) => (0, import_echo_schema.isInstanceOf)(import_chunk_37QRDFMQ.CollectionType, data.subject),
196
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_BN5K3SRF.CollectionSection, {
196
197
  collection: data.subject
197
198
  })
198
199
  }),
199
200
  (0, import_app_framework.createSurface)({
200
- id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/settings`,
201
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/settings`,
201
202
  role: "article",
202
- filter: (data) => data.subject instanceof import_local_storage.SettingsStore && data.subject.prefix === import_chunk_WZR6OAN3.SPACE_PLUGIN,
203
- component: ({ data: { subject } }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_QE4GVR6C.SpacePluginSettings, {
203
+ filter: (data) => data.subject instanceof import_local_storage.SettingsStore && data.subject.prefix === import_chunk_6P2DB4QQ.SPACE_PLUGIN,
204
+ component: ({ data: { subject } }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_BN5K3SRF.SpacePluginSettings, {
204
205
  settings: subject.value
205
206
  })
206
207
  }),
207
208
  (0, import_app_framework.createSurface)({
208
- id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/menu-footer`,
209
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/menu-footer`,
209
210
  role: "menu-footer",
210
211
  filter: (data) => (0, import_echo.isEchoObject)(data.subject),
211
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_QE4GVR6C.MenuFooter, {
212
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_BN5K3SRF.MenuFooter, {
212
213
  object: data.subject
213
214
  })
214
215
  }),
215
216
  (0, import_app_framework.createSurface)({
216
- id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/status`,
217
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/status`,
217
218
  role: "status",
218
- component: () => /* @__PURE__ */ import_react.default.createElement(import_chunk_QE4GVR6C.SyncStatus, null)
219
+ component: () => /* @__PURE__ */ import_react.default.createElement(import_chunk_BN5K3SRF.SyncStatus, null)
219
220
  })
220
221
  ]);
221
- //# sourceMappingURL=react-surface-JSCCIZS5.cjs.map
222
+ //# sourceMappingURL=react-surface-VIGVLED7.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface, Surface, useCapability } from '@dxos/app-framework';\nimport { isInstanceOf } from '@dxos/echo-schema';\nimport { SettingsStore } from '@dxos/local-storage';\nimport {\n getSpace,\n isEchoObject,\n isReactiveObject,\n isSpace,\n SpaceState,\n type ReactiveEchoObject,\n type Space,\n} from '@dxos/react-client/echo';\nimport { type JoinPanelProps } from '@dxos/shell/react';\n\nimport { SpaceCapabilities } from './capabilities';\nimport {\n AdvancedObjectSettings,\n BaseObjectSettings,\n CollectionMain,\n CollectionSection,\n CREATE_OBJECT_DIALOG,\n CREATE_SPACE_DIALOG,\n CreateObjectDialog,\n CreateSpaceDialog,\n InlineSyncStatus,\n JOIN_DIALOG,\n JoinDialog,\n MenuFooter,\n POPOVER_RENAME_OBJECT,\n POPOVER_RENAME_SPACE,\n PopoverRenameObject,\n PopoverRenameSpace,\n SmallPresenceLive,\n SPACE_SETTINGS_DIALOG,\n SpacePluginSettings,\n SpacePresence,\n SpaceSettingsDialog,\n SpaceSettingsPanel,\n SyncStatus,\n type CreateObjectDialogProps,\n type SpaceSettingsDialogProps,\n POPOVER_ADD_SPACE,\n PopoverAddSpace,\n} from '../components';\nimport { SPACE_PLUGIN } from '../meta';\nimport { CollectionType, type SpaceSettingsProps } from '../types';\n\ntype ReactSurfaceOptions = {\n createInvitationUrl: (invitationCode: string) => string;\n};\n\nexport default ({ createInvitationUrl }: ReactSurfaceOptions) =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${SPACE_PLUGIN}/article`,\n role: 'article',\n filter: (data): data is { subject: Space } =>\n // TODO(wittjosiah): Need to avoid shotgun parsing space state everywhere.\n isSpace(data.subject) && data.subject.state.get() === SpaceState.SPACE_READY,\n component: ({ data, role, ...rest }) => (\n <Surface\n data={{ id: data.subject.id, subject: data.subject.properties[CollectionType.typename]?.target }}\n role={role}\n {...rest}\n />\n ),\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/collection-fallback`,\n role: 'article',\n position: 'fallback',\n filter: (data): data is { subject: CollectionType } => isInstanceOf(CollectionType, data.subject),\n component: ({ data }) => <CollectionMain collection={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/settings-panel`,\n // TODO(burdon): Add role name syntax to minimal plugin docs.\n role: 'complementary--settings',\n filter: (data): data is { subject: Space } => isSpace(data.subject),\n component: ({ data }) => <SpaceSettingsPanel space={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/object-settings-base-panel`,\n role: 'complementary--settings',\n position: 'hoist',\n filter: (data): data is { subject: ReactiveEchoObject<any> } => isEchoObject(data.subject),\n component: ({ data }) => <BaseObjectSettings object={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/object-settings-advanced-panel`,\n role: 'complementary--settings',\n position: 'fallback',\n filter: (data): data is { subject: ReactiveEchoObject<any> } => isEchoObject(data.subject),\n component: ({ data }) => <AdvancedObjectSettings object={data.subject} />,\n }),\n createSurface({\n id: SPACE_SETTINGS_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: SpaceSettingsDialogProps } => data.component === SPACE_SETTINGS_DIALOG,\n component: ({ data }) => <SpaceSettingsDialog {...data.props} createInvitationUrl={createInvitationUrl} />,\n }),\n createSurface({\n id: JOIN_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: JoinPanelProps } => data.component === JOIN_DIALOG,\n component: ({ data }) => <JoinDialog {...data.props} />,\n }),\n createSurface({\n id: CREATE_SPACE_DIALOG,\n role: 'dialog',\n filter: (data): data is any => data.component === CREATE_SPACE_DIALOG,\n component: () => <CreateSpaceDialog />,\n }),\n createSurface({\n id: CREATE_OBJECT_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: CreateObjectDialogProps } => data.component === CREATE_OBJECT_DIALOG,\n component: ({ data }) => <CreateObjectDialog {...data.props} />,\n }),\n createSurface({\n id: POPOVER_RENAME_SPACE,\n role: 'popover',\n filter: (data): data is { props: Space } => data.component === POPOVER_RENAME_SPACE && isSpace(data.props),\n component: ({ data }) => <PopoverRenameSpace space={data.props} />,\n }),\n createSurface({\n id: POPOVER_RENAME_OBJECT,\n role: 'popover',\n filter: (data): data is { props: ReactiveEchoObject<any> } =>\n data.component === POPOVER_RENAME_OBJECT && isReactiveObject(data.props),\n component: ({ data }) => <PopoverRenameObject object={data.props} />,\n }),\n createSurface({\n id: POPOVER_ADD_SPACE,\n role: 'popover',\n filter: (data): data is any => data.component === POPOVER_ADD_SPACE,\n component: () => <PopoverAddSpace />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/navtree-presence`,\n role: 'navtree-item-end',\n filter: (data): data is { id: string; subject: ReactiveEchoObject<any>; open?: boolean } =>\n typeof data.id === 'string' && isEchoObject(data.subject),\n component: ({ data }) => {\n // TODO(wittjosiah): Doesn't need to be mutable but readonly type messes with ComplexMap.\n const state = useCapability(SpaceCapabilities.MutableState);\n return <SmallPresenceLive id={data.id} open={data.open} viewers={state.viewersByObject[data.id]} />;\n },\n }),\n createSurface({\n // TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.\n id: `${SPACE_PLUGIN}/navtree-presence-fallback`,\n role: 'navtree-item-end',\n position: 'fallback',\n filter: (data): data is { id: string; open?: boolean } => typeof data.id === 'string',\n component: ({ data }) => <SmallPresenceLive id={data.id} open={data.open} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/navtree-sync-status`,\n role: 'navtree-item-end',\n filter: (data): data is { subject: Space; open?: boolean } => isSpace(data.subject),\n component: ({ data }) => <InlineSyncStatus space={data.subject} open={data.open} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/navbar-presence`,\n role: 'navbar-end',\n position: 'hoist',\n filter: (data): data is { subject: Space | ReactiveEchoObject<any> } =>\n isSpace(data.subject) || isEchoObject(data.subject),\n component: ({ data }) => {\n const space = isSpace(data.subject) ? data.subject : getSpace(data.subject);\n const object = isSpace(data.subject)\n ? data.subject.state.get() === SpaceState.SPACE_READY\n ? (space?.properties[CollectionType.typename]?.target as CollectionType)\n : undefined\n : data.subject;\n\n return object ? <SpacePresence object={object} /> : null;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/collection-section`,\n role: 'section',\n filter: (data): data is { subject: CollectionType } => isInstanceOf(CollectionType, data.subject),\n component: ({ data }) => <CollectionSection collection={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<SpaceSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === SPACE_PLUGIN,\n component: ({ data: { subject } }) => <SpacePluginSettings settings={subject.value} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/menu-footer`,\n role: 'menu-footer',\n filter: (data): data is { subject: ReactiveEchoObject<any> } => isEchoObject(data.subject),\n component: ({ data }) => <MenuFooter object={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/status`,\n role: 'status',\n component: () => <SyncStatus />,\n }),\n ]);\n"],
5
+ "mappings": "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",
6
+ "names": ["createInvitationUrl", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "SPACE_PLUGIN", "role", "filter", "data", "isSpace", "subject", "state", "get", "SpaceState", "SPACE_READY", "component", "rest", "React", "Surface", "properties", "CollectionType", "typename", "target", "position", "isInstanceOf", "CollectionMain", "collection", "SpaceSettingsPanel", "space", "isEchoObject", "BaseObjectSettings", "object", "AdvancedObjectSettings", "SPACE_SETTINGS_DIALOG", "SpaceSettingsDialog", "props", "JOIN_DIALOG", "JoinDialog", "CREATE_SPACE_DIALOG", "CreateSpaceDialog", "CREATE_OBJECT_DIALOG", "CreateObjectDialog", "POPOVER_RENAME_SPACE", "PopoverRenameSpace", "POPOVER_RENAME_OBJECT", "isReactiveObject", "PopoverRenameObject", "POPOVER_ADD_SPACE", "PopoverAddSpace", "useCapability", "SpaceCapabilities", "MutableState", "SmallPresenceLive", "open", "viewers", "viewersByObject", "InlineSyncStatus", "getSpace", "undefined", "SpacePresence", "CollectionSection", "SettingsStore", "prefix", "SpacePluginSettings", "settings", "value", "MenuFooter", "SyncStatus"]
7
+ }
@@ -16,13 +16,13 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var schema_YN7WVFRX_exports = {};
20
- __export(schema_YN7WVFRX_exports, {
19
+ var schema_EERAOETL_exports = {};
20
+ __export(schema_EERAOETL_exports, {
21
21
  default: () => schema_default
22
22
  });
23
- module.exports = __toCommonJS(schema_YN7WVFRX_exports);
24
- var import_chunk_YZKNRFHU = require("./chunk-YZKNRFHU.cjs");
25
- var import_chunk_WZR6OAN3 = require("./chunk-WZR6OAN3.cjs");
23
+ module.exports = __toCommonJS(schema_EERAOETL_exports);
24
+ var import_chunk_GRM6AGWI = require("./chunk-GRM6AGWI.cjs");
25
+ var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
26
26
  var import_signals_core = require("@preact/signals-core");
27
27
  var import_app_framework = require("@dxos/app-framework");
28
28
  var import_plugin_client = require("@dxos/plugin-client");
@@ -30,11 +30,11 @@ var schema_default = (context) => {
30
30
  const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
31
31
  let previous = [];
32
32
  const unsubscribe = (0, import_signals_core.effect)(() => {
33
- const forms = Array.from(new Set(context.requestCapabilities(import_chunk_YZKNRFHU.SpaceCapabilities.ObjectForm)));
33
+ const forms = Array.from(new Set(context.requestCapabilities(import_chunk_GRM6AGWI.SpaceCapabilities.ObjectForm)));
34
34
  const newSchemas = forms.filter((form) => !previous.includes(form)).map((form) => form.objectSchema);
35
35
  previous = forms;
36
36
  client.addTypes(newSchemas);
37
37
  });
38
38
  return (0, import_app_framework.contributes)(import_app_framework.Capabilities.Null, null, () => unsubscribe());
39
39
  };
40
- //# sourceMappingURL=schema-YN7WVFRX.cjs.map
40
+ //# sourceMappingURL=schema-EERAOETL.cjs.map
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var schema_tools_OZS4OC6X_exports = {};
20
+ __export(schema_tools_OZS4OC6X_exports, {
21
+ TypeNameSchema: () => TypeNameSchema,
22
+ default: () => schema_tools_default
23
+ });
24
+ module.exports = __toCommonJS(schema_tools_OZS4OC6X_exports);
25
+ var import_SchemaAST = require("effect/SchemaAST");
26
+ var import_app_framework = require("@dxos/app-framework");
27
+ var import_artifact = require("@dxos/artifact");
28
+ var import_echo_schema = require("@dxos/echo-schema");
29
+ var import_invariant = require("@dxos/invariant");
30
+ var import_react_ui_theme = require("@dxos/react-ui-theme");
31
+ var import_schema = require("@dxos/schema");
32
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/capabilities/schema-tools.ts";
33
+ var TypeNameSchema = import_echo_schema.S.String.pipe(import_echo_schema.S.pattern(/^\w+\.\w{2,}\/[\w/]+$/i), import_echo_schema.S.annotations({
34
+ [import_SchemaAST.TitleAnnotationId]: "TypeName",
35
+ [import_SchemaAST.DescriptionAnnotationId]: "Domain-style type name path. Dashes are not allowed. Use camel case for the final component of the type name.",
36
+ [import_SchemaAST.ExamplesAnnotationId]: [
37
+ "example.com/type/Document",
38
+ "example.com/type/FlightList"
39
+ ]
40
+ }));
41
+ var formatDescription = `The format of the property. Additional information:
42
+ ${import_echo_schema.FormatEnum.GeoPoint}: ${JSON.stringify((0, import_echo_schema.toJsonSchema)(import_echo_schema.GeoPoint))}
43
+ This tuple is GeoJSON. You must specify \`${import_echo_schema.FormatEnum.GeoPoint}\` as [Longitude, Latitude]`;
44
+ var PropertyDefinitionSchema = import_echo_schema.S.Struct({
45
+ name: import_echo_schema.S.String.annotations({
46
+ [import_SchemaAST.DescriptionAnnotationId]: "The name of the property."
47
+ }),
48
+ format: import_echo_schema.S.Union(...import_echo_schema.FormatEnums.map((format) => import_echo_schema.S.Literal(format))).annotations({
49
+ [import_SchemaAST.DescriptionAnnotationId]: formatDescription
50
+ }),
51
+ config: import_echo_schema.S.optional(import_echo_schema.S.Struct({
52
+ options: import_echo_schema.S.optional(import_echo_schema.S.Array(import_echo_schema.SelectOptionSchema).annotations({
53
+ description: `Options for SingleSelect/MultiSelect formats. Available colors: ${import_react_ui_theme.hues.join(", ")}`
54
+ }).pipe(import_echo_schema.S.mutable))
55
+ }))
56
+ }).pipe(import_echo_schema.S.mutable);
57
+ var SYSTEM_NAMESPACE = "dxos.org/echo/schema";
58
+ var schema_tools_default = () => (0, import_app_framework.contributes)(import_app_framework.Capabilities.Tools, [
59
+ (0, import_artifact.defineTool)(SYSTEM_NAMESPACE, {
60
+ name: "list",
61
+ description: "List registered schemas in the space.",
62
+ caption: "Listing registered schemas...",
63
+ schema: import_echo_schema.S.Struct({}),
64
+ execute: async (_input, { extensions }) => {
65
+ (0, import_invariant.invariant)(extensions?.space, "No space.", {
66
+ F: __dxlog_file,
67
+ L: 67,
68
+ S: void 0,
69
+ A: [
70
+ "extensions?.space",
71
+ "'No space.'"
72
+ ]
73
+ });
74
+ const space = extensions.space;
75
+ const schemas = await space.db.schemaRegistry.query({}).run();
76
+ return import_artifact.ToolResult.Success(schemas.map((schema) => ({
77
+ typename: schema.typename,
78
+ version: schema.version
79
+ })));
80
+ }
81
+ }),
82
+ (0, import_artifact.defineTool)(SYSTEM_NAMESPACE, {
83
+ name: "get",
84
+ description: "Get a specific schema by its typename.",
85
+ caption: "Getting schema...",
86
+ schema: import_echo_schema.S.Struct({
87
+ typename: import_echo_schema.S.String.annotations({
88
+ description: "The fully qualified typename of the schema."
89
+ })
90
+ }),
91
+ execute: async ({ typename }, { extensions }) => {
92
+ (0, import_invariant.invariant)(extensions?.space, "No space.", {
93
+ F: __dxlog_file,
94
+ L: 89,
95
+ S: void 0,
96
+ A: [
97
+ "extensions?.space",
98
+ "'No space.'"
99
+ ]
100
+ });
101
+ const space = extensions.space;
102
+ const schema = await space.db.schemaRegistry.query({
103
+ typename
104
+ }).firstOrUndefined();
105
+ if (!schema) {
106
+ return import_artifact.ToolResult.Error(`Schema not found: ${typename}`);
107
+ }
108
+ return import_artifact.ToolResult.Success(schema);
109
+ }
110
+ }),
111
+ (0, import_artifact.defineTool)(SYSTEM_NAMESPACE, {
112
+ name: "create",
113
+ description: "Create a new schema with the provided definition.",
114
+ caption: "Creating schema...",
115
+ schema: import_echo_schema.S.Struct({
116
+ typename: TypeNameSchema.annotations({
117
+ description: 'The fully qualified schema typename. Must start with a domain, and then one or more path components (e.g., "example.com/type/TypeName").'
118
+ }),
119
+ properties: import_echo_schema.S.Array(PropertyDefinitionSchema).pipe(import_echo_schema.S.annotations({
120
+ description: "Array of property definitions for the schema."
121
+ }), import_echo_schema.S.mutable)
122
+ }),
123
+ execute: async ({ typename, properties }, { extensions }) => {
124
+ (0, import_invariant.invariant)(extensions?.space, "No space.", {
125
+ F: __dxlog_file,
126
+ L: 115,
127
+ S: void 0,
128
+ A: [
129
+ "extensions?.space",
130
+ "'No space.'"
131
+ ]
132
+ });
133
+ const space = extensions.space;
134
+ const schema = (0, import_schema.echoSchemaFromPropertyDefinitions)(typename, properties);
135
+ const [registeredSchema] = await space.db.schemaRegistry.register([
136
+ schema
137
+ ]);
138
+ return import_artifact.ToolResult.Success(registeredSchema);
139
+ }
140
+ })
141
+ ]);
142
+ // Annotate the CommonJS export names for ESM import in node:
143
+ 0 && (module.exports = {
144
+ TypeNameSchema
145
+ });
146
+ //# sourceMappingURL=schema-tools-OZS4OC6X.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/schema-tools.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { DescriptionAnnotationId, ExamplesAnnotationId, TitleAnnotationId } from 'effect/SchemaAST';\n\nimport { Capabilities, contributes, type PromiseIntentDispatcher } from '@dxos/app-framework';\nimport { defineTool, ToolResult } from '@dxos/artifact';\nimport { type Space } from '@dxos/client/echo';\nimport { FormatEnum, FormatEnums, S, SelectOptionSchema, GeoPoint, toJsonSchema } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { hues } from '@dxos/react-ui-theme';\nimport { echoSchemaFromPropertyDefinitions } from '@dxos/schema';\n\n// TODO(burdon): Factor out.\ndeclare global {\n interface ToolContextExtensions {\n space?: Space;\n dispatch?: PromiseIntentDispatcher;\n }\n}\n\n// TODO(ZaymonFC): Move this somewhere common.\nexport const TypeNameSchema = S.String.pipe(\n S.pattern(/^\\w+\\.\\w{2,}\\/[\\w/]+$/i),\n S.annotations({\n [TitleAnnotationId]: 'TypeName',\n [DescriptionAnnotationId]:\n 'Domain-style type name path. Dashes are not allowed. Use camel case for the final component of the type name.',\n [ExamplesAnnotationId]: ['example.com/type/Document', 'example.com/type/FlightList'],\n }),\n);\n\nconst formatDescription = `The format of the property. Additional information:\n ${FormatEnum.GeoPoint}: ${JSON.stringify(toJsonSchema(GeoPoint))}\n This tuple is GeoJSON. You must specify \\`${FormatEnum.GeoPoint}\\` as [Longitude, Latitude]`;\n\n// TODO(ZaymonFC): All properties are default optional, but maybe we should allow for required properties.\nconst PropertyDefinitionSchema = S.Struct({\n name: S.String.annotations({ [DescriptionAnnotationId]: 'The name of the property.' }),\n format: S.Union(...FormatEnums.map((format) => S.Literal(format))).annotations({\n [DescriptionAnnotationId]: formatDescription,\n }),\n config: S.optional(\n S.Struct({\n options: S.optional(\n S.Array(SelectOptionSchema)\n .annotations({\n description: `Options for SingleSelect/MultiSelect formats. Available colors: ${hues.join(', ')}`,\n })\n .pipe(S.mutable),\n ),\n }),\n ),\n}).pipe(S.mutable);\n\nconst SYSTEM_NAMESPACE = 'dxos.org/echo/schema';\n\nexport default () =>\n contributes(Capabilities.Tools, [\n defineTool(SYSTEM_NAMESPACE, {\n name: 'list',\n description: 'List registered schemas in the space.',\n caption: 'Listing registered schemas...',\n schema: S.Struct({}),\n execute: async (_input, { extensions }) => {\n invariant(extensions?.space, 'No space.');\n const space = extensions.space;\n\n const schemas = await space.db.schemaRegistry.query({}).run();\n return ToolResult.Success(\n schemas.map((schema) => ({\n typename: schema.typename,\n version: schema.version,\n })),\n );\n },\n }),\n defineTool(SYSTEM_NAMESPACE, {\n name: 'get',\n description: 'Get a specific schema by its typename.',\n caption: 'Getting schema...',\n schema: S.Struct({\n typename: S.String.annotations({\n description: 'The fully qualified typename of the schema.',\n }),\n }),\n execute: async ({ typename }, { extensions }) => {\n invariant(extensions?.space, 'No space.');\n const space = extensions.space;\n\n const schema = await space.db.schemaRegistry.query({ typename }).firstOrUndefined();\n if (!schema) {\n return ToolResult.Error(`Schema not found: ${typename}`);\n }\n\n return ToolResult.Success(schema);\n },\n }),\n defineTool(SYSTEM_NAMESPACE, {\n name: 'create',\n description: 'Create a new schema with the provided definition.',\n caption: 'Creating schema...',\n schema: S.Struct({\n typename: TypeNameSchema.annotations({\n description:\n 'The fully qualified schema typename. Must start with a domain, and then one or more path components (e.g., \"example.com/type/TypeName\").',\n }),\n properties: S.Array(PropertyDefinitionSchema).pipe(\n S.annotations({ description: 'Array of property definitions for the schema.' }),\n S.mutable,\n ),\n }),\n execute: async ({ typename, properties }, { extensions }) => {\n invariant(extensions?.space, 'No space.');\n const space = extensions.space;\n\n const schema = echoSchemaFromPropertyDefinitions(typename, properties);\n const [registeredSchema] = await space.db.schemaRegistry.register([schema]);\n\n return ToolResult.Success(registeredSchema);\n },\n }),\n ]);\n"],
5
+ "mappings": "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",
6
+ "names": ["TypeNameSchema", "S", "String", "pipe", "pattern", "annotations", "TitleAnnotationId", "DescriptionAnnotationId", "ExamplesAnnotationId", "formatDescription", "FormatEnum", "GeoPoint", "JSON", "stringify", "toJsonSchema", "PropertyDefinitionSchema", "Struct", "name", "format", "Union", "FormatEnums", "map", "Literal", "config", "optional", "options", "Array", "SelectOptionSchema", "description", "hues", "join", "mutable", "SYSTEM_NAMESPACE", "contributes", "Capabilities", "Tools", "defineTool", "caption", "schema", "execute", "_input", "extensions", "invariant", "space", "schemas", "db", "schemaRegistry", "query", "run", "ToolResult", "Success", "typename", "version", "firstOrUndefined", "Error", "properties", "echoSchemaFromPropertyDefinitions", "registeredSchema", "register"]
7
+ }
@@ -16,13 +16,13 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var settings_5QYFWNH7_exports = {};
20
- __export(settings_5QYFWNH7_exports, {
19
+ var settings_VPFJWIWP_exports = {};
20
+ __export(settings_VPFJWIWP_exports, {
21
21
  default: () => settings_default
22
22
  });
23
- module.exports = __toCommonJS(settings_5QYFWNH7_exports);
24
- var import_chunk_WAJKBO3J = require("./chunk-WAJKBO3J.cjs");
25
- var import_chunk_WZR6OAN3 = require("./chunk-WZR6OAN3.cjs");
23
+ module.exports = __toCommonJS(settings_VPFJWIWP_exports);
24
+ var import_chunk_37QRDFMQ = require("./chunk-37QRDFMQ.cjs");
25
+ var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
26
26
  var import_app_framework = require("@dxos/app-framework");
27
27
  var import_live_object = require("@dxos/live-object");
28
28
  var settings_default = () => {
@@ -30,9 +30,9 @@ var settings_default = () => {
30
30
  showHidden: false
31
31
  });
32
32
  return (0, import_app_framework.contributes)(import_app_framework.Capabilities.Settings, {
33
- schema: import_chunk_WAJKBO3J.SpaceSettingsSchema,
34
- prefix: import_chunk_WZR6OAN3.SPACE_PLUGIN,
33
+ schema: import_chunk_37QRDFMQ.SpaceSettingsSchema,
34
+ prefix: import_chunk_6P2DB4QQ.SPACE_PLUGIN,
35
35
  value: settings
36
36
  });
37
37
  };
38
- //# sourceMappingURL=settings-5QYFWNH7.cjs.map
38
+ //# sourceMappingURL=settings-VPFJWIWP.cjs.map
@@ -16,15 +16,15 @@ 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 spaces_ready_FQNAKR7G_exports = {};
20
- __export(spaces_ready_FQNAKR7G_exports, {
19
+ var spaces_ready_BDKHLPYB_exports = {};
20
+ __export(spaces_ready_BDKHLPYB_exports, {
21
21
  default: () => spaces_ready_default
22
22
  });
23
- module.exports = __toCommonJS(spaces_ready_FQNAKR7G_exports);
24
- var import_chunk_YZKNRFHU = require("./chunk-YZKNRFHU.cjs");
25
- var import_chunk_OVGKWJOC = require("./chunk-OVGKWJOC.cjs");
26
- var import_chunk_WAJKBO3J = require("./chunk-WAJKBO3J.cjs");
27
- var import_chunk_WZR6OAN3 = require("./chunk-WZR6OAN3.cjs");
23
+ module.exports = __toCommonJS(spaces_ready_BDKHLPYB_exports);
24
+ var import_chunk_GRM6AGWI = require("./chunk-GRM6AGWI.cjs");
25
+ var import_chunk_7BN5N2ND = require("./chunk-7BN5N2ND.cjs");
26
+ var import_chunk_37QRDFMQ = require("./chunk-37QRDFMQ.cjs");
27
+ var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
28
28
  var import_app_framework = require("@dxos/app-framework");
29
29
  var import_async = require("@dxos/async");
30
30
  var import_echo_schema = require("@dxos/echo-schema");
@@ -49,7 +49,7 @@ var spaces_ready_default = async (context) => {
49
49
  const layout = context.requestCapability(import_app_framework.Capabilities.Layout);
50
50
  const deck = context.requestCapability(import_plugin_deck.DeckCapabilities.DeckState);
51
51
  const attention = context.requestCapability(import_plugin_attention.AttentionCapabilities.Attention);
52
- const state = context.requestCapability(import_chunk_YZKNRFHU.SpaceCapabilities.MutableState);
52
+ const state = context.requestCapability(import_chunk_GRM6AGWI.SpaceCapabilities.MutableState);
53
53
  const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
54
54
  const defaultSpace = client.spaces.default;
55
55
  await defaultSpace.waitUntilReady();
@@ -59,15 +59,15 @@ var spaces_ready_default = async (context) => {
59
59
  subject: defaultSpace.id
60
60
  }));
61
61
  }
62
- if (typeof defaultSpace.properties[import_chunk_OVGKWJOC.COMPOSER_SPACE_LOCK] !== "boolean") {
63
- defaultSpace.properties[import_chunk_OVGKWJOC.COMPOSER_SPACE_LOCK] = true;
62
+ if (typeof defaultSpace.properties[import_chunk_7BN5N2ND.COMPOSER_SPACE_LOCK] !== "boolean") {
63
+ defaultSpace.properties[import_chunk_7BN5N2ND.COMPOSER_SPACE_LOCK] = true;
64
64
  }
65
65
  const { objects: [spacesOrder] } = await defaultSpace.db.query(import_echo.Filter.schema(import_echo_schema.Expando, {
66
- key: import_chunk_OVGKWJOC.SHARED
66
+ key: import_chunk_7BN5N2ND.SHARED
67
67
  })).run();
68
68
  if (!spacesOrder) {
69
69
  defaultSpace.db.add((0, import_live_object.create)({
70
- key: import_chunk_OVGKWJOC.SHARED,
70
+ key: import_chunk_7BN5N2ND.SHARED,
71
71
  order: []
72
72
  }));
73
73
  }
@@ -82,7 +82,7 @@ var spaces_ready_default = async (context) => {
82
82
  const timeout = setTimeout(async () => {
83
83
  const node2 = graph.findNode(active[0]);
84
84
  if (!node2) {
85
- await dispatch((0, import_app_framework.createIntent)(import_chunk_WAJKBO3J.SpaceAction.WaitForObject, {
85
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_37QRDFMQ.SpaceAction.WaitForObject, {
86
86
  id: active[0]
87
87
  }));
88
88
  }
@@ -207,4 +207,4 @@ var spaces_ready_default = async (context) => {
207
207
  subscriptions.clear();
208
208
  });
209
209
  };
210
- //# sourceMappingURL=spaces-ready-FQNAKR7G.cjs.map
210
+ //# sourceMappingURL=spaces-ready-BDKHLPYB.cjs.map