@dxos/plugin-space 0.7.5-main.9d2a38b → 0.7.5-main.b19bfc8

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 (251) hide show
  1. package/dist/lib/browser/{app-graph-builder-F6XSETHX.mjs → app-graph-builder-MGK5HWPZ.mjs} +26 -103
  2. package/dist/lib/browser/app-graph-builder-MGK5HWPZ.mjs.map +7 -0
  3. package/dist/lib/browser/{app-graph-serializer-FYJE23GN.mjs → app-graph-serializer-FOWFLYGU.mjs} +5 -5
  4. package/dist/lib/browser/{chunk-IZ7QKQ2E.mjs → chunk-23RVI5FZ.mjs} +27 -11
  5. package/dist/lib/browser/chunk-23RVI5FZ.mjs.map +7 -0
  6. package/dist/lib/browser/{chunk-UH5P4UL3.mjs → chunk-NU7WDVGN.mjs} +4 -2
  7. package/dist/lib/browser/chunk-NU7WDVGN.mjs.map +7 -0
  8. package/dist/lib/browser/{chunk-SOXNANA6.mjs → chunk-PQXZCNAU.mjs} +3 -2
  9. package/dist/lib/browser/{chunk-SOXNANA6.mjs.map → chunk-PQXZCNAU.mjs.map} +3 -3
  10. package/dist/lib/browser/{chunk-XXD33C4E.mjs → chunk-S6B7627U.mjs} +486 -349
  11. package/dist/lib/browser/chunk-S6B7627U.mjs.map +7 -0
  12. package/dist/lib/browser/{chunk-T36CIHPG.mjs → chunk-UDWHTKB5.mjs} +7 -4
  13. package/dist/lib/browser/chunk-UDWHTKB5.mjs.map +7 -0
  14. package/dist/lib/browser/{chunk-SSJ772GK.mjs → chunk-ULA2UQJ4.mjs} +18 -5
  15. package/dist/lib/browser/chunk-ULA2UQJ4.mjs.map +7 -0
  16. package/dist/lib/browser/{identity-created-4Q4PFIC5.mjs → identity-created-FYGS6TBH.mjs} +3 -3
  17. package/dist/lib/browser/index.mjs +58 -24
  18. package/dist/lib/browser/index.mjs.map +3 -3
  19. package/dist/lib/browser/intent-resolver-QVR4MSJV.mjs +555 -0
  20. package/dist/lib/browser/intent-resolver-QVR4MSJV.mjs.map +7 -0
  21. package/dist/lib/browser/meta.json +1 -1
  22. package/dist/lib/browser/{react-root-BDOPFJGJ.mjs → react-root-IP2ZB245.mjs} +6 -6
  23. package/dist/lib/browser/{react-surface-EGOL2JBL.mjs → react-surface-BT3EHB6V.mjs} +36 -49
  24. package/dist/lib/browser/react-surface-BT3EHB6V.mjs.map +7 -0
  25. package/dist/lib/browser/schema-5W3DSY2E.mjs +24 -0
  26. package/dist/lib/browser/schema-5W3DSY2E.mjs.map +7 -0
  27. package/dist/lib/browser/{settings-WF67QZSD.mjs → settings-PHPCXX33.mjs} +3 -3
  28. package/dist/lib/browser/{spaces-ready-WVU7US3C.mjs → spaces-ready-K47RR7N2.mjs} +31 -32
  29. package/dist/lib/browser/spaces-ready-K47RR7N2.mjs.map +7 -0
  30. package/dist/lib/browser/{state-MS4KYJWI.mjs → state-INJ63O57.mjs} +3 -3
  31. package/dist/lib/browser/types/index.mjs +6 -4
  32. package/dist/lib/node/{app-graph-builder-GKLVZ4PM.cjs → app-graph-builder-ZIUBXRPA.cjs} +59 -136
  33. package/dist/lib/node/app-graph-builder-ZIUBXRPA.cjs.map +7 -0
  34. package/dist/lib/node/{app-graph-serializer-RMTU5YSC.cjs → app-graph-serializer-VQOGHKXL.cjs} +21 -21
  35. package/dist/lib/node/{chunk-AJRP7AD6.cjs → chunk-N2FS7PRA.cjs} +552 -414
  36. package/dist/lib/node/chunk-N2FS7PRA.cjs.map +7 -0
  37. package/dist/lib/node/{chunk-5D4RWKTV.cjs → chunk-OVGKWJOC.cjs} +78 -62
  38. package/dist/lib/node/chunk-OVGKWJOC.cjs.map +7 -0
  39. package/dist/lib/node/{chunk-UENH2YBM.cjs → chunk-U6DYXAR3.cjs} +12 -9
  40. package/dist/lib/node/chunk-U6DYXAR3.cjs.map +7 -0
  41. package/dist/lib/node/{chunk-YCBBGTFD.cjs → chunk-WAJKBO3J.cjs} +25 -11
  42. package/dist/lib/node/chunk-WAJKBO3J.cjs.map +7 -0
  43. package/dist/lib/node/{chunk-AO4EW2RX.cjs → chunk-WZR6OAN3.cjs} +6 -5
  44. package/dist/lib/node/{chunk-AO4EW2RX.cjs.map → chunk-WZR6OAN3.cjs.map} +3 -3
  45. package/dist/lib/node/{chunk-56NGXG2A.cjs → chunk-YZKNRFHU.cjs} +10 -8
  46. package/dist/lib/node/chunk-YZKNRFHU.cjs.map +7 -0
  47. package/dist/lib/node/{identity-created-QQWX7WX3.cjs → identity-created-AXI64BLE.cjs} +7 -7
  48. package/dist/lib/node/index.cjs +131 -98
  49. package/dist/lib/node/index.cjs.map +3 -3
  50. package/dist/lib/node/intent-resolver-MLENGECT.cjs +553 -0
  51. package/dist/lib/node/intent-resolver-MLENGECT.cjs.map +7 -0
  52. package/dist/lib/node/meta.json +1 -1
  53. package/dist/lib/node/{react-root-ZTR2J2I3.cjs → react-root-3OX5Z5CX.cjs} +12 -12
  54. package/dist/lib/node/{react-surface-75KRPQYT.cjs → react-surface-5NYCMXSM.cjs} +77 -89
  55. package/dist/lib/node/react-surface-5NYCMXSM.cjs.map +7 -0
  56. package/dist/lib/node/schema-YN7WVFRX.cjs +40 -0
  57. package/dist/lib/node/schema-YN7WVFRX.cjs.map +7 -0
  58. package/dist/lib/node/{settings-KOVSPA3S.cjs → settings-5QYFWNH7.cjs} +8 -8
  59. package/dist/lib/node/{spaces-ready-ILVGUHJH.cjs → spaces-ready-FQNAKR7G.cjs} +39 -40
  60. package/dist/lib/node/spaces-ready-FQNAKR7G.cjs.map +7 -0
  61. package/dist/lib/node/{state-4UIOUKLJ.cjs → state-57UE3DYE.cjs} +8 -8
  62. package/dist/lib/node/types/index.cjs +19 -17
  63. package/dist/lib/node/types/index.cjs.map +2 -2
  64. package/dist/lib/node-esm/{app-graph-builder-NEHQ5Z63.mjs → app-graph-builder-TERVM2SL.mjs} +26 -103
  65. package/dist/lib/node-esm/app-graph-builder-TERVM2SL.mjs.map +7 -0
  66. package/dist/lib/node-esm/{app-graph-serializer-UWWS5OVC.mjs → app-graph-serializer-GZRSWHEN.mjs} +5 -5
  67. package/dist/lib/node-esm/{chunk-E5DWIQ3N.mjs → chunk-2TQ2AJEZ.mjs} +7 -4
  68. package/dist/lib/node-esm/chunk-2TQ2AJEZ.mjs.map +7 -0
  69. package/dist/lib/node-esm/{chunk-375RB3CZ.mjs → chunk-6RSVVEPS.mjs} +4 -2
  70. package/dist/lib/node-esm/chunk-6RSVVEPS.mjs.map +7 -0
  71. package/dist/lib/node-esm/{chunk-GVOPDPS2.mjs → chunk-DIKRH2IK.mjs} +486 -349
  72. package/dist/lib/node-esm/chunk-DIKRH2IK.mjs.map +7 -0
  73. package/dist/lib/node-esm/{chunk-7FUVU45N.mjs → chunk-ICCM4YRJ.mjs} +3 -2
  74. package/dist/lib/node-esm/{chunk-7FUVU45N.mjs.map → chunk-ICCM4YRJ.mjs.map} +3 -3
  75. package/dist/lib/node-esm/{chunk-5QMAPAZD.mjs → chunk-PGH5L7MV.mjs} +27 -11
  76. package/dist/lib/node-esm/chunk-PGH5L7MV.mjs.map +7 -0
  77. package/dist/lib/node-esm/{chunk-HTBGWQEU.mjs → chunk-TRNZQEEN.mjs} +18 -5
  78. package/dist/lib/node-esm/chunk-TRNZQEEN.mjs.map +7 -0
  79. package/dist/lib/node-esm/{identity-created-HMNY2MPB.mjs → identity-created-3CGEXNPO.mjs} +3 -3
  80. package/dist/lib/node-esm/index.mjs +58 -24
  81. package/dist/lib/node-esm/index.mjs.map +3 -3
  82. package/dist/lib/node-esm/intent-resolver-BLW4RM6X.mjs +556 -0
  83. package/dist/lib/node-esm/intent-resolver-BLW4RM6X.mjs.map +7 -0
  84. package/dist/lib/node-esm/meta.json +1 -1
  85. package/dist/lib/node-esm/{react-root-OUPJA4RY.mjs → react-root-7XXGP56B.mjs} +6 -6
  86. package/dist/lib/node-esm/{react-surface-7EVWCKIP.mjs → react-surface-R2ECJSFB.mjs} +36 -49
  87. package/dist/lib/node-esm/react-surface-R2ECJSFB.mjs.map +7 -0
  88. package/dist/lib/node-esm/schema-LOR2EVGY.mjs +25 -0
  89. package/dist/lib/node-esm/schema-LOR2EVGY.mjs.map +7 -0
  90. package/dist/lib/node-esm/{settings-EDK6WI3V.mjs → settings-H6MXTEQM.mjs} +3 -3
  91. package/dist/lib/node-esm/{spaces-ready-CH3W7OGN.mjs → spaces-ready-HKAQG5SA.mjs} +31 -32
  92. package/dist/lib/node-esm/spaces-ready-HKAQG5SA.mjs.map +7 -0
  93. package/dist/lib/node-esm/{state-BMISGQ2O.mjs → state-VYA6OFHD.mjs} +3 -3
  94. package/dist/lib/node-esm/types/index.mjs +6 -4
  95. package/dist/types/src/SpacePlugin.d.ts +5 -1
  96. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  97. package/dist/types/src/capabilities/app-graph-builder.d.ts +110 -110
  98. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  99. package/dist/types/src/capabilities/capabilities.d.ts +8 -1
  100. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  101. package/dist/types/src/capabilities/index.d.ts +123 -121
  102. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  103. package/dist/types/src/capabilities/intent-resolver.d.ts +2 -1
  104. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  105. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  106. package/dist/types/src/capabilities/schema.d.ts +4 -0
  107. package/dist/types/src/capabilities/schema.d.ts.map +1 -0
  108. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  109. package/dist/types/src/components/AdvancedObjectSettings/AdvancedObjectSettings.d.ts +1 -2
  110. package/dist/types/src/components/AdvancedObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  111. package/dist/types/src/components/AdvancedObjectSettings/ForeignKeys.d.ts +1 -2
  112. package/dist/types/src/components/AdvancedObjectSettings/ForeignKeys.d.ts.map +1 -1
  113. package/dist/types/src/components/AwaitingObject.d.ts +1 -2
  114. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  115. package/dist/types/src/components/BaseObjectSettings.d.ts +1 -2
  116. package/dist/types/src/components/BaseObjectSettings.d.ts.map +1 -1
  117. package/dist/types/src/components/CollectionMain.d.ts +1 -2
  118. package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
  119. package/dist/types/src/components/CollectionSection.d.ts +1 -2
  120. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  121. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +2 -4
  122. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  123. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  124. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +8 -9
  125. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  126. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +1 -2
  127. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  128. package/dist/types/src/components/JoinDialog.d.ts +1 -2
  129. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  130. package/dist/types/src/components/MenuFooter.d.ts +1 -2
  131. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  132. package/dist/types/src/components/PersistenceStatus.d.ts +1 -2
  133. package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
  134. package/dist/types/src/components/PopoverAddSpace.d.ts +3 -0
  135. package/dist/types/src/components/PopoverAddSpace.d.ts.map +1 -0
  136. package/dist/types/src/components/PopoverRenameObject.d.ts +1 -2
  137. package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
  138. package/dist/types/src/components/PopoverRenameSpace.d.ts +1 -2
  139. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
  140. package/dist/types/src/components/ShareSpaceButton.d.ts +2 -3
  141. package/dist/types/src/components/ShareSpaceButton.d.ts.map +1 -1
  142. package/dist/types/src/components/SpacePluginSettings.d.ts +1 -2
  143. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  144. package/dist/types/src/components/SpacePresence.d.ts +4 -5
  145. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  146. package/dist/types/src/components/SpacePresence.stories.d.ts +2 -3
  147. package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
  148. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts +1 -2
  149. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts.map +1 -1
  150. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts +3 -5
  151. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts.map +1 -1
  152. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.stories.d.ts.map +1 -1
  153. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts +1 -2
  154. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +1 -1
  155. package/dist/types/src/components/SyncStatus/Space.d.ts +2 -3
  156. package/dist/types/src/components/SyncStatus/Space.d.ts.map +1 -1
  157. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts +3 -4
  158. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  159. package/dist/types/src/components/index.d.ts +1 -0
  160. package/dist/types/src/components/index.d.ts.map +1 -1
  161. package/dist/types/src/events.d.ts +4 -0
  162. package/dist/types/src/events.d.ts.map +1 -1
  163. package/dist/types/src/index.d.ts +1 -1
  164. package/dist/types/src/index.d.ts.map +1 -1
  165. package/dist/types/src/meta.d.ts +1 -0
  166. package/dist/types/src/meta.d.ts.map +1 -1
  167. package/dist/types/src/translations.d.ts +9 -0
  168. package/dist/types/src/translations.d.ts.map +1 -1
  169. package/dist/types/src/types/collection.d.ts +2 -2
  170. package/dist/types/src/types/thread.d.ts +34 -34
  171. package/dist/types/src/types/types.d.ts +37 -12
  172. package/dist/types/src/types/types.d.ts.map +1 -1
  173. package/dist/types/src/util.d.ts +3 -2
  174. package/dist/types/src/util.d.ts.map +1 -1
  175. package/package.json +41 -38
  176. package/src/SpacePlugin.tsx +43 -15
  177. package/src/capabilities/app-graph-builder.ts +19 -92
  178. package/src/capabilities/capabilities.ts +7 -2
  179. package/src/capabilities/index.ts +1 -0
  180. package/src/capabilities/intent-resolver.ts +428 -312
  181. package/src/capabilities/react-surface.tsx +32 -56
  182. package/src/capabilities/schema.ts +27 -0
  183. package/src/capabilities/spaces-ready.ts +20 -21
  184. package/src/components/AwaitingObject.tsx +5 -5
  185. package/src/components/BaseObjectSettings.tsx +7 -0
  186. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +1 -3
  187. package/src/components/CreateDialog/CreateObjectDialog.tsx +42 -34
  188. package/src/components/CreateDialog/CreateObjectPanel.tsx +126 -129
  189. package/src/components/CreateDialog/CreateSpaceDialog.tsx +18 -9
  190. package/src/components/JoinDialog.tsx +27 -19
  191. package/src/components/PopoverAddSpace.tsx +46 -0
  192. package/src/components/SpacePluginSettings.tsx +3 -3
  193. package/src/components/SpacePresence.stories.tsx +2 -2
  194. package/src/components/SpacePresence.tsx +2 -3
  195. package/src/components/SpaceSettings/SpaceSettingsDialog.tsx +16 -1
  196. package/src/components/SpaceSettings/SpaceSettingsPanel.stories.tsx +5 -1
  197. package/src/components/SpaceSettings/SpaceSettingsPanel.tsx +30 -8
  198. package/src/components/SyncStatus/InlineSyncStatus.tsx +2 -2
  199. package/src/components/SyncStatus/SyncStatus.tsx +2 -1
  200. package/src/components/index.ts +1 -0
  201. package/src/events.ts +6 -0
  202. package/src/index.ts +1 -1
  203. package/src/meta.ts +1 -0
  204. package/src/translations.ts +3 -0
  205. package/src/types/types.ts +23 -4
  206. package/src/util.tsx +16 -6
  207. package/dist/lib/browser/app-graph-builder-F6XSETHX.mjs.map +0 -7
  208. package/dist/lib/browser/chunk-IZ7QKQ2E.mjs.map +0 -7
  209. package/dist/lib/browser/chunk-SSJ772GK.mjs.map +0 -7
  210. package/dist/lib/browser/chunk-T36CIHPG.mjs.map +0 -7
  211. package/dist/lib/browser/chunk-UH5P4UL3.mjs.map +0 -7
  212. package/dist/lib/browser/chunk-XXD33C4E.mjs.map +0 -7
  213. package/dist/lib/browser/intent-resolver-XRZYCXXX.mjs +0 -459
  214. package/dist/lib/browser/intent-resolver-XRZYCXXX.mjs.map +0 -7
  215. package/dist/lib/browser/react-surface-EGOL2JBL.mjs.map +0 -7
  216. package/dist/lib/browser/spaces-ready-WVU7US3C.mjs.map +0 -7
  217. package/dist/lib/node/app-graph-builder-GKLVZ4PM.cjs.map +0 -7
  218. package/dist/lib/node/chunk-56NGXG2A.cjs.map +0 -7
  219. package/dist/lib/node/chunk-5D4RWKTV.cjs.map +0 -7
  220. package/dist/lib/node/chunk-AJRP7AD6.cjs.map +0 -7
  221. package/dist/lib/node/chunk-UENH2YBM.cjs.map +0 -7
  222. package/dist/lib/node/chunk-YCBBGTFD.cjs.map +0 -7
  223. package/dist/lib/node/intent-resolver-3NI6AUAI.cjs +0 -458
  224. package/dist/lib/node/intent-resolver-3NI6AUAI.cjs.map +0 -7
  225. package/dist/lib/node/react-surface-75KRPQYT.cjs.map +0 -7
  226. package/dist/lib/node/spaces-ready-ILVGUHJH.cjs.map +0 -7
  227. package/dist/lib/node-esm/app-graph-builder-NEHQ5Z63.mjs.map +0 -7
  228. package/dist/lib/node-esm/chunk-375RB3CZ.mjs.map +0 -7
  229. package/dist/lib/node-esm/chunk-5QMAPAZD.mjs.map +0 -7
  230. package/dist/lib/node-esm/chunk-E5DWIQ3N.mjs.map +0 -7
  231. package/dist/lib/node-esm/chunk-GVOPDPS2.mjs.map +0 -7
  232. package/dist/lib/node-esm/chunk-HTBGWQEU.mjs.map +0 -7
  233. package/dist/lib/node-esm/intent-resolver-P5EVBOGP.mjs +0 -460
  234. package/dist/lib/node-esm/intent-resolver-P5EVBOGP.mjs.map +0 -7
  235. package/dist/lib/node-esm/react-surface-7EVWCKIP.mjs.map +0 -7
  236. package/dist/lib/node-esm/spaces-ready-CH3W7OGN.mjs.map +0 -7
  237. /package/dist/lib/browser/{app-graph-serializer-FYJE23GN.mjs.map → app-graph-serializer-FOWFLYGU.mjs.map} +0 -0
  238. /package/dist/lib/browser/{identity-created-4Q4PFIC5.mjs.map → identity-created-FYGS6TBH.mjs.map} +0 -0
  239. /package/dist/lib/browser/{react-root-BDOPFJGJ.mjs.map → react-root-IP2ZB245.mjs.map} +0 -0
  240. /package/dist/lib/browser/{settings-WF67QZSD.mjs.map → settings-PHPCXX33.mjs.map} +0 -0
  241. /package/dist/lib/browser/{state-MS4KYJWI.mjs.map → state-INJ63O57.mjs.map} +0 -0
  242. /package/dist/lib/node/{app-graph-serializer-RMTU5YSC.cjs.map → app-graph-serializer-VQOGHKXL.cjs.map} +0 -0
  243. /package/dist/lib/node/{identity-created-QQWX7WX3.cjs.map → identity-created-AXI64BLE.cjs.map} +0 -0
  244. /package/dist/lib/node/{react-root-ZTR2J2I3.cjs.map → react-root-3OX5Z5CX.cjs.map} +0 -0
  245. /package/dist/lib/node/{settings-KOVSPA3S.cjs.map → settings-5QYFWNH7.cjs.map} +0 -0
  246. /package/dist/lib/node/{state-4UIOUKLJ.cjs.map → state-57UE3DYE.cjs.map} +0 -0
  247. /package/dist/lib/node-esm/{app-graph-serializer-UWWS5OVC.mjs.map → app-graph-serializer-GZRSWHEN.mjs.map} +0 -0
  248. /package/dist/lib/node-esm/{identity-created-HMNY2MPB.mjs.map → identity-created-3CGEXNPO.mjs.map} +0 -0
  249. /package/dist/lib/node-esm/{react-root-OUPJA4RY.mjs.map → react-root-7XXGP56B.mjs.map} +0 -0
  250. /package/dist/lib/node-esm/{settings-EDK6WI3V.mjs.map → settings-H6MXTEQM.mjs.map} +0 -0
  251. /package/dist/lib/node-esm/{state-BMISGQ2O.mjs.map → state-VYA6OFHD.mjs.map} +0 -0
