@dxos/plugin-space 0.8.4-main.dedc0f3 → 0.8.4-main.ead640a

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 (265) hide show
  1. package/dist/lib/browser/{CollectionMain-D2B75XBS.mjs → CollectionMain-AX7KKXWP.mjs} +4 -4
  2. package/dist/lib/browser/CollectionMain-AX7KKXWP.mjs.map +7 -0
  3. package/dist/lib/browser/ObjectDetailsPanel-MQBHG666.mjs +145 -0
  4. package/dist/lib/browser/ObjectDetailsPanel-MQBHG666.mjs.map +7 -0
  5. package/dist/lib/browser/ObjectSettings-KNUZFCGS.mjs +151 -0
  6. package/dist/lib/browser/ObjectSettings-KNUZFCGS.mjs.map +7 -0
  7. package/dist/lib/browser/RecordMain-MV535I2C.mjs +119 -0
  8. package/dist/lib/browser/RecordMain-MV535I2C.mjs.map +7 -0
  9. package/dist/lib/browser/{app-graph-builder-AFC6PNAB.mjs → app-graph-builder-6SNKPPKD.mjs} +61 -58
  10. package/dist/lib/browser/app-graph-builder-6SNKPPKD.mjs.map +7 -0
  11. package/dist/lib/browser/{app-graph-serializer-Q7QG4EKW.mjs → app-graph-serializer-YGUHIKUW.mjs} +14 -14
  12. package/dist/lib/browser/app-graph-serializer-YGUHIKUW.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-WZYRDFW7.mjs → chunk-2IAM4LHT.mjs} +12 -4
  14. package/dist/lib/browser/chunk-2IAM4LHT.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-S33AYKSS.mjs → chunk-AB7EFWFA.mjs} +47 -38
  16. package/dist/lib/browser/chunk-AB7EFWFA.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-EIXZABXD.mjs +19 -0
  18. package/dist/lib/browser/chunk-EIXZABXD.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-IRKDREHY.mjs +11 -0
  20. package/dist/lib/browser/chunk-IRKDREHY.mjs.map +7 -0
  21. package/dist/lib/browser/{chunk-6GRF7NEF.mjs → chunk-KXSDZJ5T.mjs} +258 -289
  22. package/dist/lib/browser/chunk-KXSDZJ5T.mjs.map +7 -0
  23. package/dist/lib/browser/chunk-RLI2IAHK.mjs +20 -0
  24. package/dist/lib/browser/chunk-RLI2IAHK.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-TIVKWB5L.mjs +166 -0
  26. package/dist/lib/browser/chunk-TIVKWB5L.mjs.map +7 -0
  27. package/dist/lib/browser/{chunk-URST7EEN.mjs → chunk-WS2PJDES.mjs} +13 -9
  28. package/dist/lib/browser/chunk-WS2PJDES.mjs.map +7 -0
  29. package/dist/lib/browser/{identity-created-T6ZNVE7S.mjs → identity-created-PW2BA46S.mjs} +3 -3
  30. package/dist/lib/browser/{identity-created-T6ZNVE7S.mjs.map → identity-created-PW2BA46S.mjs.map} +1 -1
  31. package/dist/lib/browser/index.mjs +34 -31
  32. package/dist/lib/browser/index.mjs.map +3 -3
  33. package/dist/lib/browser/{intent-resolver-CO262Q44.mjs → intent-resolver-XQSUBM5U.mjs} +30 -28
  34. package/dist/lib/browser/intent-resolver-XQSUBM5U.mjs.map +7 -0
  35. package/dist/lib/browser/meta.json +1 -1
  36. package/dist/lib/browser/{react-root-K4IVLFYZ.mjs → react-root-OIXDY6US.mjs} +11 -11
  37. package/dist/lib/browser/react-root-OIXDY6US.mjs.map +7 -0
  38. package/dist/lib/browser/{react-surface-TPUOK2LC.mjs → react-surface-I4BQVF7V.mjs} +42 -73
  39. package/dist/lib/browser/react-surface-I4BQVF7V.mjs.map +7 -0
  40. package/dist/lib/browser/{schema-defs-YDPFZELA.mjs → schema-defs-7R7RKCAE.mjs} +5 -5
  41. package/dist/lib/browser/{schema-defs-YDPFZELA.mjs.map → schema-defs-7R7RKCAE.mjs.map} +1 -1
  42. package/dist/lib/browser/{settings-ZYH2JWNI.mjs → settings-OBFJ67ZG.mjs} +5 -5
  43. package/dist/lib/browser/{settings-ZYH2JWNI.mjs.map → settings-OBFJ67ZG.mjs.map} +1 -1
  44. package/dist/lib/browser/{spaces-ready-3I5LISH4.mjs → spaces-ready-6YB55EJK.mjs} +8 -8
  45. package/dist/lib/browser/spaces-ready-6YB55EJK.mjs.map +7 -0
  46. package/dist/lib/browser/{state-2RGW7FQG.mjs → state-LSPRFIRO.mjs} +7 -7
  47. package/dist/lib/browser/state-LSPRFIRO.mjs.map +7 -0
  48. package/dist/lib/browser/types/index.mjs +2 -2
  49. package/dist/lib/node-esm/{CollectionMain-ZJIFCWKZ.mjs → CollectionMain-EU57SRYK.mjs} +4 -4
  50. package/dist/lib/node-esm/CollectionMain-EU57SRYK.mjs.map +7 -0
  51. package/dist/lib/node-esm/ObjectDetailsPanel-NABA2S56.mjs +146 -0
  52. package/dist/lib/node-esm/ObjectDetailsPanel-NABA2S56.mjs.map +7 -0
  53. package/dist/lib/node-esm/ObjectSettings-GXGTITF5.mjs +152 -0
  54. package/dist/lib/node-esm/ObjectSettings-GXGTITF5.mjs.map +7 -0
  55. package/dist/lib/node-esm/RecordMain-ME2BU65P.mjs +120 -0
  56. package/dist/lib/node-esm/RecordMain-ME2BU65P.mjs.map +7 -0
  57. package/dist/lib/node-esm/{app-graph-builder-OW2EBYRI.mjs → app-graph-builder-PYG5N3FB.mjs} +61 -58
  58. package/dist/lib/node-esm/app-graph-builder-PYG5N3FB.mjs.map +7 -0
  59. package/dist/lib/node-esm/{app-graph-serializer-6PGC5WR5.mjs → app-graph-serializer-FVQ2WB3U.mjs} +14 -14
  60. package/dist/lib/node-esm/app-graph-serializer-FVQ2WB3U.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-RXDT5LA5.mjs → chunk-4F25JKVT.mjs} +13 -9
  62. package/dist/lib/node-esm/chunk-4F25JKVT.mjs.map +7 -0
  63. package/dist/lib/node-esm/{chunk-LGNPMOXU.mjs → chunk-DNRBVD2G.mjs} +12 -4
  64. package/dist/lib/node-esm/chunk-DNRBVD2G.mjs.map +7 -0
  65. package/dist/lib/node-esm/chunk-GHL2523Z.mjs +167 -0
  66. package/dist/lib/node-esm/chunk-GHL2523Z.mjs.map +7 -0
  67. package/dist/lib/node-esm/chunk-H5UPFRRH.mjs +21 -0
  68. package/dist/lib/node-esm/chunk-H5UPFRRH.mjs.map +7 -0
  69. package/dist/lib/node-esm/{chunk-HWNG4MEU.mjs → chunk-MWNATOXL.mjs} +2 -4
  70. package/dist/lib/node-esm/chunk-MWNATOXL.mjs.map +7 -0
  71. package/dist/lib/node-esm/{chunk-TEUN2E4F.mjs → chunk-QHAVT7PC.mjs} +47 -38
  72. package/dist/lib/node-esm/chunk-QHAVT7PC.mjs.map +7 -0
  73. package/dist/lib/node-esm/chunk-SVFKU7EW.mjs +20 -0
  74. package/dist/lib/node-esm/chunk-SVFKU7EW.mjs.map +7 -0
  75. package/dist/lib/node-esm/{chunk-NMCD2PSG.mjs → chunk-X55EOSEF.mjs} +258 -289
  76. package/dist/lib/node-esm/chunk-X55EOSEF.mjs.map +7 -0
  77. package/dist/lib/node-esm/{identity-created-AL7NNCKH.mjs → identity-created-MWTLGQRU.mjs} +3 -3
  78. package/dist/lib/node-esm/{identity-created-AL7NNCKH.mjs.map → identity-created-MWTLGQRU.mjs.map} +1 -1
  79. package/dist/lib/node-esm/index.mjs +34 -31
  80. package/dist/lib/node-esm/index.mjs.map +3 -3
  81. package/dist/lib/node-esm/{intent-resolver-EXPK4B76.mjs → intent-resolver-27YPEIWX.mjs} +30 -28
  82. package/dist/lib/node-esm/intent-resolver-27YPEIWX.mjs.map +7 -0
  83. package/dist/lib/node-esm/meta.json +1 -1
  84. package/dist/lib/node-esm/{react-root-4OQ7MPGW.mjs → react-root-K7YPW753.mjs} +11 -11
  85. package/dist/lib/node-esm/react-root-K7YPW753.mjs.map +7 -0
  86. package/dist/lib/node-esm/{react-surface-WXEXIDB7.mjs → react-surface-F5LL3JUY.mjs} +42 -73
  87. package/dist/lib/node-esm/react-surface-F5LL3JUY.mjs.map +7 -0
  88. package/dist/lib/node-esm/{schema-defs-OYBCWKAS.mjs → schema-defs-RYG5DSUE.mjs} +5 -5
  89. package/dist/lib/node-esm/{schema-defs-OYBCWKAS.mjs.map → schema-defs-RYG5DSUE.mjs.map} +1 -1
  90. package/dist/lib/node-esm/{settings-2RYFMMTP.mjs → settings-QGWWNMMZ.mjs} +5 -5
  91. package/dist/lib/node-esm/{settings-2RYFMMTP.mjs.map → settings-QGWWNMMZ.mjs.map} +1 -1
  92. package/dist/lib/node-esm/{spaces-ready-JAP22P57.mjs → spaces-ready-EPHL7RGX.mjs} +8 -8
  93. package/dist/lib/node-esm/spaces-ready-EPHL7RGX.mjs.map +7 -0
  94. package/dist/lib/node-esm/{state-7VBVBGNS.mjs → state-TCGOPLRO.mjs} +7 -7
  95. package/dist/lib/node-esm/state-TCGOPLRO.mjs.map +7 -0
  96. package/dist/lib/node-esm/types/index.mjs +2 -2
  97. package/dist/types/src/SpacePlugin.d.ts +1 -1
  98. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  99. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  100. package/dist/types/src/capabilities/capabilities.d.ts +4 -3
  101. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  102. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  103. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +1 -1
  104. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  105. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +80 -1
  106. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  107. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +1 -1
  108. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  109. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +1 -1
  110. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  111. package/dist/types/src/components/JoinDialog.d.ts +1 -1
  112. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  113. package/dist/types/src/components/MembersContainer.stories.d.ts +80 -1
  114. package/dist/types/src/components/MembersContainer.stories.d.ts.map +1 -1
  115. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts +9 -0
  116. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts.map +1 -0
  117. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts +10 -0
  118. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts.map +1 -0
  119. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts +3 -0
  120. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts.map +1 -0
  121. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +1 -1
  122. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
  123. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts +1500 -0
  124. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts.map +1 -0
  125. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts +1 -1
  126. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +1 -1
  127. package/dist/types/src/components/ObjectSettings/index.d.ts +2 -1
  128. package/dist/types/src/components/ObjectSettings/index.d.ts.map +1 -1
  129. package/dist/types/src/components/PopoverRenameObject.d.ts +1 -1
  130. package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
  131. package/dist/types/src/components/PopoverRenameSpace.d.ts +1 -1
  132. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
  133. package/dist/types/src/components/RecordMain.d.ts +1 -1
  134. package/dist/types/src/components/RecordMain.d.ts.map +1 -1
  135. package/dist/types/src/components/SpacePresence.stories.d.ts +82 -3
  136. package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
  137. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  138. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +80 -1
  139. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
  140. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  141. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +81 -2
  142. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  143. package/dist/types/src/components/ViewEditor.d.ts.map +1 -1
  144. package/dist/types/src/components/index.d.ts +4 -4
  145. package/dist/types/src/components/index.d.ts.map +1 -1
  146. package/dist/types/src/events.d.ts.map +1 -1
  147. package/dist/types/src/hooks/index.d.ts +1 -0
  148. package/dist/types/src/hooks/index.d.ts.map +1 -1
  149. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +1 -1
  150. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  151. package/dist/types/src/hooks/usePath.d.ts +1 -1
  152. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  153. package/dist/types/src/hooks/useTypeOptions.d.ts +10 -0
  154. package/dist/types/src/hooks/useTypeOptions.d.ts.map +1 -0
  155. package/dist/types/src/meta.d.ts +0 -1
  156. package/dist/types/src/meta.d.ts.map +1 -1
  157. package/dist/types/src/translations.d.ts +80 -0
  158. package/dist/types/src/translations.d.ts.map +1 -1
  159. package/dist/types/src/types/types.d.ts +54 -52
  160. package/dist/types/src/types/types.d.ts.map +1 -1
  161. package/dist/types/src/util.d.ts +6 -3
  162. package/dist/types/src/util.d.ts.map +1 -1
  163. package/dist/types/tsconfig.tsbuildinfo +1 -1
  164. package/package.json +61 -59
  165. package/src/SpacePlugin.ts +206 -200
  166. package/src/capabilities/app-graph-builder.ts +53 -46
  167. package/src/capabilities/app-graph-serializer.ts +7 -7
  168. package/src/capabilities/capabilities.ts +15 -10
  169. package/src/capabilities/intent-resolver.ts +19 -19
  170. package/src/capabilities/react-root.tsx +2 -2
  171. package/src/capabilities/react-surface.tsx +31 -102
  172. package/src/capabilities/spaces-ready.ts +1 -1
  173. package/src/capabilities/state.ts +2 -2
  174. package/src/components/AwaitingObject.tsx +2 -2
  175. package/src/components/CollectionMain.tsx +2 -2
  176. package/src/components/CollectionSection.tsx +2 -2
  177. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +5 -5
  178. package/src/components/CreateDialog/CreateObjectDialog.tsx +8 -7
  179. package/src/components/CreateDialog/CreateObjectPanel.tsx +6 -6
  180. package/src/components/CreateDialog/CreateSpaceDialog.tsx +5 -4
  181. package/src/components/JoinDialog.tsx +6 -6
  182. package/src/components/MembersContainer.stories.tsx +6 -5
  183. package/src/components/MembersContainer.tsx +6 -6
  184. package/src/components/MenuFooter.tsx +2 -2
  185. package/src/components/{ObjectDetailsPanel.tsx → ObjectDetailsPanel/ObjectDetailsPanel.tsx} +9 -36
  186. package/src/components/ObjectDetailsPanel/ObjectForm.tsx +75 -0
  187. package/src/components/ObjectDetailsPanel/index.ts +7 -0
  188. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +3 -3
  189. package/src/components/ObjectSettings/BaseObjectSettings.stories.tsx +63 -0
  190. package/src/components/ObjectSettings/BaseObjectSettings.tsx +96 -26
  191. package/src/components/ObjectSettings/ForeignKeys.tsx +3 -3
  192. package/src/components/ObjectSettings/index.ts +3 -1
  193. package/src/components/PersistenceStatus.tsx +2 -2
  194. package/src/components/PopoverRenameObject.tsx +3 -3
  195. package/src/components/PopoverRenameSpace.tsx +3 -3
  196. package/src/components/RecordMain.tsx +61 -9
  197. package/src/components/SchemaContainer.tsx +3 -3
  198. package/src/components/SpacePluginSettings.tsx +2 -2
  199. package/src/components/SpacePresence.stories.tsx +22 -24
  200. package/src/components/SpacePresence.tsx +3 -3
  201. package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +9 -4
  202. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +13 -12
  203. package/src/components/SyncStatus/InlineSyncStatus.tsx +7 -7
  204. package/src/components/SyncStatus/SyncStatus.stories.tsx +4 -5
  205. package/src/components/SyncStatus/SyncStatus.tsx +92 -5
  206. package/src/components/ViewEditor.tsx +6 -7
  207. package/src/components/index.ts +1 -1
  208. package/src/events.ts +6 -6
  209. package/src/hooks/index.ts +1 -0
  210. package/src/hooks/useInputSurfaceLookup.tsx +1 -1
  211. package/src/hooks/usePath.ts +1 -1
  212. package/src/hooks/useTypeOptions.ts +59 -0
  213. package/src/meta.ts +1 -3
  214. package/src/translations.ts +10 -1
  215. package/src/types/types.ts +11 -7
  216. package/src/util.tsx +46 -32
  217. package/dist/lib/browser/CollectionMain-D2B75XBS.mjs.map +0 -7
  218. package/dist/lib/browser/ObjectDetailsPanel-J7KGPJJK.mjs +0 -90
  219. package/dist/lib/browser/ObjectDetailsPanel-J7KGPJJK.mjs.map +0 -7
  220. package/dist/lib/browser/RecordMain-TEBGAVSL.mjs +0 -68
  221. package/dist/lib/browser/RecordMain-TEBGAVSL.mjs.map +0 -7
  222. package/dist/lib/browser/app-graph-builder-AFC6PNAB.mjs.map +0 -7
  223. package/dist/lib/browser/app-graph-serializer-Q7QG4EKW.mjs.map +0 -7
  224. package/dist/lib/browser/chunk-6GRF7NEF.mjs.map +0 -7
  225. package/dist/lib/browser/chunk-CBYL62HG.mjs +0 -19
  226. package/dist/lib/browser/chunk-CBYL62HG.mjs.map +0 -7
  227. package/dist/lib/browser/chunk-ELJDGQTO.mjs +0 -94
  228. package/dist/lib/browser/chunk-ELJDGQTO.mjs.map +0 -7
  229. package/dist/lib/browser/chunk-FBCGT5YY.mjs +0 -13
  230. package/dist/lib/browser/chunk-FBCGT5YY.mjs.map +0 -7
  231. package/dist/lib/browser/chunk-S33AYKSS.mjs.map +0 -7
  232. package/dist/lib/browser/chunk-TUQZO5P4.mjs +0 -20
  233. package/dist/lib/browser/chunk-TUQZO5P4.mjs.map +0 -7
  234. package/dist/lib/browser/chunk-URST7EEN.mjs.map +0 -7
  235. package/dist/lib/browser/chunk-WZYRDFW7.mjs.map +0 -7
  236. package/dist/lib/browser/intent-resolver-CO262Q44.mjs.map +0 -7
  237. package/dist/lib/browser/react-root-K4IVLFYZ.mjs.map +0 -7
  238. package/dist/lib/browser/react-surface-TPUOK2LC.mjs.map +0 -7
  239. package/dist/lib/browser/spaces-ready-3I5LISH4.mjs.map +0 -7
  240. package/dist/lib/browser/state-2RGW7FQG.mjs.map +0 -7
  241. package/dist/lib/node-esm/CollectionMain-ZJIFCWKZ.mjs.map +0 -7
  242. package/dist/lib/node-esm/ObjectDetailsPanel-7ADOXZ5W.mjs +0 -91
  243. package/dist/lib/node-esm/ObjectDetailsPanel-7ADOXZ5W.mjs.map +0 -7
  244. package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs +0 -70
  245. package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs.map +0 -7
  246. package/dist/lib/node-esm/app-graph-builder-OW2EBYRI.mjs.map +0 -7
  247. package/dist/lib/node-esm/app-graph-serializer-6PGC5WR5.mjs.map +0 -7
  248. package/dist/lib/node-esm/chunk-FJZNSJC4.mjs +0 -20
  249. package/dist/lib/node-esm/chunk-FJZNSJC4.mjs.map +0 -7
  250. package/dist/lib/node-esm/chunk-HC677WUJ.mjs +0 -21
  251. package/dist/lib/node-esm/chunk-HC677WUJ.mjs.map +0 -7
  252. package/dist/lib/node-esm/chunk-HWNG4MEU.mjs.map +0 -7
  253. package/dist/lib/node-esm/chunk-LGNPMOXU.mjs.map +0 -7
  254. package/dist/lib/node-esm/chunk-NMCD2PSG.mjs.map +0 -7
  255. package/dist/lib/node-esm/chunk-Q6AAQLQG.mjs +0 -96
  256. package/dist/lib/node-esm/chunk-Q6AAQLQG.mjs.map +0 -7
  257. package/dist/lib/node-esm/chunk-RXDT5LA5.mjs.map +0 -7
  258. package/dist/lib/node-esm/chunk-TEUN2E4F.mjs.map +0 -7
  259. package/dist/lib/node-esm/intent-resolver-EXPK4B76.mjs.map +0 -7
  260. package/dist/lib/node-esm/react-root-4OQ7MPGW.mjs.map +0 -7
  261. package/dist/lib/node-esm/react-surface-WXEXIDB7.mjs.map +0 -7
  262. package/dist/lib/node-esm/spaces-ready-JAP22P57.mjs.map +0 -7
  263. package/dist/lib/node-esm/state-7VBVBGNS.mjs.map +0 -7
  264. package/dist/types/src/components/ObjectDetailsPanel.d.ts +0 -9
  265. package/dist/types/src/components/ObjectDetailsPanel.d.ts.map +0 -1
