@dxos/plugin-space 0.8.2-main.f11618f → 0.8.2-main.fbd8ed0

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 (273) hide show
  1. package/dist/lib/browser/app-graph-builder-7X3SIPCD.mjs +328 -0
  2. package/dist/lib/browser/app-graph-builder-7X3SIPCD.mjs.map +7 -0
  3. package/dist/lib/browser/{app-graph-serializer-UUJH7JRN.mjs → app-graph-serializer-VRU57AEZ.mjs} +6 -6
  4. package/dist/lib/browser/app-graph-serializer-VRU57AEZ.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-4226DMDP.mjs → chunk-43UQWMD3.mjs} +298 -504
  6. package/dist/lib/browser/chunk-43UQWMD3.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-AR5R2F6B.mjs +88 -0
  8. package/dist/lib/browser/chunk-AR5R2F6B.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-CY35NLWL.mjs +296 -0
  10. package/dist/lib/browser/chunk-CY35NLWL.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-JS6ZV4GV.mjs → chunk-IQFFOAWD.mjs} +24 -38
  12. package/dist/lib/browser/chunk-IQFFOAWD.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-DIJ7LMCS.mjs → chunk-UBSVH2NQ.mjs} +3 -4
  14. package/dist/lib/browser/chunk-UBSVH2NQ.mjs.map +7 -0
  15. package/dist/lib/browser/{identity-created-NRVE4XLL.mjs → identity-created-ANRJHNMQ.mjs} +3 -3
  16. package/dist/lib/browser/identity-created-ANRJHNMQ.mjs.map +7 -0
  17. package/dist/lib/browser/index.mjs +23 -19
  18. package/dist/lib/browser/index.mjs.map +3 -3
  19. package/dist/lib/browser/{intent-resolver-NP55M7C7.mjs → intent-resolver-KRINV5QI.mjs} +15 -33
  20. package/dist/lib/browser/intent-resolver-KRINV5QI.mjs.map +7 -0
  21. package/dist/lib/browser/meta.json +1 -1
  22. package/dist/lib/browser/{react-root-XKAUZ3X2.mjs → react-root-J3SP2HVW.mjs} +5 -4
  23. package/dist/lib/browser/{react-surface-2DW2UDRX.mjs → react-surface-J7T2IMH4.mjs} +5 -12
  24. package/dist/lib/browser/react-surface-J7T2IMH4.mjs.map +7 -0
  25. package/dist/lib/browser/schema-defs-OCBY7APN.mjs +26 -0
  26. package/dist/lib/browser/schema-defs-OCBY7APN.mjs.map +7 -0
  27. package/dist/lib/browser/{schema-tools-YAXPRIXP.mjs → schema-tools-MYC4LTQD.mjs} +22 -22
  28. package/dist/lib/browser/schema-tools-MYC4LTQD.mjs.map +7 -0
  29. package/dist/lib/browser/{settings-MVT32NP6.mjs → settings-G24447B7.mjs} +2 -2
  30. package/dist/lib/browser/{spaces-ready-ERNSICUW.mjs → spaces-ready-5I3RKYTT.mjs} +16 -15
  31. package/dist/lib/browser/spaces-ready-5I3RKYTT.mjs.map +7 -0
  32. package/dist/lib/browser/{state-CYV6QCTN.mjs → state-SI4B5GHC.mjs} +2 -2
  33. package/dist/lib/browser/state-SI4B5GHC.mjs.map +7 -0
  34. package/dist/lib/browser/types/index.mjs +1 -1
  35. package/dist/lib/node/app-graph-builder-C2ISDMSL.cjs +328 -0
  36. package/dist/lib/node/app-graph-builder-C2ISDMSL.cjs.map +7 -0
  37. package/dist/lib/node/{app-graph-serializer-M6Z2OPA4.cjs → app-graph-serializer-VLBCR3IX.cjs} +22 -22
  38. package/dist/lib/node/app-graph-serializer-VLBCR3IX.cjs.map +7 -0
  39. package/dist/lib/node/{chunk-UOCR4G2D.cjs → chunk-5YHUQJVB.cjs} +7 -8
  40. package/dist/lib/node/chunk-5YHUQJVB.cjs.map +7 -0
  41. package/dist/lib/node/chunk-DQN4ZQDW.cjs +119 -0
  42. package/dist/lib/node/chunk-DQN4ZQDW.cjs.map +7 -0
  43. package/dist/lib/node/chunk-K6ZO4WDJ.cjs +324 -0
  44. package/dist/lib/node/chunk-K6ZO4WDJ.cjs.map +7 -0
  45. package/dist/lib/node/{chunk-ZMQO74LX.cjs → chunk-MXBE2VET.cjs} +338 -535
  46. package/dist/lib/node/chunk-MXBE2VET.cjs.map +7 -0
  47. package/dist/lib/node/{chunk-XADZLQAJ.cjs → chunk-SCATWJKX.cjs} +46 -61
  48. package/dist/lib/node/chunk-SCATWJKX.cjs.map +7 -0
  49. package/dist/lib/node/{identity-created-YDTRMOMX.cjs → identity-created-NIPYGVG3.cjs} +7 -7
  50. package/dist/lib/node/identity-created-NIPYGVG3.cjs.map +7 -0
  51. package/dist/lib/node/index.cjs +73 -70
  52. package/dist/lib/node/index.cjs.map +3 -3
  53. package/dist/lib/node/{intent-resolver-3J52ARFL.cjs → intent-resolver-MJVRY6YE.cjs} +63 -80
  54. package/dist/lib/node/intent-resolver-MJVRY6YE.cjs.map +7 -0
  55. package/dist/lib/node/meta.json +1 -1
  56. package/dist/lib/node/{react-root-XUE2J7HT.cjs → react-root-M4BZ6VXB.cjs} +9 -8
  57. package/dist/lib/node/{react-root-XUE2J7HT.cjs.map → react-root-M4BZ6VXB.cjs.map} +1 -1
  58. package/dist/lib/node/{react-surface-IWSTOZ2E.cjs → react-surface-RYKSYYKM.cjs} +42 -47
  59. package/dist/lib/node/react-surface-RYKSYYKM.cjs.map +7 -0
  60. package/dist/lib/node/{schema-PPJ5BZ3A.cjs → schema-defs-2HJLXSNK.cjs} +13 -11
  61. package/dist/lib/node/schema-defs-2HJLXSNK.cjs.map +7 -0
  62. package/dist/lib/node/{schema-tools-BLIMOZYY.cjs → schema-tools-OE3MFYYH.cjs} +24 -24
  63. package/dist/lib/node/schema-tools-OE3MFYYH.cjs.map +7 -0
  64. package/dist/lib/node/{settings-JLV7YT6Q.cjs → settings-AFWO4AWK.cjs} +6 -6
  65. package/dist/lib/node/{spaces-ready-6EBR4SM4.cjs → spaces-ready-BMPXSFHF.cjs} +24 -23
  66. package/dist/lib/node/spaces-ready-BMPXSFHF.cjs.map +7 -0
  67. package/dist/lib/node/{state-JLN7TGRR.cjs → state-L2ZSDKLS.cjs} +5 -5
  68. package/dist/lib/node/state-L2ZSDKLS.cjs.map +7 -0
  69. package/dist/lib/node/types/index.cjs +15 -15
  70. package/dist/lib/node/types/index.cjs.map +1 -1
  71. package/dist/lib/node-esm/app-graph-builder-WVCQZ324.mjs +329 -0
  72. package/dist/lib/node-esm/app-graph-builder-WVCQZ324.mjs.map +7 -0
  73. package/dist/lib/node-esm/{app-graph-serializer-J3B4WSXU.mjs → app-graph-serializer-GEUYYXKD.mjs} +6 -6
  74. package/dist/lib/node-esm/app-graph-serializer-GEUYYXKD.mjs.map +7 -0
  75. package/dist/lib/node-esm/{chunk-OLISVDCF.mjs → chunk-5NIBYPVF.mjs} +3 -4
  76. package/dist/lib/node-esm/chunk-5NIBYPVF.mjs.map +7 -0
  77. package/dist/lib/node-esm/chunk-CLRCW6PU.mjs +297 -0
  78. package/dist/lib/node-esm/chunk-CLRCW6PU.mjs.map +7 -0
  79. package/dist/lib/node-esm/{chunk-PQI4D4SH.mjs → chunk-FI3WV22Y.mjs} +298 -504
  80. package/dist/lib/node-esm/chunk-FI3WV22Y.mjs.map +7 -0
  81. package/dist/lib/node-esm/chunk-HNKAG5CX.mjs +90 -0
  82. package/dist/lib/node-esm/chunk-HNKAG5CX.mjs.map +7 -0
  83. package/dist/lib/node-esm/{chunk-ABTVMAG5.mjs → chunk-S2W6HS4A.mjs} +24 -38
  84. package/dist/lib/node-esm/chunk-S2W6HS4A.mjs.map +7 -0
  85. package/dist/lib/node-esm/{identity-created-EC6SVYB5.mjs → identity-created-O5X2FFWU.mjs} +3 -3
  86. package/dist/lib/node-esm/identity-created-O5X2FFWU.mjs.map +7 -0
  87. package/dist/lib/node-esm/index.mjs +23 -19
  88. package/dist/lib/node-esm/index.mjs.map +3 -3
  89. package/dist/lib/node-esm/{intent-resolver-MXQIFIRC.mjs → intent-resolver-JT6EB47M.mjs} +15 -33
  90. package/dist/lib/node-esm/intent-resolver-JT6EB47M.mjs.map +7 -0
  91. package/dist/lib/node-esm/meta.json +1 -1
  92. package/dist/lib/node-esm/{react-root-ZBCJCEFS.mjs → react-root-S2LW4FS7.mjs} +5 -4
  93. package/dist/lib/{browser/react-root-XKAUZ3X2.mjs.map → node-esm/react-root-S2LW4FS7.mjs.map} +1 -1
  94. package/dist/lib/node-esm/{react-surface-JCHDAPGM.mjs → react-surface-ZNNMO7QQ.mjs} +5 -12
  95. package/dist/lib/node-esm/react-surface-ZNNMO7QQ.mjs.map +7 -0
  96. package/dist/lib/node-esm/schema-defs-B74N3GQ5.mjs +27 -0
  97. package/dist/lib/node-esm/schema-defs-B74N3GQ5.mjs.map +7 -0
  98. package/dist/lib/node-esm/{schema-tools-IU7EX5A5.mjs → schema-tools-YTJLA3NQ.mjs} +22 -22
  99. package/dist/lib/node-esm/schema-tools-YTJLA3NQ.mjs.map +7 -0
  100. package/dist/lib/node-esm/{settings-AILIMHTE.mjs → settings-MJVSCOI4.mjs} +2 -2
  101. package/dist/lib/node-esm/{spaces-ready-5PXESKHX.mjs → spaces-ready-XKG57SL5.mjs} +16 -15
  102. package/dist/lib/node-esm/spaces-ready-XKG57SL5.mjs.map +7 -0
  103. package/dist/lib/node-esm/{state-YZPY5T5A.mjs → state-QUDYGEU6.mjs} +2 -2
  104. package/dist/lib/node-esm/state-QUDYGEU6.mjs.map +7 -0
  105. package/dist/lib/node-esm/types/index.mjs +1 -1
  106. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  107. package/dist/types/src/capabilities/app-graph-builder.d.ts +2 -179
  108. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  109. package/dist/types/src/capabilities/app-graph-serializer.d.ts +2 -2
  110. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  111. package/dist/types/src/capabilities/identity-created.d.ts +2 -2
  112. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
  113. package/dist/types/src/capabilities/index.d.ts +8 -184
  114. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  115. package/dist/types/src/capabilities/intent-resolver.d.ts +2 -2
  116. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  117. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  118. package/dist/types/src/capabilities/schema-defs.d.ts +4 -0
  119. package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -0
  120. package/dist/types/src/capabilities/schema-tools.d.ts +2 -2
  121. package/dist/types/src/capabilities/schema-tools.d.ts.map +1 -1
  122. package/dist/types/src/capabilities/spaces-ready.d.ts +2 -2
  123. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  124. package/dist/types/src/capabilities/state.d.ts +2 -2
  125. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  126. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  127. package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
  128. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  129. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  130. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  131. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  132. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  133. package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
  134. package/dist/types/src/components/MembersContainer.stories.d.ts.map +1 -1
  135. package/dist/types/src/components/MenuFooter.d.ts +2 -2
  136. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  137. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts +2 -2
  138. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  139. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +2 -2
  140. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
  141. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +1 -1
  142. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts +2 -2
  143. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -1
  144. package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
  145. package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
  146. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
  147. package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
  148. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  149. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  150. package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
  151. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  152. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +1 -1
  153. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  154. package/dist/types/src/components/SyncStatus/save-tracker.d.ts.map +1 -1
  155. package/dist/types/src/components/SyncStatus/status.d.ts.map +1 -1
  156. package/dist/types/src/components/index.d.ts +0 -1
  157. package/dist/types/src/components/index.d.ts.map +1 -1
  158. package/dist/types/src/hooks/index.d.ts +1 -0
  159. package/dist/types/src/hooks/index.d.ts.map +1 -1
  160. package/dist/types/src/hooks/useActiveSpace.d.ts +4 -0
  161. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -0
  162. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +2 -2
  163. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  164. package/dist/types/src/hooks/usePath.d.ts +3 -2
  165. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  166. package/dist/types/src/index.d.ts +1 -0
  167. package/dist/types/src/index.d.ts.map +1 -1
  168. package/dist/types/src/translations.d.ts +2 -263
  169. package/dist/types/src/translations.d.ts.map +1 -1
  170. package/dist/types/src/types/collection.d.ts +9 -8
  171. package/dist/types/src/types/collection.d.ts.map +1 -1
  172. package/dist/types/src/types/thread.d.ts +113 -242
  173. package/dist/types/src/types/thread.d.ts.map +1 -1
  174. package/dist/types/src/types/types.d.ts +145 -160
  175. package/dist/types/src/types/types.d.ts.map +1 -1
  176. package/dist/types/src/util.d.ts +10 -16
  177. package/dist/types/src/util.d.ts.map +1 -1
  178. package/dist/types/tsconfig.tsbuildinfo +1 -1
  179. package/package.json +51 -45
  180. package/src/SpacePlugin.tsx +8 -7
  181. package/src/capabilities/app-graph-builder.ts +376 -268
  182. package/src/capabilities/app-graph-serializer.ts +4 -4
  183. package/src/capabilities/identity-created.ts +3 -3
  184. package/src/capabilities/index.ts +2 -2
  185. package/src/capabilities/intent-resolver.ts +9 -28
  186. package/src/capabilities/react-surface.tsx +15 -23
  187. package/src/capabilities/schema-defs.ts +30 -0
  188. package/src/capabilities/schema-tool.test.ts +2 -3
  189. package/src/capabilities/schema-tools.ts +25 -25
  190. package/src/capabilities/spaces-ready.ts +14 -12
  191. package/src/capabilities/state.ts +3 -3
  192. package/src/components/AwaitingObject.tsx +1 -1
  193. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +2 -2
  194. package/src/components/CreateDialog/CreateObjectDialog.tsx +1 -1
  195. package/src/components/CreateDialog/CreateSpaceDialog.tsx +2 -3
  196. package/src/components/MembersContainer.stories.tsx +1 -5
  197. package/src/components/MenuFooter.tsx +2 -2
  198. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +2 -2
  199. package/src/components/ObjectSettings/BaseObjectSettings.tsx +2 -2
  200. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +4 -4
  201. package/src/components/PersistenceStatus.tsx +11 -14
  202. package/src/components/SpacePresence.stories.tsx +1 -1
  203. package/src/components/SpacePresence.tsx +34 -43
  204. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +5 -3
  205. package/src/components/SyncStatus/InlineSyncStatus.tsx +10 -17
  206. package/src/components/index.ts +0 -1
  207. package/src/hooks/index.ts +1 -0
  208. package/src/hooks/useActiveSpace.ts +20 -0
  209. package/src/hooks/useInputSurfaceLookup.tsx +2 -2
  210. package/src/hooks/usePath.ts +9 -6
  211. package/src/index.ts +1 -0
  212. package/src/translations.ts +1 -2
  213. package/src/types/collection.ts +6 -4
  214. package/src/types/thread.ts +14 -8
  215. package/src/types/types.ts +104 -112
  216. package/src/util.tsx +36 -73
  217. package/dist/lib/browser/app-graph-builder-ZWNOWRAX.mjs +0 -369
  218. package/dist/lib/browser/app-graph-builder-ZWNOWRAX.mjs.map +0 -7
  219. package/dist/lib/browser/app-graph-serializer-UUJH7JRN.mjs.map +0 -7
  220. package/dist/lib/browser/chunk-4226DMDP.mjs.map +0 -7
  221. package/dist/lib/browser/chunk-DIJ7LMCS.mjs.map +0 -7
  222. package/dist/lib/browser/chunk-JS6ZV4GV.mjs.map +0 -7
  223. package/dist/lib/browser/chunk-O7WGQVLQ.mjs +0 -306
  224. package/dist/lib/browser/chunk-O7WGQVLQ.mjs.map +0 -7
  225. package/dist/lib/browser/identity-created-NRVE4XLL.mjs.map +0 -7
  226. package/dist/lib/browser/intent-resolver-NP55M7C7.mjs.map +0 -7
  227. package/dist/lib/browser/react-surface-2DW2UDRX.mjs.map +0 -7
  228. package/dist/lib/browser/schema-FHTA26SW.mjs +0 -24
  229. package/dist/lib/browser/schema-FHTA26SW.mjs.map +0 -7
  230. package/dist/lib/browser/schema-tools-YAXPRIXP.mjs.map +0 -7
  231. package/dist/lib/browser/spaces-ready-ERNSICUW.mjs.map +0 -7
  232. package/dist/lib/browser/state-CYV6QCTN.mjs.map +0 -7
  233. package/dist/lib/node/app-graph-builder-LLIV422L.cjs +0 -371
  234. package/dist/lib/node/app-graph-builder-LLIV422L.cjs.map +0 -7
  235. package/dist/lib/node/app-graph-serializer-M6Z2OPA4.cjs.map +0 -7
  236. package/dist/lib/node/chunk-EQ5BPSQ7.cjs +0 -334
  237. package/dist/lib/node/chunk-EQ5BPSQ7.cjs.map +0 -7
  238. package/dist/lib/node/chunk-UOCR4G2D.cjs.map +0 -7
  239. package/dist/lib/node/chunk-XADZLQAJ.cjs.map +0 -7
  240. package/dist/lib/node/chunk-ZMQO74LX.cjs.map +0 -7
  241. package/dist/lib/node/identity-created-YDTRMOMX.cjs.map +0 -7
  242. package/dist/lib/node/intent-resolver-3J52ARFL.cjs.map +0 -7
  243. package/dist/lib/node/react-surface-IWSTOZ2E.cjs.map +0 -7
  244. package/dist/lib/node/schema-PPJ5BZ3A.cjs.map +0 -7
  245. package/dist/lib/node/schema-tools-BLIMOZYY.cjs.map +0 -7
  246. package/dist/lib/node/spaces-ready-6EBR4SM4.cjs.map +0 -7
  247. package/dist/lib/node/state-JLN7TGRR.cjs.map +0 -7
  248. package/dist/lib/node-esm/app-graph-builder-HSGLCS76.mjs +0 -370
  249. package/dist/lib/node-esm/app-graph-builder-HSGLCS76.mjs.map +0 -7
  250. package/dist/lib/node-esm/app-graph-serializer-J3B4WSXU.mjs.map +0 -7
  251. package/dist/lib/node-esm/chunk-ABTVMAG5.mjs.map +0 -7
  252. package/dist/lib/node-esm/chunk-FJPCLEKN.mjs +0 -307
  253. package/dist/lib/node-esm/chunk-FJPCLEKN.mjs.map +0 -7
  254. package/dist/lib/node-esm/chunk-OLISVDCF.mjs.map +0 -7
  255. package/dist/lib/node-esm/chunk-PQI4D4SH.mjs.map +0 -7
  256. package/dist/lib/node-esm/identity-created-EC6SVYB5.mjs.map +0 -7
  257. package/dist/lib/node-esm/intent-resolver-MXQIFIRC.mjs.map +0 -7
  258. package/dist/lib/node-esm/react-surface-JCHDAPGM.mjs.map +0 -7
  259. package/dist/lib/node-esm/schema-OUZKVYM5.mjs +0 -25
  260. package/dist/lib/node-esm/schema-OUZKVYM5.mjs.map +0 -7
  261. package/dist/lib/node-esm/schema-tools-IU7EX5A5.mjs.map +0 -7
  262. package/dist/lib/node-esm/spaces-ready-5PXESKHX.mjs.map +0 -7
  263. package/dist/lib/node-esm/state-YZPY5T5A.mjs.map +0 -7
  264. package/dist/types/src/capabilities/schema.d.ts +0 -4
  265. package/dist/types/src/capabilities/schema.d.ts.map +0 -1
  266. package/dist/types/src/components/PopoverAddSpace.d.ts +0 -4
  267. package/dist/types/src/components/PopoverAddSpace.d.ts.map +0 -1
  268. package/src/capabilities/schema.ts +0 -27
  269. package/src/components/PopoverAddSpace.tsx +0 -52
  270. /package/dist/lib/{node-esm/react-root-ZBCJCEFS.mjs.map → browser/react-root-J3SP2HVW.mjs.map} +0 -0
  271. /package/dist/lib/browser/{settings-MVT32NP6.mjs.map → settings-G24447B7.mjs.map} +0 -0
  272. /package/dist/lib/node/{settings-JLV7YT6Q.cjs.map → settings-AFWO4AWK.cjs.map} +0 -0
  273. /package/dist/lib/node-esm/{settings-AILIMHTE.mjs.map → settings-MJVSCOI4.mjs.map} +0 -0
