@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
@@ -5,15 +5,16 @@
5
5
  import * as Effect from 'effect/Effect';
6
6
  import * as Option from 'effect/Option';
7
7
  import type * as Schema from 'effect/Schema';
8
+ import * as SchemaAST from 'effect/SchemaAST';
8
9
  import React, { type ComponentProps, useCallback } from 'react';
9
10
 
10
11
  import { Capabilities, Capability } from '@dxos/app-framework';
11
12
  import { Surface, useAtomCapability, useOperationInvoker, useSettingsState } from '@dxos/app-framework/ui';
13
+ import { RootCollectionAnnotation } from '@dxos/app-toolkit';
12
14
  import { AppSurface, useActiveSpace, useTypeOptions } from '@dxos/app-toolkit/ui';
13
- import { Database, Obj, type Ref } from '@dxos/echo';
14
- import { Collection, type View } from '@dxos/echo';
15
+ import { Annotation, Collection, Database, Entity, Obj, Type } from '@dxos/echo';
15
16
  import { findAnnotation } from '@dxos/effect';
16
- import { type Space, SpaceState, getSpace, isSpace, useSpace, useSpaces } from '@dxos/react-client/echo';
17
+ import { type Space, SpaceState, getSpace, isSpace, useSpaces } from '@dxos/react-client/echo';
17
18
  import { Input } from '@dxos/react-ui';
18
19
  import { type FormFieldComponentProps, SelectField } from '@dxos/react-ui-form';
19
20
  import { HuePicker, IconPicker } from '@dxos/react-ui-pickers';