@@ -1,29 +1,29 @@
1
1
  import {
2
2
  AwaitingObject
3
- } from "./chunk-6GRF7NEF.mjs";
4
- import "./chunk-ELJDGQTO.mjs";
3
+ } from "./chunk-KXSDZJ5T.mjs";
4
+ import "./chunk-TIVKWB5L.mjs";
5
5
  import {
6
6
  SpaceCapabilities
7
- } from "./chunk-TUQZO5P4.mjs";
8
- import "./chunk-S33AYKSS.mjs";
9
- import "./chunk-URST7EEN.mjs";
7
+ } from "./chunk-RLI2IAHK.mjs";
8
+ import "./chunk-AB7EFWFA.mjs";
9
+ import "./chunk-WS2PJDES.mjs";
10
10
  import {
11
- SPACE_PLUGIN
12
- } from "./chunk-FBCGT5YY.mjs";
11
+ meta
12
+ } from "./chunk-IRKDREHY.mjs";
13
13
 
14
14
  // src/capabilities/react-root.tsx
15
15
  import React from "react";
16
16
  import { Capabilities, contributes, useCapability } from "@dxos/app-framework";
17
- var react_root_default = () => contributes(Capabilities.ReactRoot, {
18
- id: SPACE_PLUGIN,
17
+ var react_root_default = (() => contributes(Capabilities.ReactRoot, {
18
+ id: meta.id,
19
19
  root: () => {
20
20
  const state = useCapability(SpaceCapabilities.State);
21
21
  return state.awaiting ? /* @__PURE__ */ React.createElement(AwaitingObject, {
22
22
  id: state.awaiting
23
23
  }) : null;
24
24
  }
25
- });
25
+ }));
26
26
  export {
27
27
  react_root_default as default
28
28
  };
