@dxos/plugin-space 0.8.1-staging.5be625a → 0.8.1-staging.9eaf14f

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 (233) hide show
  1. package/dist/lib/browser/{app-graph-builder-VHO33TWC.mjs → app-graph-builder-GMFCSOLG.mjs} +32 -5
  2. package/dist/lib/browser/app-graph-builder-GMFCSOLG.mjs.map +7 -0
  3. package/dist/lib/browser/{app-graph-serializer-F3ASSBHI.mjs → app-graph-serializer-DSF2U3A5.mjs} +4 -4
  4. package/dist/lib/browser/{chunk-RZ7IWZW3.mjs → chunk-5BDV575R.mjs} +18 -10
  5. package/dist/lib/browser/{chunk-RZ7IWZW3.mjs.map → chunk-5BDV575R.mjs.map} +2 -2
  6. package/dist/lib/browser/{chunk-HSC56GUH.mjs → chunk-AYW4IDRT.mjs} +10 -4
  7. package/dist/lib/browser/chunk-AYW4IDRT.mjs.map +7 -0
  8. package/dist/lib/browser/{chunk-4CTAR2NQ.mjs → chunk-JZXWPMLA.mjs} +849 -583
  9. package/dist/lib/browser/chunk-JZXWPMLA.mjs.map +7 -0
  10. package/dist/lib/browser/{chunk-O7LODPTY.mjs → chunk-KVRYWFZU.mjs} +2 -2
  11. package/dist/lib/browser/chunk-KVRYWFZU.mjs.map +7 -0
  12. package/dist/lib/browser/{chunk-3UOTYBKX.mjs → chunk-LO5UL6RU.mjs} +44 -12
  13. package/dist/lib/browser/chunk-LO5UL6RU.mjs.map +7 -0
  14. package/dist/lib/browser/{identity-created-YSJQAFUZ.mjs → identity-created-JR7BNXFH.mjs} +2 -2
  15. package/dist/lib/browser/index.mjs +33 -38
  16. package/dist/lib/browser/index.mjs.map +3 -3
  17. package/dist/lib/browser/{intent-resolver-OQ243G6B.mjs → intent-resolver-RKYILWWQ.mjs} +65 -42
  18. package/dist/lib/browser/intent-resolver-RKYILWWQ.mjs.map +7 -0
  19. package/dist/lib/browser/meta.json +1 -1
  20. package/dist/lib/browser/{react-root-5CIQKAFC.mjs → react-root-6H7NX2M2.mjs} +5 -5
  21. package/dist/lib/browser/{react-surface-SEBYKQD5.mjs → react-surface-7AGLOVMK.mjs} +35 -35
  22. package/dist/lib/browser/react-surface-7AGLOVMK.mjs.map +7 -0
  23. package/dist/lib/browser/{schema-UOCBWGA4.mjs → schema-FHTA26SW.mjs} +2 -2
  24. package/dist/lib/browser/{schema-tools-6J5ZEDBC.mjs → schema-tools-YAXPRIXP.mjs} +3 -3
  25. package/dist/lib/browser/schema-tools-YAXPRIXP.mjs.map +7 -0
  26. package/dist/lib/browser/{settings-C4ZEZTJF.mjs → settings-PJPTJUPE.mjs} +2 -2
  27. package/dist/lib/browser/{spaces-ready-EWHXCOBW.mjs → spaces-ready-BSSP7HHG.mjs} +7 -7
  28. package/dist/lib/browser/spaces-ready-BSSP7HHG.mjs.map +7 -0
  29. package/dist/lib/browser/{state-BUM7SQUV.mjs → state-X7VLCC6E.mjs} +4 -2
  30. package/dist/lib/browser/state-X7VLCC6E.mjs.map +7 -0
  31. package/dist/lib/browser/types/index.mjs +1 -1
  32. package/dist/lib/node/{app-graph-builder-DFCMCAMT.cjs → app-graph-builder-DPY7AUZE.cjs} +63 -36
  33. package/dist/lib/node/app-graph-builder-DPY7AUZE.cjs.map +7 -0
  34. package/dist/lib/node/{app-graph-serializer-7O35O6SV.cjs → app-graph-serializer-JELGJUAY.cjs} +20 -20
  35. package/dist/lib/node/{chunk-LRW6ZBDX.cjs → chunk-3GKCNADA.cjs} +903 -644
  36. package/dist/lib/node/chunk-3GKCNADA.cjs.map +7 -0
  37. package/dist/lib/node/{chunk-GRM6AGWI.cjs → chunk-IKIDS6XF.cjs} +5 -5
  38. package/dist/lib/node/chunk-IKIDS6XF.cjs.map +7 -0
  39. package/dist/lib/node/{chunk-FOYDT2Z3.cjs → chunk-PU2EYH4E.cjs} +22 -14
  40. package/dist/lib/node/{chunk-FOYDT2Z3.cjs.map → chunk-PU2EYH4E.cjs.map} +2 -2
  41. package/dist/lib/node/{chunk-K3HRT4CT.cjs → chunk-TUZWEPGX.cjs} +78 -46
  42. package/dist/lib/node/chunk-TUZWEPGX.cjs.map +7 -0
  43. package/dist/lib/node/{chunk-MFVXBJQJ.cjs → chunk-WDEIFDTX.cjs} +12 -6
  44. package/dist/lib/node/chunk-WDEIFDTX.cjs.map +7 -0
  45. package/dist/lib/node/{identity-created-YNPY3SHI.cjs → identity-created-XU4HFV2T.cjs} +6 -6
  46. package/dist/lib/node/index.cjs +80 -85
  47. package/dist/lib/node/index.cjs.map +3 -3
  48. package/dist/lib/node/{intent-resolver-G5CNUJCN.cjs → intent-resolver-VJ7YV74L.cjs} +123 -99
  49. package/dist/lib/node/intent-resolver-VJ7YV74L.cjs.map +7 -0
  50. package/dist/lib/node/meta.json +1 -1
  51. package/dist/lib/node/{react-root-GUOHMGWR.cjs → react-root-TEL5RW3N.cjs} +10 -10
  52. package/dist/lib/node/{react-surface-NDV3KMWF.cjs → react-surface-2H3S5TY5.cjs} +66 -65
  53. package/dist/lib/node/react-surface-2H3S5TY5.cjs.map +7 -0
  54. package/dist/lib/node/{schema-EERAOETL.cjs → schema-PPJ5BZ3A.cjs} +6 -6
  55. package/dist/lib/node/{schema-tools-OZS4OC6X.cjs → schema-tools-BLIMOZYY.cjs} +5 -5
  56. package/dist/lib/node/schema-tools-BLIMOZYY.cjs.map +7 -0
  57. package/dist/lib/node/{settings-JS6D6VHU.cjs → settings-WVFP2UEP.cjs} +6 -6
  58. package/dist/lib/node/{spaces-ready-WNOF2MAQ.cjs → spaces-ready-7DNZSUOG.cjs} +15 -15
  59. package/dist/lib/node/spaces-ready-7DNZSUOG.cjs.map +7 -0
  60. package/dist/lib/node/{state-AIETH3DE.cjs → state-5KX6WBJH.cjs} +8 -6
  61. package/dist/lib/node/state-5KX6WBJH.cjs.map +7 -0
  62. package/dist/lib/node/types/index.cjs +12 -12
  63. package/dist/lib/node/types/index.cjs.map +1 -1
  64. package/dist/lib/node-esm/{app-graph-builder-3VUKZI7U.mjs → app-graph-builder-42IGWRPL.mjs} +32 -5
  65. package/dist/lib/node-esm/app-graph-builder-42IGWRPL.mjs.map +7 -0
  66. package/dist/lib/node-esm/{app-graph-serializer-PM4PTZK6.mjs → app-graph-serializer-FXONFKOE.mjs} +4 -4
  67. package/dist/lib/node-esm/{chunk-YA6FCGDI.mjs → chunk-3ZOUV4DF.mjs} +18 -10
  68. package/dist/lib/node-esm/{chunk-YA6FCGDI.mjs.map → chunk-3ZOUV4DF.mjs.map} +2 -2
  69. package/dist/lib/node-esm/{chunk-5YP3LY6A.mjs → chunk-BEWBZ4Q4.mjs} +849 -583
  70. package/dist/lib/node-esm/chunk-BEWBZ4Q4.mjs.map +7 -0
  71. package/dist/lib/node-esm/{chunk-B6QDEMFR.mjs → chunk-FC4UHDPL.mjs} +10 -4
  72. package/dist/lib/node-esm/chunk-FC4UHDPL.mjs.map +7 -0
  73. package/dist/lib/node-esm/{chunk-AJ4IZAKT.mjs → chunk-PIYAWT5N.mjs} +2 -2
  74. package/dist/lib/node-esm/chunk-PIYAWT5N.mjs.map +7 -0
  75. package/dist/lib/node-esm/{chunk-A4XT5SLD.mjs → chunk-ZGLK25WQ.mjs} +44 -12
  76. package/dist/lib/node-esm/chunk-ZGLK25WQ.mjs.map +7 -0
  77. package/dist/lib/node-esm/{identity-created-SEMQDDNJ.mjs → identity-created-WJKAS2PV.mjs} +2 -2
  78. package/dist/lib/node-esm/index.mjs +33 -38
  79. package/dist/lib/node-esm/index.mjs.map +3 -3
  80. package/dist/lib/node-esm/{intent-resolver-YMFEX5XN.mjs → intent-resolver-ZFNSA4CM.mjs} +65 -42
  81. package/dist/lib/node-esm/intent-resolver-ZFNSA4CM.mjs.map +7 -0
  82. package/dist/lib/node-esm/meta.json +1 -1
  83. package/dist/lib/node-esm/{react-root-ROENLKSY.mjs → react-root-PRBJMWLQ.mjs} +5 -5
  84. package/dist/lib/node-esm/{react-surface-OLDKADHX.mjs → react-surface-RCZG2PNF.mjs} +35 -35
  85. package/dist/lib/node-esm/react-surface-RCZG2PNF.mjs.map +7 -0
  86. package/dist/lib/node-esm/{schema-LOOOBN6J.mjs → schema-OUZKVYM5.mjs} +2 -2
  87. package/dist/lib/node-esm/{schema-tools-KJVXGDBO.mjs → schema-tools-IU7EX5A5.mjs} +3 -3
  88. package/dist/lib/node-esm/schema-tools-IU7EX5A5.mjs.map +7 -0
  89. package/dist/lib/node-esm/{settings-B2AS4EGA.mjs → settings-FJZPC2TV.mjs} +2 -2
  90. package/dist/lib/node-esm/{spaces-ready-2SKD2XCY.mjs → spaces-ready-7X5PGB2V.mjs} +7 -7
  91. package/dist/lib/node-esm/spaces-ready-7X5PGB2V.mjs.map +7 -0
  92. package/dist/lib/node-esm/{state-DWUAP6MH.mjs → state-Z6E2YTNC.mjs} +4 -2
  93. package/dist/lib/node-esm/state-Z6E2YTNC.mjs.map +7 -0
  94. package/dist/lib/node-esm/types/index.mjs +1 -1
  95. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  96. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  97. package/dist/types/src/capabilities/capabilities.d.ts +4 -3
  98. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  99. package/dist/types/src/capabilities/index.d.ts +0 -1
  100. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  101. package/dist/types/src/capabilities/intent-resolver.d.ts +1 -2
  102. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  103. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  104. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  105. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  106. package/dist/types/src/components/MembersContainer.d.ts +7 -0
  107. package/dist/types/src/components/MembersContainer.d.ts.map +1 -0
  108. package/dist/types/src/components/MembersContainer.stories.d.ts +8 -0
  109. package/dist/types/src/components/MembersContainer.stories.d.ts.map +1 -0
  110. package/dist/types/src/components/ObjectSettingsContainer/AdvancedObjectSettings.d.ts.map +1 -0
  111. package/dist/types/src/components/ObjectSettingsContainer/BaseObjectSettings.d.ts +8 -0
  112. package/dist/types/src/components/ObjectSettingsContainer/BaseObjectSettings.d.ts.map +1 -0
  113. package/dist/types/src/components/ObjectSettingsContainer/ForeignKeys.d.ts.map +1 -0
  114. package/dist/types/src/components/ObjectSettingsContainer/ObjectSettingsContainer.d.ts +8 -0
  115. package/dist/types/src/components/ObjectSettingsContainer/ObjectSettingsContainer.d.ts.map +1 -0
  116. package/dist/types/src/components/ObjectSettingsContainer/index.d.ts +2 -0
  117. package/dist/types/src/components/ObjectSettingsContainer/index.d.ts.map +1 -0
  118. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  119. package/dist/types/src/components/SpaceSettings/SpacePropertiesForm.d.ts +7 -0
  120. package/dist/types/src/components/SpaceSettings/SpacePropertiesForm.d.ts.map +1 -0
  121. package/dist/types/src/components/SpaceSettings/SpacePropertiesForm.stories.d.ts +7 -0
  122. package/dist/types/src/components/SpaceSettings/SpacePropertiesForm.stories.d.ts.map +1 -0
  123. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts +9 -0
  124. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -0
  125. package/dist/types/src/components/SpaceSettings/index.d.ts +2 -2
  126. package/dist/types/src/components/SpaceSettings/index.d.ts.map +1 -1
  127. package/dist/types/src/components/index.d.ts +2 -2
  128. package/dist/types/src/components/index.d.ts.map +1 -1
  129. package/dist/types/src/events.d.ts +1 -1
  130. package/dist/types/src/events.d.ts.map +1 -1
  131. package/dist/types/src/translations.d.ts +48 -24
  132. package/dist/types/src/translations.d.ts.map +1 -1
  133. package/dist/types/src/types/thread.d.ts +2 -0
  134. package/dist/types/src/types/thread.d.ts.map +1 -1
  135. package/dist/types/src/types/types.d.ts +8 -0
  136. package/dist/types/src/types/types.d.ts.map +1 -1
  137. package/dist/types/src/util.d.ts +12 -0
  138. package/dist/types/src/util.d.ts.map +1 -1
  139. package/package.json +44 -42
  140. package/src/SpacePlugin.tsx +6 -10
  141. package/src/capabilities/app-graph-builder.ts +20 -0
  142. package/src/capabilities/capabilities.ts +3 -3
  143. package/src/capabilities/intent-resolver.ts +63 -37
  144. package/src/capabilities/react-surface.tsx +27 -26
  145. package/src/capabilities/schema-tools.ts +2 -2
  146. package/src/capabilities/spaces-ready.ts +3 -3
  147. package/src/capabilities/state.ts +2 -0
  148. package/src/components/CreateDialog/CreateObjectPanel.tsx +6 -6
  149. package/src/components/JoinDialog.tsx +43 -27
  150. package/src/components/MembersContainer.stories.tsx +34 -0
  151. package/src/components/MembersContainer.tsx +257 -0
  152. package/src/components/{AdvancedObjectSettings → ObjectSettingsContainer}/AdvancedObjectSettings.tsx +2 -2
  153. package/src/components/{BaseObjectSettings.tsx → ObjectSettingsContainer/BaseObjectSettings.tsx} +16 -11
  154. package/src/components/ObjectSettingsContainer/ObjectSettingsContainer.tsx +36 -0
  155. package/src/components/ObjectSettingsContainer/index.ts +5 -0
  156. package/src/components/SpacePresence.tsx +25 -23
  157. package/src/components/SpaceSettings/{SpaceSettingsPanel.stories.tsx → SpacePropertiesForm.stories.tsx} +6 -6
  158. package/src/components/SpaceSettings/SpacePropertiesForm.tsx +136 -0
  159. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +63 -0
  160. package/src/components/SpaceSettings/index.ts +2 -2
  161. package/src/components/SyncStatus/SyncStatus.tsx +1 -1
  162. package/src/components/SyncStatus/save-tracker.ts +5 -5
  163. package/src/components/index.ts +2 -2
  164. package/src/events.ts +2 -2
  165. package/src/translations.ts +19 -8
  166. package/src/types/types.ts +12 -6
  167. package/src/util.tsx +29 -7
  168. package/dist/lib/browser/app-graph-builder-VHO33TWC.mjs.map +0 -7
  169. package/dist/lib/browser/chunk-3UOTYBKX.mjs.map +0 -7
  170. package/dist/lib/browser/chunk-4CTAR2NQ.mjs.map +0 -7
  171. package/dist/lib/browser/chunk-HSC56GUH.mjs.map +0 -7
  172. package/dist/lib/browser/chunk-O7LODPTY.mjs.map +0 -7
  173. package/dist/lib/browser/intent-resolver-OQ243G6B.mjs.map +0 -7
  174. package/dist/lib/browser/react-surface-SEBYKQD5.mjs.map +0 -7
  175. package/dist/lib/browser/schema-tools-6J5ZEDBC.mjs.map +0 -7
  176. package/dist/lib/browser/spaces-ready-EWHXCOBW.mjs.map +0 -7
  177. package/dist/lib/browser/state-BUM7SQUV.mjs.map +0 -7
  178. package/dist/lib/node/app-graph-builder-DFCMCAMT.cjs.map +0 -7
  179. package/dist/lib/node/chunk-GRM6AGWI.cjs.map +0 -7
  180. package/dist/lib/node/chunk-K3HRT4CT.cjs.map +0 -7
  181. package/dist/lib/node/chunk-LRW6ZBDX.cjs.map +0 -7
  182. package/dist/lib/node/chunk-MFVXBJQJ.cjs.map +0 -7
  183. package/dist/lib/node/intent-resolver-G5CNUJCN.cjs.map +0 -7
  184. package/dist/lib/node/react-surface-NDV3KMWF.cjs.map +0 -7
  185. package/dist/lib/node/schema-tools-OZS4OC6X.cjs.map +0 -7
  186. package/dist/lib/node/spaces-ready-WNOF2MAQ.cjs.map +0 -7
  187. package/dist/lib/node/state-AIETH3DE.cjs.map +0 -7
  188. package/dist/lib/node-esm/app-graph-builder-3VUKZI7U.mjs.map +0 -7
  189. package/dist/lib/node-esm/chunk-5YP3LY6A.mjs.map +0 -7
  190. package/dist/lib/node-esm/chunk-A4XT5SLD.mjs.map +0 -7
  191. package/dist/lib/node-esm/chunk-AJ4IZAKT.mjs.map +0 -7
  192. package/dist/lib/node-esm/chunk-B6QDEMFR.mjs.map +0 -7
  193. package/dist/lib/node-esm/intent-resolver-YMFEX5XN.mjs.map +0 -7
  194. package/dist/lib/node-esm/react-surface-OLDKADHX.mjs.map +0 -7
  195. package/dist/lib/node-esm/schema-tools-KJVXGDBO.mjs.map +0 -7
  196. package/dist/lib/node-esm/spaces-ready-2SKD2XCY.mjs.map +0 -7
  197. package/dist/lib/node-esm/state-DWUAP6MH.mjs.map +0 -7
  198. package/dist/types/src/components/AdvancedObjectSettings/AdvancedObjectSettings.d.ts.map +0 -1
  199. package/dist/types/src/components/AdvancedObjectSettings/ForeignKeys.d.ts.map +0 -1
  200. package/dist/types/src/components/AdvancedObjectSettings/index.d.ts +0 -2
  201. package/dist/types/src/components/AdvancedObjectSettings/index.d.ts.map +0 -1
  202. package/dist/types/src/components/BaseObjectSettings.d.ts +0 -7
  203. package/dist/types/src/components/BaseObjectSettings.d.ts.map +0 -1
  204. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts +0 -11
  205. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts.map +0 -1
  206. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.stories.d.ts +0 -7
  207. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.stories.d.ts.map +0 -1
  208. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts +0 -7
  209. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts.map +0 -1
  210. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.stories.d.ts +0 -7
  211. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.stories.d.ts.map +0 -1
  212. package/src/components/AdvancedObjectSettings/index.ts +0 -5
  213. package/src/components/SpaceSettings/SpaceSettingsDialog.stories.tsx +0 -43
  214. package/src/components/SpaceSettings/SpaceSettingsDialog.tsx +0 -120
  215. package/src/components/SpaceSettings/SpaceSettingsPanel.tsx +0 -83
  216. /package/dist/lib/browser/{app-graph-serializer-F3ASSBHI.mjs.map → app-graph-serializer-DSF2U3A5.mjs.map} +0 -0
  217. /package/dist/lib/browser/{identity-created-YSJQAFUZ.mjs.map → identity-created-JR7BNXFH.mjs.map} +0 -0
  218. /package/dist/lib/browser/{react-root-5CIQKAFC.mjs.map → react-root-6H7NX2M2.mjs.map} +0 -0
  219. /package/dist/lib/browser/{schema-UOCBWGA4.mjs.map → schema-FHTA26SW.mjs.map} +0 -0
  220. /package/dist/lib/browser/{settings-C4ZEZTJF.mjs.map → settings-PJPTJUPE.mjs.map} +0 -0
  221. /package/dist/lib/node/{app-graph-serializer-7O35O6SV.cjs.map → app-graph-serializer-JELGJUAY.cjs.map} +0 -0
  222. /package/dist/lib/node/{identity-created-YNPY3SHI.cjs.map → identity-created-XU4HFV2T.cjs.map} +0 -0
  223. /package/dist/lib/node/{react-root-GUOHMGWR.cjs.map → react-root-TEL5RW3N.cjs.map} +0 -0
  224. /package/dist/lib/node/{schema-EERAOETL.cjs.map → schema-PPJ5BZ3A.cjs.map} +0 -0
  225. /package/dist/lib/node/{settings-JS6D6VHU.cjs.map → settings-WVFP2UEP.cjs.map} +0 -0
  226. /package/dist/lib/node-esm/{app-graph-serializer-PM4PTZK6.mjs.map → app-graph-serializer-FXONFKOE.mjs.map} +0 -0
  227. /package/dist/lib/node-esm/{identity-created-SEMQDDNJ.mjs.map → identity-created-WJKAS2PV.mjs.map} +0 -0
  228. /package/dist/lib/node-esm/{react-root-ROENLKSY.mjs.map → react-root-PRBJMWLQ.mjs.map} +0 -0
  229. /package/dist/lib/node-esm/{schema-LOOOBN6J.mjs.map → schema-OUZKVYM5.mjs.map} +0 -0
  230. /package/dist/lib/node-esm/{settings-B2AS4EGA.mjs.map → settings-FJZPC2TV.mjs.map} +0 -0
  231. /package/dist/types/src/components/{AdvancedObjectSettings → ObjectSettingsContainer}/AdvancedObjectSettings.d.ts +0 -0
  232. /package/dist/types/src/components/{AdvancedObjectSettings → ObjectSettingsContainer}/ForeignKeys.d.ts +0 -0
  233. /package/src/components/{AdvancedObjectSettings → ObjectSettingsContainer}/ForeignKeys.tsx +0 -0
