@dxos/plugin-space 0.8.4-main.422d1c7879 → 0.8.4-main.43cb759274

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 (756) hide show
  1. package/LICENSE +102 -5
  2. package/PLUGIN.mdl +626 -0
  3. package/README.md +1 -1
  4. package/dist/lib/neutral/CollectionArticle-S3OF5KJ7.mjs +96 -0
  5. package/dist/lib/neutral/CollectionArticle-S3OF5KJ7.mjs.map +7 -0
  6. package/dist/lib/neutral/CollectionSection-A5WRHE5Z.mjs +19 -0
  7. package/dist/lib/neutral/CollectionSection-A5WRHE5Z.mjs.map +7 -0
  8. package/dist/lib/neutral/CreateObjectDialog-APLFTWSB.mjs +167 -0
  9. package/dist/lib/neutral/CreateObjectDialog-APLFTWSB.mjs.map +7 -0
  10. package/dist/lib/neutral/CreateSpaceDialog-WPKMRZH3.mjs +57 -0
  11. package/dist/lib/neutral/CreateSpaceDialog-WPKMRZH3.mjs.map +7 -0
  12. package/dist/lib/neutral/EntityRenamePopover-MYSW262F.mjs +59 -0
  13. package/dist/lib/neutral/EntityRenamePopover-MYSW262F.mjs.map +7 -0
  14. package/dist/lib/neutral/ImportSpaceDialog-7GKV4OTF.mjs +64 -0
  15. package/dist/lib/neutral/ImportSpaceDialog-7GKV4OTF.mjs.map +7 -0
  16. package/dist/lib/neutral/InlineSyncStatus-TBJKZCH7.mjs +49 -0
  17. package/dist/lib/neutral/InlineSyncStatus-TBJKZCH7.mjs.map +7 -0
  18. package/dist/lib/neutral/JoinDialog-SSFKRFTJ.mjs +114 -0
  19. package/dist/lib/neutral/JoinDialog-SSFKRFTJ.mjs.map +7 -0
  20. package/dist/lib/neutral/MembersContainer-KMCQDWCS.mjs +227 -0
  21. package/dist/lib/neutral/MembersContainer-KMCQDWCS.mjs.map +7 -0
  22. package/dist/lib/neutral/MenuFooter-J3YE4JGI.mjs +33 -0
  23. package/dist/lib/neutral/MenuFooter-J3YE4JGI.mjs.map +7 -0
  24. package/dist/lib/neutral/ObjectCardStack-HWLILOA3.mjs +55 -0
  25. package/dist/lib/neutral/ObjectCardStack-HWLILOA3.mjs.map +7 -0
  26. package/dist/lib/neutral/ObjectProperties-BF6KGFFC.mjs +33 -0
  27. package/dist/lib/neutral/ObjectProperties-BF6KGFFC.mjs.map +7 -0
  28. package/dist/lib/neutral/RecordArticle-QWGH25NT.mjs +51 -0
  29. package/dist/lib/neutral/RecordArticle-QWGH25NT.mjs.map +7 -0
  30. package/dist/lib/neutral/RelatedArticle-YDNGUDAJ.mjs +68 -0
  31. package/dist/lib/neutral/RelatedArticle-YDNGUDAJ.mjs.map +7 -0
  32. package/dist/lib/neutral/SchemaContainer-Q4BP6X2M.mjs +49 -0
  33. package/dist/lib/neutral/SchemaContainer-Q4BP6X2M.mjs.map +7 -0
  34. package/dist/lib/neutral/SmallPresenceLive-GUF4WLUC.mjs +8 -0
  35. package/dist/lib/neutral/SpacePlugin.mjs +10 -0
  36. package/dist/lib/{browser/cli/index.mjs → neutral/SpacePlugin.node.mjs} +97 -122
  37. package/dist/lib/neutral/SpacePlugin.node.mjs.map +7 -0
  38. package/dist/lib/neutral/SpacePlugin.workerd.mjs +34 -0
  39. package/dist/lib/neutral/SpacePlugin.workerd.mjs.map +7 -0
  40. package/dist/lib/neutral/SpacePresence-ACEXUS3N.mjs +11 -0
  41. package/dist/lib/neutral/SpaceRenamePopover-KFWL4CTJ.mjs +56 -0
  42. package/dist/lib/neutral/SpaceRenamePopover-KFWL4CTJ.mjs.map +7 -0
  43. package/dist/lib/{browser/SpaceSettings-TR2IMHOL.mjs → neutral/SpaceSettings-RJWNYZAL.mjs} +3 -3
  44. package/dist/lib/neutral/SpaceSettingsContainer-IB34TEOB.mjs +276 -0
  45. package/dist/lib/neutral/SpaceSettingsContainer-IB34TEOB.mjs.map +7 -0
  46. package/dist/lib/neutral/SyncStatus-CWOXWDDZ.mjs +147 -0
  47. package/dist/lib/neutral/SyncStatus-CWOXWDDZ.mjs.map +7 -0
  48. package/dist/lib/neutral/ViewEditor-BR26G555.mjs +101 -0
  49. package/dist/lib/neutral/ViewEditor-BR26G555.mjs.map +7 -0
  50. package/dist/lib/{browser/add-object-XUA4QRWE.mjs → neutral/add-object-NXJGPV7U.mjs} +15 -28
  51. package/dist/lib/neutral/add-object-NXJGPV7U.mjs.map +7 -0
  52. package/dist/lib/{browser/add-relation-YNTOBNYM.mjs → neutral/add-relation-4XGLANGJ.mjs} +4 -4
  53. package/dist/lib/neutral/add-relation-4XGLANGJ.mjs.map +7 -0
  54. package/dist/lib/neutral/add-type-EOQMBI63.mjs +57 -0
  55. package/dist/lib/neutral/add-type-EOQMBI63.mjs.map +7 -0
  56. package/dist/lib/neutral/app-graph-builder-5QSN3MP7.mjs +1254 -0
  57. package/dist/lib/neutral/app-graph-builder-5QSN3MP7.mjs.map +7 -0
  58. package/dist/lib/neutral/app-graph-serializer-BKLAS7NE.mjs +81 -0
  59. package/dist/lib/neutral/app-graph-serializer-BKLAS7NE.mjs.map +7 -0
  60. package/dist/lib/neutral/capabilities/index.mjs +43 -0
  61. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  62. package/dist/lib/neutral/capabilities/node.mjs +15 -0
  63. package/dist/lib/neutral/capabilities/node.mjs.map +7 -0
  64. package/dist/lib/neutral/chunk-2DHCIE27.mjs +25 -0
  65. package/dist/lib/neutral/chunk-2DHCIE27.mjs.map +7 -0
  66. package/dist/lib/neutral/chunk-4RTSNTDC.mjs +37 -0
  67. package/dist/lib/neutral/chunk-4RTSNTDC.mjs.map +7 -0
  68. package/dist/lib/neutral/chunk-CRZHK3BW.mjs +154 -0
  69. package/dist/lib/neutral/chunk-CRZHK3BW.mjs.map +7 -0
  70. package/dist/lib/{browser/chunk-FBRDXXNK.mjs → neutral/chunk-E55TPDLR.mjs} +8 -3
  71. package/dist/lib/neutral/chunk-E55TPDLR.mjs.map +7 -0
  72. package/dist/lib/neutral/chunk-EEXRKYOD.mjs +163 -0
  73. package/dist/lib/neutral/chunk-EEXRKYOD.mjs.map +7 -0
  74. package/dist/lib/neutral/chunk-F5MESIRH.mjs +19 -0
  75. package/dist/lib/neutral/chunk-F5MESIRH.mjs.map +7 -0
  76. package/dist/lib/{browser/chunk-BJAZV3HI.mjs → neutral/chunk-HCDLT7WU.mjs} +165 -81
  77. package/dist/lib/neutral/chunk-HCDLT7WU.mjs.map +7 -0
  78. package/dist/lib/{browser/chunk-JH2UWMN2.mjs → neutral/chunk-JHZGRYGS.mjs} +1 -1
  79. package/dist/lib/{browser/chunk-JH2UWMN2.mjs.map → neutral/chunk-JHZGRYGS.mjs.map} +2 -2
  80. package/dist/lib/neutral/chunk-LE2BYN7U.mjs +8 -0
  81. package/dist/lib/neutral/chunk-LE2BYN7U.mjs.map +7 -0
  82. package/dist/lib/{browser/close-MPL6CV3Z.mjs → neutral/close-5LMOR4PD.mjs} +4 -4
  83. package/dist/lib/{browser/close-MPL6CV3Z.mjs.map → neutral/close-5LMOR4PD.mjs.map} +1 -1
  84. package/dist/lib/neutral/components/index.mjs +404 -0
  85. package/dist/lib/neutral/components/index.mjs.map +7 -0
  86. package/dist/lib/neutral/containers/index.mjs +49 -0
  87. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  88. package/dist/lib/{browser/create-AE3FYWXG.mjs → neutral/create-KUJARM45.mjs} +14 -13
  89. package/dist/lib/neutral/create-KUJARM45.mjs.map +7 -0
  90. package/dist/lib/neutral/create-object-22WUOWZQ.mjs +101 -0
  91. package/dist/lib/neutral/create-object-22WUOWZQ.mjs.map +7 -0
  92. package/dist/lib/neutral/delete-HONXXXUH.mjs +17 -0
  93. package/dist/lib/neutral/delete-HONXXXUH.mjs.map +7 -0
  94. package/dist/lib/{browser/delete-field-G77IGW6B.mjs → neutral/delete-field-OVN35NPO.mjs} +11 -36
  95. package/dist/lib/neutral/delete-field-OVN35NPO.mjs.map +7 -0
  96. package/dist/lib/neutral/duplicate-object-7HODEIGW.mjs +17 -0
  97. package/dist/lib/neutral/duplicate-object-7HODEIGW.mjs.map +7 -0
  98. package/dist/lib/neutral/export-space-HGI6N3IA.mjs +34 -0
  99. package/dist/lib/neutral/export-space-HGI6N3IA.mjs.map +7 -0
  100. package/dist/lib/{browser/get-share-link-R745OMNC.mjs → neutral/get-share-link-76OF5TPM.mjs} +5 -5
  101. package/dist/lib/{browser/get-share-link-R745OMNC.mjs.map → neutral/get-share-link-76OF5TPM.mjs.map} +1 -1
  102. package/dist/lib/neutral/hooks/index.mjs +121 -0
  103. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  104. package/dist/lib/neutral/identity-created-57RML5XT.mjs +32 -0
  105. package/dist/lib/neutral/identity-created-57RML5XT.mjs.map +7 -0
  106. package/dist/lib/neutral/import-space-P57N4PSP.mjs +28 -0
  107. package/dist/lib/neutral/import-space-P57N4PSP.mjs.map +7 -0
  108. package/dist/lib/{node-esm/types → neutral}/index.mjs +23 -4
  109. package/dist/lib/{browser/join-EDCBOGMO.mjs → neutral/join-WCAPNPUJ.mjs} +5 -5
  110. package/dist/lib/{browser/join-EDCBOGMO.mjs.map → neutral/join-WCAPNPUJ.mjs.map} +1 -1
  111. package/dist/lib/neutral/meta.json +1 -0
  112. package/dist/lib/{browser → neutral}/meta.mjs +1 -1
  113. package/dist/lib/{browser/migrate-J7OVAUIM.mjs → neutral/migrate-OSPAOAVW.mjs} +9 -7
  114. package/dist/lib/neutral/migrate-OSPAOAVW.mjs.map +7 -0
  115. package/dist/lib/neutral/navigation-handler-CXZ655SE.mjs +38 -0
  116. package/dist/lib/neutral/navigation-handler-CXZ655SE.mjs.map +7 -0
  117. package/dist/lib/neutral/navigation-resolver-WQ5A4637.mjs +65 -0
  118. package/dist/lib/neutral/navigation-resolver-WQ5A4637.mjs.map +7 -0
  119. package/dist/lib/{browser/open-LGLVOLR3.mjs → neutral/open-KU76PZVS.mjs} +4 -4
  120. package/dist/lib/{browser/open-LGLVOLR3.mjs.map → neutral/open-KU76PZVS.mjs.map} +1 -1
  121. package/dist/lib/{browser/open-create-object-QQFDBDDC.mjs → neutral/open-create-object-K5FI2KMV.mjs} +5 -5
  122. package/dist/lib/neutral/open-create-object-K5FI2KMV.mjs.map +7 -0
  123. package/dist/lib/{browser/open-create-space-7IVA2QOK.mjs → neutral/open-create-space-2ODSFMLD.mjs} +5 -5
  124. package/dist/lib/{browser/open-create-space-7IVA2QOK.mjs.map → neutral/open-create-space-2ODSFMLD.mjs.map} +1 -1
  125. package/dist/lib/neutral/open-import-space-VMILOCQO.mjs +24 -0
  126. package/dist/lib/neutral/open-import-space-VMILOCQO.mjs.map +7 -0
  127. package/dist/lib/{browser/open-members-RF5E7PAE.mjs → neutral/open-members-ZJUBRLFW.mjs} +4 -4
  128. package/dist/lib/{browser/open-members-RF5E7PAE.mjs.map → neutral/open-members-ZJUBRLFW.mjs.map} +1 -1
  129. package/dist/lib/{browser/open-settings-A56XL7NJ.mjs → neutral/open-settings-T5GEFCGI.mjs} +5 -5
  130. package/dist/lib/{browser/open-settings-A56XL7NJ.mjs.map → neutral/open-settings-T5GEFCGI.mjs.map} +1 -1
  131. package/dist/lib/neutral/operation-handler-YPIRQOH2.mjs +13 -0
  132. package/dist/lib/neutral/operation-handler-YPIRQOH2.mjs.map +7 -0
  133. package/dist/lib/neutral/operations/index.mjs +13 -0
  134. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  135. package/dist/lib/neutral/plugin.mjs +18 -0
  136. package/dist/lib/neutral/plugin.mjs.map +7 -0
  137. package/dist/lib/neutral/react-root-2DJPZQT4.mjs +23 -0
  138. package/dist/lib/neutral/react-root-2DJPZQT4.mjs.map +7 -0
  139. package/dist/lib/neutral/react-surface-UAHPI22Y.mjs +375 -0
  140. package/dist/lib/neutral/react-surface-UAHPI22Y.mjs.map +7 -0
  141. package/dist/lib/neutral/remove-objects-3LYKANEQ.mjs +55 -0
  142. package/dist/lib/neutral/remove-objects-3LYKANEQ.mjs.map +7 -0
  143. package/dist/lib/{browser/rename-UOGQQJ3T.mjs → neutral/rename-P3KRT5SX.mjs} +5 -5
  144. package/dist/lib/{browser/rename-UOGQQJ3T.mjs.map → neutral/rename-P3KRT5SX.mjs.map} +1 -1
  145. package/dist/lib/{browser/rename-object-V2LDZGOE.mjs → neutral/rename-object-Y5CZY66F.mjs} +8 -9
  146. package/dist/lib/neutral/rename-object-Y5CZY66F.mjs.map +7 -0
  147. package/dist/lib/neutral/repair-PSYRVSJ6.mjs +32 -0
  148. package/dist/lib/neutral/repair-PSYRVSJ6.mjs.map +7 -0
  149. package/dist/lib/{browser/restore-field-TQJP2YJI.mjs → neutral/restore-field-RAHWH43Z.mjs} +11 -36
  150. package/dist/lib/neutral/restore-field-RAHWH43Z.mjs.map +7 -0
  151. package/dist/lib/{browser/restore-objects-23VJYK72.mjs → neutral/restore-objects-YOFCXTWE.mjs} +11 -28
  152. package/dist/lib/neutral/restore-objects-YOFCXTWE.mjs.map +7 -0
  153. package/dist/lib/neutral/settings-DUCCRYX7.mjs +30 -0
  154. package/dist/lib/neutral/settings-DUCCRYX7.mjs.map +7 -0
  155. package/dist/lib/{browser/share-2PZJXFJM.mjs → neutral/share-OOKWURCK.mjs} +5 -5
  156. package/dist/lib/{browser/share-2PZJXFJM.mjs.map → neutral/share-OOKWURCK.mjs.map} +1 -1
  157. package/dist/lib/{browser/snapshot-OOA2JZ67.mjs → neutral/snapshot-3IIGQ7ZS.mjs} +5 -13
  158. package/dist/lib/neutral/snapshot-3IIGQ7ZS.mjs.map +7 -0
  159. package/dist/lib/neutral/spaces-ready-LFRQW3VQ.mjs +268 -0
  160. package/dist/lib/neutral/spaces-ready-LFRQW3VQ.mjs.map +7 -0
  161. package/dist/lib/neutral/state-DPBOZRAW.mjs +55 -0
  162. package/dist/lib/neutral/state-DPBOZRAW.mjs.map +7 -0
  163. package/dist/lib/neutral/testing.mjs +8 -0
  164. package/dist/lib/neutral/testing.mjs.map +7 -0
  165. package/dist/lib/neutral/translations.mjs +309 -0
  166. package/dist/lib/neutral/translations.mjs.map +7 -0
  167. package/dist/lib/{browser → neutral}/types/index.mjs +5 -1
  168. package/dist/lib/neutral/types/index.mjs.map +7 -0
  169. package/dist/lib/neutral/undo-mappings-OBRQOYN4.mjs +68 -0
  170. package/dist/lib/neutral/undo-mappings-OBRQOYN4.mjs.map +7 -0
  171. package/dist/lib/{browser/wait-for-object-2XLXLCNS.mjs → neutral/wait-for-object-YAE3NYNU.mjs} +4 -4
  172. package/dist/lib/{browser/wait-for-object-2XLXLCNS.mjs.map → neutral/wait-for-object-YAE3NYNU.mjs.map} +1 -1
  173. package/dist/types/src/SpacePlugin.d.ts +1 -0
  174. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  175. package/dist/types/src/{cli/plugin.d.ts → SpacePlugin.node.d.ts} +2 -1
  176. package/dist/types/src/SpacePlugin.node.d.ts.map +1 -0
  177. package/dist/types/src/SpacePlugin.test.d.ts +2 -0
  178. package/dist/types/src/SpacePlugin.test.d.ts.map +1 -0
  179. package/dist/types/src/SpacePlugin.workerd.d.ts +4 -0
  180. package/dist/types/src/SpacePlugin.workerd.d.ts.map +1 -0
  181. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -1
  182. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts +32 -8
  183. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts.map +1 -1
  184. package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts +3 -3
  185. package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts.map +1 -1
  186. package/dist/types/src/capabilities/app-graph-builder/extensions/database.d.ts +68 -0
  187. package/dist/types/src/capabilities/app-graph-builder/extensions/database.d.ts.map +1 -0
  188. package/dist/types/src/capabilities/app-graph-builder/extensions/index.d.ts +1 -1
  189. package/dist/types/src/capabilities/app-graph-builder/extensions/index.d.ts.map +1 -1
  190. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts +11 -3
  191. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts.map +1 -1
  192. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts +6 -7
  193. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts.map +1 -1
  194. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts +24 -6
  195. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts.map +1 -1
  196. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +1 -1
  197. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -1
  198. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  199. package/dist/types/src/capabilities/create-object.d.ts +37 -0
  200. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  201. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
  202. package/dist/types/src/capabilities/index.d.ts +32 -2
  203. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  204. package/dist/types/src/capabilities/navigation-handler/navigation-handler.d.ts.map +1 -1
  205. package/dist/types/src/capabilities/navigation-resolver.d.ts +1 -1
  206. package/dist/types/src/capabilities/navigation-resolver.d.ts.map +1 -1
  207. package/dist/types/src/capabilities/node.d.ts +32 -1
  208. package/dist/types/src/capabilities/node.d.ts.map +1 -1
  209. package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
  210. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -1
  211. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  212. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  213. package/dist/types/src/capabilities/repair.d.ts.map +1 -1
  214. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  215. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  216. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  217. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -1
  218. package/dist/types/src/commands/database/add.d.ts +10 -0
  219. package/dist/types/src/commands/database/add.d.ts.map +1 -0
  220. package/dist/types/src/commands/database/index.d.ts.map +1 -0
  221. package/dist/types/src/commands/database/query/index.d.ts.map +1 -0
  222. package/dist/types/src/{cli/commands → commands}/database/query/query.d.ts +2 -2
  223. package/dist/types/src/commands/database/query/query.d.ts.map +1 -0
  224. package/dist/types/src/commands/database/query/query.test.d.ts.map +1 -0
  225. package/dist/types/src/{cli/commands → commands}/database/remove.d.ts +1 -1
  226. package/dist/types/src/commands/database/remove.d.ts.map +1 -0
  227. package/dist/types/src/{cli/commands → commands}/database/stats.d.ts +1 -1
  228. package/dist/types/src/commands/database/stats.d.ts.map +1 -0
  229. package/dist/types/src/commands/database/util.d.ts.map +1 -0
  230. package/dist/types/src/commands/index.d.ts.map +1 -0
  231. package/dist/types/src/{cli/commands → commands}/queue/index.d.ts +2 -2
  232. package/dist/types/src/commands/queue/index.d.ts.map +1 -0
  233. package/dist/types/src/commands/queue/query.d.ts +7 -0
  234. package/dist/types/src/commands/queue/query.d.ts.map +1 -0
  235. package/dist/types/src/commands/queue/util.d.ts.map +1 -0
  236. package/dist/types/src/commands/space/close/close.d.ts +12 -0
  237. package/dist/types/src/commands/space/close/close.d.ts.map +1 -0
  238. package/dist/types/src/commands/space/close/index.d.ts.map +1 -0
  239. package/dist/types/src/{cli/commands → commands}/space/create/create.d.ts +2 -2
  240. package/dist/types/src/commands/space/create/create.d.ts.map +1 -0
  241. package/dist/types/src/commands/space/create/create.test.d.ts.map +1 -0
  242. package/dist/types/src/commands/space/create/index.d.ts.map +1 -0
  243. package/dist/types/src/{cli/commands → commands}/space/index.d.ts +13 -13
  244. package/dist/types/src/commands/space/index.d.ts.map +1 -0
  245. package/dist/types/src/commands/space/info/index.d.ts.map +1 -0
  246. package/dist/types/src/{cli/commands → commands}/space/info/info.d.ts +2 -2
  247. package/dist/types/src/commands/space/info/info.d.ts.map +1 -0
  248. package/dist/types/src/commands/space/info/info.test.d.ts.map +1 -0
  249. package/dist/types/src/commands/space/join/index.d.ts.map +1 -0
  250. package/dist/types/src/{cli/commands → commands}/space/join/join.d.ts +2 -2
  251. package/dist/types/src/commands/space/join/join.d.ts.map +1 -0
  252. package/dist/types/src/commands/space/join/util.d.ts.map +1 -0
  253. package/dist/types/src/commands/space/list/index.d.ts.map +1 -0
  254. package/dist/types/src/{cli/commands → commands}/space/list/list.d.ts +2 -2
  255. package/dist/types/src/commands/space/list/list.d.ts.map +1 -0
  256. package/dist/types/src/commands/space/list/list.test.d.ts.map +1 -0
  257. package/dist/types/src/commands/space/members/index.d.ts.map +1 -0
  258. package/dist/types/src/{cli/commands → commands}/space/members/members.d.ts +2 -2
  259. package/dist/types/src/commands/space/members/members.d.ts.map +1 -0
  260. package/dist/types/src/commands/space/members/members.test.d.ts.map +1 -0
  261. package/dist/types/src/commands/space/members/util.d.ts.map +1 -0
  262. package/dist/types/src/commands/space/open/index.d.ts.map +1 -0
  263. package/dist/types/src/commands/space/open/open.d.ts +12 -0
  264. package/dist/types/src/commands/space/open/open.d.ts.map +1 -0
  265. package/dist/types/src/{cli/commands → commands}/space/schema/index.d.ts +1 -1
  266. package/dist/types/src/commands/space/schema/index.d.ts.map +1 -0
  267. package/dist/types/src/commands/space/schema/list/index.d.ts.map +1 -0
  268. package/dist/types/src/{cli/commands → commands}/space/schema/list/list.d.ts +2 -3
  269. package/dist/types/src/commands/space/schema/list/list.d.ts.map +1 -0
  270. package/dist/types/src/commands/space/schema/list/list.test.d.ts.map +1 -0
  271. package/dist/types/src/commands/space/schema/list/util.d.ts.map +1 -0
  272. package/dist/types/src/commands/space/share/index.d.ts.map +1 -0
  273. package/dist/types/src/{cli/commands → commands}/space/share/share.d.ts +2 -2
  274. package/dist/types/src/commands/space/share/share.d.ts.map +1 -0
  275. package/dist/types/src/commands/space/sync/index.d.ts.map +1 -0
  276. package/dist/types/src/commands/space/sync/sync.d.ts.map +1 -0
  277. package/dist/types/src/commands/space/sync/sync.test.d.ts.map +1 -0
  278. package/dist/types/src/components/AwaitingObject/AwaitingObject.d.ts.map +1 -1
  279. package/dist/types/src/components/{CreateDialog → CreateObjectPanel}/CreateObjectPanel.d.ts +11 -14
  280. package/dist/types/src/components/CreateObjectPanel/CreateObjectPanel.d.ts.map +1 -0
  281. package/dist/types/src/components/CreateObjectPanel/index.d.ts.map +1 -0
  282. package/dist/types/src/components/ForeignKeys/ForeignKeys.d.ts.map +1 -1
  283. package/dist/types/src/components/SpaceSettings/SpaceSettings.d.ts.map +1 -1
  284. package/dist/types/src/components/SpaceSettings/SpaceSettings.stories.d.ts +590 -248
  285. package/dist/types/src/components/SpaceSettings/SpaceSettings.stories.d.ts.map +1 -1
  286. package/dist/types/src/components/SyncStatus/save-tracker.d.ts +1 -1
  287. package/dist/types/src/components/SyncStatus/save-tracker.d.ts.map +1 -1
  288. package/dist/types/src/components/SyncStatus/status.d.ts +1 -1
  289. package/dist/types/src/components/SyncStatus/status.d.ts.map +1 -1
  290. package/dist/types/src/components/index.d.ts +1 -1
  291. package/dist/types/src/components/index.d.ts.map +1 -1
  292. package/dist/types/src/constants.d.ts +7 -5
  293. package/dist/types/src/constants.d.ts.map +1 -1
  294. package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts.map +1 -1
  295. package/dist/types/src/containers/CollectionSection/CollectionSection.d.ts.map +1 -1
  296. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts.map +1 -1
  297. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.stories.d.ts +590 -248
  298. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  299. package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.stories.d.ts +590 -248
  300. package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.stories.d.ts.map +1 -1
  301. package/dist/types/src/containers/EntityRenamePopover/EntityRenamePopover.d.ts +7 -0
  302. package/dist/types/src/containers/EntityRenamePopover/EntityRenamePopover.d.ts.map +1 -0
  303. package/dist/types/src/containers/EntityRenamePopover/index.d.ts +2 -0
  304. package/dist/types/src/containers/{ObjectRenamePopover → EntityRenamePopover}/index.d.ts.map +1 -1
  305. package/dist/types/src/containers/ImportSpaceDialog/ImportSpaceDialog.d.ts +3 -0
  306. package/dist/types/src/containers/ImportSpaceDialog/ImportSpaceDialog.d.ts.map +1 -0
  307. package/dist/types/src/containers/ImportSpaceDialog/index.d.ts +2 -0
  308. package/dist/types/src/containers/ImportSpaceDialog/index.d.ts.map +1 -0
  309. package/dist/types/src/containers/InlineSyncStatus/InlineSyncStatus.d.ts.map +1 -1
  310. package/dist/types/src/containers/JoinDialog/JoinDialog.d.ts.map +1 -1
  311. package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts +590 -248
  312. package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts.map +1 -1
  313. package/dist/types/src/containers/MembersContainer/MembersContainer.d.ts.map +1 -1
  314. package/dist/types/src/containers/MenuFooter/MenuFooter.d.ts.map +1 -1
  315. package/dist/types/src/containers/ObjectCardStack/ObjectCardStack.d.ts.map +1 -1
  316. package/dist/types/src/containers/ObjectProperties/ObjectProperties.d.ts +1 -1
  317. package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts.map +1 -1
  318. package/dist/types/src/containers/RecordArticle/RecordArticle.stories.d.ts.map +1 -1
  319. package/dist/types/src/containers/RelatedArticle/RelatedArticle.d.ts.map +1 -1
  320. package/dist/types/src/containers/SchemaContainer/SchemaContainer.d.ts +3 -3
  321. package/dist/types/src/containers/SchemaContainer/SchemaContainer.d.ts.map +1 -1
  322. package/dist/types/src/containers/SpacePresence/SpacePresence.d.ts.map +1 -1
  323. package/dist/types/src/containers/SpacePresence/SpacePresence.stories.d.ts +590 -248
  324. package/dist/types/src/containers/SpacePresence/SpacePresence.stories.d.ts.map +1 -1
  325. package/dist/types/src/containers/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -1
  326. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts +4 -4
  327. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts.map +1 -1
  328. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.d.ts +590 -248
  329. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.d.ts.map +1 -1
  330. package/dist/types/src/containers/SyncStatus/SyncStatus.d.ts.map +1 -1
  331. package/dist/types/src/containers/SyncStatus/SyncStatus.stories.d.ts +590 -248
  332. package/dist/types/src/containers/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  333. package/dist/types/src/containers/ViewEditor/ViewEditor.d.ts.map +1 -1
  334. package/dist/types/src/containers/index.d.ts +2 -1
  335. package/dist/types/src/containers/index.d.ts.map +1 -1
  336. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  337. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  338. package/dist/types/src/hooks/useRelatedObjects.d.ts.map +1 -1
  339. package/dist/types/src/index.d.ts +2 -3
  340. package/dist/types/src/index.d.ts.map +1 -1
  341. package/dist/types/src/meta.d.ts +1 -1
  342. package/dist/types/src/meta.d.ts.map +1 -1
  343. package/dist/types/src/operations/add-object.d.ts +1 -1
  344. package/dist/types/src/operations/add-object.d.ts.map +1 -1
  345. package/dist/types/src/operations/add-relation.d.ts +1 -1
  346. package/dist/types/src/operations/add-relation.d.ts.map +1 -1
  347. package/dist/types/src/operations/{add-schema.d.ts → add-type.d.ts} +3 -3
  348. package/dist/types/src/operations/add-type.d.ts.map +1 -0
  349. package/dist/types/src/operations/close.d.ts +1 -1
  350. package/dist/types/src/operations/close.d.ts.map +1 -1
  351. package/dist/types/src/operations/create.d.ts +1 -1
  352. package/dist/types/src/operations/create.d.ts.map +1 -1
  353. package/dist/types/src/operations/definitions.d.ts +72 -55
  354. package/dist/types/src/operations/definitions.d.ts.map +1 -1
  355. package/dist/types/src/operations/delete-field.d.ts +1 -1
  356. package/dist/types/src/operations/delete-field.d.ts.map +1 -1
  357. package/dist/types/src/operations/delete.d.ts +5 -0
  358. package/dist/types/src/operations/delete.d.ts.map +1 -0
  359. package/dist/types/src/operations/duplicate-object.d.ts +1 -1
  360. package/dist/types/src/operations/duplicate-object.d.ts.map +1 -1
  361. package/dist/types/src/operations/export-space.d.ts +5 -0
  362. package/dist/types/src/operations/export-space.d.ts.map +1 -0
  363. package/dist/types/src/operations/get-share-link.d.ts +1 -1
  364. package/dist/types/src/operations/get-share-link.d.ts.map +1 -1
  365. package/dist/types/src/operations/import-space.d.ts +5 -0
  366. package/dist/types/src/operations/import-space.d.ts.map +1 -0
  367. package/dist/types/src/operations/index.d.ts +1 -1
  368. package/dist/types/src/operations/index.d.ts.map +1 -1
  369. package/dist/types/src/operations/join.d.ts +1 -1
  370. package/dist/types/src/operations/join.d.ts.map +1 -1
  371. package/dist/types/src/operations/migrate.d.ts +1 -1
  372. package/dist/types/src/operations/migrate.d.ts.map +1 -1
  373. package/dist/types/src/operations/open-create-object.d.ts +1 -1
  374. package/dist/types/src/operations/open-create-object.d.ts.map +1 -1
  375. package/dist/types/src/operations/open-create-space.d.ts +1 -1
  376. package/dist/types/src/operations/open-create-space.d.ts.map +1 -1
  377. package/dist/types/src/operations/open-import-space.d.ts +5 -0
  378. package/dist/types/src/operations/open-import-space.d.ts.map +1 -0
  379. package/dist/types/src/operations/open-members.d.ts +1 -1
  380. package/dist/types/src/operations/open-members.d.ts.map +1 -1
  381. package/dist/types/src/operations/open-settings.d.ts +1 -1
  382. package/dist/types/src/operations/open-settings.d.ts.map +1 -1
  383. package/dist/types/src/operations/open.d.ts +1 -1
  384. package/dist/types/src/operations/open.d.ts.map +1 -1
  385. package/dist/types/src/operations/remove-objects.d.ts +1 -1
  386. package/dist/types/src/operations/remove-objects.d.ts.map +1 -1
  387. package/dist/types/src/operations/rename-object.d.ts +1 -1
  388. package/dist/types/src/operations/rename-object.d.ts.map +1 -1
  389. package/dist/types/src/operations/rename.d.ts +1 -1
  390. package/dist/types/src/operations/rename.d.ts.map +1 -1
  391. package/dist/types/src/operations/restore-field.d.ts +1 -1
  392. package/dist/types/src/operations/restore-field.d.ts.map +1 -1
  393. package/dist/types/src/operations/restore-objects.d.ts +1 -1
  394. package/dist/types/src/operations/restore-objects.d.ts.map +1 -1
  395. package/dist/types/src/operations/share.d.ts +1 -1
  396. package/dist/types/src/operations/share.d.ts.map +1 -1
  397. package/dist/types/src/operations/snapshot.d.ts +1 -1
  398. package/dist/types/src/operations/snapshot.d.ts.map +1 -1
  399. package/dist/types/src/operations/wait-for-object.d.ts +1 -1
  400. package/dist/types/src/operations/wait-for-object.d.ts.map +1 -1
  401. package/dist/types/src/plugin.d.ts +4 -0
  402. package/dist/types/src/plugin.d.ts.map +1 -0
  403. package/dist/types/src/testing.d.ts +2 -0
  404. package/dist/types/src/testing.d.ts.map +1 -0
  405. package/dist/types/src/translations.d.ts +590 -248
  406. package/dist/types/src/translations.d.ts.map +1 -1
  407. package/dist/types/src/types/capabilities.d.ts +45 -8
  408. package/dist/types/src/types/capabilities.d.ts.map +1 -1
  409. package/dist/types/src/types/events.d.ts +1 -1
  410. package/dist/types/src/types/events.d.ts.map +1 -1
  411. package/dist/types/src/types/types.d.ts +6 -3
  412. package/dist/types/src/types/types.d.ts.map +1 -1
  413. package/dist/types/src/util.d.ts +1 -6
  414. package/dist/types/src/util.d.ts.map +1 -1
  415. package/dist/types/tsconfig.tsbuildinfo +1 -1
  416. package/package.json +134 -101
  417. package/src/{cli/plugin.ts → SpacePlugin.node.ts} +7 -27
  418. package/src/SpacePlugin.test.ts +33 -0
  419. package/src/SpacePlugin.ts +20 -118
  420. package/src/SpacePlugin.workerd.ts +46 -0
  421. package/src/capabilities/app-graph-builder/app-graph-builder.ts +3 -3
  422. package/src/capabilities/app-graph-builder/extensions/collections.ts +36 -36
  423. package/src/capabilities/app-graph-builder/extensions/companions.ts +12 -10
  424. package/src/capabilities/app-graph-builder/extensions/{types.ts → database.ts} +89 -92
  425. package/src/capabilities/app-graph-builder/extensions/index.ts +1 -1
  426. package/src/capabilities/app-graph-builder/extensions/settings.ts +46 -22
  427. package/src/capabilities/app-graph-builder/extensions/shared.test.ts +80 -22
  428. package/src/capabilities/app-graph-builder/extensions/shared.ts +41 -19
  429. package/src/capabilities/app-graph-builder/extensions/spaces.ts +61 -23
  430. package/src/capabilities/app-graph-serializer.ts +6 -6
  431. package/src/capabilities/create-object.ts +107 -0
  432. package/src/capabilities/identity-created.ts +8 -9
  433. package/src/capabilities/index.ts +2 -2
  434. package/src/capabilities/navigation-handler/navigation-handler.ts +1 -1
  435. package/src/capabilities/navigation-resolver.ts +8 -20
  436. package/src/capabilities/node.ts +2 -1
  437. package/src/capabilities/operation-handler.ts +1 -1
  438. package/src/capabilities/react-surface.tsx +110 -72
  439. package/src/capabilities/repair.ts +6 -3
  440. package/src/capabilities/spaces-ready.ts +107 -90
  441. package/src/capabilities/state.ts +1 -1
  442. package/src/capabilities/undo-mappings.ts +3 -4
  443. package/src/{cli/commands → commands}/database/add.ts +24 -29
  444. package/src/{cli/commands → commands}/database/query/query.test.ts +3 -3
  445. package/src/{cli/commands → commands}/database/stats.ts +1 -2
  446. package/src/{cli/commands → commands}/database/util.ts +1 -1
  447. package/src/{cli/commands → commands}/queue/query.ts +20 -14
  448. package/src/{cli/commands → commands}/space/create/create.ts +1 -1
  449. package/src/{cli/commands → commands}/space/list/list.test.ts +1 -1
  450. package/src/{cli/commands → commands}/space/schema/list/list.ts +10 -17
  451. package/src/components/AwaitingObject/AwaitingObject.tsx +31 -32
  452. package/src/components/{CreateDialog → CreateObjectPanel}/CreateObjectPanel.tsx +64 -34
  453. package/src/components/SpaceSettings/SpaceSettings.stories.tsx +2 -1
  454. package/src/components/SyncStatus/save-tracker.ts +2 -1
  455. package/src/components/index.ts +1 -1
  456. package/src/constants.ts +8 -5
  457. package/src/containers/CollectionArticle/CollectionArticle.tsx +14 -37
  458. package/src/containers/CreateObjectDialog/CreateObjectDialog.stories.tsx +2 -3
  459. package/src/containers/CreateObjectDialog/CreateObjectDialog.tsx +65 -33
  460. package/src/containers/CreateSpaceDialog/CreateSpaceDialog.stories.tsx +5 -4
  461. package/src/containers/CreateSpaceDialog/CreateSpaceDialog.tsx +1 -1
  462. package/src/containers/{ObjectRenamePopover/ObjectRenamePopover.tsx → EntityRenamePopover/EntityRenamePopover.tsx} +9 -9
  463. package/src/containers/EntityRenamePopover/index.ts +5 -0
  464. package/src/containers/ImportSpaceDialog/ImportSpaceDialog.tsx +62 -0
  465. package/src/containers/ImportSpaceDialog/index.ts +5 -0
  466. package/src/containers/JoinDialog/JoinDialog.stories.tsx +3 -2
  467. package/src/containers/JoinDialog/JoinDialog.tsx +1 -1
  468. package/src/containers/MembersContainer/MembersContainer.tsx +8 -5
  469. package/src/containers/ObjectCardStack/ObjectCardStack.tsx +6 -7
  470. package/src/containers/RecordArticle/RecordArticle.stories.tsx +6 -4
  471. package/src/containers/RecordArticle/RecordArticle.tsx +23 -16
  472. package/src/containers/RelatedArticle/RelatedArticle.tsx +7 -15
  473. package/src/containers/SchemaContainer/SchemaContainer.tsx +13 -18
  474. package/src/containers/SpacePresence/SpacePresence.stories.tsx +2 -1
  475. package/src/containers/SpacePresence/SpacePresence.tsx +1 -1
  476. package/src/containers/SpaceRenamePopover/SpaceRenamePopover.tsx +3 -3
  477. package/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.tsx +4 -3
  478. package/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.tsx +68 -56
  479. package/src/containers/SyncStatus/SyncStatus.stories.tsx +2 -1
  480. package/src/containers/SyncStatus/SyncStatus.tsx +8 -2
  481. package/src/containers/ViewEditor/ViewEditor.tsx +31 -29
  482. package/src/containers/index.ts +2 -1
  483. package/src/hooks/useInputSurfaceLookup.tsx +9 -2
  484. package/src/index.ts +2 -4
  485. package/src/meta.ts +24 -6
  486. package/src/operations/add-object.ts +16 -13
  487. package/src/operations/add-relation.ts +1 -1
  488. package/src/operations/add-type.ts +51 -0
  489. package/src/operations/close.ts +1 -1
  490. package/src/operations/create.ts +17 -10
  491. package/src/operations/definitions.ts +142 -57
  492. package/src/operations/delete-field.ts +5 -4
  493. package/src/operations/delete.ts +18 -0
  494. package/src/operations/duplicate-object.ts +4 -17
  495. package/src/operations/export-space.ts +30 -0
  496. package/src/operations/get-share-link.ts +1 -1
  497. package/src/operations/import-space.ts +23 -0
  498. package/src/operations/index.ts +6 -2
  499. package/src/operations/join.ts +1 -1
  500. package/src/operations/migrate.ts +6 -4
  501. package/src/operations/open-create-object.ts +1 -1
  502. package/src/operations/open-create-space.ts +1 -1
  503. package/src/operations/open-import-space.ts +21 -0
  504. package/src/operations/open-members.ts +1 -1
  505. package/src/operations/open-settings.ts +2 -2
  506. package/src/operations/open.ts +1 -1
  507. package/src/operations/remove-objects.ts +29 -46
  508. package/src/operations/rename-object.ts +4 -6
  509. package/src/operations/rename.ts +1 -1
  510. package/src/operations/restore-field.ts +5 -4
  511. package/src/operations/restore-objects.ts +8 -18
  512. package/src/operations/share.ts +2 -2
  513. package/src/operations/snapshot.ts +1 -1
  514. package/src/operations/wait-for-object.ts +1 -1
  515. package/src/plugin.ts +11 -0
  516. package/src/testing.ts +7 -0
  517. package/src/translations.ts +48 -18
  518. package/src/types/capabilities.ts +33 -8
  519. package/src/types/events.ts +1 -1
  520. package/src/types/types.ts +8 -3
  521. package/src/util.ts +1 -44
  522. package/src/vite-env.d.ts +10 -0
  523. package/dist/lib/browser/add-object-XUA4QRWE.mjs.map +0 -7
  524. package/dist/lib/browser/add-relation-YNTOBNYM.mjs.map +0 -7
  525. package/dist/lib/browser/add-schema-Q5X2SAX4.mjs +0 -60
  526. package/dist/lib/browser/add-schema-Q5X2SAX4.mjs.map +0 -7
  527. package/dist/lib/browser/chunk-5CKPBXLB.mjs +0 -16
  528. package/dist/lib/browser/chunk-5CKPBXLB.mjs.map +0 -7
  529. package/dist/lib/browser/chunk-BJAZV3HI.mjs.map +0 -7
  530. package/dist/lib/browser/chunk-FBRDXXNK.mjs.map +0 -7
  531. package/dist/lib/browser/chunk-VV4C4APQ.mjs +0 -16
  532. package/dist/lib/browser/chunk-VV4C4APQ.mjs.map +0 -7
  533. package/dist/lib/browser/chunk-YSV6LKD6.mjs +0 -71
  534. package/dist/lib/browser/chunk-YSV6LKD6.mjs.map +0 -7
  535. package/dist/lib/browser/cli/index.mjs.map +0 -7
  536. package/dist/lib/browser/create-AE3FYWXG.mjs.map +0 -7
  537. package/dist/lib/browser/delete-field-G77IGW6B.mjs.map +0 -7
  538. package/dist/lib/browser/duplicate-object-B3Q64ELR.mjs +0 -42
  539. package/dist/lib/browser/duplicate-object-B3Q64ELR.mjs.map +0 -7
  540. package/dist/lib/browser/index.mjs +0 -913
  541. package/dist/lib/browser/index.mjs.map +0 -7
  542. package/dist/lib/browser/meta.json +0 -1
  543. package/dist/lib/browser/migrate-J7OVAUIM.mjs.map +0 -7
  544. package/dist/lib/browser/open-create-object-QQFDBDDC.mjs.map +0 -7
  545. package/dist/lib/browser/operations/index.mjs +0 -14
  546. package/dist/lib/browser/operations/index.mjs.map +0 -7
  547. package/dist/lib/browser/remove-objects-5JFRQRGL.mjs +0 -79
  548. package/dist/lib/browser/remove-objects-5JFRQRGL.mjs.map +0 -7
  549. package/dist/lib/browser/rename-object-V2LDZGOE.mjs.map +0 -7
  550. package/dist/lib/browser/restore-field-TQJP2YJI.mjs.map +0 -7
  551. package/dist/lib/browser/restore-objects-23VJYK72.mjs.map +0 -7
  552. package/dist/lib/browser/snapshot-OOA2JZ67.mjs.map +0 -7
  553. package/dist/lib/node-esm/SpaceSettings-YW75BDWT.mjs +0 -48
  554. package/dist/lib/node-esm/SpaceSettings-YW75BDWT.mjs.map +0 -7
  555. package/dist/lib/node-esm/add-object-OULSB2DR.mjs +0 -87
  556. package/dist/lib/node-esm/add-object-OULSB2DR.mjs.map +0 -7
  557. package/dist/lib/node-esm/add-relation-K6EZYWKL.mjs +0 -27
  558. package/dist/lib/node-esm/add-relation-K6EZYWKL.mjs.map +0 -7
  559. package/dist/lib/node-esm/add-schema-4GSWOILA.mjs +0 -61
  560. package/dist/lib/node-esm/add-schema-4GSWOILA.mjs.map +0 -7
  561. package/dist/lib/node-esm/chunk-64AL4GHY.mjs +0 -18
  562. package/dist/lib/node-esm/chunk-64AL4GHY.mjs.map +0 -7
  563. package/dist/lib/node-esm/chunk-7Z5ON2QQ.mjs +0 -99
  564. package/dist/lib/node-esm/chunk-7Z5ON2QQ.mjs.map +0 -7
  565. package/dist/lib/node-esm/chunk-GTF56ZOK.mjs +0 -10
  566. package/dist/lib/node-esm/chunk-GTF56ZOK.mjs.map +0 -7
  567. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  568. package/dist/lib/node-esm/chunk-IHOQPYNT.mjs +0 -73
  569. package/dist/lib/node-esm/chunk-IHOQPYNT.mjs.map +0 -7
  570. package/dist/lib/node-esm/chunk-IYW6CXLN.mjs +0 -18
  571. package/dist/lib/node-esm/chunk-IYW6CXLN.mjs.map +0 -7
  572. package/dist/lib/node-esm/chunk-TZTVDLGM.mjs +0 -490
  573. package/dist/lib/node-esm/chunk-TZTVDLGM.mjs.map +0 -7
  574. package/dist/lib/node-esm/cli/index.mjs +0 -861
  575. package/dist/lib/node-esm/cli/index.mjs.map +0 -7
  576. package/dist/lib/node-esm/close-JSUMHN7R.mjs +0 -18
  577. package/dist/lib/node-esm/close-JSUMHN7R.mjs.map +0 -7
  578. package/dist/lib/node-esm/create-BRA5OQHY.mjs +0 -75
  579. package/dist/lib/node-esm/create-BRA5OQHY.mjs.map +0 -7
  580. package/dist/lib/node-esm/delete-field-UNKELUX7.mjs +0 -68
  581. package/dist/lib/node-esm/delete-field-UNKELUX7.mjs.map +0 -7
  582. package/dist/lib/node-esm/duplicate-object-QDZHK24D.mjs +0 -43
  583. package/dist/lib/node-esm/duplicate-object-QDZHK24D.mjs.map +0 -7
  584. package/dist/lib/node-esm/get-share-link-XLBJHWDY.mjs +0 -42
  585. package/dist/lib/node-esm/get-share-link-XLBJHWDY.mjs.map +0 -7
  586. package/dist/lib/node-esm/index.mjs +0 -914
  587. package/dist/lib/node-esm/index.mjs.map +0 -7
  588. package/dist/lib/node-esm/join-RGM74NMA.mjs +0 -29
  589. package/dist/lib/node-esm/join-RGM74NMA.mjs.map +0 -7
  590. package/dist/lib/node-esm/meta.json +0 -1
  591. package/dist/lib/node-esm/meta.mjs +0 -9
  592. package/dist/lib/node-esm/migrate-NXBHBCFU.mjs +0 -51
  593. package/dist/lib/node-esm/migrate-NXBHBCFU.mjs.map +0 -7
  594. package/dist/lib/node-esm/open-ZUK63Z2F.mjs +0 -18
  595. package/dist/lib/node-esm/open-ZUK63Z2F.mjs.map +0 -7
  596. package/dist/lib/node-esm/open-create-object-CMNXPKSF.mjs +0 -43
  597. package/dist/lib/node-esm/open-create-object-CMNXPKSF.mjs.map +0 -7
  598. package/dist/lib/node-esm/open-create-space-W6DDCTCA.mjs +0 -25
  599. package/dist/lib/node-esm/open-create-space-W6DDCTCA.mjs.map +0 -7
  600. package/dist/lib/node-esm/open-members-BUANVOZL.mjs +0 -24
  601. package/dist/lib/node-esm/open-members-BUANVOZL.mjs.map +0 -7
  602. package/dist/lib/node-esm/open-settings-U2SJX5EW.mjs +0 -24
  603. package/dist/lib/node-esm/open-settings-U2SJX5EW.mjs.map +0 -7
  604. package/dist/lib/node-esm/operations/index.mjs +0 -15
  605. package/dist/lib/node-esm/operations/index.mjs.map +0 -7
  606. package/dist/lib/node-esm/remove-objects-KTAS3FB3.mjs +0 -80
  607. package/dist/lib/node-esm/remove-objects-KTAS3FB3.mjs.map +0 -7
  608. package/dist/lib/node-esm/rename-F5GAS22G.mjs +0 -26
  609. package/dist/lib/node-esm/rename-F5GAS22G.mjs.map +0 -7
  610. package/dist/lib/node-esm/rename-object-D2AVOXBO.mjs +0 -27
  611. package/dist/lib/node-esm/rename-object-D2AVOXBO.mjs.map +0 -7
  612. package/dist/lib/node-esm/restore-field-O7T4WCMB.mjs +0 -66
  613. package/dist/lib/node-esm/restore-field-O7T4WCMB.mjs.map +0 -7
  614. package/dist/lib/node-esm/restore-objects-IRKTUGP2.mjs +0 -57
  615. package/dist/lib/node-esm/restore-objects-IRKTUGP2.mjs.map +0 -7
  616. package/dist/lib/node-esm/share-5CZU3XKX.mjs +0 -32
  617. package/dist/lib/node-esm/share-5CZU3XKX.mjs.map +0 -7
  618. package/dist/lib/node-esm/snapshot-H3SRUIPR.mjs +0 -39
  619. package/dist/lib/node-esm/snapshot-H3SRUIPR.mjs.map +0 -7
  620. package/dist/lib/node-esm/wait-for-object-G2HJINN3.mjs +0 -24
  621. package/dist/lib/node-esm/wait-for-object-G2HJINN3.mjs.map +0 -7
  622. package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts +0 -38
  623. package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts.map +0 -1
  624. package/dist/types/src/capabilities/migrations.d.ts +0 -5
  625. package/dist/types/src/capabilities/migrations.d.ts.map +0 -1
  626. package/dist/types/src/cli/commands/database/add.d.ts +0 -16
  627. package/dist/types/src/cli/commands/database/add.d.ts.map +0 -1
  628. package/dist/types/src/cli/commands/database/index.d.ts.map +0 -1
  629. package/dist/types/src/cli/commands/database/query/index.d.ts.map +0 -1
  630. package/dist/types/src/cli/commands/database/query/query.d.ts.map +0 -1
  631. package/dist/types/src/cli/commands/database/query/query.test.d.ts.map +0 -1
  632. package/dist/types/src/cli/commands/database/remove.d.ts.map +0 -1
  633. package/dist/types/src/cli/commands/database/stats.d.ts.map +0 -1
  634. package/dist/types/src/cli/commands/database/util.d.ts.map +0 -1
  635. package/dist/types/src/cli/commands/index.d.ts.map +0 -1
  636. package/dist/types/src/cli/commands/queue/index.d.ts.map +0 -1
  637. package/dist/types/src/cli/commands/queue/query.d.ts +0 -8
  638. package/dist/types/src/cli/commands/queue/query.d.ts.map +0 -1
  639. package/dist/types/src/cli/commands/queue/util.d.ts.map +0 -1
  640. package/dist/types/src/cli/commands/space/close/close.d.ts +0 -12
  641. package/dist/types/src/cli/commands/space/close/close.d.ts.map +0 -1
  642. package/dist/types/src/cli/commands/space/close/index.d.ts.map +0 -1
  643. package/dist/types/src/cli/commands/space/create/create.d.ts.map +0 -1
  644. package/dist/types/src/cli/commands/space/create/create.test.d.ts.map +0 -1
  645. package/dist/types/src/cli/commands/space/create/index.d.ts.map +0 -1
  646. package/dist/types/src/cli/commands/space/index.d.ts.map +0 -1
  647. package/dist/types/src/cli/commands/space/info/index.d.ts.map +0 -1
  648. package/dist/types/src/cli/commands/space/info/info.d.ts.map +0 -1
  649. package/dist/types/src/cli/commands/space/info/info.test.d.ts.map +0 -1
  650. package/dist/types/src/cli/commands/space/join/index.d.ts.map +0 -1
  651. package/dist/types/src/cli/commands/space/join/join.d.ts.map +0 -1
  652. package/dist/types/src/cli/commands/space/join/util.d.ts.map +0 -1
  653. package/dist/types/src/cli/commands/space/list/index.d.ts.map +0 -1
  654. package/dist/types/src/cli/commands/space/list/list.d.ts.map +0 -1
  655. package/dist/types/src/cli/commands/space/list/list.test.d.ts.map +0 -1
  656. package/dist/types/src/cli/commands/space/members/index.d.ts.map +0 -1
  657. package/dist/types/src/cli/commands/space/members/members.d.ts.map +0 -1
  658. package/dist/types/src/cli/commands/space/members/members.test.d.ts.map +0 -1
  659. package/dist/types/src/cli/commands/space/members/util.d.ts.map +0 -1
  660. package/dist/types/src/cli/commands/space/open/index.d.ts.map +0 -1
  661. package/dist/types/src/cli/commands/space/open/open.d.ts +0 -12
  662. package/dist/types/src/cli/commands/space/open/open.d.ts.map +0 -1
  663. package/dist/types/src/cli/commands/space/schema/index.d.ts.map +0 -1
  664. package/dist/types/src/cli/commands/space/schema/list/index.d.ts.map +0 -1
  665. package/dist/types/src/cli/commands/space/schema/list/list.d.ts.map +0 -1
  666. package/dist/types/src/cli/commands/space/schema/list/list.test.d.ts.map +0 -1
  667. package/dist/types/src/cli/commands/space/schema/list/util.d.ts.map +0 -1
  668. package/dist/types/src/cli/commands/space/share/index.d.ts.map +0 -1
  669. package/dist/types/src/cli/commands/space/share/share.d.ts.map +0 -1
  670. package/dist/types/src/cli/commands/space/sync/index.d.ts.map +0 -1
  671. package/dist/types/src/cli/commands/space/sync/sync.d.ts.map +0 -1
  672. package/dist/types/src/cli/commands/space/sync/sync.test.d.ts.map +0 -1
  673. package/dist/types/src/cli/index.d.ts +0 -2
  674. package/dist/types/src/cli/index.d.ts.map +0 -1
  675. package/dist/types/src/cli/plugin.d.ts.map +0 -1
  676. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +0 -1
  677. package/dist/types/src/components/CreateDialog/index.d.ts.map +0 -1
  678. package/dist/types/src/containers/ObjectRenamePopover/ObjectRenamePopover.d.ts +0 -7
  679. package/dist/types/src/containers/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +0 -1
  680. package/dist/types/src/containers/ObjectRenamePopover/index.d.ts +0 -2
  681. package/dist/types/src/operations/add-schema.d.ts.map +0 -1
  682. package/src/capabilities/migrations.ts +0 -59
  683. package/src/cli/index.ts +0 -5
  684. package/src/containers/ObjectRenamePopover/index.ts +0 -5
  685. package/src/operations/add-schema.ts +0 -51
  686. /package/dist/lib/{browser/chunk-J5LGTIGS.mjs.map → neutral/SmallPresenceLive-GUF4WLUC.mjs.map} +0 -0
  687. /package/dist/lib/{browser/meta.mjs.map → neutral/SpacePlugin.mjs.map} +0 -0
  688. /package/dist/lib/{browser/types/index.mjs.map → neutral/SpacePresence-ACEXUS3N.mjs.map} +0 -0
  689. /package/dist/lib/{browser/SpaceSettings-TR2IMHOL.mjs.map → neutral/SpaceSettings-RJWNYZAL.mjs.map} +0 -0
  690. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
  691. /package/dist/lib/{node-esm/chunk-HSLMI22Q.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  692. /package/dist/lib/{node-esm/types → neutral}/index.mjs.map +0 -0
  693. /package/dist/lib/{node-esm → neutral}/meta.mjs.map +0 -0
  694. /package/dist/types/src/{cli/commands → commands}/database/index.d.ts +0 -0
  695. /package/dist/types/src/{cli/commands → commands}/database/query/index.d.ts +0 -0
  696. /package/dist/types/src/{cli/commands → commands}/database/query/query.test.d.ts +0 -0
  697. /package/dist/types/src/{cli/commands → commands}/database/util.d.ts +0 -0
  698. /package/dist/types/src/{cli/commands → commands}/index.d.ts +0 -0
  699. /package/dist/types/src/{cli/commands → commands}/queue/util.d.ts +0 -0
  700. /package/dist/types/src/{cli/commands → commands}/space/close/index.d.ts +0 -0
  701. /package/dist/types/src/{cli/commands → commands}/space/create/create.test.d.ts +0 -0
  702. /package/dist/types/src/{cli/commands → commands}/space/create/index.d.ts +0 -0
  703. /package/dist/types/src/{cli/commands → commands}/space/info/index.d.ts +0 -0
  704. /package/dist/types/src/{cli/commands → commands}/space/info/info.test.d.ts +0 -0
  705. /package/dist/types/src/{cli/commands → commands}/space/join/index.d.ts +0 -0
  706. /package/dist/types/src/{cli/commands → commands}/space/join/util.d.ts +0 -0
  707. /package/dist/types/src/{cli/commands → commands}/space/list/index.d.ts +0 -0
  708. /package/dist/types/src/{cli/commands → commands}/space/list/list.test.d.ts +0 -0
  709. /package/dist/types/src/{cli/commands → commands}/space/members/index.d.ts +0 -0
  710. /package/dist/types/src/{cli/commands → commands}/space/members/members.test.d.ts +0 -0
  711. /package/dist/types/src/{cli/commands → commands}/space/members/util.d.ts +0 -0
  712. /package/dist/types/src/{cli/commands → commands}/space/open/index.d.ts +0 -0
  713. /package/dist/types/src/{cli/commands → commands}/space/schema/list/index.d.ts +0 -0
  714. /package/dist/types/src/{cli/commands → commands}/space/schema/list/list.test.d.ts +0 -0
  715. /package/dist/types/src/{cli/commands → commands}/space/schema/list/util.d.ts +0 -0
  716. /package/dist/types/src/{cli/commands → commands}/space/share/index.d.ts +0 -0
  717. /package/dist/types/src/{cli/commands → commands}/space/sync/index.d.ts +0 -0
  718. /package/dist/types/src/{cli/commands → commands}/space/sync/sync.d.ts +0 -0
  719. /package/dist/types/src/{cli/commands → commands}/space/sync/sync.test.d.ts +0 -0
  720. /package/dist/types/src/components/{CreateDialog → CreateObjectPanel}/index.d.ts +0 -0
  721. /package/src/{cli/commands → commands}/database/index.ts +0 -0
  722. /package/src/{cli/commands → commands}/database/query/index.ts +0 -0
  723. /package/src/{cli/commands → commands}/database/query/query.ts +0 -0
  724. /package/src/{cli/commands → commands}/database/remove.ts +0 -0
  725. /package/src/{cli/commands → commands}/index.ts +0 -0
  726. /package/src/{cli/commands → commands}/queue/index.ts +0 -0
  727. /package/src/{cli/commands → commands}/queue/util.ts +0 -0
  728. /package/src/{cli/commands → commands}/space/close/close.ts +0 -0
  729. /package/src/{cli/commands → commands}/space/close/index.ts +0 -0
  730. /package/src/{cli/commands → commands}/space/create/create.test.ts +0 -0
  731. /package/src/{cli/commands → commands}/space/create/index.ts +0 -0
  732. /package/src/{cli/commands → commands}/space/index.ts +0 -0
  733. /package/src/{cli/commands → commands}/space/info/index.ts +0 -0
  734. /package/src/{cli/commands → commands}/space/info/info.test.ts +0 -0
  735. /package/src/{cli/commands → commands}/space/info/info.ts +0 -0
  736. /package/src/{cli/commands → commands}/space/join/index.ts +0 -0
  737. /package/src/{cli/commands → commands}/space/join/join.ts +0 -0
  738. /package/src/{cli/commands → commands}/space/join/util.ts +0 -0
  739. /package/src/{cli/commands → commands}/space/list/index.ts +0 -0
  740. /package/src/{cli/commands → commands}/space/list/list.ts +0 -0
  741. /package/src/{cli/commands → commands}/space/members/index.ts +0 -0
  742. /package/src/{cli/commands → commands}/space/members/members.test.ts +0 -0
  743. /package/src/{cli/commands → commands}/space/members/members.ts +0 -0
  744. /package/src/{cli/commands → commands}/space/members/util.ts +0 -0
  745. /package/src/{cli/commands → commands}/space/open/index.ts +0 -0
  746. /package/src/{cli/commands → commands}/space/open/open.ts +0 -0
  747. /package/src/{cli/commands → commands}/space/schema/index.ts +0 -0
  748. /package/src/{cli/commands → commands}/space/schema/list/index.ts +0 -0
  749. /package/src/{cli/commands → commands}/space/schema/list/list.test.ts +0 -0
  750. /package/src/{cli/commands → commands}/space/schema/list/util.ts +0 -0
  751. /package/src/{cli/commands → commands}/space/share/index.ts +0 -0
  752. /package/src/{cli/commands → commands}/space/share/share.ts +0 -0
  753. /package/src/{cli/commands → commands}/space/sync/index.ts +0 -0
  754. /package/src/{cli/commands → commands}/space/sync/sync.test.ts +0 -0
  755. /package/src/{cli/commands → commands}/space/sync/sync.ts +0 -0
  756. /package/src/components/{CreateDialog → CreateObjectPanel}/index.ts +0 -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 { Filter, Obj, type Type } from '@dxos/echo';
9
+ import { type Operation } from '@dxos/compute';
10
+ import { Annotation, Filter, Obj, Type } from '@dxos/echo';
10
11
  import { AtomObj, AtomQuery } from '@dxos/echo-atom';
11
- import { Migrations } from '@dxos/migrations';
12
- import { type Operation } from '@dxos/operation';
12
+ import { MigrationVersionAnnotation, Migrations } from '@dxos/migrations';
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
  //
@@ -104,8 +95,9 @@ export const checkPendingMigration = (space: Space) => {
104
95
  return (
105
96
  space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION ||
106
97
  (space.state.get() === SpaceState.SPACE_READY &&
107
- !!Migrations.versionProperty &&
108
- space.properties[Migrations.versionProperty] !== Migrations.targetVersion)
98
+ !!Migrations.targetVersion &&
99
+ Annotation.get(space.properties, MigrationVersionAnnotation).pipe(Option.getOrUndefined) !==
100
+ Migrations.targetVersion)
109
101
  );
110
102
  };