29
- //# sourceMappingURL=react-root-K4IVLFYZ.mjs.map
29
+ //# sourceMappingURL=react-root-OIXDY6US.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-root.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, useCapability } from '@dxos/app-framework';\n\nimport { AwaitingObject } from '../components';\nimport { meta } from '../meta';\n\nimport { SpaceCapabilities } from './capabilities';\n\nexport default () =>\n contributes(Capabilities.ReactRoot, {\n id: meta.id,\n root: () => {\n const state = useCapability(SpaceCapabilities.State);\n return state.awaiting ? <AwaitingObject id={state.awaiting} /> : null;\n },\n });\n"],
5
+ "mappings": ";;;;;;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,cAAcC,aAAaC,qBAAqB;AAOzD,IAAA,sBAAe,MACbC,YAAYC,aAAaC,WAAW;EAClCC,IAAIC,KAAKD;EACTE,MAAM,MAAA;AACJ,UAAMC,QAAQC,cAAcC,kBAAkBC,KAAK;AACnD,WAAOH,MAAMI,WAAW,sBAAA,cAACC,gBAAAA;MAAeR,IAAIG,MAAMI;SAAe;EACnE;AACF,CAAA;",
6
+ "names": ["React", "Capabilities", "contributes", "useCapability", "contributes", "Capabilities", "ReactRoot", "id", "meta", "root", "state", "useCapability", "SpaceCapabilities", "State", "awaiting", "AwaitingObject"]
7
+ }
@@ -24,30 +24,30 @@ import {
24
24
  SpaceSettingsContainer,
25
25
  SyncStatus,
26
26
  ViewEditor
27
- } from "./chunk-6GRF7NEF.mjs";
28
- import "./chunk-ELJDGQTO.mjs";
27
+ } from "./chunk-KXSDZJ5T.mjs";
28
+ import {
29
+ useTypeOptions
30
+ } from "./chunk-TIVKWB5L.mjs";
29
31
  import {
30
32
  SpaceCapabilities
31
- } from "./chunk-TUQZO5P4.mjs";
32
- import "./chunk-S33AYKSS.mjs";
33
+ } from "./chunk-RLI2IAHK.mjs";
34
+ import "./chunk-AB7EFWFA.mjs";
33
35
  import {
34
36
  HueAnnotationId,
35
37
  IconAnnotationId
36
- } from "./chunk-URST7EEN.mjs";
38
+ } from "./chunk-WS2PJDES.mjs";
37
39
  import {
38
- SPACE_PLUGIN
39
- } from "./chunk-FBCGT5YY.mjs";
40
+ meta
41
+ } from "./chunk-IRKDREHY.mjs";
40
42
 
41
43
  // src/capabilities/react-surface.tsx
42
- import React, { useCallback, useMemo } from "react";
43
- import { Capabilities, Surface, contributes, createSurface, useCapabilities, useCapability, useLayout } from "@dxos/app-framework";
44
+ import React, { useCallback } from "react";
45
+ import { Capabilities, Surface, contributes, createSurface, useCapability, useLayout } from "@dxos/app-framework";
44
46
  import { Obj, Type } from "@dxos/echo";