@@ -26,25 +26,25 @@ 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_root_GUOHMGWR_exports = {};
30
- __export(react_root_GUOHMGWR_exports, {
29
+ var react_root_TEL5RW3N_exports = {};
30
+ __export(react_root_TEL5RW3N_exports, {
31
31
  default: () => react_root_default
32
32
  });
33
- module.exports = __toCommonJS(react_root_GUOHMGWR_exports);
34
- var import_chunk_LRW6ZBDX = require("./chunk-LRW6ZBDX.cjs");
35
- var import_chunk_GRM6AGWI = require("./chunk-GRM6AGWI.cjs");
36
- var import_chunk_K3HRT4CT = require("./chunk-K3HRT4CT.cjs");
37
- var import_chunk_MFVXBJQJ = require("./chunk-MFVXBJQJ.cjs");
33
+ module.exports = __toCommonJS(react_root_TEL5RW3N_exports);
34
+ var import_chunk_3GKCNADA = require("./chunk-3GKCNADA.cjs");
35
+ var import_chunk_IKIDS6XF = require("./chunk-IKIDS6XF.cjs");
36
+ var import_chunk_TUZWEPGX = require("./chunk-TUZWEPGX.cjs");
37
+ var import_chunk_WDEIFDTX = require("./chunk-WDEIFDTX.cjs");
38
38
  var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
39
39
  var import_react = __toESM(require("react"));
40
40
  var import_app_framework = require("@dxos/app-framework");
41
41
  var react_root_default = () => (0, import_app_framework.contributes)(import_app_framework.Capabilities.ReactRoot, {
42
42
  id: import_chunk_6P2DB4QQ.SPACE_PLUGIN,
43
43
  root: () => {
44
- const state = (0, import_app_framework.useCapability)(import_chunk_GRM6AGWI.SpaceCapabilities.State);
45
- return state.awaiting ? /* @__PURE__ */ import_react.default.createElement(import_chunk_LRW6ZBDX.AwaitingObject, {
44
+ const state = (0, import_app_framework.useCapability)(import_chunk_IKIDS6XF.SpaceCapabilities.State);
45
+ return state.awaiting ? /* @__PURE__ */ import_react.default.createElement(import_chunk_3GKCNADA.AwaitingObject, {
46
46
  id: state.awaiting
47
47
  }) : null;
48
48
  }
49
49
  });
50
- //# sourceMappingURL=react-root-GUOHMGWR.cjs.map
50
+ //# sourceMappingURL=react-root-TEL5RW3N.cjs.map
@@ -26,15 +26,15 @@ 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_NDV3KMWF_exports = {};
30
- __export(react_surface_NDV3KMWF_exports, {
29
+ var react_surface_2H3S5TY5_exports = {};
30
+ __export(react_surface_2H3S5TY5_exports, {
31
31
  default: () => react_surface_default
32
32
  });
33
- module.exports = __toCommonJS(react_surface_NDV3KMWF_exports);
34
- var import_chunk_LRW6ZBDX = require("./chunk-LRW6ZBDX.cjs");
35
- var import_chunk_GRM6AGWI = require("./chunk-GRM6AGWI.cjs");
36
- var import_chunk_K3HRT4CT = require("./chunk-K3HRT4CT.cjs");
37
- var import_chunk_MFVXBJQJ = require("./chunk-MFVXBJQJ.cjs");
33
+ module.exports = __toCommonJS(react_surface_2H3S5TY5_exports);
34
+ var import_chunk_3GKCNADA = require("./chunk-3GKCNADA.cjs");
35
+ var import_chunk_IKIDS6XF = require("./chunk-IKIDS6XF.cjs");
36
+ var import_chunk_TUZWEPGX = require("./chunk-TUZWEPGX.cjs");
37
+ var import_chunk_WDEIFDTX = require("./chunk-WDEIFDTX.cjs");
38
38
  var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
39
39
  var import_react = __toESM(require("react"));
40
40
  var import_app_framework = require("@dxos/app-framework");
@@ -52,7 +52,7 @@ var react_surface_default = ({ createInvitationUrl }) => (0, import_app_framewor
52
52
  component: ({ data, role, ...rest }) => /* @__PURE__ */ import_react.default.createElement(import_app_framework.Surface, {
53
53
  data: {
54
54
  id: data.subject.id,
55
- subject: data.subject.properties[import_chunk_MFVXBJQJ.CollectionType.typename]?.target
55
+ subject: data.subject.properties[import_chunk_WDEIFDTX.CollectionType.typename]?.target
56
56
  },
57
57
  role,
58
58
  ...rest
@@ -62,116 +62,117 @@ var react_surface_default = ({ createInvitationUrl }) => (0, import_app_framewor
62
62
  id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/collection-fallback`,
63
63
  role: "article",
64
64
  position: "fallback",
65
- filter: (data) => (0, import_echo_schema.isInstanceOf)(import_chunk_MFVXBJQJ.CollectionType, data.subject),
66
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_LRW6ZBDX.CollectionMain, {
65
+ filter: (data) => (0, import_echo_schema.isInstanceOf)(import_chunk_WDEIFDTX.CollectionType, data.subject),
66
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_3GKCNADA.CollectionMain, {
67
67
  collection: data.subject
68
68
  })
69
69
  }),
70
70
  (0, import_app_framework.createSurface)({
71
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/settings-panel`,
72
- // TODO(burdon): Add role name syntax to minimal plugin docs.
73
- role: "complementary--settings",
74
- filter: (data) => (0, import_echo.isSpace)(data.subject),
75
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_LRW6ZBDX.SpaceSettingsPanel, {
76
- space: data.subject
71
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/members`,
72
+ role: "article",
73
+ position: "hoist",
74
+ filter: (data) => (0, import_echo.isSpace)(data.subject) && data.variant === "members",
75
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_3GKCNADA.MembersContainer, {
76
+ space: data.subject,
77
+ createInvitationUrl
77
78
  })
78
79
  }),
79
80
  (0, import_app_framework.createSurface)({
80
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/object-settings-base-panel`,
81
- role: "complementary--settings",
81
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/settings`,
82
+ role: "article",
82
83
  position: "hoist",
83
- filter: (data) => (0, import_echo.isEchoObject)(data.subject),
84
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_LRW6ZBDX.BaseObjectSettings, {
85
- object: data.subject
84
+ filter: (data) => (0, import_echo.isSpace)(data.subject) && data.variant === "settings",
85
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_3GKCNADA.SpaceSettingsContainer, {
86
+ space: data.subject
86
87
  })
87
88
  }),
88
89
  (0, import_app_framework.createSurface)({
89
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/object-settings-advanced-panel`,
90
- role: "complementary--settings",
91
- position: "fallback",
92
- filter: (data) => (0, import_echo.isEchoObject)(data.subject),
93
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_LRW6ZBDX.AdvancedObjectSettings, {
94
- object: data.subject
90
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/companion/object-settings`,
91
+ role: "article",
92
+ filter: (data) => (0, import_echo.isEchoObject)(data.companionTo) && data.subject === "settings",
93
+ component: ({ data, role }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_3GKCNADA.ObjectSettingsContainer, {
94
+ object: data.companionTo,
95
+ role
95
96
  })
96
97
  }),
97
98
  (0, import_app_framework.createSurface)({
98
- id: import_chunk_LRW6ZBDX.SPACE_SETTINGS_DIALOG,
99
- role: "dialog",
100
- filter: (data) => data.component === import_chunk_LRW6ZBDX.SPACE_SETTINGS_DIALOG,
101
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_LRW6ZBDX.SpaceSettingsDialog, {
102
- ...data.props,
103
- createInvitationUrl
99
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/space-settings--properties`,
100
+ role: "space-settings--properties",
101
+ filter: (data) => (0, import_echo.isSpace)(data.subject),
102
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_3GKCNADA.SpacePropertiesForm, {
103
+ space: data.subject
104
104
  })
105
105
  }),
106
106
  (0, import_app_framework.createSurface)({
107
- id: import_chunk_LRW6ZBDX.JOIN_DIALOG,
107
+ id: import_chunk_3GKCNADA.JOIN_DIALOG,
108
108
  role: "dialog",
109
- filter: (data) => data.component === import_chunk_LRW6ZBDX.JOIN_DIALOG,
110
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_LRW6ZBDX.JoinDialog, data.props)
109
+ filter: (data) => data.component === import_chunk_3GKCNADA.JOIN_DIALOG,
110
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_3GKCNADA.JoinDialog, data.props)
111
111
  }),
112
112
  (0, import_app_framework.createSurface)({
113
- id: import_chunk_LRW6ZBDX.CREATE_SPACE_DIALOG,
113
+ id: import_chunk_3GKCNADA.CREATE_SPACE_DIALOG,
114
114
  role: "dialog",
115
- filter: (data) => data.component === import_chunk_LRW6ZBDX.CREATE_SPACE_DIALOG,
116
- component: () => /* @__PURE__ */ import_react.default.createElement(import_chunk_LRW6ZBDX.CreateSpaceDialog, null)
115
+ filter: (data) => data.component === import_chunk_3GKCNADA.CREATE_SPACE_DIALOG,
116
+ component: () => /* @__PURE__ */ import_react.default.createElement(import_chunk_3GKCNADA.CreateSpaceDialog, null)
117
117
  }),
118
118
  (0, import_app_framework.createSurface)({
119
- id: import_chunk_LRW6ZBDX.CREATE_OBJECT_DIALOG,
119
+ id: import_chunk_3GKCNADA.CREATE_OBJECT_DIALOG,
120
120
  role: "dialog",
121
- filter: (data) => data.component === import_chunk_LRW6ZBDX.CREATE_OBJECT_DIALOG,
122
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_LRW6ZBDX.CreateObjectDialog, data.props)
121
+ filter: (data) => data.component === import_chunk_3GKCNADA.CREATE_OBJECT_DIALOG,
122
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_3GKCNADA.CreateObjectDialog, data.props)
123
123
  }),
124
124
  (0, import_app_framework.createSurface)({
125
- id: import_chunk_LRW6ZBDX.POPOVER_RENAME_SPACE,
125
+ id: import_chunk_3GKCNADA.POPOVER_RENAME_SPACE,
126
126
  role: "popover",
127
- filter: (data) => data.component === import_chunk_LRW6ZBDX.POPOVER_RENAME_SPACE && (0, import_echo.isSpace)(data.props),
128
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_LRW6ZBDX.PopoverRenameSpace, {
127
+ filter: (data) => data.component === import_chunk_3GKCNADA.POPOVER_RENAME_SPACE && (0, import_echo.isSpace)(data.props),
128
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_3GKCNADA.PopoverRenameSpace, {
129
129
  space: data.props
130
130
  })
131
131
  }),
132
132
  (0, import_app_framework.createSurface)({
133
- id: import_chunk_LRW6ZBDX.POPOVER_RENAME_OBJECT,
133
+ id: import_chunk_3GKCNADA.POPOVER_RENAME_OBJECT,
134
134
  role: "popover",
135
- filter: (data) => data.component === import_chunk_LRW6ZBDX.POPOVER_RENAME_OBJECT && (0, import_echo.isReactiveObject)(data.props),
136
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_LRW6ZBDX.PopoverRenameObject, {
135
+ filter: (data) => data.component === import_chunk_3GKCNADA.POPOVER_RENAME_OBJECT && (0, import_echo.isReactiveObject)(data.props),
136
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_3GKCNADA.PopoverRenameObject, {
137
137
  object: data.props
138
138
  })
139
139
  }),
140
140
  (0, import_app_framework.createSurface)({
141
- id: import_chunk_LRW6ZBDX.POPOVER_ADD_SPACE,
141
+ id: import_chunk_3GKCNADA.POPOVER_ADD_SPACE,
142
142
  role: "popover",
143
- filter: (data) => data.component === import_chunk_LRW6ZBDX.POPOVER_ADD_SPACE,
144
- component: () => /* @__PURE__ */ import_react.default.createElement(import_chunk_LRW6ZBDX.PopoverAddSpace, null)
143
+ filter: (data) => data.component === import_chunk_3GKCNADA.POPOVER_ADD_SPACE,
144
+ component: () => /* @__PURE__ */ import_react.default.createElement(import_chunk_3GKCNADA.PopoverAddSpace, null)
145
145
  }),
146
146
  (0, import_app_framework.createSurface)({
147
147
  id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/navtree-presence`,
148
148
  role: "navtree-item-end",
149
149
  filter: (data) => typeof data.id === "string" && (0, import_echo.isEchoObject)(data.subject),
150
150
  component: ({ data }) => {
151
- const state = (0, import_app_framework.useCapability)(import_chunk_GRM6AGWI.SpaceCapabilities.MutableState);
152
- return /* @__PURE__ */ import_react.default.createElement(import_chunk_LRW6ZBDX.SmallPresenceLive, {
151
+ const state = (0, import_app_framework.useCapability)(import_chunk_IKIDS6XF.SpaceCapabilities.MutableState);
152
+ return /* @__PURE__ */ import_react.default.createElement(import_chunk_3GKCNADA.SmallPresenceLive, {
153
153
  id: data.id,
154
154
  open: data.open,
155
155
  viewers: state.viewersByObject[data.id]
156
156
  });
157
157
  }
158
158
  }),
159
+ // TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.
159
160
  (0, import_app_framework.createSurface)({
160
- // TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.
161
161
  id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/navtree-presence-fallback`,
162
162
  role: "navtree-item-end",
163
163
  position: "fallback",
164
164
  filter: (data) => typeof data.id === "string",
165
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_LRW6ZBDX.SmallPresenceLive, {
165
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_3GKCNADA.SmallPresenceLive, {
166
166
  id: data.id,
167
167
  open: data.open
168
168
  })
169
169
  }),
170
+ // TODO(wittjosiah): Broken?
170
171
  (0, import_app_framework.createSurface)({
171
172
  id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/navtree-sync-status`,
172
173
  role: "navtree-item-end",
173
174
  filter: (data) => (0, import_echo.isSpace)(data.subject),
174
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_LRW6ZBDX.InlineSyncStatus, {
175
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_3GKCNADA.InlineSyncStatus, {
175
176
  space: data.subject,
176
177
  open: data.open
177
178
  })
@@ -183,8 +184,8 @@ var react_surface_default = ({ createInvitationUrl }) => (0, import_app_framewor
183
184
  filter: (data) => (0, import_echo.isSpace)(data.subject) || (0, import_echo.isEchoObject)(data.subject),
184
185
  component: ({ data }) => {
185
186
  const space = (0, import_echo.isSpace)(data.subject) ? data.subject : (0, import_echo.getSpace)(data.subject);
186
- const object = (0, import_echo.isSpace)(data.subject) ? data.subject.state.get() === import_echo.SpaceState.SPACE_READY ? space?.properties[import_chunk_MFVXBJQJ.CollectionType.typename]?.target : void 0 : data.subject;
187
- return object ? /* @__PURE__ */ import_react.default.createElement(import_chunk_LRW6ZBDX.SpacePresence, {
187
+ const object = (0, import_echo.isSpace)(data.subject) ? data.subject.state.get() === import_echo.SpaceState.SPACE_READY ? space?.properties[import_chunk_WDEIFDTX.CollectionType.typename]?.target : void 0 : data.subject;
188
+ return object ? /* @__PURE__ */ import_react.default.createElement(import_chunk_3GKCNADA.SpacePresence, {
188
189
  object
189
190
  }) : null;
190
191
  }
@@ -192,16 +193,16 @@ var react_surface_default = ({ createInvitationUrl }) => (0, import_app_framewor
192
193
  (0, import_app_framework.createSurface)({
193
194
  id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/collection-section`,
194
195
  role: "section",
195
- filter: (data) => (0, import_echo_schema.isInstanceOf)(import_chunk_MFVXBJQJ.CollectionType, data.subject),
196
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_LRW6ZBDX.CollectionSection, {
196
+ filter: (data) => (0, import_echo_schema.isInstanceOf)(import_chunk_WDEIFDTX.CollectionType, data.subject),
197
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_3GKCNADA.CollectionSection, {
197
198
  collection: data.subject
198
199
  })
199
200
  }),
200
201
  (0, import_app_framework.createSurface)({
201
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/settings`,
202
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/plugin-settings`,
202
203
  role: "article",
203
204
  filter: (data) => data.subject instanceof import_local_storage.SettingsStore && data.subject.prefix === import_chunk_6P2DB4QQ.SPACE_PLUGIN,
204
- component: ({ data: { subject } }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_LRW6ZBDX.SpacePluginSettings, {
205
+ component: ({ data: { subject } }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_3GKCNADA.SpacePluginSettings, {
205
206
  settings: subject.value
206
207
  })
207
208
  }),
@@ -209,14 +210,14 @@ var react_surface_default = ({ createInvitationUrl }) => (0, import_app_framewor
209
210
  id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/menu-footer`,
210
211
  role: "menu-footer",
211
212
  filter: (data) => (0, import_echo.isEchoObject)(data.subject),
212
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_LRW6ZBDX.MenuFooter, {
213
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_3GKCNADA.MenuFooter, {
213
214
  object: data.subject
214
215
  })
215
216
  }),
216
217
  (0, import_app_framework.createSurface)({
217
218
  id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/status`,
218
219
  role: "status",
219
- component: () => /* @__PURE__ */ import_react.default.createElement(import_chunk_LRW6ZBDX.SyncStatus, null)
220
+ component: () => /* @__PURE__ */ import_react.default.createElement(import_chunk_3GKCNADA.SyncStatus, null)
220
221
  })
221
222
  ]);
222
- //# sourceMappingURL=react-surface-NDV3KMWF.cjs.map
223
+ //# sourceMappingURL=react-surface-2H3S5TY5.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface, Surface, useCapability } from '@dxos/app-framework';\nimport { isInstanceOf } from '@dxos/echo-schema';\nimport { SettingsStore } from '@dxos/local-storage';\nimport {\n getSpace,\n isEchoObject,\n isReactiveObject,\n isSpace,\n SpaceState,\n type ReactiveEchoObject,\n type Space,\n} from '@dxos/react-client/echo';\nimport { type JoinPanelProps } from '@dxos/shell/react';\n\nimport { SpaceCapabilities } from './capabilities';\nimport {\n 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 SpacePluginSettings,\n SpacePresence,\n SyncStatus,\n type CreateObjectDialogProps,\n POPOVER_ADD_SPACE,\n PopoverAddSpace,\n SpaceSettingsContainer,\n SpacePropertiesForm,\n MembersContainer,\n ObjectSettingsContainer,\n} from '../components';\nimport { SPACE_PLUGIN } from '../meta';\nimport { CollectionType, type SpaceSettingsProps } from '../types';\n\ntype ReactSurfaceOptions = {\n createInvitationUrl: (invitationCode: string) => string;\n};\n\nexport default ({ createInvitationUrl }: ReactSurfaceOptions) =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${SPACE_PLUGIN}/article`,\n role: 'article',\n filter: (data): data is { subject: Space } =>\n // TODO(wittjosiah): Need to avoid shotgun parsing space state everywhere.\n isSpace(data.subject) && data.subject.state.get() === SpaceState.SPACE_READY,\n component: ({ data, role, ...rest }) => (\n <Surface\n data={{ id: data.subject.id, subject: data.subject.properties[CollectionType.typename]?.target }}\n role={role}\n {...rest}\n />\n ),\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/collection-fallback`,\n role: 'article',\n position: 'fallback',\n filter: (data): data is { subject: CollectionType } => isInstanceOf(CollectionType, data.subject),\n component: ({ data }) => <CollectionMain collection={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/members`,\n role: 'article',\n position: 'hoist',\n filter: (data): data is { subject: Space; variant: 'members' } =>\n isSpace(data.subject) && data.variant === 'members',\n component: ({ data }) => <MembersContainer space={data.subject} createInvitationUrl={createInvitationUrl} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/settings`,\n role: 'article',\n position: 'hoist',\n filter: (data): data is { subject: Space; variant: 'settings' } =>\n isSpace(data.subject) && data.variant === 'settings',\n component: ({ data }) => <SpaceSettingsContainer space={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/companion/object-settings`,\n role: 'article',\n filter: (data): data is { companionTo: ReactiveEchoObject<any> } =>\n isEchoObject(data.companionTo) && data.subject === 'settings',\n component: ({ data, role }) => <ObjectSettingsContainer object={data.companionTo} role={role} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/space-settings--properties`,\n role: 'space-settings--properties',\n filter: (data): data is { subject: Space } => isSpace(data.subject),\n component: ({ data }) => <SpacePropertiesForm space={data.subject} />,\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 // TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.\n createSurface({\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 // TODO(wittjosiah): Broken?\n createSurface({\n id: `${SPACE_PLUGIN}/navtree-sync-status`,\n role: 'navtree-item-end',\n filter: (data): data is { subject: Space; open?: boolean } => isSpace(data.subject),\n component: ({ data }) => <InlineSyncStatus space={data.subject} open={data.open} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/navbar-presence`,\n role: 'navbar-end',\n position: 'hoist',\n filter: (data): data is { subject: Space | ReactiveEchoObject<any> } =>\n isSpace(data.subject) || isEchoObject(data.subject),\n component: ({ data }) => {\n const space = isSpace(data.subject) ? data.subject : getSpace(data.subject);\n const object = isSpace(data.subject)\n ? data.subject.state.get() === SpaceState.SPACE_READY\n ? (space?.properties[CollectionType.typename]?.target as CollectionType)\n : undefined\n : data.subject;\n\n return object ? <SpacePresence object={object} /> : null;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/collection-section`,\n role: 'section',\n filter: (data): data is { subject: CollectionType } => isInstanceOf(CollectionType, data.subject),\n component: ({ data }) => <CollectionSection collection={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<SpaceSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === SPACE_PLUGIN,\n component: ({ data: { subject } }) => <SpacePluginSettings settings={subject.value} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/menu-footer`,\n role: 'menu-footer',\n filter: (data): data is { subject: ReactiveEchoObject<any> } => isEchoObject(data.subject),\n component: ({ data }) => <MenuFooter object={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/status`,\n role: 'status',\n component: () => <SyncStatus />,\n }),\n ]);\n"],
5
+ "mappings": "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",
6
+ "names": ["createInvitationUrl", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "SPACE_PLUGIN", "role", "filter", "data", "isSpace", "subject", "state", "get", "SpaceState", "SPACE_READY", "component", "rest", "React", "Surface", "properties", "CollectionType", "typename", "target", "position", "isInstanceOf", "CollectionMain", "collection", "variant", "MembersContainer", "space", "SpaceSettingsContainer", "isEchoObject", "companionTo", "ObjectSettingsContainer", "object", "SpacePropertiesForm", "JOIN_DIALOG", "JoinDialog", "props", "CREATE_SPACE_DIALOG", "CreateSpaceDialog", "CREATE_OBJECT_DIALOG", "CreateObjectDialog", "POPOVER_RENAME_SPACE", "PopoverRenameSpace", "POPOVER_RENAME_OBJECT", "isReactiveObject", "PopoverRenameObject", "POPOVER_ADD_SPACE", "PopoverAddSpace", "useCapability", "SpaceCapabilities", "MutableState", "SmallPresenceLive", "open", "viewers", "viewersByObject", "InlineSyncStatus", "getSpace", "undefined", "SpacePresence", "CollectionSection", "SettingsStore", "prefix", "SpacePluginSettings", "settings", "value", "MenuFooter", "SyncStatus"]
7
+ }
@@ -16,12 +16,12 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var schema_EERAOETL_exports = {};
20
- __export(schema_EERAOETL_exports, {
19
+ var schema_PPJ5BZ3A_exports = {};
20
+ __export(schema_PPJ5BZ3A_exports, {
21
21
  default: () => schema_default
22
22
  });
23
- module.exports = __toCommonJS(schema_EERAOETL_exports);
24
- var import_chunk_GRM6AGWI = require("./chunk-GRM6AGWI.cjs");
23
+ module.exports = __toCommonJS(schema_PPJ5BZ3A_exports);
24
+ var import_chunk_IKIDS6XF = require("./chunk-IKIDS6XF.cjs");
25
25
  var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
26
26
  var import_signals_core = require("@preact/signals-core");
27
27
  var import_app_framework = require("@dxos/app-framework");
@@ -30,11 +30,11 @@ var schema_default = (context) => {
30
30
  const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
31
31
  let previous = [];
32
32
  const unsubscribe = (0, import_signals_core.effect)(() => {
33
- const forms = Array.from(new Set(context.requestCapabilities(import_chunk_GRM6AGWI.SpaceCapabilities.ObjectForm)));
33
+ const forms = Array.from(new Set(context.requestCapabilities(import_chunk_IKIDS6XF.SpaceCapabilities.ObjectForm)));
34
34
  const newSchemas = forms.filter((form) => !previous.includes(form)).map((form) => form.objectSchema);
35
35
  previous = forms;
36
36
  client.addTypes(newSchemas);
37
37
  });
38
38
  return (0, import_app_framework.contributes)(import_app_framework.Capabilities.Null, null, () => unsubscribe());
39
39
  };
40
- //# sourceMappingURL=schema-EERAOETL.cjs.map
40
+ //# sourceMappingURL=schema-PPJ5BZ3A.cjs.map
@@ -16,12 +16,12 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var schema_tools_OZS4OC6X_exports = {};
20
- __export(schema_tools_OZS4OC6X_exports, {
19
+ var schema_tools_BLIMOZYY_exports = {};
20
+ __export(schema_tools_BLIMOZYY_exports, {
21
21
  TypeNameSchema: () => TypeNameSchema,
22
22
  default: () => schema_tools_default
23
23
  });
24
- module.exports = __toCommonJS(schema_tools_OZS4OC6X_exports);
24
+ module.exports = __toCommonJS(schema_tools_BLIMOZYY_exports);
25
25
  var import_SchemaAST = require("effect/SchemaAST");
26
26
  var import_app_framework = require("@dxos/app-framework");
27
27
  var import_artifact = require("@dxos/artifact");
@@ -131,7 +131,7 @@ var schema_tools_default = () => (0, import_app_framework.contributes)(import_ap
131
131
  ]
132
132
  });
133
133
  const space = extensions.space;
134
- const schema = (0, import_schema.echoSchemaFromPropertyDefinitions)(typename, properties);
134
+ const schema = (0, import_schema.getSchemaFromPropertyDefinitions)(typename, properties);
135
135
  const [registeredSchema] = await space.db.schemaRegistry.register([
136
136
  schema
137
137
  ]);
@@ -143,4 +143,4 @@ var schema_tools_default = () => (0, import_app_framework.contributes)(import_ap
143
143
  0 && (module.exports = {
144
144
  TypeNameSchema
145
145
  });
146
- //# sourceMappingURL=schema-tools-OZS4OC6X.cjs.map
146
+ //# sourceMappingURL=schema-tools-BLIMOZYY.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/schema-tools.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { DescriptionAnnotationId, ExamplesAnnotationId, TitleAnnotationId } from 'effect/SchemaAST';\n\nimport { Capabilities, contributes, type PromiseIntentDispatcher } from '@dxos/app-framework';\nimport { defineTool, ToolResult } from '@dxos/artifact';\nimport { type Space } from '@dxos/client/echo';\nimport { FormatEnum, FormatEnums, S, SelectOptionSchema, GeoPoint, toJsonSchema } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { hues } from '@dxos/react-ui-theme';\nimport { getSchemaFromPropertyDefinitions } from '@dxos/schema';\n\n// TODO(burdon): Factor out.\ndeclare global {\n interface ToolContextExtensions {\n space?: Space;\n dispatch?: PromiseIntentDispatcher;\n }\n}\n\n// TODO(ZaymonFC): Move this somewhere common.\nexport const TypeNameSchema = S.String.pipe(\n S.pattern(/^\\w+\\.\\w{2,}\\/[\\w/]+$/i),\n S.annotations({\n [TitleAnnotationId]: 'TypeName',\n [DescriptionAnnotationId]:\n 'Domain-style type name path. Dashes are not allowed. Use camel case for the final component of the type name.',\n [ExamplesAnnotationId]: ['example.com/type/Document', 'example.com/type/FlightList'],\n }),\n);\n\nconst formatDescription = `The format of the property. Additional information:\n ${FormatEnum.GeoPoint}: ${JSON.stringify(toJsonSchema(GeoPoint))}\n This tuple is GeoJSON. You must specify \\`${FormatEnum.GeoPoint}\\` as [Longitude, Latitude]`;\n\n// TODO(ZaymonFC): All properties are default optional, but maybe we should allow for required properties.\nconst PropertyDefinitionSchema = S.Struct({\n name: S.String.annotations({ [DescriptionAnnotationId]: 'The name of the property.' }),\n format: S.Union(...FormatEnums.map((format) => S.Literal(format))).annotations({\n [DescriptionAnnotationId]: formatDescription,\n }),\n config: S.optional(\n S.Struct({\n options: S.optional(\n S.Array(SelectOptionSchema)\n .annotations({\n description: `Options for SingleSelect/MultiSelect formats. Available colors: ${hues.join(', ')}`,\n })\n .pipe(S.mutable),\n ),\n }),\n ),\n}).pipe(S.mutable);\n\nconst SYSTEM_NAMESPACE = 'dxos.org/echo/schema';\n\nexport default () =>\n contributes(Capabilities.Tools, [\n defineTool(SYSTEM_NAMESPACE, {\n name: 'list',\n description: 'List registered schemas in the space.',\n caption: 'Listing registered schemas...',\n schema: S.Struct({}),\n execute: async (_input, { extensions }) => {\n invariant(extensions?.space, 'No space.');\n const space = extensions.space;\n\n const schemas = await space.db.schemaRegistry.query({}).run();\n return ToolResult.Success(\n schemas.map((schema) => ({\n typename: schema.typename,\n version: schema.version,\n })),\n );\n },\n }),\n defineTool(SYSTEM_NAMESPACE, {\n name: 'get',\n description: 'Get a specific schema by its typename.',\n caption: 'Getting schema...',\n schema: S.Struct({\n typename: S.String.annotations({\n description: 'The fully qualified typename of the schema.',\n }),\n }),\n execute: async ({ typename }, { extensions }) => {\n invariant(extensions?.space, 'No space.');\n const space = extensions.space;\n\n const schema = await space.db.schemaRegistry.query({ typename }).firstOrUndefined();\n if (!schema) {\n return ToolResult.Error(`Schema not found: ${typename}`);\n }\n\n return ToolResult.Success(schema);\n },\n }),\n defineTool(SYSTEM_NAMESPACE, {\n name: 'create',\n description: 'Create a new schema with the provided definition.',\n caption: 'Creating schema...',\n schema: S.Struct({\n typename: TypeNameSchema.annotations({\n description:\n 'The fully qualified schema typename. Must start with a domain, and then one or more path components (e.g., \"example.com/type/TypeName\").',\n }),\n properties: S.Array(PropertyDefinitionSchema).pipe(\n S.annotations({ description: 'Array of property definitions for the schema.' }),\n S.mutable,\n ),\n }),\n execute: async ({ typename, properties }, { extensions }) => {\n invariant(extensions?.space, 'No space.');\n const space = extensions.space;\n\n const schema = getSchemaFromPropertyDefinitions(typename, properties);\n const [registeredSchema] = await space.db.schemaRegistry.register([schema]);\n\n return ToolResult.Success(registeredSchema);\n },\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAIA,uBAAiF;AAEjF,2BAAwE;AACxE,sBAAuC;AAEvC,yBAAuF;AACvF,uBAA0B;AAC1B,4BAAqB;AACrB,oBAAiD;;AAW1C,IAAMA,iBAAiBC,qBAAEC,OAAOC,KACrCF,qBAAEG,QAAQ,wBAAA,GACVH,qBAAEI,YAAY;EACZ,CAACC,kCAAAA,GAAoB;EACrB,CAACC,wCAAAA,GACC;EACF,CAACC,qCAAAA,GAAuB;IAAC;IAA6B;;AACxD,CAAA,CAAA;AAGF,IAAMC,oBAAoB;IACtBC,8BAAWC,QAAQ,KAAKC,KAAKC,cAAUC,iCAAaH,2BAAAA,CAAAA,CAAAA;8CACVD,8BAAWC,QAAQ;AAGjE,IAAMI,2BAA2Bd,qBAAEe,OAAO;EACxCC,MAAMhB,qBAAEC,OAAOG,YAAY;IAAE,CAACE,wCAAAA,GAA0B;EAA4B,CAAA;EACpFW,QAAQjB,qBAAEkB,MAAK,GAAIC,+BAAYC,IAAI,CAACH,WAAWjB,qBAAEqB,QAAQJ,MAAAA,CAAAA,CAAAA,EAAUb,YAAY;IAC7E,CAACE,wCAAAA,GAA0BE;EAC7B,CAAA;EACAc,QAAQtB,qBAAEuB,SACRvB,qBAAEe,OAAO;IACPS,SAASxB,qBAAEuB,SACTvB,qBAAEyB,MAAMC,qCAAAA,EACLtB,YAAY;MACXuB,aAAa,mEAAmEC,2BAAKC,KAAK,IAAA,CAAA;IAC5F,CAAA,EACC3B,KAAKF,qBAAE8B,OAAO,CAAA;EAErB,CAAA,CAAA;AAEJ,CAAA,EAAG5B,KAAKF,qBAAE8B,OAAO;AAEjB,IAAMC,mBAAmB;AAEzB,IAAA,uBAAe,UACbC,kCAAYC,kCAAaC,OAAO;MAC9BC,4BAAWJ,kBAAkB;IAC3Bf,MAAM;IACNW,aAAa;IACbS,SAAS;IACTC,QAAQrC,qBAAEe,OAAO,CAAC,CAAA;IAClBuB,SAAS,OAAOC,QAAQ,EAAEC,WAAU,MAAE;AACpCC,sCAAUD,YAAYE,OAAO,aAAA;;;;;;;;;AAC7B,YAAMA,QAAQF,WAAWE;AAEzB,YAAMC,UAAU,MAAMD,MAAME,GAAGC,eAAeC,MAAM,CAAC,CAAA,EAAGC,IAAG;AAC3D,aAAOC,2BAAWC,QAChBN,QAAQvB,IAAI,CAACiB,YAAY;QACvBa,UAAUb,OAAOa;QACjBC,SAASd,OAAOc;MAClB,EAAA,CAAA;IAEJ;EACF,CAAA;MACAhB,4BAAWJ,kBAAkB;IAC3Bf,MAAM;IACNW,aAAa;IACbS,SAAS;IACTC,QAAQrC,qBAAEe,OAAO;MACfmC,UAAUlD,qBAAEC,OAAOG,YAAY;QAC7BuB,aAAa;MACf,CAAA;IACF,CAAA;IACAW,SAAS,OAAO,EAAEY,SAAQ,GAAI,EAAEV,WAAU,MAAE;AAC1CC,sCAAUD,YAAYE,OAAO,aAAA;;;;;;;;;AAC7B,YAAMA,QAAQF,WAAWE;AAEzB,YAAML,SAAS,MAAMK,MAAME,GAAGC,eAAeC,MAAM;QAAEI;MAAS,CAAA,EAAGE,iBAAgB;AACjF,UAAI,CAACf,QAAQ;AACX,eAAOW,2BAAWK,MAAM,qBAAqBH,QAAAA,EAAU;MACzD;AAEA,aAAOF,2BAAWC,QAAQZ,MAAAA;IAC5B;EACF,CAAA;MACAF,4BAAWJ,kBAAkB;IAC3Bf,MAAM;IACNW,aAAa;IACbS,SAAS;IACTC,QAAQrC,qBAAEe,OAAO;MACfmC,UAAUnD,eAAeK,YAAY;QACnCuB,aACE;MACJ,CAAA;MACA2B,YAAYtD,qBAAEyB,MAAMX,wBAAAA,EAA0BZ,KAC5CF,qBAAEI,YAAY;QAAEuB,aAAa;MAAgD,CAAA,GAC7E3B,qBAAE8B,OAAO;IAEb,CAAA;IACAQ,SAAS,OAAO,EAAEY,UAAUI,WAAU,GAAI,EAAEd,WAAU,MAAE;AACtDC,sCAAUD,YAAYE,OAAO,aAAA;;;;;;;;;AAC7B,YAAMA,QAAQF,WAAWE;AAEzB,YAAML,aAASkB,gDAAiCL,UAAUI,UAAAA;AAC1D,YAAM,CAACE,gBAAAA,IAAoB,MAAMd,MAAME,GAAGC,eAAeY,SAAS;QAACpB;OAAO;AAE1E,aAAOW,2BAAWC,QAAQO,gBAAAA;IAC5B;EACF,CAAA;CACD;",
6
+ "names": ["TypeNameSchema", "S", "String", "pipe", "pattern", "annotations", "TitleAnnotationId", "DescriptionAnnotationId", "ExamplesAnnotationId", "formatDescription", "FormatEnum", "GeoPoint", "JSON", "stringify", "toJsonSchema", "PropertyDefinitionSchema", "Struct", "name", "format", "Union", "FormatEnums", "map", "Literal", "config", "optional", "options", "Array", "SelectOptionSchema", "description", "hues", "join", "mutable", "SYSTEM_NAMESPACE", "contributes", "Capabilities", "Tools", "defineTool", "caption", "schema", "execute", "_input", "extensions", "invariant", "space", "schemas", "db", "schemaRegistry", "query", "run", "ToolResult", "Success", "typename", "version", "firstOrUndefined", "Error", "properties", "getSchemaFromPropertyDefinitions", "registeredSchema", "register"]
7
+ }
@@ -16,12 +16,12 @@ 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_JS6D6VHU_exports = {};
20
- __export(settings_JS6D6VHU_exports, {
19
+ var settings_WVFP2UEP_exports = {};
20
+ __export(settings_WVFP2UEP_exports, {
21
21
  default: () => settings_default
22
22
  });
23
- module.exports = __toCommonJS(settings_JS6D6VHU_exports);
24
- var import_chunk_MFVXBJQJ = require("./chunk-MFVXBJQJ.cjs");
23
+ module.exports = __toCommonJS(settings_WVFP2UEP_exports);
24
+ var import_chunk_WDEIFDTX = require("./chunk-WDEIFDTX.cjs");
25
25
  var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
26
26
  var import_app_framework = require("@dxos/app-framework");
27
27
  var import_live_object = require("@dxos/live-object");
@@ -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_MFVXBJQJ.SpaceSettingsSchema,
33
+ schema: import_chunk_WDEIFDTX.SpaceSettingsSchema,
34
34
  prefix: import_chunk_6P2DB4QQ.SPACE_PLUGIN,
35
35
  value: settings
36
36
  });
37
37
  };
38
- //# sourceMappingURL=settings-JS6D6VHU.cjs.map
38
+ //# sourceMappingURL=settings-WVFP2UEP.cjs.map
@@ -16,14 +16,14 @@ 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_WNOF2MAQ_exports = {};
20
- __export(spaces_ready_WNOF2MAQ_exports, {
19
+ var spaces_ready_7DNZSUOG_exports = {};
20
+ __export(spaces_ready_7DNZSUOG_exports, {
21
21
  default: () => spaces_ready_default
22
22
  });
23
- module.exports = __toCommonJS(spaces_ready_WNOF2MAQ_exports);
24
- var import_chunk_GRM6AGWI = require("./chunk-GRM6AGWI.cjs");
25
- var import_chunk_K3HRT4CT = require("./chunk-K3HRT4CT.cjs");
26
- var import_chunk_MFVXBJQJ = require("./chunk-MFVXBJQJ.cjs");
23
+ module.exports = __toCommonJS(spaces_ready_7DNZSUOG_exports);
24
+ var import_chunk_IKIDS6XF = require("./chunk-IKIDS6XF.cjs");
25
+ var import_chunk_TUZWEPGX = require("./chunk-TUZWEPGX.cjs");
26
+ var import_chunk_WDEIFDTX = require("./chunk-WDEIFDTX.cjs");
27
27
  var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
28
28
  var import_app_framework = require("@dxos/app-framework");
29
29
  var import_async = require("@dxos/async");
@@ -42,14 +42,14 @@ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/sr
42
42
  var ACTIVE_NODE_BROADCAST_INTERVAL = 3e4;
43
43
  var WAIT_FOR_OBJECT_TIMEOUT = 1e3;
44
44
  var spaces_ready_default = async (context) => {
45
- const subscriptions = new import_async.EventSubscriptions();
46
- const spaceSubscriptions = new import_async.EventSubscriptions();
45
+ const subscriptions = new import_async.SubscriptionList();
46
+ const spaceSubscriptions = new import_async.SubscriptionList();
47
47
  const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
48
48
  const { graph } = context.requestCapability(import_app_framework.Capabilities.AppGraph);
49
49
  const layout = context.requestCapability(import_app_framework.Capabilities.Layout);
50
50
  const deck = context.requestCapability(import_plugin_deck.DeckCapabilities.DeckState);
51
51
  const attention = context.requestCapability(import_plugin_attention.AttentionCapabilities.Attention);
52
- const state = context.requestCapability(import_chunk_GRM6AGWI.SpaceCapabilities.MutableState);
52
+ const state = context.requestCapability(import_chunk_IKIDS6XF.SpaceCapabilities.MutableState);
53
53
  const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
54
54
  const defaultSpace = client.spaces.default;
55
55
  await defaultSpace.waitUntilReady();
@@ -59,15 +59,15 @@ var spaces_ready_default = async (context) => {
59
59
  subject: defaultSpace.id
60
60
  }));
61
61
  }
62
- if (typeof defaultSpace.properties[import_chunk_K3HRT4CT.COMPOSER_SPACE_LOCK] !== "boolean") {
63
- defaultSpace.properties[import_chunk_K3HRT4CT.COMPOSER_SPACE_LOCK] = true;
62
+ if (typeof defaultSpace.properties[import_chunk_TUZWEPGX.COMPOSER_SPACE_LOCK] !== "boolean") {
63
+ defaultSpace.properties[import_chunk_TUZWEPGX.COMPOSER_SPACE_LOCK] = true;
64
64
  }
65
65
  const { objects: [spacesOrder] } = await defaultSpace.db.query(import_echo.Filter.schema(import_echo_schema.Expando, {
66
- key: import_chunk_K3HRT4CT.SHARED
66
+ key: import_chunk_TUZWEPGX.SHARED
67
67
  })).run();
68
68
  if (!spacesOrder) {
69
69
  defaultSpace.db.add((0, import_live_object.create)({
70
- key: import_chunk_K3HRT4CT.SHARED,
70
+ key: import_chunk_TUZWEPGX.SHARED,
71
71
  order: []
72
72
  }));
73
73
  }
@@ -82,7 +82,7 @@ var spaces_ready_default = async (context) => {
82
82
  const timeout = setTimeout(async () => {
83
83
  const node2 = graph.findNode(active[0]);
84
84
  if (!node2) {
85
- await dispatch((0, import_app_framework.createIntent)(import_chunk_MFVXBJQJ.SpaceAction.WaitForObject, {
85
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_WDEIFDTX.SpaceAction.WaitForObject, {
86
86
  id: active[0]
87
87
  }));
88
88
  }
@@ -207,4 +207,4 @@ var spaces_ready_default = async (context) => {
207
207
  subscriptions.clear();
208
208
  });
209
209
  };
210
- //# sourceMappingURL=spaces-ready-WNOF2MAQ.cjs.map
210
+ //# sourceMappingURL=spaces-ready-7DNZSUOG.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 { SubscriptionList } 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 SubscriptionList();\n const spaceSubscriptions = new SubscriptionList();\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", "SubscriptionList", "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
+ }
@@ -16,12 +16,12 @@ 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 state_AIETH3DE_exports = {};
20
- __export(state_AIETH3DE_exports, {
19
+ var state_5KX6WBJH_exports = {};
20
+ __export(state_5KX6WBJH_exports, {
21
21
  default: () => state_default
22
22
  });
23
- module.exports = __toCommonJS(state_AIETH3DE_exports);
24
- var import_chunk_GRM6AGWI = require("./chunk-GRM6AGWI.cjs");
23
+ module.exports = __toCommonJS(state_5KX6WBJH_exports);
24
+ var import_chunk_IKIDS6XF = require("./chunk-IKIDS6XF.cjs");
25
25
  var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
26
26
  var import_signals_core = require("@preact/signals-core");
27
27
  var import_app_framework = require("@dxos/app-framework");
@@ -29,9 +29,11 @@ var import_keys = require("@dxos/keys");
29
29
  var import_local_storage = require("@dxos/local-storage");
30
30
  var import_util = require("@dxos/util");
31
31
  var state_default = (context) => {
32
+ const sections = context.requestCapabilities(import_chunk_IKIDS6XF.SpaceCapabilities.SettingsSection);
32
33
  const state = new import_local_storage.LocalStorageStore(import_chunk_6P2DB4QQ.SPACE_PLUGIN, {
33
34
  awaiting: void 0,
34
35
  spaceNames: {},
36
+ spaceSettingsOpenSections: sections.map((section) => section.id),
35
37
  viewersByObject: {},
36
38
  // TODO(wittjosiah): Stop using (Complex)Map inside reactive object.
37
39
  viewersByIdentity: new import_util.ComplexMap(import_keys.PublicKey.hash),
@@ -53,9 +55,9 @@ var state_default = (context) => {
53
55
  state.values.navigableCollections = enabled;
54
56
  }
55
57
  });
56
- return (0, import_app_framework.contributes)(import_chunk_GRM6AGWI.SpaceCapabilities.State, state.values, () => {
58
+ return (0, import_app_framework.contributes)(import_chunk_IKIDS6XF.SpaceCapabilities.State, state.values, () => {
57
59
  unsubscribe();
58
60
  state.close();
59
61
  });
60
62
  };
61
- //# sourceMappingURL=state-AIETH3DE.cjs.map
63
+ //# sourceMappingURL=state-5KX6WBJH.cjs.map