@dxos/plugin-space 0.8.2-main.f11618f → 0.8.2-staging.42af850

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 (290) hide show
  1. package/dist/lib/browser/app-graph-builder-DCWUULKX.mjs +328 -0
  2. package/dist/lib/browser/app-graph-builder-DCWUULKX.mjs.map +7 -0
  3. package/dist/lib/browser/{app-graph-serializer-UUJH7JRN.mjs → app-graph-serializer-MLU7XI2P.mjs} +6 -6
  4. package/dist/lib/browser/app-graph-serializer-MLU7XI2P.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-KVRYWFZU.mjs → chunk-3LN4LJN6.mjs} +3 -8
  6. package/dist/lib/{node-esm/chunk-PIYAWT5N.mjs.map → browser/chunk-3LN4LJN6.mjs.map} +3 -3
  7. package/dist/lib/browser/chunk-7Y4M7GXO.mjs +94 -0
  8. package/dist/lib/browser/chunk-7Y4M7GXO.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-JS6ZV4GV.mjs → chunk-N5QMRLKI.mjs} +24 -38
  10. package/dist/lib/browser/chunk-N5QMRLKI.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-Q4BTFH2P.mjs +1900 -0
  12. package/dist/lib/browser/chunk-Q4BTFH2P.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-DIJ7LMCS.mjs → chunk-VEBKN45O.mjs} +3 -4
  14. package/dist/lib/browser/chunk-VEBKN45O.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-W46VVHFM.mjs +288 -0
  16. package/dist/lib/browser/chunk-W46VVHFM.mjs.map +7 -0
  17. package/dist/lib/browser/{identity-created-NRVE4XLL.mjs → identity-created-O63SIYOF.mjs} +3 -3
  18. package/dist/lib/browser/identity-created-O63SIYOF.mjs.map +7 -0
  19. package/dist/lib/browser/index.mjs +27 -26
  20. package/dist/lib/browser/index.mjs.map +3 -3
  21. package/dist/lib/browser/{intent-resolver-NP55M7C7.mjs → intent-resolver-KBF3YU6I.mjs} +33 -35
  22. package/dist/lib/browser/intent-resolver-KBF3YU6I.mjs.map +7 -0
  23. package/dist/lib/browser/meta.json +1 -1
  24. package/dist/lib/browser/{react-root-XKAUZ3X2.mjs → react-root-PVKJE4EZ.mjs} +6 -5
  25. package/dist/lib/browser/{react-surface-2DW2UDRX.mjs → react-surface-252P4NCK.mjs} +6 -13
  26. package/dist/lib/browser/react-surface-252P4NCK.mjs.map +7 -0
  27. package/dist/lib/browser/schema-defs-JMN74RNK.mjs +26 -0
  28. package/dist/lib/browser/schema-defs-JMN74RNK.mjs.map +7 -0
  29. package/dist/lib/browser/{schema-tools-YAXPRIXP.mjs → schema-tools-JIEMHUXV.mjs} +26 -26
  30. package/dist/lib/browser/schema-tools-JIEMHUXV.mjs.map +7 -0
  31. package/dist/lib/browser/{settings-MVT32NP6.mjs → settings-2IN2WLUK.mjs} +2 -2
  32. package/dist/lib/browser/{spaces-ready-ERNSICUW.mjs → spaces-ready-L4QAGTDE.mjs} +18 -17
  33. package/dist/lib/browser/spaces-ready-L4QAGTDE.mjs.map +7 -0
  34. package/dist/lib/browser/{state-CYV6QCTN.mjs → state-6HOSHLIN.mjs} +3 -3
  35. package/dist/lib/browser/state-6HOSHLIN.mjs.map +7 -0
  36. package/dist/lib/browser/types/index.mjs +1 -7
  37. package/dist/lib/node/app-graph-builder-WC445X77.cjs +328 -0
  38. package/dist/lib/node/app-graph-builder-WC445X77.cjs.map +7 -0
  39. package/dist/lib/node/{app-graph-serializer-M6Z2OPA4.cjs → app-graph-serializer-UPQOQVMJ.cjs} +22 -22
  40. package/dist/lib/node/app-graph-serializer-UPQOQVMJ.cjs.map +7 -0
  41. package/dist/lib/node/chunk-5WLAXYE3.cjs +125 -0
  42. package/dist/lib/node/chunk-5WLAXYE3.cjs.map +7 -0
  43. package/dist/lib/node/{chunk-IKIDS6XF.cjs → chunk-7GQGM4ZF.cjs} +7 -13
  44. package/dist/lib/node/{chunk-IKIDS6XF.cjs.map → chunk-7GQGM4ZF.cjs.map} +3 -3
  45. package/dist/lib/node/{chunk-XADZLQAJ.cjs → chunk-COQYISES.cjs} +46 -61
  46. package/dist/lib/node/chunk-COQYISES.cjs.map +7 -0
  47. package/dist/lib/node/{chunk-UOCR4G2D.cjs → chunk-DXL5TDFP.cjs} +7 -8
  48. package/dist/lib/node/chunk-DXL5TDFP.cjs.map +7 -0
  49. package/dist/lib/node/chunk-FXHI7JNY.cjs +315 -0
  50. package/dist/lib/node/chunk-FXHI7JNY.cjs.map +7 -0
  51. package/dist/lib/node/chunk-Q3YZEYZT.cjs +1904 -0
  52. package/dist/lib/node/chunk-Q3YZEYZT.cjs.map +7 -0
  53. package/dist/lib/node/{identity-created-YDTRMOMX.cjs → identity-created-UXEAUGC7.cjs} +7 -7
  54. package/dist/lib/node/identity-created-UXEAUGC7.cjs.map +7 -0
  55. package/dist/lib/node/index.cjs +77 -78
  56. package/dist/lib/node/index.cjs.map +3 -3
  57. package/dist/lib/node/{intent-resolver-3J52ARFL.cjs → intent-resolver-SVFJKUH7.cjs} +80 -81
  58. package/dist/lib/node/intent-resolver-SVFJKUH7.cjs.map +7 -0
  59. package/dist/lib/node/meta.json +1 -1
  60. package/dist/lib/node/{react-root-XUE2J7HT.cjs → react-root-DDPDUMCG.cjs} +11 -10
  61. package/dist/lib/node/{react-root-XUE2J7HT.cjs.map → react-root-DDPDUMCG.cjs.map} +1 -1
  62. package/dist/lib/node/{react-surface-IWSTOZ2E.cjs → react-surface-JUIU37BX.cjs} +44 -49
  63. package/dist/lib/node/react-surface-JUIU37BX.cjs.map +7 -0
  64. package/dist/lib/node/{schema-PPJ5BZ3A.cjs → schema-defs-XLFBG3XK.cjs} +14 -12
  65. package/dist/lib/node/schema-defs-XLFBG3XK.cjs.map +7 -0
  66. package/dist/lib/node/{schema-tools-BLIMOZYY.cjs → schema-tools-ZG6Z2QRC.cjs} +32 -32
  67. package/dist/lib/node/schema-tools-ZG6Z2QRC.cjs.map +7 -0
  68. package/dist/lib/node/{settings-JLV7YT6Q.cjs → settings-FOH7EB5C.cjs} +6 -6
  69. package/dist/lib/node/{spaces-ready-6EBR4SM4.cjs → spaces-ready-VXQYCBII.cjs} +26 -25
  70. package/dist/lib/node/spaces-ready-VXQYCBII.cjs.map +7 -0
  71. package/dist/lib/node/{state-JLN7TGRR.cjs → state-ZT3MTZXB.cjs} +7 -7
  72. package/dist/lib/node/state-ZT3MTZXB.cjs.map +7 -0
  73. package/dist/lib/node/types/index.cjs +12 -18
  74. package/dist/lib/node/types/index.cjs.map +2 -2
  75. package/dist/lib/node-esm/app-graph-builder-E7CCGPQJ.mjs +329 -0
  76. package/dist/lib/node-esm/app-graph-builder-E7CCGPQJ.mjs.map +7 -0
  77. package/dist/lib/node-esm/{app-graph-serializer-J3B4WSXU.mjs → app-graph-serializer-UCMSLPIA.mjs} +6 -6
  78. package/dist/lib/node-esm/app-graph-serializer-UCMSLPIA.mjs.map +7 -0
  79. package/dist/lib/node-esm/{chunk-PIYAWT5N.mjs → chunk-4X4Y63ND.mjs} +3 -8
  80. package/dist/lib/{browser/chunk-KVRYWFZU.mjs.map → node-esm/chunk-4X4Y63ND.mjs.map} +3 -3
  81. package/dist/lib/node-esm/chunk-FTELJGEG.mjs +289 -0
  82. package/dist/lib/node-esm/chunk-FTELJGEG.mjs.map +7 -0
  83. package/dist/lib/node-esm/chunk-GH2FGJXH.mjs +96 -0
  84. package/dist/lib/node-esm/chunk-GH2FGJXH.mjs.map +7 -0
  85. package/dist/lib/node-esm/chunk-HL2Z2GNW.mjs +1901 -0
  86. package/dist/lib/node-esm/chunk-HL2Z2GNW.mjs.map +7 -0
  87. package/dist/lib/node-esm/{chunk-OLISVDCF.mjs → chunk-OSPEGYX3.mjs} +3 -4
  88. package/dist/lib/node-esm/chunk-OSPEGYX3.mjs.map +7 -0
  89. package/dist/lib/node-esm/{chunk-ABTVMAG5.mjs → chunk-XAZNQ3QN.mjs} +24 -38
  90. package/dist/lib/node-esm/chunk-XAZNQ3QN.mjs.map +7 -0
  91. package/dist/lib/node-esm/{identity-created-EC6SVYB5.mjs → identity-created-ZECO4NH3.mjs} +3 -3
  92. package/dist/lib/node-esm/identity-created-ZECO4NH3.mjs.map +7 -0
  93. package/dist/lib/node-esm/index.mjs +27 -26
  94. package/dist/lib/node-esm/index.mjs.map +3 -3
  95. package/dist/lib/node-esm/{intent-resolver-MXQIFIRC.mjs → intent-resolver-K2UDBF2R.mjs} +33 -35
  96. package/dist/lib/node-esm/intent-resolver-K2UDBF2R.mjs.map +7 -0
  97. package/dist/lib/node-esm/meta.json +1 -1
  98. package/dist/lib/node-esm/{react-root-ZBCJCEFS.mjs → react-root-6F7B3OVO.mjs} +6 -5
  99. package/dist/lib/{browser/react-root-XKAUZ3X2.mjs.map → node-esm/react-root-6F7B3OVO.mjs.map} +1 -1
  100. package/dist/lib/node-esm/{react-surface-JCHDAPGM.mjs → react-surface-NP3Y6BNZ.mjs} +6 -13
  101. package/dist/lib/node-esm/react-surface-NP3Y6BNZ.mjs.map +7 -0
  102. package/dist/lib/node-esm/schema-defs-QZJS6UXN.mjs +27 -0
  103. package/dist/lib/node-esm/schema-defs-QZJS6UXN.mjs.map +7 -0
  104. package/dist/lib/node-esm/{schema-tools-IU7EX5A5.mjs → schema-tools-2Y4D42PD.mjs} +26 -26
  105. package/dist/lib/node-esm/schema-tools-2Y4D42PD.mjs.map +7 -0
  106. package/dist/lib/node-esm/{settings-AILIMHTE.mjs → settings-Q4XDFSYD.mjs} +2 -2
  107. package/dist/lib/node-esm/{spaces-ready-5PXESKHX.mjs → spaces-ready-JHKPD4PH.mjs} +18 -17
  108. package/dist/lib/node-esm/spaces-ready-JHKPD4PH.mjs.map +7 -0
  109. package/dist/lib/node-esm/{state-YZPY5T5A.mjs → state-4ATRHSKA.mjs} +3 -3
  110. package/dist/lib/node-esm/state-4ATRHSKA.mjs.map +7 -0
  111. package/dist/lib/node-esm/types/index.mjs +1 -7
  112. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  113. package/dist/types/src/capabilities/app-graph-builder.d.ts +2 -179
  114. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  115. package/dist/types/src/capabilities/app-graph-serializer.d.ts +2 -2
  116. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  117. package/dist/types/src/capabilities/capabilities.d.ts +0 -8
  118. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  119. package/dist/types/src/capabilities/identity-created.d.ts +2 -2
  120. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
  121. package/dist/types/src/capabilities/index.d.ts +8 -184
  122. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  123. package/dist/types/src/capabilities/intent-resolver.d.ts +2 -2
  124. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  125. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  126. package/dist/types/src/capabilities/schema-defs.d.ts +4 -0
  127. package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -0
  128. package/dist/types/src/capabilities/schema-tools.d.ts +3 -3
  129. package/dist/types/src/capabilities/schema-tools.d.ts.map +1 -1
  130. package/dist/types/src/capabilities/spaces-ready.d.ts +2 -2
  131. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  132. package/dist/types/src/capabilities/state.d.ts +2 -2
  133. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  134. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  135. package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
  136. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  137. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  138. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  139. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  140. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  141. package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
  142. package/dist/types/src/components/MembersContainer.stories.d.ts.map +1 -1
  143. package/dist/types/src/components/MenuFooter.d.ts +2 -2
  144. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  145. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts +2 -2
  146. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  147. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +2 -2
  148. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
  149. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +1 -1
  150. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts +2 -2
  151. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -1
  152. package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
  153. package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
  154. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
  155. package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
  156. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  157. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  158. package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
  159. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  160. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +1 -1
  161. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  162. package/dist/types/src/components/SyncStatus/save-tracker.d.ts.map +1 -1
  163. package/dist/types/src/components/SyncStatus/status.d.ts.map +1 -1
  164. package/dist/types/src/components/index.d.ts +0 -1
  165. package/dist/types/src/components/index.d.ts.map +1 -1
  166. package/dist/types/src/hooks/index.d.ts +1 -0
  167. package/dist/types/src/hooks/index.d.ts.map +1 -1
  168. package/dist/types/src/hooks/useActiveSpace.d.ts +4 -0
  169. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -0
  170. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +2 -2
  171. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  172. package/dist/types/src/hooks/usePath.d.ts +3 -2
  173. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  174. package/dist/types/src/index.d.ts +3 -2
  175. package/dist/types/src/index.d.ts.map +1 -1
  176. package/dist/types/src/translations.d.ts +2 -263
  177. package/dist/types/src/translations.d.ts.map +1 -1
  178. package/dist/types/src/types/collection.d.ts +9 -8
  179. package/dist/types/src/types/collection.d.ts.map +1 -1
  180. package/dist/types/src/types/index.d.ts +0 -1
  181. package/dist/types/src/types/index.d.ts.map +1 -1
  182. package/dist/types/src/types/types.d.ts +161 -160
  183. package/dist/types/src/types/types.d.ts.map +1 -1
  184. package/dist/types/src/util.d.ts +10 -16
  185. package/dist/types/src/util.d.ts.map +1 -1
  186. package/dist/types/tsconfig.tsbuildinfo +1 -1
  187. package/package.json +54 -48
  188. package/src/SpacePlugin.tsx +8 -7
  189. package/src/capabilities/app-graph-builder.ts +376 -268
  190. package/src/capabilities/app-graph-serializer.ts +4 -4
  191. package/src/capabilities/capabilities.ts +0 -9
  192. package/src/capabilities/identity-created.ts +3 -3
  193. package/src/capabilities/index.ts +2 -2
  194. package/src/capabilities/intent-resolver.ts +22 -29
  195. package/src/capabilities/react-surface.tsx +15 -23
  196. package/src/capabilities/schema-defs.ts +30 -0
  197. package/src/capabilities/schema-tool.test.ts +2 -3
  198. package/src/capabilities/schema-tools.ts +29 -29
  199. package/src/capabilities/spaces-ready.ts +15 -13
  200. package/src/capabilities/state.ts +3 -3
  201. package/src/components/AwaitingObject.tsx +1 -1
  202. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +2 -2
  203. package/src/components/CreateDialog/CreateObjectDialog.tsx +1 -1
  204. package/src/components/CreateDialog/CreateSpaceDialog.tsx +2 -3
  205. package/src/components/MembersContainer.stories.tsx +1 -5
  206. package/src/components/MenuFooter.tsx +2 -2
  207. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +4 -4
  208. package/src/components/ObjectSettings/BaseObjectSettings.tsx +2 -2
  209. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +4 -4
  210. package/src/components/PersistenceStatus.tsx +11 -14
  211. package/src/components/PopoverRenameObject.tsx +1 -1
  212. package/src/components/PopoverRenameSpace.tsx +1 -1
  213. package/src/components/SpacePresence.stories.tsx +1 -1
  214. package/src/components/SpacePresence.tsx +34 -43
  215. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +5 -3
  216. package/src/components/SyncStatus/InlineSyncStatus.tsx +10 -17
  217. package/src/components/index.ts +0 -1
  218. package/src/hooks/index.ts +1 -0
  219. package/src/hooks/useActiveSpace.ts +20 -0
  220. package/src/hooks/useInputSurfaceLookup.tsx +2 -2
  221. package/src/hooks/usePath.ts +9 -6
  222. package/src/index.ts +3 -2
  223. package/src/translations.ts +1 -2
  224. package/src/types/collection.ts +6 -4
  225. package/src/types/index.ts +0 -1
  226. package/src/types/types.ts +119 -112
  227. package/src/util.tsx +36 -73
  228. package/dist/lib/browser/app-graph-builder-ZWNOWRAX.mjs +0 -369
  229. package/dist/lib/browser/app-graph-builder-ZWNOWRAX.mjs.map +0 -7
  230. package/dist/lib/browser/app-graph-serializer-UUJH7JRN.mjs.map +0 -7
  231. package/dist/lib/browser/chunk-4226DMDP.mjs +0 -1937
  232. package/dist/lib/browser/chunk-4226DMDP.mjs.map +0 -7
  233. package/dist/lib/browser/chunk-DIJ7LMCS.mjs.map +0 -7
  234. package/dist/lib/browser/chunk-JS6ZV4GV.mjs.map +0 -7
  235. package/dist/lib/browser/chunk-O7WGQVLQ.mjs +0 -306
  236. package/dist/lib/browser/chunk-O7WGQVLQ.mjs.map +0 -7
  237. package/dist/lib/browser/identity-created-NRVE4XLL.mjs.map +0 -7
  238. package/dist/lib/browser/intent-resolver-NP55M7C7.mjs.map +0 -7
  239. package/dist/lib/browser/react-surface-2DW2UDRX.mjs.map +0 -7
  240. package/dist/lib/browser/schema-FHTA26SW.mjs +0 -24
  241. package/dist/lib/browser/schema-FHTA26SW.mjs.map +0 -7
  242. package/dist/lib/browser/schema-tools-YAXPRIXP.mjs.map +0 -7
  243. package/dist/lib/browser/spaces-ready-ERNSICUW.mjs.map +0 -7
  244. package/dist/lib/browser/state-CYV6QCTN.mjs.map +0 -7
  245. package/dist/lib/node/app-graph-builder-LLIV422L.cjs +0 -371
  246. package/dist/lib/node/app-graph-builder-LLIV422L.cjs.map +0 -7
  247. package/dist/lib/node/app-graph-serializer-M6Z2OPA4.cjs.map +0 -7
  248. package/dist/lib/node/chunk-EQ5BPSQ7.cjs +0 -334
  249. package/dist/lib/node/chunk-EQ5BPSQ7.cjs.map +0 -7
  250. package/dist/lib/node/chunk-UOCR4G2D.cjs.map +0 -7
  251. package/dist/lib/node/chunk-XADZLQAJ.cjs.map +0 -7
  252. package/dist/lib/node/chunk-ZMQO74LX.cjs +0 -1932
  253. package/dist/lib/node/chunk-ZMQO74LX.cjs.map +0 -7
  254. package/dist/lib/node/identity-created-YDTRMOMX.cjs.map +0 -7
  255. package/dist/lib/node/intent-resolver-3J52ARFL.cjs.map +0 -7
  256. package/dist/lib/node/react-surface-IWSTOZ2E.cjs.map +0 -7
  257. package/dist/lib/node/schema-PPJ5BZ3A.cjs.map +0 -7
  258. package/dist/lib/node/schema-tools-BLIMOZYY.cjs.map +0 -7
  259. package/dist/lib/node/spaces-ready-6EBR4SM4.cjs.map +0 -7
  260. package/dist/lib/node/state-JLN7TGRR.cjs.map +0 -7
  261. package/dist/lib/node-esm/app-graph-builder-HSGLCS76.mjs +0 -370
  262. package/dist/lib/node-esm/app-graph-builder-HSGLCS76.mjs.map +0 -7
  263. package/dist/lib/node-esm/app-graph-serializer-J3B4WSXU.mjs.map +0 -7
  264. package/dist/lib/node-esm/chunk-ABTVMAG5.mjs.map +0 -7
  265. package/dist/lib/node-esm/chunk-FJPCLEKN.mjs +0 -307
  266. package/dist/lib/node-esm/chunk-FJPCLEKN.mjs.map +0 -7
  267. package/dist/lib/node-esm/chunk-OLISVDCF.mjs.map +0 -7
  268. package/dist/lib/node-esm/chunk-PQI4D4SH.mjs +0 -1938
  269. package/dist/lib/node-esm/chunk-PQI4D4SH.mjs.map +0 -7
  270. package/dist/lib/node-esm/identity-created-EC6SVYB5.mjs.map +0 -7
  271. package/dist/lib/node-esm/intent-resolver-MXQIFIRC.mjs.map +0 -7
  272. package/dist/lib/node-esm/react-surface-JCHDAPGM.mjs.map +0 -7
  273. package/dist/lib/node-esm/schema-OUZKVYM5.mjs +0 -25
  274. package/dist/lib/node-esm/schema-OUZKVYM5.mjs.map +0 -7
  275. package/dist/lib/node-esm/schema-tools-IU7EX5A5.mjs.map +0 -7
  276. package/dist/lib/node-esm/spaces-ready-5PXESKHX.mjs.map +0 -7
  277. package/dist/lib/node-esm/state-YZPY5T5A.mjs.map +0 -7
  278. package/dist/types/src/capabilities/schema.d.ts +0 -4
  279. package/dist/types/src/capabilities/schema.d.ts.map +0 -1
  280. package/dist/types/src/components/PopoverAddSpace.d.ts +0 -4
  281. package/dist/types/src/components/PopoverAddSpace.d.ts.map +0 -1
  282. package/dist/types/src/types/thread.d.ts +0 -352
  283. package/dist/types/src/types/thread.d.ts.map +0 -1
  284. package/src/capabilities/schema.ts +0 -27
  285. package/src/components/PopoverAddSpace.tsx +0 -52
  286. package/src/types/thread.ts +0 -24
  287. /package/dist/lib/{node-esm/react-root-ZBCJCEFS.mjs.map → browser/react-root-PVKJE4EZ.mjs.map} +0 -0
  288. /package/dist/lib/browser/{settings-MVT32NP6.mjs.map → settings-2IN2WLUK.mjs.map} +0 -0
  289. /package/dist/lib/node/{settings-JLV7YT6Q.cjs.map → settings-FOH7EB5C.cjs.map} +0 -0
  290. /package/dist/lib/node-esm/{settings-AILIMHTE.mjs.map → settings-Q4XDFSYD.mjs.map} +0 -0