45
47
  import { findAnnotation } from "@dxos/effect";
46
48
  import { SettingsStore } from "@dxos/local-storage";
47
- import { ClientCapabilities } from "@dxos/plugin-client";
48
- import { useClient } from "@dxos/react-client";
49
49
  import { SpaceState, fullyQualifiedId, getSpace, isLiveObject, isSpace, parseId, useSpace } from "@dxos/react-client/echo";
50
- import { Input, useTranslation } from "@dxos/react-ui";
50
+ import { Input } from "@dxos/react-ui";
51
51
  import { SelectInput } from "@dxos/react-ui-form";
52
52
  import { HuePicker, IconPicker } from "@dxos/react-ui-pickers";
53
53
  import { DataType, TypenameAnnotationId } from "@dxos/schema";
@@ -55,9 +55,9 @@ var OMIT = [
55
55
  DataType.Collection.typename,
56
56
  Type.getTypename(DataType.QueryCollection)
57
57
  ];
58
- var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilities.ReactSurface, [
58
+ var react_surface_default = (({ createInvitationUrl }) => contributes(Capabilities.ReactSurface, [
59
59
  createSurface({
60
- id: `${SPACE_PLUGIN}/article`,
60
+ id: `${meta.id}/article`,
61
61
  role: "article",
62
62
  filter: (data) => (
63
63
  // TODO(wittjosiah): Need to avoid shotgun parsing space state everywhere.
@@ -73,7 +73,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
73
73
  })
74
74
  }),
75
75
  createSurface({
76
- id: `${SPACE_PLUGIN}/record-article`,
76
+ id: `${meta.id}/record-article`,
77
77
  role: "article",
78
78
  position: "fallback",
79
79
  filter: (data) => Obj.isObject(data.subject),
@@ -82,7 +82,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
82
82
  })
83
83
  }),
84
84
  createSurface({
85
- id: `${SPACE_PLUGIN}/collection-fallback`,
85
+ id: `${meta.id}/collection-fallback`,
86
86
  role: "article",
87
87
  position: "fallback",
88
88
  filter: (data) => Obj.instanceOf(DataType.Collection, data.subject),
@@ -91,15 +91,15 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
91
91
  })
92
92
  }),
93
93
  createSurface({
94
- id: `${SPACE_PLUGIN}/plugin-settings`,
94
+ id: `${meta.id}/plugin-settings`,
95
95
  role: "article",
96
- filter: (data) => data.subject instanceof SettingsStore && data.subject.prefix === SPACE_PLUGIN,
96
+ filter: (data) => data.subject instanceof SettingsStore && data.subject.prefix === meta.id,
97
97
  component: ({ data: { subject } }) => /* @__PURE__ */ React.createElement(SpacePluginSettings, {
98
98
  settings: subject.value
99
99
  })
100
100
  }),
101
101
  createSurface({
102
- id: `${SPACE_PLUGIN}/companion/object-settings`,
102
+ id: `${meta.id}/companion/object-settings`,
103
103
  role: "article",
104
104
  filter: (data) => Obj.isObject(data.companionTo) && data.subject === "settings",
105
105
  component: ({ data, role }) => /* @__PURE__ */ React.createElement(ObjectSettingsContainer, {
@@ -108,9 +108,9 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
108
108
  })
109
109
  }),
110
110
  createSurface({
111
- id: `${SPACE_PLUGIN}/space-settings-properties`,
111
+ id: `${meta.id}/space-settings-properties`,
112
112
  role: "article",
113
- filter: (data) => data.subject === `${SPACE_PLUGIN}/properties`,
113
+ filter: (data) => data.subject === `${meta.id}/properties`,
114
114
  component: () => {
115
115
  const layout = useLayout();
116
116
  const { spaceId } = parseId(layout.workspace);
@@ -124,10 +124,10 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
124
124
  }
125
125
  }),
126
126
  createSurface({
127
- id: `${SPACE_PLUGIN}/space-settings-members`,
127
+ id: `${meta.id}/space-settings-members`,
128
128
  role: "article",
129
129
  position: "hoist",
130
- filter: (data) => data.subject === `${SPACE_PLUGIN}/members`,
130
+ filter: (data) => data.subject === `${meta.id}/members`,
131
131
  component: () => {
132
132
  const layout = useLayout();
133
133
  const { spaceId } = parseId(layout.workspace);
@@ -142,9 +142,9 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
142
142
  }
143
143
  }),
144
144
  createSurface({
145
- id: `${SPACE_PLUGIN}/space-settings-schema`,
145
+ id: `${meta.id}/space-settings-schema`,
146
146
  role: "article",
147
- filter: (data) => data.subject === `${SPACE_PLUGIN}/schema`,
147
+ filter: (data) => data.subject === `${meta.id}/schema`,
148
148
  component: () => {
149
149
  const layout = useLayout();
150
150
  const { spaceId } = parseId(layout.workspace);
@@ -158,7 +158,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
158
158
  }
159
159
  }),
