@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
@@ -4,34 +4,24 @@
4
4
 
5
5
  import React, { useCallback, useMemo } from 'react';
6
6
 
7
- import { useCapabilities, useOperationInvoker } from '@dxos/app-framework/ui';
8
- import { AppCapabilities, LayoutOperation, getCollectionObjectPath, getObjectPathFromObject } from '@dxos/app-toolkit';
7
+ import { useOperationInvoker } from '@dxos/app-framework/ui';
8
+ import { LayoutOperation, getCollectionObjectPath, getObjectPathFromObject } from '@dxos/app-toolkit';
9
9
  import { type AppSurface } from '@dxos/app-toolkit/ui';
10
- import { Obj } from '@dxos/echo';
11
- import { type Collection } from '@dxos/echo';
10
+ import { type Collection, Obj } from '@dxos/echo';
12
11
  import { ScrollArea, toLocalizedString, useTranslation } from '@dxos/react-ui';
13
- import { Card } from '@dxos/react-ui';
12
+ import { Card, Toolbar } from '@dxos/react-ui';
14
13
  import { Mosaic, type MosaicStackTileComponent } from '@dxos/react-ui-mosaic';
15
14
  import { SearchPanel, useSearchListResults } from '@dxos/react-ui-search';
16
15
  import { getStyles } from '@dxos/ui-theme';
17
16
 
18
17
  import { meta } from '#meta';
19
18
 
20
- /**
21
- * Hook to resolve metadata (icon, iconHue, etc.) for objects based on their typename.
22
- */
23
- const useMetadataResolver = () => {
24
- const allMetadata = useCapabilities(AppCapabilities.Metadata);
25
- return useCallback((typename: string) => allMetadata.find((m) => m.id === typename)?.metadata ?? {}, [allMetadata]);
26
- };
27
-
28
19
  /**
29
20
  * Article view for collections.
30
21
  */