@@ -16,15 +16,16 @@ 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_6EBR4SM4_exports = {};
20
- __export(spaces_ready_6EBR4SM4_exports, {
19
+ var spaces_ready_BMPXSFHF_exports = {};
20
+ __export(spaces_ready_BMPXSFHF_exports, {
21
21
  default: () => spaces_ready_default
22
22
  });
23
- module.exports = __toCommonJS(spaces_ready_6EBR4SM4_exports);
23
+ module.exports = __toCommonJS(spaces_ready_BMPXSFHF_exports);
24
24
  var import_chunk_IKIDS6XF = require("./chunk-IKIDS6XF.cjs");
25
- var import_chunk_XADZLQAJ = require("./chunk-XADZLQAJ.cjs");
26
- var import_chunk_EQ5BPSQ7 = require("./chunk-EQ5BPSQ7.cjs");
25
+ var import_chunk_SCATWJKX = require("./chunk-SCATWJKX.cjs");
26
+ var import_chunk_K6ZO4WDJ = require("./chunk-K6ZO4WDJ.cjs");
27
27
  var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
28
+ var import_effect = require("effect");
28
29
  var import_app_framework = require("@dxos/app-framework");
29
30
  var import_async = require("@dxos/async");
30
31
  var import_echo_schema = require("@dxos/echo-schema");
@@ -44,13 +45,13 @@ var WAIT_FOR_OBJECT_TIMEOUT = 1e3;
44
45
  var spaces_ready_default = async (context) => {
45
46
  const subscriptions = new import_async.SubscriptionList();
46
47
  const spaceSubscriptions = new import_async.SubscriptionList();
47
- const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
48
- const { graph } = context.requestCapability(import_app_framework.Capabilities.AppGraph);
49
- const layout = context.requestCapability(import_app_framework.Capabilities.Layout);
50
- const deck = context.requestCapability(import_plugin_deck.DeckCapabilities.DeckState);
51
- const attention = context.requestCapability(import_plugin_attention.AttentionCapabilities.Attention);
52
- const state = context.requestCapability(import_chunk_IKIDS6XF.SpaceCapabilities.MutableState);
53
- const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
48
+ const { dispatchPromise: dispatch } = context.getCapability(import_app_framework.Capabilities.IntentDispatcher);
49
+ const { graph } = context.getCapability(import_app_framework.Capabilities.AppGraph);
50
+ const layout = context.getCapability(import_app_framework.Capabilities.Layout);
51
+ const deck = context.getCapability(import_plugin_deck.DeckCapabilities.DeckState);
52
+ const attention = context.getCapability(import_plugin_attention.AttentionCapabilities.Attention);
53
+ const state = context.getCapability(import_chunk_IKIDS6XF.SpaceCapabilities.MutableState);
54
+ const client = context.getCapability(import_plugin_client.ClientCapabilities.Client);
54
55
  const defaultSpace = client.spaces.default;
55
56
  await defaultSpace.waitUntilReady();
56
57
  if (deck.activeDeck === "default") {
@@ -59,15 +60,15 @@ var spaces_ready_default = async (context) => {
59
60
  subject: defaultSpace.id
60
61
  }));
61
62
  }
62
- if (typeof defaultSpace.properties[import_chunk_XADZLQAJ.COMPOSER_SPACE_LOCK] !== "boolean") {
63
- defaultSpace.properties[import_chunk_XADZLQAJ.COMPOSER_SPACE_LOCK] = true;
63
+ if (typeof defaultSpace.properties[import_chunk_SCATWJKX.COMPOSER_SPACE_LOCK] !== "boolean") {
64
+ defaultSpace.properties[import_chunk_SCATWJKX.COMPOSER_SPACE_LOCK] = true;
64
65
  }
65
- const { objects: [spacesOrder] } = await defaultSpace.db.query(import_echo.Filter.schema(import_echo_schema.Expando, {
66
- key: import_chunk_XADZLQAJ.SHARED
66
+ const { objects: [spacesOrder] } = await defaultSpace.db.query(import_echo.Filter.type(import_echo_schema.Expando, {
67
+ key: import_chunk_SCATWJKX.SHARED
67
68
  })).run();
68
69
  if (!spacesOrder) {
69
70
  defaultSpace.db.add((0, import_live_object.live)({
70
- key: import_chunk_XADZLQAJ.SHARED,
71
+ key: import_chunk_SCATWJKX.SHARED,
71
72
  order: []
72
73
  }));
73
74
  }
@@ -77,12 +78,12 @@ var spaces_ready_default = async (context) => {
77
78
  if (active.length !== 1) {
78
79
  return;
79
80
  }
80
- const node = graph.findNode(active[0]);
81
+ const node = graph.getNode(active[0]).pipe(import_effect.Option.getOrNull);
81
82
  if (!node && active[0].length === import_echo.FQ_ID_LENGTH) {
82
83
  const timeout = setTimeout(async () => {
83
- const node2 = graph.findNode(active[0]);
84
+ const node2 = graph.getNode(active[0]).pipe(import_effect.Option.getOrNull);
84
85
  if (!node2) {
85
- await dispatch((0, import_app_framework.createIntent)(import_chunk_EQ5BPSQ7.SpaceAction.WaitForObject, {
86
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_K6ZO4WDJ.SpaceAction.WaitForObject, {
86
87
  id: active[0]
87
88
  }));
88
89
  }
@@ -146,7 +147,7 @@ var spaces_ready_default = async (context) => {
146
147
  err: err.message
147
148
  }, {
148
149
  F: __dxlog_file,
149
- L: 155,
150
+ L: 157,
150
151
  S: void 0,
151
152
  C: (f, a) => f(...a)
152
153
  });
@@ -197,7 +198,7 @@ var spaces_ready_default = async (context) => {
197
198
  } catch (err) {
198
199
  import_log.log.catch(err, void 0, {
199
200
  F: __dxlog_file,
200
- L: 223,
201
+ L: 225,
201
202
  S: void 0,
202
203
  C: (f, a) => f(...a)
203
204
  });
@@ -207,4 +208,4 @@ var spaces_ready_default = async (context) => {
207
208
  subscriptions.clear();
208
209
  });
209
210
  };
210
- //# sourceMappingURL=spaces-ready-6EBR4SM4.cjs.map
211
+ //# sourceMappingURL=spaces-ready-BMPXSFHF.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 { Option } from 'effect';\n\nimport { contributes, createIntent, type PluginContext, 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 { live } 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: 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.getCapability(DeckCapabilities.DeckState);\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(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(live({ 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.getNode(active[0]).pipe(Option.getOrNull);\n if (!node && active[0].length === FQ_ID_LENGTH) {\n const timeout = setTimeout(async () => {\n const node = graph.getNode(active[0]).pipe(Option.getOrNull);\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", "getCapability", "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", "type", "Expando", "key", "SHARED", "run", "add", "live", "order", "scheduledEffect", "active", "length", "node", "getNode", "pipe", "Option", "getOrNull", "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,11 +16,11 @@ 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_JLN7TGRR_exports = {};
20
- __export(state_JLN7TGRR_exports, {
19
+ var state_L2ZSDKLS_exports = {};
20
+ __export(state_L2ZSDKLS_exports, {
21
21
  default: () => state_default
22
22
  });
23
- module.exports = __toCommonJS(state_JLN7TGRR_exports);
23
+ module.exports = __toCommonJS(state_L2ZSDKLS_exports);
24
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");
@@ -46,7 +46,7 @@ var state_default = (context) => {
46
46
  key: "enabledEdgeReplication",
47
47
  type: import_local_storage.LocalStorageStore.bool()
48
48
  });
49
- const manager = context.requestCapability(import_app_framework.Capabilities.PluginManager);
49
+ const manager = context.getCapability(import_app_framework.Capabilities.PluginManager);
50
50
  const unsubscribe = (0, import_signals_core.effect)(() => {
51
51
  const enabled = manager.enabled.includes("dxos.org/plugin/stack");
52
52
  if (enabled !== state.values.navigableCollections) {
@@ -58,4 +58,4 @@ var state_default = (context) => {
58
58
  state.close();
59
59
  });
60
60
  };
61
- //# sourceMappingURL=state-JLN7TGRR.cjs.map
61
+ //# sourceMappingURL=state-L2ZSDKLS.cjs.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, contributes, type PluginContext } from '@dxos/app-framework';\nimport { PublicKey } from '@dxos/keys';\nimport { LocalStorageStore } from '@dxos/local-storage';\nimport { ComplexMap } from '@dxos/util';\n\nimport { SpaceCapabilities } from './capabilities';\nimport { SPACE_PLUGIN } from '../meta';\nimport { type PluginState } from '../types';\n\nexport default (context: PluginContext) => {\n const state = new LocalStorageStore<PluginState>(SPACE_PLUGIN, {\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,0BAAuB;AAEvB,2BAA8D;AAC9D,kBAA0B;AAC1B,2BAAkC;AAClC,kBAA2B;AAM3B,IAAA,gBAAe,CAACA,YAAAA;AACd,QAAMC,QAAQ,IAAIC,uCAA+BC,oCAAc;IAC7DC,UAAUC;IACVC,YAAY,CAAC;IACbC,iBAAiB,CAAC;;IAElBC,mBAAmB,IAAIC,uBAAWC,sBAAUC,IAAI;IAChDC,qBAAqB,CAAC;IACtBC,sBAAsB;IACtBC,wBAAwB;EAC1B,CAAA;AAEAb,QACGc,KAAK;IAAEC,KAAK;IAAcC,MAAMf,uCAAkBgB,KAAI;EAA2B,CAAA,EACjFH,KAAK;IAAEC,KAAK;IAA0BC,MAAMf,uCAAkBiB,KAAI;EAAG,CAAA;AAExE,QAAMC,UAAUpB,QAAQqB,cAAcC,kCAAaC,aAAa;AAChE,QAAMC,kBAAcC,4BAAO,MAAA;AAEzB,UAAMC,UAAUN,QAAQM,QAAQC,SAAS,uBAAA;AACzC,QAAID,YAAYzB,MAAM2B,OAAOf,sBAAsB;AACjDZ,YAAM2B,OAAOf,uBAAuBa;IACtC;EACF,CAAA;AAEA,aAAOG,kCAAYC,wCAAkBC,OAAO9B,MAAM2B,QAAQ,MAAA;AACxDJ,gBAAAA;AACAvB,UAAM+B,MAAK;EACb,CAAA;AACF;",
6
+ "names": ["context", "state", "LocalStorageStore", "SPACE_PLUGIN", "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
+ }
@@ -18,23 +18,23 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var types_exports = {};
20
20
  __export(types_exports, {
21
- ChannelType: () => import_chunk_EQ5BPSQ7.ChannelType,
22
- CollectionAction: () => import_chunk_EQ5BPSQ7.CollectionAction,
23
- CollectionType: () => import_chunk_EQ5BPSQ7.CollectionType,
24
- HueAnnotationId: () => import_chunk_EQ5BPSQ7.HueAnnotationId,
25
- IconAnnotationId: () => import_chunk_EQ5BPSQ7.IconAnnotationId,
26
- SPACE_ACTION: () => import_chunk_EQ5BPSQ7.SPACE_ACTION,
27
- SPACE_DIRECTORY_HANDLE: () => import_chunk_EQ5BPSQ7.SPACE_DIRECTORY_HANDLE,
28
- SPACE_TYPE: () => import_chunk_EQ5BPSQ7.SPACE_TYPE,
29
- SpaceAction: () => import_chunk_EQ5BPSQ7.SpaceAction,
30
- SpaceForm: () => import_chunk_EQ5BPSQ7.SpaceForm,
31
- SpaceSettingsSchema: () => import_chunk_EQ5BPSQ7.SpaceSettingsSchema,
32
- ThreadStatus: () => import_chunk_EQ5BPSQ7.ThreadStatus,
33
- ThreadType: () => import_chunk_EQ5BPSQ7.ThreadType,
34
- defineObjectForm: () => import_chunk_EQ5BPSQ7.defineObjectForm
21
+ ChannelType: () => import_chunk_K6ZO4WDJ.ChannelType,
22
+ CollectionAction: () => import_chunk_K6ZO4WDJ.CollectionAction,
23
+ CollectionType: () => import_chunk_K6ZO4WDJ.CollectionType,
24
+ HueAnnotationId: () => import_chunk_K6ZO4WDJ.HueAnnotationId,
25
+ IconAnnotationId: () => import_chunk_K6ZO4WDJ.IconAnnotationId,
26
+ SPACE_ACTION: () => import_chunk_K6ZO4WDJ.SPACE_ACTION,
27
+ SPACE_DIRECTORY_HANDLE: () => import_chunk_K6ZO4WDJ.SPACE_DIRECTORY_HANDLE,
28
+ SPACE_TYPE: () => import_chunk_K6ZO4WDJ.SPACE_TYPE,
29
+ SpaceAction: () => import_chunk_K6ZO4WDJ.SpaceAction,
30
+ SpaceForm: () => import_chunk_K6ZO4WDJ.SpaceForm,
31
+ SpaceSettingsSchema: () => import_chunk_K6ZO4WDJ.SpaceSettingsSchema,
32
+ ThreadStatus: () => import_chunk_K6ZO4WDJ.ThreadStatus,
33
+ ThreadType: () => import_chunk_K6ZO4WDJ.ThreadType,
34
+ defineObjectForm: () => import_chunk_K6ZO4WDJ.defineObjectForm
35
35
  });
36
36
  module.exports = __toCommonJS(types_exports);
37
- var import_chunk_EQ5BPSQ7 = require("../chunk-EQ5BPSQ7.cjs");
37
+ var import_chunk_K6ZO4WDJ = require("../chunk-K6ZO4WDJ.cjs");
38
38
  var import_chunk_6P2DB4QQ = require("../chunk-6P2DB4QQ.cjs");
39
39
  // Annotate the CommonJS export names for ESM import in node:
40
40
  0 && (module.exports = {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["index.cjs"],
4
- "sourcesContent": ["import {\n ChannelType,\n CollectionAction,\n CollectionType,\n HueAnnotationId,\n IconAnnotationId,\n SPACE_ACTION,\n SPACE_DIRECTORY_HANDLE,\n SPACE_TYPE,\n SpaceAction,\n SpaceForm,\n SpaceSettingsSchema,\n ThreadStatus,\n ThreadType,\n defineObjectForm\n} from \"../chunk-EQ5BPSQ7.cjs\";\nimport \"../chunk-6P2DB4QQ.cjs\";\nexport {\n ChannelType,\n CollectionAction,\n CollectionType,\n HueAnnotationId,\n IconAnnotationId,\n SPACE_ACTION,\n SPACE_DIRECTORY_HANDLE,\n SPACE_TYPE,\n SpaceAction,\n SpaceForm,\n SpaceSettingsSchema,\n ThreadStatus,\n ThreadType,\n defineObjectForm\n};\n//# sourceMappingURL=index.cjs.map\n"],
4
+ "sourcesContent": ["import {\n ChannelType,\n CollectionAction,\n CollectionType,\n HueAnnotationId,\n IconAnnotationId,\n SPACE_ACTION,\n SPACE_DIRECTORY_HANDLE,\n SPACE_TYPE,\n SpaceAction,\n SpaceForm,\n SpaceSettingsSchema,\n ThreadStatus,\n ThreadType,\n defineObjectForm\n} from \"../chunk-K6ZO4WDJ.cjs\";\nimport \"../chunk-6P2DB4QQ.cjs\";\nexport {\n ChannelType,\n CollectionAction,\n CollectionType,\n HueAnnotationId,\n IconAnnotationId,\n SPACE_ACTION,\n SPACE_DIRECTORY_HANDLE,\n SPACE_TYPE,\n SpaceAction,\n SpaceForm,\n SpaceSettingsSchema,\n ThreadStatus,\n ThreadType,\n defineObjectForm\n};\n//# sourceMappingURL=index.cjs.map\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAeO;AACP,4BAAO;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,329 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ getActiveSpace
4
+ } from "./chunk-HNKAG5CX.mjs";
5
+ import {
6
+ SpaceCapabilities
7
+ } from "./chunk-PIYAWT5N.mjs";
8
+ import {
9
+ SHARED,
10
+ SPACES,
11
+ constructObjectActions,
12
+ constructSpaceActions,
13
+ constructSpaceNode,
14
+ createObjectNode,
15
+ rxFromQuery
16
+ } from "./chunk-S2W6HS4A.mjs";
17
+ import {
18
+ CollectionType,
19
+ SPACE_TYPE,
20
+ SpaceAction
21
+ } from "./chunk-CLRCW6PU.mjs";
22
+ import {
23
+ SPACE_PLUGIN
24
+ } from "./chunk-MSWEFAPD.mjs";
25
+
26
+ // packages/plugins/plugin-space/src/capabilities/app-graph-builder.ts
27
+ import { Rx } from "@effect-rx/rx-react";
28
+ import { Array, Option, pipe } from "effect";
29
+ import { Capabilities, contributes, createIntent } from "@dxos/app-framework";
30
+ import { Expando, Filter, getSpace, isEchoObject, SpaceState, isSpace } from "@dxos/client/echo";
31
+ import { log } from "@dxos/log";
32
+ import { ClientCapabilities } from "@dxos/plugin-client";
33
+ import { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR } from "@dxos/plugin-deck/types";
34
+ import { createExtension, rxFromObservable, ROOT_ID, rxFromSignal } from "@dxos/plugin-graph";
35
+ import { isNonNullable } from "@dxos/util";
36
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/capabilities/app-graph-builder.ts";
37
+ var app_graph_builder_default = (context) => {
38
+ const resolve = (typename) => context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
39
+ const spacesNode = {
40
+ id: SPACES,
41
+ type: SPACES,
42
+ cacheable: [
43
+ "label",
44
+ "role"
45
+ ],
46
+ properties: {
47
+ label: [
48
+ "spaces label",
49
+ {
50
+ ns: SPACE_PLUGIN
51
+ }
52
+ ],
53
+ icon: "ph--planet--regular",
54
+ testId: "spacePlugin.spaces",
55
+ role: "branch",
56
+ disposition: "collection",
57
+ disabled: true,
58
+ childrenPersistenceClass: "echo",
59
+ onRearrangeChildren: async (nextOrder) => {
60
+ const { graph } = context.getCapability(Capabilities.AppGraph);
61
+ const client = context.getCapability(ClientCapabilities.Client);
62
+ graph.sortEdges(SPACES, "outbound", nextOrder.map(({ id }) => id));
63
+ const { objects: [spacesOrder] } = await client.spaces.default.db.query(Filter.type(Expando, {
64
+ key: SHARED
65
+ })).run();
66
+ if (spacesOrder) {
67
+ spacesOrder.order = nextOrder.map(({ id }) => id);
68
+ } else {
69
+ log.warn("spaces order object not found", void 0, {
70
+ F: __dxlog_file,
71
+ L: 74,
72
+ S: void 0,
73
+ C: (f, a) => f(...a)
74
+ });
75
+ }
76
+ }
77
+ }
78
+ };
79
+ return contributes(Capabilities.AppGraphBuilder, [
80
+ // Primary actions.
81
+ createExtension({
82
+ id: `${SPACE_PLUGIN}/primary-actions`,
83
+ position: "hoist",
84
+ actions: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map(() => [
85
+ {
86
+ id: SpaceAction.OpenCreateSpace._tag,
87
+ data: async () => {
88
+ const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
89
+ await dispatch(createIntent(SpaceAction.OpenCreateSpace));
90
+ },
91
+ properties: {
92
+ label: [
93
+ "create space label",
94
+ {
95
+ ns: SPACE_PLUGIN
96
+ }
97
+ ],
98
+ icon: "ph--plus--regular",
99
+ testId: "spacePlugin.createSpace",
100
+ disposition: "menu"
101
+ }
102
+ },
103
+ {
104
+ id: SpaceAction.Join._tag,
105
+ data: async () => {
106
+ const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
107
+ await dispatch(createIntent(SpaceAction.Join));
108
+ },
109
+ properties: {
110
+ label: [
111
+ "join space label",
112
+ {
113
+ ns: SPACE_PLUGIN
114
+ }
115
+ ],
116
+ icon: "ph--sign-in--regular",
117
+ testId: "spacePlugin.joinSpace",
118
+ disposition: "menu"
119
+ }
120
+ },
121
+ {
122
+ id: SpaceAction.OpenMembers._tag,
123
+ data: async () => {
124
+ const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
125
+ const client = context.getCapability(ClientCapabilities.Client);
126
+ const space = getActiveSpace(context) ?? client.spaces.default;
127
+ await dispatch(createIntent(SpaceAction.OpenMembers, {
128
+ space
129
+ }));
130
+ },
131
+ properties: {
132
+ label: [
133
+ "share space label",
134
+ {
135
+ ns: SPACE_PLUGIN
136
+ }
137
+ ],
138
+ icon: "ph--users--regular",
139
+ testId: "spacePlugin.shareSpace",
140
+ keyBinding: {
141
+ macos: "meta+.",
142
+ windows: "alt+."
143
+ }
144
+ }
145
+ },
146
+ {
147
+ id: SpaceAction.OpenSettings._tag,
148
+ data: async () => {
149
+ const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
150
+ const client = context.getCapability(ClientCapabilities.Client);
151
+ const space = getActiveSpace(context) ?? client.spaces.default;
152
+ await dispatch(createIntent(SpaceAction.OpenSettings, {
153
+ space
154
+ }));
155
+ },
156
+ properties: {
157
+ label: [
158
+ "open current space settings label",
159
+ {
160
+ ns: SPACE_PLUGIN
161
+ }
162
+ ],
163
+ icon: "ph--faders--regular",
164
+ keyBinding: {
165
+ macos: "meta+shift+,",
166
+ windows: "ctrl+shift+,"
167
+ }
168
+ }
169
+ }
170
+ ]), Option.getOrElse(() => [])))
171
+ }),
172
+ // Create spaces group node.
173
+ createExtension({
174
+ id: `${SPACE_PLUGIN}/root`,
175
+ position: "hoist",
176
+ connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map(() => [
177
+ spacesNode
178
+ ]), Option.getOrElse(() => [])))
179
+ }),
180
+ // Create space nodes.
181
+ createExtension({
182
+ id: SPACES,
183
+ connector: (node) => {
184
+ let query;
185
+ return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === SPACES ? Option.some(node2) : Option.none()), Option.map(() => {
186
+ const state = context.getCapability(SpaceCapabilities.State);
187
+ const client = context.getCapability(ClientCapabilities.Client);
188
+ const spacesRx = rxFromObservable(client.spaces);
189
+ const isReadyRx = rxFromObservable(client.spaces.isReady);
190
+ const spaces = get(spacesRx);
191
+ const isReady = get(isReadyRx);
192
+ if (!spaces || !isReady) {
193
+ return [];
194
+ }
195
+ const settings = get(context.capabilities(Capabilities.SettingsStore))[0]?.getStore(SPACE_PLUGIN)?.value;
196
+ try {
197
+ if (!query) {
198
+ query = client.spaces.default.db.query(Filter.type(Expando, {
199
+ key: SHARED
200
+ }));
201
+ }
202
+ const [spacesOrder] = get(rxFromQuery(query));
203
+ return get(rxFromSignal(() => {
204
+ const order = spacesOrder?.order ?? [];
205
+ const orderMap = new Map(order.map((id, index) => [
206
+ id,
207
+ index
208
+ ]));
209
+ return [
210
+ ...spaces.filter((space) => orderMap.has(space.id)).sort((a, b) => orderMap.get(a.id) - orderMap.get(b.id)),
211
+ ...spaces.filter((space) => !orderMap.has(space.id))
212
+ ].filter((space) => settings?.showHidden ? true : space.state.get() !== SpaceState.SPACE_INACTIVE).map((space) => constructSpaceNode({
213
+ space,
214
+ navigable: state.navigableCollections,
215
+ personal: space === client.spaces.default,
216
+ namesCache: state.spaceNames,
217
+ resolve
218
+ }));
219
+ }));
220
+ } catch {
221
+ return [];
222
+ }
223
+ }), Option.getOrElse(() => [])));
224
+ }
225
+ }),
226
+ // Create space actions.
227
+ createExtension({
228
+ id: `${SPACE_PLUGIN}/actions`,
229
+ actions: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.type === SPACE_TYPE && isSpace(node2.data) ? Option.some(node2.data) : Option.none()), Option.flatMap((space) => {
230
+ const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));
231
+ const [client] = get(context.capabilities(ClientCapabilities.Client));
232
+ const [state] = get(context.capabilities(SpaceCapabilities.State));
233
+ if (!dispatcher || !client || !state) {
234
+ return Option.none();
235
+ } else {
236
+ return Option.some({
237
+ space,
238
+ dispatch: dispatcher.dispatchPromise,
239
+ personal: space === client.spaces.default,
240
+ migrating: state.sdkMigrationRunning[space.id]
241
+ });
242
+ }
243
+ }), Option.map((params) => constructSpaceActions(params)), Option.getOrElse(() => [])))
244
+ }),
245
+ // Create nodes for objects in the root collection of a space.
246
+ createExtension({
247
+ id: `${SPACE_PLUGIN}/root-collection`,
248
+ connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.type === SPACE_TYPE && isSpace(node2.data) ? Option.some(node2.data) : Option.none()), Option.map((space) => {
249
+ const state = context.getCapability(SpaceCapabilities.State);
250
+ const spaceState = get(rxFromObservable(space.state));
251
+ if (spaceState !== SpaceState.SPACE_READY) {
252
+ return [];
253
+ }
254
+ const collection = get(rxFromSignal(() => space.properties[CollectionType.typename]?.target));
255
+ if (!collection) {
256
+ return [];
257
+ }
258
+ return get(rxFromSignal(() => pipe(collection.objects, Array.map((object) => object.target), Array.filter(isNonNullable), Array.map((object) => createObjectNode({
259
+ object,
260
+ space,
261
+ resolve,
262
+ navigable: state.navigableCollections
263
+ })), Array.filter(isNonNullable))));
264
+ }), Option.getOrElse(() => [])))
265
+ }),
266
+ // Create nodes for objects in a collection or by its fully qualified id.
267
+ createExtension({
268
+ id: `${SPACE_PLUGIN}/objects`,
269
+ connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.data instanceof CollectionType ? Option.some(node2.data) : Option.none()), Option.map((collection) => {
270
+ const state = context.getCapability(SpaceCapabilities.State);
271
+ const space = getSpace(collection);
272
+ return get(rxFromSignal(() => pipe(collection.objects, Array.map((object) => object.target), Array.filter(isNonNullable), Array.map((object) => space && createObjectNode({
273
+ object,
274
+ space,
275
+ resolve,
276
+ navigable: state.navigableCollections
277
+ })), Array.filter(isNonNullable))));
278
+ }), Option.getOrElse(() => [])))
279
+ }),
280
+ // Create collection actions and action groups.
281
+ createExtension({
282
+ id: `${SPACE_PLUGIN}/object-actions`,
283
+ actions: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => isEchoObject(node2.data) ? Option.some(node2.data) : Option.none()), Option.flatMap((object) => {
284
+ const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));
285
+ const [appGraph] = get(context.capabilities(Capabilities.AppGraph));
286
+ const [state] = get(context.capabilities(SpaceCapabilities.State));
287
+ if (!dispatcher || !appGraph || !state) {
288
+ return Option.none();
289
+ } else {
290
+ return Option.some({
291
+ object,
292
+ graph: appGraph.graph,
293
+ dispatch: dispatcher.dispatchPromise,
294
+ navigable: get(rxFromSignal(() => state.navigableCollections))
295
+ });
296
+ }
297
+ }), Option.map((params) => constructObjectActions(params)), Option.getOrElse(() => [])))
298
+ }),
299
+ // Object settings plank companion.
300
+ createExtension({
301
+ id: `${SPACE_PLUGIN}/settings`,
302
+ connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => isEchoObject(node2.data) ? Option.some(node2) : Option.none()), Option.map((node2) => [
303
+ {
304
+ id: [
305
+ node2.id,
306
+ "settings"
307
+ ].join(ATTENDABLE_PATH_SEPARATOR),
308
+ type: PLANK_COMPANION_TYPE,
309
+ data: "settings",
310
+ properties: {
311
+ label: [
312
+ "object settings label",
313
+ {
314
+ ns: SPACE_PLUGIN
315
+ }
316
+ ],
317
+ icon: "ph--sliders--regular",
318
+ disposition: "hidden",
319
+ position: "fallback"
320
+ }
321
+ }
322
+ ]), Option.getOrElse(() => [])))
323
+ })
324
+ ]);
325
+ };
326
+ export {
327
+ app_graph_builder_default as default
328
+ };
329
+ //# sourceMappingURL=app-graph-builder-WVCQZ324.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Rx } from '@effect-rx/rx-react';\nimport { Array, Option, pipe } from 'effect';\n\nimport { Capabilities, contributes, createIntent, type PluginContext } from '@dxos/app-framework';\nimport {\n Expando,\n Filter,\n getSpace,\n isEchoObject,\n SpaceState,\n type Space,\n isSpace,\n type QueryResult,\n} from '@dxos/client/echo';\nimport { log } from '@dxos/log';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';\nimport { createExtension, rxFromObservable, ROOT_ID, rxFromSignal } from '@dxos/plugin-graph';\nimport { isNonNullable } from '@dxos/util';\n\nimport { SpaceCapabilities } from './capabilities';\nimport { getActiveSpace } from '../hooks';\nimport { SPACE_PLUGIN } from '../meta';\nimport { CollectionType, SPACE_TYPE, SpaceAction, type SpaceSettingsProps } from '../types';\nimport {\n constructObjectActions,\n constructSpaceActions,\n constructSpaceNode,\n createObjectNode,\n rxFromQuery,\n SHARED,\n SPACES,\n} from '../util';\n\nexport default (context: PluginContext) => {\n const resolve = (typename: string) =>\n context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};\n\n const spacesNode = {\n id: SPACES,\n type: SPACES,\n cacheable: ['label', 'role'],\n properties: {\n label: ['spaces label', { ns: SPACE_PLUGIN }],\n icon: 'ph--planet--regular',\n testId: 'spacePlugin.spaces',\n role: 'branch',\n disposition: 'collection',\n disabled: true,\n childrenPersistenceClass: 'echo',\n onRearrangeChildren: async (nextOrder: Space[]) => {\n const { graph } = context.getCapability(Capabilities.AppGraph);\n const client = context.getCapability(ClientCapabilities.Client);\n\n // NOTE: This is needed to ensure order is updated by next animation frame.\n // TODO(wittjosiah): Is there a better way to do this?\n // If not, graph should be passed as an argument to the extension.\n graph.sortEdges(\n SPACES,\n 'outbound',\n nextOrder.map(({ id }) => id),\n );\n\n const {\n objects: [spacesOrder],\n } = await client.spaces.default.db.query(Filter.type(Expando, { key: SHARED })).run();\n if (spacesOrder) {\n spacesOrder.order = nextOrder.map(({ id }) => id);\n } else {\n log.warn('spaces order object not found');\n }\n },\n },\n };\n\n return contributes(Capabilities.AppGraphBuilder, [\n // Primary actions.\n createExtension({\n id: `${SPACE_PLUGIN}/primary-actions`,\n position: 'hoist',\n actions: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),\n Option.map(() => [\n {\n id: SpaceAction.OpenCreateSpace._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SpaceAction.OpenCreateSpace));\n },\n properties: {\n label: ['create space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n testId: 'spacePlugin.createSpace',\n disposition: 'menu',\n },\n },\n {\n id: SpaceAction.Join._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SpaceAction.Join));\n },\n properties: {\n label: ['join space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sign-in--regular',\n testId: 'spacePlugin.joinSpace',\n disposition: 'menu',\n },\n },\n {\n id: SpaceAction.OpenMembers._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const client = context.getCapability(ClientCapabilities.Client);\n const space = getActiveSpace(context) ?? client.spaces.default;\n await dispatch(createIntent(SpaceAction.OpenMembers, { space }));\n },\n properties: {\n label: ['share space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--users--regular',\n testId: 'spacePlugin.shareSpace',\n keyBinding: {\n macos: 'meta+.',\n windows: 'alt+.',\n },\n },\n },\n {\n id: SpaceAction.OpenSettings._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const client = context.getCapability(ClientCapabilities.Client);\n const space = getActiveSpace(context) ?? client.spaces.default;\n await dispatch(createIntent(SpaceAction.OpenSettings, { space }));\n },\n properties: {\n label: ['open current space settings label', { ns: SPACE_PLUGIN }],\n icon: 'ph--faders--regular',\n keyBinding: {\n macos: 'meta+shift+,',\n windows: 'ctrl+shift+,',\n },\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n // Create spaces group node.\n createExtension({\n id: `${SPACE_PLUGIN}/root`,\n position: 'hoist',\n connector: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),\n Option.map(() => [spacesNode]),\n Option.getOrElse(() => []),\n ),\n ),\n // resolver: ({ id }) => (id === SPACES ? spacesNode : undefined),\n }),\n\n // Create space nodes.\n createExtension({\n id: SPACES,\n connector: (node) => {\n let query: QueryResult<Expando> | undefined;\n return Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (node.id === SPACES ? Option.some(node) : Option.none())),\n Option.map(() => {\n const state = context.getCapability(SpaceCapabilities.State);\n const client = context.getCapability(ClientCapabilities.Client);\n const spacesRx = rxFromObservable(client.spaces);\n const isReadyRx = rxFromObservable(client.spaces.isReady);\n\n const spaces = get(spacesRx);\n const isReady = get(isReadyRx);\n\n if (!spaces || !isReady) {\n return [];\n }\n\n const settings = get(context.capabilities(Capabilities.SettingsStore))[0]?.getStore<SpaceSettingsProps>(\n SPACE_PLUGIN,\n )?.value;\n\n // TODO(wittjosiah): During client reset, accessing default space throws.\n try {\n if (!query) {\n query = client.spaces.default.db.query(Filter.type(Expando, { key: SHARED }));\n }\n const [spacesOrder] = get(rxFromQuery(query));\n return get(\n rxFromSignal(() => {\n const order: string[] = spacesOrder?.order ?? [];\n const orderMap = new Map(order.map((id, index) => [id, index]));\n return [\n ...spaces\n .filter((space) => orderMap.has(space.id))\n .sort((a, b) => orderMap.get(a.id)! - orderMap.get(b.id)!),\n ...spaces.filter((space) => !orderMap.has(space.id)),\n ]\n .filter((space) =>\n settings?.showHidden ? true : space.state.get() !== SpaceState.SPACE_INACTIVE,\n )\n .map((space) =>\n constructSpaceNode({\n space,\n navigable: state.navigableCollections,\n personal: space === client.spaces.default,\n namesCache: state.spaceNames,\n resolve,\n }),\n );\n }),\n );\n } catch {\n return [];\n }\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n // resolver: ({ id }) => {\n // if (id.length !== SPACE_ID_LENGTH) {\n // return;\n // }\n\n // const client = context.requestCapability(ClientCapabilities.Client);\n // const spaces = toSignal(\n // (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n // () => client.spaces.get(),\n // );\n\n // const isReady = toSignal(\n // (onChange) => client.spaces.isReady.subscribe(() => onChange()).unsubscribe,\n // () => client.spaces.isReady.get(),\n // );\n\n // if (!spaces || !isReady) {\n // return;\n // }\n\n // const space = spaces.find((space) => space.id === id);\n // if (!space) {\n // return;\n // }\n\n // if (space.state.get() === SpaceState.SPACE_INACTIVE) {\n // return false;\n // } else if (space.state.get() !== SpaceState.SPACE_READY) {\n // return undefined;\n // } else {\n // const state = context.requestCapability(SpaceCapabilities.State);\n // return constructSpaceNode({\n // space,\n // navigable: state.navigableCollections,\n // personal: space === client.spaces.default,\n // namesCache: state.spaceNames,\n // resolve,\n // });\n // }\n // },\n }),\n\n // Create space actions.\n createExtension({\n id: `${SPACE_PLUGIN}/actions`,\n actions: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) =>\n node.type === SPACE_TYPE && isSpace(node.data) ? Option.some(node.data) : Option.none(),\n ),\n Option.flatMap((space) => {\n const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));\n const [client] = get(context.capabilities(ClientCapabilities.Client));\n const [state] = get(context.capabilities(SpaceCapabilities.State));\n\n if (!dispatcher || !client || !state) {\n return Option.none();\n } else {\n return Option.some({\n space,\n dispatch: dispatcher.dispatchPromise,\n personal: space === client.spaces.default,\n migrating: state.sdkMigrationRunning[space.id],\n });\n }\n }),\n Option.map((params) => constructSpaceActions(params)),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n // Create nodes for objects in the root collection of a space.\n createExtension({\n id: `${SPACE_PLUGIN}/root-collection`,\n connector: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) =>\n node.type === SPACE_TYPE && isSpace(node.data) ? Option.some(node.data) : Option.none(),\n ),\n Option.map((space) => {\n const state = context.getCapability(SpaceCapabilities.State);\n\n const spaceState = get(rxFromObservable(space.state));\n if (spaceState !== SpaceState.SPACE_READY) {\n return [];\n }\n\n const collection = get(\n rxFromSignal(() => space.properties[CollectionType.typename]?.target as CollectionType | undefined),\n );\n if (!collection) {\n return [];\n }\n\n return get(\n rxFromSignal(() =>\n pipe(\n collection.objects,\n Array.map((object) => object.target),\n Array.filter(isNonNullable),\n Array.map((object) =>\n createObjectNode({\n object,\n space,\n resolve,\n navigable: state.navigableCollections,\n }),\n ),\n Array.filter(isNonNullable),\n ),\n ),\n );\n }),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n // Create nodes for objects in a collection or by its fully qualified id.\n createExtension({\n id: `${SPACE_PLUGIN}/objects`,\n connector: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (node.data instanceof CollectionType ? Option.some(node.data) : Option.none())),\n Option.map((collection) => {\n const state = context.getCapability(SpaceCapabilities.State);\n const space = getSpace(collection);\n\n return get(\n rxFromSignal(() =>\n pipe(\n collection.objects,\n Array.map((object) => object.target),\n Array.filter(isNonNullable),\n Array.map(\n (object) =>\n space && createObjectNode({ object, space, resolve, navigable: state.navigableCollections }),\n ),\n Array.filter(isNonNullable),\n ),\n ),\n );\n }),\n Option.getOrElse(() => []),\n ),\n ),\n // resolver: ({ id }) => {\n // if (id.length !== FQ_ID_LENGTH) {\n // return;\n // }\n\n // const [spaceId, objectId] = id.split(':');\n // if (spaceId.length !== SPACE_ID_LENGTH && objectId.length !== OBJECT_ID_LENGTH) {\n // return;\n // }\n\n // const client = context.requestCapability(ClientCapabilities.Client);\n // const space = client.spaces.get().find((space) => space.id === spaceId);\n // if (!space) {\n // return;\n // }\n\n // const spaceState = toSignal(\n // (onChange) => space.state.subscribe(() => onChange()).unsubscribe,\n // () => space.state.get(),\n // space.id,\n // );\n // if (spaceState !== SpaceState.SPACE_READY) {\n // return;\n // }\n\n // const [object] = memoizeQuery(space, Query.select(Filter.ids(objectId)));\n // if (!object) {\n // return;\n // }\n\n // if (isDeleted(object)) {\n // return false;\n // } else {\n // const state = context.requestCapability(SpaceCapabilities.State);\n // return createObjectNode({ object, space, resolve, navigable: state.navigableCollections });\n // }\n // },\n }),\n\n // Create collection actions and action groups.\n createExtension({\n id: `${SPACE_PLUGIN}/object-actions`,\n actions: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (isEchoObject(node.data) ? Option.some(node.data) : Option.none())),\n Option.flatMap((object) => {\n const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));\n const [appGraph] = get(context.capabilities(Capabilities.AppGraph));\n const [state] = get(context.capabilities(SpaceCapabilities.State));\n\n if (!dispatcher || !appGraph || !state) {\n return Option.none();\n } else {\n return Option.some({\n object,\n graph: appGraph.graph,\n dispatch: dispatcher.dispatchPromise,\n navigable: get(rxFromSignal(() => state.navigableCollections)),\n });\n }\n }),\n Option.map((params) => constructObjectActions(params)),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n // Object settings plank companion.\n createExtension({\n id: `${SPACE_PLUGIN}/settings`,\n connector: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (isEchoObject(node.data) ? Option.some(node) : Option.none())),\n Option.map((node) => [\n {\n id: [node.id, 'settings'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'settings',\n properties: {\n label: ['object settings label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sliders--regular',\n disposition: 'hidden',\n position: 'fallback',\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n ]);\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Rx", "Array", "Option", "pipe", "Capabilities", "contributes", "createIntent", "Expando", "Filter", "getSpace", "isEchoObject", "SpaceState", "isSpace", "log", "ClientCapabilities", "PLANK_COMPANION_TYPE", "ATTENDABLE_PATH_SEPARATOR", "createExtension", "rxFromObservable", "ROOT_ID", "rxFromSignal", "isNonNullable", "context", "resolve", "typename", "getCapabilities", "Capabilities", "Metadata", "find", "id", "metadata", "spacesNode", "SPACES", "type", "cacheable", "properties", "label", "ns", "SPACE_PLUGIN", "icon", "testId", "role", "disposition", "disabled", "childrenPersistenceClass", "onRearrangeChildren", "nextOrder", "graph", "getCapability", "AppGraph", "client", "ClientCapabilities", "Client", "sortEdges", "map", "objects", "spacesOrder", "spaces", "default", "db", "query", "Filter", "Expando", "key", "SHARED", "run", "order", "log", "warn", "contributes", "AppGraphBuilder", "createExtension", "position", "actions", "node", "Rx", "make", "get", "pipe", "Option", "flatMap", "ROOT_ID", "some", "none", "SpaceAction", "OpenCreateSpace", "_tag", "data", "dispatchPromise", "dispatch", "IntentDispatcher", "createIntent", "Join", "OpenMembers", "space", "getActiveSpace", "keyBinding", "macos", "windows", "OpenSettings", "getOrElse", "connector", "state", "SpaceCapabilities", "State", "spacesRx", "rxFromObservable", "isReadyRx", "isReady", "settings", "capabilities", "SettingsStore", "getStore", "value", "rxFromQuery", "rxFromSignal", "orderMap", "Map", "index", "filter", "has", "sort", "a", "b", "showHidden", "SpaceState", "SPACE_INACTIVE", "constructSpaceNode", "navigable", "navigableCollections", "personal", "namesCache", "spaceNames", "SPACE_TYPE", "isSpace", "dispatcher", "migrating", "sdkMigrationRunning", "params", "constructSpaceActions", "spaceState", "SPACE_READY", "collection", "CollectionType", "target", "Array", "object", "isNonNullable", "createObjectNode", "getSpace", "isEchoObject", "appGraph", "constructObjectActions", "join", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE"]
7
+ }