@@ -11,36 +11,35 @@ import {
11
11
  JOIN_DIALOG,
12
12
  JoinDialog,
13
13
  MenuFooter,
14
+ POPOVER_ADD_SPACE,
14
15
  POPOVER_RENAME_OBJECT,
15
16
  POPOVER_RENAME_SPACE,
17
+ PopoverAddSpace,
16
18
  PopoverRenameObject,
17
19
  PopoverRenameSpace,
18
20
  SPACE_SETTINGS_DIALOG,
19
- ShareSpaceButton,
20
21
  SmallPresenceLive,
21
22
  SpacePluginSettings,
22
23
  SpacePresence,
23
24
  SpaceSettingsDialog,
24
25
  SpaceSettingsPanel,
25
26
  SyncStatus
26
- } from "./chunk-XXD33C4E.mjs";
27
+ } from "./chunk-S6B7627U.mjs";
27
28
  import {
28
29
  SpaceCapabilities
29
- } from "./chunk-UH5P4UL3.mjs";
30
- import {
31
- COMPOSER_SPACE_LOCK
32
- } from "./chunk-IZ7QKQ2E.mjs";
30
+ } from "./chunk-NU7WDVGN.mjs";
31
+ import "./chunk-23RVI5FZ.mjs";
33
32
  import {
34
33
  CollectionType
35
- } from "./chunk-SSJ772GK.mjs";
34
+ } from "./chunk-ULA2UQJ4.mjs";
36
35
  import {
37
36
  SPACE_PLUGIN
38
- } from "./chunk-SOXNANA6.mjs";
37
+ } from "./chunk-PQXZCNAU.mjs";
39
38
 