111
103
 
@@ -134,6 +126,8 @@ export type ViewIndex = {
134
126
  typenamesWithViews: Set<string>;
135
127
  /** View objects targeting a specific typename. */
136
128
  getViewsForTypename: (typename: string) => Obj.Any[];
129
+ /** 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`). */
130
+ isView: (object: Obj.Any) => boolean;
137
131
  };
138
132
 
139
133
  /**
@@ -143,18 +137,45 @@ export type ViewIndex = {
143
137
  */
144
138
  // TODO(wittjosiah): Make reactive to schema registry changes (currently only object/view mutations trigger updates).
145
139
  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)));
140
+ const viewSchemas = schemas.filter((schema) => ViewAnnotation.has(schema));
147
141
 
148
142
  const viewsByTypename = new Map<string, Obj.Any[]>();
143
+ // Object IDs whose `ViewAnnotation` path resolves to a non-null value.
144
+ // Used by `isView` to distinguish view instances from regular instances of
145
+ // the same schema (e.g. items-variant Kanban vs view-variant Kanban).
146
+ const viewObjectIds = new Set<string>();
149
147
 
150
148
  if (viewSchemas.length > 0) {
151
149
  const filter = Filter.or(...viewSchemas.map((schema) => Filter.type(schema)));
152
150
  const viewObjects = get(AtomQuery.make(space.db, filter));
153
151
 
154
152
  for (const viewObject of viewObjects) {
153
+ if (!Obj.isObject(viewObject)) {
154
+ continue;
155
+ }
156
+ const holderType = Obj.getType(viewObject);
157
+ const path = holderType
158
+ ? ViewAnnotation.get(Type.getSchema(holderType)).pipe(Option.getOrElse(() => [] as EchoViewRefPath))
159
+ : ([] as EchoViewRefPath);
160
+
161
+ if (path.length === 0) {
162
+ continue;
163
+ }
164
+
155
165
  const viewSnapshot = get(AtomObj.make(viewObject));
156
- const viewRef = viewSnapshot.view;
157
- const viewTarget = viewRef ? get(AtomObj.make(viewRef)) : undefined;
166
+ let holder: unknown = viewSnapshot;
167
+ for (const segment of path) {
168
+ holder =
169
+ holder == null || typeof holder !== 'object' ? undefined : (holder as Record<string, unknown>)[segment];
170
+ }
171
+ // Path resolved to a non-null value → this instance is a "view". Path
172
+ // resolved to null/undefined → it's a regular object that happens to
173
+ // be of a view-annotated schema.
174
+ if (holder != null) {
175
+ viewObjectIds.add(viewObject.id);
176
+ }
177
+
178
+ const viewTarget = holder !== undefined ? get(AtomObj.make(holder as Obj.Any)) : undefined;
158
179
  const typename = getTypenameFromQuery(viewTarget?.query?.ast);
159
180
  if (typename) {
160
181
  const existing = viewsByTypename.get(typename) ?? [];
@@ -167,5 +188,6 @@ export const buildViewIndex = (get: Atom.Context, space: Space, schemas: Type.An
167
188
  return {
168
189
  typenamesWithViews: new Set(viewsByTypename.keys()),
169
190
  getViewsForTypename: (typename) => viewsByTypename.get(typename) ?? [],
191
+ isView: (object) => viewObjectIds.has(object.id),
170
192
  };
171
193
  };
@@ -5,14 +5,22 @@
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 {
9
+ AppCapabilities,
10
+ AppNodeMatcher,
11
+ getActiveSpace,
12
+ getPersonalSpace,
13
+ isExemplarSpace,
14
+ isPersonalSpace,
15
+ } from '@dxos/app-toolkit';
9
16
  import { type Space, SpaceState } from '@dxos/client/echo';
17
+ import { Operation } from '@dxos/compute';
10
18
  import { Filter, Obj } from '@dxos/echo';
11
19
  import { AtomObj, AtomQuery } from '@dxos/echo-atom';
12
20
  import { Migrations } from '@dxos/migrations';
13
- import { Operation } from '@dxos/operation';
14
- import { ClientCapabilities } from '@dxos/plugin-client/types';
21
+ import { ClientCapabilities } from '@dxos/plugin-client';
15
22
  import { CreateAtom, Graph, GraphBuilder, Node, NodeMatcher } from '@dxos/plugin-graph';
23
+ import { SpaceArchive } from '@dxos/protocols/proto/dxos/client/services';
16
24
  import { Expando } from '@dxos/schema';
17
25
 
18
26
  import { meta } from '#meta';
@@ -26,11 +34,9 @@ import {
26
34
  CREATE_OBJECT_IN_SPACE_LABEL,
27
35
  MIGRATE_SPACE_LABEL,
28
36
  RENAME_SPACE_LABEL,
29
- SETTINGS_PANEL_LABEL,
30
37
  checkPendingMigration,
31
38
  spaceActionsCache,
32
39
  spaceRearrangeCache,
33
- whenSpace,
34
40
  } from './shared';
35
41
 
36
42
  //
@@ -43,8 +49,8 @@ export const createSpaceExtensions = Effect.fnUntraced(function* () {
43
49
 
44
50
  return yield* Effect.all([
45
51
  GraphBuilder.createExtension({
46
- id: 'primary-actions',
47
- position: 'hoist',
52
+ id: 'primaryActions',
53
+ position: 'first',
48
54
  match: NodeMatcher.whenRoot,
49
55
  actions: () =>
50
56
  Effect.succeed([
@@ -68,6 +74,45 @@ export const createSpaceExtensions = Effect.fnUntraced(function* () {
68
74
  disposition: 'menu',
69
75
  },
70
76
  }),
77
+ Node.makeAction({
78
+ id: SpaceOperation.OpenImportSpace.meta.key,
79
+ data: () => Operation.invoke(SpaceOperation.OpenImportSpace),
80
+ properties: {
81
+ label: ['import-space.label', { ns: meta.id }],
82
+ icon: 'ph--upload--regular',
83
+ testId: 'spacePlugin.importSpace',
84
+ },
85
+ }),
86
+ Node.makeAction({
87
+ id: `${SpaceOperation.ExportSpace.meta.key}.binary`,
88
+ data: Effect.fnUntraced(function* () {
89
+ const client = yield* Capability.get(ClientCapabilities.Client);
90
+ const space = getActiveSpace(client, capabilities) ?? getPersonalSpace(client);
91
+ if (space) {
92
+ yield* Operation.invoke(SpaceOperation.ExportSpace, { space, format: SpaceArchive.Format.BINARY });
93
+ }
94
+ }),
95
+ properties: {
96
+ label: ['export-space-binary.label', { ns: meta.id }],
97
+ icon: 'ph--download--regular',
98
+ testId: 'spacePlugin.exportSpaceBinary',
99
+ },
100
+ }),
101
+ Node.makeAction({
102
+ id: `${SpaceOperation.ExportSpace.meta.key}.json`,
103
+ data: Effect.fnUntraced(function* () {
104
+ const client = yield* Capability.get(ClientCapabilities.Client);
105
+ const space = getActiveSpace(client, capabilities) ?? getPersonalSpace(client);
106
+ if (space) {
107
+ yield* Operation.invoke(SpaceOperation.ExportSpace, { space, format: SpaceArchive.Format.JSON });
108
+ }
109
+ }),
110
+ properties: {
111
+ label: ['export-space-json.label', { ns: meta.id }],
112
+ icon: 'ph--download--regular',
113
+ testId: 'spacePlugin.exportSpaceJson',
114
+ },
115
+ }),
71
116
  Node.makeAction({
72
117
  id: SpaceOperation.OpenMembers.meta.key,
73
118
  data: Effect.fnUntraced(function* () {
@@ -153,7 +198,7 @@ export const createSpaceExtensions = Effect.fnUntraced(function* () {
153
198
  ...spaces.filter((space) => !orderMap.has(space.id)),
154
199
  ]
155
200
  .filter((space, idx) => (settings?.showHidden ? true : spaceStates[idx] !== SpaceState.SPACE_INACTIVE))
156
- .filter((space) => space.tags.length === 0 || isPersonalSpace(space))
201
+ .filter((space) => space.tags.length === 0 || isPersonalSpace(space) || isExemplarSpace(space))
157
202
  .map((space) =>
158
203
  constructSpaceNode({
159
204
  space,
@@ -175,7 +220,7 @@ export const createSpaceExtensions = Effect.fnUntraced(function* () {
175
220
 
176
221
  GraphBuilder.createExtension({
177
222
  id: 'actions',
178
- match: whenSpace,
223
+ match: AppNodeMatcher.whenSpace,
179
224
  actions: (space, get) => {
180
225
  const [client] = get(capabilities.atom(ClientCapabilities.Client));
181
226
  const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
@@ -185,6 +230,12 @@ export const createSpaceExtensions = Effect.fnUntraced(function* () {
185
230
  return Effect.succeed([]);
186
231
  }
187
232
 
233
+ // Recompute actions when a migration completes (state transition or versionProperty stamp).
234
+ get(CreateAtom.fromObservable(space.state));
235
+ if (space.state.get() === SpaceState.SPACE_READY) {
236
+ get(AtomObj.make(space.properties));
237
+ }
238
+
188
239
  return Effect.succeed(
189
240
  constructSpaceActions({
190
241
  space,
@@ -230,7 +281,7 @@ const constructSpaceNode = ({
230
281
  nextOrder.map(({ id }) => id),
231
282
  );
232
283
 
233
- Obj.change(spacesOrder, (spacesOrder: any) => {
284
+ Obj.update(spacesOrder, (spacesOrder: any) => {
234
285
  spacesOrder.order = nextOrder.map(({ id }) => id);
235
286
  });
236
287
  };
@@ -258,19 +309,6 @@ const constructSpaceNode = ({
258
309
  onRearrange,
259
310
  canDrop: CAN_DROP_SPACE,
260
311
  },
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
312
  });
275
313
  };
276
314
 
@@ -3,21 +3,21 @@
3
3
  //
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
+ import * as Option from 'effect/Option';
6
7
 
7
8
  import { Capabilities, Capability } from '@dxos/app-framework';
8
- import { AppCapabilities } from '@dxos/app-toolkit';
9
+ import { AppCapabilities, RootCollectionAnnotation } from '@dxos/app-toolkit';
9
10
  import { isSpace } from '@dxos/client/echo';
10
- import { Obj } from '@dxos/echo';
11
- import { Collection } from '@dxos/echo';
11
+ import { Annotation, Collection, Obj, Type } from '@dxos/echo';
12
12
 
13
13
  import { meta } from '#meta';
14
14
  import { SpaceOperation } from '#operations';
15
+ import { translations } from '#translations';
15
16
  import { SPACE_TYPE } from '#types';
16
17
 
17
- import { translations } from '../translations';
18
18
  import { SPACES } from '../util';
19
19
 
20
- const COLLECTION_TYPE = Collection.Collection.typename;
20
+ const COLLECTION_TYPE = Type.getTypename(Collection.Collection);
21
21
 
22
22
  // https://stackoverflow.com/a/19016910
23
23
  const DIRECTORY_TYPE = 'text/directory';
@@ -66,7 +66,7 @@ export default Capability.makeModule(
66
66
  const space = ancestors.find(isSpace);
67
67
  const collection =
68
68
  ancestors.findLast((ancestor) => Obj.instanceOf(Collection.Collection, ancestor)) ??
69
- space?.properties[COLLECTION_TYPE]?.target;
69
+ (space && Annotation.get(space.properties, RootCollectionAnnotation).pipe(Option.getOrUndefined)?.target);
70
70
  if (!space || !collection) {
71
71
  return;
72
72
  }
@@ -0,0 +1,107 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+ import * as Schema from 'effect/Schema';
7
+
8
+ import { Capability } from '@dxos/app-framework';
9
+ import { Operation } from '@dxos/compute';
10
+ import { Collection, Type } from '@dxos/echo';
11
+ import { createDefaultSchema } from '@dxos/schema';
12
+ import { Organization, Person, Project, Task } from '@dxos/types';
13
+
14
+ import { SpaceOperation } from '#operations';
15
+ import { SpaceCapabilities } from '#types';
16
+
17
+ export default Capability.makeModule(
18
+ Effect.fnUntraced(function* () {
19
+ return [
20
+ Capability.contributes(SpaceCapabilities.CreateObjectEntry, {
21
+ id: Type.getTypename(Collection.Collection),
22
+ inputSchema: Schema.Struct({ name: Schema.optional(Schema.String) }),
23
+ createObject: (props, options) =>
24
+ Effect.gen(function* () {
25
+ const object = Collection.make(props);
26
+ return yield* Operation.invoke(SpaceOperation.AddObject, {
27
+ object,
28
+ target: options.target,
29
+ hidden: false,
30
+ targetNodeId: options.targetNodeId,
31
+ });
32
+ }),
33
+ }),
34
+ Capability.contributes(SpaceCapabilities.CreateObjectEntry, {
35
+ id: Type.getTypename(Type.Type),
36
+ inputSchema: SpaceOperation.StoredSchemaForm,
37
+ createObject: (props, options) =>
38
+ Effect.gen(function* () {
39
+ const result = yield* Operation.invoke(SpaceOperation.AddType, {
40
+ db: options.db,
41
+ name: props.name,
42
+ type: createDefaultSchema(),
43
+ });
44
+ return {
45
+ id: result.id,
46
+ subject: [],
47
+ object: result.object,
48
+ };
49
+ }),
50
+ }),
51
+ Capability.contributes(SpaceCapabilities.CreateObjectEntry, {
52
+ id: Type.getTypename(Organization.Organization),
53
+ createObject: (props, options) =>
54
+ Effect.gen(function* () {
55
+ const object = Organization.make(props);
56
+ return yield* Operation.invoke(SpaceOperation.AddObject, {
57
+ object,
58
+ target: options.target,
59
+ hidden: true,
60
+ targetNodeId: options.targetNodeId,
61
+ });
62
+ }),
63
+ }),
64
+ Capability.contributes(SpaceCapabilities.CreateObjectEntry, {
65
+ id: Type.getTypename(Person.Person),
66
+ createObject: (props, options) =>
67
+ Effect.gen(function* () {
68
+ const object = Person.make(props);
69
+ return yield* Operation.invoke(SpaceOperation.AddObject, {
70
+ object,
71
+ target: options.target,
72
+ hidden: true,
73
+ targetNodeId: options.targetNodeId,
74
+ });
75
+ }),
76
+ }),
77
+ Capability.contributes(SpaceCapabilities.CreateObjectEntry, {
78
+ id: Type.getTypename(Project.Project),
79
+ inputSchema: Type.getSchema(Project.Project),
80
+ createObject: (props, options) =>
81
+ Effect.gen(function* () {
82
+ const object = Project.make(props);
83
+ return yield* Operation.invoke(SpaceOperation.AddObject, {
84
+ object,
85
+ target: options.target,
86
+ hidden: true,
87
+ targetNodeId: options.targetNodeId,
88
+ });
89
+ }),
90
+ }),
91
+ Capability.contributes(SpaceCapabilities.CreateObjectEntry, {
92
+ id: Type.getTypename(Task.Task),
93
+ inputSchema: Type.getSchema(Task.Task),
94
+ createObject: (props, options) =>
95
+ Effect.gen(function* () {
96
+ const object = Task.make(props);
97
+ return yield* Operation.invoke(SpaceOperation.AddObject, {
98
+ object,
99
+ target: options.target,
100
+ hidden: true,
101
+ targetNodeId: options.targetNodeId,
102
+ });
103
+ }),
104
+ }),
105
+ ];
106
+ }),
107
+ );
@@ -5,11 +5,10 @@
5
5
  import * as Effect from 'effect/Effect';
6
6
 
7
7
  import { Capability } from '@dxos/app-framework';
8
- import { PERSONAL_SPACE_TAG } from '@dxos/app-toolkit';
9
- import { Obj, Ref } from '@dxos/echo';
10
- import { Collection } from '@dxos/echo';
11
- import { Migrations } from '@dxos/migrations';
12
- import { ClientCapabilities } from '@dxos/plugin-client/types';
8
+ import { PERSONAL_SPACE_TAG, RootCollectionAnnotation } from '@dxos/app-toolkit';
9
+ import { Annotation, Collection, Obj, Ref } from '@dxos/echo';
10
+ import { MigrationVersionAnnotation, Migrations } from '@dxos/migrations';
11
+ import { ClientCapabilities } from '@dxos/plugin-client';
13
12
  import { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';
14
13
  import { MembershipPolicy } from '@dxos/protocols/proto/dxos/halo/credentials';
15
14
 
@@ -24,10 +23,10 @@ export default Capability.makeModule(
24
23
 
25
24
  // Create root collection structure.
26
25
  yield* Effect.tryPromise(() => personalSpace.internal.setEdgeReplicationPreference(EdgeReplicationSetting.ENABLED));
27
- Obj.change(personalSpace.properties, (properties) => {
28
- properties[Collection.Collection.typename] = Ref.make(Collection.make());
29
- if (Migrations.versionProperty) {
30
- properties[Migrations.versionProperty] = Migrations.targetVersion;
26
+ Obj.update(personalSpace.properties, (properties) => {
27
+ Annotation.set(properties, RootCollectionAnnotation, Ref.make(Collection.make()));
28
+ if (Migrations.targetVersion) {
29
+ Annotation.set(properties, MigrationVersionAnnotation, Migrations.targetVersion);
31
30
  }
32
31
  });
33
32
  }),
@@ -3,13 +3,13 @@
3
3
  //
4
4
 
5
5
  import { Capability } from '@dxos/app-framework';
6
- import { OperationHandlerSet } from '@dxos/operation';
6
+ import { OperationHandlerSet } from '@dxos/compute';
7
7
 
8
8
  export * from './app-graph-builder';
9
9
 
10
10
  export const AppGraphSerializer = Capability.lazy('AppGraphSerializer', () => import('./app-graph-serializer'));
11
+ export const CreateObject = Capability.lazy('CreateObject', () => import('./create-object'));
11
12
  export const IdentityCreated = Capability.lazy('IdentityCreated', () => import('./identity-created'));
12
- export const Migrations = Capability.lazy('SpaceMigrations', () => import('./migrations'));
13
13
  export { NavigationHandler } from './navigation-handler';
14
14
  export type { NavigationHandlerOptions } from './navigation-handler';
15
15
  export const NavigationResolver = Capability.lazy('NavigationResolver', () => import('./navigation-resolver'));
@@ -6,8 +6,8 @@ import * as Effect from 'effect/Effect';
6
6
 
7
7
  import { Capabilities, Capability } from '@dxos/app-framework';
8
8
  import { AppCapabilities } from '@dxos/app-toolkit';
9
+ import { Operation } from '@dxos/compute';
9
10
  import { log } from '@dxos/log';
10
- import { Operation } from '@dxos/operation';
11
11
 
12
12
  import { SpaceOperation } from '../../operations';
13
13
 
@@ -14,9 +14,8 @@ import {
14
14
  type AppCapabilities as AppCaps,
15
15
  } from '@dxos/app-toolkit';
16
16
  import { Database, Entity, Key } from '@dxos/echo';
17
- import { DXN } from '@dxos/keys';
18
- import { ClientCapabilities } from '@dxos/plugin-client/types';
19
- import { SETTINGS_ID, SETTINGS_KEY } from '@dxos/plugin-settings/types';
17
+ import { EID } from '@dxos/keys';
18
+ import { SETTINGS_ID, SETTINGS_KEY } from '@dxos/plugin-settings';
20
19
 
21
20
  import { meta } from '#meta';
22
21
 
@@ -35,7 +34,7 @@ export default Capability.makeModule(
35
34
  ];
36
35
  }
37
36
 
38
- const dxn = DXN.tryParse(query.dxn.startsWith('@dxn:') ? query.dxn.slice(1) : query.dxn);
37
+ const dxn = EID.tryParse(query.dxn.startsWith('@dxn:') ? query.dxn.slice(1) : query.dxn);
39
38
  if (!dxn) {
40
39
  return [];
41
40
  }
@@ -61,29 +60,18 @@ export default Capability.makeModule(
61
60
  ];
62
61
  })) as AppCaps.NavigationTargetResolver;
63
62
 
64
- // Resolve object paths to DXNs.
63
+ // Parse object paths into EIDs (structure only; existence is checked by the caller).
65
64
  // Handles canonical type paths (root/<spaceId>/types/<typename>/all/<objectId>)
66
- // and collection paths (root/<spaceId>/collections/<collectionId>/<objectId>).
67
- // Validates that the object actually exists in the space before returning a DXN.
68
- const client = yield* Capability.get(ClientCapabilities.Client);
65
+ // and collection paths (root/<spaceId>/collections/<collectionId>/<objectId>): the space id
66
+ // is the first segment and the object id the last.
69
67
  const pathResolver: AppCaps.NavigationPathResolver = (qualifiedPath) => {
70
68
  const segments = qualifiedPath.split('/');
71
69
  const spaceId = getSpaceIdFromPath(qualifiedPath);
72
70
  const objectId = segments[segments.length - 1];
73
- if (!spaceId || !objectId || !Key.ObjectId.isValid(objectId)) {
71
+ if (!spaceId || !objectId || !Key.EntityId.isValid(objectId)) {
74
72
  return Effect.succeed(Option.none());
75
73
  }
76
-
77
- const space = client.spaces.get(spaceId);
78
- if (!space) {
79
- return Effect.succeed(Option.none());
80
- }
81
-
82
- const dxn = DXN.fromSpaceAndObjectId(spaceId, objectId as Key.ObjectId);
83
- const ref = space.db.makeRef(dxn);
84
- return Database.loadOption(ref).pipe(
85
- Effect.map((option) => (Option.isSome(option) ? Option.some(dxn) : Option.none<DXN>())),
86
- );
74
+ return Effect.succeed(Option.some(EID.make({ spaceId, entityId: objectId as Key.EntityId })));
87
75
  };
88
76
 
89
77
  return [
@@ -3,8 +3,9 @@
3
3
  //
4
4
 
5
5
  import { Capability } from '@dxos/app-framework';
6
- import { OperationHandlerSet } from '@dxos/operation';
6
+ import { OperationHandlerSet } from '@dxos/compute';
7
7
 
8
+ export const CreateObject = Capability.lazy('CreateObject', () => import('./create-object'));
8
9
  export const IdentityCreated = Capability.lazy('IdentityCreated', () => import('./identity-created'));
9
10
  export const OperationHandler = Capability.lazy<OperationHandlerSet.OperationHandlerSet>(
10
11
  'OperationHandler',
@@ -3,7 +3,7 @@
3
3
  import * as Effect from 'effect/Effect';
4
4
 
5
5
  import { Capabilities, Capability } from '@dxos/app-framework';
6
- import type { OperationHandlerSet } from '@dxos/operation';
6
+ import type { OperationHandlerSet } from '@dxos/compute';
7
7
 
8
8
  import { SpaceOperationHandlerSet } from '#operations';
9
9