@dxos/plugin-space 0.8.4-main.422d1c7879 → 0.8.4-main.4f23b4e393

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 (707) hide show
  1. package/dist/lib/neutral/CollectionArticle-QGPAEA7D.mjs +98 -0
  2. package/dist/lib/neutral/CollectionArticle-QGPAEA7D.mjs.map +7 -0
  3. package/dist/lib/neutral/CollectionSection-A5WRHE5Z.mjs +19 -0
  4. package/dist/lib/neutral/CollectionSection-A5WRHE5Z.mjs.map +7 -0
  5. package/dist/lib/neutral/CreateObjectDialog-2JEYK4PI.mjs +141 -0
  6. package/dist/lib/neutral/CreateObjectDialog-2JEYK4PI.mjs.map +7 -0
  7. package/dist/lib/neutral/CreateSpaceDialog-B3OELSC7.mjs +56 -0
  8. package/dist/lib/neutral/CreateSpaceDialog-B3OELSC7.mjs.map +7 -0
  9. package/dist/lib/neutral/ImportSpaceDialog-LWLVC5RZ.mjs +62 -0
  10. package/dist/lib/neutral/ImportSpaceDialog-LWLVC5RZ.mjs.map +7 -0
  11. package/dist/lib/neutral/InlineSyncStatus-TBJKZCH7.mjs +49 -0
  12. package/dist/lib/neutral/InlineSyncStatus-TBJKZCH7.mjs.map +7 -0
  13. package/dist/lib/neutral/JoinDialog-SSFKRFTJ.mjs +114 -0
  14. package/dist/lib/neutral/JoinDialog-SSFKRFTJ.mjs.map +7 -0
  15. package/dist/lib/neutral/MembersContainer-MRPLHZ6L.mjs +225 -0
  16. package/dist/lib/neutral/MembersContainer-MRPLHZ6L.mjs.map +7 -0
  17. package/dist/lib/neutral/MenuFooter-O4XS4T4D.mjs +33 -0
  18. package/dist/lib/neutral/MenuFooter-O4XS4T4D.mjs.map +7 -0
  19. package/dist/lib/neutral/ObjectCardStack-ODQZOBWB.mjs +55 -0
  20. package/dist/lib/neutral/ObjectCardStack-ODQZOBWB.mjs.map +7 -0
  21. package/dist/lib/neutral/ObjectProperties-BF6KGFFC.mjs +33 -0
  22. package/dist/lib/neutral/ObjectProperties-BF6KGFFC.mjs.map +7 -0
  23. package/dist/lib/neutral/ObjectRenamePopover-V656TFC5.mjs +59 -0
  24. package/dist/lib/neutral/ObjectRenamePopover-V656TFC5.mjs.map +7 -0
  25. package/dist/lib/neutral/RecordArticle-VRWKXVAO.mjs +48 -0
  26. package/dist/lib/neutral/RecordArticle-VRWKXVAO.mjs.map +7 -0
  27. package/dist/lib/neutral/RelatedArticle-GHGL2GL5.mjs +68 -0
  28. package/dist/lib/neutral/RelatedArticle-GHGL2GL5.mjs.map +7 -0
  29. package/dist/lib/neutral/SchemaContainer-KMOZ23RA.mjs +43 -0
  30. package/dist/lib/neutral/SchemaContainer-KMOZ23RA.mjs.map +7 -0
  31. package/dist/lib/neutral/SmallPresenceLive-2W5ZUDCF.mjs +8 -0
  32. package/dist/lib/neutral/SpacePlugin.mjs +10 -0
  33. package/dist/lib/{browser/cli/index.mjs → neutral/SpacePlugin.node.mjs} +66 -81
  34. package/dist/lib/neutral/SpacePlugin.node.mjs.map +7 -0
  35. package/dist/lib/neutral/SpacePresence-PTTGZYZ6.mjs +11 -0
  36. package/dist/lib/neutral/SpaceRenamePopover-KFWL4CTJ.mjs +56 -0
  37. package/dist/lib/neutral/SpaceRenamePopover-KFWL4CTJ.mjs.map +7 -0
  38. package/dist/lib/{browser/SpaceSettings-TR2IMHOL.mjs → neutral/SpaceSettings-JBE266M2.mjs} +3 -3
  39. package/dist/lib/neutral/SpaceSettingsContainer-VAXQNCWG.mjs +266 -0
  40. package/dist/lib/neutral/SpaceSettingsContainer-VAXQNCWG.mjs.map +7 -0
  41. package/dist/lib/neutral/SyncStatus-FFKEPNZF.mjs +146 -0
  42. package/dist/lib/neutral/SyncStatus-FFKEPNZF.mjs.map +7 -0
  43. package/dist/lib/neutral/ViewEditor-MQRYNTSI.mjs +104 -0
  44. package/dist/lib/neutral/ViewEditor-MQRYNTSI.mjs.map +7 -0
  45. package/dist/lib/{browser/add-object-XUA4QRWE.mjs → neutral/add-object-CHYQHOXB.mjs} +10 -19
  46. package/dist/lib/neutral/add-object-CHYQHOXB.mjs.map +7 -0
  47. package/dist/lib/{browser/add-relation-YNTOBNYM.mjs → neutral/add-relation-RLDHAPF5.mjs} +4 -4
  48. package/dist/lib/neutral/add-relation-RLDHAPF5.mjs.map +7 -0
  49. package/dist/lib/{browser/add-schema-Q5X2SAX4.mjs → neutral/add-schema-VHVHDVY6.mjs} +6 -6
  50. package/dist/lib/neutral/add-schema-VHVHDVY6.mjs.map +7 -0
  51. package/dist/lib/neutral/app-graph-builder-O3XVL5Y2.mjs +1262 -0
  52. package/dist/lib/neutral/app-graph-builder-O3XVL5Y2.mjs.map +7 -0
  53. package/dist/lib/neutral/app-graph-serializer-3IHQEYQ4.mjs +80 -0
  54. package/dist/lib/neutral/app-graph-serializer-3IHQEYQ4.mjs.map +7 -0
  55. package/dist/lib/neutral/capabilities/index.mjs +45 -0
  56. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  57. package/dist/lib/neutral/capabilities/node.mjs +15 -0
  58. package/dist/lib/neutral/capabilities/node.mjs.map +7 -0
  59. package/dist/lib/neutral/chunk-2DHCIE27.mjs +25 -0
  60. package/dist/lib/neutral/chunk-2DHCIE27.mjs.map +7 -0
  61. package/dist/lib/neutral/chunk-62A5U3UX.mjs +8 -0
  62. package/dist/lib/neutral/chunk-62A5U3UX.mjs.map +7 -0
  63. package/dist/lib/{browser/chunk-VV4C4APQ.mjs → neutral/chunk-BWDWDXYZ.mjs} +3 -1
  64. package/dist/lib/neutral/chunk-BWDWDXYZ.mjs.map +7 -0
  65. package/dist/lib/neutral/chunk-CTBIVBHJ.mjs +163 -0
  66. package/dist/lib/neutral/chunk-CTBIVBHJ.mjs.map +7 -0
  67. package/dist/lib/{browser/chunk-5CKPBXLB.mjs → neutral/chunk-EDP4XO2G.mjs} +5 -2
  68. package/dist/lib/{browser/chunk-5CKPBXLB.mjs.map → neutral/chunk-EDP4XO2G.mjs.map} +3 -3
  69. package/dist/lib/{browser/chunk-JH2UWMN2.mjs → neutral/chunk-JHZGRYGS.mjs} +1 -1
  70. package/dist/lib/{browser/chunk-JH2UWMN2.mjs.map → neutral/chunk-JHZGRYGS.mjs.map} +2 -2
  71. package/dist/lib/{browser/chunk-FBRDXXNK.mjs → neutral/chunk-K2XBM3E3.mjs} +4 -1
  72. package/dist/lib/neutral/chunk-K2XBM3E3.mjs.map +7 -0
  73. package/dist/lib/{browser/chunk-BJAZV3HI.mjs → neutral/chunk-MCL6D42P.mjs} +51 -9
  74. package/dist/lib/neutral/chunk-MCL6D42P.mjs.map +7 -0
  75. package/dist/lib/neutral/chunk-YE46AQFY.mjs +145 -0
  76. package/dist/lib/neutral/chunk-YE46AQFY.mjs.map +7 -0
  77. package/dist/lib/{browser/close-MPL6CV3Z.mjs → neutral/close-25YK3PIO.mjs} +4 -4
  78. package/dist/lib/{browser/close-MPL6CV3Z.mjs.map → neutral/close-25YK3PIO.mjs.map} +1 -1
  79. package/dist/lib/neutral/components/index.mjs +385 -0
  80. package/dist/lib/neutral/components/index.mjs.map +7 -0
  81. package/dist/lib/neutral/containers/index.mjs +49 -0
  82. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  83. package/dist/lib/{browser/create-AE3FYWXG.mjs → neutral/create-UURJPVVA.mjs} +8 -8
  84. package/dist/lib/neutral/create-UURJPVVA.mjs.map +7 -0
  85. package/dist/lib/neutral/create-object-SUGDFO7H.mjs +101 -0
  86. package/dist/lib/neutral/create-object-SUGDFO7H.mjs.map +7 -0
  87. package/dist/lib/{browser/delete-field-G77IGW6B.mjs → neutral/delete-field-MHS7EOUL.mjs} +7 -31
  88. package/dist/lib/neutral/delete-field-MHS7EOUL.mjs.map +7 -0
  89. package/dist/lib/neutral/duplicate-object-VLQZZJVO.mjs +17 -0
  90. package/dist/lib/neutral/duplicate-object-VLQZZJVO.mjs.map +7 -0
  91. package/dist/lib/neutral/export-space-KN5JXOZP.mjs +34 -0
  92. package/dist/lib/neutral/export-space-KN5JXOZP.mjs.map +7 -0
  93. package/dist/lib/{browser/get-share-link-R745OMNC.mjs → neutral/get-share-link-CRDCEFRI.mjs} +5 -5
  94. package/dist/lib/{browser/get-share-link-R745OMNC.mjs.map → neutral/get-share-link-CRDCEFRI.mjs.map} +1 -1
  95. package/dist/lib/neutral/hooks/index.mjs +121 -0
  96. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  97. package/dist/lib/neutral/identity-created-QQQIWOQQ.mjs +32 -0
  98. package/dist/lib/neutral/identity-created-QQQIWOQQ.mjs.map +7 -0
  99. package/dist/lib/neutral/import-space-7XT5KTLD.mjs +24 -0
  100. package/dist/lib/neutral/import-space-7XT5KTLD.mjs.map +7 -0
  101. package/dist/lib/{node-esm/types → neutral}/index.mjs +21 -4
  102. package/dist/lib/{browser/join-EDCBOGMO.mjs → neutral/join-3Y5MFGBM.mjs} +5 -5
  103. package/dist/lib/{browser/join-EDCBOGMO.mjs.map → neutral/join-3Y5MFGBM.mjs.map} +1 -1
  104. package/dist/lib/neutral/meta.json +1 -0
  105. package/dist/lib/{browser → neutral}/meta.mjs +1 -1
  106. package/dist/lib/{browser/migrate-J7OVAUIM.mjs → neutral/migrate-MSZS4U27.mjs} +5 -5
  107. package/dist/lib/neutral/migrate-MSZS4U27.mjs.map +7 -0
  108. package/dist/lib/neutral/migrations-Z5O3BTVV.mjs +59 -0
  109. package/dist/lib/neutral/migrations-Z5O3BTVV.mjs.map +7 -0
  110. package/dist/lib/neutral/navigation-handler-2M57B2AX.mjs +38 -0
  111. package/dist/lib/neutral/navigation-handler-2M57B2AX.mjs.map +7 -0
  112. package/dist/lib/neutral/navigation-resolver-HM5ALHFV.mjs +70 -0
  113. package/dist/lib/neutral/navigation-resolver-HM5ALHFV.mjs.map +7 -0
  114. package/dist/lib/{browser/open-LGLVOLR3.mjs → neutral/open-WY4HLCDB.mjs} +4 -4
  115. package/dist/lib/{browser/open-LGLVOLR3.mjs.map → neutral/open-WY4HLCDB.mjs.map} +1 -1
  116. package/dist/lib/{browser/open-create-object-QQFDBDDC.mjs → neutral/open-create-object-V6G7EQON.mjs} +5 -5
  117. package/dist/lib/neutral/open-create-object-V6G7EQON.mjs.map +7 -0
  118. package/dist/lib/{browser/open-create-space-7IVA2QOK.mjs → neutral/open-create-space-QEEZSDEK.mjs} +5 -5
  119. package/dist/lib/{browser/open-create-space-7IVA2QOK.mjs.map → neutral/open-create-space-QEEZSDEK.mjs.map} +1 -1
  120. package/dist/lib/neutral/open-import-space-RLPTBZ4W.mjs +24 -0
  121. package/dist/lib/neutral/open-import-space-RLPTBZ4W.mjs.map +7 -0
  122. package/dist/lib/{browser/open-members-RF5E7PAE.mjs → neutral/open-members-2OSOYYC5.mjs} +4 -4
  123. package/dist/lib/{browser/open-members-RF5E7PAE.mjs.map → neutral/open-members-2OSOYYC5.mjs.map} +1 -1
  124. package/dist/lib/{browser/open-settings-A56XL7NJ.mjs → neutral/open-settings-KGMR7ACJ.mjs} +5 -5
  125. package/dist/lib/{browser/open-settings-A56XL7NJ.mjs.map → neutral/open-settings-KGMR7ACJ.mjs.map} +1 -1
  126. package/dist/lib/neutral/operation-handler-YPIRQOH2.mjs +13 -0
  127. package/dist/lib/neutral/operation-handler-YPIRQOH2.mjs.map +7 -0
  128. package/dist/lib/neutral/operations/index.mjs +13 -0
  129. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  130. package/dist/lib/neutral/plugin.mjs +18 -0
  131. package/dist/lib/neutral/plugin.mjs.map +7 -0
  132. package/dist/lib/neutral/react-root-2DJPZQT4.mjs +23 -0
  133. package/dist/lib/neutral/react-root-2DJPZQT4.mjs.map +7 -0
  134. package/dist/lib/neutral/react-surface-224L5H2S.mjs +374 -0
  135. package/dist/lib/neutral/react-surface-224L5H2S.mjs.map +7 -0
  136. package/dist/lib/neutral/remove-objects-EUTNONXG.mjs +51 -0
  137. package/dist/lib/neutral/remove-objects-EUTNONXG.mjs.map +7 -0
  138. package/dist/lib/{browser/rename-UOGQQJ3T.mjs → neutral/rename-IFFBCXLO.mjs} +5 -5
  139. package/dist/lib/{browser/rename-UOGQQJ3T.mjs.map → neutral/rename-IFFBCXLO.mjs.map} +1 -1
  140. package/dist/lib/{browser/rename-object-V2LDZGOE.mjs → neutral/rename-object-P7EZA2MX.mjs} +5 -5
  141. package/dist/lib/neutral/rename-object-P7EZA2MX.mjs.map +7 -0
  142. package/dist/lib/neutral/repair-RXOGKEAC.mjs +29 -0
  143. package/dist/lib/neutral/repair-RXOGKEAC.mjs.map +7 -0
  144. package/dist/lib/{browser/restore-field-TQJP2YJI.mjs → neutral/restore-field-TEQHRD3S.mjs} +7 -31
  145. package/dist/lib/neutral/restore-field-TEQHRD3S.mjs.map +7 -0
  146. package/dist/lib/{browser/restore-objects-23VJYK72.mjs → neutral/restore-objects-73C5MEB2.mjs} +9 -26
  147. package/dist/lib/neutral/restore-objects-73C5MEB2.mjs.map +7 -0
  148. package/dist/lib/neutral/settings-DUCCRYX7.mjs +30 -0
  149. package/dist/lib/neutral/settings-DUCCRYX7.mjs.map +7 -0
  150. package/dist/lib/{browser/share-2PZJXFJM.mjs → neutral/share-FSYFMNIQ.mjs} +5 -5
  151. package/dist/lib/{browser/share-2PZJXFJM.mjs.map → neutral/share-FSYFMNIQ.mjs.map} +1 -1
  152. package/dist/lib/{browser/snapshot-OOA2JZ67.mjs → neutral/snapshot-HCSBDOOE.mjs} +5 -13
  153. package/dist/lib/neutral/snapshot-HCSBDOOE.mjs.map +7 -0
  154. package/dist/lib/neutral/spaces-ready-QU2YUZTO.mjs +248 -0
  155. package/dist/lib/neutral/spaces-ready-QU2YUZTO.mjs.map +7 -0
  156. package/dist/lib/neutral/state-DPBOZRAW.mjs +55 -0
  157. package/dist/lib/neutral/state-DPBOZRAW.mjs.map +7 -0
  158. package/dist/lib/neutral/testing.mjs +8 -0
  159. package/dist/lib/neutral/testing.mjs.map +7 -0
  160. package/dist/lib/neutral/translations.mjs +300 -0
  161. package/dist/lib/neutral/translations.mjs.map +7 -0
  162. package/dist/lib/{browser → neutral}/types/index.mjs +3 -1
  163. package/dist/lib/neutral/types/index.mjs.map +7 -0
  164. package/dist/lib/neutral/undo-mappings-5QJNDMH4.mjs +65 -0
  165. package/dist/lib/neutral/undo-mappings-5QJNDMH4.mjs.map +7 -0
  166. package/dist/lib/{browser/wait-for-object-2XLXLCNS.mjs → neutral/wait-for-object-6CVEJRDV.mjs} +4 -4
  167. package/dist/lib/{browser/wait-for-object-2XLXLCNS.mjs.map → neutral/wait-for-object-6CVEJRDV.mjs.map} +1 -1
  168. package/dist/types/src/SpacePlugin.d.ts +1 -0
  169. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  170. package/dist/types/src/{cli/plugin.d.ts → SpacePlugin.node.d.ts} +2 -1
  171. package/dist/types/src/SpacePlugin.node.d.ts.map +1 -0
  172. package/dist/types/src/SpacePlugin.test.d.ts +2 -0
  173. package/dist/types/src/SpacePlugin.test.d.ts.map +1 -0
  174. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -1
  175. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts +28 -4
  176. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts.map +1 -1
  177. package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts.map +1 -1
  178. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts +10 -2
  179. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts.map +1 -1
  180. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts +5 -6
  181. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts.map +1 -1
  182. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts +21 -3
  183. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts.map +1 -1
  184. package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts +35 -5
  185. package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts.map +1 -1
  186. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +1 -1
  187. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -1
  188. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  189. package/dist/types/src/capabilities/create-object.d.ts +37 -0
  190. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  191. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
  192. package/dist/types/src/capabilities/index.d.ts +32 -1
  193. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  194. package/dist/types/src/capabilities/migrations.d.ts +2 -1
  195. package/dist/types/src/capabilities/migrations.d.ts.map +1 -1
  196. package/dist/types/src/capabilities/navigation-handler/navigation-handler.d.ts.map +1 -1
  197. package/dist/types/src/capabilities/navigation-resolver.d.ts.map +1 -1
  198. package/dist/types/src/capabilities/node.d.ts +32 -1
  199. package/dist/types/src/capabilities/node.d.ts.map +1 -1
  200. package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
  201. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -1
  202. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  203. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  204. package/dist/types/src/capabilities/repair.d.ts.map +1 -1
  205. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  206. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  207. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  208. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -1
  209. package/dist/types/src/commands/database/add.d.ts +10 -0
  210. package/dist/types/src/commands/database/add.d.ts.map +1 -0
  211. package/dist/types/src/commands/database/index.d.ts.map +1 -0
  212. package/dist/types/src/commands/database/query/index.d.ts.map +1 -0
  213. package/dist/types/src/{cli/commands → commands}/database/query/query.d.ts +2 -2
  214. package/dist/types/src/commands/database/query/query.d.ts.map +1 -0
  215. package/dist/types/src/commands/database/query/query.test.d.ts.map +1 -0
  216. package/dist/types/src/{cli/commands → commands}/database/remove.d.ts +1 -1
  217. package/dist/types/src/commands/database/remove.d.ts.map +1 -0
  218. package/dist/types/src/{cli/commands → commands}/database/stats.d.ts +1 -1
  219. package/dist/types/src/commands/database/stats.d.ts.map +1 -0
  220. package/dist/types/src/commands/database/util.d.ts.map +1 -0
  221. package/dist/types/src/commands/index.d.ts.map +1 -0
  222. package/dist/types/src/{cli/commands → commands}/queue/index.d.ts +1 -1
  223. package/dist/types/src/commands/queue/index.d.ts.map +1 -0
  224. package/dist/types/src/{cli/commands → commands}/queue/query.d.ts +1 -1
  225. package/dist/types/src/commands/queue/query.d.ts.map +1 -0
  226. package/dist/types/src/commands/queue/util.d.ts.map +1 -0
  227. package/dist/types/src/commands/space/close/close.d.ts +12 -0
  228. package/dist/types/src/commands/space/close/close.d.ts.map +1 -0
  229. package/dist/types/src/commands/space/close/index.d.ts.map +1 -0
  230. package/dist/types/src/{cli/commands → commands}/space/create/create.d.ts +2 -2
  231. package/dist/types/src/commands/space/create/create.d.ts.map +1 -0
  232. package/dist/types/src/commands/space/create/create.test.d.ts.map +1 -0
  233. package/dist/types/src/commands/space/create/index.d.ts.map +1 -0
  234. package/dist/types/src/{cli/commands → commands}/space/index.d.ts +13 -13
  235. package/dist/types/src/commands/space/index.d.ts.map +1 -0
  236. package/dist/types/src/commands/space/info/index.d.ts.map +1 -0
  237. package/dist/types/src/{cli/commands → commands}/space/info/info.d.ts +2 -2
  238. package/dist/types/src/commands/space/info/info.d.ts.map +1 -0
  239. package/dist/types/src/commands/space/info/info.test.d.ts.map +1 -0
  240. package/dist/types/src/commands/space/join/index.d.ts.map +1 -0
  241. package/dist/types/src/{cli/commands → commands}/space/join/join.d.ts +2 -2
  242. package/dist/types/src/commands/space/join/join.d.ts.map +1 -0
  243. package/dist/types/src/commands/space/join/util.d.ts.map +1 -0
  244. package/dist/types/src/commands/space/list/index.d.ts.map +1 -0
  245. package/dist/types/src/{cli/commands → commands}/space/list/list.d.ts +2 -2
  246. package/dist/types/src/commands/space/list/list.d.ts.map +1 -0
  247. package/dist/types/src/commands/space/list/list.test.d.ts.map +1 -0
  248. package/dist/types/src/commands/space/members/index.d.ts.map +1 -0
  249. package/dist/types/src/{cli/commands → commands}/space/members/members.d.ts +2 -2
  250. package/dist/types/src/commands/space/members/members.d.ts.map +1 -0
  251. package/dist/types/src/commands/space/members/members.test.d.ts.map +1 -0
  252. package/dist/types/src/commands/space/members/util.d.ts.map +1 -0
  253. package/dist/types/src/commands/space/open/index.d.ts.map +1 -0
  254. package/dist/types/src/commands/space/open/open.d.ts +12 -0
  255. package/dist/types/src/commands/space/open/open.d.ts.map +1 -0
  256. package/dist/types/src/{cli/commands → commands}/space/schema/index.d.ts +1 -1
  257. package/dist/types/src/commands/space/schema/index.d.ts.map +1 -0
  258. package/dist/types/src/commands/space/schema/list/index.d.ts.map +1 -0
  259. package/dist/types/src/{cli/commands → commands}/space/schema/list/list.d.ts +2 -2
  260. package/dist/types/src/commands/space/schema/list/list.d.ts.map +1 -0
  261. package/dist/types/src/commands/space/schema/list/list.test.d.ts.map +1 -0
  262. package/dist/types/src/commands/space/schema/list/util.d.ts.map +1 -0
  263. package/dist/types/src/commands/space/share/index.d.ts.map +1 -0
  264. package/dist/types/src/{cli/commands → commands}/space/share/share.d.ts +2 -2
  265. package/dist/types/src/commands/space/share/share.d.ts.map +1 -0
  266. package/dist/types/src/commands/space/sync/index.d.ts.map +1 -0
  267. package/dist/types/src/commands/space/sync/sync.d.ts.map +1 -0
  268. package/dist/types/src/commands/space/sync/sync.test.d.ts.map +1 -0
  269. package/dist/types/src/components/AwaitingObject/AwaitingObject.d.ts.map +1 -1
  270. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +9 -14
  271. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  272. package/dist/types/src/components/ForeignKeys/ForeignKeys.d.ts.map +1 -1
  273. package/dist/types/src/components/SpaceSettings/SpaceSettings.d.ts.map +1 -1
  274. package/dist/types/src/components/SpaceSettings/SpaceSettings.stories.d.ts +500 -248
  275. package/dist/types/src/components/SpaceSettings/SpaceSettings.stories.d.ts.map +1 -1
  276. package/dist/types/src/components/SyncStatus/save-tracker.d.ts +1 -1
  277. package/dist/types/src/components/SyncStatus/save-tracker.d.ts.map +1 -1
  278. package/dist/types/src/components/SyncStatus/status.d.ts +1 -1
  279. package/dist/types/src/components/SyncStatus/status.d.ts.map +1 -1
  280. package/dist/types/src/constants.d.ts +1 -0
  281. package/dist/types/src/constants.d.ts.map +1 -1
  282. package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts.map +1 -1
  283. package/dist/types/src/containers/CollectionSection/CollectionSection.d.ts.map +1 -1
  284. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts.map +1 -1
  285. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.stories.d.ts +500 -248
  286. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  287. package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.stories.d.ts +500 -248
  288. package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.stories.d.ts.map +1 -1
  289. package/dist/types/src/containers/ImportSpaceDialog/ImportSpaceDialog.d.ts +3 -0
  290. package/dist/types/src/containers/ImportSpaceDialog/ImportSpaceDialog.d.ts.map +1 -0
  291. package/dist/types/src/containers/ImportSpaceDialog/index.d.ts +2 -0
  292. package/dist/types/src/containers/ImportSpaceDialog/index.d.ts.map +1 -0
  293. package/dist/types/src/containers/InlineSyncStatus/InlineSyncStatus.d.ts.map +1 -1
  294. package/dist/types/src/containers/JoinDialog/JoinDialog.d.ts.map +1 -1
  295. package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts +500 -248
  296. package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts.map +1 -1
  297. package/dist/types/src/containers/MembersContainer/MembersContainer.d.ts.map +1 -1
  298. package/dist/types/src/containers/MenuFooter/MenuFooter.d.ts.map +1 -1
  299. package/dist/types/src/containers/ObjectCardStack/ObjectCardStack.d.ts.map +1 -1
  300. package/dist/types/src/containers/ObjectProperties/ObjectProperties.d.ts +1 -1
  301. package/dist/types/src/containers/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -1
  302. package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts.map +1 -1
  303. package/dist/types/src/containers/RecordArticle/RecordArticle.stories.d.ts.map +1 -1
  304. package/dist/types/src/containers/RelatedArticle/RelatedArticle.d.ts.map +1 -1
  305. package/dist/types/src/containers/SchemaContainer/SchemaContainer.d.ts.map +1 -1
  306. package/dist/types/src/containers/SpacePresence/SpacePresence.d.ts.map +1 -1
  307. package/dist/types/src/containers/SpacePresence/SpacePresence.stories.d.ts +500 -248
  308. package/dist/types/src/containers/SpacePresence/SpacePresence.stories.d.ts.map +1 -1
  309. package/dist/types/src/containers/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -1
  310. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts +4 -4
  311. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts.map +1 -1
  312. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.d.ts +500 -248
  313. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.d.ts.map +1 -1
  314. package/dist/types/src/containers/SyncStatus/SyncStatus.d.ts.map +1 -1
  315. package/dist/types/src/containers/SyncStatus/SyncStatus.stories.d.ts +500 -248
  316. package/dist/types/src/containers/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  317. package/dist/types/src/containers/ViewEditor/ViewEditor.d.ts.map +1 -1
  318. package/dist/types/src/containers/index.d.ts +1 -0
  319. package/dist/types/src/containers/index.d.ts.map +1 -1
  320. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  321. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  322. package/dist/types/src/hooks/useRelatedObjects.d.ts.map +1 -1
  323. package/dist/types/src/index.d.ts +2 -3
  324. package/dist/types/src/index.d.ts.map +1 -1
  325. package/dist/types/src/meta.d.ts.map +1 -1
  326. package/dist/types/src/operations/add-object.d.ts +1 -1
  327. package/dist/types/src/operations/add-object.d.ts.map +1 -1
  328. package/dist/types/src/operations/add-relation.d.ts +1 -1
  329. package/dist/types/src/operations/add-relation.d.ts.map +1 -1
  330. package/dist/types/src/operations/add-schema.d.ts +1 -1
  331. package/dist/types/src/operations/add-schema.d.ts.map +1 -1
  332. package/dist/types/src/operations/close.d.ts +1 -1
  333. package/dist/types/src/operations/close.d.ts.map +1 -1
  334. package/dist/types/src/operations/create.d.ts +1 -1
  335. package/dist/types/src/operations/create.d.ts.map +1 -1
  336. package/dist/types/src/operations/definitions.d.ts +29 -18
  337. package/dist/types/src/operations/definitions.d.ts.map +1 -1
  338. package/dist/types/src/operations/delete-field.d.ts +1 -1
  339. package/dist/types/src/operations/delete-field.d.ts.map +1 -1
  340. package/dist/types/src/operations/duplicate-object.d.ts +1 -1
  341. package/dist/types/src/operations/duplicate-object.d.ts.map +1 -1
  342. package/dist/types/src/operations/export-space.d.ts +5 -0
  343. package/dist/types/src/operations/export-space.d.ts.map +1 -0
  344. package/dist/types/src/operations/get-share-link.d.ts +1 -1
  345. package/dist/types/src/operations/get-share-link.d.ts.map +1 -1
  346. package/dist/types/src/operations/import-space.d.ts +5 -0
  347. package/dist/types/src/operations/import-space.d.ts.map +1 -0
  348. package/dist/types/src/operations/index.d.ts +1 -1
  349. package/dist/types/src/operations/index.d.ts.map +1 -1
  350. package/dist/types/src/operations/join.d.ts +1 -1
  351. package/dist/types/src/operations/join.d.ts.map +1 -1
  352. package/dist/types/src/operations/migrate.d.ts +1 -1
  353. package/dist/types/src/operations/migrate.d.ts.map +1 -1
  354. package/dist/types/src/operations/open-create-object.d.ts +1 -1
  355. package/dist/types/src/operations/open-create-object.d.ts.map +1 -1
  356. package/dist/types/src/operations/open-create-space.d.ts +1 -1
  357. package/dist/types/src/operations/open-create-space.d.ts.map +1 -1
  358. package/dist/types/src/operations/open-import-space.d.ts +5 -0
  359. package/dist/types/src/operations/open-import-space.d.ts.map +1 -0
  360. package/dist/types/src/operations/open-members.d.ts +1 -1
  361. package/dist/types/src/operations/open-members.d.ts.map +1 -1
  362. package/dist/types/src/operations/open-settings.d.ts +1 -1
  363. package/dist/types/src/operations/open-settings.d.ts.map +1 -1
  364. package/dist/types/src/operations/open.d.ts +1 -1
  365. package/dist/types/src/operations/open.d.ts.map +1 -1
  366. package/dist/types/src/operations/remove-objects.d.ts +1 -1
  367. package/dist/types/src/operations/remove-objects.d.ts.map +1 -1
  368. package/dist/types/src/operations/rename-object.d.ts +1 -1
  369. package/dist/types/src/operations/rename-object.d.ts.map +1 -1
  370. package/dist/types/src/operations/rename.d.ts +1 -1
  371. package/dist/types/src/operations/rename.d.ts.map +1 -1
  372. package/dist/types/src/operations/restore-field.d.ts +1 -1
  373. package/dist/types/src/operations/restore-field.d.ts.map +1 -1
  374. package/dist/types/src/operations/restore-objects.d.ts +1 -1
  375. package/dist/types/src/operations/restore-objects.d.ts.map +1 -1
  376. package/dist/types/src/operations/share.d.ts +1 -1
  377. package/dist/types/src/operations/share.d.ts.map +1 -1
  378. package/dist/types/src/operations/snapshot.d.ts +1 -1
  379. package/dist/types/src/operations/snapshot.d.ts.map +1 -1
  380. package/dist/types/src/operations/wait-for-object.d.ts +1 -1
  381. package/dist/types/src/operations/wait-for-object.d.ts.map +1 -1
  382. package/dist/types/src/plugin.d.ts +4 -0
  383. package/dist/types/src/plugin.d.ts.map +1 -0
  384. package/dist/types/src/testing.d.ts +2 -0
  385. package/dist/types/src/testing.d.ts.map +1 -0
  386. package/dist/types/src/translations.d.ts +500 -248
  387. package/dist/types/src/translations.d.ts.map +1 -1
  388. package/dist/types/src/types/capabilities.d.ts +34 -5
  389. package/dist/types/src/types/capabilities.d.ts.map +1 -1
  390. package/dist/types/src/types/events.d.ts.map +1 -1
  391. package/dist/types/src/types/types.d.ts +4 -3
  392. package/dist/types/src/types/types.d.ts.map +1 -1
  393. package/dist/types/src/util.d.ts +1 -6
  394. package/dist/types/src/util.d.ts.map +1 -1
  395. package/dist/types/tsconfig.tsbuildinfo +1 -1
  396. package/package.json +122 -94
  397. package/src/{cli/plugin.ts → SpacePlugin.node.ts} +6 -26
  398. package/src/SpacePlugin.test.ts +33 -0
  399. package/src/SpacePlugin.ts +18 -117
  400. package/src/capabilities/app-graph-builder/app-graph-builder.ts +1 -1
  401. package/src/capabilities/app-graph-builder/extensions/collections.ts +21 -25
  402. package/src/capabilities/app-graph-builder/extensions/companions.ts +5 -5
  403. package/src/capabilities/app-graph-builder/extensions/settings.ts +45 -21
  404. package/src/capabilities/app-graph-builder/extensions/shared.test.ts +2 -2
  405. package/src/capabilities/app-graph-builder/extensions/shared.ts +33 -15
  406. package/src/capabilities/app-graph-builder/extensions/spaces.ts +45 -20
  407. package/src/capabilities/app-graph-builder/extensions/types.ts +39 -39
  408. package/src/capabilities/app-graph-serializer.ts +2 -3
  409. package/src/capabilities/create-object.ts +107 -0
  410. package/src/capabilities/identity-created.ts +3 -4
  411. package/src/capabilities/index.ts +2 -1
  412. package/src/capabilities/migrations.ts +8 -8
  413. package/src/capabilities/navigation-handler/navigation-handler.ts +1 -1
  414. package/src/capabilities/navigation-resolver.ts +2 -2
  415. package/src/capabilities/node.ts +2 -1
  416. package/src/capabilities/operation-handler.ts +1 -1
  417. package/src/capabilities/react-surface.tsx +68 -39
  418. package/src/capabilities/repair.ts +1 -1
  419. package/src/capabilities/spaces-ready.ts +4 -3
  420. package/src/capabilities/state.ts +1 -1
  421. package/src/capabilities/undo-mappings.ts +0 -1
  422. package/src/{cli/commands → commands}/database/add.ts +13 -18
  423. package/src/{cli/commands → commands}/database/stats.ts +1 -2
  424. package/src/{cli/commands → commands}/queue/query.ts +14 -5
  425. package/src/{cli/commands → commands}/space/create/create.ts +1 -1
  426. package/src/{cli/commands → commands}/space/list/list.test.ts +1 -1
  427. package/src/components/AwaitingObject/AwaitingObject.tsx +2 -2
  428. package/src/components/CreateDialog/CreateObjectPanel.tsx +19 -13
  429. package/src/components/SpaceSettings/SpaceSettings.stories.tsx +2 -1
  430. package/src/components/SyncStatus/save-tracker.ts +2 -1
  431. package/src/constants.ts +1 -0
  432. package/src/containers/CollectionArticle/CollectionArticle.tsx +12 -27
  433. package/src/containers/CreateObjectDialog/CreateObjectDialog.stories.tsx +2 -3
  434. package/src/containers/CreateObjectDialog/CreateObjectDialog.tsx +22 -22
  435. package/src/containers/CreateSpaceDialog/CreateSpaceDialog.stories.tsx +3 -2
  436. package/src/containers/ImportSpaceDialog/ImportSpaceDialog.tsx +62 -0
  437. package/src/containers/ImportSpaceDialog/index.ts +5 -0
  438. package/src/containers/JoinDialog/JoinDialog.stories.tsx +3 -2
  439. package/src/containers/JoinDialog/JoinDialog.tsx +1 -1
  440. package/src/containers/MembersContainer/MembersContainer.tsx +1 -1
  441. package/src/containers/ObjectCardStack/ObjectCardStack.tsx +2 -3
  442. package/src/containers/ObjectRenamePopover/ObjectRenamePopover.tsx +3 -3
  443. package/src/containers/RecordArticle/RecordArticle.stories.tsx +6 -4
  444. package/src/containers/RecordArticle/RecordArticle.tsx +1 -1
  445. package/src/containers/SchemaContainer/SchemaContainer.tsx +1 -4
  446. package/src/containers/SpacePresence/SpacePresence.stories.tsx +2 -1
  447. package/src/containers/SpaceRenamePopover/SpaceRenamePopover.tsx +3 -3
  448. package/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.tsx +2 -1
  449. package/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.tsx +6 -18
  450. package/src/containers/SyncStatus/SyncStatus.stories.tsx +2 -1
  451. package/src/containers/SyncStatus/SyncStatus.tsx +1 -1
  452. package/src/containers/ViewEditor/ViewEditor.tsx +16 -17
  453. package/src/containers/index.ts +1 -0
  454. package/src/hooks/useInputSurfaceLookup.tsx +9 -2
  455. package/src/index.ts +2 -4
  456. package/src/meta.ts +1 -0
  457. package/src/operations/add-object.ts +7 -9
  458. package/src/operations/add-relation.ts +1 -1
  459. package/src/operations/add-schema.ts +3 -3
  460. package/src/operations/close.ts +1 -1
  461. package/src/operations/create.ts +4 -4
  462. package/src/operations/definitions.ts +45 -7
  463. package/src/operations/delete-field.ts +1 -1
  464. package/src/operations/duplicate-object.ts +4 -17
  465. package/src/operations/export-space.ts +30 -0
  466. package/src/operations/get-share-link.ts +1 -1
  467. package/src/operations/import-space.ts +21 -0
  468. package/src/operations/index.ts +4 -1
  469. package/src/operations/join.ts +1 -1
  470. package/src/operations/migrate.ts +2 -2
  471. package/src/operations/open-create-object.ts +1 -1
  472. package/src/operations/open-create-space.ts +1 -1
  473. package/src/operations/open-import-space.ts +21 -0
  474. package/src/operations/open-members.ts +1 -1
  475. package/src/operations/open-settings.ts +2 -2
  476. package/src/operations/open.ts +1 -1
  477. package/src/operations/remove-objects.ts +5 -29
  478. package/src/operations/rename-object.ts +1 -1
  479. package/src/operations/rename.ts +1 -1
  480. package/src/operations/restore-field.ts +1 -1
  481. package/src/operations/restore-objects.ts +6 -16
  482. package/src/operations/share.ts +2 -2
  483. package/src/operations/snapshot.ts +1 -1
  484. package/src/operations/wait-for-object.ts +1 -1
  485. package/src/plugin.ts +11 -0
  486. package/src/testing.ts +7 -0
  487. package/src/translations.ts +27 -10
  488. package/src/types/capabilities.ts +26 -5
  489. package/src/types/types.ts +5 -3
  490. package/src/util.ts +1 -44
  491. package/dist/lib/browser/add-object-XUA4QRWE.mjs.map +0 -7
  492. package/dist/lib/browser/add-relation-YNTOBNYM.mjs.map +0 -7
  493. package/dist/lib/browser/add-schema-Q5X2SAX4.mjs.map +0 -7
  494. package/dist/lib/browser/chunk-BJAZV3HI.mjs.map +0 -7
  495. package/dist/lib/browser/chunk-FBRDXXNK.mjs.map +0 -7
  496. package/dist/lib/browser/chunk-VV4C4APQ.mjs.map +0 -7
  497. package/dist/lib/browser/chunk-YSV6LKD6.mjs +0 -71
  498. package/dist/lib/browser/chunk-YSV6LKD6.mjs.map +0 -7
  499. package/dist/lib/browser/cli/index.mjs.map +0 -7
  500. package/dist/lib/browser/create-AE3FYWXG.mjs.map +0 -7
  501. package/dist/lib/browser/delete-field-G77IGW6B.mjs.map +0 -7
  502. package/dist/lib/browser/duplicate-object-B3Q64ELR.mjs +0 -42
  503. package/dist/lib/browser/duplicate-object-B3Q64ELR.mjs.map +0 -7
  504. package/dist/lib/browser/index.mjs +0 -913
  505. package/dist/lib/browser/index.mjs.map +0 -7
  506. package/dist/lib/browser/meta.json +0 -1
  507. package/dist/lib/browser/migrate-J7OVAUIM.mjs.map +0 -7
  508. package/dist/lib/browser/open-create-object-QQFDBDDC.mjs.map +0 -7
  509. package/dist/lib/browser/operations/index.mjs +0 -14
  510. package/dist/lib/browser/operations/index.mjs.map +0 -7
  511. package/dist/lib/browser/remove-objects-5JFRQRGL.mjs +0 -79
  512. package/dist/lib/browser/remove-objects-5JFRQRGL.mjs.map +0 -7
  513. package/dist/lib/browser/rename-object-V2LDZGOE.mjs.map +0 -7
  514. package/dist/lib/browser/restore-field-TQJP2YJI.mjs.map +0 -7
  515. package/dist/lib/browser/restore-objects-23VJYK72.mjs.map +0 -7
  516. package/dist/lib/browser/snapshot-OOA2JZ67.mjs.map +0 -7
  517. package/dist/lib/node-esm/SpaceSettings-YW75BDWT.mjs +0 -48
  518. package/dist/lib/node-esm/SpaceSettings-YW75BDWT.mjs.map +0 -7
  519. package/dist/lib/node-esm/add-object-OULSB2DR.mjs +0 -87
  520. package/dist/lib/node-esm/add-object-OULSB2DR.mjs.map +0 -7
  521. package/dist/lib/node-esm/add-relation-K6EZYWKL.mjs +0 -27
  522. package/dist/lib/node-esm/add-relation-K6EZYWKL.mjs.map +0 -7
  523. package/dist/lib/node-esm/add-schema-4GSWOILA.mjs +0 -61
  524. package/dist/lib/node-esm/add-schema-4GSWOILA.mjs.map +0 -7
  525. package/dist/lib/node-esm/chunk-64AL4GHY.mjs +0 -18
  526. package/dist/lib/node-esm/chunk-64AL4GHY.mjs.map +0 -7
  527. package/dist/lib/node-esm/chunk-7Z5ON2QQ.mjs +0 -99
  528. package/dist/lib/node-esm/chunk-7Z5ON2QQ.mjs.map +0 -7
  529. package/dist/lib/node-esm/chunk-GTF56ZOK.mjs +0 -10
  530. package/dist/lib/node-esm/chunk-GTF56ZOK.mjs.map +0 -7
  531. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  532. package/dist/lib/node-esm/chunk-IHOQPYNT.mjs +0 -73
  533. package/dist/lib/node-esm/chunk-IHOQPYNT.mjs.map +0 -7
  534. package/dist/lib/node-esm/chunk-IYW6CXLN.mjs +0 -18
  535. package/dist/lib/node-esm/chunk-IYW6CXLN.mjs.map +0 -7
  536. package/dist/lib/node-esm/chunk-TZTVDLGM.mjs +0 -490
  537. package/dist/lib/node-esm/chunk-TZTVDLGM.mjs.map +0 -7
  538. package/dist/lib/node-esm/cli/index.mjs +0 -861
  539. package/dist/lib/node-esm/cli/index.mjs.map +0 -7
  540. package/dist/lib/node-esm/close-JSUMHN7R.mjs +0 -18
  541. package/dist/lib/node-esm/close-JSUMHN7R.mjs.map +0 -7
  542. package/dist/lib/node-esm/create-BRA5OQHY.mjs +0 -75
  543. package/dist/lib/node-esm/create-BRA5OQHY.mjs.map +0 -7
  544. package/dist/lib/node-esm/delete-field-UNKELUX7.mjs +0 -68
  545. package/dist/lib/node-esm/delete-field-UNKELUX7.mjs.map +0 -7
  546. package/dist/lib/node-esm/duplicate-object-QDZHK24D.mjs +0 -43
  547. package/dist/lib/node-esm/duplicate-object-QDZHK24D.mjs.map +0 -7
  548. package/dist/lib/node-esm/get-share-link-XLBJHWDY.mjs +0 -42
  549. package/dist/lib/node-esm/get-share-link-XLBJHWDY.mjs.map +0 -7
  550. package/dist/lib/node-esm/index.mjs +0 -914
  551. package/dist/lib/node-esm/index.mjs.map +0 -7
  552. package/dist/lib/node-esm/join-RGM74NMA.mjs +0 -29
  553. package/dist/lib/node-esm/join-RGM74NMA.mjs.map +0 -7
  554. package/dist/lib/node-esm/meta.json +0 -1
  555. package/dist/lib/node-esm/meta.mjs +0 -9
  556. package/dist/lib/node-esm/migrate-NXBHBCFU.mjs +0 -51
  557. package/dist/lib/node-esm/migrate-NXBHBCFU.mjs.map +0 -7
  558. package/dist/lib/node-esm/open-ZUK63Z2F.mjs +0 -18
  559. package/dist/lib/node-esm/open-ZUK63Z2F.mjs.map +0 -7
  560. package/dist/lib/node-esm/open-create-object-CMNXPKSF.mjs +0 -43
  561. package/dist/lib/node-esm/open-create-object-CMNXPKSF.mjs.map +0 -7
  562. package/dist/lib/node-esm/open-create-space-W6DDCTCA.mjs +0 -25
  563. package/dist/lib/node-esm/open-create-space-W6DDCTCA.mjs.map +0 -7
  564. package/dist/lib/node-esm/open-members-BUANVOZL.mjs +0 -24
  565. package/dist/lib/node-esm/open-members-BUANVOZL.mjs.map +0 -7
  566. package/dist/lib/node-esm/open-settings-U2SJX5EW.mjs +0 -24
  567. package/dist/lib/node-esm/open-settings-U2SJX5EW.mjs.map +0 -7
  568. package/dist/lib/node-esm/operations/index.mjs +0 -15
  569. package/dist/lib/node-esm/operations/index.mjs.map +0 -7
  570. package/dist/lib/node-esm/remove-objects-KTAS3FB3.mjs +0 -80
  571. package/dist/lib/node-esm/remove-objects-KTAS3FB3.mjs.map +0 -7
  572. package/dist/lib/node-esm/rename-F5GAS22G.mjs +0 -26
  573. package/dist/lib/node-esm/rename-F5GAS22G.mjs.map +0 -7
  574. package/dist/lib/node-esm/rename-object-D2AVOXBO.mjs +0 -27
  575. package/dist/lib/node-esm/rename-object-D2AVOXBO.mjs.map +0 -7
  576. package/dist/lib/node-esm/restore-field-O7T4WCMB.mjs +0 -66
  577. package/dist/lib/node-esm/restore-field-O7T4WCMB.mjs.map +0 -7
  578. package/dist/lib/node-esm/restore-objects-IRKTUGP2.mjs +0 -57
  579. package/dist/lib/node-esm/restore-objects-IRKTUGP2.mjs.map +0 -7
  580. package/dist/lib/node-esm/share-5CZU3XKX.mjs +0 -32
  581. package/dist/lib/node-esm/share-5CZU3XKX.mjs.map +0 -7
  582. package/dist/lib/node-esm/snapshot-H3SRUIPR.mjs +0 -39
  583. package/dist/lib/node-esm/snapshot-H3SRUIPR.mjs.map +0 -7
  584. package/dist/lib/node-esm/wait-for-object-G2HJINN3.mjs +0 -24
  585. package/dist/lib/node-esm/wait-for-object-G2HJINN3.mjs.map +0 -7
  586. package/dist/types/src/cli/commands/database/add.d.ts +0 -16
  587. package/dist/types/src/cli/commands/database/add.d.ts.map +0 -1
  588. package/dist/types/src/cli/commands/database/index.d.ts.map +0 -1
  589. package/dist/types/src/cli/commands/database/query/index.d.ts.map +0 -1
  590. package/dist/types/src/cli/commands/database/query/query.d.ts.map +0 -1
  591. package/dist/types/src/cli/commands/database/query/query.test.d.ts.map +0 -1
  592. package/dist/types/src/cli/commands/database/remove.d.ts.map +0 -1
  593. package/dist/types/src/cli/commands/database/stats.d.ts.map +0 -1
  594. package/dist/types/src/cli/commands/database/util.d.ts.map +0 -1
  595. package/dist/types/src/cli/commands/index.d.ts.map +0 -1
  596. package/dist/types/src/cli/commands/queue/index.d.ts.map +0 -1
  597. package/dist/types/src/cli/commands/queue/query.d.ts.map +0 -1
  598. package/dist/types/src/cli/commands/queue/util.d.ts.map +0 -1
  599. package/dist/types/src/cli/commands/space/close/close.d.ts +0 -12
  600. package/dist/types/src/cli/commands/space/close/close.d.ts.map +0 -1
  601. package/dist/types/src/cli/commands/space/close/index.d.ts.map +0 -1
  602. package/dist/types/src/cli/commands/space/create/create.d.ts.map +0 -1
  603. package/dist/types/src/cli/commands/space/create/create.test.d.ts.map +0 -1
  604. package/dist/types/src/cli/commands/space/create/index.d.ts.map +0 -1
  605. package/dist/types/src/cli/commands/space/index.d.ts.map +0 -1
  606. package/dist/types/src/cli/commands/space/info/index.d.ts.map +0 -1
  607. package/dist/types/src/cli/commands/space/info/info.d.ts.map +0 -1
  608. package/dist/types/src/cli/commands/space/info/info.test.d.ts.map +0 -1
  609. package/dist/types/src/cli/commands/space/join/index.d.ts.map +0 -1
  610. package/dist/types/src/cli/commands/space/join/join.d.ts.map +0 -1
  611. package/dist/types/src/cli/commands/space/join/util.d.ts.map +0 -1
  612. package/dist/types/src/cli/commands/space/list/index.d.ts.map +0 -1
  613. package/dist/types/src/cli/commands/space/list/list.d.ts.map +0 -1
  614. package/dist/types/src/cli/commands/space/list/list.test.d.ts.map +0 -1
  615. package/dist/types/src/cli/commands/space/members/index.d.ts.map +0 -1
  616. package/dist/types/src/cli/commands/space/members/members.d.ts.map +0 -1
  617. package/dist/types/src/cli/commands/space/members/members.test.d.ts.map +0 -1
  618. package/dist/types/src/cli/commands/space/members/util.d.ts.map +0 -1
  619. package/dist/types/src/cli/commands/space/open/index.d.ts.map +0 -1
  620. package/dist/types/src/cli/commands/space/open/open.d.ts +0 -12
  621. package/dist/types/src/cli/commands/space/open/open.d.ts.map +0 -1
  622. package/dist/types/src/cli/commands/space/schema/index.d.ts.map +0 -1
  623. package/dist/types/src/cli/commands/space/schema/list/index.d.ts.map +0 -1
  624. package/dist/types/src/cli/commands/space/schema/list/list.d.ts.map +0 -1
  625. package/dist/types/src/cli/commands/space/schema/list/list.test.d.ts.map +0 -1
  626. package/dist/types/src/cli/commands/space/schema/list/util.d.ts.map +0 -1
  627. package/dist/types/src/cli/commands/space/share/index.d.ts.map +0 -1
  628. package/dist/types/src/cli/commands/space/share/share.d.ts.map +0 -1
  629. package/dist/types/src/cli/commands/space/sync/index.d.ts.map +0 -1
  630. package/dist/types/src/cli/commands/space/sync/sync.d.ts.map +0 -1
  631. package/dist/types/src/cli/commands/space/sync/sync.test.d.ts.map +0 -1
  632. package/dist/types/src/cli/index.d.ts +0 -2
  633. package/dist/types/src/cli/index.d.ts.map +0 -1
  634. package/dist/types/src/cli/plugin.d.ts.map +0 -1
  635. package/src/cli/index.ts +0 -5
  636. /package/dist/lib/{browser/chunk-J5LGTIGS.mjs.map → neutral/SmallPresenceLive-2W5ZUDCF.mjs.map} +0 -0
  637. /package/dist/lib/{browser/meta.mjs.map → neutral/SpacePlugin.mjs.map} +0 -0
  638. /package/dist/lib/{browser/types/index.mjs.map → neutral/SpacePresence-PTTGZYZ6.mjs.map} +0 -0
  639. /package/dist/lib/{browser/SpaceSettings-TR2IMHOL.mjs.map → neutral/SpaceSettings-JBE266M2.mjs.map} +0 -0
  640. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
  641. /package/dist/lib/{node-esm/chunk-HSLMI22Q.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  642. /package/dist/lib/{node-esm/types → neutral}/index.mjs.map +0 -0
  643. /package/dist/lib/{node-esm → neutral}/meta.mjs.map +0 -0
  644. /package/dist/types/src/{cli/commands → commands}/database/index.d.ts +0 -0
  645. /package/dist/types/src/{cli/commands → commands}/database/query/index.d.ts +0 -0
  646. /package/dist/types/src/{cli/commands → commands}/database/query/query.test.d.ts +0 -0
  647. /package/dist/types/src/{cli/commands → commands}/database/util.d.ts +0 -0
  648. /package/dist/types/src/{cli/commands → commands}/index.d.ts +0 -0
  649. /package/dist/types/src/{cli/commands → commands}/queue/util.d.ts +0 -0
  650. /package/dist/types/src/{cli/commands → commands}/space/close/index.d.ts +0 -0
  651. /package/dist/types/src/{cli/commands → commands}/space/create/create.test.d.ts +0 -0
  652. /package/dist/types/src/{cli/commands → commands}/space/create/index.d.ts +0 -0
  653. /package/dist/types/src/{cli/commands → commands}/space/info/index.d.ts +0 -0
  654. /package/dist/types/src/{cli/commands → commands}/space/info/info.test.d.ts +0 -0
  655. /package/dist/types/src/{cli/commands → commands}/space/join/index.d.ts +0 -0
  656. /package/dist/types/src/{cli/commands → commands}/space/join/util.d.ts +0 -0
  657. /package/dist/types/src/{cli/commands → commands}/space/list/index.d.ts +0 -0
  658. /package/dist/types/src/{cli/commands → commands}/space/list/list.test.d.ts +0 -0
  659. /package/dist/types/src/{cli/commands → commands}/space/members/index.d.ts +0 -0
  660. /package/dist/types/src/{cli/commands → commands}/space/members/members.test.d.ts +0 -0
  661. /package/dist/types/src/{cli/commands → commands}/space/members/util.d.ts +0 -0
  662. /package/dist/types/src/{cli/commands → commands}/space/open/index.d.ts +0 -0
  663. /package/dist/types/src/{cli/commands → commands}/space/schema/list/index.d.ts +0 -0
  664. /package/dist/types/src/{cli/commands → commands}/space/schema/list/list.test.d.ts +0 -0
  665. /package/dist/types/src/{cli/commands → commands}/space/schema/list/util.d.ts +0 -0
  666. /package/dist/types/src/{cli/commands → commands}/space/share/index.d.ts +0 -0
  667. /package/dist/types/src/{cli/commands → commands}/space/sync/index.d.ts +0 -0
  668. /package/dist/types/src/{cli/commands → commands}/space/sync/sync.d.ts +0 -0
  669. /package/dist/types/src/{cli/commands → commands}/space/sync/sync.test.d.ts +0 -0
  670. /package/src/{cli/commands → commands}/database/index.ts +0 -0
  671. /package/src/{cli/commands → commands}/database/query/index.ts +0 -0
  672. /package/src/{cli/commands → commands}/database/query/query.test.ts +0 -0
  673. /package/src/{cli/commands → commands}/database/query/query.ts +0 -0
  674. /package/src/{cli/commands → commands}/database/remove.ts +0 -0
  675. /package/src/{cli/commands → commands}/database/util.ts +0 -0
  676. /package/src/{cli/commands → commands}/index.ts +0 -0
  677. /package/src/{cli/commands → commands}/queue/index.ts +0 -0
  678. /package/src/{cli/commands → commands}/queue/util.ts +0 -0
  679. /package/src/{cli/commands → commands}/space/close/close.ts +0 -0
  680. /package/src/{cli/commands → commands}/space/close/index.ts +0 -0
  681. /package/src/{cli/commands → commands}/space/create/create.test.ts +0 -0
  682. /package/src/{cli/commands → commands}/space/create/index.ts +0 -0
  683. /package/src/{cli/commands → commands}/space/index.ts +0 -0
  684. /package/src/{cli/commands → commands}/space/info/index.ts +0 -0
  685. /package/src/{cli/commands → commands}/space/info/info.test.ts +0 -0
  686. /package/src/{cli/commands → commands}/space/info/info.ts +0 -0
  687. /package/src/{cli/commands → commands}/space/join/index.ts +0 -0
  688. /package/src/{cli/commands → commands}/space/join/join.ts +0 -0
  689. /package/src/{cli/commands → commands}/space/join/util.ts +0 -0
  690. /package/src/{cli/commands → commands}/space/list/index.ts +0 -0
  691. /package/src/{cli/commands → commands}/space/list/list.ts +0 -0
  692. /package/src/{cli/commands → commands}/space/members/index.ts +0 -0
  693. /package/src/{cli/commands → commands}/space/members/members.test.ts +0 -0
  694. /package/src/{cli/commands → commands}/space/members/members.ts +0 -0
  695. /package/src/{cli/commands → commands}/space/members/util.ts +0 -0
  696. /package/src/{cli/commands → commands}/space/open/index.ts +0 -0
  697. /package/src/{cli/commands → commands}/space/open/open.ts +0 -0
  698. /package/src/{cli/commands → commands}/space/schema/index.ts +0 -0
  699. /package/src/{cli/commands → commands}/space/schema/list/index.ts +0 -0
  700. /package/src/{cli/commands → commands}/space/schema/list/list.test.ts +0 -0
  701. /package/src/{cli/commands → commands}/space/schema/list/list.ts +0 -0
  702. /package/src/{cli/commands → commands}/space/schema/list/util.ts +0 -0
  703. /package/src/{cli/commands → commands}/space/share/index.ts +0 -0
  704. /package/src/{cli/commands → commands}/space/share/share.ts +0 -0
  705. /package/src/{cli/commands → commands}/space/sync/index.ts +0 -0
  706. /package/src/{cli/commands → commands}/space/sync/sync.test.ts +0 -0
  707. /package/src/{cli/commands → commands}/space/sync/sync.ts +0 -0
@@ -6,12 +6,19 @@ import * as Effect from 'effect/Effect';
6
6
  import * as Option from 'effect/Option';
7
7
 
8
8
  import { Capabilities, Capability } from '@dxos/app-framework';
9
- import { AppCapabilities, LayoutOperation, Segments, getObjectPathFromObject, toUrlPath } from '@dxos/app-toolkit';
10
- import { SpaceState, getSpace, isSpace } from '@dxos/client/echo';
9
+ import {
10
+ AppCapabilities,
11
+ AppNodeMatcher,
12
+ LayoutOperation,
13
+ Segments,
14
+ getObjectPathFromObject,
15
+ toUrlPath,
16
+ } from '@dxos/app-toolkit';
17
+ import { SpaceState, isSpace } from '@dxos/client/echo';
18
+ import { Operation } from '@dxos/compute';
11
19
  import { Collection, Obj, Type } from '@dxos/echo';
12
20
  import { AtomObj } from '@dxos/echo-atom';
13
21
  import { invariant } from '@dxos/invariant';
14
- import { Operation } from '@dxos/operation';
15
22
  import { CreateAtom, Graph, GraphBuilder, Node } from '@dxos/plugin-graph';
16
23
  import { isNonNullable } from '@dxos/util';
17
24
 
@@ -24,12 +31,10 @@ import {
24
31
  COPY_LINK_LABEL,
25
32
  CREATE_OBJECT_IN_COLLECTION_LABEL,
26
33
  EXPOSE_OBJECT_LABEL,
27
- type MetadataResolver,
28
34
  REMOVE_FROM_COLLECTION_LABEL,
29
35
  createObjectNode,
30
36
  getCollectionGraphNodePartials,
31
37
  getDynamicLabel,
32
- whenSpace,
33
38
  } from './shared';
34
39
 
35
40
  //
@@ -44,14 +49,11 @@ export const createCollectionExtensions = Effect.fnUntraced(function* ({
44
49
  }) {
45
50
  const capabilities = yield* Capability.Service;
46
51
 
47
- const resolve = (get: any) => (typename: string) =>
48
- capabilities.getAll(AppCapabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
49
-
50
52
  return yield* Effect.all([
51
53
  // Collections section virtual node under each space.
52
54
  GraphBuilder.createExtension({
53
55
  id: 'collections-section',
54
- match: whenSpace,
56
+ match: AppNodeMatcher.whenSpace,
55
57
  connector: (space, get) => {
56
58
  const spaceState = get(CreateAtom.fromObservable(space.state));
57
59
  if (spaceState !== SpaceState.SPACE_READY) {
@@ -65,7 +67,7 @@ export const createCollectionExtensions = Effect.fnUntraced(function* ({
65
67
  }
66
68
  const rootCollection = collectionRef?.target;
67
69
  const collectionPartials = rootCollection
68
- ? getCollectionGraphNodePartials({ collection: rootCollection, db: space.db, resolve: resolve(get) })
70
+ ? getCollectionGraphNodePartials({ db: space.db, collection: rootCollection })
69
71
  : undefined;
70
72
 
71
73
  return Effect.succeed([
@@ -76,7 +78,7 @@ export const createCollectionExtensions = Effect.fnUntraced(function* ({
76
78
  properties: {
77
79
  label: ['collections-section.label', { ns: meta.id }],
78
80
  icon: 'ph--folder--regular',
79
- iconHue: 'neutral',
81
+ iconHue: 'amber',
80
82
  role: 'branch',
81
83
  position: 'hoist',
82
84
  testId: 'spacePlugin.collectionsSection',
@@ -123,7 +125,6 @@ export const createCollectionExtensions = Effect.fnUntraced(function* ({
123
125
  createObjectNode({
124
126
  db: space.db,
125
127
  object,
126
- resolve: resolve(get),
127
128
  navigable: ephemeralState.navigableCollections,
128
129
  parentCollection: collectionRef?.target,
129
130
  }),
@@ -140,7 +141,7 @@ export const createCollectionExtensions = Effect.fnUntraced(function* ({
140
141
  connector: (collection, get) => {
141
142
  const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
142
143
  const ephemeralState = get(ephemeralAtom);
143
- const space = getSpace(collection);
144
+ const db = Obj.getDatabase(collection);
144
145
 
145
146
  const collectionSnapshot = get(AtomObj.make(collection));
146
147
  const refs = collectionSnapshot.objects ?? [];
@@ -156,11 +157,10 @@ export const createCollectionExtensions = Effect.fnUntraced(function* ({
156
157
  objects
157
158
  .map(
158
159
  (object: Obj.Unknown) =>
159
- space &&
160
+ db &&
160
161
  createObjectNode({
161
162
  object,
162
- db: space.db,
163
- resolve: resolve(get),
163
+ db,
164
164
  navigable: ephemeralState.navigableCollections,
165
165
  parentCollection: collection,
166
166
  }),
@@ -176,12 +176,11 @@ export const createCollectionExtensions = Effect.fnUntraced(function* ({
176
176
  GraphBuilder.createExtension({
177
177
  id: 'object-actions',
178
178
  match: (node) => {
179
- const space = getSpace(node.data);
180
- return space && Obj.isObject(node.data) && Obj.getTypename(node.data) === node.type
181
- ? Option.some({ space, object: node.data, nodeId: node.id })
179
+ return Obj.getDatabase(node.data) && Obj.isObject(node.data) && Obj.getTypename(node.data) === node.type
180
+ ? Option.some({ object: node.data, nodeId: node.id })
182
181
  : Option.none();
183
182
  },
184
- actions: ({ space, object, nodeId }, get) => {
183
+ actions: ({ object, nodeId }, get) => {
185
184
  const deletable = !Obj.instanceOf(Type.PersistentType, object);
186
185
 
187
186
  const [appGraph] = get(capabilities.atom(AppCapabilities.AppGraph));
@@ -201,7 +200,6 @@ export const createCollectionExtensions = Effect.fnUntraced(function* ({
201
200
  constructObjectActions({
202
201
  object,
203
202
  nodeId,
204
- resolve: resolve(get),
205
203
  deletable,
206
204
  navigable: ephemeralState.navigableCollections,
207
205
  shareableLinkOrigin,
@@ -221,7 +219,6 @@ export const createCollectionExtensions = Effect.fnUntraced(function* ({
221
219
  const constructObjectActions = ({
222
220
  object,
223
221
  nodeId,
224
- resolve,
225
222
  deletable = true,
226
223
  navigable = false,
227
224
  shareableLinkOrigin,
@@ -229,7 +226,6 @@ const constructObjectActions = ({
229
226
  }: {
230
227
  object: Obj.Unknown;
231
228
  nodeId: string;
232
- resolve: MetadataResolver;
233
229
  shareableLinkOrigin: string;
234
230
  deletable?: boolean;
235
231
  navigable?: boolean;
@@ -260,7 +256,7 @@ const constructObjectActions = ({
260
256
  data: (params?: Node.InvokeProps) =>
261
257
  Operation.invoke(SpaceOperation.RenameObject, { object, caller: `${params?.caller}:${params?.parent?.id}` }),
262
258
  properties: {
263
- label: getDynamicLabel('rename object label', typename, { defaultValue: 'Rename' }),
259
+ label: getDynamicLabel('rename-object.label', typename, { defaultValue: 'Rename' }),
264
260
  icon: 'ph--pencil-simple-line--regular',
265
261
  disposition: 'list-item',
266
262
  testId: 'spacePlugin.renameObject',
@@ -277,7 +273,7 @@ const constructObjectActions = ({
277
273
  const layout = yield* Capabilities.getAtomValue(AppCapabilities.Layout);
278
274
  const isActive = layout.active.includes(nodeId);
279
275
 
280
- Obj.change(parentCollection, (parentCollection) => {
276
+ Obj.update(parentCollection, (parentCollection) => {
281
277
  parentCollection.objects.splice(index, 1);
282
278
  });
283
279
 
@@ -12,6 +12,7 @@ import { GraphBuilder, NodeMatcher } from '@dxos/plugin-graph';
12
12
  // eslint-disable-next-line unused-imports/no-unused-imports
13
13
  import type { Node } from '@dxos/plugin-graph';
14
14
  import { linkedSegment } from '@dxos/react-ui-attention';
15
+ import type { EchoViewRefPath } from '@dxos/schema';
15
16
  import { ViewAnnotation } from '@dxos/schema';
16
17
 
17
18
  import { meta } from '#meta';
@@ -64,11 +65,10 @@ export const createCompanionExtensions = Effect.fnUntraced(function* () {
64
65
  }
65
66
 
66
67
  const schema = Obj.getSchema(node.data);
67
- const isView = Option.fromNullable(schema).pipe(
68
- Option.flatMap((candidate) => ViewAnnotation.get(candidate)),
69
- Option.getOrElse(() => false),
70
- );
71
- if (!isView) {
68
+ const path = schema ? ViewAnnotation.get(schema).pipe(Option.getOrElse(() => [] as EchoViewRefPath)) : [];
69
+ const isEchoViewBacked = schema && path.length > 0 ? ViewAnnotation.hasRefAlongPath(node.data, path) : false;
70
+
71
+ if (!isEchoViewBacked) {
72
72
  return Option.none();
73
73
  }
74
74
 
@@ -3,23 +3,54 @@
3
3
  //
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
+ import * as Option from 'effect/Option';
6
7
 
7
- import { isPersonalSpace } from '@dxos/app-toolkit';
8
- import { GraphBuilder, Node, NodeMatcher } from '@dxos/plugin-graph';
8
+ import { AppNode, AppNodeMatcher, isPersonalSpace } from '@dxos/app-toolkit';
9
+ import { type Space, isSpace } from '@dxos/client/echo';
10
+ import { GraphBuilder, Node } from '@dxos/plugin-graph';
9
11
 
10
12
  import { meta } from '#meta';
13
+ import { SETTINGS_SECTION_TYPE } from '#types';
11
14
 
12
15
  //
13
16
  // Extension Factory
14
17
  //
15
18
 
16
- /** Creates the settings-sections extension for space settings panel. */
19
+ /**
20
+ * Settings section attached directly under each Space node, plus its children.
21
+ *
22
+ * The virtual `settings` section is pinned to the top via `position: 'hoist'`
23
+ * so it sits above the un-positioned middle band (collections, mailboxes,
24
+ * automations, integrations, etc.). It groups the panels contributed by this
25
+ * plugin (general, members) and by other plugins (automation, functions).
26
+ */
17
27
  export const createSettingsExtensions = Effect.fnUntraced(function* () {
18
- const extension = yield* GraphBuilder.createExtension({
28
+ const sectionExtension = yield* GraphBuilder.createExtension({
29
+ id: 'settings-section',
30
+ match: AppNodeMatcher.whenSpace,
31
+ connector: (space) =>
32
+ Effect.succeed([
33
+ AppNode.makeSection({
34
+ id: 'settings',
35
+ type: SETTINGS_SECTION_TYPE,
36
+ label: ['settings-section.label', { ns: meta.id }],
37
+ icon: 'ph--sliders--regular',
38
+ iconHue: 'indigo',
39
+ space,
40
+ position: 'hoist',
41
+ testId: 'spacePlugin.settings',
42
+ }),
43
+ ]),
44
+ });
45
+
46
+ const childrenExtension = yield* GraphBuilder.createExtension({
19
47
  id: 'settings-sections',
20
- match: NodeMatcher.whenNodeType(`${meta.id}.settings`),
21
- connector: (node) => {
22
- const personal = node.properties.space && isPersonalSpace(node.properties.space);
48
+ match: (node) => {
49
+ const space = isSpace(node.properties.space) ? (node.properties.space as Space) : undefined;
50
+ return node.type === SETTINGS_SECTION_TYPE && space ? Option.some(space) : Option.none();
51
+ },
52
+ connector: (space) => {
53
+ const personal = isPersonalSpace(space);
23
54
  return Effect.succeed([
24
55
  Node.make({
25
56
  id: 'general',
@@ -27,8 +58,9 @@ export const createSettingsExtensions = Effect.fnUntraced(function* () {
27
58
  data: `${meta.id}.general`,
28
59
  properties: {
29
60
  label: ['space-settings-properties.label', { ns: meta.id }],
30
- icon: 'ph--sliders--regular',
31
- position: 'hoist',
61
+ icon: 'ph--brackets-curly--regular',
62
+ iconHue: 'indigo',
63
+ space,
32
64
  testId: 'spacePlugin.general',
33
65
  },
34
66
  }),
@@ -41,24 +73,16 @@ export const createSettingsExtensions = Effect.fnUntraced(function* () {
41
73
  properties: {
42
74
  label: ['members-panel.label', { ns: meta.id }],
43
75
  icon: 'ph--users--regular',
44
- position: 'hoist',
76
+ iconHue: 'indigo',
77
+ space,
45
78
  testId: 'spacePlugin.members',
46
79
  },
47
80
  }),
48
81
  ]
49
82
  : []),
50
- Node.make({
51
- id: 'schema',
52
- type: `${meta.id}.schema`,
53
- data: `${meta.id}.schema`,
54
- properties: {
55
- label: ['space-settings-schema.label', { ns: meta.id }],
56
- icon: 'ph--shapes--regular',
57
- testId: 'spacePlugin.schema',
58
- },
59
- }),
60
83
  ]);
61
84
  },
62
85
  });
63
- return [extension];
86
+
87
+ return [sectionExtension, childrenExtension];
64
88
  });
@@ -30,7 +30,7 @@ const TestViewWrapper = Schema.Struct({
30
30
  typename: 'test/ViewWrapper',
31
31
  version: '0.1.0',
32
32
  }),
33
- ViewAnnotation.set(true),
33
+ ViewAnnotation.set(['view']),
34
34
  );
35
35
 
36
36
  describe('buildViewIndex', () => {
@@ -103,7 +103,7 @@ describe('buildViewIndex', () => {
103
103
  const userSchemas = db.schemaRegistry
104
104
  .query({ location: ['runtime'] })
105
105
  .runSync()
106
- .filter((schema) => !ViewAnnotation.get(schema).pipe((opt) => opt._tag === 'Some' && opt.value));
106
+ .filter((schema) => !ViewAnnotation.has(schema));
107
107
  const viewIndex = buildViewIndex(registry.get.bind(registry) as any, { db } as any, userSchemas);
108
108
 
109
109
  expect(viewIndex.typenamesWithViews.size).toBe(0);
@@ -6,20 +6,19 @@ import { type Atom } from '@effect-atom/atom-react';
6
6
  import * as Option from 'effect/Option';
7
7
 
8
8
  import { type Space, SpaceState, isSpace } from '@dxos/client/echo';
9
+ import { type Operation } from '@dxos/compute';
9
10
  import { Filter, Obj, type Type } from '@dxos/echo';
10
11
  import { AtomObj, AtomQuery } from '@dxos/echo-atom';
11
12
  import { Migrations } from '@dxos/migrations';
12
- import { type Operation } from '@dxos/operation';
13
13
  import { type Node } from '@dxos/plugin-graph';
14
14
  import { type TreeData } from '@dxos/react-ui-list';
15
+ import type { EchoViewRefPath } from '@dxos/schema';
15
16
  import { ViewAnnotation, getTypenameFromQuery } from '@dxos/schema';
16
- import { type Label } from '@dxos/ui-types';
17
+ import { type Label } from '@dxos/ui-types/translations';
17
18
 
18
19
  import { meta } from '#meta';
19
- import { SPACE_TYPE } from '#types';
20
20
 
21
21
  export {
22
- type MetadataResolver,
23
22
  ACCEPT_ECHO_CLASS,
24
23
  CACHEABLE_PROPS,
25
24
  CAN_DROP_OBJECT,
@@ -57,14 +56,6 @@ export const META_NS: { ns: string } = { ns: meta.id };
57
56
  export const BLOCK_REORDER_ABOVE = (_source: TreeData, instruction: any) => instruction.type === 'reorder-above';
58
57
  export const CAN_DROP_SPACE = (source: TreeData) => Obj.isObject(source.item.data) || isSpace(source.item.data);
59
58
 
60
- //
61
- // Matchers
62
- //
63
-
64
- /** Match space nodes and return the Space object. */
65
- export const whenSpace = (node: Node.Node): Option.Option<Space> =>
66
- node.type === SPACE_TYPE && isSpace(node.data) ? Option.some(node.data) : Option.none();
67
-
68
59
  //
69
60
  // Caches (space-specific, not moved to app-toolkit)
70
61
  //
@@ -134,6 +125,8 @@ export type ViewIndex = {
134
125
  typenamesWithViews: Set<string>;
135
126
  /** View objects targeting a specific typename. */
136
127
  getViewsForTypename: (typename: string) => Obj.Any[];
128
+ /** True when the schema has `ViewAnnotation` and that path resolves non-null on `object`; false otherwise (no annotation, or null/undefined path — e.g. Kanban with unset `view`). */
129
+ isView: (object: Obj.Any) => boolean;
137
130
  };
138
131
 
139
132
  /**
@@ -143,18 +136,42 @@ export type ViewIndex = {
143
136
  */
144
137
  // TODO(wittjosiah): Make reactive to schema registry changes (currently only object/view mutations trigger updates).
145
138
  export const buildViewIndex = (get: Atom.Context, space: Space, schemas: Type.AnyEntity[]): ViewIndex => {
146
- const viewSchemas = schemas.filter((schema) => ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false)));
139
+ const viewSchemas = schemas.filter((schema) => ViewAnnotation.has(schema));
147
140
 
148
141
  const viewsByTypename = new Map<string, Obj.Any[]>();
142
+ // Object IDs whose `ViewAnnotation` path resolves to a non-null value.
143
+ // Used by `isView` to distinguish view instances from regular instances of
144
+ // the same schema (e.g. items-variant Kanban vs view-variant Kanban).
145
+ const viewObjectIds = new Set<string>();
149
146
 
150
147
  if (viewSchemas.length > 0) {
151
148
  const filter = Filter.or(...viewSchemas.map((schema) => Filter.type(schema)));
152
149
  const viewObjects = get(AtomQuery.make(space.db, filter));
153
150
 
154
151
  for (const viewObject of viewObjects) {
152
+ const holderSchema = Obj.getSchema(viewObject);
153
+ const path = holderSchema
154
+ ? ViewAnnotation.get(holderSchema).pipe(Option.getOrElse(() => [] as EchoViewRefPath))
155
+ : ([] as EchoViewRefPath);
156
+
157
+ if (path.length === 0) {
158
+ continue;
159
+ }
160
+
155
161
  const viewSnapshot = get(AtomObj.make(viewObject));
156
- const viewRef = viewSnapshot.view;
157
- const viewTarget = viewRef ? get(AtomObj.make(viewRef)) : undefined;
162
+ let holder: unknown = viewSnapshot;
163
+ for (const segment of path) {
164
+ holder =
165
+ holder == null || typeof holder !== 'object' ? undefined : (holder as Record<string, unknown>)[segment];
166
+ }
167
+ // Path resolved to a non-null value → this instance is a "view". Path
168
+ // resolved to null/undefined → it's a regular object that happens to
169
+ // be of a view-annotated schema.
170
+ if (holder != null) {
171
+ viewObjectIds.add(viewObject.id);
172
+ }
173
+
174
+ const viewTarget = holder !== undefined ? get(AtomObj.make(holder as Obj.Any)) : undefined;
158
175
  const typename = getTypenameFromQuery(viewTarget?.query?.ast);
159
176
  if (typename) {
160
177
  const existing = viewsByTypename.get(typename) ?? [];
@@ -167,5 +184,6 @@ export const buildViewIndex = (get: Atom.Context, space: Space, schemas: Type.An
167
184
  return {
168
185
  typenamesWithViews: new Set(viewsByTypename.keys()),
169
186
  getViewsForTypename: (typename) => viewsByTypename.get(typename) ?? [],
187
+ isView: (object) => viewObjectIds.has(object.id),
170
188
  };
171
189
  };
@@ -5,14 +5,15 @@
5
5
  import * as Effect from 'effect/Effect';
6
6
 
7
7
  import { Capability } from '@dxos/app-framework';
8
- import { AppCapabilities, getActiveSpace, getPersonalSpace, isPersonalSpace } from '@dxos/app-toolkit';
8
+ import { AppCapabilities, AppNodeMatcher, getActiveSpace, getPersonalSpace, isPersonalSpace } from '@dxos/app-toolkit';
9
9
  import { type Space, SpaceState } from '@dxos/client/echo';
10
+ import { Operation } from '@dxos/compute';
10
11
  import { Filter, Obj } from '@dxos/echo';
11
12
  import { AtomObj, AtomQuery } from '@dxos/echo-atom';
12
13
  import { Migrations } from '@dxos/migrations';
13
- import { Operation } from '@dxos/operation';
14
- import { ClientCapabilities } from '@dxos/plugin-client/types';
14
+ import { ClientCapabilities } from '@dxos/plugin-client';
15
15
  import { CreateAtom, Graph, GraphBuilder, Node, NodeMatcher } from '@dxos/plugin-graph';
16
+ import { SpaceArchive } from '@dxos/protocols/proto/dxos/client/services';
16
17
  import { Expando } from '@dxos/schema';
17
18
 
18
19
  import { meta } from '#meta';
@@ -26,11 +27,9 @@ import {
26
27
  CREATE_OBJECT_IN_SPACE_LABEL,
27
28
  MIGRATE_SPACE_LABEL,
28
29
  RENAME_SPACE_LABEL,
29
- SETTINGS_PANEL_LABEL,
30
30
  checkPendingMigration,
31
31
  spaceActionsCache,
32
32
  spaceRearrangeCache,
33
- whenSpace,
34
33
  } from './shared';
35
34
 
36
35
  //
@@ -68,6 +67,45 @@ export const createSpaceExtensions = Effect.fnUntraced(function* () {
68
67
  disposition: 'menu',
69
68
  },
70
69
  }),
70
+ Node.makeAction({
71
+ id: SpaceOperation.OpenImportSpace.meta.key,
72
+ data: () => Operation.invoke(SpaceOperation.OpenImportSpace),
73
+ properties: {
74
+ label: ['import-space.label', { ns: meta.id }],
75
+ icon: 'ph--upload--regular',
76
+ testId: 'spacePlugin.importSpace',
77
+ },
78
+ }),
79
+ Node.makeAction({
80
+ id: `${SpaceOperation.ExportSpace.meta.key}.binary`,
81
+ data: Effect.fnUntraced(function* () {
82
+ const client = yield* Capability.get(ClientCapabilities.Client);
83
+ const space = getActiveSpace(client, capabilities) ?? getPersonalSpace(client);
84
+ if (space) {
85
+ yield* Operation.invoke(SpaceOperation.ExportSpace, { space, format: SpaceArchive.Format.BINARY });
86
+ }
87
+ }),
88
+ properties: {
89
+ label: ['export-space-binary.label', { ns: meta.id }],
90
+ icon: 'ph--download--regular',
91
+ testId: 'spacePlugin.exportSpaceBinary',
92
+ },
93
+ }),
94
+ Node.makeAction({
95
+ id: `${SpaceOperation.ExportSpace.meta.key}.json`,
96
+ data: Effect.fnUntraced(function* () {
97
+ const client = yield* Capability.get(ClientCapabilities.Client);
98
+ const space = getActiveSpace(client, capabilities) ?? getPersonalSpace(client);
99
+ if (space) {
100
+ yield* Operation.invoke(SpaceOperation.ExportSpace, { space, format: SpaceArchive.Format.JSON });
101
+ }
102
+ }),
103
+ properties: {
104
+ label: ['export-space-json.label', { ns: meta.id }],
105
+ icon: 'ph--download--regular',
106
+ testId: 'spacePlugin.exportSpaceJson',
107
+ },
108
+ }),
71
109
  Node.makeAction({
72
110
  id: SpaceOperation.OpenMembers.meta.key,
73
111
  data: Effect.fnUntraced(function* () {
@@ -175,7 +213,7 @@ export const createSpaceExtensions = Effect.fnUntraced(function* () {
175
213
 
176
214
  GraphBuilder.createExtension({
177
215
  id: 'actions',
178
- match: whenSpace,
216
+ match: AppNodeMatcher.whenSpace,
179
217
  actions: (space, get) => {
180
218
  const [client] = get(capabilities.atom(ClientCapabilities.Client));
181
219
  const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
@@ -230,7 +268,7 @@ const constructSpaceNode = ({
230
268
  nextOrder.map(({ id }) => id),
231
269
  );
232
270
 
233
- Obj.change(spacesOrder, (spacesOrder: any) => {
271
+ Obj.update(spacesOrder, (spacesOrder: any) => {
234
272
  spacesOrder.order = nextOrder.map(({ id }) => id);
235
273
  });
236
274
  };
@@ -258,19 +296,6 @@ const constructSpaceNode = ({
258
296
  onRearrange,
259
297
  canDrop: CAN_DROP_SPACE,
260
298
  },
261
- nodes: [
262
- Node.make({
263
- id: 'settings',
264
- type: `${meta.id}.settings`,
265
- data: null,
266
- properties: {
267
- label: SETTINGS_PANEL_LABEL,
268
- icon: 'ph--faders--regular',
269
- disposition: 'alternate-tree',
270
- space,
271
- },
272
- }),
273
- ],
274
299
  });
275
300
  };
276
301