@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
@@ -0,0 +1,1201 @@
1
+ import {
2
+ getActiveSpace
3
+ } from "./chunk-ICXESMDI.mjs";
4
+ import {
5
+ SHARED,
6
+ getSpaceDisplayName
7
+ } from "./chunk-6OA75CWN.mjs";
8
+ import {
9
+ SPACE_TYPE,
10
+ SpaceCapabilities,
11
+ SpaceOperation
12
+ } from "./chunk-6IT5IBB5.mjs";
13
+ import {
14
+ meta
15
+ } from "./chunk-CBWGVOJE.mjs";
16
+
17
+ // src/capabilities/app-graph-builder/app-graph-builder.ts
18
+ import * as Effect6 from "effect/Effect";
19
+ import { Capability as Capability4 } from "@dxos/app-framework";
20
+ import { AppCapabilities as AppCapabilities4 } from "@dxos/app-toolkit";
21
+
22
+ // src/capabilities/app-graph-builder/extensions/spaces.ts
23
+ import * as Effect from "effect/Effect";
24
+ import { Capability } from "@dxos/app-framework";
25
+ import { AppCapabilities } from "@dxos/app-toolkit";
26
+ import { SpaceState as SpaceState2 } from "@dxos/client/echo";
27
+ import { Filter as Filter2, Obj as Obj2 } from "@dxos/echo";
28
+ import { AtomObj as AtomObj2, AtomQuery as AtomQuery2 } from "@dxos/echo-atom";
29
+ import { Migrations as Migrations2 } from "@dxos/migrations";
30
+ import { Operation } from "@dxos/operation";
31
+ import { ClientCapabilities } from "@dxos/plugin-client";
32
+ import { CreateAtom, Graph, GraphBuilder, Node, NodeMatcher } from "@dxos/plugin-graph";
33
+ import { Expando } from "@dxos/schema";
34
+
35
+ // src/capabilities/app-graph-builder/extensions/shared.ts
36
+ import * as Option from "effect/Option";
37
+ import { SpaceState, isSpace } from "@dxos/client/echo";
38
+ import { Filter, Obj } from "@dxos/echo";
39
+ import { AtomObj, AtomQuery } from "@dxos/echo-atom";
40
+ import { Migrations } from "@dxos/migrations";
41
+ import { ViewAnnotation, getTypenameFromQuery } from "@dxos/schema";
42
+ import { ACCEPT_ECHO_CLASS, CACHEABLE_PROPS, CAN_DROP_OBJECT, blockInstructionCache, buildCollectionPartials, collectionPartialsCache, createFactory, createObjectNode, getAcceptPersistenceKey, getCollectionGraphNodePartials, getDynamicLabel, rearrangeCache } from "@dxos/app-toolkit";
43
+ var TYPES_SECTION_TYPE = `${meta.id}.types`;
44
+ var COLLECTIONS_SECTION_TYPE = `${meta.id}.collections`;
45
+ var TYPE_COLLECTION_TYPE = `${meta.id}.type-collection`;
46
+ var STATIC_SCHEMA_TYPE = `${meta.id}.static-schema`;
47
+ var META_NS = {
48
+ ns: meta.id
49
+ };
50
+ var BLOCK_REORDER_ABOVE = (_source, instruction) => instruction.type === "reorder-above";
51
+ var CAN_DROP_SPACE = (source) => Obj.isObject(source.item.data) || isSpace(source.item.data);
52
+ var whenSpace = (node) => node.type === SPACE_TYPE && isSpace(node.data) ? Option.some(node.data) : Option.none();
53
+ var spaceActionsCache = /* @__PURE__ */ new Map();
54
+ var spaceRearrangeCache = /* @__PURE__ */ new Map();
55
+ var ADD_VIEW_TO_SCHEMA_LABEL = [
56
+ "add view to schema label",
57
+ META_NS
58
+ ];
59
+ var COPY_LINK_LABEL = [
60
+ "copy link label",
61
+ META_NS
62
+ ];
63
+ var CREATE_OBJECT_IN_COLLECTION_LABEL = [
64
+ "create object in collection label",
65
+ META_NS
66
+ ];
67
+ var CREATE_OBJECT_IN_SPACE_LABEL = [
68
+ "create object in space label",
69
+ META_NS
70
+ ];
71
+ var EXPOSE_OBJECT_LABEL = [
72
+ "expose object label",
73
+ META_NS
74
+ ];
75
+ var MIGRATE_SPACE_LABEL = [
76
+ "migrate space label",
77
+ META_NS
78
+ ];
79
+ var REMOVE_FROM_COLLECTION_LABEL = [
80
+ "remove from collection label",
81
+ META_NS
82
+ ];
83
+ var RENAME_SPACE_LABEL = [
84
+ "rename space label",
85
+ META_NS
86
+ ];
87
+ var SETTINGS_PANEL_LABEL = [
88
+ "settings panel label",
89
+ META_NS
90
+ ];
91
+ var SNAPSHOT_BY_SCHEMA_LABEL = [
92
+ "snapshot by schema label",
93
+ META_NS
94
+ ];
95
+ var checkPendingMigration = (space) => {
96
+ return space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION || space.state.get() === SpaceState.SPACE_READY && !!Migrations.versionProperty && space.properties[Migrations.versionProperty] !== Migrations.targetVersion;
97
+ };
98
+ var downloadBlob = async (blob, filename) => {
99
+ const url = URL.createObjectURL(blob);
100
+ const anchor = document.createElement("a");
101
+ anchor.href = url;
102
+ anchor.download = filename;
103
+ document.body.appendChild(anchor);
104
+ anchor.click();
105
+ document.body.removeChild(anchor);
106
+ URL.revokeObjectURL(url);
107
+ };
108
+ var buildViewIndex = (get, space, schemas) => {
109
+ const viewSchemas = schemas.filter((schema) => ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false)));
110
+ const viewsByTypename = /* @__PURE__ */ new Map();
111
+ if (viewSchemas.length > 0) {
112
+ const filter = Filter.or(...viewSchemas.map((schema) => Filter.type(schema)));
113
+ const viewObjects = get(AtomQuery.make(space.db, filter));
114
+ for (const viewObject of viewObjects) {
115
+ const viewSnapshot = get(AtomObj.make(viewObject));
116
+ const viewRef = viewSnapshot.view;
117
+ const viewTarget = viewRef ? get(AtomObj.make(viewRef)) : void 0;
118
+ const typename = getTypenameFromQuery(viewTarget?.query?.ast);
119
+ if (typename) {
120
+ const existing = viewsByTypename.get(typename) ?? [];
121
+ existing.push(viewObject);
122
+ viewsByTypename.set(typename, existing);
123
+ }
124
+ }
125
+ }
126
+ return {
127
+ typenamesWithViews: new Set(viewsByTypename.keys()),
128
+ getViewsForTypename: (typename) => viewsByTypename.get(typename) ?? []
129
+ };
130
+ };
131
+
132
+ // src/capabilities/app-graph-builder/extensions/spaces.ts
133
+ var createSpaceExtensions = Effect.fnUntraced(function* () {
134
+ const capabilities = yield* Capability.Service;
135
+ return yield* Effect.all([
136
+ GraphBuilder.createExtension({
137
+ id: `${meta.id}.primary-actions`,
138
+ position: "hoist",
139
+ match: NodeMatcher.whenRoot,
140
+ actions: () => Effect.succeed([
141
+ {
142
+ id: SpaceOperation.OpenCreateSpace.meta.key,
143
+ data: () => Operation.invoke(SpaceOperation.OpenCreateSpace),
144
+ properties: {
145
+ label: [
146
+ "create space label",
147
+ {
148
+ ns: meta.id
149
+ }
150
+ ],
151
+ icon: "ph--plus--regular",
152
+ testId: "spacePlugin.createSpace",
153
+ disposition: "menu"
154
+ }
155
+ },
156
+ {
157
+ id: SpaceOperation.Join.meta.key,
158
+ data: () => Operation.invoke(SpaceOperation.Join, {}),
159
+ properties: {
160
+ label: [
161
+ "join space label",
162
+ {
163
+ ns: meta.id
164
+ }
165
+ ],
166
+ icon: "ph--sign-in--regular",
167
+ testId: "spacePlugin.joinSpace",
168
+ disposition: "menu"
169
+ }
170
+ },
171
+ {
172
+ id: SpaceOperation.OpenMembers.meta.key,
173
+ data: Effect.fnUntraced(function* () {
174
+ const client = yield* Capability.get(ClientCapabilities.Client);
175
+ const space = getActiveSpace(capabilities) ?? client.spaces.default;
176
+ yield* Operation.invoke(SpaceOperation.OpenMembers, {
177
+ space
178
+ });
179
+ }),
180
+ properties: {
181
+ label: [
182
+ "share space label",
183
+ {
184
+ ns: meta.id
185
+ }
186
+ ],
187
+ icon: "ph--users--regular",
188
+ testId: "spacePlugin.shareSpace",
189
+ keyBinding: {
190
+ macos: "meta+.",
191
+ windows: "alt+."
192
+ }
193
+ }
194
+ },
195
+ {
196
+ id: SpaceOperation.OpenSettings.meta.key,
197
+ data: Effect.fnUntraced(function* () {
198
+ const client = yield* Capability.get(ClientCapabilities.Client);
199
+ const space = getActiveSpace(capabilities) ?? client.spaces.default;
200
+ yield* Operation.invoke(SpaceOperation.OpenSettings, {
201
+ space
202
+ });
203
+ }),
204
+ properties: {
205
+ label: [
206
+ "open current space settings label",
207
+ {
208
+ ns: meta.id
209
+ }
210
+ ],
211
+ icon: "ph--faders--regular",
212
+ keyBinding: {
213
+ macos: "meta+shift+,",
214
+ windows: "ctrl+shift+,"
215
+ }
216
+ }
217
+ }
218
+ ])
219
+ }),
220
+ GraphBuilder.createExtension({
221
+ id: `${meta.id}.spaces`,
222
+ match: NodeMatcher.whenRoot,
223
+ connector: (_node, get) => {
224
+ const client = capabilities.get(ClientCapabilities.Client);
225
+ const stateAtom = capabilities.get(SpaceCapabilities.State);
226
+ const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
227
+ const spacesAtom = CreateAtom.fromObservable(client.spaces);
228
+ const isReadyAtom = CreateAtom.fromObservable(client.spaces.isReady);
229
+ const spaces = get(spacesAtom);
230
+ const isReady = get(isReadyAtom);
231
+ if (!spaces || !isReady) {
232
+ return Effect.succeed([]);
233
+ }
234
+ const settingsAtom = capabilities.get(SpaceCapabilities.Settings);
235
+ const settings = get(settingsAtom);
236
+ const state = get(stateAtom);
237
+ const ephemeralState = get(ephemeralAtom);
238
+ try {
239
+ const [spacesOrder] = get(AtomQuery2.make(client.spaces.default.db, Filter2.type(Expando.Expando, {
240
+ key: SHARED
241
+ })));
242
+ const { graph } = capabilities.get(AppCapabilities.AppGraph);
243
+ const spacesOrderSnapshot = spacesOrder ? get(AtomObj2.make(spacesOrder)) : void 0;
244
+ const order = spacesOrderSnapshot?.order ?? [];
245
+ const orderMap = new Map(order.map((id, index) => [
246
+ id,
247
+ index
248
+ ]));
249
+ const spaceStates = spaces.map((space) => get(CreateAtom.fromObservable(space.state)));
250
+ spaces.forEach((space) => {
251
+ if (space.state.get() === SpaceState2.SPACE_READY) {
252
+ get(AtomObj2.make(space.properties));
253
+ }
254
+ });
255
+ return Effect.succeed([
256
+ ...spaces.filter((space) => orderMap.has(space.id)).sort((sortA, sortB) => orderMap.get(sortA.id) - orderMap.get(sortB.id)),
257
+ ...spaces.filter((space) => !orderMap.has(space.id))
258
+ ].filter((space, idx) => settings?.showHidden ? true : spaceStates[idx] !== SpaceState2.SPACE_INACTIVE).map((space) => constructSpaceNode({
259
+ space,
260
+ navigable: ephemeralState.navigableCollections,
261
+ personal: space === client.spaces.default,
262
+ namesCache: state.spaceNames,
263
+ graph,
264
+ spacesOrder
265
+ })));
266
+ } catch {
267
+ return Effect.succeed([]);
268
+ }
269
+ }
270
+ }),
271
+ GraphBuilder.createExtension({
272
+ id: `${meta.id}.actions`,
273
+ match: whenSpace,
274
+ actions: (space, get) => {
275
+ const [client] = get(capabilities.atom(ClientCapabilities.Client));
276
+ const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
277
+ const ephemeralState = get(ephemeralAtom);
278
+ if (!client) {
279
+ return Effect.succeed([]);
280
+ }
281
+ return Effect.succeed(constructSpaceActions({
282
+ space,
283
+ migrating: ephemeralState.sdkMigrationRunning[space.id]
284
+ }));
285
+ }
286
+ })
287
+ ]);
288
+ });
289
+ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, graph, spacesOrder }) => {
290
+ const hasPendingMigration = checkPendingMigration(space);
291
+ let onRearrange;
292
+ if (graph && spacesOrder) {
293
+ onRearrange = spaceRearrangeCache.get(space.id);
294
+ if (!onRearrange) {
295
+ onRearrange = (nextOrder) => {
296
+ Graph.sortEdges(graph, Node.RootId, "outbound", nextOrder.map(({ id }) => id));
297
+ Obj2.change(spacesOrder, (mutableOrder) => {
298
+ mutableOrder.order = nextOrder.map(({ id }) => id);
299
+ });
300
+ };
301
+ spaceRearrangeCache.set(space.id, onRearrange);
302
+ }
303
+ }
304
+ return {
305
+ id: space.id,
306
+ type: SPACE_TYPE,
307
+ cacheable: CACHEABLE_PROPS,
308
+ data: space,
309
+ properties: {
310
+ label: getSpaceDisplayName(space, {
311
+ personal,
312
+ namesCache
313
+ }),
314
+ description: space.state.get() === SpaceState2.SPACE_READY && space.properties.description,
315
+ hue: space.state.get() === SpaceState2.SPACE_READY && space.properties.hue,
316
+ icon: space.state.get() === SpaceState2.SPACE_READY && space.properties.icon ? `ph--${space.properties.icon}--regular` : void 0,
317
+ iconHue: space.state.get() === SpaceState2.SPACE_READY && space.properties.iconHue,
318
+ disabled: !navigable || space.state.get() !== SpaceState2.SPACE_READY || hasPendingMigration,
319
+ disposition: "workspace",
320
+ testId: "spacePlugin.space",
321
+ onRearrange,
322
+ canDrop: CAN_DROP_SPACE
323
+ },
324
+ nodes: [
325
+ {
326
+ id: "settings",
327
+ type: `${meta.id}.settings`,
328
+ data: null,
329
+ properties: {
330
+ label: SETTINGS_PANEL_LABEL,
331
+ icon: "ph--faders--regular",
332
+ disposition: "alternate-tree"
333
+ }
334
+ }
335
+ ]
336
+ };
337
+ };
338
+ var constructSpaceActions = ({ space, migrating }) => {
339
+ const state = space.state.get();
340
+ const hasPendingMigration = checkPendingMigration(space);
341
+ const isMigrating = migrating || Migrations2.running(space);
342
+ const cached = spaceActionsCache.get(space.id);
343
+ if (cached && cached.state === state && cached.hasPendingMigration === hasPendingMigration && cached.migrating === isMigrating) {
344
+ return cached.actions;
345
+ }
346
+ const actions = [];
347
+ if (hasPendingMigration) {
348
+ actions.push({
349
+ id: SpaceOperation.Migrate.meta.key,
350
+ type: Node.ActionGroupType,
351
+ data: () => Operation.invoke(SpaceOperation.Migrate, {
352
+ space
353
+ }),
354
+ properties: {
355
+ label: MIGRATE_SPACE_LABEL,
356
+ icon: "ph--database--regular",
357
+ disposition: "list-item-primary",
358
+ disabled: isMigrating
359
+ }
360
+ });
361
+ }
362
+ if (state === SpaceState2.SPACE_READY && !hasPendingMigration) {
363
+ actions.push({
364
+ id: SpaceOperation.OpenCreateObject.meta.key,
365
+ type: Node.ActionType,
366
+ data: () => Operation.invoke(SpaceOperation.OpenCreateObject, {
367
+ target: space.db
368
+ }),
369
+ properties: {
370
+ label: CREATE_OBJECT_IN_SPACE_LABEL,
371
+ icon: "ph--plus--regular",
372
+ disposition: "list-item-primary",
373
+ testId: "spacePlugin.createObject"
374
+ }
375
+ }, {
376
+ id: SpaceOperation.Rename.meta.key,
377
+ type: Node.ActionType,
378
+ data: (params) => Operation.invoke(SpaceOperation.Rename, {
379
+ space,
380
+ caller: `${params?.caller}:${params?.parent?.id}`
381
+ }),
382
+ properties: {
383
+ label: RENAME_SPACE_LABEL,
384
+ icon: "ph--pencil-simple-line--regular",
385
+ keyBinding: {
386
+ macos: "shift+F6",
387
+ windows: "shift+F6"
388
+ }
389
+ }
390
+ });
391
+ }
392
+ spaceActionsCache.set(space.id, {
393
+ state,
394
+ hasPendingMigration,
395
+ migrating: isMigrating,
396
+ actions
397
+ });
398
+ return actions;
399
+ };
400
+
401
+ // src/capabilities/app-graph-builder/extensions/types.ts
402
+ import * as Effect2 from "effect/Effect";
403
+ import * as Match from "effect/Match";
404
+ import * as Option2 from "effect/Option";
405
+ import * as Schema from "effect/Schema";
406
+ import { Capability as Capability2 } from "@dxos/app-framework";
407
+ import { AppCapabilities as AppCapabilities2, LayoutOperation, Segments } from "@dxos/app-toolkit";
408
+ import { SpaceState as SpaceState3, isSpace as isSpace2 } from "@dxos/client/echo";
409
+ import { Collection, Filter as Filter3, Obj as Obj3, Query, Type } from "@dxos/echo";
410
+ import { EntityKind, SystemTypeAnnotation, getTypeAnnotation } from "@dxos/echo/internal";
411
+ import { AtomObj as AtomObj3, AtomQuery as AtomQuery3 } from "@dxos/echo-atom";
412
+ import { Operation as Operation2 } from "@dxos/operation";
413
+ import { ClientCapabilities as ClientCapabilities2 } from "@dxos/plugin-client";
414
+ import { CreateAtom as CreateAtom2, GraphBuilder as GraphBuilder2, Node as Node2 } from "@dxos/plugin-graph";
415
+ import { ViewAnnotation as ViewAnnotation2 } from "@dxos/schema";
416
+ import { createFilename, isNonNullable } from "@dxos/util";
417
+ var createTypeExtensions = Effect2.fnUntraced(function* () {
418
+ const capabilities = yield* Capability2.Service;
419
+ const resolve = (_get) => (typename) => capabilities.getAll(AppCapabilities2.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
420
+ return yield* Effect2.all([
421
+ // Types section virtual node under each space.
422
+ GraphBuilder2.createExtension({
423
+ id: `${meta.id}.types-section`,
424
+ match: whenSpace,
425
+ connector: (space, get) => {
426
+ const spaceState = get(CreateAtom2.fromObservable(space.state));
427
+ if (spaceState !== SpaceState3.SPACE_READY) {
428
+ return Effect2.succeed([]);
429
+ }
430
+ return Effect2.succeed([
431
+ {
432
+ id: Segments.types,
433
+ type: TYPES_SECTION_TYPE,
434
+ data: null,
435
+ properties: {
436
+ label: [
437
+ "types section label",
438
+ {
439
+ ns: meta.id
440
+ }
441
+ ],
442
+ icon: "ph--shapes--regular",
443
+ iconHue: "neutral",
444
+ role: "branch",
445
+ testId: "spacePlugin.typesSection",
446
+ draggable: false,
447
+ droppable: false,
448
+ space
449
+ }
450
+ }
451
+ ]);
452
+ }
453
+ }),
454
+ // Schema nodes under the Types virtual node.
455
+ GraphBuilder2.createExtension({
456
+ id: `${meta.id}.types`,
457
+ match: (node) => {
458
+ const space = isSpace2(node.properties.space) ? node.properties.space : void 0;
459
+ return node.type === TYPES_SECTION_TYPE && space ? Option2.some(space) : Option2.none();
460
+ },
461
+ connector: (space, get) => {
462
+ const allSchemas = get(AtomQuery3.fromQuery(space.db.schemaRegistry.query({
463
+ location: [
464
+ "database",
465
+ "runtime"
466
+ ]
467
+ })));
468
+ const userSchemas = allSchemas.filter((schema) => {
469
+ if (getTypeAnnotation(schema)?.kind === EntityKind.Relation) {
470
+ return false;
471
+ }
472
+ if (SystemTypeAnnotation.get(schema).pipe(Option2.getOrElse(() => false))) {
473
+ return false;
474
+ }
475
+ if (ViewAnnotation2.get(schema).pipe(Option2.getOrElse(() => false))) {
476
+ return false;
477
+ }
478
+ if (Type.getTypename(schema) === Collection.Collection.typename) {
479
+ return false;
480
+ }
481
+ return true;
482
+ });
483
+ const viewIndex = buildViewIndex(get, space, allSchemas);
484
+ const visibleSchemas = userSchemas.filter((schema) => {
485
+ if (Type.isMutable(schema)) {
486
+ return true;
487
+ }
488
+ const typename = Type.getTypename(schema);
489
+ const objects = get(AtomQuery3.make(space.db, Filter3.typename(typename)));
490
+ return objects.length > 0 || viewIndex.typenamesWithViews.has(typename);
491
+ });
492
+ return Effect2.succeed(visibleSchemas.map((schema) => createSchemaNode({
493
+ schema,
494
+ space,
495
+ resolve: resolve(get),
496
+ get
497
+ })));
498
+ }
499
+ }),
500
+ // {All} virtual node + view objects under each schema node.
501
+ GraphBuilder2.createExtension({
502
+ id: `${meta.id}.schema-children`,
503
+ match: (node) => {
504
+ const space = isSpace2(node.properties.space) ? node.properties.space : void 0;
505
+ return space && (Obj3.instanceOf(Type.PersistentType, node.data) || Schema.isSchema(node.data)) ? Option2.some({
506
+ space,
507
+ schema: node.data
508
+ }) : Option2.none();
509
+ },
510
+ connector: ({ space, schema }, get) => {
511
+ const client = get(capabilities.atom(ClientCapabilities2.Client)).at(0);
512
+ const schemas = client ? get(AtomQuery3.fromQuery(client.graph.schemaRegistry.query({
513
+ location: [
514
+ "runtime"
515
+ ]
516
+ }))) : [];
517
+ const typename = Schema.isSchema(schema) ? Type.getTypename(schema) : schema.typename;
518
+ const allNode = {
519
+ id: "all",
520
+ type: TYPE_COLLECTION_TYPE,
521
+ data: {
522
+ space,
523
+ typename
524
+ },
525
+ properties: {
526
+ label: [
527
+ "type collection all label",
528
+ {
529
+ ns: meta.id
530
+ }
531
+ ],
532
+ icon: "ph--list--regular",
533
+ iconHue: "neutral",
534
+ role: "branch",
535
+ testId: `spacePlugin.typeCollectionAll.${typename}`,
536
+ selectable: false,
537
+ draggable: false,
538
+ droppable: false,
539
+ childrenDroppable: false,
540
+ blockInstruction: BLOCK_REORDER_ABOVE
541
+ }
542
+ };
543
+ const viewIndex = buildViewIndex(get, space, schemas);
544
+ const viewNodes = viewIndex.getViewsForTypename(typename).map((object) => createObjectNode({
545
+ db: space.db,
546
+ object,
547
+ resolve: resolve(get),
548
+ droppable: false
549
+ })).filter(isNonNullable);
550
+ return Effect2.succeed([
551
+ allNode,
552
+ ...viewNodes
553
+ ]);
554
+ }
555
+ }),
556
+ // Objects of the schema type under the {All} node.
557
+ GraphBuilder2.createExtension({
558
+ id: `${meta.id}.type-collection-objects`,
559
+ match: (node) => {
560
+ if (node.type !== TYPE_COLLECTION_TYPE || !node.data?.space || !node.data?.typename) {
561
+ return Option2.none();
562
+ }
563
+ return Option2.some({
564
+ space: node.data.space,
565
+ typename: node.data.typename
566
+ });
567
+ },
568
+ connector: ({ space, typename }, get) => {
569
+ const objects = get(AtomQuery3.make(space.db, Filter3.typename(typename)));
570
+ return Effect2.succeed(objects.map((object) => {
571
+ get(AtomObj3.make(object));
572
+ return createObjectNode({
573
+ db: space.db,
574
+ object,
575
+ resolve: resolve(get),
576
+ droppable: false
577
+ });
578
+ }).filter(isNonNullable));
579
+ }
580
+ }),
581
+ // Actions for schema nodes.
582
+ GraphBuilder2.createExtension({
583
+ id: `${meta.id}.schema-actions`,
584
+ match: (node) => {
585
+ const space = isSpace2(node.properties.space) ? node.properties.space : void 0;
586
+ return space && Schema.isSchema(node.data) ? Option2.some({
587
+ space,
588
+ schema: node.data
589
+ }) : Option2.none();
590
+ },
591
+ actions: ({ space, schema }, get) => {
592
+ const client = get(capabilities.atom(ClientCapabilities2.Client)).at(0);
593
+ const schemas = client ? get(AtomQuery3.fromQuery(client.graph.schemaRegistry.query({
594
+ location: [
595
+ "runtime"
596
+ ]
597
+ }))) : [];
598
+ const targetTypename = Type.getTypename(schema);
599
+ const viewIndex = buildViewIndex(get, space, schemas);
600
+ const deletable = Type.isMutable(schema) && viewIndex.getViewsForTypename(targetTypename).length === 0;
601
+ return Effect2.succeed(createSchemaActions({
602
+ schema,
603
+ space,
604
+ deletable,
605
+ resolve: resolve(get)
606
+ }));
607
+ }
608
+ })
609
+ ]);
610
+ });
611
+ var createSchemaNode = ({ schema, space, resolve, get }) => {
612
+ const typename = Type.getTypename(schema);
613
+ const metadata = resolve(typename);
614
+ const { label, nodeId } = Match.value(schema).pipe(Match.when(Type.isMutable, (mutableSchema) => {
615
+ const persistentSchema = mutableSchema.persistentSchema;
616
+ const snapshot = get(AtomObj3.make(persistentSchema));
617
+ return {
618
+ label: snapshot.name || [
619
+ "object name placeholder",
620
+ {
621
+ ns: Type.PersistentType.typename
622
+ }
623
+ ],
624
+ nodeId: typename
625
+ };
626
+ }), Match.orElse(() => ({
627
+ label: getDynamicLabel("typename label", typename, {
628
+ count: 2,
629
+ default: typename
630
+ }),
631
+ nodeId: typename
632
+ })));
633
+ const icon = Type.isMutable(schema) ? "ph--cube--regular" : metadata.icon ?? "ph--placeholder--regular";
634
+ const iconHue = Type.isMutable(schema) ? "neutral" : metadata.iconHue;
635
+ return {
636
+ id: nodeId,
637
+ type: STATIC_SCHEMA_TYPE,
638
+ data: schema,
639
+ properties: {
640
+ label,
641
+ icon,
642
+ iconHue,
643
+ role: "branch",
644
+ testId: `spacePlugin.schemaNode.${typename}`,
645
+ selectable: false,
646
+ draggable: false,
647
+ droppable: false,
648
+ childrenDroppable: false,
649
+ space
650
+ }
651
+ };
652
+ };
653
+ var createSchemaActions = ({ schema, space, deletable, resolve }) => {
654
+ const typename = Type.getTypename(schema);
655
+ const metadata = resolve(typename);
656
+ const createObjectFn = metadata.createObject;
657
+ const inputSchema = metadata.inputSchema;
658
+ const actions = [
659
+ ...createObjectFn ? [
660
+ {
661
+ id: SpaceOperation.OpenCreateObject.meta.key,
662
+ type: Node2.ActionType,
663
+ data: Effect2.fnUntraced(function* () {
664
+ if (inputSchema) {
665
+ yield* Operation2.invoke(SpaceOperation.OpenCreateObject, {
666
+ target: space.db,
667
+ typename
668
+ });
669
+ } else {
670
+ const createdObject = yield* createObjectFn({}, {
671
+ db: space.db
672
+ });
673
+ const addResult = yield* Operation2.invoke(SpaceOperation.AddObject, {
674
+ target: space.db,
675
+ hidden: true,
676
+ object: createdObject
677
+ });
678
+ if (addResult.subject) {
679
+ yield* Operation2.invoke(LayoutOperation.Open, {
680
+ subject: addResult.subject
681
+ });
682
+ }
683
+ }
684
+ }),
685
+ properties: {
686
+ label: getDynamicLabel("add object label", typename),
687
+ icon: "ph--plus--regular",
688
+ disposition: "list-item-primary",
689
+ testId: "spacePlugin.createObject"
690
+ }
691
+ }
692
+ ] : [],
693
+ {
694
+ id: `${SpaceOperation.AddObject.meta.key}-view`,
695
+ type: Node2.ActionType,
696
+ data: () => Operation2.invoke(SpaceOperation.OpenCreateObject, {
697
+ target: space.db,
698
+ views: true,
699
+ initialFormValues: {
700
+ typename: Type.getTypename(schema)
701
+ }
702
+ }),
703
+ properties: {
704
+ label: ADD_VIEW_TO_SCHEMA_LABEL,
705
+ icon: "ph--circles-three-plus--regular",
706
+ disposition: "list-item",
707
+ testId: "spacePlugin.addViewToSchema"
708
+ }
709
+ },
710
+ {
711
+ id: SpaceOperation.RenameObject.meta.key,
712
+ type: Node2.ActionType,
713
+ data: (params) => Type.isMutable(schema) ? Operation2.invoke(SpaceOperation.RenameObject, {
714
+ object: schema.persistentSchema,
715
+ caller: `${params?.caller}:${params?.parent?.id}`
716
+ }) : Effect2.fail(new Error("Cannot rename immutable schema")),
717
+ properties: {
718
+ label: getDynamicLabel("rename object label", Type.getTypename(Type.PersistentType)),
719
+ icon: "ph--pencil-simple-line--regular",
720
+ disabled: !Type.isMutable(schema),
721
+ disposition: "list-item",
722
+ testId: "spacePlugin.renameObject"
723
+ }
724
+ },
725
+ {
726
+ id: SpaceOperation.RemoveObjects.meta.key,
727
+ type: Node2.ActionType,
728
+ data: () => Type.isMutable(schema) ? Operation2.invoke(SpaceOperation.RemoveObjects, {
729
+ objects: [
730
+ schema.persistentSchema
731
+ ]
732
+ }) : Effect2.succeed(void 0),
733
+ properties: {
734
+ label: getDynamicLabel("delete object label", Type.getTypename(Type.PersistentType)),
735
+ icon: "ph--trash--regular",
736
+ disposition: "list-item",
737
+ disabled: !deletable,
738
+ testId: "spacePlugin.deleteObject"
739
+ }
740
+ },
741
+ {
742
+ id: SpaceOperation.Snapshot.meta.key,
743
+ type: Node2.ActionType,
744
+ data: Effect2.fnUntraced(function* () {
745
+ const result = yield* Operation2.invoke(SpaceOperation.Snapshot, {
746
+ db: space.db,
747
+ query: Query.select(Filter3.type(schema)).ast
748
+ });
749
+ if (result.snapshot) {
750
+ yield* Effect2.tryPromise(() => downloadBlob(result.snapshot, createFilename({
751
+ parts: [
752
+ space.id,
753
+ Type.getTypename(schema)
754
+ ],
755
+ ext: "json"
756
+ })));
757
+ }
758
+ }),
759
+ properties: {
760
+ label: SNAPSHOT_BY_SCHEMA_LABEL,
761
+ icon: "ph--camera--regular",
762
+ disposition: "list-item"
763
+ }
764
+ }
765
+ ];
766
+ return actions;
767
+ };
768
+
769
+ // src/capabilities/app-graph-builder/extensions/collections.ts
770
+ import * as Effect3 from "effect/Effect";
771
+ import * as Option3 from "effect/Option";
772
+ import { Capabilities, Capability as Capability3 } from "@dxos/app-framework";
773
+ import { AppCapabilities as AppCapabilities3, LayoutOperation as LayoutOperation2, Segments as Segments2, getObjectPathFromObject } from "@dxos/app-toolkit";
774
+ import { SpaceState as SpaceState4, getSpace, isSpace as isSpace3 } from "@dxos/client/echo";
775
+ import { Collection as Collection2, Obj as Obj4, Type as Type2 } from "@dxos/echo";
776
+ import { AtomObj as AtomObj4 } from "@dxos/echo-atom";
777
+ import { invariant } from "@dxos/invariant";
778
+ import { Operation as Operation3 } from "@dxos/operation";
779
+ import { CreateAtom as CreateAtom3, Graph as Graph2, GraphBuilder as GraphBuilder3, Node as Node3 } from "@dxos/plugin-graph";
780
+ import { isNonNullable as isNonNullable2 } from "@dxos/util";
781
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/capabilities/app-graph-builder/extensions/collections.ts";
782
+ var createCollectionExtensions = Effect3.fnUntraced(function* ({ shareableLinkOrigin }) {
783
+ const capabilities = yield* Capability3.Service;
784
+ const resolve = (get) => (typename) => capabilities.getAll(AppCapabilities3.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
785
+ return yield* Effect3.all([
786
+ // Collections section virtual node under each space.
787
+ GraphBuilder3.createExtension({
788
+ id: `${meta.id}.collections-section`,
789
+ match: whenSpace,
790
+ connector: (space, get) => {
791
+ const spaceState = get(CreateAtom3.fromObservable(space.state));
792
+ if (spaceState !== SpaceState4.SPACE_READY) {
793
+ return Effect3.succeed([]);
794
+ }
795
+ const propertiesSnapshot = get(AtomObj4.make(space.properties));
796
+ const collectionRef = propertiesSnapshot[Collection2.Collection.typename];
797
+ if (collectionRef) {
798
+ get(AtomObj4.make(collectionRef));
799
+ }
800
+ const rootCollection = collectionRef?.target;
801
+ const collectionPartials = rootCollection ? getCollectionGraphNodePartials({
802
+ collection: rootCollection,
803
+ db: space.db,
804
+ resolve: resolve(get)
805
+ }) : void 0;
806
+ return Effect3.succeed([
807
+ {
808
+ id: Segments2.collections,
809
+ type: COLLECTIONS_SECTION_TYPE,
810
+ data: null,
811
+ properties: {
812
+ label: [
813
+ "collections section label",
814
+ {
815
+ ns: meta.id
816
+ }
817
+ ],
818
+ icon: "ph--folder--regular",
819
+ iconHue: "neutral",
820
+ role: "branch",
821
+ position: "hoist",
822
+ testId: "spacePlugin.collectionsSection",
823
+ draggable: false,
824
+ droppable: false,
825
+ space,
826
+ ...collectionPartials
827
+ }
828
+ }
829
+ ]);
830
+ }
831
+ }),
832
+ // Root collection objects under the Collections virtual node.
833
+ GraphBuilder3.createExtension({
834
+ id: `${meta.id}.collections`,
835
+ match: (node) => {
836
+ const space = isSpace3(node.properties.space) ? node.properties.space : void 0;
837
+ return node.type === COLLECTIONS_SECTION_TYPE && space ? Option3.some(space) : Option3.none();
838
+ },
839
+ connector: (space, get) => {
840
+ const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
841
+ const ephemeralState = get(ephemeralAtom);
842
+ const propertiesSnapshot = get(AtomObj4.make(space.properties));
843
+ const collectionRef = propertiesSnapshot[Collection2.Collection.typename];
844
+ const collection = collectionRef ? get(AtomObj4.make(collectionRef)) : void 0;
845
+ if (!collection) {
846
+ return Effect3.succeed([]);
847
+ }
848
+ const rawRefs = collection.objects ?? [];
849
+ const objects = rawRefs.map((ref) => {
850
+ get(AtomObj4.make(ref));
851
+ return ref.target;
852
+ }).filter(isNonNullable2);
853
+ return Effect3.succeed(objects.map((object) => createObjectNode({
854
+ db: space.db,
855
+ object,
856
+ resolve: resolve(get),
857
+ navigable: ephemeralState.navigableCollections,
858
+ parentCollection: collectionRef?.target
859
+ })).filter(isNonNullable2));
860
+ }
861
+ }),
862
+ // Children of Collection.Collection nodes.
863
+ GraphBuilder3.createExtension({
864
+ id: `${meta.id}.objects`,
865
+ match: (node) => Obj4.instanceOf(Collection2.Collection, node.data) ? Option3.some(node.data) : Option3.none(),
866
+ connector: (collection, get) => {
867
+ const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
868
+ const ephemeralState = get(ephemeralAtom);
869
+ const space = getSpace(collection);
870
+ const collectionSnapshot = get(AtomObj4.make(collection));
871
+ const refs = collectionSnapshot.objects ?? [];
872
+ const objects = refs.map((ref) => {
873
+ get(AtomObj4.make(ref));
874
+ return ref.target;
875
+ }).filter(isNonNullable2);
876
+ return Effect3.succeed(objects.map((object) => space && createObjectNode({
877
+ object,
878
+ db: space.db,
879
+ resolve: resolve(get),
880
+ navigable: ephemeralState.navigableCollections,
881
+ parentCollection: collection
882
+ })).filter(isNonNullable2));
883
+ }
884
+ }),
885
+ // Object actions.
886
+ GraphBuilder3.createExtension({
887
+ id: `${meta.id}.object-actions`,
888
+ match: (node) => {
889
+ const space = getSpace(node.data);
890
+ return space && Obj4.isObject(node.data) && Obj4.getTypename(node.data) === node.type ? Option3.some({
891
+ space,
892
+ object: node.data,
893
+ nodeId: node.id
894
+ }) : Option3.none();
895
+ },
896
+ actions: ({ space, object, nodeId }, get) => {
897
+ const deletable = !Obj4.instanceOf(Type2.PersistentType, object);
898
+ const [appGraph] = get(capabilities.atom(AppCapabilities3.AppGraph));
899
+ const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
900
+ const ephemeralState = get(ephemeralAtom);
901
+ if (!appGraph) {
902
+ return Effect3.succeed([]);
903
+ }
904
+ const parentId = nodeId.substring(0, nodeId.lastIndexOf("/"));
905
+ const parentNode = Option3.getOrUndefined(Graph2.getNode(appGraph.graph, parentId));
906
+ const parentCollection = parentNode && Obj4.instanceOf(Collection2.Collection, parentNode.data) ? parentNode.data : void 0;
907
+ return Effect3.succeed(constructObjectActions({
908
+ object,
909
+ nodeId,
910
+ resolve: resolve(get),
911
+ deletable,
912
+ navigable: ephemeralState.navigableCollections,
913
+ shareableLinkOrigin,
914
+ parentCollection
915
+ }));
916
+ }
917
+ })
918
+ ]);
919
+ });
920
+ var constructObjectActions = ({ object, nodeId, resolve, deletable = true, navigable = false, shareableLinkOrigin, parentCollection }) => {
921
+ const db = Obj4.getDatabase(object);
922
+ invariant(db, "Database not found", {
923
+ F: __dxlog_file,
924
+ L: 238,
925
+ S: void 0,
926
+ A: [
927
+ "db",
928
+ "'Database not found'"
929
+ ]
930
+ });
931
+ const typename = Obj4.getTypename(object);
932
+ invariant(typename, "Object has no typename", {
933
+ F: __dxlog_file,
934
+ L: 240,
935
+ S: void 0,
936
+ A: [
937
+ "typename",
938
+ "'Object has no typename'"
939
+ ]
940
+ });
941
+ const actions = [
942
+ ...Obj4.instanceOf(Collection2.Collection, object) ? [
943
+ {
944
+ id: SpaceOperation.OpenCreateObject.meta.key,
945
+ type: Node3.ActionType,
946
+ data: () => Operation3.invoke(SpaceOperation.OpenCreateObject, {
947
+ target: object,
948
+ targetNodeId: nodeId
949
+ }),
950
+ properties: {
951
+ label: CREATE_OBJECT_IN_COLLECTION_LABEL,
952
+ icon: "ph--plus--regular",
953
+ disposition: "list-item-primary",
954
+ testId: "spacePlugin.createObject"
955
+ }
956
+ }
957
+ ] : [],
958
+ {
959
+ id: SpaceOperation.RenameObject.meta.key,
960
+ type: Node3.ActionType,
961
+ data: (params) => Operation3.invoke(SpaceOperation.RenameObject, {
962
+ object,
963
+ caller: `${params?.caller}:${params?.parent?.id}`
964
+ }),
965
+ properties: {
966
+ label: getDynamicLabel("rename object label", typename, {
967
+ defaultValue: "Rename"
968
+ }),
969
+ icon: "ph--pencil-simple-line--regular",
970
+ disposition: "list-item",
971
+ testId: "spacePlugin.renameObject"
972
+ }
973
+ },
974
+ ...parentCollection && !Obj4.instanceOf(Collection2.Collection, object) ? [
975
+ {
976
+ id: "remove-from-collection",
977
+ type: Node3.ActionType,
978
+ data: () => Effect3.gen(function* () {
979
+ const index = parentCollection.objects.findIndex((ref) => ref.target === object);
980
+ if (index !== -1) {
981
+ const layout = yield* Capabilities.getAtomValue(AppCapabilities3.Layout);
982
+ const isActive = layout.active.includes(nodeId);
983
+ Obj4.change(parentCollection, (mutable) => {
984
+ mutable.objects.splice(index, 1);
985
+ });
986
+ if (isActive) {
987
+ yield* Operation3.invoke(LayoutOperation2.Open, {
988
+ subject: [
989
+ getObjectPathFromObject(object)
990
+ ]
991
+ });
992
+ }
993
+ }
994
+ }),
995
+ properties: {
996
+ label: REMOVE_FROM_COLLECTION_LABEL,
997
+ icon: "ph--minus-circle--regular",
998
+ disposition: "list-item",
999
+ testId: "spacePlugin.removeFromCollection"
1000
+ }
1001
+ }
1002
+ ] : [],
1003
+ {
1004
+ id: SpaceOperation.RemoveObjects.meta.key,
1005
+ type: Node3.ActionType,
1006
+ data: () => Operation3.invoke(SpaceOperation.RemoveObjects, {
1007
+ objects: [
1008
+ object
1009
+ ],
1010
+ target: parentCollection
1011
+ }),
1012
+ properties: {
1013
+ label: getDynamicLabel("delete object label", typename, {
1014
+ defaultValue: "Delete"
1015
+ }),
1016
+ icon: "ph--trash--regular",
1017
+ disposition: "list-item",
1018
+ disabled: !deletable,
1019
+ testId: "spacePlugin.deleteObject"
1020
+ }
1021
+ },
1022
+ ...navigable || !Obj4.instanceOf(Collection2.Collection, object) ? [
1023
+ {
1024
+ id: "copy-link",
1025
+ type: Node3.ActionType,
1026
+ data: () => Effect3.promise(async () => {
1027
+ const url = `${shareableLinkOrigin}/${db.spaceId}/${Obj4.getDXN(object).toString()}`;
1028
+ await navigator.clipboard.writeText(url);
1029
+ }),
1030
+ properties: {
1031
+ label: COPY_LINK_LABEL,
1032
+ icon: "ph--link--regular",
1033
+ disposition: "list-item",
1034
+ testId: "spacePlugin.copyLink"
1035
+ }
1036
+ }
1037
+ ] : [],
1038
+ {
1039
+ id: LayoutOperation2.Expose.meta.key,
1040
+ type: Node3.ActionType,
1041
+ data: () => Operation3.invoke(LayoutOperation2.Expose, {
1042
+ subject: getObjectPathFromObject(object)
1043
+ }),
1044
+ properties: {
1045
+ label: EXPOSE_OBJECT_LABEL,
1046
+ icon: "ph--eye--regular",
1047
+ disposition: "heading-list-item",
1048
+ testId: "spacePlugin.exposeObject"
1049
+ }
1050
+ }
1051
+ ];
1052
+ return actions;
1053
+ };
1054
+
1055
+ // src/capabilities/app-graph-builder/extensions/companions.ts
1056
+ import * as Effect4 from "effect/Effect";
1057
+ import * as Option4 from "effect/Option";
1058
+ import { COMPANION_PREFIX } from "@dxos/app-toolkit";
1059
+ import { Obj as Obj5 } from "@dxos/echo";
1060
+ import { PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
1061
+ import { GraphBuilder as GraphBuilder4, NodeMatcher as NodeMatcher2 } from "@dxos/plugin-graph";
1062
+ import { ViewAnnotation as ViewAnnotation3 } from "@dxos/schema";
1063
+ var createCompanionExtensions = Effect4.fnUntraced(function* () {
1064
+ return yield* Effect4.all([
1065
+ // Object settings plank companion.
1066
+ GraphBuilder4.createExtension({
1067
+ id: `${meta.id}.settings`,
1068
+ match: NodeMatcher2.whenEchoObjectMatches,
1069
+ connector: (node) => Effect4.succeed([
1070
+ {
1071
+ id: `${COMPANION_PREFIX}settings`,
1072
+ type: PLANK_COMPANION_TYPE,
1073
+ data: "settings",
1074
+ properties: {
1075
+ label: [
1076
+ "object settings label",
1077
+ {
1078
+ ns: meta.id
1079
+ }
1080
+ ],
1081
+ icon: "ph--sliders--regular",
1082
+ disposition: "hidden",
1083
+ position: "fallback"
1084
+ }
1085
+ }
1086
+ ])
1087
+ }),
1088
+ // View selected objects companion.
1089
+ GraphBuilder4.createExtension({
1090
+ id: `${meta.id}.selected-objects`,
1091
+ match: (node) => {
1092
+ if (!Obj5.isObject(node.data)) {
1093
+ return Option4.none();
1094
+ }
1095
+ const schema = Obj5.getSchema(node.data);
1096
+ const isView = Option4.fromNullable(schema).pipe(Option4.flatMap((candidate) => ViewAnnotation3.get(candidate)), Option4.getOrElse(() => false));
1097
+ if (!isView) {
1098
+ return Option4.none();
1099
+ }
1100
+ return Option4.some(node);
1101
+ },
1102
+ connector: (node) => Effect4.succeed([
1103
+ {
1104
+ id: `${COMPANION_PREFIX}selected-objects`,
1105
+ type: PLANK_COMPANION_TYPE,
1106
+ data: "selected-objects",
1107
+ properties: {
1108
+ label: [
1109
+ "companion selected objects label",
1110
+ {
1111
+ ns: meta.id
1112
+ }
1113
+ ],
1114
+ icon: "ph--tree-view--regular",
1115
+ disposition: "hidden"
1116
+ }
1117
+ }
1118
+ ])
1119
+ })
1120
+ ]);
1121
+ });
1122
+
1123
+ // src/capabilities/app-graph-builder/extensions/settings.ts
1124
+ import * as Effect5 from "effect/Effect";
1125
+ import { GraphBuilder as GraphBuilder5, NodeMatcher as NodeMatcher3 } from "@dxos/plugin-graph";
1126
+ var createSettingsExtensions = Effect5.fnUntraced(function* () {
1127
+ const extension = yield* GraphBuilder5.createExtension({
1128
+ id: `${meta.id}.settings-sections`,
1129
+ match: NodeMatcher3.whenNodeType(`${meta.id}.settings`),
1130
+ connector: (node) => Effect5.succeed([
1131
+ {
1132
+ id: `${meta.id}.general`,
1133
+ type: `${meta.id}.general`,
1134
+ data: `${meta.id}.general`,
1135
+ properties: {
1136
+ label: [
1137
+ "space settings properties label",
1138
+ {
1139
+ ns: meta.id
1140
+ }
1141
+ ],
1142
+ icon: "ph--sliders--regular",
1143
+ position: "hoist",
1144
+ testId: "spacePlugin.general"
1145
+ }
1146
+ },
1147
+ {
1148
+ id: `${meta.id}.members`,
1149
+ type: `${meta.id}.members`,
1150
+ data: `${meta.id}.members`,
1151
+ properties: {
1152
+ label: [
1153
+ "members panel label",
1154
+ {
1155
+ ns: meta.id
1156
+ }
1157
+ ],
1158
+ icon: "ph--users--regular",
1159
+ position: "hoist",
1160
+ testId: "spacePlugin.members"
1161
+ }
1162
+ },
1163
+ {
1164
+ id: `${meta.id}.schema`,
1165
+ type: `${meta.id}.schema`,
1166
+ data: `${meta.id}.schema`,
1167
+ properties: {
1168
+ label: [
1169
+ "space settings schema label",
1170
+ {
1171
+ ns: meta.id
1172
+ }
1173
+ ],
1174
+ icon: "ph--shapes--regular",
1175
+ testId: "spacePlugin.schema"
1176
+ }
1177
+ }
1178
+ ])
1179
+ });
1180
+ return [
1181
+ extension
1182
+ ];
1183
+ });
1184
+
1185
+ // src/capabilities/app-graph-builder/app-graph-builder.ts
1186
+ var app_graph_builder_default = Capability4.makeModule(Effect6.fnUntraced(function* ({ shareableLinkOrigin = window.location.origin } = {}) {
1187
+ const extensions = yield* Effect6.all([
1188
+ createSpaceExtensions(),
1189
+ createTypeExtensions(),
1190
+ createCollectionExtensions({
1191
+ shareableLinkOrigin
1192
+ }),
1193
+ createCompanionExtensions(),
1194
+ createSettingsExtensions()
1195
+ ]);
1196
+ return Capability4.contributes(AppCapabilities4.AppGraphBuilder, extensions.flat());
1197
+ }));
1198
+ export {
1199
+ app_graph_builder_default as default
1200
+ };
1201
+ //# sourceMappingURL=app-graph-builder-UEOUAYZG.mjs.map