@dxos/plugin-space 0.8.4-main.bc674ce → 0.8.4-main.c351d160a8

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 (544) hide show
  1. package/dist/lib/browser/CollectionArticle-XGSQDBMS.mjs +115 -0
  2. package/dist/lib/browser/CollectionArticle-XGSQDBMS.mjs.map +7 -0
  3. package/dist/lib/browser/CollectionSection-H2MBNI63.mjs +23 -0
  4. package/dist/lib/browser/CollectionSection-H2MBNI63.mjs.map +7 -0
  5. package/dist/lib/browser/CreateObjectDialog-YUBUWSEL.mjs +142 -0
  6. package/dist/lib/browser/CreateObjectDialog-YUBUWSEL.mjs.map +7 -0
  7. package/dist/lib/browser/CreateSpaceDialog-3M2LAWV6.mjs +64 -0
  8. package/dist/lib/browser/CreateSpaceDialog-3M2LAWV6.mjs.map +7 -0
  9. package/dist/lib/browser/InlineSyncStatus-K5MZ3YMZ.mjs +53 -0
  10. package/dist/lib/browser/InlineSyncStatus-K5MZ3YMZ.mjs.map +7 -0
  11. package/dist/lib/browser/JoinDialog-PBK2RE5F.mjs +115 -0
  12. package/dist/lib/browser/JoinDialog-PBK2RE5F.mjs.map +7 -0
  13. package/dist/lib/browser/MembersContainer-OGYV2L4M.mjs +257 -0
  14. package/dist/lib/browser/MembersContainer-OGYV2L4M.mjs.map +7 -0
  15. package/dist/lib/browser/MenuFooter-XCBDK7WP.mjs +37 -0
  16. package/dist/lib/browser/MenuFooter-XCBDK7WP.mjs.map +7 -0
  17. package/dist/lib/browser/ObjectCardStack-UOEHSBL5.mjs +64 -0
  18. package/dist/lib/browser/ObjectCardStack-UOEHSBL5.mjs.map +7 -0
  19. package/dist/lib/browser/ObjectDetails-ADGND237.mjs +43 -0
  20. package/dist/lib/browser/ObjectDetails-ADGND237.mjs.map +7 -0
  21. package/dist/lib/browser/ObjectRenamePopover-JNPJIFIR.mjs +70 -0
  22. package/dist/lib/browser/ObjectRenamePopover-JNPJIFIR.mjs.map +7 -0
  23. package/dist/lib/browser/{RecordArticle-W57QE7QV.mjs → RecordArticle-YXAJ23HH.mjs} +49 -34
  24. package/dist/lib/browser/RecordArticle-YXAJ23HH.mjs.map +7 -0
  25. package/dist/lib/browser/SchemaContainer-QWCSIZBS.mjs +49 -0
  26. package/dist/lib/browser/SchemaContainer-QWCSIZBS.mjs.map +7 -0
  27. package/dist/lib/browser/SmallPresenceLive-AHHLBAUP.mjs +9 -0
  28. package/dist/lib/browser/SmallPresenceLive-AHHLBAUP.mjs.map +7 -0
  29. package/dist/lib/browser/SpacePluginSettings-QGZKNQLK.mjs +59 -0
  30. package/dist/lib/browser/SpacePluginSettings-QGZKNQLK.mjs.map +7 -0
  31. package/dist/lib/browser/SpacePresence-JIWLBUWO.mjs +12 -0
  32. package/dist/lib/browser/SpacePresence-JIWLBUWO.mjs.map +7 -0
  33. package/dist/lib/browser/SpaceRenamePopover-ZL6RRZ2B.mjs +62 -0
  34. package/dist/lib/browser/SpaceRenamePopover-ZL6RRZ2B.mjs.map +7 -0
  35. package/dist/lib/browser/SpaceSettingsContainer-MIOOT63N.mjs +242 -0
  36. package/dist/lib/browser/SpaceSettingsContainer-MIOOT63N.mjs.map +7 -0
  37. package/dist/lib/browser/SyncStatus-6N7JJ7XF.mjs +141 -0
  38. package/dist/lib/browser/SyncStatus-6N7JJ7XF.mjs.map +7 -0
  39. package/dist/lib/browser/ViewEditor-3FX5HDRT.mjs +113 -0
  40. package/dist/lib/browser/ViewEditor-3FX5HDRT.mjs.map +7 -0
  41. package/dist/lib/browser/app-graph-builder-UEOUAYZG.mjs +1201 -0
  42. package/dist/lib/browser/app-graph-builder-UEOUAYZG.mjs.map +7 -0
  43. package/dist/lib/browser/{app-graph-serializer-7AT7QMSK.mjs → app-graph-serializer-UZWWGLGY.mjs} +11 -10
  44. package/dist/lib/browser/app-graph-serializer-UZWWGLGY.mjs.map +7 -0
  45. package/dist/lib/browser/chunk-2WHUSAHE.mjs +579 -0
  46. package/dist/lib/browser/chunk-2WHUSAHE.mjs.map +7 -0
  47. package/dist/lib/browser/{chunk-CCRSHECL.mjs → chunk-6IT5IBB5.mjs} +74 -105
  48. package/dist/lib/browser/chunk-6IT5IBB5.mjs.map +7 -0
  49. package/dist/lib/browser/chunk-6OA75CWN.mjs +77 -0
  50. package/dist/lib/browser/chunk-6OA75CWN.mjs.map +7 -0
  51. package/dist/lib/browser/{chunk-ZT2VPYRM.mjs → chunk-AUX3RRLY.mjs} +37 -12
  52. package/dist/lib/browser/chunk-AUX3RRLY.mjs.map +7 -0
  53. package/dist/lib/browser/{chunk-HSMQFM57.mjs → chunk-CBWGVOJE.mjs} +2 -2
  54. package/dist/lib/browser/{chunk-HSMQFM57.mjs.map → chunk-CBWGVOJE.mjs.map} +1 -1
  55. package/dist/lib/browser/{chunk-4WZUGLQQ.mjs → chunk-ICXESMDI.mjs} +13 -12
  56. package/dist/lib/browser/chunk-ICXESMDI.mjs.map +7 -0
  57. package/dist/lib/browser/chunk-RJUOHI3B.mjs +19 -0
  58. package/dist/lib/browser/{chunk-ASV6DYFH.mjs.map → chunk-RJUOHI3B.mjs.map} +1 -1
  59. package/dist/lib/browser/chunk-SJCNERZI.mjs +115 -0
  60. package/dist/lib/browser/chunk-SJCNERZI.mjs.map +7 -0
  61. package/dist/lib/browser/{chunk-AWVAX26X.mjs → chunk-SSTUPFZ2.mjs} +3 -3
  62. package/dist/lib/browser/chunk-UYOJYBGW.mjs +168 -0
  63. package/dist/lib/browser/chunk-UYOJYBGW.mjs.map +7 -0
  64. package/dist/lib/browser/cli/index.mjs +38 -44
  65. package/dist/lib/browser/cli/index.mjs.map +3 -3
  66. package/dist/lib/browser/{identity-created-VCFYLSBB.mjs → identity-created-ETXNQYR6.mjs} +5 -5
  67. package/dist/lib/browser/identity-created-ETXNQYR6.mjs.map +7 -0
  68. package/dist/lib/browser/index.mjs +104 -159
  69. package/dist/lib/browser/index.mjs.map +3 -3
  70. package/dist/lib/browser/meta.json +1 -1
  71. package/dist/lib/browser/{operation-resolver-SIRQT36Z.mjs → operation-resolver-D4LHB4D4.mjs} +95 -115
  72. package/dist/lib/browser/operation-resolver-D4LHB4D4.mjs.map +7 -0
  73. package/dist/lib/browser/{react-root-3SPMM45V.mjs → react-root-OD2HP63B.mjs} +9 -9
  74. package/dist/lib/browser/react-root-OD2HP63B.mjs.map +7 -0
  75. package/dist/lib/browser/{react-surface-UUS7NDHS.mjs → react-surface-ANV4KTRV.mjs} +98 -115
  76. package/dist/lib/browser/react-surface-ANV4KTRV.mjs.map +7 -0
  77. package/dist/lib/browser/repair-NUVEV4AK.mjs +31 -0
  78. package/dist/lib/browser/repair-NUVEV4AK.mjs.map +7 -0
  79. package/dist/lib/browser/{settings-ZS2AQ73E.mjs → settings-RUDP2Q56.mjs} +6 -5
  80. package/dist/lib/browser/settings-RUDP2Q56.mjs.map +7 -0
  81. package/dist/lib/browser/{spaces-ready-OQDGWUOS.mjs → spaces-ready-B2GYL5IN.mjs} +15 -14
  82. package/dist/lib/browser/spaces-ready-B2GYL5IN.mjs.map +7 -0
  83. package/dist/lib/browser/{state-7YZQB2KY.mjs → state-I6JDZCDE.mjs} +8 -8
  84. package/dist/lib/browser/state-I6JDZCDE.mjs.map +7 -0
  85. package/dist/lib/browser/types/index.mjs +2 -2
  86. package/dist/lib/node-esm/{CollectionArticle-V5OOJVJJ.mjs → CollectionArticle-MNLCROOX.mjs} +49 -59
  87. package/dist/lib/node-esm/CollectionArticle-MNLCROOX.mjs.map +7 -0
  88. package/dist/lib/node-esm/CollectionSection-BI66Y34F.mjs +24 -0
  89. package/dist/lib/node-esm/CollectionSection-BI66Y34F.mjs.map +7 -0
  90. package/dist/lib/node-esm/CreateObjectDialog-B6OLP5VQ.mjs +143 -0
  91. package/dist/lib/node-esm/CreateObjectDialog-B6OLP5VQ.mjs.map +7 -0
  92. package/dist/lib/node-esm/CreateSpaceDialog-J47M5FPQ.mjs +65 -0
  93. package/dist/lib/node-esm/CreateSpaceDialog-J47M5FPQ.mjs.map +7 -0
  94. package/dist/lib/node-esm/InlineSyncStatus-BLD57LB5.mjs +54 -0
  95. package/dist/lib/node-esm/InlineSyncStatus-BLD57LB5.mjs.map +7 -0
  96. package/dist/lib/node-esm/JoinDialog-XCOYKSHA.mjs +116 -0
  97. package/dist/lib/node-esm/JoinDialog-XCOYKSHA.mjs.map +7 -0
  98. package/dist/lib/node-esm/MembersContainer-4PV3Z4BA.mjs +258 -0
  99. package/dist/lib/node-esm/MembersContainer-4PV3Z4BA.mjs.map +7 -0
  100. package/dist/lib/node-esm/MenuFooter-PXG2GV6A.mjs +38 -0
  101. package/dist/lib/node-esm/MenuFooter-PXG2GV6A.mjs.map +7 -0
  102. package/dist/lib/node-esm/ObjectCardStack-THP5FKDV.mjs +65 -0
  103. package/dist/lib/node-esm/ObjectCardStack-THP5FKDV.mjs.map +7 -0
  104. package/dist/lib/node-esm/ObjectDetails-2SBF3KBM.mjs +44 -0
  105. package/dist/lib/node-esm/ObjectDetails-2SBF3KBM.mjs.map +7 -0
  106. package/dist/lib/node-esm/ObjectRenamePopover-BRPKVNVF.mjs +71 -0
  107. package/dist/lib/node-esm/ObjectRenamePopover-BRPKVNVF.mjs.map +7 -0
  108. package/dist/lib/node-esm/{RecordArticle-SSV74Z46.mjs → RecordArticle-344UK7QP.mjs} +49 -34
  109. package/dist/lib/node-esm/RecordArticle-344UK7QP.mjs.map +7 -0
  110. package/dist/lib/node-esm/SchemaContainer-5G4R3Z6O.mjs +50 -0
  111. package/dist/lib/node-esm/SchemaContainer-5G4R3Z6O.mjs.map +7 -0
  112. package/dist/lib/node-esm/SmallPresenceLive-4K7RJS74.mjs +10 -0
  113. package/dist/lib/node-esm/SmallPresenceLive-4K7RJS74.mjs.map +7 -0
  114. package/dist/lib/node-esm/SpacePluginSettings-PENV4GHL.mjs +60 -0
  115. package/dist/lib/node-esm/SpacePluginSettings-PENV4GHL.mjs.map +7 -0
  116. package/dist/lib/node-esm/SpacePresence-H3VZWFJV.mjs +13 -0
  117. package/dist/lib/node-esm/SpacePresence-H3VZWFJV.mjs.map +7 -0
  118. package/dist/lib/node-esm/SpaceRenamePopover-XEMTI4PU.mjs +63 -0
  119. package/dist/lib/node-esm/SpaceRenamePopover-XEMTI4PU.mjs.map +7 -0
  120. package/dist/lib/node-esm/SpaceSettingsContainer-WI4D7RWA.mjs +243 -0
  121. package/dist/lib/node-esm/SpaceSettingsContainer-WI4D7RWA.mjs.map +7 -0
  122. package/dist/lib/node-esm/SyncStatus-YEBGTNSD.mjs +142 -0
  123. package/dist/lib/node-esm/SyncStatus-YEBGTNSD.mjs.map +7 -0
  124. package/dist/lib/node-esm/ViewEditor-CUQVNM2H.mjs +114 -0
  125. package/dist/lib/node-esm/ViewEditor-CUQVNM2H.mjs.map +7 -0
  126. package/dist/lib/node-esm/app-graph-builder-W2QNDIZF.mjs +1202 -0
  127. package/dist/lib/node-esm/app-graph-builder-W2QNDIZF.mjs.map +7 -0
  128. package/dist/lib/node-esm/{app-graph-serializer-WJ2TIQG6.mjs → app-graph-serializer-RT2RQTV2.mjs} +11 -10
  129. package/dist/lib/node-esm/app-graph-serializer-RT2RQTV2.mjs.map +7 -0
  130. package/dist/lib/node-esm/{chunk-JOBIWCBC.mjs → chunk-2OLR2ZKH.mjs} +13 -12
  131. package/dist/lib/node-esm/chunk-2OLR2ZKH.mjs.map +7 -0
  132. package/dist/lib/node-esm/chunk-5KTTTTEX.mjs +20 -0
  133. package/dist/lib/node-esm/{chunk-CVXULIYC.mjs.map → chunk-5KTTTTEX.mjs.map} +1 -1
  134. package/dist/lib/node-esm/{chunk-SL4BJSUG.mjs → chunk-63N5JJXI.mjs} +2 -2
  135. package/dist/lib/node-esm/{chunk-SL4BJSUG.mjs.map → chunk-63N5JJXI.mjs.map} +1 -1
  136. package/dist/lib/node-esm/chunk-EDC2RUJU.mjs +169 -0
  137. package/dist/lib/node-esm/chunk-EDC2RUJU.mjs.map +7 -0
  138. package/dist/lib/node-esm/{chunk-MPL6NHQX.mjs → chunk-EVNSLSQS.mjs} +74 -105
  139. package/dist/lib/node-esm/chunk-EVNSLSQS.mjs.map +7 -0
  140. package/dist/lib/node-esm/chunk-GEGWQVZX.mjs +78 -0
  141. package/dist/lib/node-esm/chunk-GEGWQVZX.mjs.map +7 -0
  142. package/dist/lib/node-esm/chunk-IV7VKVGC.mjs +117 -0
  143. package/dist/lib/node-esm/chunk-IV7VKVGC.mjs.map +7 -0
  144. package/dist/lib/node-esm/{chunk-2SW6S2BB.mjs → chunk-RYQQXNI7.mjs} +37 -12
  145. package/dist/lib/node-esm/chunk-RYQQXNI7.mjs.map +7 -0
  146. package/dist/lib/node-esm/chunk-S5BQUCL4.mjs +580 -0
  147. package/dist/lib/node-esm/chunk-S5BQUCL4.mjs.map +7 -0
  148. package/dist/lib/node-esm/{chunk-HREWB23G.mjs → chunk-XYLDAH5C.mjs} +3 -3
  149. package/dist/lib/node-esm/cli/index.mjs +38 -44
  150. package/dist/lib/node-esm/cli/index.mjs.map +3 -3
  151. package/dist/lib/node-esm/{identity-created-2SJABVJD.mjs → identity-created-U5LGULVL.mjs} +5 -5
  152. package/dist/lib/node-esm/identity-created-U5LGULVL.mjs.map +7 -0
  153. package/dist/lib/node-esm/index.mjs +104 -159
  154. package/dist/lib/node-esm/index.mjs.map +3 -3
  155. package/dist/lib/node-esm/meta.json +1 -1
  156. package/dist/lib/node-esm/{operation-resolver-ZE3XJL5J.mjs → operation-resolver-IL2AHNPN.mjs} +95 -115
  157. package/dist/lib/node-esm/operation-resolver-IL2AHNPN.mjs.map +7 -0
  158. package/dist/lib/node-esm/{react-root-Y6JTGDTW.mjs → react-root-RILC5MBD.mjs} +9 -9
  159. package/dist/lib/node-esm/react-root-RILC5MBD.mjs.map +7 -0
  160. package/dist/lib/node-esm/{react-surface-SQ4SK3OK.mjs → react-surface-TA5KEWVW.mjs} +98 -115
  161. package/dist/lib/node-esm/react-surface-TA5KEWVW.mjs.map +7 -0
  162. package/dist/lib/node-esm/{repair-G3ZW3VG3.mjs → repair-LRZHFPSJ.mjs} +6 -25
  163. package/dist/lib/node-esm/repair-LRZHFPSJ.mjs.map +7 -0
  164. package/dist/lib/node-esm/{settings-PVI2VG56.mjs → settings-3EKSEAAG.mjs} +6 -5
  165. package/dist/lib/node-esm/settings-3EKSEAAG.mjs.map +7 -0
  166. package/dist/lib/node-esm/{spaces-ready-R744OHQG.mjs → spaces-ready-QK3EHBOS.mjs} +15 -14
  167. package/dist/lib/node-esm/spaces-ready-QK3EHBOS.mjs.map +7 -0
  168. package/dist/lib/node-esm/{state-XE5YGPHM.mjs → state-W36RRYUO.mjs} +8 -8
  169. package/dist/lib/node-esm/state-W36RRYUO.mjs.map +7 -0
  170. package/dist/lib/node-esm/types/index.mjs +2 -2
  171. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  172. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +2 -2
  173. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -1
  174. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts +33 -0
  175. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts.map +1 -0
  176. package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts +19 -0
  177. package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts.map +1 -0
  178. package/dist/types/src/capabilities/app-graph-builder/extensions/index.d.ts +6 -0
  179. package/dist/types/src/capabilities/app-graph-builder/extensions/index.d.ts.map +1 -0
  180. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts +12 -0
  181. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts.map +1 -0
  182. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts +57 -0
  183. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts.map +1 -0
  184. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.test.d.ts +2 -0
  185. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.test.d.ts.map +1 -0
  186. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts +24 -0
  187. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts.map +1 -0
  188. package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts +38 -0
  189. package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts.map +1 -0
  190. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +1 -1
  191. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -1
  192. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts +2 -2
  193. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts.map +1 -1
  194. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts +1 -1
  195. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts.map +1 -1
  196. package/dist/types/src/capabilities/identity-created/identity-created.d.ts +1 -1
  197. package/dist/types/src/capabilities/operation-resolver/index.d.ts +1 -1
  198. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -1
  199. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +2 -2
  200. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
  201. package/dist/types/src/capabilities/react-root/react-root.d.ts +1 -1
  202. package/dist/types/src/capabilities/react-root/react-root.d.ts.map +1 -1
  203. package/dist/types/src/capabilities/react-surface/index.d.ts +1 -1
  204. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -1
  205. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +2 -2
  206. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
  207. package/dist/types/src/capabilities/repair/repair.d.ts +1 -1
  208. package/dist/types/src/capabilities/repair/repair.d.ts.map +1 -1
  209. package/dist/types/src/capabilities/settings/index.d.ts +1 -1
  210. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -1
  211. package/dist/types/src/capabilities/settings/settings.d.ts +4 -3
  212. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -1
  213. package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts +1 -1
  214. package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts.map +1 -1
  215. package/dist/types/src/capabilities/state/state.d.ts +1 -1
  216. package/dist/types/src/capabilities/state/state.d.ts.map +1 -1
  217. package/dist/types/src/cli/commands/database/add.d.ts +0 -1
  218. package/dist/types/src/cli/commands/database/add.d.ts.map +1 -1
  219. package/dist/types/src/cli/plugin.d.ts.map +1 -1
  220. package/dist/types/src/components/AwaitingObject/AwaitingObject.d.ts.map +1 -0
  221. package/dist/types/src/components/AwaitingObject/index.d.ts +2 -0
  222. package/dist/types/src/components/AwaitingObject/index.d.ts.map +1 -0
  223. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +12 -5
  224. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  225. package/dist/types/src/components/CreateDialog/index.d.ts +1 -2
  226. package/dist/types/src/components/CreateDialog/index.d.ts.map +1 -1
  227. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.d.ts.map +1 -1
  228. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.stories.d.ts +68 -14
  229. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.stories.d.ts.map +1 -1
  230. package/dist/types/src/components/ObjectDetails/index.d.ts +2 -2
  231. package/dist/types/src/components/ObjectDetails/index.d.ts.map +1 -1
  232. package/dist/types/src/components/ObjectForm/ObjectForm.d.ts.map +1 -0
  233. package/dist/types/src/components/ObjectForm/index.d.ts +2 -0
  234. package/dist/types/src/components/ObjectForm/index.d.ts.map +1 -0
  235. package/dist/types/src/components/SyncStatus/index.d.ts +2 -2
  236. package/dist/types/src/components/SyncStatus/index.d.ts.map +1 -1
  237. package/dist/types/src/components/index.d.ts +2 -23
  238. package/dist/types/src/components/index.d.ts.map +1 -1
  239. package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts +8 -0
  240. package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts.map +1 -0
  241. package/dist/types/src/containers/CollectionArticle/index.d.ts +3 -0
  242. package/dist/types/src/containers/CollectionArticle/index.d.ts.map +1 -0
  243. package/dist/types/src/containers/CollectionSection/CollectionSection.d.ts +5 -0
  244. package/dist/types/src/containers/CollectionSection/CollectionSection.d.ts.map +1 -0
  245. package/dist/types/src/containers/CollectionSection/index.d.ts +3 -0
  246. package/dist/types/src/containers/CollectionSection/index.d.ts.map +1 -0
  247. package/dist/types/src/{components/CreateDialog → containers/CreateObjectDialog}/CreateObjectDialog.d.ts +5 -3
  248. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts.map +1 -0
  249. package/dist/types/src/containers/CreateObjectDialog/index.d.ts +3 -0
  250. package/dist/types/src/containers/CreateObjectDialog/index.d.ts.map +1 -0
  251. package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.d.ts.map +1 -0
  252. package/dist/types/src/containers/CreateSpaceDialog/index.d.ts +3 -0
  253. package/dist/types/src/containers/CreateSpaceDialog/index.d.ts.map +1 -0
  254. package/dist/types/src/containers/InlineSyncStatus/InlineSyncStatus.d.ts.map +1 -0
  255. package/dist/types/src/containers/InlineSyncStatus/index.d.ts +3 -0
  256. package/dist/types/src/containers/InlineSyncStatus/index.d.ts.map +1 -0
  257. package/dist/types/src/{components → containers}/JoinDialog/JoinDialog.d.ts.map +1 -1
  258. package/dist/types/src/containers/JoinDialog/index.d.ts +3 -0
  259. package/dist/types/src/containers/JoinDialog/index.d.ts.map +1 -0
  260. package/dist/types/src/{components → containers}/MembersContainer/MembersContainer.d.ts.map +1 -1
  261. package/dist/types/src/containers/MembersContainer/index.d.ts +3 -0
  262. package/dist/types/src/containers/MembersContainer/index.d.ts.map +1 -0
  263. package/dist/types/src/containers/MenuFooter/MenuFooter.d.ts.map +1 -0
  264. package/dist/types/src/containers/MenuFooter/index.d.ts +3 -0
  265. package/dist/types/src/containers/MenuFooter/index.d.ts.map +1 -0
  266. package/dist/types/src/{components → containers}/ObjectCardStack/ObjectCardStack.d.ts +4 -1
  267. package/dist/types/src/containers/ObjectCardStack/ObjectCardStack.d.ts.map +1 -0
  268. package/dist/types/src/{components → containers}/ObjectCardStack/index.d.ts.map +1 -1
  269. package/dist/types/src/{components → containers}/ObjectDetails/ObjectDetails.d.ts +2 -1
  270. package/dist/types/src/containers/ObjectDetails/ObjectDetails.d.ts.map +1 -0
  271. package/dist/types/src/containers/ObjectDetails/index.d.ts +3 -0
  272. package/dist/types/src/containers/ObjectDetails/index.d.ts.map +1 -0
  273. package/dist/types/src/{components → containers}/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -1
  274. package/dist/types/src/containers/ObjectRenamePopover/index.d.ts +3 -0
  275. package/dist/types/src/containers/ObjectRenamePopover/index.d.ts.map +1 -0
  276. package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts +4 -0
  277. package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts.map +1 -0
  278. package/dist/types/src/containers/RecordArticle/index.d.ts +3 -0
  279. package/dist/types/src/containers/RecordArticle/index.d.ts.map +1 -0
  280. package/dist/types/src/containers/SchemaContainer/SchemaContainer.d.ts.map +1 -0
  281. package/dist/types/src/containers/SchemaContainer/index.d.ts +3 -0
  282. package/dist/types/src/containers/SchemaContainer/index.d.ts.map +1 -0
  283. package/dist/types/src/containers/SmallPresenceLive/index.d.ts +2 -0
  284. package/dist/types/src/containers/SmallPresenceLive/index.d.ts.map +1 -0
  285. package/dist/types/src/{components → containers/SpacePluginSettings}/SpacePluginSettings.d.ts +1 -1
  286. package/dist/types/src/containers/SpacePluginSettings/SpacePluginSettings.d.ts.map +1 -0
  287. package/dist/types/src/containers/SpacePluginSettings/index.d.ts +3 -0
  288. package/dist/types/src/containers/SpacePluginSettings/index.d.ts.map +1 -0
  289. package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.d.ts.map +1 -1
  290. package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.stories.d.ts +67 -13
  291. package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.stories.d.ts.map +1 -1
  292. package/dist/types/src/containers/SpacePresence/index.d.ts +3 -0
  293. package/dist/types/src/containers/SpacePresence/index.d.ts.map +1 -0
  294. package/dist/types/src/{components → containers}/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -1
  295. package/dist/types/src/containers/SpaceRenamePopover/index.d.ts +3 -0
  296. package/dist/types/src/containers/SpaceRenamePopover/index.d.ts.map +1 -0
  297. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts +10 -0
  298. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts.map +1 -0
  299. package/dist/types/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.stories.d.ts +71 -14
  300. package/dist/types/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.stories.d.ts.map +1 -1
  301. package/dist/types/src/containers/SpaceSettingsContainer/index.d.ts +3 -0
  302. package/dist/types/src/containers/SpaceSettingsContainer/index.d.ts.map +1 -0
  303. package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.d.ts.map +1 -1
  304. package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.stories.d.ts +67 -13
  305. package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  306. package/dist/types/src/containers/SyncStatus/index.d.ts +3 -0
  307. package/dist/types/src/containers/SyncStatus/index.d.ts.map +1 -0
  308. package/dist/types/src/{components → containers/ViewEditor}/ViewEditor.d.ts +1 -1
  309. package/dist/types/src/containers/ViewEditor/ViewEditor.d.ts.map +1 -0
  310. package/dist/types/src/containers/ViewEditor/index.d.ts +3 -0
  311. package/dist/types/src/containers/ViewEditor/index.d.ts.map +1 -0
  312. package/dist/types/src/containers/index.d.ts +23 -0
  313. package/dist/types/src/containers/index.d.ts.map +1 -0
  314. package/dist/types/src/helpers/query.d.ts.map +1 -1
  315. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  316. package/dist/types/src/index.d.ts +1 -1
  317. package/dist/types/src/index.d.ts.map +1 -1
  318. package/dist/types/src/translations.d.ts +67 -13
  319. package/dist/types/src/translations.d.ts.map +1 -1
  320. package/dist/types/src/types/capabilities.d.ts +1 -1
  321. package/dist/types/src/types/capabilities.d.ts.map +1 -1
  322. package/dist/types/src/types/events.d.ts.map +1 -1
  323. package/dist/types/src/types/form.d.ts +0 -2
  324. package/dist/types/src/types/form.d.ts.map +1 -1
  325. package/dist/types/src/types/types.d.ts +63 -124
  326. package/dist/types/src/types/types.d.ts.map +1 -1
  327. package/dist/types/src/util.d.ts +6 -121
  328. package/dist/types/src/util.d.ts.map +1 -1
  329. package/dist/types/tsconfig.tsbuildinfo +1 -1
  330. package/package.json +68 -66
  331. package/src/SpacePlugin.ts +83 -70
  332. package/src/capabilities/app-graph-builder/app-graph-builder.ts +17 -602
  333. package/src/capabilities/app-graph-builder/extensions/collections.ts +351 -0
  334. package/src/capabilities/app-graph-builder/extensions/companions.ts +80 -0
  335. package/src/capabilities/app-graph-builder/extensions/index.ts +9 -0
  336. package/src/capabilities/app-graph-builder/extensions/settings.ts +60 -0
  337. package/src/capabilities/app-graph-builder/extensions/shared.test.ts +112 -0
  338. package/src/capabilities/app-graph-builder/extensions/shared.ts +171 -0
  339. package/src/capabilities/app-graph-builder/extensions/spaces.ts +338 -0
  340. package/src/capabilities/app-graph-builder/extensions/types.ts +432 -0
  341. package/src/capabilities/app-graph-serializer/app-graph-serializer.ts +6 -5
  342. package/src/capabilities/identity-created/identity-created.ts +4 -4
  343. package/src/capabilities/operation-resolver/operation-resolver.ts +97 -94
  344. package/src/capabilities/react-root/react-root.tsx +3 -3
  345. package/src/capabilities/react-surface/react-surface.tsx +79 -99
  346. package/src/capabilities/repair/repair.ts +3 -28
  347. package/src/capabilities/settings/settings.ts +3 -2
  348. package/src/capabilities/spaces-ready/spaces-ready.ts +8 -7
  349. package/src/capabilities/state/state.ts +7 -5
  350. package/src/cli/commands/database/add.ts +8 -10
  351. package/src/cli/commands/database/query/query.ts +1 -1
  352. package/src/cli/commands/database/remove.ts +2 -2
  353. package/src/cli/commands/database/stats.ts +1 -1
  354. package/src/cli/commands/space/close/close.ts +1 -1
  355. package/src/cli/commands/space/create/create.ts +1 -1
  356. package/src/cli/commands/space/join/join.ts +1 -1
  357. package/src/cli/commands/space/open/open.ts +1 -1
  358. package/src/cli/plugin.ts +34 -27
  359. package/src/components/{AwaitingObject.tsx → AwaitingObject/AwaitingObject.tsx} +6 -5
  360. package/src/components/AwaitingObject/index.ts +5 -0
  361. package/src/components/CreateDialog/CreateObjectPanel.tsx +90 -111
  362. package/src/components/CreateDialog/index.ts +1 -2
  363. package/src/components/ObjectDetails/BaseObjectSettings.stories.tsx +10 -10
  364. package/src/components/ObjectDetails/BaseObjectSettings.tsx +8 -8
  365. package/src/components/ObjectDetails/ForeignKeys.tsx +1 -1
  366. package/src/components/ObjectDetails/index.ts +2 -3
  367. package/src/components/{ObjectCardStack → ObjectForm}/ObjectForm.tsx +9 -7
  368. package/src/components/{JoinDialog → ObjectForm}/index.ts +1 -1
  369. package/src/components/SyncStatus/index.ts +2 -2
  370. package/src/components/index.ts +2 -18
  371. package/src/constants.ts +5 -5
  372. package/src/containers/CollectionArticle/CollectionArticle.tsx +139 -0
  373. package/src/containers/CollectionArticle/index.ts +7 -0
  374. package/src/{components → containers/CollectionSection}/CollectionSection.tsx +4 -4
  375. package/src/containers/CollectionSection/index.ts +7 -0
  376. package/src/{components/CreateDialog → containers/CreateObjectDialog}/CreateObjectDialog.tsx +62 -42
  377. package/src/containers/CreateObjectDialog/index.ts +6 -0
  378. package/src/{components/CreateDialog → containers/CreateSpaceDialog}/CreateSpaceDialog.tsx +6 -6
  379. package/src/containers/CreateSpaceDialog/index.ts +7 -0
  380. package/src/{components/SyncStatus → containers/InlineSyncStatus}/InlineSyncStatus.tsx +8 -19
  381. package/src/containers/InlineSyncStatus/index.ts +7 -0
  382. package/src/{components → containers}/JoinDialog/JoinDialog.tsx +10 -9
  383. package/src/containers/JoinDialog/index.ts +6 -0
  384. package/src/{components → containers}/MembersContainer/MembersContainer.tsx +50 -53
  385. package/src/containers/MembersContainer/index.ts +7 -0
  386. package/src/{components → containers/MenuFooter}/MenuFooter.tsx +5 -5
  387. package/src/containers/MenuFooter/index.ts +7 -0
  388. package/src/containers/ObjectCardStack/ObjectCardStack.tsx +82 -0
  389. package/src/containers/ObjectDetails/ObjectDetails.tsx +36 -0
  390. package/src/containers/ObjectDetails/index.ts +7 -0
  391. package/src/{components → containers}/ObjectRenamePopover/ObjectRenamePopover.tsx +4 -4
  392. package/src/containers/ObjectRenamePopover/index.ts +7 -0
  393. package/src/{components → containers/RecordArticle}/RecordArticle.tsx +55 -37
  394. package/src/containers/RecordArticle/index.ts +7 -0
  395. package/src/{components → containers/SchemaContainer}/SchemaContainer.tsx +22 -18
  396. package/src/containers/SchemaContainer/index.ts +7 -0
  397. package/src/containers/SmallPresenceLive/index.ts +5 -0
  398. package/src/containers/SpacePluginSettings/SpacePluginSettings.tsx +65 -0
  399. package/src/containers/SpacePluginSettings/index.ts +7 -0
  400. package/src/{components → containers}/SpacePresence/SpacePresence.stories.tsx +2 -2
  401. package/src/{components → containers}/SpacePresence/SpacePresence.tsx +11 -22
  402. package/src/containers/SpacePresence/index.ts +6 -0
  403. package/src/{components → containers}/SpaceRenamePopover/SpaceRenamePopover.tsx +4 -4
  404. package/src/containers/SpaceRenamePopover/index.ts +7 -0
  405. package/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.stories.tsx +3 -3
  406. package/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.tsx +202 -0
  407. package/src/containers/SpaceSettingsContainer/index.ts +7 -0
  408. package/src/{components → containers}/SyncStatus/SyncStatus.stories.tsx +2 -2
  409. package/src/{components → containers}/SyncStatus/SyncStatus.tsx +5 -7
  410. package/src/containers/SyncStatus/index.ts +7 -0
  411. package/src/{components → containers/ViewEditor}/ViewEditor.tsx +11 -10
  412. package/src/containers/ViewEditor/index.ts +7 -0
  413. package/src/containers/index.ts +28 -0
  414. package/src/helpers/query.test.ts +1 -1
  415. package/src/helpers/query.ts +20 -7
  416. package/src/hooks/useActiveSpace.ts +8 -7
  417. package/src/hooks/useInputSurfaceLookup.tsx +3 -3
  418. package/src/index.ts +2 -1
  419. package/src/meta.ts +1 -1
  420. package/src/translations.ts +30 -4
  421. package/src/types/capabilities.ts +8 -8
  422. package/src/types/events.ts +7 -6
  423. package/src/types/form.ts +1 -8
  424. package/src/types/types.ts +61 -76
  425. package/src/util.ts +82 -0
  426. package/dist/lib/browser/CollectionArticle-OQMUVFVV.mjs +0 -125
  427. package/dist/lib/browser/CollectionArticle-OQMUVFVV.mjs.map +0 -7
  428. package/dist/lib/browser/ObjectCardStack-TWHN6C2Y.mjs +0 -148
  429. package/dist/lib/browser/ObjectCardStack-TWHN6C2Y.mjs.map +0 -7
  430. package/dist/lib/browser/ObjectDetails-GEDIISKK.mjs +0 -142
  431. package/dist/lib/browser/ObjectDetails-GEDIISKK.mjs.map +0 -7
  432. package/dist/lib/browser/RecordArticle-W57QE7QV.mjs.map +0 -7
  433. package/dist/lib/browser/app-graph-builder-SJHTZXZF.mjs +0 -523
  434. package/dist/lib/browser/app-graph-builder-SJHTZXZF.mjs.map +0 -7
  435. package/dist/lib/browser/app-graph-serializer-7AT7QMSK.mjs.map +0 -7
  436. package/dist/lib/browser/chunk-4WZUGLQQ.mjs.map +0 -7
  437. package/dist/lib/browser/chunk-ASV6DYFH.mjs +0 -19
  438. package/dist/lib/browser/chunk-CCRSHECL.mjs.map +0 -7
  439. package/dist/lib/browser/chunk-SUI34XSA.mjs +0 -772
  440. package/dist/lib/browser/chunk-SUI34XSA.mjs.map +0 -7
  441. package/dist/lib/browser/chunk-TWUMNPG4.mjs +0 -1898
  442. package/dist/lib/browser/chunk-TWUMNPG4.mjs.map +0 -7
  443. package/dist/lib/browser/chunk-ZT2VPYRM.mjs.map +0 -7
  444. package/dist/lib/browser/identity-created-VCFYLSBB.mjs.map +0 -7
  445. package/dist/lib/browser/operation-resolver-SIRQT36Z.mjs.map +0 -7
  446. package/dist/lib/browser/react-root-3SPMM45V.mjs.map +0 -7
  447. package/dist/lib/browser/react-surface-UUS7NDHS.mjs.map +0 -7
  448. package/dist/lib/browser/repair-CJG26D52.mjs +0 -50
  449. package/dist/lib/browser/repair-CJG26D52.mjs.map +0 -7
  450. package/dist/lib/browser/settings-ZS2AQ73E.mjs.map +0 -7
  451. package/dist/lib/browser/spaces-ready-OQDGWUOS.mjs.map +0 -7
  452. package/dist/lib/browser/state-7YZQB2KY.mjs.map +0 -7
  453. package/dist/lib/node-esm/CollectionArticle-V5OOJVJJ.mjs.map +0 -7
  454. package/dist/lib/node-esm/ObjectCardStack-C5ZXRKP7.mjs +0 -149
  455. package/dist/lib/node-esm/ObjectCardStack-C5ZXRKP7.mjs.map +0 -7
  456. package/dist/lib/node-esm/ObjectDetails-6ZLDRKCO.mjs +0 -143
  457. package/dist/lib/node-esm/ObjectDetails-6ZLDRKCO.mjs.map +0 -7
  458. package/dist/lib/node-esm/RecordArticle-SSV74Z46.mjs.map +0 -7
  459. package/dist/lib/node-esm/app-graph-builder-HZ3XXDFZ.mjs +0 -524
  460. package/dist/lib/node-esm/app-graph-builder-HZ3XXDFZ.mjs.map +0 -7
  461. package/dist/lib/node-esm/app-graph-serializer-WJ2TIQG6.mjs.map +0 -7
  462. package/dist/lib/node-esm/chunk-2SW6S2BB.mjs.map +0 -7
  463. package/dist/lib/node-esm/chunk-7KMYUWSR.mjs +0 -773
  464. package/dist/lib/node-esm/chunk-7KMYUWSR.mjs.map +0 -7
  465. package/dist/lib/node-esm/chunk-CVXULIYC.mjs +0 -20
  466. package/dist/lib/node-esm/chunk-FYSBFBSD.mjs +0 -1899
  467. package/dist/lib/node-esm/chunk-FYSBFBSD.mjs.map +0 -7
  468. package/dist/lib/node-esm/chunk-JOBIWCBC.mjs.map +0 -7
  469. package/dist/lib/node-esm/chunk-MPL6NHQX.mjs.map +0 -7
  470. package/dist/lib/node-esm/identity-created-2SJABVJD.mjs.map +0 -7
  471. package/dist/lib/node-esm/operation-resolver-ZE3XJL5J.mjs.map +0 -7
  472. package/dist/lib/node-esm/react-root-Y6JTGDTW.mjs.map +0 -7
  473. package/dist/lib/node-esm/react-surface-SQ4SK3OK.mjs.map +0 -7
  474. package/dist/lib/node-esm/repair-G3ZW3VG3.mjs.map +0 -7
  475. package/dist/lib/node-esm/settings-PVI2VG56.mjs.map +0 -7
  476. package/dist/lib/node-esm/spaces-ready-R744OHQG.mjs.map +0 -7
  477. package/dist/lib/node-esm/state-XE5YGPHM.mjs.map +0 -7
  478. package/dist/types/src/components/AwaitingObject.d.ts.map +0 -1
  479. package/dist/types/src/components/CollectionArticle.d.ts +0 -9
  480. package/dist/types/src/components/CollectionArticle.d.ts.map +0 -1
  481. package/dist/types/src/components/CollectionSection.d.ts +0 -5
  482. package/dist/types/src/components/CollectionSection.d.ts.map +0 -1
  483. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +0 -1
  484. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +0 -1604
  485. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +0 -1
  486. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +0 -1
  487. package/dist/types/src/components/JoinDialog/index.d.ts +0 -2
  488. package/dist/types/src/components/JoinDialog/index.d.ts.map +0 -1
  489. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +0 -1600
  490. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts.map +0 -1
  491. package/dist/types/src/components/MembersContainer/index.d.ts +0 -2
  492. package/dist/types/src/components/MembersContainer/index.d.ts.map +0 -1
  493. package/dist/types/src/components/MenuFooter.d.ts.map +0 -1
  494. package/dist/types/src/components/ObjectCardStack/ObjectCardStack.d.ts.map +0 -1
  495. package/dist/types/src/components/ObjectCardStack/ObjectForm.d.ts.map +0 -1
  496. package/dist/types/src/components/ObjectDetails/ObjectDetails.d.ts.map +0 -1
  497. package/dist/types/src/components/ObjectRenamePopover/index.d.ts +0 -2
  498. package/dist/types/src/components/ObjectRenamePopover/index.d.ts.map +0 -1
  499. package/dist/types/src/components/RecordArticle.d.ts +0 -5
  500. package/dist/types/src/components/RecordArticle.d.ts.map +0 -1
  501. package/dist/types/src/components/RecordArticle.stories.d.ts +0 -1600
  502. package/dist/types/src/components/RecordArticle.stories.d.ts.map +0 -1
  503. package/dist/types/src/components/SchemaContainer.d.ts.map +0 -1
  504. package/dist/types/src/components/SpacePluginSettings.d.ts.map +0 -1
  505. package/dist/types/src/components/SpacePresence/index.d.ts +0 -2
  506. package/dist/types/src/components/SpacePresence/index.d.ts.map +0 -1
  507. package/dist/types/src/components/SpaceRenamePopover/index.d.ts +0 -2
  508. package/dist/types/src/components/SpaceRenamePopover/index.d.ts.map +0 -1
  509. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts +0 -7
  510. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +0 -1
  511. package/dist/types/src/components/SpaceSettings/index.d.ts +0 -2
  512. package/dist/types/src/components/SpaceSettings/index.d.ts.map +0 -1
  513. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +0 -1
  514. package/dist/types/src/components/ViewEditor.d.ts.map +0 -1
  515. package/src/components/CollectionArticle.tsx +0 -153
  516. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +0 -91
  517. package/src/components/MembersContainer/MembersContainer.stories.tsx +0 -56
  518. package/src/components/MembersContainer/index.ts +0 -5
  519. package/src/components/ObjectCardStack/ObjectCardStack.tsx +0 -67
  520. package/src/components/ObjectDetails/ObjectDetails.tsx +0 -32
  521. package/src/components/ObjectRenamePopover/index.ts +0 -5
  522. package/src/components/RecordArticle.stories.tsx +0 -115
  523. package/src/components/SpacePluginSettings.tsx +0 -62
  524. package/src/components/SpacePresence/index.ts +0 -5
  525. package/src/components/SpaceRenamePopover/index.ts +0 -5
  526. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +0 -220
  527. package/src/components/SpaceSettings/index.ts +0 -5
  528. package/src/util.tsx +0 -779
  529. /package/dist/lib/browser/{chunk-AWVAX26X.mjs.map → chunk-SSTUPFZ2.mjs.map} +0 -0
  530. /package/dist/lib/node-esm/{chunk-HREWB23G.mjs.map → chunk-XYLDAH5C.mjs.map} +0 -0
  531. /package/dist/types/src/components/{AwaitingObject.d.ts → AwaitingObject/AwaitingObject.d.ts} +0 -0
  532. /package/dist/types/src/components/{ObjectCardStack → ObjectForm}/ObjectForm.d.ts +0 -0
  533. /package/dist/types/src/{components/CreateDialog → containers/CreateSpaceDialog}/CreateSpaceDialog.d.ts +0 -0
  534. /package/dist/types/src/{components/SyncStatus → containers/InlineSyncStatus}/InlineSyncStatus.d.ts +0 -0
  535. /package/dist/types/src/{components → containers}/JoinDialog/JoinDialog.d.ts +0 -0
  536. /package/dist/types/src/{components → containers}/MembersContainer/MembersContainer.d.ts +0 -0
  537. /package/dist/types/src/{components → containers/MenuFooter}/MenuFooter.d.ts +0 -0
  538. /package/dist/types/src/{components → containers}/ObjectCardStack/index.d.ts +0 -0
  539. /package/dist/types/src/{components → containers}/ObjectRenamePopover/ObjectRenamePopover.d.ts +0 -0
  540. /package/dist/types/src/{components → containers/SchemaContainer}/SchemaContainer.d.ts +0 -0
  541. /package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.d.ts +0 -0
  542. /package/dist/types/src/{components → containers}/SpaceRenamePopover/SpaceRenamePopover.d.ts +0 -0
  543. /package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.d.ts +0 -0
  544. /package/src/{components → containers}/ObjectCardStack/index.ts +0 -0
