@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
@@ -0,0 +1,328 @@
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_WC445X77_exports = {};
20
+ __export(app_graph_builder_WC445X77_exports, {
21
+ default: () => app_graph_builder_default
22
+ });
23
+ module.exports = __toCommonJS(app_graph_builder_WC445X77_exports);
24
+ var import_chunk_5WLAXYE3 = require("./chunk-5WLAXYE3.cjs");
25
+ var import_chunk_7GQGM4ZF = require("./chunk-7GQGM4ZF.cjs");
26
+ var import_chunk_COQYISES = require("./chunk-COQYISES.cjs");
27
+ var import_chunk_FXHI7JNY = require("./chunk-FXHI7JNY.cjs");
28
+ var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
29
+ var import_rx_react = require("@effect-rx/rx-react");
30
+ var import_effect = require("effect");
31
+ var import_app_framework = require("@dxos/app-framework");
32
+ var import_echo = require("@dxos/client/echo");
33
+ var import_log = require("@dxos/log");
34
+ var import_plugin_client = require("@dxos/plugin-client");
35
+ var import_types = require("@dxos/plugin-deck/types");
36
+ var import_plugin_graph = require("@dxos/plugin-graph");
37
+ var import_util = require("@dxos/util");
38
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/capabilities/app-graph-builder.ts";
39
+ var app_graph_builder_default = (context) => {
40
+ const resolve = (typename) => context.getCapabilities(import_app_framework.Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
41
+ const spacesNode = {
42
+ id: import_chunk_COQYISES.SPACES,
43
+ type: import_chunk_COQYISES.SPACES,
44
+ cacheable: [
45
+ "label",
46
+ "role"
47
+ ],
48
+ properties: {
49
+ label: [
50
+ "spaces label",
51
+ {
52
+ ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
53
+ }
54
+ ],
55
+ icon: "ph--planet--regular",
56
+ testId: "spacePlugin.spaces",
57
+ role: "branch",
58
+ disposition: "collection",
59
+ disabled: true,
60
+ childrenPersistenceClass: "echo",
61
+ onRearrangeChildren: async (nextOrder) => {
62
+ const { graph } = context.getCapability(import_app_framework.Capabilities.AppGraph);
63
+ const client = context.getCapability(import_plugin_client.ClientCapabilities.Client);
64
+ graph.sortEdges(import_chunk_COQYISES.SPACES, "outbound", nextOrder.map(({ id }) => id));
65
+ const { objects: [spacesOrder] } = await client.spaces.default.db.query(import_echo.Filter.type(import_echo.Expando, {
66
+ key: import_chunk_COQYISES.SHARED
67
+ })).run();
68
+ if (spacesOrder) {
69
+ spacesOrder.order = nextOrder.map(({ id }) => id);
70
+ } else {
71
+ import_log.log.warn("spaces order object not found", void 0, {
72
+ F: __dxlog_file,
73
+ L: 74,
74
+ S: void 0,
75
+ C: (f, a) => f(...a)
76
+ });
77
+ }
78
+ }
79
+ }
80
+ };
81
+ return (0, import_app_framework.contributes)(import_app_framework.Capabilities.AppGraphBuilder, [
82
+ // Primary actions.
83
+ (0, import_plugin_graph.createExtension)({
84
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/primary-actions`,
85
+ position: "hoist",
86
+ actions: (node) => import_rx_react.Rx.make((get) => (0, import_effect.pipe)(get(node), import_effect.Option.flatMap((node2) => node2.id === import_plugin_graph.ROOT_ID ? import_effect.Option.some(node2) : import_effect.Option.none()), import_effect.Option.map(() => [
87
+ {
88
+ id: import_chunk_FXHI7JNY.SpaceAction.OpenCreateSpace._tag,
89
+ data: async () => {
90
+ const { dispatchPromise: dispatch } = context.getCapability(import_app_framework.Capabilities.IntentDispatcher);
91
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_FXHI7JNY.SpaceAction.OpenCreateSpace));
92
+ },
93
+ properties: {
94
+ label: [
95
+ "create space label",
96
+ {
97
+ ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
98
+ }
99
+ ],
100
+ icon: "ph--plus--regular",
101
+ testId: "spacePlugin.createSpace",
102
+ disposition: "menu"
103
+ }
104
+ },
105
+ {
106
+ id: import_chunk_FXHI7JNY.SpaceAction.Join._tag,
107
+ data: async () => {
108
+ const { dispatchPromise: dispatch } = context.getCapability(import_app_framework.Capabilities.IntentDispatcher);
109
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_FXHI7JNY.SpaceAction.Join));
110
+ },
111
+ properties: {
112
+ label: [
113
+ "join space label",
114
+ {
115
+ ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
116
+ }
117
+ ],
118
+ icon: "ph--sign-in--regular",
119
+ testId: "spacePlugin.joinSpace",
120
+ disposition: "menu"
121
+ }
122
+ },
123
+ {
124
+ id: import_chunk_FXHI7JNY.SpaceAction.OpenMembers._tag,
125
+ data: async () => {
126
+ const { dispatchPromise: dispatch } = context.getCapability(import_app_framework.Capabilities.IntentDispatcher);
127
+ const client = context.getCapability(import_plugin_client.ClientCapabilities.Client);
128
+ const space = (0, import_chunk_5WLAXYE3.getActiveSpace)(context) ?? client.spaces.default;
129
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_FXHI7JNY.SpaceAction.OpenMembers, {
130
+ space
131
+ }));
132
+ },
133
+ properties: {
134
+ label: [
135
+ "share space label",
136
+ {
137
+ ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
138
+ }
139
+ ],
140
+ icon: "ph--users--regular",
141
+ testId: "spacePlugin.shareSpace",
142
+ keyBinding: {
143
+ macos: "meta+.",
144
+ windows: "alt+."
145
+ }
146
+ }
147
+ },
148
+ {
149
+ id: import_chunk_FXHI7JNY.SpaceAction.OpenSettings._tag,
150
+ data: async () => {
151
+ const { dispatchPromise: dispatch } = context.getCapability(import_app_framework.Capabilities.IntentDispatcher);
152
+ const client = context.getCapability(import_plugin_client.ClientCapabilities.Client);
153
+ const space = (0, import_chunk_5WLAXYE3.getActiveSpace)(context) ?? client.spaces.default;
154
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_FXHI7JNY.SpaceAction.OpenSettings, {
155
+ space
156
+ }));
157
+ },
158
+ properties: {
159
+ label: [
160
+ "open current space settings label",
161
+ {
162
+ ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
163
+ }
164
+ ],
165
+ icon: "ph--faders--regular",
166
+ keyBinding: {
167
+ macos: "meta+shift+,",
168
+ windows: "ctrl+shift+,"
169
+ }
170
+ }
171
+ }
172
+ ]), import_effect.Option.getOrElse(() => [])))
173
+ }),
174
+ // Create spaces group node.
175
+ (0, import_plugin_graph.createExtension)({
176
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/root`,
177
+ position: "hoist",
178
+ connector: (node) => import_rx_react.Rx.make((get) => (0, import_effect.pipe)(get(node), import_effect.Option.flatMap((node2) => node2.id === import_plugin_graph.ROOT_ID ? import_effect.Option.some(node2) : import_effect.Option.none()), import_effect.Option.map(() => [
179
+ spacesNode
180
+ ]), import_effect.Option.getOrElse(() => [])))
181
+ }),
182
+ // Create space nodes.
183
+ (0, import_plugin_graph.createExtension)({
184
+ id: import_chunk_COQYISES.SPACES,
185
+ connector: (node) => {
186
+ let query;
187
+ return import_rx_react.Rx.make((get) => (0, import_effect.pipe)(get(node), import_effect.Option.flatMap((node2) => node2.id === import_chunk_COQYISES.SPACES ? import_effect.Option.some(node2) : import_effect.Option.none()), import_effect.Option.map(() => {
188
+ const state = context.getCapability(import_chunk_7GQGM4ZF.SpaceCapabilities.State);
189
+ const client = context.getCapability(import_plugin_client.ClientCapabilities.Client);
190
+ const spacesRx = (0, import_plugin_graph.rxFromObservable)(client.spaces);
191
+ const isReadyRx = (0, import_plugin_graph.rxFromObservable)(client.spaces.isReady);
192
+ const spaces = get(spacesRx);
193
+ const isReady = get(isReadyRx);
194
+ if (!spaces || !isReady) {
195
+ return [];
196
+ }
197
+ const settings = get(context.capabilities(import_app_framework.Capabilities.SettingsStore))[0]?.getStore(import_chunk_6P2DB4QQ.SPACE_PLUGIN)?.value;
198
+ try {
199
+ if (!query) {
200
+ query = client.spaces.default.db.query(import_echo.Filter.type(import_echo.Expando, {
201
+ key: import_chunk_COQYISES.SHARED
202
+ }));
203
+ }
204
+ const [spacesOrder] = get((0, import_chunk_COQYISES.rxFromQuery)(query));
205
+ return get((0, import_plugin_graph.rxFromSignal)(() => {
206
+ const order = spacesOrder?.order ?? [];
207
+ const orderMap = new Map(order.map((id, index) => [
208
+ id,
209
+ index
210
+ ]));
211
+ return [
212
+ ...spaces.filter((space) => orderMap.has(space.id)).sort((a, b) => orderMap.get(a.id) - orderMap.get(b.id)),
213
+ ...spaces.filter((space) => !orderMap.has(space.id))
214
+ ].filter((space) => settings?.showHidden ? true : space.state.get() !== import_echo.SpaceState.SPACE_INACTIVE).map((space) => (0, import_chunk_COQYISES.constructSpaceNode)({
215
+ space,
216
+ navigable: state.navigableCollections,
217
+ personal: space === client.spaces.default,
218
+ namesCache: state.spaceNames,
219
+ resolve
220
+ }));
221
+ }));
222
+ } catch {
223
+ return [];
224
+ }
225
+ }), import_effect.Option.getOrElse(() => [])));
226
+ }
227
+ }),
228
+ // Create space actions.
229
+ (0, import_plugin_graph.createExtension)({
230
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/actions`,
231
+ actions: (node) => import_rx_react.Rx.make((get) => (0, import_effect.pipe)(get(node), import_effect.Option.flatMap((node2) => node2.type === import_chunk_FXHI7JNY.SPACE_TYPE && (0, import_echo.isSpace)(node2.data) ? import_effect.Option.some(node2.data) : import_effect.Option.none()), import_effect.Option.flatMap((space) => {
232
+ const [dispatcher] = get(context.capabilities(import_app_framework.Capabilities.IntentDispatcher));
233
+ const [client] = get(context.capabilities(import_plugin_client.ClientCapabilities.Client));
234
+ const [state] = get(context.capabilities(import_chunk_7GQGM4ZF.SpaceCapabilities.State));
235
+ if (!dispatcher || !client || !state) {
236
+ return import_effect.Option.none();
237
+ } else {
238
+ return import_effect.Option.some({
239
+ space,
240
+ dispatch: dispatcher.dispatchPromise,
241
+ personal: space === client.spaces.default,
242
+ migrating: state.sdkMigrationRunning[space.id]
243
+ });
244
+ }
245
+ }), import_effect.Option.map((params) => (0, import_chunk_COQYISES.constructSpaceActions)(params)), import_effect.Option.getOrElse(() => [])))
246
+ }),
247
+ // Create nodes for objects in the root collection of a space.
248
+ (0, import_plugin_graph.createExtension)({
249
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/root-collection`,
250
+ connector: (node) => import_rx_react.Rx.make((get) => (0, import_effect.pipe)(get(node), import_effect.Option.flatMap((node2) => node2.type === import_chunk_FXHI7JNY.SPACE_TYPE && (0, import_echo.isSpace)(node2.data) ? import_effect.Option.some(node2.data) : import_effect.Option.none()), import_effect.Option.map((space) => {
251
+ const state = context.getCapability(import_chunk_7GQGM4ZF.SpaceCapabilities.State);
252
+ const spaceState = get((0, import_plugin_graph.rxFromObservable)(space.state));
253
+ if (spaceState !== import_echo.SpaceState.SPACE_READY) {
254
+ return [];
255
+ }
256
+ const collection = get((0, import_plugin_graph.rxFromSignal)(() => space.properties[import_chunk_FXHI7JNY.CollectionType.typename]?.target));
257
+ if (!collection) {
258
+ return [];
259
+ }
260
+ return get((0, import_plugin_graph.rxFromSignal)(() => (0, import_effect.pipe)(collection.objects, import_effect.Array.map((object) => object.target), import_effect.Array.filter(import_util.isNonNullable), import_effect.Array.map((object) => (0, import_chunk_COQYISES.createObjectNode)({
261
+ object,
262
+ space,
263
+ resolve,
264
+ navigable: state.navigableCollections
265
+ })), import_effect.Array.filter(import_util.isNonNullable))));
266
+ }), import_effect.Option.getOrElse(() => [])))
267
+ }),
268
+ // Create nodes for objects in a collection or by its fully qualified id.
269
+ (0, import_plugin_graph.createExtension)({
270
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/objects`,
271
+ connector: (node) => import_rx_react.Rx.make((get) => (0, import_effect.pipe)(get(node), import_effect.Option.flatMap((node2) => node2.data instanceof import_chunk_FXHI7JNY.CollectionType ? import_effect.Option.some(node2.data) : import_effect.Option.none()), import_effect.Option.map((collection) => {
272
+ const state = context.getCapability(import_chunk_7GQGM4ZF.SpaceCapabilities.State);
273
+ const space = (0, import_echo.getSpace)(collection);
274
+ return get((0, import_plugin_graph.rxFromSignal)(() => (0, import_effect.pipe)(collection.objects, import_effect.Array.map((object) => object.target), import_effect.Array.filter(import_util.isNonNullable), import_effect.Array.map((object) => space && (0, import_chunk_COQYISES.createObjectNode)({
275
+ object,
276
+ space,
277
+ resolve,
278
+ navigable: state.navigableCollections
279
+ })), import_effect.Array.filter(import_util.isNonNullable))));
280
+ }), import_effect.Option.getOrElse(() => [])))
281
+ }),
282
+ // Create collection actions and action groups.
283
+ (0, import_plugin_graph.createExtension)({
284
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/object-actions`,
285
+ actions: (node) => import_rx_react.Rx.make((get) => (0, import_effect.pipe)(get(node), import_effect.Option.flatMap((node2) => (0, import_echo.isEchoObject)(node2.data) ? import_effect.Option.some(node2.data) : import_effect.Option.none()), import_effect.Option.flatMap((object) => {
286
+ const [dispatcher] = get(context.capabilities(import_app_framework.Capabilities.IntentDispatcher));
287
+ const [appGraph] = get(context.capabilities(import_app_framework.Capabilities.AppGraph));
288
+ const [state] = get(context.capabilities(import_chunk_7GQGM4ZF.SpaceCapabilities.State));
289
+ if (!dispatcher || !appGraph || !state) {
290
+ return import_effect.Option.none();
291
+ } else {
292
+ return import_effect.Option.some({
293
+ object,
294
+ graph: appGraph.graph,
295
+ dispatch: dispatcher.dispatchPromise,
296
+ navigable: get((0, import_plugin_graph.rxFromSignal)(() => state.navigableCollections))
297
+ });
298
+ }
299
+ }), import_effect.Option.map((params) => (0, import_chunk_COQYISES.constructObjectActions)(params)), import_effect.Option.getOrElse(() => [])))
300
+ }),
301
+ // Object settings plank companion.
302
+ (0, import_plugin_graph.createExtension)({
303
+ id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/settings`,
304
+ connector: (node) => import_rx_react.Rx.make((get) => (0, import_effect.pipe)(get(node), import_effect.Option.flatMap((node2) => (0, import_echo.isEchoObject)(node2.data) ? import_effect.Option.some(node2) : import_effect.Option.none()), import_effect.Option.map((node2) => [
305
+ {
306
+ id: [
307
+ node2.id,
308
+ "settings"
309
+ ].join(import_types.ATTENDABLE_PATH_SEPARATOR),
310
+ type: import_types.PLANK_COMPANION_TYPE,
311
+ data: "settings",
312
+ properties: {
313
+ label: [
314
+ "object settings label",
315
+ {
316
+ ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
317
+ }
318
+ ],
319
+ icon: "ph--sliders--regular",
320
+ disposition: "hidden",
321
+ position: "fallback"
322
+ }
323
+ }
324
+ ]), import_effect.Option.getOrElse(() => [])))
325
+ })
326
+ ]);
327
+ };
328
+ //# sourceMappingURL=app-graph-builder-WC445X77.cjs.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": ["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
+ }
@@ -16,14 +16,14 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var app_graph_serializer_M6Z2OPA4_exports = {};
20
- __export(app_graph_serializer_M6Z2OPA4_exports, {
19
+ var app_graph_serializer_UPQOQVMJ_exports = {};
20
+ __export(app_graph_serializer_UPQOQVMJ_exports, {
21
21
  default: () => app_graph_serializer_default
22
22
  });
23
- module.exports = __toCommonJS(app_graph_serializer_M6Z2OPA4_exports);
24
- var import_chunk_UOCR4G2D = require("./chunk-UOCR4G2D.cjs");
25
- var import_chunk_XADZLQAJ = require("./chunk-XADZLQAJ.cjs");
26
- var import_chunk_EQ5BPSQ7 = require("./chunk-EQ5BPSQ7.cjs");
23
+ module.exports = __toCommonJS(app_graph_serializer_UPQOQVMJ_exports);
24
+ var import_chunk_DXL5TDFP = require("./chunk-DXL5TDFP.cjs");
25
+ var import_chunk_COQYISES = require("./chunk-COQYISES.cjs");
26
+ var import_chunk_FXHI7JNY = require("./chunk-FXHI7JNY.cjs");
27
27
  var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
28
28
  var import_app_framework = require("@dxos/app-framework");
29
29
  var import_echo = require("@dxos/client/echo");
@@ -31,27 +31,27 @@ var import_live_object = require("@dxos/live-object");
31
31
  var DIRECTORY_TYPE = "text/directory";
32
32
  var app_graph_serializer_default = (context) => (0, import_app_framework.contributes)(import_app_framework.Capabilities.AppGraphSerializer, [
33
33
  {
34
- inputType: import_chunk_XADZLQAJ.SPACES,
34
+ inputType: import_chunk_COQYISES.SPACES,
35
35
  outputType: DIRECTORY_TYPE,
36
36
  serialize: (node) => ({
37
- name: import_chunk_UOCR4G2D.translations_default[0]["en-US"][import_chunk_6P2DB4QQ.SPACE_PLUGIN]["spaces label"],
38
- data: import_chunk_UOCR4G2D.translations_default[0]["en-US"][import_chunk_6P2DB4QQ.SPACE_PLUGIN]["spaces label"],
37
+ name: import_chunk_DXL5TDFP.translations_default[0]["en-US"][import_chunk_6P2DB4QQ.SPACE_PLUGIN]["spaces label"],
38
+ data: import_chunk_DXL5TDFP.translations_default[0]["en-US"][import_chunk_6P2DB4QQ.SPACE_PLUGIN]["spaces label"],
39
39
  type: DIRECTORY_TYPE
40
40
  }),
41
41
  deserialize: () => {
42
42
  }
43
43
  },
44
44
  {
45
- inputType: import_chunk_EQ5BPSQ7.SPACE_TYPE,
45
+ inputType: import_chunk_FXHI7JNY.SPACE_TYPE,
46
46
  outputType: DIRECTORY_TYPE,
47
47
  serialize: (node) => ({
48
- name: node.data.properties.name ?? import_chunk_UOCR4G2D.translations_default[0]["en-US"][import_chunk_6P2DB4QQ.SPACE_PLUGIN]["unnamed space label"],
49
- data: node.data.properties.name ?? import_chunk_UOCR4G2D.translations_default[0]["en-US"][import_chunk_6P2DB4QQ.SPACE_PLUGIN]["unnamed space label"],
48
+ name: node.data.properties.name ?? import_chunk_DXL5TDFP.translations_default[0]["en-US"][import_chunk_6P2DB4QQ.SPACE_PLUGIN]["unnamed space label"],
49
+ data: node.data.properties.name ?? import_chunk_DXL5TDFP.translations_default[0]["en-US"][import_chunk_6P2DB4QQ.SPACE_PLUGIN]["unnamed space label"],
50
50
  type: DIRECTORY_TYPE
51
51
  }),
52
52
  deserialize: async (data) => {
53
- const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
54
- const result = await dispatch((0, import_app_framework.createIntent)(import_chunk_EQ5BPSQ7.SpaceAction.Create, {
53
+ const { dispatchPromise: dispatch } = context.getCapability(import_app_framework.Capabilities.IntentDispatcher);
54
+ const result = await dispatch((0, import_app_framework.createIntent)(import_chunk_FXHI7JNY.SpaceAction.Create, {
55
55
  name: data.name,
56
56
  edgeReplication: true
57
57
  }));
@@ -59,23 +59,23 @@ var app_graph_serializer_default = (context) => (0, import_app_framework.contrib
59
59
  }
60
60
  },
61
61
  {
62
- inputType: import_chunk_EQ5BPSQ7.CollectionType.typename,
62
+ inputType: import_chunk_FXHI7JNY.CollectionType.typename,
63
63
  outputType: DIRECTORY_TYPE,
64
64
  serialize: (node) => ({
65
- name: node.data.name ?? import_chunk_UOCR4G2D.translations_default[0]["en-US"][import_chunk_EQ5BPSQ7.CollectionType.typename]["object name placeholder"],
66
- data: node.data.name ?? import_chunk_UOCR4G2D.translations_default[0]["en-US"][import_chunk_EQ5BPSQ7.CollectionType.typename]["object name placeholder"],
65
+ name: node.data.name ?? import_chunk_DXL5TDFP.translations_default[0]["en-US"][import_chunk_FXHI7JNY.CollectionType.typename]["object name placeholder"],
66
+ data: node.data.name ?? import_chunk_DXL5TDFP.translations_default[0]["en-US"][import_chunk_FXHI7JNY.CollectionType.typename]["object name placeholder"],
67
67
  type: DIRECTORY_TYPE
68
68
  }),
69
69
  deserialize: async (data, ancestors) => {
70
70
  const space = ancestors.find(import_echo.isSpace);
71
- const collection = ancestors.findLast((ancestor) => ancestor instanceof import_chunk_EQ5BPSQ7.CollectionType) ?? space?.properties[import_chunk_EQ5BPSQ7.CollectionType.typename]?.target;
71
+ const collection = ancestors.findLast((ancestor) => ancestor instanceof import_chunk_FXHI7JNY.CollectionType) ?? space?.properties[import_chunk_FXHI7JNY.CollectionType.typename]?.target;
72
72
  if (!space || !collection) {
73
73
  return;
74
74
  }
75
- const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
76
- const result = await dispatch((0, import_app_framework.createIntent)(import_chunk_EQ5BPSQ7.SpaceAction.AddObject, {
75
+ const { dispatchPromise: dispatch } = context.getCapability(import_app_framework.Capabilities.IntentDispatcher);
76
+ const result = await dispatch((0, import_app_framework.createIntent)(import_chunk_FXHI7JNY.SpaceAction.AddObject, {
77
77
  target: collection,
78
- object: (0, import_live_object.live)(import_chunk_EQ5BPSQ7.CollectionType, {
78
+ object: (0, import_live_object.live)(import_chunk_FXHI7JNY.CollectionType, {
79
79
  name: data.name,
80
80
  objects: [],
81
81
  views: {}
@@ -85,4 +85,4 @@ var app_graph_serializer_default = (context) => (0, import_app_framework.contrib
85
85
  }
86
86
  }
87
87
  ]);
88
- //# sourceMappingURL=app-graph-serializer-M6Z2OPA4.cjs.map
88
+ //# sourceMappingURL=app-graph-serializer-UPQOQVMJ.cjs.map
@@ -0,0 +1,7 @@
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 PluginContext } 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: PluginContext) =>\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.getCapability(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.getCapability(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,2BAA4E;AAC5E,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,cAAcjB,kCAAakB,gBAAgB;AACzF,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,cAAcjB,kCAAakB,gBAAgB;AACzF,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", "getCapability", "IntentDispatcher", "result", "createIntent", "SpaceAction", "Create", "edgeReplication", "space", "CollectionType", "typename", "ancestors", "find", "isSpace", "collection", "findLast", "ancestor", "target", "AddObject", "object", "live", "objects", "views"]
7
+ }
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var chunk_5WLAXYE3_exports = {};
30
+ __export(chunk_5WLAXYE3_exports, {
31
+ getActiveSpace: () => getActiveSpace,
32
+ useActiveSpace: () => useActiveSpace,
33
+ useInputSurfaceLookup: () => useInputSurfaceLookup,
34
+ usePath: () => usePath
35
+ });
36
+ module.exports = __toCommonJS(chunk_5WLAXYE3_exports);
37
+ var import_app_framework = require("@dxos/app-framework");
38
+ var import_plugin_client = require("@dxos/plugin-client");
39
+ var import_echo = require("@dxos/react-client/echo");
40
+ var import_react = __toESM(require("react"));
41
+ var import_app_framework2 = require("@dxos/app-framework");
42
+ var import_tracking = require("@preact-signals/safe-react/tracking");
43
+ var import_effect = require("effect");
44
+ var import_react2 = require("react");
45
+ var getActiveSpace = (context) => {
46
+ const layout = context.getCapability(import_app_framework.Capabilities.Layout);
47
+ const client = context.getCapability(import_plugin_client.ClientCapabilities.Client);
48
+ const { spaceId } = (0, import_echo.parseId)(layout.workspace);
49
+ return spaceId ? client.spaces.get(spaceId) : void 0;
50
+ };
51
+ var useActiveSpace = () => {
52
+ const layout = (0, import_app_framework.useLayout)();
53
+ const { spaceId } = (0, import_echo.parseId)(layout.workspace);
54
+ return (0, import_echo.useSpace)(spaceId);
55
+ };
56
+ var useInputSurfaceLookup = (baseData) => {
57
+ const pluginManager = (0, import_app_framework2.usePluginManager)();
58
+ return (0, import_react.useCallback)(({ prop, schema, inputProps }) => {
59
+ const composedData = {
60
+ prop,
61
+ schema,
62
+ ...baseData
63
+ };
64
+ if (!(0, import_app_framework2.isSurfaceAvailable)(pluginManager.context, {
65
+ role: "form-input",
66
+ data: composedData
67
+ })) {
68
+ return void 0;
69
+ }
70
+ return /* @__PURE__ */ import_react.default.createElement(import_app_framework2.Surface, {
71
+ role: "form-input",
72
+ data: composedData,
73
+ ...inputProps
74
+ });
75
+ }, [
76
+ pluginManager,
77
+ baseData
78
+ ]);
79
+ };
80
+ var usePath = (graph, id, timeout) => {
81
+ var _effect = (0, import_tracking.useSignals)();
82
+ try {
83
+ const [pathState, setPathState] = (0, import_react2.useState)(id ? graph.getPath({
84
+ target: id
85
+ }) : import_effect.Option.none());
86
+ (0, import_react2.useEffect)(() => {
87
+ if (!id && pathState) {
88
+ setPathState(import_effect.Option.none());
89
+ }
90
+ if (import_effect.Option.isSome(pathState) && pathState.value.at(-1) === id || !id) {
91
+ return;
92
+ }
93
+ const frame = requestAnimationFrame(async () => {
94
+ try {
95
+ const path = await graph.waitForPath({
96
+ target: id
97
+ }, {
98
+ timeout
99
+ });
100
+ if (path) {
101
+ setPathState(import_effect.Option.some(path));
102
+ }
103
+ } catch {
104
+ }
105
+ });
106
+ return () => cancelAnimationFrame(frame);
107
+ }, [
108
+ graph,
109
+ id,
110
+ timeout,
111
+ pathState
112
+ ]);
113
+ return pathState;
114
+ } finally {
115
+ _effect.f();
116
+ }
117
+ };
118
+ // Annotate the CommonJS export names for ESM import in node:
119
+ 0 && (module.exports = {
120
+ getActiveSpace,
121
+ useActiveSpace,
122
+ useInputSurfaceLookup,
123
+ usePath
124
+ });
125
+ //# sourceMappingURL=chunk-5WLAXYE3.cjs.map