160
160
  createSurface({
161
- id: `${SPACE_PLUGIN}/selected-objects`,
161
+ id: `${meta.id}/selected-objects`,
162
162
  role: "article",
163
163
  filter: (data) => Obj.instanceOf(DataType.View, data.companionTo) && data.subject === "selected-objects",
164
164
  component: ({ data }) => /* @__PURE__ */ React.createElement(ObjectDetailsPanel, {
@@ -186,7 +186,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
186
186
  component: ({ data }) => /* @__PURE__ */ React.createElement(CreateObjectDialog, data.props)
187
187
  }),
188
188
  createSurface({
189
- id: `${SPACE_PLUGIN}/create-initial-space-form-[hue]`,
189
+ id: `${meta.id}/create-initial-space-form-[hue]`,
190
190
  role: "form-input",
191
191
  filter: (data) => {
192
192
  const annotation = findAnnotation(data.schema.ast, HueAnnotationId);
@@ -209,7 +209,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
209
209
  }
210
210
  }),
211
211
  createSurface({
212
- id: `${SPACE_PLUGIN}/create-initial-space-form-[icon]`,
212
+ id: `${meta.id}/create-initial-space-form-[icon]`,
213
213
  role: "form-input",
214
214
  filter: (data) => {
215
215
  const annotation = findAnnotation(data.schema.ast, IconAnnotationId);
@@ -232,7 +232,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
232
232
  }
233
233
  }),
234
234
  createSurface({
235
- id: `${SPACE_PLUGIN}/typename-form-input`,
235
+ id: `${meta.id}/typename-form-input`,
236
236
  role: "form-input",
237
237
  filter: (data) => {
238
238
  if (data.prop !== "typename") {
@@ -242,44 +242,13 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
242
242
  return !!annotation;
243
243
  },
244
244
  component: ({ data: { schema, target }, ...inputProps }) => {
245
- const { t } = useTranslation();
246
- const client = useClient();
247
245
  const props = inputProps;
248
246
  const space = isSpace(target) ? target : getSpace(target);
249
- if (!space) {
250
- return null;
251
- }
252
247
  const annotation = findAnnotation(schema.ast, TypenameAnnotationId);
253
- const schemaWhitelists = useCapabilities(ClientCapabilities.SchemaWhiteList);
254
- const whitelistedTypenames = useMemo(() => new Set(schemaWhitelists.flatMap((typeArray) => typeArray.map((type) => Type.getTypename(type)))), [
255
- schemaWhitelists
256
- ]);
257
- const objectForms = useCapabilities(SpaceCapabilities.ObjectForm);
258
- const objectFormTypenames = useMemo(() => new Set(objectForms.map((form) => Type.getTypename(form.objectSchema)).filter((typename) => !OMIT.includes(typename) && !typename.endsWith("View"))), [
259
- objectForms
260
- ]);
261
- const fixed = client.graph.schemaRegistry.schemas.filter((schema2) => {
262
- const limitedStatic = annotation.includes("limited-static") && whitelistedTypenames.has(Type.getTypename(schema2));
263
- const unusedStatic = annotation.includes("unused-static") && whitelistedTypenames.has(Type.getTypename(schema2)) && !space.properties.staticRecords?.includes(Type.getTypename(schema2));
264
- const usedStatic = annotation.includes("used-static") && whitelistedTypenames.has(Type.getTypename(schema2)) && space.properties.staticRecords?.includes(Type.getTypename(schema2));
265
- const objectForm = annotation.includes("object-form") && objectFormTypenames.has(Type.getTypename(schema2));
266
- return annotation.includes("static") || limitedStatic || unusedStatic || usedStatic || objectForm;
248
+ const options = useTypeOptions({
249
+ space,
250
+ annotation
267
251
  });
268
- const dynamic = space?.db.schemaRegistry.query().runSync();
269
- const typenames = Array.from(/* @__PURE__ */ new Set([
270
- ...annotation.includes("limited-static") || annotation.includes("unused-static") || annotation.includes("used-static") || annotation.includes("static") || annotation.includes("object-form") ? fixed.map((schema2) => Type.getTypename(schema2)) : [],
271
- ...annotation.includes("dynamic") ? dynamic.map((schema2) => schema2.typename) : []
272
- ])).sort();
273
- const options = useMemo(() => typenames.map((typename) => ({
274
- value: typename,
275
- label: t("typename label", {
276
- ns: typename,
277
- defaultValue: typename
278
- })
279
- })).toSorted((a, b) => a.label.localeCompare(b.label)), [
280
- t,
281
- typenames
282
- ]);
283
252
  return /* @__PURE__ */ React.createElement(SelectInput, {
284
253
  ...props,
285
254
  options
@@ -287,7 +256,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
287
256
  }
288
257
  }),
289
258
  createSurface({
290
- id: `${SPACE_PLUGIN}/object-settings`,
259
+ id: `${meta.id}/object-settings`,
291
260
  role: "object-settings",
292
261
  filter: (data) => Obj.instanceOf(DataType.View, data.subject),
293
262
  component: ({ data }) => /* @__PURE__ */ React.createElement(ViewEditor, {
@@ -311,7 +280,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
311
280
  })
312
281
  }),
313
282
  createSurface({
314
- id: `${SPACE_PLUGIN}/menu-footer`,
283
+ id: `${meta.id}/menu-footer`,
315
284
  role: "menu-footer",
316
285
  filter: (data) => Obj.isObject(data.subject),
317
286
  component: ({ data }) => /* @__PURE__ */ React.createElement(MenuFooter, {
@@ -319,7 +288,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
319
288
  })
320
289
  }),
321
290
  createSurface({
322
- id: `${SPACE_PLUGIN}/navtree-presence`,
291
+ id: `${meta.id}/navtree-presence`,
323
292
  role: "navtree-item-end",
324
293
  filter: (data) => typeof data.id === "string" && Obj.isObject(data.subject),
325
294
  component: ({ data }) => {
@@ -333,7 +302,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
333
302
  }),
334
303
  // TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.
335
304
  createSurface({
336
- id: `${SPACE_PLUGIN}/navtree-presence-fallback`,
305
+ id: `${meta.id}/navtree-presence-fallback`,
337
306
  role: "navtree-item-end",
338
307
  position: "fallback",
339
308
  filter: (data) => typeof data.id === "string",
@@ -344,7 +313,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
344
313
  }),
345
314
  // TODO(wittjosiah): Broken?
346
315
  createSurface({
347
- id: `${SPACE_PLUGIN}/navtree-sync-status`,
316
+ id: `${meta.id}/navtree-sync-status`,
348
317
  role: "navtree-item-end",
349
318
  filter: (data) => isSpace(data.subject),
350
319
  component: ({ data }) => /* @__PURE__ */ React.createElement(InlineSyncStatus, {
@@ -353,7 +322,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
353
322
  })
354
323
  }),
355
324
  createSurface({
356
- id: `${SPACE_PLUGIN}/navbar-presence`,
325
+ id: `${meta.id}/navbar-presence`,
357
326
  role: "navbar-end",
358
327
  position: "hoist",
359
328
  filter: (data) => isSpace(data.subject) || Obj.isObject(data.subject),
@@ -366,7 +335,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
366
335
  }
367
336
  }),
368
337
  createSurface({
369
- id: `${SPACE_PLUGIN}/collection-section`,
338
+ id: `${meta.id}/collection-section`,
370
339
  role: "section",
371
340
  filter: (data) => Obj.instanceOf(DataType.Collection, data.subject),
372
341
  component: ({ data }) => /* @__PURE__ */ React.createElement(CollectionSection, {
@@ -374,12 +343,12 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
374
343
  })
375
344
  }),
376
345
  createSurface({
377
- id: `${SPACE_PLUGIN}/status`,
346
+ id: `${meta.id}/status`,
378
347
  role: "status",
379
348
  component: () => /* @__PURE__ */ React.createElement(SyncStatus, null)
380
349
  })
381
- ]);
350
+ ]));
382
351
  export {
383
352
  react_surface_default as default
384
353
  };
385
- //# sourceMappingURL=react-surface-TPUOK2LC.mjs.map
354
+ //# sourceMappingURL=react-surface-I4BQVF7V.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport type * as Schema from 'effect/Schema';\nimport React, { useCallback } from 'react';\n\nimport { Capabilities, Surface, contributes, createSurface, useCapability, useLayout } from '@dxos/app-framework';\nimport { Obj, Type } from '@dxos/echo';\nimport { findAnnotation } from '@dxos/effect';\nimport { SettingsStore } from '@dxos/local-storage';\nimport {\n type Space,\n SpaceState,\n fullyQualifiedId,\n getSpace,\n isLiveObject,\n isSpace,\n parseId,\n useSpace,\n} from '@dxos/react-client/echo';\nimport { Input } from '@dxos/react-ui';\nimport { type InputProps, SelectInput } from '@dxos/react-ui-form';\nimport { HuePicker, IconPicker } from '@dxos/react-ui-pickers';\nimport { DataType, type TypenameAnnotation, TypenameAnnotationId } from '@dxos/schema';\nimport { type JoinPanelProps } from '@dxos/shell/react';\n\nimport {\n CREATE_OBJECT_DIALOG,\n CREATE_SPACE_DIALOG,\n CollectionMain,\n CollectionSection,\n CreateObjectDialog,\n type CreateObjectDialogProps,\n CreateSpaceDialog,\n InlineSyncStatus,\n JOIN_DIALOG,\n JoinDialog,\n MembersContainer,\n MenuFooter,\n ObjectDetailsPanel,\n ObjectSettingsContainer,\n POPOVER_RENAME_OBJECT,\n POPOVER_RENAME_SPACE,\n PopoverRenameObject,\n PopoverRenameSpace,\n RecordMain,\n SchemaContainer,\n SmallPresenceLive,\n SpacePluginSettings,\n SpacePresence,\n SpaceSettingsContainer,\n SyncStatus,\n ViewEditor,\n} from '../components';\nimport { useTypeOptions } from '../hooks';\nimport { meta } from '../meta';\nimport { HueAnnotationId, IconAnnotationId, type SpaceSettingsProps } from '../types';\n\nimport { SpaceCapabilities } from './capabilities';\n\ntype ReactSurfaceOptions = {\n createInvitationUrl: (invitationCode: string) => string;\n};\n\nconst OMIT = [DataType.Collection.typename, Type.getTypename(DataType.QueryCollection)];\n\nexport default ({ createInvitationUrl }: ReactSurfaceOptions) =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${meta.id}/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={{\n id: data.subject.id,\n subject: data.subject.properties[DataType.Collection.typename]?.target,\n }}\n role={role}\n {...rest}\n />\n ),\n }),\n createSurface({\n id: `${meta.id}/record-article`,\n role: 'article',\n position: 'fallback',\n filter: (data): data is { subject: Obj.Any } => Obj.isObject(data.subject),\n component: ({ data }) => <RecordMain record={data.subject} />,\n }),\n createSurface({\n id: `${meta.id}/collection-fallback`,\n role: 'article',\n position: 'fallback',\n filter: (data): data is { subject: DataType.Collection } => Obj.instanceOf(DataType.Collection, data.subject),\n component: ({ data }) => <CollectionMain collection={data.subject} />,\n }),\n createSurface({\n id: `${meta.id}/plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<SpaceSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === meta.id,\n component: ({ data: { subject } }) => <SpacePluginSettings settings={subject.value} />,\n }),\n createSurface({\n id: `${meta.id}/companion/object-settings`,\n role: 'article',\n filter: (data): data is { companionTo: Obj.Any } => Obj.isObject(data.companionTo) && data.subject === 'settings',\n component: ({ data, role }) => <ObjectSettingsContainer object={data.companionTo} role={role} />,\n }),\n createSurface({\n id: `${meta.id}/space-settings-properties`,\n role: 'article',\n filter: (data): data is { subject: string } => data.subject === `${meta.id}/properties`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <SpaceSettingsContainer space={space} />;\n },\n }),\n createSurface({\n id: `${meta.id}/space-settings-members`,\n role: 'article',\n position: 'hoist',\n filter: (data): data is { subject: string } => data.subject === `${meta.id}/members`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <MembersContainer space={space} createInvitationUrl={createInvitationUrl} />;\n },\n }),\n createSurface({\n id: `${meta.id}/space-settings-schema`,\n role: 'article',\n filter: (data): data is { subject: string } => data.subject === `${meta.id}/schema`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <SchemaContainer space={space} />;\n },\n }),\n createSurface({\n id: `${meta.id}/selected-objects`,\n role: 'article',\n filter: (data): data is { companionTo: DataType.View; subject: 'selected-objects' } =>\n Obj.instanceOf(DataType.View, data.companionTo) && data.subject === 'selected-objects',\n component: ({ data }) => (\n <ObjectDetailsPanel\n key={fullyQualifiedId(data.companionTo)}\n objectId={fullyQualifiedId(data.companionTo)}\n view={data.companionTo}\n />\n ),\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: `${meta.id}/create-initial-space-form-[hue]`,\n role: 'form-input',\n filter: (data): data is { prop: string; schema: Schema.Schema<any> } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, HueAnnotationId);\n return !!annotation;\n },\n component: ({ data: _, ...inputProps }) => {\n const { label, readonly, type, getValue, onValueChange } = inputProps as any as InputProps;\n const handleChange = useCallback((nextHue: string) => onValueChange(type, nextHue), [onValueChange]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange]);\n return (\n <Input.Root>\n <Input.Label>{label}</Input.Label>\n <HuePicker disabled={!!readonly} value={getValue() ?? ''} onChange={handleChange} onReset={handleReset} />\n </Input.Root>\n );\n },\n }),\n createSurface({\n id: `${meta.id}/create-initial-space-form-[icon]`,\n role: 'form-input',\n filter: (data): data is { prop: string; schema: Schema.Schema<any> } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, IconAnnotationId);\n return !!annotation;\n },\n component: ({ data: _, ...inputProps }) => {\n const { label, readonly, type, getValue, onValueChange } = inputProps as any as InputProps;\n const handleChange = useCallback((nextIcon: string) => onValueChange(type, nextIcon), [onValueChange]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange]);\n return (\n <Input.Root>\n <Input.Label>{label}</Input.Label>\n <IconPicker disabled={!!readonly} value={getValue() ?? ''} onChange={handleChange} onReset={handleReset} />\n </Input.Root>\n );\n },\n }),\n createSurface({\n id: `${meta.id}/typename-form-input`,\n role: 'form-input',\n filter: (\n data,\n ): data is { prop: string; schema: Schema.Schema<any>; target: Space | DataType.Collection | undefined } => {\n if (data.prop !== 'typename') {\n return false;\n }\n\n const annotation = findAnnotation((data.schema as Schema.Schema.All).ast, TypenameAnnotationId);\n return !!annotation;\n },\n component: ({ data: { schema, target }, ...inputProps }) => {\n const props = inputProps as any as InputProps;\n const space = isSpace(target) ? target : getSpace(target);\n const annotation = findAnnotation<TypenameAnnotation[]>(schema.ast, TypenameAnnotationId)!;\n const options = useTypeOptions({ space, annotation });\n\n return <SelectInput {...props} options={options} />;\n },\n }),\n createSurface({\n id: `${meta.id}/object-settings`,\n role: 'object-settings',\n filter: (data): data is { subject: DataType.View } => Obj.instanceOf(DataType.View, data.subject),\n component: ({ data }) => <ViewEditor view={data.subject} />,\n }),\n createSurface({\n id: POPOVER_RENAME_SPACE,\n role: 'card--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: 'card--popover',\n filter: (data): data is { props: Obj.Any } =>\n data.component === POPOVER_RENAME_OBJECT && isLiveObject(data.props),\n component: ({ data }) => <PopoverRenameObject object={data.props} />,\n }),\n createSurface({\n id: `${meta.id}/menu-footer`,\n role: 'menu-footer',\n filter: (data): data is { subject: Obj.Any } => Obj.isObject(data.subject),\n component: ({ data }) => <MenuFooter object={data.subject} />,\n }),\n createSurface({\n id: `${meta.id}/navtree-presence`,\n role: 'navtree-item-end',\n filter: (data): data is { id: string; subject: Obj.Any; open?: boolean } =>\n typeof data.id === 'string' && Obj.isObject(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: `${meta.id}/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: `${meta.id}/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: `${meta.id}/navbar-presence`,\n role: 'navbar-end',\n position: 'hoist',\n filter: (data): data is { subject: Space | Obj.Any } => isSpace(data.subject) || Obj.isObject(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[DataType.Collection.typename]?.target as DataType.Collection)\n : undefined\n : data.subject;\n\n return object ? <SpacePresence object={object} /> : null;\n },\n }),\n createSurface({\n id: `${meta.id}/collection-section`,\n role: 'section',\n filter: (data): data is { subject: DataType.Collection } => Obj.instanceOf(DataType.Collection, data.subject),\n component: ({ data }) => <CollectionSection collection={data.subject} />,\n }),\n createSurface({\n id: `${meta.id}/status`,\n role: 'status',\n component: () => <SyncStatus />,\n }),\n ]);\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "useCallback", "Capabilities", "Surface", "contributes", "createSurface", "useCapability", "useLayout", "Obj", "Type", "findAnnotation", "SettingsStore", "SpaceState", "fullyQualifiedId", "getSpace", "isLiveObject", "isSpace", "parseId", "useSpace", "Input", "SelectInput", "HuePicker", "IconPicker", "DataType", "TypenameAnnotationId", "OMIT", "DataType", "Collection", "typename", "Type", "getTypename", "QueryCollection", "createInvitationUrl", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "meta", "role", "filter", "data", "isSpace", "subject", "state", "get", "SpaceState", "SPACE_READY", "component", "rest", "Surface", "properties", "target", "position", "Obj", "isObject", "RecordMain", "record", "instanceOf", "CollectionMain", "collection", "SettingsStore", "prefix", "SpacePluginSettings", "settings", "value", "companionTo", "ObjectSettingsContainer", "object", "layout", "useLayout", "spaceId", "parseId", "workspace", "space", "useSpace", "SpaceSettingsContainer", "MembersContainer", "SchemaContainer", "View", "ObjectDetailsPanel", "key", "fullyQualifiedId", "objectId", "view", "JOIN_DIALOG", "JoinDialog", "props", "CREATE_SPACE_DIALOG", "CreateSpaceDialog", "CREATE_OBJECT_DIALOG", "CreateObjectDialog", "annotation", "findAnnotation", "schema", "ast", "HueAnnotationId", "_", "inputProps", "label", "readonly", "type", "getValue", "onValueChange", "handleChange", "useCallback", "nextHue", "handleReset", "undefined", "Input", "Root", "Label", "HuePicker", "disabled", "onChange", "onReset", "IconAnnotationId", "nextIcon", "IconPicker", "prop", "TypenameAnnotationId", "getSpace", "options", "useTypeOptions", "SelectInput", "ViewEditor", "POPOVER_RENAME_SPACE", "PopoverRenameSpace", "POPOVER_RENAME_OBJECT", "isLiveObject", "PopoverRenameObject", "MenuFooter", "useCapability", "SpaceCapabilities", "MutableState", "SmallPresenceLive", "open", "viewers", "viewersByObject", "InlineSyncStatus", "SpacePresence", "CollectionSection", "SyncStatus"]
7
+ }
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  SpaceCapabilities
3
- } from "./chunk-TUQZO5P4.mjs";
4
- import "./chunk-FBCGT5YY.mjs";
3
+ } from "./chunk-RLI2IAHK.mjs";
4
+ import "./chunk-IRKDREHY.mjs";
5
5
 