@@ -1,523 +0,0 @@
1
- import {
2
- getActiveSpace
3
- } from "./chunk-4WZUGLQQ.mjs";
4
- import {
5
- SHARED,
6
- constructObjectActions,
7
- constructSpaceActions,
8
- constructSpaceNode,
9
- createObjectNode,
10
- createStaticSchemaActions,
11
- createStaticSchemaNode
12
- } from "./chunk-SUI34XSA.mjs";
13
- import {
14
- SPACE_TYPE,
15
- SpaceCapabilities,
16
- SpaceOperation
17
- } from "./chunk-CCRSHECL.mjs";
18
- import {
19
- meta
20
- } from "./chunk-HSMQFM57.mjs";
21
-
22
- // src/capabilities/app-graph-builder/app-graph-builder.ts
23
- import * as Effect from "effect/Effect";
24
- import * as Option from "effect/Option";
25
- import * as Schema from "effect/Schema";
26
- import { Capability, Common } from "@dxos/app-framework";
27
- import { SpaceState, getSpace, isSpace, parseId } from "@dxos/client/echo";
28
- import { DXN, Filter, Obj, Type } from "@dxos/echo";
29
- import { AtomObj, AtomQuery } from "@dxos/echo-atom";
30
- import { Operation } from "@dxos/operation";
31
- import { ClientCapabilities } from "@dxos/plugin-client";
32
- import { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
33
- import { CreateAtom, GraphBuilder, NodeMatcher } from "@dxos/plugin-graph";
34
- import { Collection, Expando, ViewAnnotation, getTypenameFromQuery } from "@dxos/schema";
35
- import { isNonNullable } from "@dxos/util";
36
- var whenSpace = (node) => node.type === SPACE_TYPE && isSpace(node.data) ? Option.some(node.data) : Option.none();
37
- var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function* () {
38
- const capabilities = yield* Capability.Service;
39
- const resolve = (get) => (typename) => capabilities.getAll(Common.Capability.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
40
- const extensions = yield* Effect.all([
41
- // Primary actions.
42
- GraphBuilder.createExtension({
43
- id: `${meta.id}/primary-actions`,
44
- position: "hoist",
45
- match: NodeMatcher.whenRoot,
46
- actions: () => Effect.succeed([
47
- {
48
- id: SpaceOperation.OpenCreateSpace.meta.key,
49
- data: () => Operation.invoke(SpaceOperation.OpenCreateSpace),
50
- properties: {
51
- label: [
52
- "create space label",
53
- {
54
- ns: meta.id
55
- }
56
- ],
57
- icon: "ph--plus--regular",
58
- testId: "spacePlugin.createSpace",
59
- disposition: "menu"
60
- }
61
- },
62
- {
63
- id: SpaceOperation.Join.meta.key,
64
- data: () => Operation.invoke(SpaceOperation.Join, {}),
65
- properties: {
66
- label: [
67
- "join space label",
68
- {
69
- ns: meta.id
70
- }
71
- ],
72
- icon: "ph--sign-in--regular",
73
- testId: "spacePlugin.joinSpace",
74
- disposition: "menu"
75
- }
76
- },
77
- {
78
- id: SpaceOperation.OpenMembers.meta.key,
79
- data: Effect.fnUntraced(function* () {
80
- const client = yield* Capability.get(ClientCapabilities.Client);
81
- const space = getActiveSpace(capabilities) ?? client.spaces.default;
82
- yield* Operation.invoke(SpaceOperation.OpenMembers, {
83
- space
84
- });
85
- }),
86
- properties: {
87
- label: [
88
- "share space label",
89
- {
90
- ns: meta.id
91
- }
92
- ],
93
- icon: "ph--users--regular",
94
- testId: "spacePlugin.shareSpace",
95
- keyBinding: {
96
- macos: "meta+.",
97
- windows: "alt+."
98
- }
99
- }
100
- },
101
- {
102
- id: SpaceOperation.OpenSettings.meta.key,
103
- data: Effect.fnUntraced(function* () {
104
- const client = yield* Capability.get(ClientCapabilities.Client);
105
- const space = getActiveSpace(capabilities) ?? client.spaces.default;
106
- yield* Operation.invoke(SpaceOperation.OpenSettings, {
107
- space
108
- });
109
- }),
110
- properties: {
111
- label: [
112
- "open current space settings label",
113
- {
114
- ns: meta.id
115
- }
116
- ],
117
- icon: "ph--faders--regular",
118
- keyBinding: {
119
- macos: "meta+shift+,",
120
- windows: "ctrl+shift+,"
121
- }
122
- }
123
- }
124
- ])
125
- }),
126
- // Create space nodes.
127
- GraphBuilder.createExtension({
128
- id: `${meta.id}/spaces`,
129
- match: NodeMatcher.whenRoot,
130
- connector: (node, get) => {
131
- const client = capabilities.get(ClientCapabilities.Client);
132
- const stateAtom = capabilities.get(SpaceCapabilities.State);
133
- const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
134
- const spacesAtom = CreateAtom.fromObservable(client.spaces);
135
- const isReadyAtom = CreateAtom.fromObservable(client.spaces.isReady);
136
- const spaces = get(spacesAtom);
137
- const isReady = get(isReadyAtom);
138
- if (!spaces || !isReady) {
139
- return Effect.succeed([]);
140
- }
141
- const settingsAtom = capabilities.get(SpaceCapabilities.Settings);
142
- const settings = get(settingsAtom);
143
- const state = get(stateAtom);
144
- const ephemeralState = get(ephemeralAtom);
145
- try {
146
- const [spacesOrder] = get(AtomQuery.make(client.spaces.default.db, Filter.type(Expando.Expando, {
147
- key: SHARED
148
- })));
149
- const { graph } = capabilities.get(Common.Capability.AppGraph);
150
- const spacesOrderSnapshot = spacesOrder ? get(AtomObj.make(spacesOrder)) : void 0;
151
- const order = spacesOrderSnapshot?.order ?? [];
152
- const orderMap = new Map(order.map((id, index) => [
153
- id,
154
- index
155
- ]));
156
- const spaceStates = spaces.map((space) => get(CreateAtom.fromObservable(space.state)));
157
- spaces.forEach((space) => {
158
- if (space.state.get() === SpaceState.SPACE_READY) {
159
- get(AtomObj.make(space.properties));
160
- }
161
- });
162
- return Effect.succeed([
163
- ...spaces.filter((space) => orderMap.has(space.id)).sort((a, b) => orderMap.get(a.id) - orderMap.get(b.id)),
164
- ...spaces.filter((space) => !orderMap.has(space.id))
165
- ].filter((space, i) => settings?.showHidden ? true : spaceStates[i] !== SpaceState.SPACE_INACTIVE).map((space) => constructSpaceNode({
166
- space,
167
- navigable: ephemeralState.navigableCollections,
168
- personal: space === client.spaces.default,
169
- namesCache: state.spaceNames,
170
- resolve: resolve(get),
171
- graph,
172
- spacesOrder
173
- })));
174
- } catch {
175
- return Effect.succeed([]);
176
- }
177
- },
178
- resolver: (id, get) => {
179
- const { spaceId } = parseId(id);
180
- if (!spaceId) {
181
- return Effect.succeed(null);
182
- }
183
- const client = capabilities.get(ClientCapabilities.Client);
184
- const spaces = get(CreateAtom.fromObservable(client.spaces));
185
- const space = spaces?.find((s) => s.id === spaceId);
186
- if (!space) {
187
- return Effect.succeed(null);
188
- }
189
- const state = get(capabilities.get(SpaceCapabilities.State));
190
- const ephemeralState = get(capabilities.get(SpaceCapabilities.EphemeralState));
191
- const { graph } = capabilities.get(Common.Capability.AppGraph);
192
- const [spacesOrder] = get(AtomQuery.make(client.spaces.default.db, Filter.type(Expando.Expando, {
193
- key: SHARED
194
- })));
195
- return Effect.succeed(constructSpaceNode({
196
- space,
197
- navigable: ephemeralState.navigableCollections,
198
- personal: space === client.spaces.default,
199
- namesCache: state.spaceNames,
200
- resolve: resolve(get),
201
- graph,
202
- spacesOrder
203
- }));
204
- }
205
- }),
206
- // Create space actions.
207
- GraphBuilder.createExtension({
208
- id: `${meta.id}/actions`,
209
- match: whenSpace,
210
- actions: (space, get) => {
211
- const [client] = get(capabilities.atom(ClientCapabilities.Client));
212
- const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
213
- const ephemeralState = get(ephemeralAtom);
214
- if (!client) {
215
- return Effect.succeed([]);
216
- }
217
- return Effect.succeed(constructSpaceActions({
218
- space,
219
- personal: space === client.spaces.default,
220
- migrating: ephemeralState.sdkMigrationRunning[space.id]
221
- }));
222
- }
223
- }),
224
- // Create nodes for objects in the root collection of a space.
225
- GraphBuilder.createExtension({
226
- id: `${meta.id}/root-collection`,
227
- match: whenSpace,
228
- connector: (space, get) => {
229
- const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
230
- const ephemeralState = get(ephemeralAtom);
231
- const spaceState = get(CreateAtom.fromObservable(space.state));
232
- if (spaceState !== SpaceState.SPACE_READY) {
233
- return Effect.succeed([]);
234
- }
235
- const propertiesSnapshot = get(AtomObj.make(space.properties));
236
- const collectionRef = propertiesSnapshot[Collection.Collection.typename];
237
- const collection = collectionRef ? get(AtomObj.make(collectionRef)) : void 0;
238
- if (!collection) {
239
- return Effect.succeed([]);
240
- }
241
- const rawRefs = collection.objects ?? [];
242
- const objects = rawRefs.map((ref) => {
243
- get(AtomObj.make(ref));
244
- return ref.target;
245
- }).filter(isNonNullable);
246
- return Effect.succeed(objects.map((object) => createObjectNode({
247
- db: space.db,
248
- object,
249
- resolve: resolve(get),
250
- navigable: ephemeralState.navigableCollections,
251
- parentCollection: collectionRef?.target
252
- })).filter(isNonNullable));
253
- }
254
- }),
255
- // Create nodes for objects in a collection or by its DXN.
256
- GraphBuilder.createExtension({
257
- id: `${meta.id}/objects`,
258
- match: (node) => Obj.instanceOf(Collection.Collection, node.data) ? Option.some(node.data) : Option.none(),
259
- connector: (collection, get) => {
260
- const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
261
- const ephemeralState = get(ephemeralAtom);
262
- const space = getSpace(collection);
263
- const collectionSnapshot = get(AtomObj.make(collection));
264
- const refs = collectionSnapshot.objects ?? [];
265
- const objects = refs.map((ref) => {
266
- get(AtomObj.make(ref));
267
- return ref.target;
268
- }).filter(isNonNullable);
269
- return Effect.succeed(objects.map((object) => space && createObjectNode({
270
- object,
271
- db: space.db,
272
- resolve: resolve(get),
273
- navigable: ephemeralState.navigableCollections,
274
- parentCollection: collection
275
- })).filter(isNonNullable));
276
- },
277
- resolver: (id, get) => {
278
- const client = capabilities.get(ClientCapabilities.Client);
279
- const dxn = DXN.tryParse(id)?.asEchoDXN();
280
- if (!dxn || !dxn.spaceId) {
281
- return Effect.succeed(null);
282
- }
283
- const space = client.spaces.get(dxn.spaceId);
284
- if (!space) {
285
- return Effect.succeed(null);
286
- }
287
- const object = get(AtomQuery.make(space.db, Filter.id(dxn.echoId))).at(0);
288
- if (!Obj.isObject(object)) {
289
- return Effect.succeed(null);
290
- }
291
- return Effect.succeed(createObjectNode({
292
- object,
293
- db: space.db,
294
- resolve: resolve(get),
295
- disposition: "hidden"
296
- }));
297
- }
298
- }),
299
- // Create object nodes for schema-based system collections.
300
- GraphBuilder.createExtension({
301
- id: `${meta.id}/system-collections`,
302
- match: (node) => Obj.instanceOf(Collection.Managed, node.data) ? Option.some(node.data) : Option.none(),
303
- connector: (collection, get) => {
304
- const client = get(capabilities.atom(ClientCapabilities.Client)).at(0);
305
- const space = getSpace(collection);
306
- const schema = client?.graph.schemaRegistry.query({
307
- typename: collection.key,
308
- location: [
309
- "runtime"
310
- ]
311
- }).runSync()[0];
312
- if (!space || !schema) {
313
- return Effect.succeed([]);
314
- }
315
- return Effect.succeed(get(AtomQuery.make(space.db, Filter.type(schema))).map((object) => createObjectNode({
316
- object,
317
- db: space.db,
318
- managedCollectionChild: true,
319
- resolve: resolve(get)
320
- })).filter(isNonNullable));
321
- }
322
- }),
323
- // Create branch nodes for static schema record types.
324
- GraphBuilder.createExtension({
325
- id: `${meta.id}/static-schemas`,
326
- match: (node) => Obj.instanceOf(Collection.Managed, node.data) && node.data.key === Type.getTypename(Type.PersistentType) ? Option.some(node.data) : Option.none(),
327
- connector: (collection, get) => {
328
- const client = get(capabilities.atom(ClientCapabilities.Client)).at(0);
329
- const space = getSpace(collection);
330
- if (!space) {
331
- return Effect.succeed([]);
332
- }
333
- const propertiesSnapshot = get(AtomObj.make(space.properties));
334
- const staticRecords = propertiesSnapshot.staticRecords ?? [];
335
- return Effect.succeed(staticRecords.map((typename) => client?.graph.schemaRegistry.query({
336
- typename,
337
- location: [
338
- "runtime"
339
- ]
340
- }).runSync()[0]).filter(isNonNullable).map((schema) => createStaticSchemaNode({
341
- schema,
342
- space
343
- })));
344
- }
345
- }),
346
- // Create actions for static schema record types.
347
- GraphBuilder.createExtension({
348
- id: `${meta.id}/static-schema-actions`,
349
- match: (node) => {
350
- const space = isSpace(node.properties.space) ? node.properties.space : void 0;
351
- return space && Schema.isSchema(node.data) ? Option.some({
352
- space,
353
- schema: node.data
354
- }) : Option.none();
355
- },
356
- actions: ({ space, schema }, get) => {
357
- const schemas = get(capabilities.atom(ClientCapabilities.Client)).at(0)?.graph.schemaRegistry.query({
358
- location: [
359
- "runtime"
360
- ]
361
- }).runSync() ?? [];
362
- const filter = Filter.or(...schemas.filter((schema2) => ViewAnnotation.get(schema2).pipe(Option.getOrElse(() => false))).map((schema2) => Filter.type(schema2)));
363
- const objects = get(AtomQuery.make(space.db, filter));
364
- const targetTypename = Type.getTypename(schema);
365
- const filteredViews = objects.filter((viewObject) => {
366
- const viewSnapshot = get(AtomObj.make(viewObject));
367
- const viewRef = viewSnapshot.view;
368
- const viewTarget = viewRef ? get(AtomObj.make(viewRef)) : void 0;
369
- return getTypenameFromQuery(viewTarget?.query?.ast) === targetTypename;
370
- });
371
- const deletable = filteredViews.length === 0;
372
- return Effect.succeed(createStaticSchemaActions({
373
- schema,
374
- space,
375
- deletable
376
- }));
377
- }
378
- }),
379
- // Create nodes for views of record types.
380
- GraphBuilder.createExtension({
381
- id: `${meta.id}/schema-views`,
382
- match: (node) => {
383
- const space = getSpace(node.data) ?? (isSpace(node.properties.space) ? node.properties.space : void 0);
384
- return space && (Obj.instanceOf(Type.PersistentType, node.data) || Schema.isSchema(node.data)) ? Option.some({
385
- space,
386
- schema: node.data
387
- }) : Option.none();
388
- },
389
- connector: ({ space, schema }, get) => {
390
- const schemas = get(capabilities.atom(ClientCapabilities.Client)).at(0)?.graph.schemaRegistry.query({
391
- location: [
392
- "runtime"
393
- ]
394
- }).runSync() ?? [];
395
- const filter = Filter.or(...schemas.filter((schema2) => ViewAnnotation.get(schema2).pipe(Option.getOrElse(() => false))).map((schema2) => Filter.type(schema2)));
396
- const typename = Schema.isSchema(schema) ? Type.getTypename(schema) : schema.typename;
397
- const objects = get(AtomQuery.make(space.db, filter));
398
- return Effect.succeed(objects.filter((object) => {
399
- const objectSnapshot = get(AtomObj.make(object));
400
- const viewRef = objectSnapshot.view;
401
- const viewTarget = viewRef ? get(AtomObj.make(viewRef)) : void 0;
402
- return getTypenameFromQuery(viewTarget?.query?.ast) === typename;
403
- }).map((object) => createObjectNode({
404
- object,
405
- db: space.db,
406
- resolve: resolve(get),
407
- droppable: false
408
- })).filter(isNonNullable));
409
- }
410
- }),
411
- // Create collection actions and action groups.
412
- GraphBuilder.createExtension({
413
- id: `${meta.id}/object-actions`,
414
- match: (node) => {
415
- const space = getSpace(node.data);
416
- return space && Obj.isObject(node.data) && Obj.getTypename(node.data) === node.type ? Option.some({
417
- space,
418
- object: node.data
419
- }) : Option.none();
420
- },
421
- actions: ({ space, object }, get) => {
422
- const schemas = get(capabilities.atom(ClientCapabilities.Client)).at(0)?.graph.schemaRegistry.query({
423
- location: [
424
- "runtime"
425
- ]
426
- }).runSync() ?? [];
427
- const filter = Filter.or(...schemas.filter((schema) => ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false))).map((schema) => Filter.type(schema)));
428
- const isSchema2 = Obj.instanceOf(Type.PersistentType, object);
429
- let deletable = !isSchema2 && !Obj.instanceOf(Collection.Managed, object);
430
- if (isSchema2) {
431
- const objects = get(AtomQuery.make(space.db, filter));
432
- const filteredViews = objects.filter((viewObject) => {
433
- const viewSnapshot = get(AtomObj.make(viewObject));
434
- const viewRef = viewSnapshot.view;
435
- const viewTarget = viewRef ? get(AtomObj.make(viewRef)) : void 0;
436
- return getTypenameFromQuery(viewTarget?.query?.ast) === object.typename;
437
- });
438
- deletable = filteredViews.length === 0;
439
- }
440
- const [appGraph] = get(capabilities.atom(Common.Capability.AppGraph));
441
- const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
442
- const ephemeralState = get(ephemeralAtom);
443
- if (!appGraph) {
444
- return Effect.succeed([]);
445
- }
446
- return Effect.succeed(constructObjectActions({
447
- object,
448
- graph: appGraph.graph,
449
- resolve: resolve(get),
450
- capabilities,
451
- deletable,
452
- navigable: ephemeralState.navigableCollections
453
- }));
454
- }
455
- }),
456
- // View selected objects.
457
- GraphBuilder.createExtension({
458
- id: `${meta.id}/selected-objects`,
459
- match: (node) => {
460
- if (!Obj.isObject(node.data)) {
461
- return Option.none();
462
- }
463
- const schema = Obj.getSchema(node.data);
464
- const isView = Option.fromNullable(schema).pipe(Option.flatMap((schema2) => ViewAnnotation.get(schema2)), Option.getOrElse(() => false));
465
- if (!isView) {
466
- return Option.none();
467
- }
468
- return Option.some(node);
469
- },
470
- connector: (node) => Effect.succeed([
471
- {
472
- id: [
473
- node.id,
474
- "selected-objects"
475
- ].join(ATTENDABLE_PATH_SEPARATOR),
476
- type: PLANK_COMPANION_TYPE,
477
- data: "selected-objects",
478
- properties: {
479
- label: [
480
- "companion selected objects label",
481
- {
482
- ns: meta.id
483
- }
484
- ],
485
- icon: "ph--tree-view--regular",
486
- disposition: "hidden"
487
- }
488
- }
489
- ])
490
- }),
491
- // Object settings plank companion.
492
- GraphBuilder.createExtension({
493
- id: `${meta.id}/settings`,
494
- match: NodeMatcher.whenEchoObjectMatches,
495
- connector: (node) => Effect.succeed([
496
- {
497
- id: [
498
- node.id,
499
- "settings"
500
- ].join(ATTENDABLE_PATH_SEPARATOR),
501
- type: PLANK_COMPANION_TYPE,
502
- data: "settings",
503
- properties: {
504
- label: [
505
- "object settings label",
506
- {
507
- ns: meta.id
508
- }
509
- ],
510
- icon: "ph--sliders--regular",
511
- disposition: "hidden",
512
- position: "fallback"
513
- }
514
- }
515
- ])
516
- })
517
- ]);
518
- return Capability.contributes(Common.Capability.AppGraphBuilder, extensions);
519
- }));
520
- export {
521
- app_graph_builder_default as default
522
- };
523
- //# sourceMappingURL=app-graph-builder-SJHTZXZF.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/app-graph-builder/app-graph-builder.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Atom } from '@effect-atom/atom-react';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\nimport * as Schema from 'effect/Schema';\n\nimport { Capability, Common } from '@dxos/app-framework';\nimport { type Space, SpaceState, getSpace, isSpace, parseId } from '@dxos/client/echo';\nimport { DXN, Filter, Obj, type Ref, Type } from '@dxos/echo';\nimport { AtomObj, AtomQuery } from '@dxos/echo-atom';\nimport { Operation } from '@dxos/operation';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from '@dxos/plugin-deck/types';\nimport { CreateAtom, GraphBuilder, type Node, NodeMatcher } from '@dxos/plugin-graph';\nimport { Collection, Expando, ViewAnnotation, getTypenameFromQuery } from '@dxos/schema';\nimport { isNonNullable } from '@dxos/util';\n\nimport { getActiveSpace } from '../../hooks';\nimport { meta } from '../../meta';\nimport { SPACE_TYPE, SpaceCapabilities, SpaceOperation } from '../../types';\nimport {\n SHARED,\n constructObjectActions,\n constructSpaceActions,\n constructSpaceNode,\n createObjectNode,\n createStaticSchemaActions,\n createStaticSchemaNode,\n} from '../../util';\n\n/** Match space nodes and return the Space object. */\nconst whenSpace = (node: Node.Node): Option.Option<Space> =>\n node.type === SPACE_TYPE && isSpace(node.data) ? Option.some(node.data) : Option.none();\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const capabilities = yield* Capability.Service;\n\n // TODO(wittjosiah): Using `get` and being reactive seems to cause a bug with Atom where disposed atoms are accessed.\n const resolve = (get: Atom.Context) => (typename: string) =>\n capabilities.getAll(Common.Capability.Metadata).find(({ id }) => id === typename)?.metadata ?? {};\n\n const extensions = yield* Effect.all([\n // Primary actions.\n GraphBuilder.createExtension({\n id: `${meta.id}/primary-actions`,\n position: 'hoist',\n match: NodeMatcher.whenRoot,\n actions: () =>\n Effect.succeed([\n {\n id: SpaceOperation.OpenCreateSpace.meta.key,\n data: () => Operation.invoke(SpaceOperation.OpenCreateSpace),\n properties: {\n label: ['create space label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n testId: 'spacePlugin.createSpace',\n disposition: 'menu',\n },\n },\n {\n id: SpaceOperation.Join.meta.key,\n data: () => Operation.invoke(SpaceOperation.Join, {}),\n properties: {\n label: ['join space label', { ns: meta.id }],\n icon: 'ph--sign-in--regular',\n testId: 'spacePlugin.joinSpace',\n disposition: 'menu',\n },\n },\n {\n id: SpaceOperation.OpenMembers.meta.key,\n data: Effect.fnUntraced(function* () {\n const client = yield* Capability.get(ClientCapabilities.Client);\n const space = getActiveSpace(capabilities) ?? client.spaces.default;\n yield* Operation.invoke(SpaceOperation.OpenMembers, { space });\n }),\n properties: {\n label: ['share space label', { ns: meta.id }],\n icon: 'ph--users--regular',\n testId: 'spacePlugin.shareSpace',\n keyBinding: {\n macos: 'meta+.',\n windows: 'alt+.',\n },\n },\n },\n {\n id: SpaceOperation.OpenSettings.meta.key,\n data: Effect.fnUntraced(function* () {\n const client = yield* Capability.get(ClientCapabilities.Client);\n const space = getActiveSpace(capabilities) ?? client.spaces.default;\n yield* Operation.invoke(SpaceOperation.OpenSettings, { space });\n }),\n properties: {\n label: ['open current space settings label', { ns: meta.id }],\n icon: 'ph--faders--regular',\n keyBinding: {\n macos: 'meta+shift+,',\n windows: 'ctrl+shift+,',\n },\n },\n },\n ]),\n }),\n\n // Create space nodes.\n GraphBuilder.createExtension({\n id: `${meta.id}/spaces`,\n match: NodeMatcher.whenRoot,\n connector: (node, get) => {\n const client = capabilities.get(ClientCapabilities.Client);\n const stateAtom = capabilities.get(SpaceCapabilities.State);\n const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);\n const spacesAtom = CreateAtom.fromObservable(client.spaces);\n const isReadyAtom = CreateAtom.fromObservable(client.spaces.isReady);\n\n const spaces = get(spacesAtom);\n const isReady = get(isReadyAtom);\n\n if (!spaces || !isReady) {\n return Effect.succeed([]);\n }\n\n const settingsAtom = capabilities.get(SpaceCapabilities.Settings);\n const settings = get(settingsAtom);\n const state = get(stateAtom);\n const ephemeralState = get(ephemeralAtom);\n\n try {\n const [spacesOrder] = get(\n AtomQuery.make(client.spaces.default.db, Filter.type(Expando.Expando, { key: SHARED })),\n );\n const { graph } = capabilities.get(Common.Capability.AppGraph);\n\n // Get order from spacesOrder snapshot using AtomObj (cached via Atom.family).\n const spacesOrderSnapshot = spacesOrder ? get(AtomObj.make(spacesOrder)) : undefined;\n const order: string[] = (spacesOrderSnapshot as any)?.order ?? [];\n const orderMap = new Map(order.map((id, index) => [id, index]));\n\n // Subscribe to space states for filtering.\n const spaceStates = spaces.map((space) => get(CreateAtom.fromObservable(space.state)));\n\n // Subscribe to space properties to react when root collection is assigned.\n spaces.forEach((space) => {\n if (space.state.get() === SpaceState.SPACE_READY) {\n get(AtomObj.make(space.properties));\n }\n });\n\n return Effect.succeed(\n [\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, i) => (settings?.showHidden ? true : spaceStates[i] !== SpaceState.SPACE_INACTIVE))\n .map((space) =>\n constructSpaceNode({\n space,\n navigable: ephemeralState.navigableCollections,\n personal: space === client.spaces.default,\n namesCache: state.spaceNames,\n resolve: resolve(get),\n graph,\n spacesOrder,\n }),\n ),\n );\n } catch {\n return Effect.succeed([]);\n }\n },\n resolver: (id, get) => {\n // Resolve space ID to space node.\n const { spaceId } = parseId(id);\n if (!spaceId) {\n return Effect.succeed(null);\n }\n\n const client = capabilities.get(ClientCapabilities.Client);\n\n // Subscribe to spaces observable to react when space becomes available.\n const spaces = get(CreateAtom.fromObservable(client.spaces));\n const space = spaces?.find((s) => s.id === spaceId);\n if (!space) {\n return Effect.succeed(null);\n }\n\n // Only subscribe to these atoms if the space exists.\n const state = get(capabilities.get(SpaceCapabilities.State));\n const ephemeralState = get(capabilities.get(SpaceCapabilities.EphemeralState));\n\n const { graph } = capabilities.get(Common.Capability.AppGraph);\n const [spacesOrder] = get(\n AtomQuery.make(client.spaces.default.db, Filter.type(Expando.Expando, { key: SHARED })),\n );\n\n return Effect.succeed(\n constructSpaceNode({\n space,\n navigable: ephemeralState.navigableCollections,\n personal: space === client.spaces.default,\n namesCache: state.spaceNames,\n resolve: resolve(get),\n graph,\n spacesOrder,\n }),\n );\n },\n }),\n\n // Create space actions.\n GraphBuilder.createExtension({\n id: `${meta.id}/actions`,\n match: whenSpace,\n actions: (space, get) => {\n const [client] = get(capabilities.atom(ClientCapabilities.Client));\n const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);\n const ephemeralState = get(ephemeralAtom);\n\n if (!client) {\n return Effect.succeed([]);\n }\n\n return Effect.succeed(\n constructSpaceActions({\n space,\n personal: space === client.spaces.default,\n migrating: ephemeralState.sdkMigrationRunning[space.id],\n }),\n );\n },\n }),\n\n // Create nodes for objects in the root collection of a space.\n GraphBuilder.createExtension({\n id: `${meta.id}/root-collection`,\n match: whenSpace,\n connector: (space, get) => {\n const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);\n const ephemeralState = get(ephemeralAtom);\n const spaceState = get(CreateAtom.fromObservable(space.state));\n if (spaceState !== SpaceState.SPACE_READY) {\n return Effect.succeed([]);\n }\n\n // Get the collection ref from space.properties snapshot (AtomObj cached via Atom.family).\n const propertiesSnapshot = get(AtomObj.make(space.properties));\n const collectionRef = propertiesSnapshot[Collection.Collection.typename] as\n | Ref.Ref<Collection.Collection>\n | undefined;\n // Resolve the collection using AtomObj (subscribes to collection changes).\n const collection = collectionRef ? get(AtomObj.make(collectionRef)) : undefined;\n if (!collection) {\n return Effect.succeed([]);\n }\n\n const rawRefs = collection.objects ?? [];\n\n // TODO(wittjosiah): Workaround for Obj.getTypename not working on snapshots.\n // AtomObj.make(ref) returns snapshots (plain objects without ECHO metadata),\n // but createObjectNode needs live objects to access typename and other metadata.\n // Once Obj.getTypename works on snapshots, we can use snapshots directly.\n const objects = rawRefs\n .map((ref) => {\n // Subscribe to the ref for reactivity (triggers re-render when target changes).\n get(AtomObj.make(ref));\n // Return the live object for createObjectNode (has typename metadata).\n return ref.target;\n })\n .filter(isNonNullable);\n\n return Effect.succeed(\n objects\n .map((object) =>\n createObjectNode({\n db: space.db,\n object,\n resolve: resolve(get),\n navigable: ephemeralState.navigableCollections,\n parentCollection: collectionRef?.target,\n }),\n )\n .filter(isNonNullable),\n );\n },\n }),\n\n // Create nodes for objects in a collection or by its DXN.\n GraphBuilder.createExtension({\n id: `${meta.id}/objects`,\n match: (node) => (Obj.instanceOf(Collection.Collection, node.data) ? Option.some(node.data) : Option.none()),\n connector: (collection, get) => {\n const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);\n const ephemeralState = get(ephemeralAtom);\n const space = getSpace(collection);\n\n // Get collection snapshot using AtomObj (cached via Atom.family).\n const collectionSnapshot = get(AtomObj.make(collection));\n const refs = collectionSnapshot.objects ?? [];\n\n // TODO(wittjosiah): Workaround for Obj.getTypename not working on snapshots.\n // See root-collection connector for details.\n const objects = refs\n .map((ref) => {\n get(AtomObj.make(ref));\n return ref.target;\n })\n .filter(isNonNullable);\n\n return Effect.succeed(\n objects\n .map(\n (object) =>\n space &&\n createObjectNode({\n object,\n db: space.db,\n resolve: resolve(get),\n navigable: ephemeralState.navigableCollections,\n parentCollection: collection,\n }),\n )\n .filter(isNonNullable),\n );\n },\n resolver: (id, get) => {\n const client = capabilities.get(ClientCapabilities.Client);\n const dxn = DXN.tryParse(id)?.asEchoDXN();\n if (!dxn || !dxn.spaceId) {\n return Effect.succeed(null);\n }\n\n const space = client.spaces.get(dxn.spaceId);\n if (!space) {\n return Effect.succeed(null);\n }\n\n const object = get(AtomQuery.make(space.db, Filter.id(dxn.echoId))).at(0);\n if (!Obj.isObject(object)) {\n return Effect.succeed(null);\n }\n\n return Effect.succeed(\n createObjectNode({\n object,\n db: space.db,\n resolve: resolve(get),\n disposition: 'hidden',\n }),\n );\n },\n }),\n\n // Create object nodes for schema-based system collections.\n GraphBuilder.createExtension({\n id: `${meta.id}/system-collections`,\n match: (node) => (Obj.instanceOf(Collection.Managed, node.data) ? Option.some(node.data) : Option.none()),\n connector: (collection, get) => {\n const client = get(capabilities.atom(ClientCapabilities.Client)).at(0);\n const space = getSpace(collection);\n const schema = client?.graph.schemaRegistry\n .query({ typename: collection.key, location: ['runtime'] })\n .runSync()[0];\n if (!space || !schema) {\n return Effect.succeed([]);\n }\n\n return Effect.succeed(\n get(AtomQuery.make(space.db, Filter.type(schema)))\n .map((object) =>\n createObjectNode({\n object,\n db: space.db,\n managedCollectionChild: true,\n resolve: resolve(get),\n }),\n )\n .filter(isNonNullable),\n );\n },\n }),\n\n // Create branch nodes for static schema record types.\n GraphBuilder.createExtension({\n id: `${meta.id}/static-schemas`,\n match: (node: Node.Node) =>\n Obj.instanceOf(Collection.Managed, node.data) && node.data.key === Type.getTypename(Type.PersistentType)\n ? Option.some(node.data)\n : Option.none(),\n connector: (collection, get) => {\n const client = get(capabilities.atom(ClientCapabilities.Client)).at(0);\n const space = getSpace(collection);\n if (!space) {\n return Effect.succeed([]);\n }\n\n // Get staticRecords from properties snapshot (AtomObj cached via Atom.family).\n const propertiesSnapshot = get(AtomObj.make(space.properties));\n const staticRecords = (propertiesSnapshot.staticRecords ?? []) as string[];\n\n return Effect.succeed(\n staticRecords\n .map((typename) => client?.graph.schemaRegistry.query({ typename, location: ['runtime'] }).runSync()[0])\n .filter(isNonNullable)\n .map((schema) => createStaticSchemaNode({ schema, space })),\n );\n },\n }),\n\n // Create actions for static schema record types.\n GraphBuilder.createExtension({\n id: `${meta.id}/static-schema-actions`,\n match: (node) => {\n const space = isSpace(node.properties.space) ? node.properties.space : undefined;\n return space && Schema.isSchema(node.data) ? Option.some({ space, schema: node.data }) : Option.none();\n },\n actions: ({ space, schema }, get) => {\n const schemas =\n get(capabilities.atom(ClientCapabilities.Client))\n .at(0)\n ?.graph.schemaRegistry.query({ location: ['runtime'] })\n .runSync() ?? [];\n const filter = Filter.or(\n ...schemas\n .filter((schema) => ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false)))\n .map((schema) => Filter.type(schema)),\n );\n\n const objects = get(AtomQuery.make(space.db, filter));\n\n // Filter views that match the schema typename using AtomObj and AtomRef (cached via Atom.family).\n const targetTypename = Type.getTypename(schema as Type.Obj.Any);\n const filteredViews = objects.filter((viewObject) => {\n const viewSnapshot = get(AtomObj.make(viewObject));\n const viewRef = (viewSnapshot as any).view;\n const viewTarget = viewRef ? get(AtomObj.make(viewRef)) : undefined;\n return getTypenameFromQuery((viewTarget as any)?.query?.ast) === targetTypename;\n });\n const deletable = filteredViews.length === 0;\n\n return Effect.succeed(\n createStaticSchemaActions({\n schema: schema as Type.Obj.Any,\n space,\n deletable,\n }),\n );\n },\n }),\n\n // Create nodes for views of record types.\n GraphBuilder.createExtension({\n id: `${meta.id}/schema-views`,\n match: (node) => {\n const space = getSpace(node.data) ?? (isSpace(node.properties.space) ? node.properties.space : undefined);\n return space && (Obj.instanceOf(Type.PersistentType, node.data) || Schema.isSchema(node.data))\n ? Option.some({ space, schema: node.data })\n : Option.none();\n },\n connector: ({ space, schema }, get) => {\n const schemas =\n get(capabilities.atom(ClientCapabilities.Client))\n .at(0)\n ?.graph.schemaRegistry.query({ location: ['runtime'] })\n .runSync() ?? [];\n const filter = Filter.or(\n ...schemas\n .filter((schema) => ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false)))\n .map((schema) => Filter.type(schema)),\n );\n\n const typename = Schema.isSchema(schema) ? Type.getTypename(schema as Type.Obj.Any) : schema.typename;\n const objects = get(AtomQuery.make(space.db, filter));\n\n // Filter and map using AtomObj and AtomRef (cached via Atom.family).\n return Effect.succeed(\n objects\n .filter((object) => {\n const objectSnapshot = get(AtomObj.make(object));\n const viewRef = (objectSnapshot as any).view;\n const viewTarget = viewRef ? get(AtomObj.make(viewRef)) : undefined;\n return getTypenameFromQuery((viewTarget as any)?.query?.ast) === typename;\n })\n .map((object) =>\n createObjectNode({\n object,\n db: space.db,\n resolve: resolve(get),\n droppable: false,\n }),\n )\n .filter(isNonNullable),\n );\n },\n }),\n\n // Create collection actions and action groups.\n GraphBuilder.createExtension({\n id: `${meta.id}/object-actions`,\n match: (node) => {\n const space = getSpace(node.data);\n return space && Obj.isObject(node.data) && Obj.getTypename(node.data) === node.type\n ? Option.some({ space, object: node.data })\n : Option.none();\n },\n actions: ({ space, object }, get) => {\n const schemas =\n get(capabilities.atom(ClientCapabilities.Client))\n .at(0)\n ?.graph.schemaRegistry.query({ location: ['runtime'] })\n .runSync() ?? [];\n const filter = Filter.or(\n ...schemas\n .filter((schema) => ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false)))\n .map((schema) => Filter.type(schema)),\n );\n\n const isSchema = Obj.instanceOf(Type.PersistentType, object);\n\n let deletable = !isSchema && !Obj.instanceOf(Collection.Managed, object);\n if (isSchema) {\n const objects = get(AtomQuery.make(space.db, filter));\n // Filter views using AtomObj and AtomRef (cached via Atom.family).\n const filteredViews = objects.filter((viewObject) => {\n const viewSnapshot = get(AtomObj.make(viewObject));\n const viewRef = (viewSnapshot as any).view;\n const viewTarget = viewRef ? get(AtomObj.make(viewRef)) : undefined;\n return getTypenameFromQuery((viewTarget as any)?.query?.ast) === object.typename;\n });\n deletable = filteredViews.length === 0;\n }\n\n const [appGraph] = get(capabilities.atom(Common.Capability.AppGraph));\n const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);\n const ephemeralState = get(ephemeralAtom);\n\n if (!appGraph) {\n return Effect.succeed([]);\n }\n\n return Effect.succeed(\n constructObjectActions({\n object,\n graph: appGraph.graph,\n resolve: resolve(get),\n capabilities,\n deletable,\n navigable: ephemeralState.navigableCollections,\n }),\n );\n },\n }),\n\n // View selected objects.\n GraphBuilder.createExtension({\n id: `${meta.id}/selected-objects`,\n match: (node) => {\n if (!Obj.isObject(node.data)) {\n return Option.none();\n }\n\n const schema = Obj.getSchema(node.data);\n const isView = Option.fromNullable(schema).pipe(\n Option.flatMap((schema) => ViewAnnotation.get(schema)),\n Option.getOrElse(() => false),\n );\n if (!isView) {\n return Option.none();\n }\n\n return Option.some(node);\n },\n connector: (node) =>\n Effect.succeed([\n {\n id: [node.id, 'selected-objects'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'selected-objects',\n properties: {\n label: ['companion selected objects label', { ns: meta.id }],\n icon: 'ph--tree-view--regular',\n disposition: 'hidden',\n },\n },\n ]),\n }),\n\n // Object settings plank companion.\n GraphBuilder.createExtension({\n id: `${meta.id}/settings`,\n match: NodeMatcher.whenEchoObjectMatches,\n connector: (node) =>\n Effect.succeed([\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: meta.id }],\n icon: 'ph--sliders--regular',\n disposition: 'hidden',\n position: 'fallback',\n },\n },\n ]),\n }),\n ]);\n\n return Capability.contributes(Common.Capability.AppGraphBuilder, extensions);\n }),\n);\n"],
5
- "mappings": "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",
6
- "names": ["Effect", "Option", "Schema", "Capability", "Common", "SpaceState", "getSpace", "isSpace", "parseId", "DXN", "Filter", "Obj", "Type", "AtomObj", "AtomQuery", "Operation", "ClientCapabilities", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE", "CreateAtom", "GraphBuilder", "NodeMatcher", "Collection", "Expando", "ViewAnnotation", "getTypenameFromQuery", "isNonNullable", "whenSpace", "node", "type", "SPACE_TYPE", "isSpace", "data", "some", "none", "Capability", "makeModule", "fnUntraced", "capabilities", "Service", "resolve", "get", "typename", "getAll", "Common", "Metadata", "find", "id", "metadata", "extensions", "all", "GraphBuilder", "createExtension", "meta", "position", "match", "NodeMatcher", "whenRoot", "actions", "succeed", "SpaceOperation", "OpenCreateSpace", "key", "Operation", "invoke", "properties", "label", "ns", "icon", "testId", "disposition", "Join", "OpenMembers", "client", "ClientCapabilities", "Client", "space", "getActiveSpace", "spaces", "default", "keyBinding", "macos", "windows", "OpenSettings", "connector", "stateAtom", "SpaceCapabilities", "State", "ephemeralAtom", "EphemeralState", "spacesAtom", "CreateAtom", "fromObservable", "isReadyAtom", "isReady", "settingsAtom", "Settings", "settings", "state", "ephemeralState", "spacesOrder", "AtomQuery", "make", "db", "Filter", "Expando", "SHARED", "graph", "AppGraph", "spacesOrderSnapshot", "AtomObj", "undefined", "order", "orderMap", "Map", "map", "index", "spaceStates", "forEach", "SpaceState", "SPACE_READY", "filter", "has", "sort", "a", "b", "i", "showHidden", "SPACE_INACTIVE", "constructSpaceNode", "navigable", "navigableCollections", "personal", "namesCache", "spaceNames", "resolver", "spaceId", "parseId", "s", "atom", "constructSpaceActions", "migrating", "sdkMigrationRunning", "spaceState", "propertiesSnapshot", "collectionRef", "Collection", "collection", "rawRefs", "objects", "ref", "target", "isNonNullable", "object", "createObjectNode", "parentCollection", "Obj", "instanceOf", "getSpace", "collectionSnapshot", "refs", "dxn", "DXN", "tryParse", "asEchoDXN", "echoId", "at", "isObject", "Managed", "schema", "schemaRegistry", "query", "location", "runSync", "managedCollectionChild", "Type", "getTypename", "PersistentType", "staticRecords", "createStaticSchemaNode", "isSchema", "schemas", "or", "ViewAnnotation", "pipe", "getOrElse", "targetTypename", "filteredViews", "viewObject", "viewSnapshot", "viewRef", "view", "viewTarget", "getTypenameFromQuery", "ast", "deletable", "length", "createStaticSchemaActions", "objectSnapshot", "droppable", "appGraph", "constructObjectActions", "getSchema", "isView", "fromNullable", "flatMap", "join", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE", "whenEchoObjectMatches", "contributes", "AppGraphBuilder"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/app-graph-serializer/app-graph-serializer.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability, Common } from '@dxos/app-framework';\nimport { isSpace } from '@dxos/client/echo';\nimport { Obj } from '@dxos/echo';\nimport { Collection } from '@dxos/schema';\n\nimport { meta } from '../../meta';\nimport { translations } from '../../translations';\nimport { SPACE_TYPE, SpaceOperation } from '../../types';\nimport { SPACES } from '../../util';\n\nconst COLLECTION_TYPE = Collection.Collection.typename;\n\n// https://stackoverflow.com/a/19016910\nconst DIRECTORY_TYPE = 'text/directory';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n // Get context for lazy capability access in callbacks.\n const capabilities = yield* Capability.Service;\n\n return Capability.contributes(Common.Capability.AppGraphSerializer, [\n {\n inputType: SPACES,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: translations[0]['en-US'][meta.id]['spaces label'] ?? 'Spaces',\n data: translations[0]['en-US'][meta.id]['spaces label'] ?? 'Spaces',\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'][meta.id]['unnamed space label'],\n data: node.data.properties.name ?? translations[0]['en-US'][meta.id]['unnamed space label'],\n type: DIRECTORY_TYPE,\n }),\n deserialize: async (data) => {\n const { invokePromise } = capabilities.get(Common.Capability.OperationInvoker);\n const result = await invokePromise(SpaceOperation.Create, { name: data.name, edgeReplication: true });\n return result.data?.space;\n },\n },\n {\n inputType: COLLECTION_TYPE,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: node.data.name ?? translations[0]['en-US'][meta.id]['object name placeholder'],\n data: node.data.name ?? translations[0]['en-US'][meta.id]['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) => Obj.instanceOf(Collection.Collection, ancestor)) ??\n space?.properties[COLLECTION_TYPE]?.target;\n if (!space || !collection) {\n return;\n }\n\n const { invokePromise } = capabilities.get(Common.Capability.OperationInvoker);\n const result = await invokePromise(SpaceOperation.AddObject, {\n target: collection,\n object: Obj.make(Collection.Collection, { name: data.name, objects: [] }),\n });\n\n return result.data?.object;\n },\n },\n ]);\n }),\n);\n"],
5
- "mappings": ";;;;;;;;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,YAAYC,cAAc;AACnC,SAASC,eAAe;AACxB,SAASC,WAAW;AACpB,SAASC,kBAAkB;AAO3B,IAAMC,kBAAkBC,WAAWA,WAAWC;AAG9C,IAAMC,iBAAiB;AAEvB,IAAA,+BAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAEhB,QAAMC,eAAe,OAAOH,WAAWI;AAEvC,SAAOJ,WAAWK,YAAYC,OAAON,WAAWO,oBAAoB;IAClE;MACEC,WAAWC;MACXC,YAAYX;MACZY,WAAW,CAACC,UAAU;QACpBC,MAAMC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,cAAA,KAAmB;QAC3DC,MAAMH,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,cAAA,KAAmB;QAC3DE,MAAMnB;MACR;MACAoB,aAAa,MAAA;MAEb;IACF;IACA;MACEX,WAAWY;MACXV,YAAYX;MACZY,WAAW,CAACC,UAAU;QACpBC,MAAMD,KAAKK,KAAKI,WAAWR,QAAQC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,qBAAA;QACrEC,MAAML,KAAKK,KAAKI,WAAWR,QAAQC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,qBAAA;QACrEE,MAAMnB;MACR;MACAoB,aAAa,OAAOF,SAAAA;AAClB,cAAM,EAAEK,cAAa,IAAKnB,aAAaoB,IAAIjB,OAAON,WAAWwB,gBAAgB;AAC7E,cAAMC,SAAS,MAAMH,cAAcI,eAAeC,QAAQ;UAAEd,MAAMI,KAAKJ;UAAMe,iBAAiB;QAAK,CAAA;AACnG,eAAOH,OAAOR,MAAMY;MACtB;IACF;IACA;MACErB,WAAWZ;MACXc,YAAYX;MACZY,WAAW,CAACC,UAAU;QACpBC,MAAMD,KAAKK,KAAKJ,QAAQC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,yBAAA;QAC1DC,MAAML,KAAKK,KAAKJ,QAAQC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,yBAAA;QAC1DE,MAAMnB;MACR;MACAoB,aAAa,OAAOF,MAAMa,cAAAA;AACxB,cAAMD,QAAQC,UAAUC,KAAKC,OAAAA;AAC7B,cAAMC,aACJH,UAAUI,SAAS,CAACC,aAAaC,IAAIC,WAAWxC,WAAWA,YAAYsC,QAAAA,CAAAA,KACvEN,OAAOR,WAAWzB,eAAAA,GAAkB0C;AACtC,YAAI,CAACT,SAAS,CAACI,YAAY;AACzB;QACF;AAEA,cAAM,EAAEX,cAAa,IAAKnB,aAAaoB,IAAIjB,OAAON,WAAWwB,gBAAgB;AAC7E,cAAMC,SAAS,MAAMH,cAAcI,eAAea,WAAW;UAC3DD,QAAQL;UACRO,QAAQJ,IAAIK,KAAK5C,WAAWA,YAAY;YAAEgB,MAAMI,KAAKJ;YAAM6B,SAAS,CAAA;UAAG,CAAA;QACzE,CAAA;AAEA,eAAOjB,OAAOR,MAAMuB;MACtB;IACF;GACD;AACH,CAAA,CAAA;",
6
- "names": ["Effect", "Capability", "Common", "isSpace", "Obj", "Collection", "COLLECTION_TYPE", "Collection", "typename", "DIRECTORY_TYPE", "Capability", "makeModule", "fnUntraced", "capabilities", "Service", "contributes", "Common", "AppGraphSerializer", "inputType", "SPACES", "outputType", "serialize", "node", "name", "translations", "meta", "id", "data", "type", "deserialize", "SPACE_TYPE", "properties", "invokePromise", "get", "OperationInvoker", "result", "SpaceOperation", "Create", "edgeReplication", "space", "ancestors", "find", "isSpace", "collection", "findLast", "ancestor", "Obj", "instanceOf", "target", "AddObject", "object", "make", "objects"]
7
- }