40
39
  // packages/plugins/plugin-space/src/capabilities/react-surface.tsx
41
- import React, { useCallback } from "react";
42
- import { Capabilities, contributes, createSurface, Surface, useCapability, useCapabilities, usePluginManager } from "@dxos/app-framework";
43
- import { ClientCapabilities } from "@dxos/plugin-client";
40
+ import React from "react";
41
+ import { Capabilities, contributes, createSurface, Surface, useCapability } from "@dxos/app-framework";
42
+ import { SettingsStore } from "@dxos/local-storage";
44
43
  import { getSpace, isEchoObject, isReactiveObject, isSpace, SpaceState } from "@dxos/react-client/echo";
45
44
  var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilities.ReactSurface, [
46
45
  createSurface({
@@ -62,7 +61,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
62
61
  createSurface({
63
62
  id: `${SPACE_PLUGIN}/collection-fallback`,
64
63
  role: "article",
65
- disposition: "fallback",
64
+ position: "fallback",
66
65
  filter: (data) => data.subject instanceof CollectionType,
67
66
  component: ({ data }) => /* @__PURE__ */ React.createElement(CollectionMain, {
68
67
  collection: data.subject
@@ -80,7 +79,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
80
79
  createSurface({
81
80
  id: `${SPACE_PLUGIN}/object-settings-base-panel`,
82
81
  role: "complementary--settings",
83
- disposition: "hoist",
82
+ position: "hoist",
84
83
  filter: (data) => isEchoObject(data.subject),
85
84
  component: ({ data }) => /* @__PURE__ */ React.createElement(BaseObjectSettings, {
86
85
  object: data.subject
@@ -89,7 +88,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
89
88
  createSurface({
90
89
  id: `${SPACE_PLUGIN}/object-settings-advanced-panel`,
91
90
  role: "complementary--settings",
92
- disposition: "fallback",
91
+ position: "fallback",
93
92
  filter: (data) => isEchoObject(data.subject),
94
93
  component: ({ data }) => /* @__PURE__ */ React.createElement(AdvancedObjectSettings, {
95
94
  object: data.subject
@@ -100,7 +99,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
100
99
  role: "dialog",
101
100
  filter: (data) => data.component === SPACE_SETTINGS_DIALOG,
102
101
  component: ({ data }) => /* @__PURE__ */ React.createElement(SpaceSettingsDialog, {
103
- ...data.subject,
102
+ ...data.props,
104
103
  createInvitationUrl
105
104
  })
106
105
  }),
@@ -108,7 +107,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
108
107
  id: JOIN_DIALOG,
109
108
  role: "dialog",
110
109
  filter: (data) => data.component === JOIN_DIALOG,
111
- component: ({ data }) => /* @__PURE__ */ React.createElement(JoinDialog, data.subject)
110
+ component: ({ data }) => /* @__PURE__ */ React.createElement(JoinDialog, data.props)
112
111
  }),
113
112
  createSurface({
114
113
  id: CREATE_SPACE_DIALOG,
@@ -120,37 +119,30 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
120
119
  id: CREATE_OBJECT_DIALOG,
121
120
  role: "dialog",
122
121
  filter: (data) => data.component === CREATE_OBJECT_DIALOG,
123
- component: ({ data }) => {
124
- const schemas = useCapabilities(ClientCapabilities.Schema).flat();
125
- const manager = usePluginManager();
126
- const resolve = useCallback((typename) => {
127
- return manager.context.requestCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
128
- }, [
129
- manager
130
- ]);
131
- return /* @__PURE__ */ React.createElement(CreateObjectDialog, {
132
- schemas,
133
- resolve,
134
- ...data.subject
135
- });
136
- }
122
+ component: ({ data }) => /* @__PURE__ */ React.createElement(CreateObjectDialog, data.props)
137
123
  }),
138
124
  createSurface({
139
125
  id: POPOVER_RENAME_SPACE,
140
126
  role: "popover",
141
- filter: (data) => data.component === POPOVER_RENAME_SPACE && isSpace(data.subject),
127
+ filter: (data) => data.component === POPOVER_RENAME_SPACE && isSpace(data.props),
142
128
  component: ({ data }) => /* @__PURE__ */ React.createElement(PopoverRenameSpace, {
143
- space: data.subject
129
+ space: data.props
144
130
  })
145
131
  }),
146
132
  createSurface({
147
133
  id: POPOVER_RENAME_OBJECT,
148
134
  role: "popover",
149
- filter: (data) => data.component === POPOVER_RENAME_OBJECT && isReactiveObject(data.subject),
135
+ filter: (data) => data.component === POPOVER_RENAME_OBJECT && isReactiveObject(data.props),
150
136
  component: ({ data }) => /* @__PURE__ */ React.createElement(PopoverRenameObject, {
151
- object: data.subject
137
+ object: data.props
152
138
  })
153
139
  }),
140
+ createSurface({
141
+ id: POPOVER_ADD_SPACE,
142
+ role: "popover",
143
+ filter: (data) => data.component === POPOVER_ADD_SPACE,
144
+ component: () => /* @__PURE__ */ React.createElement(PopoverAddSpace, null)
145
+ }),
154
146
  createSurface({
155
147
  id: `${SPACE_PLUGIN}/navtree-presence`,
156
148
  role: "navtree-item-end",
@@ -168,7 +160,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
168
160
  // TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.
169
161
  id: `${SPACE_PLUGIN}/navtree-presence-fallback`,
170
162
  role: "navtree-item-end",
171
- disposition: "fallback",
163
+ position: "fallback",
172
164
  filter: (data) => typeof data.id === "string",
173
165
  component: ({ data }) => /* @__PURE__ */ React.createElement(SmallPresenceLive, {
174
166
  id: data.id,
@@ -187,16 +179,14 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
187
179
  createSurface({
188
180
  id: `${SPACE_PLUGIN}/navbar-presence`,
189
181
  role: "navbar-end",
190
- disposition: "hoist",
182
+ position: "hoist",
191
183
  filter: (data) => isSpace(data.subject) || isEchoObject(data.subject),
192
184
  component: ({ data }) => {
193
185
  const space = isSpace(data.subject) ? data.subject : getSpace(data.subject);
194
186
  const object = isSpace(data.subject) ? data.subject.state.get() === SpaceState.SPACE_READY ? space?.properties[CollectionType.typename]?.target : void 0 : data.subject;
195
- return space && object ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(SpacePresence, {
187
+ return object ? /* @__PURE__ */ React.createElement(SpacePresence, {
196
188
  object
197
- }), space.properties[COMPOSER_SPACE_LOCK] ? null : /* @__PURE__ */ React.createElement(ShareSpaceButton, {
198
- space
199
- })) : null;
189
+ }) : null;
200
190
  }
201
191
  }),
202
192
  createSurface({
@@ -209,14 +199,11 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
209
199
  }),
210
200
  createSurface({
211
201
  id: `${SPACE_PLUGIN}/settings`,
212
- role: "settings",
213
- filter: (data) => data.subject === SPACE_PLUGIN,
214
- component: () => {
215
- const settings = useCapability(Capabilities.SettingsStore).getStore(SPACE_PLUGIN).value;
216
- return /* @__PURE__ */ React.createElement(SpacePluginSettings, {
217
- settings
218
- });
219
- }
202
+ role: "article",
203
+ filter: (data) => data.subject instanceof SettingsStore && data.subject.prefix === SPACE_PLUGIN,
204
+ component: ({ data: { subject } }) => /* @__PURE__ */ React.createElement(SpacePluginSettings, {
205
+ settings: subject.value
206
+ })
220
207
  }),
221
208
  createSurface({
222
209
  id: `${SPACE_PLUGIN}/menu-footer`,
@@ -235,4 +222,4 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
235
222
  export {
236
223
  react_surface_default as default
237
224
  };
238
- //# sourceMappingURL=react-surface-EGOL2JBL.mjs.map
225
+ //# sourceMappingURL=react-surface-BT3EHB6V.mjs.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 { 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 } => data.subject instanceof CollectionType,\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 } => data.subject instanceof CollectionType,\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": ["React", "Capabilities", "contributes", "createSurface", "Surface", "useCapability", "SettingsStore", "getSpace", "isEchoObject", "isReactiveObject", "isSpace", "SpaceState", "createInvitationUrl", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "SPACE_PLUGIN", "role", "filter", "data", "isSpace", "subject", "state", "get", "SpaceState", "SPACE_READY", "component", "rest", "Surface", "properties", "CollectionType", "typename", "target", "position", "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
+ }
@@ -0,0 +1,24 @@
1
+ import {
2
+ SpaceCapabilities
3
+ } from "./chunk-NU7WDVGN.mjs";
4
+ import "./chunk-PQXZCNAU.mjs";
5
+
6
+ // packages/plugins/plugin-space/src/capabilities/schema.ts
7
+ import { effect } from "@preact/signals-core";
8
+ import { Capabilities, contributes } from "@dxos/app-framework";
9
+ import { ClientCapabilities } from "@dxos/plugin-client";
10
+ var schema_default = (context) => {
11
+ const client = context.requestCapability(ClientCapabilities.Client);
12
+ let previous = [];
13
+ const unsubscribe = effect(() => {
14
+ const forms = Array.from(new Set(context.requestCapabilities(SpaceCapabilities.ObjectForm)));
15
+ const newSchemas = forms.filter((form) => !previous.includes(form)).map((form) => form.objectSchema);
16
+ previous = forms;
17
+ client.addTypes(newSchemas);
18
+ });
19
+ return contributes(Capabilities.Null, null, () => unsubscribe());
20
+ };
21
+ export {
22
+ schema_default as default
23
+ };
24
+ //# sourceMappingURL=schema-5W3DSY2E.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/schema.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { effect } from '@preact/signals-core';\n\nimport { Capabilities, contributes, type PluginsContext } from '@dxos/app-framework';\nimport { ClientCapabilities } from '@dxos/plugin-client';\n\nimport { SpaceCapabilities } from './capabilities';\nimport { type ObjectForm } from '../types';\n\nexport default (context: PluginsContext) => {\n const client = context.requestCapability(ClientCapabilities.Client);\n\n // TODO(wittjosiah): Unregister schemas when they are disabled.\n let previous: ObjectForm[] = [];\n const unsubscribe = effect(() => {\n const forms = Array.from(new Set(context.requestCapabilities(SpaceCapabilities.ObjectForm)));\n // TODO(wittjosiah): Filter out schemas which the client has already registered.\n const newSchemas = forms.filter((form) => !previous.includes(form)).map((form) => form.objectSchema);\n previous = forms;\n client.addTypes(newSchemas);\n });\n\n return contributes(Capabilities.Null, null, () => unsubscribe());\n};\n"],
5
+ "mappings": ";;;;;;AAIA,SAASA,cAAc;AAEvB,SAASC,cAAcC,mBAAwC;AAC/D,SAASC,0BAA0B;AAKnC,IAAA,iBAAe,CAACC,YAAAA;AACd,QAAMC,SAASD,QAAQE,kBAAkBC,mBAAmBC,MAAM;AAGlE,MAAIC,WAAyB,CAAA;AAC7B,QAAMC,cAAcC,OAAO,MAAA;AACzB,UAAMC,QAAQC,MAAMC,KAAK,IAAIC,IAAIX,QAAQY,oBAAoBC,kBAAkBC,UAAU,CAAA,CAAA;AAEzF,UAAMC,aAAaP,MAAMQ,OAAO,CAACC,SAAS,CAACZ,SAASa,SAASD,IAAAA,CAAAA,EAAOE,IAAI,CAACF,SAASA,KAAKG,YAAY;AACnGf,eAAWG;AACXP,WAAOoB,SAASN,UAAAA;EAClB,CAAA;AAEA,SAAOO,YAAYC,aAAaC,MAAM,MAAM,MAAMlB,YAAAA,CAAAA;AACpD;",
6
+ "names": ["effect", "Capabilities", "contributes", "ClientCapabilities", "context", "client", "requestCapability", "ClientCapabilities", "Client", "previous", "unsubscribe", "effect", "forms", "Array", "from", "Set", "requestCapabilities", "SpaceCapabilities", "ObjectForm", "newSchemas", "filter", "form", "includes", "map", "objectSchema", "addTypes", "contributes", "Capabilities", "Null"]
7
+ }
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  SpaceSettingsSchema
3
- } from "./chunk-SSJ772GK.mjs";
3
+ } from "./chunk-ULA2UQJ4.mjs";
4
4
  import {
5
5
  SPACE_PLUGIN
6
- } from "./chunk-SOXNANA6.mjs";
6
+ } from "./chunk-PQXZCNAU.mjs";
7
7
 
8
8
  // packages/plugins/plugin-space/src/capabilities/settings.ts
9
9
  import { Capabilities, contributes } from "@dxos/app-framework";
@@ -21,4 +21,4 @@ var settings_default = () => {
21
21
  export {
22
22
  settings_default as default
23
23
  };
24
- //# sourceMappingURL=settings-WF67QZSD.mjs.map
24
+ //# sourceMappingURL=settings-PHPCXX33.mjs.map
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  SpaceCapabilities
3
- } from "./chunk-UH5P4UL3.mjs";
3
+ } from "./chunk-NU7WDVGN.mjs";
4
4
  import {
5
5
  COMPOSER_SPACE_LOCK,
6
6
  SHARED
7
- } from "./chunk-IZ7QKQ2E.mjs";
7
+ } from "./chunk-23RVI5FZ.mjs";
8
8
  import {
9
9
  SpaceAction
10
- } from "./chunk-SSJ772GK.mjs";
11
- import "./chunk-SOXNANA6.mjs";
10
+ } from "./chunk-ULA2UQJ4.mjs";
11
+ import "./chunk-PQXZCNAU.mjs";
12
12
 
13
13
  // packages/plugins/plugin-space/src/capabilities/spaces-ready.ts
14
- import { contributes, createIntent, openIds, Capabilities } from "@dxos/app-framework";
14
+ import { contributes, createIntent, Capabilities, LayoutAction } from "@dxos/app-framework";
15
15
  import { EventSubscriptions } from "@dxos/async";
16
16
  import { Expando } from "@dxos/echo-schema";
17
17
  import { scheduledEffect } from "@dxos/echo-signals/core";
@@ -19,6 +19,7 @@ import { create } from "@dxos/live-object";
19
19
  import { log } from "@dxos/log";
20
20
  import { AttentionCapabilities } from "@dxos/plugin-attention";
21
21
  import { ClientCapabilities } from "@dxos/plugin-client";
22
+ import { DeckCapabilities } from "@dxos/plugin-deck";
22
23
  import { EdgeReplicationSetting } from "@dxos/protocols/proto/dxos/echo/metadata";
23
24
  import { PublicKey } from "@dxos/react-client";
24
25
  import { Filter, FQ_ID_LENGTH, parseFullyQualifiedId, SpaceState } from "@dxos/react-client/echo";
@@ -32,12 +33,18 @@ var spaces_ready_default = async (context) => {
32
33
  const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
33
34
  const { graph } = context.requestCapability(Capabilities.AppGraph);
34
35
  const layout = context.requestCapability(Capabilities.Layout);
35
- const location = context.requestCapability(Capabilities.Location);
36
+ const deck = context.requestCapability(DeckCapabilities.DeckState);
36
37
  const attention = context.requestCapability(AttentionCapabilities.Attention);
37
38
  const state = context.requestCapability(SpaceCapabilities.MutableState);
38
39
  const client = context.requestCapability(ClientCapabilities.Client);
39
40
  const defaultSpace = client.spaces.default;
40
41
  await defaultSpace.waitUntilReady();
42
+ if (deck.activeDeck === "default") {
43
+ await dispatch(createIntent(LayoutAction.SwitchWorkspace, {
44
+ part: "workspace",
45
+ subject: defaultSpace.id
46
+ }));
47
+ }
41
48
  if (typeof defaultSpace.properties[COMPOSER_SPACE_LOCK] !== "boolean") {
42
49
  defaultSpace.properties[COMPOSER_SPACE_LOCK] = true;
43
50
  }
@@ -51,19 +58,18 @@ var spaces_ready_default = async (context) => {
51
58
  }));
52
59
  }
53
60
  subscriptions.add(scheduledEffect(() => ({
54
- layoutMode: layout.layoutMode,
55
- soloPart: location.active.solo?.[0]
56
- }), ({ layoutMode, soloPart }) => {
57
- if (layoutMode !== "solo" || !soloPart) {
61
+ active: layout.active
62
+ }), ({ active }) => {
63
+ if (active.length !== 1) {
58
64
  return;
59
65
  }
60
- const node = graph.findNode(soloPart.id);
61
- if (!node && soloPart.id.length === FQ_ID_LENGTH) {
66
+ const node = graph.findNode(active[0]);
67
+ if (!node && active[0].length === FQ_ID_LENGTH) {
62
68
  const timeout = setTimeout(async () => {
63
- const node2 = graph.findNode(soloPart.id);
69
+ const node2 = graph.findNode(active[0]);
64
70
  if (!node2) {
65
71
  await dispatch(createIntent(SpaceAction.WaitForObject, {
66
- id: soloPart.id
72
+ id: active[0]
67
73
  }));
68
74
  }
69
75
  }, WAIT_FOR_OBJECT_TIMEOUT);
@@ -81,20 +87,15 @@ var spaces_ready_default = async (context) => {
81
87
  });
82
88
  }).unsubscribe);
83
89
  subscriptions.add(scheduledEffect(() => ({
84
- open: openIds(location.active, layout.layoutMode === "solo" ? [
85
- "solo"
86
- ] : [
87
- "main"
88
- ]),
89
- closed: [
90
- ...location.closed
91
- ]
92
- }), ({ open, closed }) => {
90
+ current: attention.current,
91
+ active: layout.active,
92
+ inactive: layout.inactive
93
+ }), ({ current, active, inactive }) => {
93
94
  const send = () => {
94
95
  const spaces = client.spaces.get();
95
96
  const identity = client.halo.identity.get();
96
- if (identity && location.active) {
97
- const idsBySpace = reduceGroupBy(open, (id) => {
97
+ if (identity) {
98
+ const idsBySpace = reduceGroupBy(active, (id) => {
98
99
  try {
99
100
  const [spaceId] = parseFullyQualifiedId(id);
100
101
  return spaceId;
@@ -102,7 +103,7 @@ var spaces_ready_default = async (context) => {
102
103
  return null;
103
104
  }
104
105
  });
105
- const removedBySpace = reduceGroupBy(closed, (id) => {
106
+ const removedBySpace = reduceGroupBy(inactive, (id) => {
106
107
  try {
107
108
  const [spaceId] = parseFullyQualifiedId(id);
108
109
  return spaceId;
@@ -123,9 +124,7 @@ var spaces_ready_default = async (context) => {
123
124
  }
124
125
  void space.postMessage("viewing", {
125
126
  identityKey: identity.identityKey.toHex(),
126
- attended: attention.current ? [
127
- ...attention.current
128
- ] : [],
127
+ attended: current,
129
128
  added,
130
129
  removed
131
130
  }).catch((err) => {
@@ -133,7 +132,7 @@ var spaces_ready_default = async (context) => {
133
132
  err: err.message
134
133
  }, {
135
134
  F: __dxlog_file,
136
- L: 156,
135
+ L: 155,
137
136
  S: void 0,
138
137
  C: (f, a) => f(...a)
139
138
  });
@@ -184,7 +183,7 @@ var spaces_ready_default = async (context) => {
184
183
  } catch (err) {
185
184
  log.catch(err, void 0, {
186
185
  F: __dxlog_file,
187
- L: 224,
186
+ L: 223,
188
187
  S: void 0,
189
188
  C: (f, a) => f(...a)
190
189
  });
@@ -197,4 +196,4 @@ var spaces_ready_default = async (context) => {
197
196
  export {
198
197
  spaces_ready_default as default
199
198
  };
200
- //# sourceMappingURL=spaces-ready-WVU7US3C.mjs.map
199
+ //# sourceMappingURL=spaces-ready-K47RR7N2.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/spaces-ready.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes, createIntent, type PluginsContext, Capabilities, LayoutAction } from '@dxos/app-framework';\nimport { EventSubscriptions } from '@dxos/async';\nimport { Expando } from '@dxos/echo-schema';\nimport { scheduledEffect } from '@dxos/echo-signals/core';\nimport { create } from '@dxos/live-object';\nimport { log } from '@dxos/log';\nimport { AttentionCapabilities } from '@dxos/plugin-attention';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { DeckCapabilities } from '@dxos/plugin-deck';\nimport { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';\nimport { PublicKey } from '@dxos/react-client';\nimport { Filter, FQ_ID_LENGTH, parseFullyQualifiedId, SpaceState } from '@dxos/react-client/echo';\nimport { ComplexMap, reduceGroupBy } from '@dxos/util';\n\nimport { SpaceCapabilities } from './capabilities';\nimport { SpaceAction } from '../types';\nimport { COMPOSER_SPACE_LOCK, SHARED } from '../util';\n\nconst ACTIVE_NODE_BROADCAST_INTERVAL = 30_000;\nconst WAIT_FOR_OBJECT_TIMEOUT = 1000;\n\nexport default async (context: PluginsContext) => {\n const subscriptions = new EventSubscriptions();\n const spaceSubscriptions = new EventSubscriptions();\n\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const { graph } = context.requestCapability(Capabilities.AppGraph);\n const layout = context.requestCapability(Capabilities.Layout);\n const deck = context.requestCapability(DeckCapabilities.DeckState);\n const attention = context.requestCapability(AttentionCapabilities.Attention);\n const state = context.requestCapability(SpaceCapabilities.MutableState);\n const client = context.requestCapability(ClientCapabilities.Client);\n\n const defaultSpace = client.spaces.default;\n await defaultSpace.waitUntilReady();\n\n if (deck.activeDeck === 'default') {\n await dispatch(createIntent(LayoutAction.SwitchWorkspace, { part: 'workspace', subject: defaultSpace.id }));\n }\n\n // Initialize space sharing lock in default space.\n if (typeof defaultSpace.properties[COMPOSER_SPACE_LOCK] !== 'boolean') {\n defaultSpace.properties[COMPOSER_SPACE_LOCK] = true;\n }\n\n const {\n objects: [spacesOrder],\n } = await defaultSpace.db.query(Filter.schema(Expando, { key: SHARED })).run();\n if (!spacesOrder) {\n // TODO(wittjosiah): Cannot be a Folder because Spaces are not TypedObjects so can't be saved in the database.\n // Instead, we store order as an array of space ids.\n defaultSpace.db.add(create({ key: SHARED, order: [] }));\n }\n\n // Await missing objects.\n subscriptions.add(\n scheduledEffect(\n () => ({ active: layout.active }),\n ({ active }) => {\n if (active.length !== 1) {\n return;\n }\n\n const node = graph.findNode(active[0]);\n if (!node && active[0].length === FQ_ID_LENGTH) {\n const timeout = setTimeout(async () => {\n const node = graph.findNode(active[0]);\n if (!node) {\n await dispatch(createIntent(SpaceAction.WaitForObject, { id: active[0] }));\n }\n }, WAIT_FOR_OBJECT_TIMEOUT);\n\n return () => clearTimeout(timeout);\n }\n },\n ),\n );\n\n // Cache space names.\n subscriptions.add(\n client.spaces.subscribe(async (spaces) => {\n // TODO(wittjosiah): Remove. This is a hack to be able to migrate the default space properties.\n if (defaultSpace.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION) {\n await defaultSpace.internal.migrate();\n }\n\n spaces\n .filter((space) => space.state.get() === SpaceState.SPACE_READY)\n .forEach((space) => {\n subscriptions.add(\n scheduledEffect(\n () => ({ name: space.properties.name }),\n ({ name }) => (state.spaceNames[space.id] = name),\n ),\n );\n });\n }).unsubscribe,\n );\n\n // Broadcast active node to other peers in the space.\n subscriptions.add(\n scheduledEffect(\n () => ({ current: attention.current, active: layout.active, inactive: layout.inactive }),\n ({ current, active, inactive }) => {\n const send = () => {\n const spaces = client.spaces.get();\n const identity = client.halo.identity.get();\n if (identity) {\n // Group parts by space for efficient messaging.\n const idsBySpace = reduceGroupBy(active, (id) => {\n try {\n const [spaceId] = parseFullyQualifiedId(id);\n return spaceId;\n } catch {\n return null;\n }\n });\n\n const removedBySpace = reduceGroupBy(inactive, (id) => {\n try {\n const [spaceId] = parseFullyQualifiedId(id);\n return spaceId;\n } catch {\n return null;\n }\n });\n\n // NOTE: Ensure all spaces are included so that we send the correct `removed` object arrays.\n for (const space of spaces) {\n if (!idsBySpace.has(space.id)) {\n idsBySpace.set(space.id, []);\n }\n }\n\n for (const [spaceId, added] of idsBySpace) {\n const removed = removedBySpace.get(spaceId) ?? [];\n const space = spaces.find((space) => space.id === spaceId);\n if (!space) {\n continue;\n }\n\n void space\n .postMessage('viewing', {\n identityKey: identity.identityKey.toHex(),\n attended: current,\n added,\n removed,\n })\n // TODO(burdon): This seems defensive; why would this fail? Backoff interval.\n .catch((err) => {\n log.warn('Failed to broadcast active node for presence.', { err: err.message });\n });\n }\n }\n };\n\n send();\n // Send at interval to allow peers to expire entries if they become disconnected.\n const interval = setInterval(() => send(), ACTIVE_NODE_BROADCAST_INTERVAL);\n return () => clearInterval(interval);\n },\n ),\n );\n\n // Listen for active nodes from other peers in the space.\n subscriptions.add(\n client.spaces.subscribe((spaces) => {\n spaceSubscriptions.clear();\n spaces.forEach((space) => {\n spaceSubscriptions.add(\n space.listen('viewing', (message) => {\n const { added, removed, attended } = message.payload;\n\n const identityKey = PublicKey.safeFrom(message.payload.identityKey);\n const currentIdentity = client.halo.identity.get();\n if (\n identityKey &&\n !currentIdentity?.identityKey.equals(identityKey) &&\n Array.isArray(added) &&\n Array.isArray(removed)\n ) {\n added.forEach((id) => {\n if (typeof id === 'string') {\n if (!(id in state.viewersByObject)) {\n state.viewersByObject[id] = new ComplexMap(PublicKey.hash);\n }\n state.viewersByObject[id]!.set(identityKey, {\n lastSeen: Date.now(),\n currentlyAttended: new Set(attended).has(id),\n });\n if (!state.viewersByIdentity.has(identityKey)) {\n state.viewersByIdentity.set(identityKey, new Set());\n }\n state.viewersByIdentity.get(identityKey)!.add(id);\n }\n });\n\n removed.forEach((id) => {\n if (typeof id === 'string') {\n state.viewersByObject[id]?.delete(identityKey);\n state.viewersByIdentity.get(identityKey)?.delete(id);\n // It’s okay for these to be empty sets/maps, reduces churn.\n }\n });\n }\n }),\n );\n });\n }).unsubscribe,\n );\n\n // Enable edge replication for all spaces.\n try {\n await Promise.all(\n client.spaces.get().map((space) => space.internal.setEdgeReplicationPreference(EdgeReplicationSetting.ENABLED)),\n );\n state.enabledEdgeReplication = true;\n } catch (err) {\n log.catch(err);\n }\n\n return contributes(Capabilities.Null, null, () => {\n spaceSubscriptions.clear();\n subscriptions.clear();\n });\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["contributes", "createIntent", "Capabilities", "LayoutAction", "EventSubscriptions", "Expando", "scheduledEffect", "create", "log", "AttentionCapabilities", "ClientCapabilities", "DeckCapabilities", "EdgeReplicationSetting", "PublicKey", "Filter", "FQ_ID_LENGTH", "parseFullyQualifiedId", "SpaceState", "ComplexMap", "reduceGroupBy", "ACTIVE_NODE_BROADCAST_INTERVAL", "WAIT_FOR_OBJECT_TIMEOUT", "context", "subscriptions", "EventSubscriptions", "spaceSubscriptions", "dispatchPromise", "dispatch", "requestCapability", "Capabilities", "IntentDispatcher", "graph", "AppGraph", "layout", "Layout", "deck", "DeckCapabilities", "DeckState", "attention", "AttentionCapabilities", "Attention", "state", "SpaceCapabilities", "MutableState", "client", "ClientCapabilities", "Client", "defaultSpace", "spaces", "default", "waitUntilReady", "activeDeck", "createIntent", "LayoutAction", "SwitchWorkspace", "part", "subject", "id", "properties", "COMPOSER_SPACE_LOCK", "objects", "spacesOrder", "db", "query", "Filter", "schema", "Expando", "key", "SHARED", "run", "add", "create", "order", "scheduledEffect", "active", "length", "node", "findNode", "FQ_ID_LENGTH", "timeout", "setTimeout", "SpaceAction", "WaitForObject", "clearTimeout", "subscribe", "get", "SpaceState", "SPACE_REQUIRES_MIGRATION", "internal", "migrate", "filter", "space", "SPACE_READY", "forEach", "name", "spaceNames", "unsubscribe", "current", "inactive", "send", "identity", "halo", "idsBySpace", "reduceGroupBy", "spaceId", "parseFullyQualifiedId", "removedBySpace", "has", "set", "added", "removed", "find", "postMessage", "identityKey", "toHex", "attended", "catch", "err", "log", "warn", "message", "interval", "setInterval", "clearInterval", "clear", "listen", "payload", "PublicKey", "safeFrom", "currentIdentity", "equals", "Array", "isArray", "viewersByObject", "ComplexMap", "hash", "lastSeen", "Date", "now", "currentlyAttended", "Set", "viewersByIdentity", "delete", "Promise", "all", "map", "setEdgeReplicationPreference", "EdgeReplicationSetting", "ENABLED", "enabledEdgeReplication", "contributes", "Null"]
7
+ }
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  SpaceCapabilities
3
- } from "./chunk-UH5P4UL3.mjs";
3
+ } from "./chunk-NU7WDVGN.mjs";
4
4
  import {
5
5
  SPACE_PLUGIN
6
- } from "./chunk-SOXNANA6.mjs";
6
+ } from "./chunk-PQXZCNAU.mjs";
7
7
 
8
8
  // packages/plugins/plugin-space/src/capabilities/state.ts
9
9
  import { effect } from "@preact/signals-core";
@@ -44,4 +44,4 @@ var state_default = (context) => {
44
44
  export {
45
45
  state_default as default
46
46
  };
47
- //# sourceMappingURL=state-MS4KYJWI.mjs.map
47
+ //# sourceMappingURL=state-INJ63O57.mjs.map
@@ -12,9 +12,10 @@ import {
12
12
  SpaceForm,
13
13
  SpaceSettingsSchema,
14
14
  ThreadStatus,
15
- ThreadType
16
- } from "../chunk-SSJ772GK.mjs";
17
- import "../chunk-SOXNANA6.mjs";
15
+ ThreadType,
16
+ defineObjectForm
17
+ } from "../chunk-ULA2UQJ4.mjs";
18
+ import "../chunk-PQXZCNAU.mjs";
18
19
  export {
19
20
  ActorSchema,
20
21
  ChannelType,
@@ -29,6 +30,7 @@ export {
29
30
  SpaceForm,
30
31
  SpaceSettingsSchema,
31
32
  ThreadStatus,
32
- ThreadType
33
+ ThreadType,
34
+ defineObjectForm
33
35
  };
34
36
  //# sourceMappingURL=index.mjs.map