@@ -1,7 +0,0 @@
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 PluginsContext } 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: PluginsContext) => {\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.requestCapability(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,cAAcC,mBAAwC;AAC/D,SAASC,iBAAiB;AAC1B,SAASC,yBAAyB;AAClC,SAASC,kBAAkB;AAM3B,IAAA,gBAAe,CAACC,YAAAA;AACd,QAAMC,QAAQ,IAAIC,kBAA+BC,cAAc;IAC7DC,UAAUC;IACVC,YAAY,CAAC;IACbC,iBAAiB,CAAC;;IAElBC,mBAAmB,IAAIC,WAAWC,UAAUC,IAAI;IAChDC,qBAAqB,CAAC;IACtBC,sBAAsB;IACtBC,wBAAwB;EAC1B,CAAA;AAEAb,QACGc,KAAK;IAAEC,KAAK;IAAcC,MAAMf,kBAAkBgB,KAAI;EAA2B,CAAA,EACjFH,KAAK;IAAEC,KAAK;IAA0BC,MAAMf,kBAAkBiB,KAAI;EAAG,CAAA;AAExE,QAAMC,UAAUpB,QAAQqB,kBAAkBC,aAAaC,aAAa;AACpE,QAAMC,cAAcC,OAAO,MAAA;AAEzB,UAAMC,UAAUN,QAAQM,QAAQC,SAAS,uBAAA;AACzC,QAAID,YAAYzB,MAAM2B,OAAOf,sBAAsB;AACjDZ,YAAM2B,OAAOf,uBAAuBa;IACtC;EACF,CAAA;AAEA,SAAOG,YAAYC,kBAAkBC,OAAO9B,MAAM2B,QAAQ,MAAA;AACxDJ,gBAAAA;AACAvB,UAAM+B,MAAK;EACb,CAAA;AACF;",
6
- "names": ["effect", "Capabilities", "contributes", "PublicKey", "LocalStorageStore", "ComplexMap", "context", "state", "LocalStorageStore", "SPACE_PLUGIN", "awaiting", "undefined", "spaceNames", "viewersByObject", "viewersByIdentity", "ComplexMap", "PublicKey", "hash", "sdkMigrationRunning", "navigableCollections", "enabledEdgeReplication", "prop", "key", "type", "json", "bool", "manager", "requestCapability", "Capabilities", "PluginManager", "unsubscribe", "effect", "enabled", "includes", "values", "contributes", "SpaceCapabilities", "State", "close"]
7
- }
@@ -1,371 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var app_graph_builder_LLIV422L_exports = {};
20
- __export(app_graph_builder_LLIV422L_exports, {
21
- default: () => app_graph_builder_default
22
- });
23
- module.exports = __toCommonJS(app_graph_builder_LLIV422L_exports);
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");
27
- var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
28
- var import_app_framework = require("@dxos/app-framework");
29
- var import_echo = require("@dxos/client/echo");
30
- var import_live_object = require("@dxos/live-object");
31
- var import_log = require("@dxos/log");
32
- var import_plugin_client = require("@dxos/plugin-client");
33
- var import_types = require("@dxos/plugin-deck/types");
34
- var import_plugin_graph = require("@dxos/plugin-graph");
35
- var import_util = require("@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.requestCapabilities(import_app_framework.Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
39
- const spacesNode = {
40
- id: import_chunk_XADZLQAJ.SPACES,
41
- type: import_chunk_XADZLQAJ.SPACES,
42
- cacheable: [
43
- "label",
44
- "role"
45
- ],
46
- properties: {
47
- label: [
48
- "spaces label",
49
- {
50
- ns: import_chunk_6P2DB4QQ.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.requestCapability(import_app_framework.Capabilities.AppGraph);
61
- const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
62
- graph._sortEdges(import_chunk_XADZLQAJ.SPACES, "outbound", nextOrder.map(({ id }) => id));
63
- const { objects: [spacesOrder] } = await client.spaces.default.db.query(import_echo.Filter.schema(import_echo.Expando, {
64
- key: import_chunk_XADZLQAJ.SHARED
65
- })).run();
66
- if (spacesOrder) {
67
- spacesOrder.order = nextOrder.map(({ id }) => id);
68
- } else {
69
- import_log.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 (0, import_app_framework.contributes)(import_app_framework.Capabilities.AppGraphBuilder, [
80
- // Primary actions.
81
- (0, import_plugin_graph.createExtension)({
82
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/primary-actions`,
83
- position: "hoist",
84
- filter: (node) => node.id === "root",
85
- actions: () => [
86
- {
87
- id: import_chunk_EQ5BPSQ7.SpaceAction.AddSpace._tag,
88
- data: async (params) => {
89
- const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
90
- await dispatch((0, import_app_framework.createIntent)(import_chunk_EQ5BPSQ7.SpaceAction.AddSpace));
91
- },
92
- properties: {
93
- label: [
94
- "add space label",
95
- {
96
- ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
97
- }
98
- ],
99
- icon: "ph--plus--regular",
100
- testId: "spacePlugin.addSpace",
101
- disposition: "item",
102
- position: "fallback"
103
- }
104
- },
105
- {
106
- id: import_chunk_EQ5BPSQ7.SpaceAction.OpenMembers._tag,
107
- data: async () => {
108
- const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
109
- const layout = context.requestCapability(import_app_framework.Capabilities.Layout);
110
- const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
111
- const { spaceId } = (0, import_echo.parseId)(layout.workspace);
112
- const space = (spaceId && client.spaces.get(spaceId)) ?? client.spaces.default;
113
- await dispatch((0, import_app_framework.createIntent)(import_chunk_EQ5BPSQ7.SpaceAction.OpenMembers, {
114
- space
115
- }));
116
- },
117
- properties: {
118
- label: [
119
- "share space label",
120
- {
121
- ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
122
- }
123
- ],
124
- icon: "ph--users--regular",
125
- testId: "spacePlugin.shareSpace",
126
- keyBinding: {
127
- macos: "meta+.",
128
- windows: "alt+."
129
- }
130
- }
131
- },
132
- {
133
- id: import_chunk_EQ5BPSQ7.SpaceAction.OpenSettings._tag,
134
- data: async () => {
135
- const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
136
- const layout = context.requestCapability(import_app_framework.Capabilities.Layout);
137
- const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
138
- const { spaceId } = (0, import_echo.parseId)(layout.workspace);
139
- const space = (spaceId && client.spaces.get(spaceId)) ?? client.spaces.default;
140
- await dispatch((0, import_app_framework.createIntent)(import_chunk_EQ5BPSQ7.SpaceAction.OpenSettings, {
141
- space
142
- }));
143
- },
144
- properties: {
145
- label: [
146
- "open current space settings label",
147
- {
148
- ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
149
- }
150
- ],
151
- icon: "ph--faders--regular",
152
- keyBinding: {
153
- macos: "meta+shift+,",
154
- windows: "ctrl+shift+,"
155
- }
156
- }
157
- }
158
- ]
159
- }),
160
- // Create spaces group node.
161
- (0, import_plugin_graph.createExtension)({
162
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/root`,
163
- position: "hoist",
164
- filter: (node) => node.id === "root",
165
- connector: () => [
166
- spacesNode
167
- ],
168
- resolver: ({ id }) => id === import_chunk_XADZLQAJ.SPACES ? spacesNode : void 0
169
- }),
170
- // Create space nodes.
171
- (0, import_plugin_graph.createExtension)({
172
- id: import_chunk_XADZLQAJ.SPACES,
173
- filter: (node) => node.id === import_chunk_XADZLQAJ.SPACES,
174
- connector: () => {
175
- const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
176
- const spaces = (0, import_plugin_graph.toSignal)((onChange) => client.spaces.subscribe(() => onChange()).unsubscribe, () => client.spaces.get());
177
- const isReady = (0, import_plugin_graph.toSignal)((onChange) => client.spaces.isReady.subscribe(() => onChange()).unsubscribe, () => client.spaces.isReady.get());
178
- if (!spaces || !isReady) {
179
- return;
180
- }
181
- const state = context.requestCapability(import_chunk_IKIDS6XF.SpaceCapabilities.State);
182
- const settings = context.requestCapabilities(import_app_framework.Capabilities.SettingsStore)[0]?.getStore(import_chunk_6P2DB4QQ.SPACE_PLUGIN)?.value;
183
- try {
184
- const [spacesOrder] = (0, import_chunk_XADZLQAJ.memoizeQuery)(client.spaces.default, import_echo.Filter.schema(import_echo.Expando, {
185
- key: import_chunk_XADZLQAJ.SHARED
186
- }));
187
- const order = spacesOrder?.order ?? [];
188
- const orderMap = new Map(order.map((id, index) => [
189
- id,
190
- index
191
- ]));
192
- return [
193
- ...spaces.filter((space) => orderMap.has(space.id)).sort((a, b) => orderMap.get(a.id) - orderMap.get(b.id)),
194
- ...spaces.filter((space) => !orderMap.has(space.id))
195
- ].filter((space) => settings?.showHidden ? true : space.state.get() !== import_echo.SpaceState.SPACE_INACTIVE).map((space) => (0, import_chunk_XADZLQAJ.constructSpaceNode)({
196
- space,
197
- navigable: state.navigableCollections,
198
- personal: space === client.spaces.default,
199
- namesCache: state.spaceNames,
200
- resolve
201
- }));
202
- } catch {
203
- }
204
- },
205
- resolver: ({ id }) => {
206
- if (id.length !== import_echo.SPACE_ID_LENGTH) {
207
- return;
208
- }
209
- const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
210
- const spaces = (0, import_plugin_graph.toSignal)((onChange) => client.spaces.subscribe(() => onChange()).unsubscribe, () => client.spaces.get());
211
- const isReady = (0, import_plugin_graph.toSignal)((onChange) => client.spaces.isReady.subscribe(() => onChange()).unsubscribe, () => client.spaces.isReady.get());
212
- if (!spaces || !isReady) {
213
- return;
214
- }
215
- const space = spaces.find((space2) => space2.id === id);
216
- if (!space) {
217
- return;
218
- }
219
- if (space.state.get() === import_echo.SpaceState.SPACE_INACTIVE) {
220
- return false;
221
- } else if (space.state.get() !== import_echo.SpaceState.SPACE_READY) {
222
- return void 0;
223
- } else {
224
- const state = context.requestCapability(import_chunk_IKIDS6XF.SpaceCapabilities.State);
225
- return (0, import_chunk_XADZLQAJ.constructSpaceNode)({
226
- space,
227
- navigable: state.navigableCollections,
228
- personal: space === client.spaces.default,
229
- namesCache: state.spaceNames,
230
- resolve
231
- });
232
- }
233
- }
234
- }),
235
- // Create space actions.
236
- (0, import_plugin_graph.createExtension)({
237
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/actions`,
238
- filter: (node) => node.type === import_chunk_EQ5BPSQ7.SPACE_TYPE,
239
- actions: ({ node }) => {
240
- const space = node.data;
241
- const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
242
- const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
243
- const state = context.requestCapability(import_chunk_IKIDS6XF.SpaceCapabilities.State);
244
- return (0, import_chunk_XADZLQAJ.constructSpaceActions)({
245
- space,
246
- dispatch,
247
- personal: space === client.spaces.default,
248
- migrating: state.sdkMigrationRunning[space.id]
249
- });
250
- }
251
- }),
252
- // Create nodes for objects in the root collection of a space.
253
- (0, import_plugin_graph.createExtension)({
254
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/root-collection`,
255
- filter: (node) => node.type === import_chunk_EQ5BPSQ7.SPACE_TYPE,
256
- connector: ({ node }) => {
257
- const space = node.data;
258
- const spaceState = (0, import_plugin_graph.toSignal)((onChange) => space.state.subscribe(() => onChange()).unsubscribe, () => space.state.get(), space.id);
259
- if (spaceState !== import_echo.SpaceState.SPACE_READY) {
260
- return;
261
- }
262
- const collection = space.properties[import_chunk_EQ5BPSQ7.CollectionType.typename]?.target;
263
- if (!collection) {
264
- return;
265
- }
266
- const state = context.requestCapability(import_chunk_IKIDS6XF.SpaceCapabilities.State);
267
- return collection.objects.map((object) => object.target).filter(import_util.isNonNullable).map((object) => (0, import_chunk_XADZLQAJ.createObjectNode)({
268
- object,
269
- space,
270
- resolve,
271
- navigable: state.navigableCollections
272
- })).filter(import_util.isNonNullable);
273
- }
274
- }),
275
- // Create nodes for objects in a collection or by its fully qualified id.
276
- (0, import_plugin_graph.createExtension)({
277
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/objects`,
278
- filter: (node) => node.data instanceof import_chunk_EQ5BPSQ7.CollectionType,
279
- connector: ({ node }) => {
280
- const collection = node.data;
281
- const space = (0, import_echo.getSpace)(collection);
282
- if (!space) {
283
- return;
284
- }
285
- const state = context.requestCapability(import_chunk_IKIDS6XF.SpaceCapabilities.State);
286
- return collection.objects.map((object) => object.target).filter(import_util.isNonNullable).map((object) => (0, import_chunk_XADZLQAJ.createObjectNode)({
287
- object,
288
- space,
289
- resolve,
290
- navigable: state.navigableCollections
291
- })).filter(import_util.isNonNullable);
292
- },
293
- resolver: ({ id }) => {
294
- if (id.length !== import_echo.FQ_ID_LENGTH) {
295
- return;
296
- }
297
- const [spaceId, objectId] = id.split(":");
298
- if (spaceId.length !== import_echo.SPACE_ID_LENGTH && objectId.length !== import_echo.OBJECT_ID_LENGTH) {
299
- return;
300
- }
301
- const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
302
- const space = client.spaces.get().find((space2) => space2.id === spaceId);
303
- if (!space) {
304
- return;
305
- }
306
- const spaceState = (0, import_plugin_graph.toSignal)((onChange) => space.state.subscribe(() => onChange()).unsubscribe, () => space.state.get(), space.id);
307
- if (spaceState !== import_echo.SpaceState.SPACE_READY) {
308
- return;
309
- }
310
- const [object] = (0, import_chunk_XADZLQAJ.memoizeQuery)(space, {
311
- id: objectId
312
- });
313
- if (!object) {
314
- return;
315
- }
316
- if ((0, import_live_object.isDeleted)(object)) {
317
- return false;
318
- } else {
319
- const state = context.requestCapability(import_chunk_IKIDS6XF.SpaceCapabilities.State);
320
- return (0, import_chunk_XADZLQAJ.createObjectNode)({
321
- object,
322
- space,
323
- resolve,
324
- navigable: state.navigableCollections
325
- });
326
- }
327
- }
328
- }),
329
- // Create collection actions and action groups.
330
- (0, import_plugin_graph.createExtension)({
331
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/object-actions`,
332
- filter: (node) => (0, import_echo.isEchoObject)(node.data),
333
- actions: ({ node }) => {
334
- const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
335
- const state = context.requestCapability(import_chunk_IKIDS6XF.SpaceCapabilities.State);
336
- return (0, import_chunk_XADZLQAJ.constructObjectActions)({
337
- node,
338
- dispatch,
339
- navigable: state.navigableCollections
340
- });
341
- }
342
- }),
343
- // Object settings plank companion.
344
- (0, import_plugin_graph.createExtension)({
345
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/settings`,
346
- filter: (node) => (0, import_echo.isEchoObject)(node.data),
347
- connector: ({ node }) => [
348
- {
349
- id: [
350
- node.id,
351
- "settings"
352
- ].join(import_types.ATTENDABLE_PATH_SEPARATOR),
353
- type: import_types.PLANK_COMPANION_TYPE,
354
- data: "settings",
355
- properties: {
356
- label: [
357
- "object settings label",
358
- {
359
- ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
360
- }
361
- ],
362
- icon: "ph--sliders--regular",
363
- disposition: "hidden",
364
- position: "fallback"
365
- }
366
- }
367
- ]
368
- })
369
- ]);
370
- };
371
- //# sourceMappingURL=app-graph-builder-LLIV422L.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, type PluginsContext } from '@dxos/app-framework';\nimport {\n Expando,\n Filter,\n FQ_ID_LENGTH,\n getSpace,\n isEchoObject,\n OBJECT_ID_LENGTH,\n type ReactiveEchoObject,\n SPACE_ID_LENGTH,\n SpaceState,\n type Space,\n parseId,\n} from '@dxos/client/echo';\nimport { isDeleted } from '@dxos/live-object';\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, toSignal, type Node, type InvokeParams } from '@dxos/plugin-graph';\nimport { isNonNullable } from '@dxos/util';\n\nimport { SpaceCapabilities } from './capabilities';\nimport { SPACE_PLUGIN } from '../meta';\nimport { CollectionType, SPACE_TYPE, SpaceAction, type SpaceSettingsProps } from '../types';\nimport {\n constructObjectActions,\n constructSpaceActions,\n constructSpaceNode,\n createObjectNode,\n memoizeQuery,\n SHARED,\n SPACES,\n} from '../util';\n\nexport default (context: PluginsContext) => {\n const resolve = (typename: string) =>\n context.requestCapabilities(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.requestCapability(Capabilities.AppGraph);\n const client = context.requestCapability(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.schema(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 filter: (node): node is Node<null> => node.id === 'root',\n actions: () => [\n {\n id: SpaceAction.AddSpace._tag,\n data: async (params: InvokeParams) => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SpaceAction.AddSpace));\n },\n properties: {\n label: ['add space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n testId: 'spacePlugin.addSpace',\n disposition: 'item',\n position: 'fallback',\n },\n },\n {\n id: SpaceAction.OpenMembers._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const layout = context.requestCapability(Capabilities.Layout);\n const client = context.requestCapability(ClientCapabilities.Client);\n const { spaceId } = parseId(layout.workspace);\n const space = (spaceId && client.spaces.get(spaceId)) ?? 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.requestCapability(Capabilities.IntentDispatcher);\n const layout = context.requestCapability(Capabilities.Layout);\n const client = context.requestCapability(ClientCapabilities.Client);\n const { spaceId } = parseId(layout.workspace);\n const space = (spaceId && client.spaces.get(spaceId)) ?? 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 }),\n\n // Create spaces group node.\n createExtension({\n id: `${SPACE_PLUGIN}/root`,\n position: 'hoist',\n filter: (node): node is Node<null> => node.id === 'root',\n connector: () => [spacesNode],\n resolver: ({ id }) => (id === SPACES ? spacesNode : undefined),\n }),\n\n // Create space nodes.\n createExtension({\n id: SPACES,\n filter: (node): node is Node<null> => node.id === SPACES,\n connector: () => {\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 state = context.requestCapability(SpaceCapabilities.State);\n const settings = context\n .requestCapabilities(Capabilities.SettingsStore)[0]\n ?.getStore<SpaceSettingsProps>(SPACE_PLUGIN)?.value;\n\n // TODO(wittjosiah): During client reset, accessing default space throws.\n try {\n const [spacesOrder] = memoizeQuery(client.spaces.default, Filter.schema(Expando, { key: SHARED }));\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) => (settings?.showHidden ? true : space.state.get() !== SpaceState.SPACE_INACTIVE))\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 } catch {}\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 filter: (node): node is Node<Space> => node.type === SPACE_TYPE,\n actions: ({ node }) => {\n const space = node.data;\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const client = context.requestCapability(ClientCapabilities.Client);\n const state = context.requestCapability(SpaceCapabilities.State);\n return constructSpaceActions({\n space,\n dispatch,\n personal: space === client.spaces.default,\n migrating: state.sdkMigrationRunning[space.id],\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 filter: (node): node is Node<Space> => node.type === SPACE_TYPE,\n connector: ({ node }) => {\n const space = node.data;\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 collection = space.properties[CollectionType.typename]?.target as CollectionType | undefined;\n if (!collection) {\n return;\n }\n\n const state = context.requestCapability(SpaceCapabilities.State);\n\n return collection.objects\n .map((object) => object.target)\n .filter(isNonNullable)\n .map((object) => createObjectNode({ object, space, resolve, navigable: state.navigableCollections }))\n .filter(isNonNullable);\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 filter: (node): node is Node<CollectionType> => node.data instanceof CollectionType,\n connector: ({ node }) => {\n const collection = node.data;\n const space = getSpace(collection);\n if (!space) {\n return;\n }\n\n const state = context.requestCapability(SpaceCapabilities.State);\n\n return collection.objects\n .map((object) => object.target)\n .filter(isNonNullable)\n .map((object) => createObjectNode({ object, space, resolve, navigable: state.navigableCollections }))\n .filter(isNonNullable);\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, { id: 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 filter: (node): node is Node<ReactiveEchoObject<any>> => isEchoObject(node.data),\n actions: ({ node }) => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const state = context.requestCapability(SpaceCapabilities.State);\n return constructObjectActions({ node, dispatch, navigable: state.navigableCollections });\n },\n }),\n\n // Object settings plank companion.\n createExtension({\n id: `${SPACE_PLUGIN}/settings`,\n filter: (node): node is Node<ReactiveEchoObject<any>> => isEchoObject(node.data),\n connector: ({ 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 }),\n ]);\n};\n"],
5
- "mappings": "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",
6
- "names": ["context", "resolve", "typename", "requestCapabilities", "Capabilities", "Metadata", "find", "id", "metadata", "spacesNode", "SPACES", "type", "cacheable", "properties", "label", "ns", "SPACE_PLUGIN", "icon", "testId", "role", "disposition", "disabled", "childrenPersistenceClass", "onRearrangeChildren", "nextOrder", "graph", "requestCapability", "AppGraph", "client", "ClientCapabilities", "Client", "_sortEdges", "map", "objects", "spacesOrder", "spaces", "default", "db", "query", "Filter", "schema", "Expando", "key", "SHARED", "run", "order", "log", "warn", "contributes", "AppGraphBuilder", "createExtension", "position", "filter", "node", "actions", "SpaceAction", "AddSpace", "_tag", "data", "params", "dispatchPromise", "dispatch", "IntentDispatcher", "createIntent", "OpenMembers", "layout", "Layout", "spaceId", "parseId", "workspace", "space", "get", "keyBinding", "macos", "windows", "OpenSettings", "connector", "resolver", "undefined", "toSignal", "onChange", "subscribe", "unsubscribe", "isReady", "state", "SpaceCapabilities", "State", "settings", "SettingsStore", "getStore", "value", "memoizeQuery", "orderMap", "Map", "index", "has", "sort", "a", "b", "showHidden", "SpaceState", "SPACE_INACTIVE", "constructSpaceNode", "navigable", "navigableCollections", "personal", "namesCache", "spaceNames", "length", "SPACE_ID_LENGTH", "SPACE_READY", "SPACE_TYPE", "constructSpaceActions", "migrating", "sdkMigrationRunning", "spaceState", "collection", "CollectionType", "target", "object", "isNonNullable", "createObjectNode", "getSpace", "FQ_ID_LENGTH", "objectId", "split", "OBJECT_ID_LENGTH", "isDeleted", "isEchoObject", "constructObjectActions", "join", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/app-graph-serializer.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, type PluginsContext } from '@dxos/app-framework';\nimport { isSpace } from '@dxos/client/echo';\nimport { live } from '@dxos/live-object';\n\nimport { SPACE_PLUGIN } from '../meta';\nimport translations from '../translations';\nimport { CollectionType, SpaceAction, SPACE_TYPE } from '../types';\nimport { SPACES } from '../util';\n\n// https://stackoverflow.com/a/19016910\nconst DIRECTORY_TYPE = 'text/directory';\n\nexport default (context: PluginsContext) =>\n contributes(Capabilities.AppGraphSerializer, [\n {\n inputType: SPACES,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: translations[0]['en-US'][SPACE_PLUGIN]['spaces label'],\n data: translations[0]['en-US'][SPACE_PLUGIN]['spaces label'],\n type: DIRECTORY_TYPE,\n }),\n deserialize: () => {\n // No-op.\n },\n },\n {\n inputType: SPACE_TYPE,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: node.data.properties.name ?? translations[0]['en-US'][SPACE_PLUGIN]['unnamed space label'],\n data: node.data.properties.name ?? translations[0]['en-US'][SPACE_PLUGIN]['unnamed space label'],\n type: DIRECTORY_TYPE,\n }),\n deserialize: async (data) => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const result = await dispatch(createIntent(SpaceAction.Create, { name: data.name, edgeReplication: true }));\n return result.data?.space;\n },\n },\n {\n inputType: CollectionType.typename,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: node.data.name ?? translations[0]['en-US'][CollectionType.typename]['object name placeholder'],\n data: node.data.name ?? translations[0]['en-US'][CollectionType.typename]['object name placeholder'],\n type: DIRECTORY_TYPE,\n }),\n deserialize: async (data, ancestors) => {\n const space = ancestors.find(isSpace);\n const collection =\n ancestors.findLast((ancestor) => ancestor instanceof CollectionType) ??\n space?.properties[CollectionType.typename]?.target;\n if (!space || !collection) {\n return;\n }\n\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const result = await dispatch(\n createIntent(SpaceAction.AddObject, {\n target: collection,\n object: live(CollectionType, { name: data.name, objects: [], views: {} }),\n }),\n );\n\n return result.data?.object;\n },\n },\n ]);\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAA6E;AAC7E,kBAAwB;AACxB,yBAAqB;AAQrB,IAAMA,iBAAiB;AAEvB,IAAA,+BAAe,CAACC,gBACdC,kCAAYC,kCAAaC,oBAAoB;EAC3C;IACEC,WAAWC;IACXC,YAAYP;IACZQ,WAAW,CAACC,UAAU;MACpBC,MAAMC,2CAAa,CAAA,EAAG,OAAA,EAASC,kCAAAA,EAAc,cAAA;MAC7CC,MAAMF,2CAAa,CAAA,EAAG,OAAA,EAASC,kCAAAA,EAAc,cAAA;MAC7CE,MAAMd;IACR;IACAe,aAAa,MAAA;IAEb;EACF;EACA;IACEV,WAAWW;IACXT,YAAYP;IACZQ,WAAW,CAACC,UAAU;MACpBC,MAAMD,KAAKI,KAAKI,WAAWP,QAAQC,2CAAa,CAAA,EAAG,OAAA,EAASC,kCAAAA,EAAc,qBAAA;MAC1EC,MAAMJ,KAAKI,KAAKI,WAAWP,QAAQC,2CAAa,CAAA,EAAG,OAAA,EAASC,kCAAAA,EAAc,qBAAA;MAC1EE,MAAMd;IACR;IACAe,aAAa,OAAOF,SAAAA;AAClB,YAAM,EAAEK,iBAAiBC,SAAQ,IAAKlB,QAAQmB,kBAAkBjB,kCAAakB,gBAAgB;AAC7F,YAAMC,SAAS,MAAMH,aAASI,mCAAaC,kCAAYC,QAAQ;QAAEf,MAAMG,KAAKH;QAAMgB,iBAAiB;MAAK,CAAA,CAAA;AACxG,aAAOJ,OAAOT,MAAMc;IACtB;EACF;EACA;IACEtB,WAAWuB,qCAAeC;IAC1BtB,YAAYP;IACZQ,WAAW,CAACC,UAAU;MACpBC,MAAMD,KAAKI,KAAKH,QAAQC,2CAAa,CAAA,EAAG,OAAA,EAASiB,qCAAeC,QAAQ,EAAE,yBAAA;MAC1EhB,MAAMJ,KAAKI,KAAKH,QAAQC,2CAAa,CAAA,EAAG,OAAA,EAASiB,qCAAeC,QAAQ,EAAE,yBAAA;MAC1Ef,MAAMd;IACR;IACAe,aAAa,OAAOF,MAAMiB,cAAAA;AACxB,YAAMH,QAAQG,UAAUC,KAAKC,mBAAAA;AAC7B,YAAMC,aACJH,UAAUI,SAAS,CAACC,aAAaA,oBAAoBP,oCAAAA,KACrDD,OAAOV,WAAWW,qCAAeC,QAAQ,GAAGO;AAC9C,UAAI,CAACT,SAAS,CAACM,YAAY;AACzB;MACF;AAEA,YAAM,EAAEf,iBAAiBC,SAAQ,IAAKlB,QAAQmB,kBAAkBjB,kCAAakB,gBAAgB;AAC7F,YAAMC,SAAS,MAAMH,aACnBI,mCAAaC,kCAAYa,WAAW;QAClCD,QAAQH;QACRK,YAAQC,yBAAKX,sCAAgB;UAAElB,MAAMG,KAAKH;UAAM8B,SAAS,CAAA;UAAIC,OAAO,CAAC;QAAE,CAAA;MACzE,CAAA,CAAA;AAGF,aAAOnB,OAAOT,MAAMyB;IACtB;EACF;CACD;",
6
- "names": ["DIRECTORY_TYPE", "context", "contributes", "Capabilities", "AppGraphSerializer", "inputType", "SPACES", "outputType", "serialize", "node", "name", "translations", "SPACE_PLUGIN", "data", "type", "deserialize", "SPACE_TYPE", "properties", "dispatchPromise", "dispatch", "requestCapability", "IntentDispatcher", "result", "createIntent", "SpaceAction", "Create", "edgeReplication", "space", "CollectionType", "typename", "ancestors", "find", "isSpace", "collection", "findLast", "ancestor", "target", "AddObject", "object", "live", "objects", "views"]
7
- }