@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
@@ -2,26 +2,33 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import * as Function from 'effect/Function';
6
- import * as Option from 'effect/Option';
7
5
  import React from 'react';
8
6
 
9
7
  import { Surface } from '@dxos/app-framework/ui';
10
8
  import { AppSurface } from '@dxos/app-toolkit/ui';
11
- import { Annotation, Obj } from '@dxos/echo';
9
+ import { Obj, Type } from '@dxos/echo';
12
10
  import { Card, Input, Panel, ScrollArea, Toolbar, useTranslation } from '@dxos/react-ui';
13
11
 
14
12
  import { meta } from '#meta';
15
13
 
16
14
  export const RecordArticle = ({ role, subject }: AppSurface.ObjectArticleProps) => {
17
15
  const { t } = useTranslation(meta.id);
18
- const icon = Function.pipe(
19
- Obj.getSchema(subject),
20
- Option.fromNullable,
21
- Option.flatMap(Annotation.IconAnnotation.get),
22
- Option.map(({ icon }) => icon),
23
- Option.getOrElse(() => 'ph--placeholder--regular'),
24
- );
16
+ // Obj.getType fails for database-registered (dynamic) schemas due to DXN mismatch;
17
+ // fall back to typename query which matches TypeSchema.typename.
18
+ const db = Obj.getDatabase(subject);
19
+ const typename = Obj.getTypename(subject);
20
+ const schema =
21
+ Obj.getType(subject) ??
22
+ (typename && db
23
+ ? db.graph.registry
24
+ .list()
25
+ .filter(Type.isType)
26
+ .find((t) => Type.getTypename(t) === typename)
27
+ : undefined);
28
+ const icon =
29
+ schema && Type.getDatabase(schema) != null
30
+ ? 'ph--cube--regular'
31
+ : (Obj.getIcon(subject)?.icon ?? 'ph--circle-dashed--regular');
25
32
 
26
33
  return (
27
34
  <Panel.Root role={role}>
@@ -32,17 +39,17 @@ export const RecordArticle = ({ role, subject }: AppSurface.ObjectArticleProps)
32
39
  <ScrollArea.Root orientation='vertical'>
33
40
  <ScrollArea.Viewport classNames='p-4 space-y-4'>
34
41
  <Card.Root classNames='dx-card-max-width'>
35
- <Card.Toolbar>
42
+ <Card.Header>
36
43
  <Card.Icon icon={icon} />
37
- <Card.Title>{Obj.getLabel(subject)}</Card.Title>
38
- </Card.Toolbar>
39
- <Card.Content>
44
+ <Card.Title>{Obj.getLabel(subject, { fallback: 'typename' })}</Card.Title>
45
+ </Card.Header>
46
+ <Card.Body>
40
47
  <Surface.Surface type={AppSurface.Card} data={{ subject }} limit={1} />
41
- </Card.Content>
48
+ </Card.Body>
42
49
  </Card.Root>
43
50
 
44
51
  {/* TODO(burdon): Only show label if surface exists? */}
45
- <div role='none' className='flex flex-col gap-form-gap'>
52
+ <div className='flex flex-col gap-form-gap'>
46
53
  <Input.Root>
47
54
  <Input.Label>{t('related-actions.label')}</Input.Label>
48
55
  </Input.Root>
@@ -2,13 +2,11 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import * as Function from 'effect/Function';
6
- import * as Option from 'effect/Option';
7
5
  import React, { useMemo } from 'react';
8
6
 
9
7
  import { Surface } from '@dxos/app-framework/ui';
10
8
  import { AppSurface, useObjectMenuItems } from '@dxos/app-toolkit/ui';
11
- import { Annotation, Entity, Obj } from '@dxos/echo';
9
+ import { Entity, Obj } from '@dxos/echo';
12
10
  import { Card, Panel, Toolbar, useTranslation } from '@dxos/react-ui';
13
11
  import { Masonry } from '@dxos/react-ui-masonry';
14
12
  import { Menu } from '@dxos/react-ui-menu';
@@ -46,13 +44,7 @@ export const RelatedArticle = ({ role, companionTo }: RelatedArticleProps) => {
46
44
  const ObjectCard = ({ data: subject, classNames }: { data: Entity.Unknown; classNames?: string }) => {
47
45
  const { t } = useTranslation(meta.id);
48
46
  const data = useMemo(() => ({ subject }), [subject]);
49
- const icon = Function.pipe(
50
- Entity.getSchema(subject),
51
- Option.fromNullable,
52
- Option.flatMap(Annotation.IconAnnotation.get),
53
- Option.map(({ icon }) => icon),
54
- Option.getOrElse(() => 'ph--placeholder--regular'),
55
- );
47
+ const icon = Entity.getIcon(subject)?.icon ?? 'ph--circle-dashed--regular';
56
48
 
57
49
  // TODO(burdon): BUG: Includes item itself.
58
50
  const menuItems = useObjectMenuItems(subject);
@@ -60,9 +52,9 @@ const ObjectCard = ({ data: subject, classNames }: { data: Entity.Unknown; class
60
52
  return (
61
53
  <Menu.Root>
62
54
  <Card.Root classNames={classNames}>
63
- <Card.Toolbar>
55
+ <Card.Header>
64
56
  <Card.Icon icon={icon} />
65
- <Card.Title>{Entity.getLabel(subject)}</Card.Title>
57
+ <Card.Title>{Entity.getLabel(subject, { fallback: 'typename' })}</Card.Title>
66
58
  <Menu.Trigger asChild disabled={!menuItems?.length}>
67
59
  <Toolbar.IconButton
68
60
  iconOnly
@@ -72,10 +64,10 @@ const ObjectCard = ({ data: subject, classNames }: { data: Entity.Unknown; class
72
64
  />
73
65
  </Menu.Trigger>
74
66
  <Menu.Content items={menuItems} />
75
- </Card.Toolbar>
76
- <Card.Content>
67
+ </Card.Header>
68
+ <Card.Body>
77
69
  <Surface.Surface type={AppSurface.Card} data={data} limit={1} />
78
- </Card.Content>
70
+ </Card.Body>
79
71
  </Card.Root>
80
72
  </Menu.Root>
81
73
  );
@@ -5,7 +5,7 @@
5
5
  import React, { useEffect, useState } from 'react';
6
6
 
7
7
  import { AppSurface } from '@dxos/app-toolkit/ui';
8
- import { type Type } from '@dxos/echo';
8
+ import { Type } from '@dxos/echo';
9
9
  import { type Space } from '@dxos/react-client/echo';
10
10
  import { useTranslation } from '@dxos/react-ui';
11
11
  import { Settings } from '@dxos/react-ui-form';
@@ -15,24 +15,21 @@ import { meta } from '#meta';
15
15
 
16
16
  export const SchemaContainer = ({ space }: AppSurface.SpaceArticleProps) => {
17
17
  const { t } = useTranslation(meta.id);
18
- const schemas = useQuerySpaceSchemas(space);
18
+ const types = useQuerySpaceTypes(space);
19
19
 
20
20
  return (
21
21
  <Settings.Viewport>
22
22
  <Settings.Section title={t('schema-verbose.label')} description={t('schema.description')}>
23
23
  <div
24
- role='none'
25
24
  className={mx([
26
25
  'grid md:col-span-2 grid-cols-subgrid gap-trim-sm items-center',
27
26
  '*:first:mt-0! *:last:mb-0! px-trim-md py-trim-md',
28
27
  'border border-separator rounded-md',
29
28
  ])}
30
29
  >
31
- {schemas.length === 0 && <div className='text-center py-4'>{t('no-schemas-found.message')}</div>}
32
- {schemas.map((schema) => (
33
- <div role='none' key={schema.id}>
34
- {schema.typename}
35
- </div>
30
+ {types.length === 0 && <div className='text-center py-4'>{t('no-schemas-found.message')}</div>}
31
+ {types.map((type) => (
32
+ <div key={type.id}>{Type.getTypename(type)}</div>
36
33
  ))}
37
34
  </div>
38
35
  </Settings.Section>
@@ -41,19 +38,17 @@ export const SchemaContainer = ({ space }: AppSurface.SpaceArticleProps) => {
41
38
  };
42
39
 
43
40
  /**
44
- * Subscribe to and retrieve all schemas from a space's schema registry.
41
+ * Subscribe to and retrieve all types from a space's registry.
45
42
  */
46
- export const useQuerySpaceSchemas = (space: Space): Type.RuntimeType[] => {
47
- const [schemas, setSchemas] = useState<Type.RuntimeType[]>([]);
43
+ export const useQuerySpaceTypes = (space: Space): Type.AnyEntity[] => {
44
+ const [types, setTypes] = useState<Type.AnyEntity[]>(() => [...space.db.graph.registry.list().filter(Type.isType)]);
48
45
 
49
46
  useEffect(() => {
50
- const query = space.db.schemaRegistry.query();
51
- const initialResults = query.runSync();
52
- setSchemas(initialResults);
53
-
54
- const unsubscribe = query.subscribe(() => setSchemas(query.results));
55
- return () => unsubscribe();
47
+ setTypes([...space.db.graph.registry.list().filter(Type.isType)]);
48
+ return space.db.graph.registry.changed.on(() => {
49
+ setTypes([...space.db.graph.registry.list().filter(Type.isType)]);
50
+ });
56
51
  }, [space]);
57
52
 
58
- return schemas;
53
+ return types;
59
54
  };
@@ -9,7 +9,8 @@ import { IdentityDid, PublicKey } from '@dxos/keys';
9
9
  import { HaloSpaceMember, SpaceMember } from '@dxos/react-client/echo';
10
10
  import { withTheme } from '@dxos/react-ui/testing';
11
11
 
12
- import { translations } from '../../translations';
12
+ import { translations } from '#translations';
13
+
13
14
  import { FullPresence, type Member, type MemberPresenceProps, SmallPresence } from './SpacePresence';
14
15
 
15
16
  const viewers = (n: number, currentlyAttended = true): Member[] =>
@@ -71,7 +71,7 @@ export const SpacePresence = ({ object, spaceId }: SpacePresenceProps) => {
71
71
  return null;
72
72
  }
73
73
 
74
- const currentObjectViewers = ephemeral.viewersByObject[Obj.getDXN(object).toString()] ?? noViewers;
74
+ const currentObjectViewers = ephemeral.viewersByObject[Obj.getURI(object)] ?? noViewers;
75
75
 
76
76
  const membersForObject = spaceMembers
77
77
  .filter((member) => memberOnline(member) && memberIsNotSelf(member))
@@ -22,7 +22,7 @@ export const SpaceRenamePopover = ({ space }: { space: Space }) => {
22
22
  const { invokePromise } = useOperationInvoker();
23
23
 
24
24
  const handleDone = useCallback(() => {
25
- Obj.change(space.properties, (obj) => {
25
+ Obj.update(space.properties, (obj) => {
26
26
  obj.name = name;
27
27
  });
28
28
  void invokePromise(LayoutOperation.UpdatePopover, { anchorId: '', state: false });
@@ -30,8 +30,8 @@ export const SpaceRenamePopover = ({ space }: { space: Space }) => {
30
30
 
31
31
  // TODO(thure): Why does the input value need to be uncontrolled to work?
32
32
  return (
33
- <div role='none' className='p-2 flex gap-2'>
34
- <div role='none' className='flex-1'>
33
+ <div className='p-2 flex gap-2'>
34
+ <div className='flex-1'>
35
35
  <Input.Root>
36
36
  <Input.Label srOnly>{t('space-name.label')}</Input.Label>
37
37
  <Input.TextInput
@@ -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
10
  import { AppSurface } from '@dxos/app-toolkit/ui';
11
11
  import { useClientStory, withClientProvider } from '@dxos/react-client/testing';
12
12
  import { Loading, withLayout, withTheme } from '@dxos/react-ui/testing';
13
13
 
14
- import { translations } from '../../translations';
14
+ import { translations } from '#translations';
15
+
15
16
  import { SpaceSettingsContainer } from './SpaceSettingsContainer';
16
17
 
17
18
  const Story = (props: Partial<AppSurface.SpaceArticleProps>) => {
@@ -32,7 +33,7 @@ const meta = {
32
33
  withLayout({ layout: 'fullscreen' }),
33
34
  withClientProvider({ createIdentity: true, createSpace: true }),
34
35
  // TODO(wittjosiah): Try to write story which does not depend on plugin manager.
35
- withPluginManager({ plugins: [OperationPlugin(), RuntimePlugin()] }),
36
+ withPluginManager({ plugins: [ProcessManagerPlugin()] }),
36
37
  ],
37
38
  parameters: {
38
39
  translations,
@@ -13,17 +13,7 @@ import { log } from '@dxos/log';
13
13
  import { SpaceArchive } from '@dxos/protocols/proto/dxos/client/services';
14
14
  import { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';
15
15
  import { useClient } from '@dxos/react-client';
16
- import { SpaceState } from '@dxos/react-client/echo';
17
- import {
18
- Button,
19
- DropdownMenu,
20
- Icon,
21
- IconButton,
22
- Input,
23
- useFileDownload,
24
- useMulticastObservable,
25
- useTranslation,
26
- } from '@dxos/react-ui';
16
+ import { Button, Dialog, DropdownMenu, Icon, IconButton, Input, useTranslation } from '@dxos/react-ui';
27
17
  import { Form, type FormFieldMap, Settings } from '@dxos/react-ui-form';
28
18
  import { HuePicker, IconPicker } from '@dxos/react-ui-pickers';
29
19
 
@@ -31,20 +21,13 @@ import { meta } from '#meta';
31
21
  import { SpaceOperation } from '#operations';
32
22
  import { SpaceCapabilities, SpaceForm } from '#types';
33
23
 
34
- const SpaceFormSchema = SpaceForm.pipe(
35
- Schema.extend(
36
- Schema.Struct({
37
- archived: Schema.Boolean.annotations({ title: 'Archive Space' }),
38
- }),
39
- ),
40
- );
24
+ const SpaceFormSchema = SpaceForm;
41
25
 
42
26
  // TODO(wittjosiah): Handle space migrations here?
43
27
  export const SpaceSettingsContainer = ({ space }: AppSurface.SpaceArticleProps) => {
44
28
  const { t } = useTranslation(meta.id);
45
29
  const { invokePromise } = useOperationInvoker();
46
30
  const client = useClient();
47
- const archived = useMulticastObservable(space.state) === SpaceState.SPACE_INACTIVE;
48
31
  const [edgeReplication, setEdgeReplication] = useState(
49
32
  space.internal.data.edgeReplication === EdgeReplicationSetting.ENABLED,
50
33
  );
@@ -69,7 +52,7 @@ export const SpaceSettingsContainer = ({ space }: AppSurface.SpaceArticleProps)
69
52
  }
70
53
 
71
54
  if (changed['name'] || changed['icon'] || changed['hue']) {
72
- Obj.change(space.properties, (obj) => {
55
+ Obj.update(space.properties, (obj) => {
73
56
  if (changed['name'] && newValues.name !== undefined) {
74
57
  obj.name = newValues.name;
75
58
  }
@@ -81,22 +64,8 @@ export const SpaceSettingsContainer = ({ space }: AppSurface.SpaceArticleProps)
81
64
  }
82
65
  });
83
66
  }
84
-
85
- if (changed['archived']) {
86
- if (newValues.archived && !archived) {
87
- void invokePromise(SpaceOperation.Close, { space });
88
- const personalSpace = getPersonalSpace(client);
89
- if (personalSpace) {
90
- void invokePromise(LayoutOperation.SwitchWorkspace, {
91
- subject: getSpacePath(personalSpace.id),
92
- });
93
- }
94
- } else if (!newValues.archived && archived) {
95
- void invokePromise(SpaceOperation.Open, { space });
96
- }
97
- }
98
67
  },
99
- [space, client, archived, invokePromise, toggleEdgeReplication],
68
+ [space, toggleEdgeReplication],
100
69
  );
101
70
 
102
71
  const defaultValues = useMemo(
@@ -105,9 +74,8 @@ export const SpaceSettingsContainer = ({ space }: AppSurface.SpaceArticleProps)
105
74
  icon: space.properties.icon,
106
75
  hue: space.properties.hue,
107
76
  edgeReplication,
108
- archived,
109
77
  }),
110
- [space.properties.name, space.properties.icon, space.properties.hue, edgeReplication, archived],
78
+ [space.properties.name, space.properties.icon, space.properties.hue, edgeReplication],
111
79
  );
112
80
 
113
81
  const personal = isPersonalSpace(space);
@@ -165,37 +133,43 @@ export const SpaceSettingsContainer = ({ space }: AppSurface.SpaceArticleProps)
165
133
  </Settings.Item>
166
134
  );
167
135
  },
168
- archived: personal
169
- ? () => null
170
- : ({ type, label, getValue, onValueChange }) => {
171
- const handleChange = useCallback(() => onValueChange(type, !getValue()), [onValueChange, type, getValue]);
172
- return (
173
- <Settings.Item title={label} description={t('archive-space.description')}>
174
- <Button variant={getValue() ? 'default' : 'destructive'} onClick={handleChange}>
175
- {getValue() ? t('unarchive-space.label') : t('archive-space.label')}
176
- </Button>
177
- </Settings.Item>
178
- );
179
- },
180
136
  }),
181
137
  [t, space, personal],
182
138
  );
183
139
 
184
- const download = useFileDownload();
185
140
  const handleBackupBinary = useCallback(async () => {
186
- const archive = await space.internal.export({ format: SpaceArchive.Format.BINARY });
187
- download(new Blob([archive.contents as Uint8Array<ArrayBuffer>]), archive.filename);
188
- }, [space, download]);
141
+ await invokePromise(SpaceOperation.ExportSpace, { space, format: SpaceArchive.Format.BINARY });
142
+ }, [space, invokePromise]);
189
143
  const handleBackupJson = useCallback(async () => {
190
- const archive = await space.internal.export({ format: SpaceArchive.Format.JSON });
191
- download(new Blob([archive.contents as Uint8Array<ArrayBuffer>]), archive.filename);
192
- }, [space, download]);
144
+ await invokePromise(SpaceOperation.ExportSpace, { space, format: SpaceArchive.Format.JSON });
145
+ }, [space, invokePromise]);
193
146
 
194
147
  const repairs = useCapabilities(SpaceCapabilities.Repair);
195
148
  const handleRepair = useCallback(async () => {
196
149
  await Promise.all(repairs.map((repair) => repair({ space, isDefault: isPersonalSpace(space) })));
197
150
  }, [space, repairs]);
198
151
 
152
+ const [deleteConfirmOpen, setDeleteConfirmOpen] = useState(false);
153
+ // Wired to an onClick handler: must resolve (never reject) so it can't trigger an unhandled rejection.
154
+ const handleDelete = useCallback(async () => {
155
+ try {
156
+ await invokePromise(SpaceOperation.Delete, { space });
157
+ setDeleteConfirmOpen(false);
158
+ const personalSpace = getPersonalSpace(client);
159
+ if (personalSpace) {
160
+ void invokePromise(LayoutOperation.SwitchWorkspace, { subject: getSpacePath(personalSpace.id) });
161
+ }
162
+ } catch (err) {
163
+ log.catch(err, { stage: 'delete: invocation rejected', spaceId: space.id });
164
+ setDeleteConfirmOpen(false);
165
+ void invokePromise(LayoutOperation.AddToast, {
166
+ id: `${space.id}-delete-failed`,
167
+ title: t('delete-space-failed.message'),
168
+ icon: 'ph--warning--regular',
169
+ });
170
+ }
171
+ }, [space, client, invokePromise, t]);
172
+
199
173
  return (
200
174
  <Settings.Viewport>
201
175
  <Settings.Section
@@ -249,6 +223,44 @@ export const SpaceSettingsContainer = ({ space }: AppSurface.SpaceArticleProps)
249
223
  <Button onClick={handleRepair}>{t('repair-space.label')}</Button>
250
224
  </Settings.Item>
251
225
  </Settings.Section>
226
+
227
+ <Settings.Section title={t('danger-zone.title')} description={t('danger-zone.description')}>
228
+ {!personal && (
229
+ <Settings.Item title={t('delete-space.title')} description={t('delete-space.description')}>
230
+ <Dialog.Root open={deleteConfirmOpen} onOpenChange={setDeleteConfirmOpen}>
231
+ <Dialog.Trigger asChild>
232
+ <Button variant='destructive' data-testid='spaceSettings.deleteSpace'>
233
+ {t('delete-space.label')}
234
+ </Button>
235
+ </Dialog.Trigger>
236
+ <Dialog.Portal>
237
+ <Dialog.Overlay>
238
+ <Dialog.Content>
239
+ <Dialog.Header>
240
+ <Dialog.Title>{t('delete-space-confirm.title')}</Dialog.Title>
241
+ </Dialog.Header>
242
+ <Dialog.Body>
243
+ <Dialog.Description>{t('delete-space-confirm.description')}</Dialog.Description>
244
+ <div className='flex justify-end gap-2 mbs-4'>
245
+ <Dialog.Close asChild>
246
+ <Button>{t('cancel.label')}</Button>
247
+ </Dialog.Close>
248
+ <Button
249
+ variant='destructive'
250
+ onClick={handleDelete}
251
+ data-testid='spaceSettings.deleteSpaceConfirm'
252
+ >
253
+ {t('delete-space.label')}
254
+ </Button>
255
+ </div>
256
+ </Dialog.Body>
257
+ </Dialog.Content>
258
+ </Dialog.Overlay>
259
+ </Dialog.Portal>
260
+ </Dialog.Root>
261
+ </Settings.Item>
262
+ )}
263
+ </Settings.Section>
252
264
  </Settings.Viewport>
253
265
  );
254
266
  };
@@ -7,7 +7,8 @@ import { type Meta, type StoryObj } from '@storybook/react-vite';
7
7
  import { withClientProvider } from '@dxos/react-client/testing';
8
8
  import { withTheme } from '@dxos/react-ui/testing';
9
9
 
10
- import { translations } from '../../translations';
10
+ import { translations } from '#translations';
11
+
11
12
  import { SyncStatusIndicator } from './SyncStatus';
12
13
 
13
14
  const meta = {
@@ -5,7 +5,7 @@
5
5
  import React, { useEffect, useState } from 'react';
6
6
 
7
7
  import { log } from '@dxos/log';
8
- import { StatusBar } from '@dxos/plugin-status-bar';
8
+ import { StatusBar } from '@dxos/plugin-status-bar/components';
9
9
  import { EdgeStatus } from '@dxos/protocols/proto/dxos/client/services';
10
10
  import { type QueryEdgeStatusResponse } from '@dxos/protocols/proto/dxos/client/services';
11
11
  import { useClient } from '@dxos/react-client';
@@ -59,7 +59,13 @@ export const SyncStatusIndicator = ({ state, saved }: { state: SpaceSyncStateMap
59
59
  <Popover.Root>
60
60
  <Popover.Trigger asChild>
61
61
  <StatusBar.Item>
62
- <IconButton icon={getIcon(status)} iconOnly label={t(`${status}.label`)} classNames={classNames} />
62
+ <IconButton
63
+ variant='ghost'
64
+ icon={getIcon(status)}
65
+ iconOnly
66
+ label={t(`${status}.label`)}
67
+ classNames={classNames}
68
+ />
63
69
  </StatusBar.Item>
64
70
  </Popover.Trigger>
65
71
  <Popover.Portal>
@@ -2,17 +2,15 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import * as Schema from 'effect/Schema';
6
5
  import React, { useCallback, useState } from 'react';
7
6
 
8
7
  import { useOperationInvoker } from '@dxos/app-framework/ui';
9
8
  import { resolveSchemaWithRegistry } from '@dxos/app-toolkit/query';
10
9
  import { useTypeOptions } from '@dxos/app-toolkit/ui';
11
- import { DXN, Filter, JsonSchema, Obj, Query, type QueryAST, Tag, Type } from '@dxos/echo';
12
- import { type View } from '@dxos/echo';
10
+ import { EID, Filter, Obj, Query, type QueryAST, Scope, Tag, Type, type View } from '@dxos/echo';
13
11
  import { type Mutable } from '@dxos/echo/internal';
14
12
  import { useClient } from '@dxos/react-client';
15
- import { getSpace, useQuery } from '@dxos/react-client/echo';
13
+ import { useQuery } from '@dxos/react-client/echo';
16
14
  import { useAsyncEffect } from '@dxos/react-ui';
17
15
  import { ViewEditor as NaturalViewEditor } from '@dxos/react-ui-form';
18
16
  import { ViewModel } from '@dxos/schema';
@@ -24,11 +22,11 @@ export type ViewEditorProps = { view: View.View };
24
22
  export const ViewEditor = ({ view }: ViewEditorProps) => {
25
23
  const { invokePromise } = useOperationInvoker();
26
24
  const client = useClient();
27
- const space = getSpace(view);
28
- const [schema, setSchema] = useState<Schema.Schema.AnyNoContext>(() => Schema.Struct({}));
29
- const tags = useQuery(space?.db, Filter.type(Tag.Tag));
25
+ const db = Obj.getDatabase(view);
26
+ const [type, setType] = useState<Type.AnyEntity>();
27
+ const tags = useQuery(db, Filter.type(Tag.Tag));
30
28
  const types = useTypeOptions({
31
- space,
29
+ db,
32
30
  annotation: {
33
31
  location: ['database', 'runtime'],
34
32
  kind: ['user'],
@@ -36,43 +34,47 @@ export const ViewEditor = ({ view }: ViewEditorProps) => {
36
34
  });
37
35
 
38
36
  useAsyncEffect(async () => {
39
- if (!view?.query || !space) {
37
+ if (!view?.query || !db) {
40
38
  return;
41
39
  }
42
40
 
43
- const foundSchema = await resolveSchemaWithRegistry(space.db.schemaRegistry, view.query.ast);
44
- if (foundSchema && foundSchema !== schema) {
45
- setSchema(() => foundSchema);
41
+ const foundType = await resolveSchemaWithRegistry(db, view.query.ast);
42
+ if (foundType && foundType !== type) {
43
+ setType(() => foundType);
46
44
  }
47
- }, [client, space, view, schema]);
45
+ }, [client, db, view, type]);
48
46
 
49
47
  const handleQueryChanged = useCallback(
50
- async (newQuery: QueryAST.Query, target?: string) => {
51
- if (!view || !space) {
48
+ async (newQuery: QueryAST.Query, target?: EID.EID) => {
49
+ if (!view || !db) {
52
50
  return;
53
51
  }
54
52
 
55
- const queue = target && DXN.tryParse(target) ? target : undefined;
56
- const query = queue ? Query.fromAst(newQuery).from({ queues: [queue] }) : Query.fromAst(newQuery);
57
- Obj.change(view, (view) => {
53
+ const queue = target;
54
+ const query = queue
55
+ ? Query.fromAst(newQuery).from([
56
+ Scope.feed(`dxn:queue:data:${EID.getSpaceId(queue)}:${EID.getEntityId(queue)}`),
57
+ ])
58
+ : Query.fromAst(newQuery);
59
+ Obj.update(view, (view) => {
58
60
  view.query.ast = query.ast as Mutable<typeof query.ast>;
59
61
  });
60
- const newSchema = await resolveSchemaWithRegistry(space.db.schemaRegistry, query.ast);
61
- if (!newSchema) {
62
+ const newType = await resolveSchemaWithRegistry(db, query.ast);
63
+ if (!newType) {
62
64
  return;
63
65
  }
64
66
 
65
67
  const newView = ViewModel.make({
66
68
  query,
67
- jsonSchema: JsonSchema.toJsonSchema(newSchema),
69
+ jsonSchema: newType.jsonSchema,
68
70
  });
69
- Obj.change(view, (view) => {
71
+ Obj.update(view, (view) => {
70
72
  view.projection = Obj.getSnapshot(newView).projection as Mutable<typeof view.projection>;
71
73
  });
72
74
 
73
- setSchema(() => newSchema);
75
+ setType(() => newType);
74
76
  },
75
- [view, schema],
77
+ [view, type],
76
78
  );
77
79
 
78
80
  const handleDelete = useCallback(
@@ -82,21 +84,21 @@ export const ViewEditor = ({ view }: ViewEditorProps) => {
82
84
  [invokePromise, view],
83
85
  );
84
86
 
85
- if (!space || !schema) {
87
+ if (!db || !type) {
86
88
  return null;
87
89
  }
88
90
 
89
91
  return (
90
92
  <NaturalViewEditor
91
- registry={space.db.schemaRegistry}
92
- schema={schema}
93
+ registry={db.graph.registry}
94
+ type={type}
93
95
  view={view}
94
96
  mode='tag'
95
- db={space.db}
97
+ db={db}
96
98
  tags={tags}
97
99
  types={types}
98
100
  onQueryChanged={handleQueryChanged}
99
- onDelete={Type.isMutable(schema) ? handleDelete : undefined}
101
+ onDelete={Type.getDatabase(type) != null ? handleDelete : undefined}
100
102
  />
101
103
  );
102
104
  };
@@ -10,13 +10,14 @@ export const CollectionArticle: ComponentType<any> = lazy(() => import('./Collec
10
10
  export const CollectionSection: ComponentType<any> = lazy(() => import('./CollectionSection'));
11
11
  export const CreateObjectDialog: ComponentType<any> = lazy(() => import('./CreateObjectDialog'));
12
12
  export const CreateSpaceDialog: ComponentType<any> = lazy(() => import('./CreateSpaceDialog'));
13
+ export const ImportSpaceDialog: ComponentType<any> = lazy(() => import('./ImportSpaceDialog'));
13
14
  export const InlineSyncStatus: ComponentType<any> = lazy(() => import('./InlineSyncStatus'));
14
15
  export const JoinDialog: ComponentType<any> = lazy(() => import('./JoinDialog'));
15
16
  export const MembersContainer: ComponentType<any> = lazy(() => import('./MembersContainer'));
16
17
  export const MenuFooter: ComponentType<any> = lazy(() => import('./MenuFooter'));
17
18
  export const ObjectCardStack: ComponentType<any> = lazy(() => import('./ObjectCardStack'));
18
19
  export const ObjectProperties: ComponentType<any> = lazy(() => import('./ObjectProperties'));
19
- export const ObjectRenamePopover: ComponentType<any> = lazy(() => import('./ObjectRenamePopover'));
20
+ export const EntityRenamePopover: ComponentType<any> = lazy(() => import('./EntityRenamePopover'));
20
21
  export const RecordArticle: ComponentType<any> = lazy(() => import('./RecordArticle'));
21
22
  export const RelatedArticle: ComponentType<any> = lazy(() => import('./RelatedArticle'));
22
23
  export const SchemaContainer: ComponentType<any> = lazy(() => import('./SchemaContainer'));
@@ -17,9 +17,16 @@ export const useInputSurfaceLookup = (baseData?: Record<string, any>): FormField
17
17
  const pluginManager = usePluginManager();
18
18
  return useCallback<FormFieldProvider>(
19
19
  ({ schema, prop, fieldProps }) => {
20
- const data = { prop, schema, ...baseData };
20
+ const data = {
21
+ prop,
22
+ schema,
23
+ /** Property Schema AST (`fieldProps.type`). Not spread as React prop `type` — Surface peels `type` for role tokens. */
24
+ fieldPropertyAst: fieldProps.type,
25
+ ...baseData,
26
+ };
27
+ const { type: _fieldPropertyAstExcluded, ...surfaceFieldProps } = fieldProps as Record<string, any>;
21
28
  if (Surface.isAvailable(pluginManager.capabilities, { role: 'form-input', data })) {
22
- return <Surface.Surface role='form-input' data={data} {...(fieldProps as Record<string, any>)} />;
29
+ return <Surface.Surface role='form-input' data={data} {...surfaceFieldProps} />;
23
30
  }
24
31
  },
25
32
  [pluginManager, baseData],