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

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 +59 -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 +132 -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 +59 -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 +44 -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
@@ -26,23 +26,23 @@ 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_75KRPQYT_exports = {};
30
- __export(react_surface_75KRPQYT_exports, {
29
+ var react_surface_5NYCMXSM_exports = {};
30
+ __export(react_surface_5NYCMXSM_exports, {
31
31
  default: () => react_surface_default
32
32
  });
33
- module.exports = __toCommonJS(react_surface_75KRPQYT_exports);
34
- var import_chunk_AJRP7AD6 = require("./chunk-AJRP7AD6.cjs");
35
- var import_chunk_56NGXG2A = require("./chunk-56NGXG2A.cjs");
36
- var import_chunk_5D4RWKTV = require("./chunk-5D4RWKTV.cjs");
37
- var import_chunk_YCBBGTFD = require("./chunk-YCBBGTFD.cjs");
38
- var import_chunk_AO4EW2RX = require("./chunk-AO4EW2RX.cjs");
33
+ module.exports = __toCommonJS(react_surface_5NYCMXSM_exports);
34
+ var import_chunk_N2FS7PRA = require("./chunk-N2FS7PRA.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");
39
39
  var import_react = __toESM(require("react"));
40
40
  var import_app_framework = require("@dxos/app-framework");
41
- var import_plugin_client = require("@dxos/plugin-client");
41
+ var import_local_storage = require("@dxos/local-storage");
42
42
  var import_echo = require("@dxos/react-client/echo");
43
43
  var react_surface_default = ({ createInvitationUrl }) => (0, import_app_framework.contributes)(import_app_framework.Capabilities.ReactSurface, [
44
44
  (0, import_app_framework.createSurface)({
45
- id: `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/article`,
45
+ id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/article`,
46
46
  role: "article",
47
47
  filter: (data) => (
48
48
  // TODO(wittjosiah): Need to avoid shotgun parsing space state everywhere.
@@ -51,111 +51,104 @@ var react_surface_default = ({ createInvitationUrl }) => (0, import_app_framewor
51
51
  component: ({ data, role, ...rest }) => /* @__PURE__ */ import_react.default.createElement(import_app_framework.Surface, {
52
52
  data: {
53
53
  id: data.subject.id,
54
- subject: data.subject.properties[import_chunk_YCBBGTFD.CollectionType.typename]?.target
54
+ subject: data.subject.properties[import_chunk_WAJKBO3J.CollectionType.typename]?.target
55
55
  },
56
56
  role,
57
57
  ...rest
58
58
  })
59
59
  }),
60
60
  (0, import_app_framework.createSurface)({
61
- id: `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/collection-fallback`,
61
+ id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/collection-fallback`,
62
62
  role: "article",
63
- disposition: "fallback",
64
- filter: (data) => data.subject instanceof import_chunk_YCBBGTFD.CollectionType,
65
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_AJRP7AD6.CollectionMain, {
63
+ position: "fallback",
64
+ filter: (data) => data.subject instanceof import_chunk_WAJKBO3J.CollectionType,
65
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_N2FS7PRA.CollectionMain, {
66
66
  collection: data.subject
67
67
  })
68
68
  }),
69
69
  (0, import_app_framework.createSurface)({
70
- id: `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/settings-panel`,
70
+ id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/settings-panel`,
71
71
  // TODO(burdon): Add role name syntax to minimal plugin docs.
72
72
  role: "complementary--settings",
73
73
  filter: (data) => (0, import_echo.isSpace)(data.subject),
74
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_AJRP7AD6.SpaceSettingsPanel, {
74
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_N2FS7PRA.SpaceSettingsPanel, {
75
75
  space: data.subject
76
76
  })
77
77
  }),
78
78
  (0, import_app_framework.createSurface)({
79
- id: `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/object-settings-base-panel`,
79
+ id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/object-settings-base-panel`,
80
80
  role: "complementary--settings",
81
- disposition: "hoist",
81
+ position: "hoist",
82
82
  filter: (data) => (0, import_echo.isEchoObject)(data.subject),
83
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_AJRP7AD6.BaseObjectSettings, {
83
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_N2FS7PRA.BaseObjectSettings, {
84
84
  object: data.subject
85
85
  })
86
86
  }),
87
87
  (0, import_app_framework.createSurface)({
88
- id: `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/object-settings-advanced-panel`,
88
+ id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/object-settings-advanced-panel`,
89
89
  role: "complementary--settings",
90
- disposition: "fallback",
90
+ position: "fallback",
91
91
  filter: (data) => (0, import_echo.isEchoObject)(data.subject),
92
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_AJRP7AD6.AdvancedObjectSettings, {
92
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_N2FS7PRA.AdvancedObjectSettings, {
93
93
  object: data.subject
94
94
  })
95
95
  }),
96
96
  (0, import_app_framework.createSurface)({
97
- id: import_chunk_AJRP7AD6.SPACE_SETTINGS_DIALOG,
97
+ id: import_chunk_N2FS7PRA.SPACE_SETTINGS_DIALOG,
98
98
  role: "dialog",
99
- filter: (data) => data.component === import_chunk_AJRP7AD6.SPACE_SETTINGS_DIALOG,
100
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_AJRP7AD6.SpaceSettingsDialog, {
101
- ...data.subject,
99
+ filter: (data) => data.component === import_chunk_N2FS7PRA.SPACE_SETTINGS_DIALOG,
100
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_N2FS7PRA.SpaceSettingsDialog, {
101
+ ...data.props,
102
102
  createInvitationUrl
103
103
  })
104
104
  }),
105
105
  (0, import_app_framework.createSurface)({
106
- id: import_chunk_AJRP7AD6.JOIN_DIALOG,
106
+ id: import_chunk_N2FS7PRA.JOIN_DIALOG,
107
107
  role: "dialog",
108
- filter: (data) => data.component === import_chunk_AJRP7AD6.JOIN_DIALOG,
109
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_AJRP7AD6.JoinDialog, data.subject)
108
+ filter: (data) => data.component === import_chunk_N2FS7PRA.JOIN_DIALOG,
109
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_N2FS7PRA.JoinDialog, data.props)
110
110
  }),
111
111
  (0, import_app_framework.createSurface)({
112
- id: import_chunk_AJRP7AD6.CREATE_SPACE_DIALOG,
112
+ id: import_chunk_N2FS7PRA.CREATE_SPACE_DIALOG,
113
113
  role: "dialog",
114
- filter: (data) => data.component === import_chunk_AJRP7AD6.CREATE_SPACE_DIALOG,
115
- component: () => /* @__PURE__ */ import_react.default.createElement(import_chunk_AJRP7AD6.CreateSpaceDialog, null)
114
+ filter: (data) => data.component === import_chunk_N2FS7PRA.CREATE_SPACE_DIALOG,
115
+ component: () => /* @__PURE__ */ import_react.default.createElement(import_chunk_N2FS7PRA.CreateSpaceDialog, null)
116
116
  }),
117
117
  (0, import_app_framework.createSurface)({
118
- id: import_chunk_AJRP7AD6.CREATE_OBJECT_DIALOG,
118
+ id: import_chunk_N2FS7PRA.CREATE_OBJECT_DIALOG,
119
119
  role: "dialog",
120
- filter: (data) => data.component === import_chunk_AJRP7AD6.CREATE_OBJECT_DIALOG,
121
- component: ({ data }) => {
122
- const schemas = (0, import_app_framework.useCapabilities)(import_plugin_client.ClientCapabilities.Schema).flat();
123
- const manager = (0, import_app_framework.usePluginManager)();
124
- const resolve = (0, import_react.useCallback)((typename) => {
125
- return manager.context.requestCapabilities(import_app_framework.Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
126
- }, [
127
- manager
128
- ]);
129
- return /* @__PURE__ */ import_react.default.createElement(import_chunk_AJRP7AD6.CreateObjectDialog, {
130
- schemas,
131
- resolve,
132
- ...data.subject
133
- });
134
- }
120
+ filter: (data) => data.component === import_chunk_N2FS7PRA.CREATE_OBJECT_DIALOG,
121
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_N2FS7PRA.CreateObjectDialog, data.props)
135
122
  }),
136
123
  (0, import_app_framework.createSurface)({
137
- id: import_chunk_AJRP7AD6.POPOVER_RENAME_SPACE,
124
+ id: import_chunk_N2FS7PRA.POPOVER_RENAME_SPACE,
138
125
  role: "popover",
139
- filter: (data) => data.component === import_chunk_AJRP7AD6.POPOVER_RENAME_SPACE && (0, import_echo.isSpace)(data.subject),
140
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_AJRP7AD6.PopoverRenameSpace, {
141
- space: data.subject
126
+ filter: (data) => data.component === import_chunk_N2FS7PRA.POPOVER_RENAME_SPACE && (0, import_echo.isSpace)(data.props),
127
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_N2FS7PRA.PopoverRenameSpace, {
128
+ space: data.props
142
129
  })
143
130
  }),
144
131
  (0, import_app_framework.createSurface)({
145
- id: import_chunk_AJRP7AD6.POPOVER_RENAME_OBJECT,
132
+ id: import_chunk_N2FS7PRA.POPOVER_RENAME_OBJECT,
146
133
  role: "popover",
147
- filter: (data) => data.component === import_chunk_AJRP7AD6.POPOVER_RENAME_OBJECT && (0, import_echo.isReactiveObject)(data.subject),
148
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_AJRP7AD6.PopoverRenameObject, {
149
- object: data.subject
134
+ filter: (data) => data.component === import_chunk_N2FS7PRA.POPOVER_RENAME_OBJECT && (0, import_echo.isReactiveObject)(data.props),
135
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_N2FS7PRA.PopoverRenameObject, {
136
+ object: data.props
150
137
  })
151
138
  }),
152
139
  (0, import_app_framework.createSurface)({
153
- id: `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/navtree-presence`,
140
+ id: import_chunk_N2FS7PRA.POPOVER_ADD_SPACE,
141
+ role: "popover",
142
+ filter: (data) => data.component === import_chunk_N2FS7PRA.POPOVER_ADD_SPACE,
143
+ component: () => /* @__PURE__ */ import_react.default.createElement(import_chunk_N2FS7PRA.PopoverAddSpace, null)
144
+ }),
145
+ (0, import_app_framework.createSurface)({
146
+ id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/navtree-presence`,
154
147
  role: "navtree-item-end",
155
148
  filter: (data) => typeof data.id === "string" && (0, import_echo.isEchoObject)(data.subject),
156
149
  component: ({ data }) => {
157
- const state = (0, import_app_framework.useCapability)(import_chunk_56NGXG2A.SpaceCapabilities.MutableState);
158
- return /* @__PURE__ */ import_react.default.createElement(import_chunk_AJRP7AD6.SmallPresenceLive, {
150
+ const state = (0, import_app_framework.useCapability)(import_chunk_YZKNRFHU.SpaceCapabilities.MutableState);
151
+ return /* @__PURE__ */ import_react.default.createElement(import_chunk_N2FS7PRA.SmallPresenceLive, {
159
152
  id: data.id,
160
153
  open: data.open,
161
154
  viewers: state.viewersByObject[data.id]
@@ -164,70 +157,65 @@ var react_surface_default = ({ createInvitationUrl }) => (0, import_app_framewor
164
157
  }),
165
158
  (0, import_app_framework.createSurface)({
166
159
  // TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.
167
- id: `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/navtree-presence-fallback`,
160
+ id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/navtree-presence-fallback`,
168
161
  role: "navtree-item-end",
169
- disposition: "fallback",
162
+ position: "fallback",
170
163
  filter: (data) => typeof data.id === "string",
171
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_AJRP7AD6.SmallPresenceLive, {
164
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_N2FS7PRA.SmallPresenceLive, {
172
165
  id: data.id,
173
166
  open: data.open
174
167
  })
175
168
  }),
176
169
  (0, import_app_framework.createSurface)({
177
- id: `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/navtree-sync-status`,
170
+ id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/navtree-sync-status`,
178
171
  role: "navtree-item-end",
179
172
  filter: (data) => (0, import_echo.isSpace)(data.subject),
180
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_AJRP7AD6.InlineSyncStatus, {
173
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_N2FS7PRA.InlineSyncStatus, {
181
174
  space: data.subject,
182
175
  open: data.open
183
176
  })
184
177
  }),
185
178
  (0, import_app_framework.createSurface)({
186
- id: `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/navbar-presence`,
179
+ id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/navbar-presence`,
187
180
  role: "navbar-end",
188
- disposition: "hoist",
181
+ position: "hoist",
189
182
  filter: (data) => (0, import_echo.isSpace)(data.subject) || (0, import_echo.isEchoObject)(data.subject),
190
183
  component: ({ data }) => {
191
184
  const space = (0, import_echo.isSpace)(data.subject) ? data.subject : (0, import_echo.getSpace)(data.subject);
192
- const object = (0, import_echo.isSpace)(data.subject) ? data.subject.state.get() === import_echo.SpaceState.SPACE_READY ? space?.properties[import_chunk_YCBBGTFD.CollectionType.typename]?.target : void 0 : data.subject;
193
- return space && object ? /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_chunk_AJRP7AD6.SpacePresence, {
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_N2FS7PRA.SpacePresence, {
194
187
  object
195
- }), space.properties[import_chunk_5D4RWKTV.COMPOSER_SPACE_LOCK] ? null : /* @__PURE__ */ import_react.default.createElement(import_chunk_AJRP7AD6.ShareSpaceButton, {
196
- space
197
- })) : null;
188
+ }) : null;
198
189
  }
199
190
  }),
200
191
  (0, import_app_framework.createSurface)({
201
- id: `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/collection-section`,
192
+ id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/collection-section`,
202
193
  role: "section",
203
- filter: (data) => data.subject instanceof import_chunk_YCBBGTFD.CollectionType,
204
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_AJRP7AD6.CollectionSection, {
194
+ filter: (data) => data.subject instanceof import_chunk_WAJKBO3J.CollectionType,
195
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_N2FS7PRA.CollectionSection, {
205
196
  collection: data.subject
206
197
  })
207
198
  }),
208
199
  (0, import_app_framework.createSurface)({
209
- id: `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/settings`,
210
- role: "settings",
211
- filter: (data) => data.subject === import_chunk_AO4EW2RX.SPACE_PLUGIN,
212
- component: () => {
213
- const settings = (0, import_app_framework.useCapability)(import_app_framework.Capabilities.SettingsStore).getStore(import_chunk_AO4EW2RX.SPACE_PLUGIN).value;
214
- return /* @__PURE__ */ import_react.default.createElement(import_chunk_AJRP7AD6.SpacePluginSettings, {
215
- settings
216
- });
217
- }
200
+ id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/settings`,
201
+ 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_N2FS7PRA.SpacePluginSettings, {
204
+ settings: subject.value
205
+ })
218
206
  }),
219
207
  (0, import_app_framework.createSurface)({
220
- id: `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/menu-footer`,
208
+ id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/menu-footer`,
221
209
  role: "menu-footer",
222
210
  filter: (data) => (0, import_echo.isEchoObject)(data.subject),
223
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_AJRP7AD6.MenuFooter, {
211
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_N2FS7PRA.MenuFooter, {
224
212
  object: data.subject
225
213
  })
226
214
  }),
227
215
  (0, import_app_framework.createSurface)({
228
- id: `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/status`,
216
+ id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/status`,
229
217
  role: "status",
230
- component: () => /* @__PURE__ */ import_react.default.createElement(import_chunk_AJRP7AD6.SyncStatus, null)
218
+ component: () => /* @__PURE__ */ import_react.default.createElement(import_chunk_N2FS7PRA.SyncStatus, null)
231
219
  })
232
220
  ]);
233
- //# sourceMappingURL=react-surface-75KRPQYT.cjs.map
221
+ //# sourceMappingURL=react-surface-5NYCMXSM.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 { 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": ["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", "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,40 @@
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_YN7WVFRX_exports = {};
20
+ __export(schema_YN7WVFRX_exports, {
21
+ default: () => schema_default
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");
26
+ var import_signals_core = require("@preact/signals-core");
27
+ var import_app_framework = require("@dxos/app-framework");
28
+ var import_plugin_client = require("@dxos/plugin-client");
29
+ var schema_default = (context) => {
30
+ const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
31
+ let previous = [];
32
+ const unsubscribe = (0, import_signals_core.effect)(() => {
33
+ const forms = Array.from(new Set(context.requestCapabilities(import_chunk_YZKNRFHU.SpaceCapabilities.ObjectForm)));
34
+ const newSchemas = forms.filter((form) => !previous.includes(form)).map((form) => form.objectSchema);
35
+ previous = forms;
36
+ client.addTypes(newSchemas);
37
+ });
38
+ return (0, import_app_framework.contributes)(import_app_framework.Capabilities.Null, null, () => unsubscribe());
39
+ };
40
+ //# sourceMappingURL=schema-YN7WVFRX.cjs.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,0BAAuB;AAEvB,2BAA+D;AAC/D,2BAAmC;AAKnC,IAAA,iBAAe,CAACA,YAAAA;AACd,QAAMC,SAASD,QAAQE,kBAAkBC,wCAAmBC,MAAM;AAGlE,MAAIC,WAAyB,CAAA;AAC7B,QAAMC,kBAAcC,4BAAO,MAAA;AACzB,UAAMC,QAAQC,MAAMC,KAAK,IAAIC,IAAIX,QAAQY,oBAAoBC,wCAAkBC,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,aAAOO,kCAAYC,kCAAaC,MAAM,MAAM,MAAMlB,YAAAA,CAAAA;AACpD;",
6
+ "names": ["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
+ }
@@ -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_KOVSPA3S_exports = {};
20
- __export(settings_KOVSPA3S_exports, {
19
+ var settings_5QYFWNH7_exports = {};
20
+ __export(settings_5QYFWNH7_exports, {
21
21
  default: () => settings_default
22
22
  });
23
- module.exports = __toCommonJS(settings_KOVSPA3S_exports);
24
- var import_chunk_YCBBGTFD = require("./chunk-YCBBGTFD.cjs");
25
- var import_chunk_AO4EW2RX = require("./chunk-AO4EW2RX.cjs");
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");
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_YCBBGTFD.SpaceSettingsSchema,
34
- prefix: import_chunk_AO4EW2RX.SPACE_PLUGIN,
33
+ schema: import_chunk_WAJKBO3J.SpaceSettingsSchema,
34
+ prefix: import_chunk_WZR6OAN3.SPACE_PLUGIN,
35
35
  value: settings
36
36
  });
37
37
  };
38
- //# sourceMappingURL=settings-KOVSPA3S.cjs.map
38
+ //# sourceMappingURL=settings-5QYFWNH7.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_ILVGUHJH_exports = {};
20
- __export(spaces_ready_ILVGUHJH_exports, {
19
+ var spaces_ready_FQNAKR7G_exports = {};
20
+ __export(spaces_ready_FQNAKR7G_exports, {
21
21
  default: () => spaces_ready_default
22
22
  });
23
- module.exports = __toCommonJS(spaces_ready_ILVGUHJH_exports);
24
- var import_chunk_56NGXG2A = require("./chunk-56NGXG2A.cjs");
25
- var import_chunk_5D4RWKTV = require("./chunk-5D4RWKTV.cjs");
26
- var import_chunk_YCBBGTFD = require("./chunk-YCBBGTFD.cjs");
27
- var import_chunk_AO4EW2RX = require("./chunk-AO4EW2RX.cjs");
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");
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");
@@ -33,6 +33,7 @@ var import_live_object = require("@dxos/live-object");
33
33
  var import_log = require("@dxos/log");
34
34
  var import_plugin_attention = require("@dxos/plugin-attention");
35
35
  var import_plugin_client = require("@dxos/plugin-client");
36
+ var import_plugin_deck = require("@dxos/plugin-deck");
36
37
  var import_metadata = require("@dxos/protocols/proto/dxos/echo/metadata");
37
38
  var import_react_client = require("@dxos/react-client");
38
39
  var import_echo = require("@dxos/react-client/echo");
@@ -46,38 +47,43 @@ var spaces_ready_default = async (context) => {
46
47
  const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
47
48
  const { graph } = context.requestCapability(import_app_framework.Capabilities.AppGraph);
48
49
  const layout = context.requestCapability(import_app_framework.Capabilities.Layout);
49
- const location = context.requestCapability(import_app_framework.Capabilities.Location);
50
+ const deck = context.requestCapability(import_plugin_deck.DeckCapabilities.DeckState);
50
51
  const attention = context.requestCapability(import_plugin_attention.AttentionCapabilities.Attention);
51
- const state = context.requestCapability(import_chunk_56NGXG2A.SpaceCapabilities.MutableState);
52
+ const state = context.requestCapability(import_chunk_YZKNRFHU.SpaceCapabilities.MutableState);
52
53
  const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
53
54
  const defaultSpace = client.spaces.default;
54
55
  await defaultSpace.waitUntilReady();
55
- if (typeof defaultSpace.properties[import_chunk_5D4RWKTV.COMPOSER_SPACE_LOCK] !== "boolean") {
56
- defaultSpace.properties[import_chunk_5D4RWKTV.COMPOSER_SPACE_LOCK] = true;
56
+ if (deck.activeDeck === "default") {
57
+ await dispatch((0, import_app_framework.createIntent)(import_app_framework.LayoutAction.SwitchWorkspace, {
58
+ part: "workspace",
59
+ subject: defaultSpace.id
60
+ }));
61
+ }
62
+ if (typeof defaultSpace.properties[import_chunk_OVGKWJOC.COMPOSER_SPACE_LOCK] !== "boolean") {
63
+ defaultSpace.properties[import_chunk_OVGKWJOC.COMPOSER_SPACE_LOCK] = true;
57
64
  }
58
65
  const { objects: [spacesOrder] } = await defaultSpace.db.query(import_echo.Filter.schema(import_echo_schema.Expando, {
59
- key: import_chunk_5D4RWKTV.SHARED
66
+ key: import_chunk_OVGKWJOC.SHARED
60
67
  })).run();
61
68
  if (!spacesOrder) {
62
69
  defaultSpace.db.add((0, import_live_object.create)({
63
- key: import_chunk_5D4RWKTV.SHARED,
70
+ key: import_chunk_OVGKWJOC.SHARED,
64
71
  order: []
65
72
  }));
66
73
  }
67
74
  subscriptions.add((0, import_core.scheduledEffect)(() => ({
68
- layoutMode: layout.layoutMode,
69
- soloPart: location.active.solo?.[0]
70
- }), ({ layoutMode, soloPart }) => {
71
- if (layoutMode !== "solo" || !soloPart) {
75
+ active: layout.active
76
+ }), ({ active }) => {
77
+ if (active.length !== 1) {
72
78
  return;
73
79
  }
74
- const node = graph.findNode(soloPart.id);
75
- if (!node && soloPart.id.length === import_echo.FQ_ID_LENGTH) {
80
+ const node = graph.findNode(active[0]);
81
+ if (!node && active[0].length === import_echo.FQ_ID_LENGTH) {
76
82
  const timeout = setTimeout(async () => {
77
- const node2 = graph.findNode(soloPart.id);
83
+ const node2 = graph.findNode(active[0]);
78
84
  if (!node2) {
79
- await dispatch((0, import_app_framework.createIntent)(import_chunk_YCBBGTFD.SpaceAction.WaitForObject, {
80
- id: soloPart.id
85
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_WAJKBO3J.SpaceAction.WaitForObject, {
86
+ id: active[0]
81
87
  }));
82
88
  }
83
89
  }, WAIT_FOR_OBJECT_TIMEOUT);
@@ -95,20 +101,15 @@ var spaces_ready_default = async (context) => {
95
101
  });
96
102
  }).unsubscribe);
97
103
  subscriptions.add((0, import_core.scheduledEffect)(() => ({
98
- open: (0, import_app_framework.openIds)(location.active, layout.layoutMode === "solo" ? [
99
- "solo"
100
- ] : [
101
- "main"
102
- ]),
103
- closed: [
104
- ...location.closed
105
- ]
106
- }), ({ open, closed }) => {
104
+ current: attention.current,
105
+ active: layout.active,
106
+ inactive: layout.inactive
107
+ }), ({ current, active, inactive }) => {
107
108
  const send = () => {
108
109
  const spaces = client.spaces.get();
109
110
  const identity = client.halo.identity.get();
110
- if (identity && location.active) {
111
- const idsBySpace = (0, import_util.reduceGroupBy)(open, (id) => {
111
+ if (identity) {
112
+ const idsBySpace = (0, import_util.reduceGroupBy)(active, (id) => {
112
113
  try {
113
114
  const [spaceId] = (0, import_echo.parseFullyQualifiedId)(id);
114
115
  return spaceId;
@@ -116,7 +117,7 @@ var spaces_ready_default = async (context) => {
116
117
  return null;
117
118
  }
118
119
  });
119
- const removedBySpace = (0, import_util.reduceGroupBy)(closed, (id) => {
120
+ const removedBySpace = (0, import_util.reduceGroupBy)(inactive, (id) => {
120
121
  try {
121
122
  const [spaceId] = (0, import_echo.parseFullyQualifiedId)(id);
122
123
  return spaceId;
@@ -137,9 +138,7 @@ var spaces_ready_default = async (context) => {
137
138
  }
138
139
  void space.postMessage("viewing", {
139
140
  identityKey: identity.identityKey.toHex(),
140
- attended: attention.current ? [
141
- ...attention.current
142
- ] : [],
141
+ attended: current,
143
142
  added,
144
143
  removed
145
144
  }).catch((err) => {
@@ -147,7 +146,7 @@ var spaces_ready_default = async (context) => {
147
146
  err: err.message
148
147
  }, {
149
148
  F: __dxlog_file,
150
- L: 156,
149
+ L: 155,
151
150
  S: void 0,
152
151
  C: (f, a) => f(...a)
153
152
  });
@@ -198,7 +197,7 @@ var spaces_ready_default = async (context) => {
198
197
  } catch (err) {
199
198
  import_log.log.catch(err, void 0, {
200
199
  F: __dxlog_file,
201
- L: 224,
200
+ L: 223,
202
201
  S: void 0,
203
202
  C: (f, a) => f(...a)
204
203
  });
@@ -208,4 +207,4 @@ var spaces_ready_default = async (context) => {
208
207
  subscriptions.clear();
209
208
  });
210
209
  };
211
- //# sourceMappingURL=spaces-ready-ILVGUHJH.cjs.map
210
+ //# sourceMappingURL=spaces-ready-FQNAKR7G.cjs.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": ["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
+ }