6
6
  // src/capabilities/schema-defs.ts
7
7
  import { Capabilities, contributes } from "@dxos/app-framework";
8
8
  import { ClientCapabilities } from "@dxos/plugin-client";
9
- var schema_defs_default = (context) => {
9
+ var schema_defs_default = ((context) => {
10
10
  const registry = context.getCapability(Capabilities.RxRegistry);
11
11
  const client = context.getCapability(ClientCapabilities.Client);
12
12
  let previous = [];
@@ -19,8 +19,8 @@ var schema_defs_default = (context) => {
19
19
  immediate: true
20
20
  });
21
21
  return contributes(Capabilities.Null, null, () => cancel());
22
- };
22
+ });
23
23
  export {
24
24
  schema_defs_default as default
25
25
  };
26
- //# sourceMappingURL=schema-defs-YDPFZELA.mjs.map
26
+ //# sourceMappingURL=schema-defs-7R7RKCAE.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/capabilities/schema-defs.ts"],
4
4
  "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';\nimport { ClientCapabilities } from '@dxos/plugin-client';\n\nimport { type ObjectForm } from '../types';\n\nimport { SpaceCapabilities } from './capabilities';\n\nexport default (context: PluginContext) => {\n const registry = context.getCapability(Capabilities.RxRegistry);\n const client = context.getCapability(ClientCapabilities.Client);\n\n // TODO(wittjosiah): Unregister schemas when they are disabled.\n let previous: ObjectForm[] = [];\n const cancel = registry.subscribe(\n context.capabilities(SpaceCapabilities.ObjectForm),\n (_forms) => {\n const forms = Array.from(new Set(_forms));\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 { immediate: true },\n );\n\n return contributes(Capabilities.Null, null, () => cancel());\n};\n"],