31
22
  export const CollectionArticle = ({ subject, attendableId }: AppSurface.ObjectArticleProps<Collection.Collection>) => {
32
23
  const { t } = useTranslation(meta.id);
33
- const resolveMetadata = useMetadataResolver();
34
- const { items, handleSearch } = useCollectionItems(subject, resolveMetadata, attendableId);
24
+ const { items, handleSearch } = useCollectionItems(subject, attendableId);
35
25
 
36
26
  return (
37
27
  <SearchPanel onSearch={handleSearch}>
@@ -77,31 +67,19 @@ const ObjectTile: MosaicStackTileComponent<ObjectItem> = ({ data: item }) => {
77
67
 
78
68
  return (
79
69
  <Card.Root fullWidth role='button' classNames='cursor-pointer' onClick={handleClick}>
80
- <Card.Toolbar>
81
- <Card.ToolbarIconButton
82
- variant='ghost'
83
- label={label}
84
- icon={item.icon}
85
- iconOnly
86
- iconClassNames={styles?.surfaceText}
87
- />
70
+ <Card.Header>
71
+ <Toolbar.IconButton variant='ghost' label={label} icon={item.icon} iconOnly iconClassNames={styles?.fg} />
88
72
  <Card.Title>{label}</Card.Title>
89
73
  <Card.Menu />
90
- </Card.Toolbar>
74
+ </Card.Header>
91
75
  </Card.Root>
92
76
  );
93
77
  };
94
78
 
95
- type MetadataResolver = (typename: string) => { icon?: string; iconHue?: string };
96
-
97
79
  /**
98
80
  * Combined hook to get collection items with search/filter support.
99
81
  */
100
- const useCollectionItems = (
101
- collection: Collection.Collection,
102
- resolveMetadata: MetadataResolver,
103
- attendableId?: string,
104
- ) => {
82
+ const useCollectionItems = (collection: Collection.Collection, attendableId?: string) => {
105
83
  const objects = useMemo(
106
84
  () => (collection.objects ?? []).map((ref) => ref.target).filter((obj): obj is Obj.Unknown => Obj.isObject(obj)),
107
85
  [collection.objects],
@@ -110,19 +88,18 @@ const useCollectionItems = (
110
88
  const items = useMemo(
111
89
  () =>
112
90
  objects.map((obj) => {
113
- const typename = Obj.getTypename(obj);
114
- const metadata = typename ? resolveMetadata(typename) : {};
91
+ const iconAnnotation = Obj.getIcon(obj);
115
92
  const targetPath = attendableId ? getCollectionObjectPath(attendableId, obj.id) : getObjectPathFromObject(obj);
116
93
 
117
94
  return {
118
- id: Obj.getDXN(obj).toString(),
95
+ id: Obj.getURI(obj),
119
96
  object: obj,
120
97
  targetPath,
121
- icon: metadata.icon ?? 'ph--placeholder--regular',
122
- iconHue: metadata.iconHue,
98
+ icon: iconAnnotation?.icon ?? 'ph--circle-dashed--regular',
99
+ iconHue: iconAnnotation?.hue,
123
100
  } satisfies ObjectItem;
124
101
  }),
125
- [objects, resolveMetadata, attendableId],
102
+ [objects, attendableId],
126
103
  );
127
104
 
128
105
  const { results, handleSearch } = useSearchListResults({
@@ -14,8 +14,7 @@ import { Dialog } from '@dxos/react-ui';
14
14
  import { withLayout, withTheme } from '@dxos/react-ui/testing';
15
15
 
16
16
  import { type CreateObjectOption, type Metadata, CreateObjectPanel } from '#components';
17
-
18
- import { translations } from '../../translations';
17
+ import { translations } from '#translations';
19
18
 
20
19
  const mockOptions: CreateObjectOption[] = [
21
20
  { id: 'org.dxos.type.document', label: 'Document', icon: 'ph--file-text--regular' },
@@ -60,9 +59,9 @@ const mockInputSchema = Schema.Struct({
60
59
  });
61
60
 
62
61
  const mockMetadata: Metadata = {
62
+ id: 'org.dxos.type.document',
63
63
  createObject: () => Effect.succeed({ id: 'mock-id', subject: [], object: {} as any }),
64
64
  inputSchema: mockInputSchema,
65
- icon: 'ph--file-text--regular',
66
65
  };
67
66
 
68
67
  const meta = {
@@ -2,25 +2,27 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
+ import { useAtomValue } from '@effect-atom/atom-react';
5
6
  import * as Effect from 'effect/Effect';
6
7
  import * as Option from 'effect/Option';
7
8
  import React, { useCallback, useMemo, useRef, useState } from 'react';
8
9
 
9
10
  import { Capability } from '@dxos/app-framework';
10
11
  import { useOperationInvoker, usePluginManager } from '@dxos/app-framework/ui';
11
- import { AppCapabilities, getPersonalSpace, LayoutOperation } from '@dxos/app-toolkit';
12
- import { useLayout } from '@dxos/app-toolkit/ui';
13
- import { Collection, Database, Obj, Type } from '@dxos/echo';
12
+ import { getPersonalSpace, LayoutOperation } from '@dxos/app-toolkit';
13
+ import { PluginRegistryButton, useLayout } from '@dxos/app-toolkit/ui';
14
+ import { Operation } from '@dxos/compute';
15
+ import { Annotation, Collection, Database, Obj, Type } from '@dxos/echo';
14
16
  import { runAndForwardErrors } from '@dxos/effect';
15
17
  import { invariant } from '@dxos/invariant';
16
- import { Operation } from '@dxos/operation';
17
18
  import { useClient } from '@dxos/react-client';
18
19
  import { useSpaces } from '@dxos/react-client/echo';
19
20
  import { Dialog, useTranslation } from '@dxos/react-ui';
20
21
  import { ViewAnnotation } from '@dxos/schema';
21
22
 
22
- import { type CreateObjectOption, CreateObjectPanel, type CreateObjectPanelProps, type Metadata } from '#components';
23
+ import { type CreateObjectOption, CreateObjectPanel, type CreateObjectPanelProps } from '#components';
23
24
  import { meta } from '#meta';
25
+ import { SpaceCapabilities } from '#types';
24
26
 
25
27
  export const CREATE_OBJECT_DIALOG = `${meta.id}.CreateObjectDialog`;
26
28
 
@@ -43,6 +45,7 @@ export const CreateObjectDialog = ({
43
45
  const { t } = useTranslation(meta.id);
44
46
  const manager = usePluginManager();
45
47
  const operationInvoker = useOperationInvoker();
48
+ const { invoke } = operationInvoker;
46
49
  const [target, setTarget] = useState<Database.Database | Collection.Collection | undefined>(initialTarget);
47
50
  const [typename, setTypename] = useState<string | undefined>(initialTypename);
48
51
  const client = useClient();
@@ -52,22 +55,43 @@ export const CreateObjectDialog = ({
52
55
 
53
56
  const db = Database.isDatabase(target) ? target : target && Obj.getDatabase(target);
54
57
  // TODO(wittjosiah): Support database schemas.
55
- const schemas = db?.schemaRegistry.query({ location: ['runtime'], includeSystem: false }).runSync();
58
+ const schemas = db
59
+ ? db.graph.registry
60
+ .list()
61
+ .filter(Type.isType)
62
+ .filter((t) => !Type.isTypeKind(t))
63
+ : undefined;
64
+
65
+ const entriesByModule = useAtomValue(manager.capabilities.atomByModule(SpaceCapabilities.CreateObjectEntry));
66
+
67
+ const { createObjectEntries, pluginNameByEntryId } = useMemo(() => {
68
+ const entries: SpaceCapabilities.CreateObjectEntry[] = [];
69
+ const pluginByEntryId = new Map<string, string>();
70
+ const plugins = manager.getPlugins();
71
+ for (const [moduleId, contributions] of Object.entries(entriesByModule)) {
72
+ const owningPlugin = plugins.find((plugin) => plugin.modules.some((module) => module.id === moduleId));
73
+ for (const entry of contributions) {
74
+ entries.push(entry);
75
+ if (owningPlugin) {
76
+ pluginByEntryId.set(entry.id, owningPlugin.meta.name);
77
+ }
78
+ }
79
+ }
80
+ return { createObjectEntries: entries, pluginNameByEntryId: pluginByEntryId };
81
+ }, [entriesByModule, manager]);
56
82
 
57
83
  const resolve = useCallback<NonNullable<CreateObjectPanelProps['resolve']>>(
58
- (id) => {
59
- const metadata = manager.capabilities
60
- .getAll(AppCapabilities.Metadata)
61
- .find(({ id: entryId }) => entryId === id)?.metadata;
62
- return metadata?.createObject ? (metadata as Metadata) : undefined;
63
- },
64
- [manager],
84
+ (id) => createObjectEntries.find((entry) => entry.id === id),
85
+ [createObjectEntries],
65
86
  );
66
87
 
88
+ // The type selector is shown while no type has been resolved; the registry button is only relevant then.
89
+ const showTypeSelector = !(typename && resolve(typename));
90
+
67
91
  const viewTypenames = useMemo(() => {
68
92
  const set = new Set<string>();
69
93
  for (const schema of schemas ?? []) {
70
- if (ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false))) {
94
+ if (ViewAnnotation.has(schema)) {
71
95
  set.add(Type.getTypename(schema));
72
96
  }
73
97
  }
@@ -76,16 +100,21 @@ export const CreateObjectDialog = ({
76
100
 
77
101
  const options = useMemo<CreateObjectOption[]>(
78
102
  () =>
79
- manager.capabilities
80
- .getAll(AppCapabilities.Metadata)
81
- .filter((entry) => entry.metadata?.createObject)
103
+ createObjectEntries
82
104
  .filter((entry) => (views === true ? viewTypenames.has(entry.id) : true))
83
- .map((entry) => ({
84
- id: entry.id,
85
- label: t('typename.label', { ns: entry.id, defaultValue: entry.id }),
86
- icon: entry.metadata?.icon,
87
- })),
88
- [manager, views, viewTypenames, t],
105
+ .map((entry) => {
106
+ const type = schemas?.find((s) => Type.getTypename(s) === entry.id);
107
+ const schema = type && Type.getSchema(type);
108
+ const iconAnnotation = schema ? Annotation.IconAnnotation.get(schema).pipe(Option.getOrUndefined) : undefined;
109
+ return {
110
+ id: entry.id,
111
+ label: t('typename.label', { ns: entry.id, defaultValue: entry.id }),
112
+ icon: iconAnnotation?.icon,
113
+ iconHue: iconAnnotation?.hue,
114
+ plugin: pluginNameByEntryId.get(entry.id),
115
+ };
116
+ }),
117
+ [createObjectEntries, views, viewTypenames, schemas, t, pluginNameByEntryId],
89
118
  );
90
119
 
91
120
  const handleCreateObject = useCallback<NonNullable<CreateObjectPanelProps['onCreateObject']>>(
@@ -101,22 +130,18 @@ export const CreateObjectDialog = ({
101
130
 
102
131
  const db = Database.isDatabase(target) ? target : target && Obj.getDatabase(target);
103
132
  invariant(db, 'Missing database');
104
- const result = yield* metadata.createObject(data, {
105
- db,
106
- target,
107
- targetNodeId,
108
- });
133
+ const result = yield* metadata.createObject(data, { db, target, targetNodeId });
109
134
  const shouldNavigate = _shouldNavigate ?? (() => true);
110
135
  if (result.subject.length > 0 && shouldNavigate(result.object)) {
111
136
  if (layout.mode === 'multi') {
112
- yield* operationInvoker.invoke(LayoutOperation.Set, {
137
+ yield* invoke(LayoutOperation.Set, {
113
138
  subject: [...result.subject],
114
139
  });
115
- yield* operationInvoker.invoke(LayoutOperation.Expose, {
140
+ yield* invoke(LayoutOperation.Expose, {
116
141
  subject: result.subject[0],
117
142
  });
118
143
  } else {
119
- yield* operationInvoker.invoke(LayoutOperation.Open, {
144
+ yield* invoke(LayoutOperation.Open, {
120
145
  subject: [...result.subject],
121
146
  navigation: 'immediate',
122
147
  });
@@ -129,7 +154,7 @@ export const CreateObjectDialog = ({
129
154
  Effect.provideService(Operation.Service, operationInvoker),
130
155
  runAndForwardErrors,
131
156
  ),
132
- [target, _shouldNavigate, onCreateObject, manager.capabilities, operationInvoker, layout.mode],
157
+ [target, _shouldNavigate, onCreateObject, manager.capabilities, invoke, layout.mode],
133
158
  );
134
159
 
135
160
  return (
@@ -141,7 +166,7 @@ export const CreateObjectDialog = ({
141
166
  })}
142
167
  </Dialog.Title>
143
168
  <Dialog.Close asChild>
144
- <Dialog.CloseIconButton ref={closeRef} />
169
+ <Dialog.ActionIconButton action='close' ref={closeRef} />
145
170
  </Dialog.Close>
146
171
  </Dialog.Header>
147
172
  <Dialog.Body>
@@ -158,6 +183,13 @@ export const CreateObjectDialog = ({
158
183
  onTypenameChange={setTypename}
159
184
  />
160
185
  </Dialog.Body>
186
+ {showTypeSelector && (
187
+ <Dialog.ActionBar>
188
+ <Dialog.Close asChild>
189
+ <PluginRegistryButton />
190
+ </Dialog.Close>
191
+ </Dialog.ActionBar>
192
+ )}
161
193
  </Dialog.Content>
162
194
  );
163
195
  };
@@ -5,13 +5,14 @@
5
5
  import { type Meta, type StoryObj } from '@storybook/react-vite';
6
6
  import React from 'react';
7
7
 
8
- import { OperationPlugin, RuntimePlugin } from '@dxos/app-framework';
8
+ import { ProcessManagerPlugin } from '@dxos/app-framework';
9
9
  import { withPluginManager } from '@dxos/app-framework/testing';
10
- import { ClientPlugin } from '@dxos/plugin-client';
10
+ import { ClientPlugin } from '@dxos/plugin-client/testing';
11
11
  import { Dialog } from '@dxos/react-ui';
12
12
  import { withTheme } from '@dxos/react-ui/testing';
13
13
 
14
- import { translations } from '../../translations';
14
+ import { translations } from '#translations';
15
+
15
16
  import { CreateSpaceDialog } from './CreateSpaceDialog';
16
17
 
17
18
  const DefaultStory = () => (
@@ -29,7 +30,7 @@ const meta = {
29
30
  decorators: [
30
31
  withTheme(),
31
32
  withPluginManager({
32
- plugins: [RuntimePlugin(), OperationPlugin(), ClientPlugin({})],
33
+ plugins: [ProcessManagerPlugin(), ClientPlugin({})],
33
34
  }),
34
35
  ],
35
36
  parameters: {
@@ -50,7 +50,7 @@ export const CreateSpaceDialog = () => {
50
50
  <Dialog.Header>
51
51
  <Dialog.Title>{t('create-space-dialog.title')}</Dialog.Title>
52
52
  <Dialog.Close asChild>
53
- <Dialog.CloseIconButton ref={closeRef} />
53
+ <Dialog.ActionIconButton action='close' ref={closeRef} />
54
54
  </Dialog.Close>
55
55
  </Dialog.Header>
56
56
  <Dialog.Body>
@@ -6,33 +6,33 @@ import React, { useCallback, useRef, useState } from 'react';
6
6
 
7
7
  import { useOperationInvoker } from '@dxos/app-framework/ui';
8
8
  import { LayoutOperation } from '@dxos/app-toolkit';
9
- import { Obj } from '@dxos/echo';
9
+ import { Entity } from '@dxos/echo';
10
10
  import { log } from '@dxos/log';
11
11
  import { Button, Input, useTranslation } from '@dxos/react-ui';
12
12
  import { osTranslations } from '@dxos/ui-theme';
13
13
 
14
14
  import { meta } from '#meta';
15
15
 
16
- export const OBJECT_RENAME_POPOVER = `${meta.id}.ObjectRenamePopover`;
16
+ export const ENTITY_RENAME_POPOVER = `${meta.id}.EntityRenamePopover`;
17
17
 
18
- export const ObjectRenamePopover = ({ object }: { object: Obj.Unknown }) => {
18
+ export const EntityRenamePopover = ({ entity }: { entity: Entity.Unknown }) => {
19
19
  const { t } = useTranslation(meta.id);
20
20
  const doneButton = useRef<HTMLButtonElement>(null);
21
- const [name, setName] = useState(Obj.getLabel(object));
21
+ const [name, setName] = useState(Entity.getLabel(entity));
22
22
  const { invokePromise } = useOperationInvoker();
23
23
 
24
24
  const handleDone = useCallback(() => {
25
25
  try {
26
- name && Obj.change(object, () => Obj.setLabel(object, name));
26
+ name && Entity.update(entity, () => Entity.setLabel(entity, name));
27
27
  } catch (err) {
28
- log.error('Failed to rename object', { err });
28
+ log.error('Failed to rename entity', { err });
29
29
  }
30
30
  void invokePromise(LayoutOperation.UpdatePopover, { anchorId: '', state: false });
31
- }, [object, name, invokePromise]);
31
+ }, [entity, name, invokePromise]);
32
32
 
33
33
  return (
34
- <div role='none' className='p-2 flex gap-2'>
35
- <div role='none' className='flex-1'>
34
+ <div className='p-2 flex gap-2'>
35
+ <div className='flex-1'>
36
36
  <Input.Root>
37
37
  <Input.Label srOnly>{t('object-name.label')}</Input.Label>
38
38
  <Input.TextInput
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ export { EntityRenamePopover as default } from './EntityRenamePopover';
@@ -0,0 +1,62 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ import React, { useCallback } from 'react';
6
+ import { FileUploader } from 'react-drag-drop-files';
7
+
8
+ import { useOperationInvoker } from '@dxos/app-framework/ui';
9
+ import { LayoutOperation, getSpacePath } from '@dxos/app-toolkit';
10
+ import { Button, Dialog, Icon, useTranslation } from '@dxos/react-ui';
11
+
12
+ import { meta } from '#meta';
13
+ import { SpaceOperation } from '#operations';
14
+
15
+ export const ImportSpaceDialog = () => {
16
+ const { t } = useTranslation(meta.id);
17
+ const { invokePromise } = useOperationInvoker();
18
+
19
+ const handleFile = useCallback(
20
+ async (file: File) => {
21
+ const contents = new Uint8Array(await file.arrayBuffer());
22
+ const { data: result } = await invokePromise(SpaceOperation.ImportSpace, {
23
+ archive: { filename: file.name, contents },
24
+ });
25
+ await invokePromise(LayoutOperation.UpdateDialog, { state: false });
26
+ if (result?.space) {
27
+ await invokePromise(LayoutOperation.SwitchWorkspace, { subject: getSpacePath(result.space.id) });
28
+ }
29
+ },
30
+ [invokePromise],
31
+ );
32
+
33
+ return (
34
+ <Dialog.Content>
35
+ <Dialog.Header>
36
+ <Dialog.Title>{t('import-space-dialog.title')}</Dialog.Title>
37
+ <Dialog.Close asChild>
38
+ <Dialog.ActionIconButton action='close' />
39
+ </Dialog.Close>
40
+ </Dialog.Header>
41
+ <Dialog.Body>
42
+ <p className='my-4'>{t('import-space-dialog.description')}</p>
43
+ <FileUploader
44
+ types={['json', 'tar']}
45
+ classes='block my-4 p-8 border-2 border-dashed border-neutral-500/50 rounded-sm flex items-center justify-center gap-2 cursor-pointer'
46
+ dropMessageStyle={{ border: 'none', backgroundColor: '#EEE' }}
47
+ handleChange={(file: File) => {
48
+ void handleFile(file);
49
+ }}
50
+ >
51
+ <Icon icon='ph--file-plus--duotone' size={8} />
52
+ <span>{t('import-space-dialog.upload.label')}</span>
53
+ </FileUploader>
54
+ </Dialog.Body>
55
+ <Dialog.ActionBar>
56
+ <Dialog.Close asChild>
57
+ <Button variant='primary'>{t('cancel.label')}</Button>
58
+ </Dialog.Close>
59
+ </Dialog.ActionBar>
60
+ </Dialog.Content>
61
+ );
62
+ };
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ export { ImportSpaceDialog as default } from './ImportSpaceDialog';
@@ -6,11 +6,12 @@ import { type Meta, type StoryObj } from '@storybook/react-vite';
6
6
  import React from 'react';
7
7
 
8
8
  import { withPluginManager } from '@dxos/app-framework/testing';
9
- import { ClientPlugin } from '@dxos/plugin-client';
9
+ import { ClientPlugin } from '@dxos/plugin-client/testing';
10
10
  import { corePlugins } from '@dxos/plugin-testing';
11
11
  import { Dialog } from '@dxos/react-ui';
12
12
 
13
- import { translations } from '../../translations';
13
+ import { translations } from '#translations';
14
+
14
15
  import { JoinDialog } from './JoinDialog';
15
16
 
16
17
  const DefaultStory = () => (
@@ -9,7 +9,7 @@ import { LayoutOperation, getSpacePath } from '@dxos/app-toolkit';
9
9
  import { useAppGraph } from '@dxos/app-toolkit/ui';
10
10
  import { Trigger } from '@dxos/async';
11
11
  import { Graph } from '@dxos/plugin-graph';
12
- import { ObservabilityOperation } from '@dxos/plugin-observability/operations';
12
+ import { ObservabilityOperation } from '@dxos/plugin-observability';
13
13
  import { useClient } from '@dxos/react-client';
14
14
  import { type Space } from '@dxos/react-client/echo';
15
15
  import { type InvitationResult } from '@dxos/react-client/invitations';
@@ -2,12 +2,14 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
+ import * as Option from 'effect/Option';
5
6
  import React, { type Dispatch, type SetStateAction, useMemo, useState } from 'react';
6
7
  import { QR } from 'react-qr-rounded';
7
8
 
8
9
  import { useOperationInvoker } from '@dxos/app-framework/ui';
10
+ import { RootCollectionAnnotation } from '@dxos/app-toolkit';
9
11
  import { AppSurface } from '@dxos/app-toolkit/ui';
10
- import { Collection, Obj } from '@dxos/echo';
12
+ import { Annotation, Obj } from '@dxos/echo';
11
13
  import { log } from '@dxos/log';
12
14
  import { useConfig } from '@dxos/react-client';
13
15
  import { useSpaceInvitations } from '@dxos/react-client/echo';
@@ -62,7 +64,8 @@ export const MembersContainer = ({ space, createInvitationUrl }: MembersContaine
62
64
  };
63
65
 
64
66
  // TODO(wittjosiah): Track which was the most recently viewed object.
65
- const target = space.properties[Collection.Collection.typename]?.target?.objects[0]?.target;
67
+ const target = Annotation.get(space.properties, RootCollectionAnnotation).pipe(Option.getOrUndefined)?.target
68
+ ?.objects[0]?.target;
66
69
 
67
70
  const inviteActions = useMemo(
68
71
  (): Record<string, ActionMenuItem> => ({
@@ -77,7 +80,7 @@ export const MembersContainer = ({ space, createInvitationUrl }: MembersContaine
77
80
  type: Invitation.Type.INTERACTIVE,
78
81
  authMethod: Invitation.AuthMethod.SHARED_SECRET,
79
82
  multiUse: false,
80
- target: target && Obj.getDXN(target).toString(),
83
+ target: target && Obj.getURI(target),
81
84
  });
82
85
  if (invitation && config.values.runtime?.app?.env?.DX_ENVIRONMENT !== 'production') {
83
86
  const subscription: ZenObservable.Subscription = (invitation as CancellableInvitationObservable).subscribe(
@@ -97,7 +100,7 @@ export const MembersContainer = ({ space, createInvitationUrl }: MembersContaine
97
100
  type: Invitation.Type.DELEGATED,
98
101
  authMethod: Invitation.AuthMethod.KNOWN_PUBLIC_KEY,
99
102
  multiUse: true,
100
- target: target && Obj.getDXN(target).toString(),
103
+ target: target && Obj.getURI(target),
101
104
  });
102
105
  if (invitation && config.values.runtime?.app?.env?.DX_ENVIRONMENT !== 'production') {
103
106
  const subscription: ZenObservable.Subscription = (invitation as CancellableInvitationObservable).subscribe(
@@ -209,7 +212,7 @@ const InvitationQR = ({ id, url, onCancel }: { id: string; url: string; onCancel
209
212
  <>
210
213
  <p className='text-description'>{t('qr-code.description', { ns: meta.id })}</p>
211
214
  <div role='group' className='grid grid-cols-[1fr_min-content] my-2 gap-2'>
212
- <div role='none' className='w-full aspect-square relative text-description'>
215
+ <div className='w-full aspect-square relative text-description'>
213
216
  <QR
214
217
  rounding={100}
215
218
  backgroundColor='transparent'
@@ -4,9 +4,8 @@
4
4
 
5
5
  import React, { forwardRef, useState } from 'react';
6
6
 
7
- import { Obj } from '@dxos/echo';
8
- import { type View } from '@dxos/echo';
9
- import { Filter, useQuery, useSchema } from '@dxos/react-client/echo';
7
+ import { Filter, Obj, type View } from '@dxos/echo';
8
+ import { useQuery, useType } from '@dxos/react-client/echo';
10
9
  import { Card, Message, Panel, ScrollArea, Toolbar, useTranslation } from '@dxos/react-ui';
11
10
  import { useSelected } from '@dxos/react-ui-attention';
12
11
  import { ObjectForm } from '@dxos/react-ui-form';
@@ -28,15 +27,15 @@ export const ObjectCardStack = forwardRef<HTMLDivElement, ObjectCardStackProps>(
28
27
  const { t } = useTranslation(meta.id);
29
28
  const db = Obj.getDatabase(view);
30
29
  const typename = view.query ? getTypenameFromQuery(view.query.ast) : undefined;
31
- const schema = useSchema(db, typename);
30
+ const type = useType(db, typename);
32
31
 
33
- const queriedObjects = useQuery(db, schema ? Filter.type(schema) : Filter.nothing());
32
+ const queriedObjects = useQuery(db, type ? Filter.type(type) : Filter.nothing());
34
33
  const selectedRows = useSelected(objectId, 'multi');
35
34
  const selectedObjects = selectedRows.map((id) => queriedObjects.find((obj) => obj.id === id)).filter(isNonNullable);
36
35
 
37
36
  const [viewport, setViewport] = useState<HTMLElement | null>(null);
38
37
 
39
- if (!schema) {
38
+ if (!type) {
40
39
  return null;
41
40
  }
42
41
 
@@ -66,7 +65,7 @@ export const ObjectCardStack = forwardRef<HTMLDivElement, ObjectCardStackProps>(
66
65
  Tile={({ ...props }) => (
67
66
  <Mosaic.Tile {...props}>
68
67
  <Card.Root>
69
- <ObjectForm object={props.data} schema={schema} />
68
+ <ObjectForm object={props.data} type={type} />
70
69
  </Card.Root>
71
70
  </Mosaic.Tile>
72
71
  )}
@@ -9,16 +9,18 @@ import React from 'react';
9
9
  import { Capability } from '@dxos/app-framework';
10
10
  import { withPluginManager } from '@dxos/app-framework/testing';
11
11
  import { AppCapabilities } from '@dxos/app-toolkit';
12
- import { ClientPlugin } from '@dxos/plugin-client';
13
- import { PreviewPlugin } from '@dxos/plugin-preview';
12
+ import { Filter } from '@dxos/echo';
13
+ import { ClientPlugin } from '@dxos/plugin-client/testing';
14
+ import { PreviewPlugin } from '@dxos/plugin-preview/testing';
14
15
  import { StorybookPlugin, corePlugins } from '@dxos/plugin-testing';
15
16
  import { random } from '@dxos/random';
16
- import { Filter, useQuery, useSpaces } from '@dxos/react-client/echo';
17
+ import { useQuery, useSpaces } from '@dxos/react-client/echo';
17
18
  import { Loading, withLayout } from '@dxos/react-ui/testing';
18
19
  import { createObjectFactory } from '@dxos/schema/testing';
19
20
  import { Organization, Person } from '@dxos/types';
20
21
 
21
- import { translations } from '../../translations';
22
+ import { translations } from '#translations';
23
+
22
24
  import { RecordArticle } from './RecordArticle';
23
25
 
24
26
  random.seed(0);