@@ -25,13 +26,14 @@ import {
25
26
  CollectionSection,
26
27
  CreateObjectDialog,
27
28
  CreateSpaceDialog,
29
+ ImportSpaceDialog,
28
30
  InlineSyncStatus,
29
31
  JoinDialog,
30
32
  MembersContainer,
31
33
  MenuFooter,
34
+ EntityRenamePopover,
32
35
  ObjectCardStack,
33
36
  ObjectProperties,
34
- ObjectRenamePopover,
35
37
  RecordArticle,
36
38
  RelatedArticle,
37
39
  SchemaContainer,
@@ -56,8 +58,9 @@ import {
56
58
  import {
57
59
  CREATE_OBJECT_DIALOG,
58
60
  CREATE_SPACE_DIALOG,
61
+ IMPORT_SPACE_DIALOG,
59
62
  JOIN_DIALOG,
60
- OBJECT_RENAME_POPOVER,
63
+ ENTITY_RENAME_POPOVER,
61
64
  SPACE_RENAME_POPOVER,
62
65
  } from '../constants';
63
66
 
@@ -69,19 +72,19 @@ export default Capability.makeModule(
69
72
  Effect.fnUntraced(function* ({ createInvitationUrl }: ReactSurfaceOptions) {
70
73
  return Capability.contributes(Capabilities.ReactSurface, [
71
74
  Surface.create({
72
- id: 'collection-fallback',
73
- position: 'fallback',
75
+ id: 'collectionFallback',
76
+ position: 'last',
74
77
  filter: AppSurface.object(AppSurface.Article, Collection.Collection),
75
78
  component: ({ data }) => <CollectionArticle attendableId={data.attendableId} subject={data.subject} />,
76
79
  }),
77
80
  Surface.create({
78
- id: 'record-article',
79
- position: 'fallback',
81
+ id: 'recordArticle',
82
+ position: 'last',
80
83
  filter: AppSurface.subject(AppSurface.Article, Obj.isObject),
81
84
  component: ({ data }) => <RecordArticle subject={data.subject} />,
82
85
  }),
83
86
  Surface.create({
84
- id: 'plugin-settings',
87
+ id: 'pluginSettings',
85
88
  filter: AppSurface.settings(AppSurface.Article, meta.id),
86
89
  component: ({ data: { subject } }) => {
87
90
  const { settings, updateSettings } = useSettingsState<Settings.Settings>(subject.atom);
@@ -98,7 +101,7 @@ export default Capability.makeModule(
98
101
  },
99
102
  }),
100
103
  Surface.create({
101
- id: 'companion.object-properties',
104
+ id: 'companion.objectProperties',
102
105
  filter: AppSurface.allOf(
103
106
  AppSurface.literal(AppSurface.Article, 'settings'),
104
107
  AppSurface.companion(AppSurface.Article),
@@ -114,7 +117,7 @@ export default Capability.makeModule(
114
117
  component: ({ data, role }) => <RelatedArticle role={role} companionTo={data.companionTo} />,
115
118
  }),
116
119
  Surface.create({
117
- id: 'space-settings-properties',
120
+ id: 'spaceSettingsProperties',
118
121
  filter: AppSurface.literal(AppSurface.Article, `${meta.id}.general`),
119
122
  component: ({ ref }) => {
120
123
  const space = useActiveSpace();
@@ -126,8 +129,8 @@ export default Capability.makeModule(
126
129
  },
127
130
  }),
128
131
  Surface.create({
129
- id: 'space-settings-members',
130
- position: 'hoist',
132
+ id: 'spaceSettingsMembers',
133
+ position: 'first',
131
134
  filter: AppSurface.literal(AppSurface.Article, `${meta.id}.members`),
132
135
  component: () => {
133
136
  const space = useActiveSpace();
@@ -139,7 +142,7 @@ export default Capability.makeModule(
139
142
  },
140
143
  }),
141
144
  Surface.create({
142
- id: 'space-settings-schema',
145
+ id: 'spaceSettingsSchema',
143
146
  filter: AppSurface.literal(AppSurface.Article, `${meta.id}.schema`),
144
147
  component: () => {
145
148
  const space = useActiveSpace();
@@ -151,31 +154,40 @@ export default Capability.makeModule(
151
154
  },
152
155
  }),
153
156
  Surface.create({
154
- id: 'selected-objects',
157
+ id: 'selectedObjects',
155
158
  role: 'article',
156
- filter: (
157
- data,
158
- ): data is { companionTo: Obj.OfShape<{ view: Ref.Ref<View.View> }>; subject: 'selected-objects' } => {
159
+ filter: (data): data is { companionTo: Obj.Unknown; subject: 'selected-objects' } => {
159
160
  if (data.subject !== 'selected-objects' || !Obj.isObject(data.companionTo)) {
160
161
  return false;
161
162
  }
162
163
 
163
- // TODO(burdon): Check companionTo.view.target is valid.
164
- const schema = Obj.getSchema(data.companionTo);
165
- return Option.fromNullable(schema).pipe(
166
- Option.flatMap((schema) => ViewAnnotation.get(schema)),
167
- Option.getOrElse(() => false),
168
- );
164
+ const type = Obj.getType(data.companionTo);
165
+ const path = type
166
+ ? Option.getOrElse(ViewAnnotation.get(Type.getSchema(type)), () => [] as readonly string[])
167
+ : [];
168
+ const viewTarget = path.length > 0 ? ViewAnnotation.tryGetTargetAlongPath(data.companionTo, path) : undefined;
169
+ return !!viewTarget;
169
170
  },
170
171
  // TODO(burdon): Replace with mosaic.
171
- component: ({ data, ref }) => (
172
- <ObjectCardStack
173
- key={Obj.getDXN(data.companionTo).toString()}
174
- objectId={Obj.getDXN(data.companionTo).toString()}
175
- view={data.companionTo.view.target!}
176
- ref={ref}
177
- />
178
- ),
172
+ component: ({ data, ref }) => {
173
+ const type = Obj.getType(data.companionTo);
174
+ const path = type
175
+ ? Option.getOrElse(ViewAnnotation.get(Type.getSchema(type)), () => [] as readonly string[])
176
+ : [];
177
+ const view = path.length > 0 ? ViewAnnotation.tryGetTargetAlongPath(data.companionTo, path) : undefined;
178
+ if (!view) {
179
+ return null;
180
+ }
181
+
182
+ return (
183
+ <ObjectCardStack
184
+ key={Obj.getURI(data.companionTo)}
185
+ objectId={Obj.getURI(data.companionTo)}
186
+ view={view}
187
+ ref={ref}
188
+ />
189
+ );
190
+ },
179
191
  }),
180
192
  Surface.create({
181
193
  id: JOIN_DIALOG,
@@ -187,6 +199,11 @@ export default Capability.makeModule(
187
199
  filter: AppSurface.component(AppSurface.Dialog, CREATE_SPACE_DIALOG),
188
200
  component: () => <CreateSpaceDialog />,
189
201
  }),
202
+ Surface.create({
203
+ id: IMPORT_SPACE_DIALOG,
204
+ filter: AppSurface.component(AppSurface.Dialog, IMPORT_SPACE_DIALOG),
205
+ component: () => <ImportSpaceDialog />,
206
+ }),
190
207
  Surface.create({
191
208
  id: CREATE_OBJECT_DIALOG,
192
209
  filter: AppSurface.component<ComponentProps<typeof CreateObjectDialog>>(
@@ -196,16 +213,21 @@ export default Capability.makeModule(
196
213
  component: ({ data }) => <CreateObjectDialog {...data.props} />,
197
214
  }),
198
215
  Surface.create({
199
- id: 'create-initial-space-form-[hue]',
216
+ id: 'createInitialSpaceFormHue',
200
217
  role: 'form-input',
201
- filter: (data): data is { prop: string; schema: Schema.Schema<any> } => {
218
+ filter: (data): data is { prop: string; schema: Schema.Schema<any>; fieldPropertyAst?: SchemaAST.AST } => {
202
219
  const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, HueAnnotationId);
203
220
  return !!annotation;
204
221
  },
205
- component: ({ data: _, ...inputProps }) => {
206
- const { label, readonly, type, getValue, onValueChange } = inputProps as any as FormFieldComponentProps;
207
- const handleChange = useCallback((nextHue: string) => onValueChange(type, nextHue), [onValueChange]);
208
- const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange]);
222
+ component: ({ data, ...inputProps }) => {
223
+ const ast = data.fieldPropertyAst;
224
+ if (!ast) {
225
+ return null;
226
+ }
227
+
228
+ const { label, readonly, getValue, onValueChange } = inputProps as any as FormFieldComponentProps;
229
+ const handleChange = useCallback((nextHue: string) => onValueChange(ast, nextHue), [ast, onValueChange]);
230
+ const handleReset = useCallback(() => onValueChange(ast, undefined), [ast, onValueChange]);
209
231
  return (
210
232
  <Input.Root>
211
233
  <Input.Label>{label}</Input.Label>
@@ -215,16 +237,21 @@ export default Capability.makeModule(
215
237
  },
216
238
  }),
217
239
  Surface.create({
218
- id: 'create-initial-space-form-[icon]',
240
+ id: 'createInitialSpaceFormIcon',
219
241
  role: 'form-input',
220
- filter: (data): data is { prop: string; schema: Schema.Schema<any> } => {
242
+ filter: (data): data is { prop: string; schema: Schema.Schema<any>; fieldPropertyAst?: SchemaAST.AST } => {
221
243
  const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, IconAnnotationId);
222
244
  return !!annotation;
223
245
  },
224
- component: ({ data: _, ...inputProps }) => {
225
- const { label, readonly, type, getValue, onValueChange } = inputProps as any as FormFieldComponentProps;
226
- const handleChange = useCallback((nextIcon: string) => onValueChange(type, nextIcon), [onValueChange]);
227
- const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange]);
246
+ component: ({ data, ...inputProps }) => {
247
+ const ast = data.fieldPropertyAst;
248
+ if (!ast) {
249
+ return null;
250
+ }
251
+
252
+ const { label, readonly, getValue, onValueChange } = inputProps as any as FormFieldComponentProps;
253
+ const handleChange = useCallback((nextIcon: string) => onValueChange(ast, nextIcon), [ast, onValueChange]);
254
+ const handleReset = useCallback(() => onValueChange(ast, undefined), [ast, onValueChange]);
228
255
  return (
229
256
  <Input.Root>
230
257
  <Input.Label>{label}</Input.Label>
@@ -239,7 +266,7 @@ export default Capability.makeModule(
239
266
  },
240
267
  }),
241
268
  Surface.create({
242
- id: 'typename-form-input',
269
+ id: 'typenameFormInput',
243
270
  role: 'form-input',
244
271
  filter: (
245
272
  data,
@@ -247,6 +274,7 @@ export default Capability.makeModule(
247
274
  prop: string;
248
275
  schema: Schema.Schema.Any;
249
276
  target: Database.Database | Collection.Collection | undefined;
277
+ fieldPropertyAst?: SchemaAST.AST;
250
278
  } => {
251
279
  if (data.prop !== 'typename') {
252
280
  return false;
@@ -255,32 +283,42 @@ export default Capability.makeModule(
255
283
  const annotation = findAnnotation((data.schema as Schema.Schema.All).ast, TypeInputOptionsAnnotationId);
256
284
  return !!annotation;
257
285
  },
258
- component: ({ data: { schema, target }, ...inputProps }) => {
259
- const props = inputProps as any as FormFieldComponentProps;
286
+ component: ({ data: { schema, target, fieldPropertyAst }, ...inputProps }) => {
287
+ const ast = fieldPropertyAst;
288
+ if (!ast) {
289
+ return null;
290
+ }
291
+
292
+ const props = { ...inputProps, type: ast } as any as FormFieldComponentProps;
260
293
  const db = Database.isDatabase(target) ? target : target && Obj.getDatabase(target);
261
- const space = useSpace(db?.spaceId);
262
294
  const annotation = findAnnotation<TypeInputOptions>(schema.ast, TypeInputOptionsAnnotationId)!;
263
- const options = useTypeOptions({ space, annotation });
295
+ const options = useTypeOptions({ db, annotation });
264
296
 
265
297
  return <SelectField {...props} options={options} />;
266
298
  },
267
299
  }),
268
300
  Surface.create({
269
- id: 'object-properties',
301
+ id: 'objectProperties',
270
302
  role: 'object-properties',
271
- filter: (data): data is { subject: { view: Ref.Ref<View.View> } } => {
303
+ filter: (data): data is { subject: Obj.Unknown } => {
272
304
  if (!Obj.isObject(data.subject)) {
273
305
  return false;
274
306
  }
275
307
 
276
- const schema = Obj.getSchema(data.subject);
277
- return Option.fromNullable(schema).pipe(
278
- Option.flatMap((schema) => ViewAnnotation.get(schema)),
279
- Option.getOrElse(() => false),
280
- );
308
+ const type = Obj.getType(data.subject);
309
+ const path = type
310
+ ? Option.getOrElse(ViewAnnotation.get(Type.getSchema(type)), () => [] as readonly string[])
311
+ : [];
312
+ const viewTarget = path.length > 0 ? ViewAnnotation.tryGetTargetAlongPath(data.subject, path) : undefined;
313
+ return !!viewTarget;
281
314
  },
282
315
  component: ({ data }) => {
283
- const view = data.subject.view.target;
316
+ const type = Obj.getType(data.subject);
317
+ const path = type
318
+ ? Option.getOrElse(ViewAnnotation.get(Type.getSchema(type)), () => [] as readonly string[])
319
+ : [];
320
+ const view = path.length > 0 ? ViewAnnotation.tryGetTargetAlongPath(data.subject, path) : undefined;
321
+
284
322
  if (!view) {
285
323
  return null;
286
324
  }
@@ -295,19 +333,19 @@ export default Capability.makeModule(
295
333
  component: ({ data }) => <SpaceRenamePopover space={data.props} />,
296
334
  }),
297
335
  Surface.create({
298
- id: OBJECT_RENAME_POPOVER,
336
+ id: ENTITY_RENAME_POPOVER,
299
337
  role: 'popover',
300
- filter: (data): data is { props: Obj.Unknown } =>
301
- data.component === OBJECT_RENAME_POPOVER && Obj.isObject(data.props),
302
- component: ({ data }) => <ObjectRenamePopover object={data.props} />,
338
+ filter: (data): data is { props: Entity.Unknown } =>
339
+ data.component === ENTITY_RENAME_POPOVER && Entity.isEntity(data.props),
340
+ component: ({ data }) => <EntityRenamePopover entity={data.props} />,
303
341
  }),
304
342
  Surface.create({
305
- id: 'menu-footer',
343
+ id: 'menuFooter',
306
344
  filter: AppSurface.subject(AppSurface.MenuFooter, Obj.isObject),
307
345
  component: ({ data }) => <MenuFooter object={data.subject} />,
308
346
  }),
309
347
  Surface.create({
310
- id: 'navtree-presence',
348
+ id: 'navtreePresence',
311
349
  role: 'navtree-item-end',
312
350
  filter: (data): data is { id: string; subject: Obj.Unknown; open?: boolean } =>
313
351
  typeof data.id === 'string' && Obj.isObject(data.subject),
@@ -318,29 +356,29 @@ export default Capability.makeModule(
318
356
  }),
319
357
  // TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.
320
358
  Surface.create({
321
- id: 'navtree-presence-fallback',
359
+ id: 'navtreePresenceFallback',
322
360
  role: 'navtree-item-end',
323
- position: 'fallback',
361
+ position: 'last',
324
362
  filter: (data): data is { id: string; open?: boolean } => typeof data.id === 'string',
325
363
  component: ({ data }) => <SmallPresenceLive id={data.id} open={data.open} />,
326
364
  }),
327
365
  // TODO(wittjosiah): Broken?
328
366
  Surface.create({
329
- id: 'navtree-sync-status',
367
+ id: 'navtreeSyncStatus',
330
368
  role: 'navtree-item-end',
331
369
  filter: (data): data is { subject: Space; open?: boolean } => isSpace(data.subject),
332
370
  component: ({ data }) => <InlineSyncStatus space={data.subject} open={data.open} />,
333
371
  }),
334
372
  Surface.create({
335
- id: 'navbar-presence',
373
+ id: 'navbarPresence',
336
374
  role: 'navbar-end',
337
- position: 'hoist',
375
+ position: 'first',
338
376
  filter: (data): data is { subject: Space | Obj.Unknown } => isSpace(data.subject) || Obj.isObject(data.subject),
339
377
  component: ({ data }) => {
340
378
  const space = isSpace(data.subject) ? data.subject : getSpace(data.subject);
341
379
  const object = isSpace(data.subject)
342
380
  ? data.subject.state.get() === SpaceState.SPACE_READY
343
- ? (space?.properties[Collection.Collection.typename]?.target as Collection.Collection)
381
+ ? space && Annotation.get(space.properties, RootCollectionAnnotation).pipe(Option.getOrUndefined)?.target
344
382
  : undefined
345
383
  : data.subject;
346
384
 
@@ -348,12 +386,12 @@ export default Capability.makeModule(
348
386
  },
349
387
  }),
350
388
  Surface.create({
351
- id: 'collection-section',
389
+ id: 'collectionSection',
352
390
  filter: AppSurface.object(AppSurface.Section, Collection.Collection),
353
391
  component: ({ data }) => <CollectionSection subject={data.subject} />,
354
392
  }),
355
393
  Surface.create({
356
- id: 'status',
394
+ id: 'syncStatus',
357
395
  role: 'status-indicator',
358
396
  component: () => <SyncStatus />,
359
397
  }),
@@ -3,9 +3,11 @@
3
3
  //
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
+ import * as Option from 'effect/Option';
6
7
 
7
8
  import { Capability } from '@dxos/app-framework';
8
- import { Collection, Obj, Ref } from '@dxos/echo';
9
+ import { RootCollectionAnnotation } from '@dxos/app-toolkit';
10
+ import { Annotation, Collection, Obj, Ref } from '@dxos/echo';
9
11
  import { type Space } from '@dxos/react-client/echo';
10
12
 
11
13
  import { SpaceCapabilities } from '#types';
@@ -22,7 +24,8 @@ export default Capability.makeModule(() =>
22
24
  * Remove all existing query collections from the root collection.
23
25
  */
24
26
  const removeQueryCollections = async (space: Space) => {
25
- const rootCollection: Collection.Collection = await space.properties[Collection.Collection.typename]?.load();
27
+ const rootCollectionRef = Annotation.get(space.properties, RootCollectionAnnotation).pipe(Option.getOrUndefined);
28
+ const rootCollection: Collection.Collection | undefined = await rootCollectionRef?.load();
26
29
  if (!rootCollection) {
27
30
  return;
28
31
  }
@@ -33,7 +36,7 @@ const removeQueryCollections = async (space: Space) => {
33
36
  return;
34
37
  }
35
38
 
36
- Obj.change(rootCollection, (rootCollection) => {
39
+ Obj.update(rootCollection, (rootCollection) => {
37
40
  rootCollection.objects = objects
38
41
  .filter((object) => Obj.getTypename(object) !== 'org.dxos.type.queryCollection')
39
42
  .map((object) => Ref.make(object));
@@ -9,19 +9,22 @@ import { Capabilities, Capability } from '@dxos/app-framework';
9
9
  import {
10
10
  AppCapabilities,
11
11
  LayoutOperation,
12
+ RootCollectionAnnotation,
12
13
  getSpacePath,
13
14
  resolvePersonalSpace,
14
15
  setPersonalSpace,
15
16
  } from '@dxos/app-toolkit';
16
17
  import { SubscriptionList } from '@dxos/async';
17
- import { Filter, Obj } from '@dxos/echo';
18
+ import { Annotation, Collection, Filter, Obj, Type } from '@dxos/echo';
19
+ import { SPACE_ID_LENGTH, parseId } from '@dxos/keys';
18
20
  import { log } from '@dxos/log';
19
- import { AttentionCapabilities } from '@dxos/plugin-attention/types';
20
- import { ClientCapabilities } from '@dxos/plugin-client/types';
21
+ import { MigrationVersionAnnotation, Migrations } from '@dxos/migrations';
22
+ import { AttentionCapabilities } from '@dxos/plugin-attention';
23
+ import { ClientCapabilities } from '@dxos/plugin-client';
21
24
  import { Graph } from '@dxos/plugin-graph';
22
25
  import { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';
23
26
  import { PublicKey } from '@dxos/react-client';
24
- import { type Space, SPACE_ID_LENGTH, SpaceState, parseId } from '@dxos/react-client/echo';
27
+ import { type Space, SpaceState } from '@dxos/react-client/echo';
25
28
  import { Expando } from '@dxos/schema';
26
29
  import { ComplexMap, reduceGroupBy } from '@dxos/util';
27
30
 
@@ -91,14 +94,13 @@ export default Capability.makeModule(
91
94
  if (resolved) {
92
95
  void initializePersonalSpace(resolved.space, resolved);
93
96
  } else {
94
- subscriptions.add(
95
- client.spaces.subscribe(() => {
96
- const resolved = resolvePersonalSpace(client);
97
- if (resolved) {
98
- void initializePersonalSpace(resolved.space, resolved);
99
- }
100
- }).unsubscribe,
101
- );
97
+ const personalSpaceSub = client.spaces.subscribe(() => {
98
+ const resolved = resolvePersonalSpace(client);
99
+ if (resolved) {
100
+ void initializePersonalSpace(resolved.space, resolved);
101
+ }
102
+ });
103
+ subscriptions.add(() => personalSpaceSub.unsubscribe());
102
104
  }
103
105
 
104
106
  //
@@ -142,39 +144,55 @@ export default Capability.makeModule(
142
144
  subscriptions.add(() => lastActiveCleanup?.());
143
145
 
144
146
  // Cache space names.
145
- subscriptions.add(
146
- client.spaces.subscribe(async (spaces) => {
147
- // TODO(wittjosiah): Remove. This is a hack to be able to migrate the personal space properties.
148
- const personalSpaceForMigration = resolvePersonalSpace(client);
149
- if (
150
- personalSpaceForMigration?.space &&
151
- personalSpaceForMigration.space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION
152
- ) {
153
- await personalSpaceForMigration.space.internal.migrate();
154
- }
147
+ const spaceNamesSub = client.spaces.subscribe(async (spaces) => {
148
+ // TODO(wittjosiah): Remove. This is a hack to be able to migrate the personal space properties.
149
+ const personalSpaceForMigration = resolvePersonalSpace(client);
150
+ if (
151
+ personalSpaceForMigration?.space &&
152
+ personalSpaceForMigration.space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION
153
+ ) {
154
+ await personalSpaceForMigration.space.internal.migrate();
155
+ }
155
156
 
156
- spaces
157
- .filter((space) => space.state.get() === SpaceState.SPACE_READY)
158
- .forEach((space) => {
159
- const updateSpaceName = () => {
160
- const name = space.properties.name;
161
- if (!name) {
162
- registry.update(stateAtom, (current) => {
163
- const { [space.id]: _, ...rest } = current.spaceNames;
164
- return { ...current, spaceNames: rest };
165
- });
166
- } else {
167
- registry.update(stateAtom, (current) => ({
168
- ...current,
169
- spaceNames: { ...current.spaceNames, [space.id]: name },
170
- }));
171
- }
172
- };
173
- updateSpaceName();
174
- subscriptions.add(Obj.subscribe(space.properties, updateSpaceName));
175
- });
176
- }).unsubscribe,
177
- );
157
+ spaces
158
+ .filter((space) => space.state.get() === SpaceState.SPACE_READY)
159
+ .forEach((space) => {
160
+ if (Option.isNone(Annotation.get(space.properties, RootCollectionAnnotation))) {
161
+ const legacyRef = (space.properties as any)[Type.getTypename(Collection.Collection)];
162
+ if (legacyRef) {
163
+ Obj.update(space.properties, (properties) => {
164
+ Annotation.set(properties, RootCollectionAnnotation, legacyRef);
165
+ });
166
+ }
167
+ }
168
+ if (Migrations.namespace && Option.isNone(Annotation.get(space.properties, MigrationVersionAnnotation))) {
169
+ const legacyVersion = (space.properties as any)[`${Migrations.namespace}.version`];
170
+ if (typeof legacyVersion === 'string') {
171
+ Obj.update(space.properties, (properties) => {
172
+ Annotation.set(properties, MigrationVersionAnnotation, legacyVersion);
173
+ });
174
+ }
175
+ }
176
+
177
+ const updateSpaceName = () => {
178
+ const name = space.properties.name;
179
+ if (!name) {
180
+ registry.update(stateAtom, (current) => {
181
+ const { [space.id]: _, ...rest } = current.spaceNames;
182
+ return { ...current, spaceNames: rest };
183
+ });
184
+ } else {
185
+ registry.update(stateAtom, (current) => ({
186
+ ...current,
187
+ spaceNames: { ...current.spaceNames, [space.id]: name },
188
+ }));
189
+ }
190
+ };
191
+ updateSpaceName();
192
+ subscriptions.add(Obj.subscribe(space.properties, updateSpaceName));
193
+ });
194
+ });
195
+ subscriptions.add(() => spaceNamesSub.unsubscribe());
178
196
 
179
197
  // Broadcast active node to other peers in the space - subscribe to both layout and attention.
180
198
  let broadcastCleanup: (() => void) | undefined;
@@ -256,56 +274,55 @@ export default Capability.makeModule(
256
274
  subscriptions.add(() => broadcastCleanup?.());
257
275
 
258
276
  // Listen for active nodes from other peers in the space.
259
- subscriptions.add(
260
- client.spaces.subscribe((spaces) => {
261
- spaceSubscriptions.clear();
262
- spaces.forEach((space) => {
263
- spaceSubscriptions.add(
264
- space.listen('viewing', (message) => {
265
- const { added, removed, attended } = message.payload;
266
-
267
- const identityKey = PublicKey.safeFrom(message.payload.identityKey);
268
- const currentIdentity = client.halo.identity.get();
269
- if (
270
- identityKey &&
271
- !currentIdentity?.identityKey.equals(identityKey) &&
272
- Array.isArray(added) &&
273
- Array.isArray(removed)
274
- ) {
275
- // TODO(wittjosiah): Stop using (Complex)Map inside reactive object.
276
- registry.update(ephemeralAtom, (ephemeral) => {
277
- added.forEach((id) => {
278
- if (typeof id === 'string') {
279
- if (!(id in ephemeral.viewersByObject)) {
280
- ephemeral.viewersByObject[id] = new ComplexMap(PublicKey.hash);
281
- }
282
- ephemeral.viewersByObject[id]!.set(identityKey, {
283
- lastSeen: Date.now(),
284
- currentlyAttended: new Set(attended).has(id),
285
- });
286
- if (!ephemeral.viewersByIdentity.has(identityKey)) {
287
- ephemeral.viewersByIdentity.set(identityKey, new Set());
288
- }
289
- ephemeral.viewersByIdentity.get(identityKey)!.add(id);
277
+ const viewingSub = client.spaces.subscribe((spaces) => {
278
+ spaceSubscriptions.clear();
279
+ spaces.forEach((space) => {
280
+ spaceSubscriptions.add(
281
+ space.listen('viewing', (message) => {
282
+ const { added, removed, attended } = message.payload;
283
+
284
+ const identityKey = PublicKey.safeFrom(message.payload.identityKey);
285
+ const currentIdentity = client.halo.identity.get();
286
+ if (
287
+ identityKey &&
288
+ !currentIdentity?.identityKey.equals(identityKey) &&
289
+ Array.isArray(added) &&
290
+ Array.isArray(removed)
291
+ ) {
292
+ // TODO(wittjosiah): Stop using (Complex)Map inside reactive object.
293
+ registry.update(ephemeralAtom, (ephemeral) => {
294
+ added.forEach((id) => {
295
+ if (typeof id === 'string') {
296
+ if (!(id in ephemeral.viewersByObject)) {
297
+ ephemeral.viewersByObject[id] = new ComplexMap(PublicKey.hash);
290
298
  }
291
- });
292
-
293
- removed.forEach((id) => {
294
- if (typeof id === 'string') {
295
- ephemeral.viewersByObject[id]?.delete(identityKey);
296
- ephemeral.viewersByIdentity.get(identityKey)?.delete(id);
297
- // It's okay for these to be empty sets/maps, reduces churn.
299
+ ephemeral.viewersByObject[id]!.set(identityKey, {
300
+ lastSeen: Date.now(),
301
+ currentlyAttended: new Set(attended).has(id),
302
+ });
303
+ if (!ephemeral.viewersByIdentity.has(identityKey)) {
304
+ ephemeral.viewersByIdentity.set(identityKey, new Set());
298
305
  }
299
- });
306
+ ephemeral.viewersByIdentity.get(identityKey)!.add(id);
307
+ }
308
+ });
300
309
 
301
- return { ...ephemeral };
310
+ removed.forEach((id) => {
311
+ if (typeof id === 'string') {
312
+ ephemeral.viewersByObject[id]?.delete(identityKey);
313
+ ephemeral.viewersByIdentity.get(identityKey)?.delete(id);
314
+ // It's okay for these to be empty sets/maps, reduces churn.
315
+ }
302
316
  });
303
- }
304
- }),
305
- );
306
- });
307
- }).unsubscribe,
308
- );
317
+
318
+ return { ...ephemeral };
319
+ });
320
+ }
321
+ }),
322
+ );
323
+ });
324
+ });
325
+ subscriptions.add(() => viewingSub.unsubscribe());
309
326
 
310
327
  // Enable edge replication for all spaces.
311
328
  try {