5
- "mappings": ";;;;;;AAIA,SAASA,cAAkCC,mBAAmB;AAC9D,SAASC,0BAA0B;AAMnC,IAAA,sBAAe,CAACC,YAAAA;AACd,QAAMC,WAAWD,QAAQE,cAAcC,aAAaC,UAAU;AAC9D,QAAMC,SAASL,QAAQE,cAAcI,mBAAmBC,MAAM;AAG9D,MAAIC,WAAyB,CAAA;AAC7B,QAAMC,SAASR,SAASS,UACtBV,QAAQW,aAAaC,kBAAkBC,UAAU,GACjD,CAACC,WAAAA;AACC,UAAMC,QAAQC,MAAMC,KAAK,IAAIC,IAAIJ,MAAAA,CAAAA;AAEjC,UAAMK,aAAaJ,MAAMK,OAAO,CAACC,SAAS,CAACb,SAASc,SAASD,IAAAA,CAAAA,EAAOE,IAAI,CAACF,SAASA,KAAKG,YAAY;AACnGhB,eAAWO;AACXV,WAAOoB,SAASN,UAAAA;EAClB,GACA;IAAEO,WAAW;EAAK,CAAA;AAGpB,SAAOC,YAAYxB,aAAayB,MAAM,MAAM,MAAMnB,OAAAA,CAAAA;AACpD;",
5
+ "mappings": ";;;;;;AAIA,SAASA,cAAkCC,mBAAmB;AAC9D,SAASC,0BAA0B;AAMnC,IAAA,uBAAe,CAACC,YAAAA;AACd,QAAMC,WAAWD,QAAQE,cAAcC,aAAaC,UAAU;AAC9D,QAAMC,SAASL,QAAQE,cAAcI,mBAAmBC,MAAM;AAG9D,MAAIC,WAAyB,CAAA;AAC7B,QAAMC,SAASR,SAASS,UACtBV,QAAQW,aAAaC,kBAAkBC,UAAU,GACjD,CAACC,WAAAA;AACC,UAAMC,QAAQC,MAAMC,KAAK,IAAIC,IAAIJ,MAAAA,CAAAA;AAEjC,UAAMK,aAAaJ,MAAMK,OAAO,CAACC,SAAS,CAACb,SAASc,SAASD,IAAAA,CAAAA,EAAOE,IAAI,CAACF,SAASA,KAAKG,YAAY;AACnGhB,eAAWO;AACXV,WAAOoB,SAASN,UAAAA;EAClB,GACA;IAAEO,WAAW;EAAK,CAAA;AAGpB,SAAOC,YAAYxB,aAAayB,MAAM,MAAM,MAAMnB,OAAAA,CAAAA;AACpD;",
6
6
  "names": ["Capabilities", "contributes", "ClientCapabilities", "context", "registry", "getCapability", "Capabilities", "RxRegistry", "client", "ClientCapabilities", "Client", "previous", "cancel", "subscribe", "capabilities", "SpaceCapabilities", "ObjectForm", "_forms", "forms", "Array", "from", "Set", "newSchemas", "filter", "form", "includes", "map", "objectSchema", "addTypes", "immediate", "contributes", "Null"]
7
7
  }
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  SpaceSettingsSchema
3
- } from "./chunk-URST7EEN.mjs";
3
+ } from "./chunk-WS2PJDES.mjs";
4
4
  import {
5
5
  meta
6
- } from "./chunk-FBCGT5YY.mjs";
6
+ } from "./chunk-IRKDREHY.mjs";
7
7
 
8
8
  // src/capabilities/settings.ts
9
9
  import { Capabilities, contributes } from "@dxos/app-framework";
10
10
  import { live } from "@dxos/live-object";
11
- var settings_default = () => {
11
+ var settings_default = (() => {
12
12
  const settings = live({
13
13
  showHidden: false
14
14
  });
@@ -17,8 +17,8 @@ var settings_default = () => {
17
17
  schema: SpaceSettingsSchema,
18
18
  value: settings
19
19
  });
20
- };
20
+ });
21
21
  export {
22
22
  settings_default as default
23
23
  };
24
- //# sourceMappingURL=settings-ZYH2JWNI.mjs.map
24
+ //# sourceMappingURL=settings-OBFJ67ZG.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/capabilities/settings.ts"],
4
4
  "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes } from '@dxos/app-framework';\nimport { live } from '@dxos/live-object';\n\nimport { meta } from '../meta';\nimport { type SpaceSettingsProps, SpaceSettingsSchema } from '../types';\n\nexport default () => {\n const settings = live<SpaceSettingsProps>({\n showHidden: false,\n });\n\n return contributes(Capabilities.Settings, {\n prefix: meta.id,\n schema: SpaceSettingsSchema,\n value: settings,\n });\n};\n"],
5
- "mappings": ";;;;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,YAAY;AAKrB,IAAA,mBAAe,MAAA;AACb,QAAMC,WAAWC,KAAyB;IACxCC,YAAY;EACd,CAAA;AAEA,SAAOC,YAAYC,aAAaC,UAAU;IACxCC,QAAQC,KAAKC;IACbC,QAAQC;IACRC,OAAOX;EACT,CAAA;AACF;",
5
+ "mappings": ";;;;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,YAAY;AAKrB,IAAA,oBAAe,MAAA;AACb,QAAMC,WAAWC,KAAyB;IACxCC,YAAY;EACd,CAAA;AAEA,SAAOC,YAAYC,aAAaC,UAAU;IACxCC,QAAQC,KAAKC;IACbC,QAAQC;IACRC,OAAOX;EACT,CAAA;AACF;",
6
6
  "names": ["Capabilities", "contributes", "live", "settings", "live", "showHidden", "contributes", "Capabilities", "Settings", "prefix", "meta", "id", "schema", "SpaceSettingsSchema", "value"]
7
7
  }
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  SpaceCapabilities
3
- } from "./chunk-TUQZO5P4.mjs";
3
+ } from "./chunk-RLI2IAHK.mjs";
4
4
  import {
5
5
  COMPOSER_SPACE_LOCK,
6
6
  SHARED
7
- } from "./chunk-S33AYKSS.mjs";
7
+ } from "./chunk-AB7EFWFA.mjs";
8
8
  import {
9
9
  SpaceAction
10
- } from "./chunk-URST7EEN.mjs";
11
- import "./chunk-FBCGT5YY.mjs";
10
+ } from "./chunk-WS2PJDES.mjs";
11
+ import "./chunk-IRKDREHY.mjs";
12
12
 
13
13
  // src/capabilities/spaces-ready.ts
14
- import { Option } from "effect";
14
+ import * as Option from "effect/Option";
15
15
  import { Capabilities, LayoutAction, contributes, createIntent } from "@dxos/app-framework";
16
16
  import { SubscriptionList } from "@dxos/async";
17
17
  import { Filter, Obj, Type } from "@dxos/echo";
@@ -27,7 +27,7 @@ import { ComplexMap, reduceGroupBy } from "@dxos/util";
27
27
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/capabilities/spaces-ready.ts";
28
28
  var ACTIVE_NODE_BROADCAST_INTERVAL = 3e4;
29
29
  var WAIT_FOR_OBJECT_TIMEOUT = 5e3;
30
- var spaces_ready_default = async (context) => {
30
+ var spaces_ready_default = (async (context) => {
31
31
  const subscriptions = new SubscriptionList();
32
32
  const spaceSubscriptions = new SubscriptionList();
33
33
  const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
@@ -194,8 +194,8 @@ var spaces_ready_default = async (context) => {
194
194
  spaceSubscriptions.clear();
195
195
  subscriptions.clear();
196
196
  });
197
- };
197
+ });
198
198
  export {
199
199
  spaces_ready_default as default
200
200
  };
201
- //# sourceMappingURL=spaces-ready-3I5LISH4.mjs.map
201
+ //# sourceMappingURL=spaces-ready-6YB55EJK.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/spaces-ready.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Option from 'effect/Option';\n\nimport { Capabilities, LayoutAction, type PluginContext, contributes, createIntent } from '@dxos/app-framework';\nimport { SubscriptionList } from '@dxos/async';\nimport { Filter, Obj, Type } from '@dxos/echo';\nimport { scheduledEffect } from '@dxos/echo-signals/core';\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 { FQ_ID_LENGTH, SpaceState, parseFullyQualifiedId } from '@dxos/react-client/echo';\nimport { ComplexMap, reduceGroupBy } from '@dxos/util';\n\nimport { SpaceAction } from '../types';\nimport { COMPOSER_SPACE_LOCK, SHARED } from '../util';\n\nimport { SpaceCapabilities } from './capabilities';\n\nconst ACTIVE_NODE_BROADCAST_INTERVAL = 30_000;\nconst WAIT_FOR_OBJECT_TIMEOUT = 5_000;\n\nexport default async (context: PluginContext) => {\n const subscriptions = new SubscriptionList();\n const spaceSubscriptions = new SubscriptionList();\n\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const { graph } = context.getCapability(Capabilities.AppGraph);\n const layout = context.getCapability(Capabilities.Layout);\n const deck = context.getCapabilities(DeckCapabilities.DeckState)[0];\n const attention = context.getCapability(AttentionCapabilities.Attention);\n const state = context.getCapability(SpaceCapabilities.MutableState);\n const client = context.getCapability(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.type(Type.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(Obj.make(Type.Expando, { 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 id = active[0];\n const node = graph.getNode(id).pipe(Option.getOrNull);\n if (!node && id.length === FQ_ID_LENGTH) {\n void graph.initialize(id);\n const timeout = setTimeout(async () => {\n const node = graph.getNode(id).pipe(Option.getOrNull);\n if (!node) {\n await dispatch(createIntent(SpaceAction.WaitForObject, { id }));\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": ["Option", "Capabilities", "LayoutAction", "contributes", "createIntent", "SubscriptionList", "Filter", "Obj", "Type", "scheduledEffect", "log", "AttentionCapabilities", "ClientCapabilities", "DeckCapabilities", "EdgeReplicationSetting", "PublicKey", "FQ_ID_LENGTH", "SpaceState", "parseFullyQualifiedId", "ComplexMap", "reduceGroupBy", "ACTIVE_NODE_BROADCAST_INTERVAL", "WAIT_FOR_OBJECT_TIMEOUT", "context", "subscriptions", "SubscriptionList", "spaceSubscriptions", "dispatchPromise", "dispatch", "getCapability", "Capabilities", "IntentDispatcher", "graph", "AppGraph", "layout", "Layout", "deck", "getCapabilities", "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", "type", "Type", "Expando", "key", "SHARED", "run", "add", "Obj", "make", "order", "scheduledEffect", "active", "length", "node", "getNode", "pipe", "getOrNull", "FQ_ID_LENGTH", "initialize", "timeout", "setTimeout", "SpaceAction", "WaitForObject", "clearTimeout", "subscribe", "get", "SpaceState", "SPACE_REQUIRES_MIGRATION", "internal", "migrate", "filter", "space", "SPACE_READY", "forEach", "name", "spaceNames", "unsubscribe", "current", "inactive", "send", "identity", "halo", "idsBySpace", "reduceGroupBy", "spaceId", "parseFullyQualifiedId", "removedBySpace", "has", "set", "added", "removed", "find", "postMessage", "identityKey", "toHex", "attended", "catch", "err", "log", "warn", "message", "interval", "setInterval", "clearInterval", "clear", "listen", "payload", "PublicKey", "safeFrom", "currentIdentity", "equals", "Array", "isArray", "viewersByObject", "ComplexMap", "hash", "lastSeen", "Date", "now", "currentlyAttended", "Set", "viewersByIdentity", "delete", "Promise", "all", "map", "setEdgeReplicationPreference", "EdgeReplicationSetting", "ENABLED", "enabledEdgeReplication", "contributes", "Null"]
7
+ }
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  SpaceCapabilities
3
- } from "./chunk-TUQZO5P4.mjs";
3
+ } from "./chunk-RLI2IAHK.mjs";
4
4
  import {
5
- SPACE_PLUGIN
6
- } from "./chunk-FBCGT5YY.mjs";
5
+ meta
6
+ } from "./chunk-IRKDREHY.mjs";
7
7
 
8
8
  // src/capabilities/state.ts
9
9
  import { effect } from "@preact/signals-core";
@@ -11,8 +11,8 @@ import { Capabilities, contributes } from "@dxos/app-framework";
11
11
  import { PublicKey } from "@dxos/keys";
12
12
  import { LocalStorageStore } from "@dxos/local-storage";
13
13
  import { ComplexMap } from "@dxos/util";
14
- var state_default = (context) => {
15
- const state = new LocalStorageStore(SPACE_PLUGIN, {
14
+ var state_default = ((context) => {
15
+ const state = new LocalStorageStore(meta.id, {
16
16
  awaiting: void 0,
17
17
  spaceNames: {},
18
18
  viewersByObject: {},
@@ -40,8 +40,8 @@ var state_default = (context) => {
40
40
  unsubscribe();
41
41
  state.close();
42
42
  });
43
- };
43
+ });
44
44
  export {
45
45
  state_default as default
46
46
  };
47
- //# sourceMappingURL=state-2RGW7FQG.mjs.map
47
+ //# sourceMappingURL=state-LSPRFIRO.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/state.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { effect } from '@preact/signals-core';\n\nimport { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';\nimport { PublicKey } from '@dxos/keys';\nimport { LocalStorageStore } from '@dxos/local-storage';\nimport { ComplexMap } from '@dxos/util';\n\nimport { meta } from '../meta';\nimport { type PluginState } from '../types';\n\nimport { SpaceCapabilities } from './capabilities';\n\nexport default (context: PluginContext) => {\n const state = new LocalStorageStore<PluginState>(meta.id, {\n awaiting: undefined,\n spaceNames: {},\n viewersByObject: {},\n // TODO(wittjosiah): Stop using (Complex)Map inside reactive object.\n viewersByIdentity: new ComplexMap(PublicKey.hash),\n sdkMigrationRunning: {},\n navigableCollections: false,\n enabledEdgeReplication: false,\n });\n\n state\n .prop({ key: 'spaceNames', type: LocalStorageStore.json<Record<string, string>>() })\n .prop({ key: 'enabledEdgeReplication', type: LocalStorageStore.bool() });\n\n const manager = context.getCapability(Capabilities.PluginManager);\n const unsubscribe = effect(() => {\n // TODO(wittjosiah): Find a way to make this capability-based.\n const enabled = manager.enabled.includes('dxos.org/plugin/stack');\n if (enabled !== state.values.navigableCollections) {\n state.values.navigableCollections = enabled;\n }\n });\n\n return contributes(SpaceCapabilities.State, state.values, () => {\n unsubscribe();\n state.close();\n });\n};\n"],
5
+ "mappings": ";;;;;;;;AAIA,SAASA,cAAc;AAEvB,SAASC,cAAkCC,mBAAmB;AAC9D,SAASC,iBAAiB;AAC1B,SAASC,yBAAyB;AAClC,SAASC,kBAAkB;AAO3B,IAAA,iBAAe,CAACC,YAAAA;AACd,QAAMC,QAAQ,IAAIC,kBAA+BC,KAAKC,IAAI;IACxDC,UAAUC;IACVC,YAAY,CAAC;IACbC,iBAAiB,CAAC;;IAElBC,mBAAmB,IAAIC,WAAWC,UAAUC,IAAI;IAChDC,qBAAqB,CAAC;IACtBC,sBAAsB;IACtBC,wBAAwB;EAC1B,CAAA;AAEAd,QACGe,KAAK;IAAEC,KAAK;IAAcC,MAAMhB,kBAAkBiB,KAAI;EAA2B,CAAA,EACjFH,KAAK;IAAEC,KAAK;IAA0BC,MAAMhB,kBAAkBkB,KAAI;EAAG,CAAA;AAExE,QAAMC,UAAUrB,QAAQsB,cAAcC,aAAaC,aAAa;AAChE,QAAMC,cAAcC,OAAO,MAAA;AAEzB,UAAMC,UAAUN,QAAQM,QAAQC,SAAS,uBAAA;AACzC,QAAID,YAAY1B,MAAM4B,OAAOf,sBAAsB;AACjDb,YAAM4B,OAAOf,uBAAuBa;IACtC;EACF,CAAA;AAEA,SAAOG,YAAYC,kBAAkBC,OAAO/B,MAAM4B,QAAQ,MAAA;AACxDJ,gBAAAA;AACAxB,UAAMgC,MAAK;EACb,CAAA;AACF;",
6
+ "names": ["effect", "Capabilities", "contributes", "PublicKey", "LocalStorageStore", "ComplexMap", "context", "state", "LocalStorageStore", "meta", "id", "awaiting", "undefined", "spaceNames", "viewersByObject", "viewersByIdentity", "ComplexMap", "PublicKey", "hash", "sdkMigrationRunning", "navigableCollections", "enabledEdgeReplication", "prop", "key", "type", "json", "bool", "manager", "getCapability", "Capabilities", "PluginManager", "unsubscribe", "effect", "enabled", "includes", "values", "contributes", "SpaceCapabilities", "State", "close"]
7
+ }
@@ -9,8 +9,8 @@ import {
9
9
  SpaceForm,
10
10
  SpaceSettingsSchema,
11
11
  defineObjectForm
12
- } from "../chunk-URST7EEN.mjs";
13
- import "../chunk-FBCGT5YY.mjs";
12
+ } from "../chunk-WS2PJDES.mjs";
13
+ import "../chunk-IRKDREHY.mjs";
14
14
  export {
15
15
  CollectionAction,
16
16
  HueAnnotationId,