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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1044) hide show
  1. package/dist/lib/neutral/CollectionArticle-QGPAEA7D.mjs +98 -0
  2. package/dist/lib/neutral/CollectionArticle-QGPAEA7D.mjs.map +7 -0
  3. package/dist/lib/neutral/CollectionSection-A5WRHE5Z.mjs +19 -0
  4. package/dist/lib/neutral/CollectionSection-A5WRHE5Z.mjs.map +7 -0
  5. package/dist/lib/neutral/CreateObjectDialog-2JEYK4PI.mjs +141 -0
  6. package/dist/lib/neutral/CreateObjectDialog-2JEYK4PI.mjs.map +7 -0
  7. package/dist/lib/neutral/CreateSpaceDialog-B3OELSC7.mjs +56 -0
  8. package/dist/lib/neutral/CreateSpaceDialog-B3OELSC7.mjs.map +7 -0
  9. package/dist/lib/neutral/ImportSpaceDialog-LWLVC5RZ.mjs +62 -0
  10. package/dist/lib/neutral/ImportSpaceDialog-LWLVC5RZ.mjs.map +7 -0
  11. package/dist/lib/neutral/InlineSyncStatus-TBJKZCH7.mjs +49 -0
  12. package/dist/lib/neutral/InlineSyncStatus-TBJKZCH7.mjs.map +7 -0
  13. package/dist/lib/neutral/JoinDialog-SSFKRFTJ.mjs +114 -0
  14. package/dist/lib/neutral/JoinDialog-SSFKRFTJ.mjs.map +7 -0
  15. package/dist/lib/neutral/MembersContainer-MRPLHZ6L.mjs +225 -0
  16. package/dist/lib/neutral/MembersContainer-MRPLHZ6L.mjs.map +7 -0
  17. package/dist/lib/neutral/MenuFooter-O4XS4T4D.mjs +33 -0
  18. package/dist/lib/neutral/MenuFooter-O4XS4T4D.mjs.map +7 -0
  19. package/dist/lib/neutral/ObjectCardStack-ODQZOBWB.mjs +55 -0
  20. package/dist/lib/neutral/ObjectCardStack-ODQZOBWB.mjs.map +7 -0
  21. package/dist/lib/neutral/ObjectProperties-BF6KGFFC.mjs +33 -0
  22. package/dist/lib/neutral/ObjectProperties-BF6KGFFC.mjs.map +7 -0
  23. package/dist/lib/neutral/ObjectRenamePopover-V656TFC5.mjs +59 -0
  24. package/dist/lib/neutral/ObjectRenamePopover-V656TFC5.mjs.map +7 -0
  25. package/dist/lib/neutral/RecordArticle-VRWKXVAO.mjs +48 -0
  26. package/dist/lib/neutral/RecordArticle-VRWKXVAO.mjs.map +7 -0
  27. package/dist/lib/neutral/RelatedArticle-GHGL2GL5.mjs +68 -0
  28. package/dist/lib/neutral/RelatedArticle-GHGL2GL5.mjs.map +7 -0
  29. package/dist/lib/neutral/SchemaContainer-KMOZ23RA.mjs +43 -0
  30. package/dist/lib/neutral/SchemaContainer-KMOZ23RA.mjs.map +7 -0
  31. package/dist/lib/neutral/SmallPresenceLive-2W5ZUDCF.mjs +8 -0
  32. package/dist/lib/neutral/SpacePlugin.mjs +10 -0
  33. package/dist/lib/neutral/SpacePlugin.node.mjs +845 -0
  34. package/dist/lib/neutral/SpacePlugin.node.mjs.map +7 -0
  35. package/dist/lib/neutral/SpacePresence-PTTGZYZ6.mjs +11 -0
  36. package/dist/lib/neutral/SpaceRenamePopover-KFWL4CTJ.mjs +56 -0
  37. package/dist/lib/neutral/SpaceRenamePopover-KFWL4CTJ.mjs.map +7 -0
  38. package/dist/lib/neutral/SpaceSettings-JBE266M2.mjs +47 -0
  39. package/dist/lib/neutral/SpaceSettings-JBE266M2.mjs.map +7 -0
  40. package/dist/lib/neutral/SpaceSettingsContainer-VAXQNCWG.mjs +266 -0
  41. package/dist/lib/neutral/SpaceSettingsContainer-VAXQNCWG.mjs.map +7 -0
  42. package/dist/lib/neutral/SyncStatus-FFKEPNZF.mjs +146 -0
  43. package/dist/lib/neutral/SyncStatus-FFKEPNZF.mjs.map +7 -0
  44. package/dist/lib/neutral/ViewEditor-MQRYNTSI.mjs +104 -0
  45. package/dist/lib/neutral/ViewEditor-MQRYNTSI.mjs.map +7 -0
  46. package/dist/lib/neutral/add-object-CHYQHOXB.mjs +77 -0
  47. package/dist/lib/neutral/add-object-CHYQHOXB.mjs.map +7 -0
  48. package/dist/lib/neutral/add-relation-RLDHAPF5.mjs +26 -0
  49. package/dist/lib/neutral/add-relation-RLDHAPF5.mjs.map +7 -0
  50. package/dist/lib/neutral/add-schema-VHVHDVY6.mjs +60 -0
  51. package/dist/lib/neutral/add-schema-VHVHDVY6.mjs.map +7 -0
  52. package/dist/lib/neutral/app-graph-builder-O3XVL5Y2.mjs +1262 -0
  53. package/dist/lib/neutral/app-graph-builder-O3XVL5Y2.mjs.map +7 -0
  54. package/dist/lib/neutral/app-graph-serializer-3IHQEYQ4.mjs +80 -0
  55. package/dist/lib/neutral/app-graph-serializer-3IHQEYQ4.mjs.map +7 -0
  56. package/dist/lib/neutral/capabilities/index.mjs +45 -0
  57. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  58. package/dist/lib/neutral/capabilities/node.mjs +15 -0
  59. package/dist/lib/neutral/capabilities/node.mjs.map +7 -0
  60. package/dist/lib/neutral/chunk-2DHCIE27.mjs +25 -0
  61. package/dist/lib/neutral/chunk-2DHCIE27.mjs.map +7 -0
  62. package/dist/lib/neutral/chunk-62A5U3UX.mjs +8 -0
  63. package/dist/lib/neutral/chunk-62A5U3UX.mjs.map +7 -0
  64. package/dist/lib/neutral/chunk-BWDWDXYZ.mjs +18 -0
  65. package/dist/lib/neutral/chunk-BWDWDXYZ.mjs.map +7 -0
  66. package/dist/lib/neutral/chunk-CTBIVBHJ.mjs +163 -0
  67. package/dist/lib/neutral/chunk-CTBIVBHJ.mjs.map +7 -0
  68. package/dist/lib/neutral/chunk-EDP4XO2G.mjs +19 -0
  69. package/dist/lib/neutral/chunk-EDP4XO2G.mjs.map +7 -0
  70. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  71. package/dist/lib/neutral/chunk-JHZGRYGS.mjs +8 -0
  72. package/dist/lib/neutral/chunk-JHZGRYGS.mjs.map +7 -0
  73. package/dist/lib/neutral/chunk-K2XBM3E3.mjs +101 -0
  74. package/dist/lib/neutral/chunk-K2XBM3E3.mjs.map +7 -0
  75. package/dist/lib/neutral/chunk-MCL6D42P.mjs +531 -0
  76. package/dist/lib/neutral/chunk-MCL6D42P.mjs.map +7 -0
  77. package/dist/lib/neutral/chunk-YE46AQFY.mjs +145 -0
  78. package/dist/lib/neutral/chunk-YE46AQFY.mjs.map +7 -0
  79. package/dist/lib/neutral/close-25YK3PIO.mjs +17 -0
  80. package/dist/lib/neutral/close-25YK3PIO.mjs.map +7 -0
  81. package/dist/lib/neutral/components/index.mjs +385 -0
  82. package/dist/lib/neutral/components/index.mjs.map +7 -0
  83. package/dist/lib/neutral/containers/index.mjs +49 -0
  84. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  85. package/dist/lib/neutral/create-UURJPVVA.mjs +74 -0
  86. package/dist/lib/neutral/create-UURJPVVA.mjs.map +7 -0
  87. package/dist/lib/neutral/create-object-SUGDFO7H.mjs +101 -0
  88. package/dist/lib/neutral/create-object-SUGDFO7H.mjs.map +7 -0
  89. package/dist/lib/neutral/delete-field-MHS7EOUL.mjs +43 -0
  90. package/dist/lib/neutral/delete-field-MHS7EOUL.mjs.map +7 -0
  91. package/dist/lib/neutral/duplicate-object-VLQZZJVO.mjs +17 -0
  92. package/dist/lib/neutral/duplicate-object-VLQZZJVO.mjs.map +7 -0
  93. package/dist/lib/neutral/export-space-KN5JXOZP.mjs +34 -0
  94. package/dist/lib/neutral/export-space-KN5JXOZP.mjs.map +7 -0
  95. package/dist/lib/neutral/get-share-link-CRDCEFRI.mjs +41 -0
  96. package/dist/lib/neutral/get-share-link-CRDCEFRI.mjs.map +7 -0
  97. package/dist/lib/neutral/hooks/index.mjs +121 -0
  98. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  99. package/dist/lib/neutral/identity-created-QQQIWOQQ.mjs +32 -0
  100. package/dist/lib/neutral/identity-created-QQQIWOQQ.mjs.map +7 -0
  101. package/dist/lib/neutral/import-space-7XT5KTLD.mjs +24 -0
  102. package/dist/lib/neutral/import-space-7XT5KTLD.mjs.map +7 -0
  103. package/dist/lib/neutral/index.mjs +50 -0
  104. package/dist/lib/neutral/index.mjs.map +7 -0
  105. package/dist/lib/neutral/join-3Y5MFGBM.mjs +28 -0
  106. package/dist/lib/neutral/join-3Y5MFGBM.mjs.map +7 -0
  107. package/dist/lib/neutral/meta.json +1 -0
  108. package/dist/lib/neutral/meta.mjs +8 -0
  109. package/dist/lib/neutral/meta.mjs.map +7 -0
  110. package/dist/lib/neutral/migrate-MSZS4U27.mjs +50 -0
  111. package/dist/lib/neutral/migrate-MSZS4U27.mjs.map +7 -0
  112. package/dist/lib/neutral/migrations-Z5O3BTVV.mjs +59 -0
  113. package/dist/lib/neutral/migrations-Z5O3BTVV.mjs.map +7 -0
  114. package/dist/lib/neutral/navigation-handler-2M57B2AX.mjs +38 -0
  115. package/dist/lib/neutral/navigation-handler-2M57B2AX.mjs.map +7 -0
  116. package/dist/lib/neutral/navigation-resolver-HM5ALHFV.mjs +70 -0
  117. package/dist/lib/neutral/navigation-resolver-HM5ALHFV.mjs.map +7 -0
  118. package/dist/lib/neutral/open-WY4HLCDB.mjs +17 -0
  119. package/dist/lib/neutral/open-WY4HLCDB.mjs.map +7 -0
  120. package/dist/lib/neutral/open-create-object-V6G7EQON.mjs +42 -0
  121. package/dist/lib/neutral/open-create-object-V6G7EQON.mjs.map +7 -0
  122. package/dist/lib/neutral/open-create-space-QEEZSDEK.mjs +24 -0
  123. package/dist/lib/neutral/open-create-space-QEEZSDEK.mjs.map +7 -0
  124. package/dist/lib/neutral/open-import-space-RLPTBZ4W.mjs +24 -0
  125. package/dist/lib/neutral/open-import-space-RLPTBZ4W.mjs.map +7 -0
  126. package/dist/lib/neutral/open-members-2OSOYYC5.mjs +23 -0
  127. package/dist/lib/neutral/open-members-2OSOYYC5.mjs.map +7 -0
  128. package/dist/lib/neutral/open-settings-KGMR7ACJ.mjs +23 -0
  129. package/dist/lib/neutral/open-settings-KGMR7ACJ.mjs.map +7 -0
  130. package/dist/lib/neutral/operation-handler-YPIRQOH2.mjs +13 -0
  131. package/dist/lib/neutral/operation-handler-YPIRQOH2.mjs.map +7 -0
  132. package/dist/lib/neutral/operations/index.mjs +13 -0
  133. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  134. package/dist/lib/neutral/plugin.mjs +18 -0
  135. package/dist/lib/neutral/plugin.mjs.map +7 -0
  136. package/dist/lib/neutral/react-root-2DJPZQT4.mjs +23 -0
  137. package/dist/lib/neutral/react-root-2DJPZQT4.mjs.map +7 -0
  138. package/dist/lib/neutral/react-surface-224L5H2S.mjs +374 -0
  139. package/dist/lib/neutral/react-surface-224L5H2S.mjs.map +7 -0
  140. package/dist/lib/neutral/remove-objects-EUTNONXG.mjs +51 -0
  141. package/dist/lib/neutral/remove-objects-EUTNONXG.mjs.map +7 -0
  142. package/dist/lib/neutral/rename-IFFBCXLO.mjs +25 -0
  143. package/dist/lib/neutral/rename-IFFBCXLO.mjs.map +7 -0
  144. package/dist/lib/neutral/rename-object-P7EZA2MX.mjs +26 -0
  145. package/dist/lib/neutral/rename-object-P7EZA2MX.mjs.map +7 -0
  146. package/dist/lib/neutral/repair-RXOGKEAC.mjs +29 -0
  147. package/dist/lib/neutral/repair-RXOGKEAC.mjs.map +7 -0
  148. package/dist/lib/neutral/restore-field-TEQHRD3S.mjs +41 -0
  149. package/dist/lib/neutral/restore-field-TEQHRD3S.mjs.map +7 -0
  150. package/dist/lib/neutral/restore-objects-73C5MEB2.mjs +39 -0
  151. package/dist/lib/neutral/restore-objects-73C5MEB2.mjs.map +7 -0
  152. package/dist/lib/neutral/settings-DUCCRYX7.mjs +30 -0
  153. package/dist/lib/neutral/settings-DUCCRYX7.mjs.map +7 -0
  154. package/dist/lib/neutral/share-FSYFMNIQ.mjs +31 -0
  155. package/dist/lib/neutral/share-FSYFMNIQ.mjs.map +7 -0
  156. package/dist/lib/neutral/snapshot-HCSBDOOE.mjs +30 -0
  157. package/dist/lib/neutral/snapshot-HCSBDOOE.mjs.map +7 -0
  158. package/dist/lib/neutral/spaces-ready-QU2YUZTO.mjs +248 -0
  159. package/dist/lib/neutral/spaces-ready-QU2YUZTO.mjs.map +7 -0
  160. package/dist/lib/neutral/state-DPBOZRAW.mjs +55 -0
  161. package/dist/lib/neutral/state-DPBOZRAW.mjs.map +7 -0
  162. package/dist/lib/neutral/testing.mjs +8 -0
  163. package/dist/lib/neutral/testing.mjs.map +7 -0
  164. package/dist/lib/neutral/translations.mjs +300 -0
  165. package/dist/lib/neutral/translations.mjs.map +7 -0
  166. package/dist/lib/neutral/types/index.mjs +34 -0
  167. package/dist/lib/neutral/types/index.mjs.map +7 -0
  168. package/dist/lib/neutral/undo-mappings-5QJNDMH4.mjs +65 -0
  169. package/dist/lib/neutral/undo-mappings-5QJNDMH4.mjs.map +7 -0
  170. package/dist/lib/neutral/wait-for-object-6CVEJRDV.mjs +23 -0
  171. package/dist/lib/neutral/wait-for-object-6CVEJRDV.mjs.map +7 -0
  172. package/dist/types/src/SpacePlugin.d.ts +2 -1
  173. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  174. package/dist/types/src/SpacePlugin.node.d.ts +5 -0
  175. package/dist/types/src/SpacePlugin.node.d.ts.map +1 -0
  176. package/dist/types/src/SpacePlugin.test.d.ts +2 -0
  177. package/dist/types/src/SpacePlugin.test.d.ts.map +1 -0
  178. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +2 -3
  179. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -1
  180. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts +57 -0
  181. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts.map +1 -0
  182. package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts +25 -0
  183. package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts.map +1 -0
  184. package/dist/types/src/capabilities/app-graph-builder/extensions/index.d.ts +6 -0
  185. package/dist/types/src/capabilities/app-graph-builder/extensions/index.d.ts.map +1 -0
  186. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts +19 -0
  187. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts.map +1 -0
  188. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts +56 -0
  189. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts.map +1 -0
  190. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.test.d.ts +2 -0
  191. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.test.d.ts.map +1 -0
  192. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts +42 -0
  193. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts.map +1 -0
  194. package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts +68 -0
  195. package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts.map +1 -0
  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 -0
  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 -0
  202. package/dist/types/src/capabilities/index.d.ts +65 -9
  203. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  204. package/dist/types/src/capabilities/migrations.d.ts +6 -0
  205. package/dist/types/src/capabilities/migrations.d.ts.map +1 -0
  206. package/dist/types/src/capabilities/navigation-handler/index.d.ts +4 -0
  207. package/dist/types/src/capabilities/navigation-handler/index.d.ts.map +1 -0
  208. package/dist/types/src/capabilities/navigation-handler/navigation-handler.d.ts +13 -0
  209. package/dist/types/src/capabilities/navigation-handler/navigation-handler.d.ts.map +1 -0
  210. package/dist/types/src/capabilities/navigation-resolver.d.ts +6 -0
  211. package/dist/types/src/capabilities/navigation-resolver.d.ts.map +1 -0
  212. package/dist/types/src/capabilities/node.d.ts +40 -0
  213. package/dist/types/src/capabilities/node.d.ts.map +1 -0
  214. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  215. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  216. package/dist/types/src/capabilities/react-root.d.ts.map +1 -0
  217. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  218. package/dist/types/src/capabilities/repair.d.ts +6 -0
  219. package/dist/types/src/capabilities/repair.d.ts.map +1 -0
  220. package/dist/types/src/capabilities/settings.d.ts +7 -0
  221. package/dist/types/src/capabilities/settings.d.ts.map +1 -0
  222. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -0
  223. package/dist/types/src/capabilities/state.d.ts +17 -0
  224. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  225. package/dist/types/src/capabilities/undo-mappings.d.ts +10 -0
  226. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -0
  227. package/dist/types/src/commands/database/add.d.ts +10 -0
  228. package/dist/types/src/commands/database/add.d.ts.map +1 -0
  229. package/dist/types/src/commands/database/index.d.ts.map +1 -0
  230. package/dist/types/src/commands/database/query/index.d.ts.map +1 -0
  231. package/dist/types/src/commands/database/query/query.d.ts +13 -0
  232. package/dist/types/src/commands/database/query/query.d.ts.map +1 -0
  233. package/dist/types/src/commands/database/query/query.test.d.ts.map +1 -0
  234. package/dist/types/src/commands/database/remove.d.ts +9 -0
  235. package/dist/types/src/commands/database/remove.d.ts.map +1 -0
  236. package/dist/types/src/commands/database/stats.d.ts +6 -0
  237. package/dist/types/src/commands/database/stats.d.ts.map +1 -0
  238. package/dist/types/src/commands/database/util.d.ts.map +1 -0
  239. package/dist/types/src/commands/index.d.ts.map +1 -0
  240. package/dist/types/src/commands/queue/index.d.ts +7 -0
  241. package/dist/types/src/commands/queue/index.d.ts.map +1 -0
  242. package/dist/types/src/commands/queue/query.d.ts +8 -0
  243. package/dist/types/src/commands/queue/query.d.ts.map +1 -0
  244. package/dist/types/src/commands/queue/util.d.ts.map +1 -0
  245. package/dist/types/src/commands/space/close/close.d.ts +12 -0
  246. package/dist/types/src/commands/space/close/close.d.ts.map +1 -0
  247. package/dist/types/src/commands/space/close/index.d.ts.map +1 -0
  248. package/dist/types/src/commands/space/create/create.d.ts +12 -0
  249. package/dist/types/src/commands/space/create/create.d.ts.map +1 -0
  250. package/dist/types/src/commands/space/create/create.test.d.ts.map +1 -0
  251. package/dist/types/src/commands/space/create/index.d.ts.map +1 -0
  252. package/dist/types/src/commands/space/index.d.ts +34 -0
  253. package/dist/types/src/commands/space/index.d.ts.map +1 -0
  254. package/dist/types/src/commands/space/info/index.d.ts.map +1 -0
  255. package/dist/types/src/commands/space/info/info.d.ts +15 -0
  256. package/dist/types/src/commands/space/info/info.d.ts.map +1 -0
  257. package/dist/types/src/commands/space/info/info.test.d.ts.map +1 -0
  258. package/dist/types/src/commands/space/join/index.d.ts.map +1 -0
  259. package/dist/types/src/commands/space/join/join.d.ts +14 -0
  260. package/dist/types/src/commands/space/join/join.d.ts.map +1 -0
  261. package/dist/types/src/commands/space/join/util.d.ts.map +1 -0
  262. package/dist/types/src/commands/space/list/index.d.ts.map +1 -0
  263. package/dist/types/src/commands/space/list/list.d.ts +12 -0
  264. package/dist/types/src/commands/space/list/list.d.ts.map +1 -0
  265. package/dist/types/src/commands/space/list/list.test.d.ts.map +1 -0
  266. package/dist/types/src/commands/space/members/index.d.ts.map +1 -0
  267. package/dist/types/src/commands/space/members/members.d.ts +13 -0
  268. package/dist/types/src/commands/space/members/members.d.ts.map +1 -0
  269. package/dist/types/src/commands/space/members/members.test.d.ts.map +1 -0
  270. package/dist/types/src/commands/space/members/util.d.ts.map +1 -0
  271. package/dist/types/src/commands/space/open/index.d.ts.map +1 -0
  272. package/dist/types/src/commands/space/open/open.d.ts +12 -0
  273. package/dist/types/src/commands/space/open/open.d.ts.map +1 -0
  274. package/dist/types/src/commands/space/schema/index.d.ts +8 -0
  275. package/dist/types/src/commands/space/schema/index.d.ts.map +1 -0
  276. package/dist/types/src/commands/space/schema/list/index.d.ts.map +1 -0
  277. package/dist/types/src/commands/space/schema/list/list.d.ts +15 -0
  278. package/dist/types/src/commands/space/schema/list/list.d.ts.map +1 -0
  279. package/dist/types/src/commands/space/schema/list/list.test.d.ts.map +1 -0
  280. package/dist/types/src/commands/space/schema/list/util.d.ts.map +1 -0
  281. package/dist/types/src/commands/space/share/index.d.ts.map +1 -0
  282. package/dist/types/src/commands/space/share/share.d.ts +19 -0
  283. package/dist/types/src/commands/space/share/share.d.ts.map +1 -0
  284. package/dist/types/src/commands/space/sync/index.d.ts.map +1 -0
  285. package/dist/types/src/commands/space/sync/sync.d.ts.map +1 -0
  286. package/dist/types/src/commands/space/sync/sync.test.d.ts.map +1 -0
  287. package/dist/types/src/components/AwaitingObject/AwaitingObject.d.ts.map +1 -0
  288. package/dist/types/src/components/AwaitingObject/index.d.ts +2 -0
  289. package/dist/types/src/components/AwaitingObject/index.d.ts.map +1 -0
  290. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +9 -15
  291. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  292. package/dist/types/src/components/ForeignKeys/ForeignKeys.d.ts.map +1 -0
  293. package/dist/types/src/components/ForeignKeys/index.d.ts +2 -0
  294. package/dist/types/src/components/ForeignKeys/index.d.ts.map +1 -0
  295. package/dist/types/src/components/SpaceSettings/SpaceSettings.d.ts +10 -0
  296. package/dist/types/src/components/SpaceSettings/SpaceSettings.d.ts.map +1 -0
  297. package/dist/types/src/components/SpaceSettings/SpaceSettings.stories.d.ts +1909 -0
  298. package/dist/types/src/components/SpaceSettings/SpaceSettings.stories.d.ts.map +1 -0
  299. package/dist/types/src/components/SpaceSettings/index.d.ts +2 -0
  300. package/dist/types/src/components/SpaceSettings/index.d.ts.map +1 -0
  301. package/dist/types/src/components/SyncStatus/save-tracker.d.ts +1 -1
  302. package/dist/types/src/components/SyncStatus/save-tracker.d.ts.map +1 -1
  303. package/dist/types/src/components/SyncStatus/status.d.ts +2 -2
  304. package/dist/types/src/components/SyncStatus/status.d.ts.map +1 -1
  305. package/dist/types/src/components/index.d.ts +3 -2
  306. package/dist/types/src/components/index.d.ts.map +1 -1
  307. package/dist/types/src/constants.d.ts +1 -0
  308. package/dist/types/src/constants.d.ts.map +1 -1
  309. package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts +2 -3
  310. package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts.map +1 -1
  311. package/dist/types/src/containers/CollectionArticle/index.d.ts +1 -2
  312. package/dist/types/src/containers/CollectionArticle/index.d.ts.map +1 -1
  313. package/dist/types/src/containers/CollectionSection/CollectionSection.d.ts +3 -2
  314. package/dist/types/src/containers/CollectionSection/CollectionSection.d.ts.map +1 -1
  315. package/dist/types/src/containers/CollectionSection/index.d.ts +1 -2
  316. package/dist/types/src/containers/CollectionSection/index.d.ts.map +1 -1
  317. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts +3 -2
  318. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts.map +1 -1
  319. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.stories.d.ts +1906 -0
  320. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.stories.d.ts.map +1 -0
  321. package/dist/types/src/containers/CreateObjectDialog/index.d.ts +2 -2
  322. package/dist/types/src/containers/CreateObjectDialog/index.d.ts.map +1 -1
  323. package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.d.ts.map +1 -1
  324. package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.stories.d.ts +1910 -0
  325. package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.stories.d.ts.map +1 -0
  326. package/dist/types/src/containers/CreateSpaceDialog/index.d.ts +1 -2
  327. package/dist/types/src/containers/CreateSpaceDialog/index.d.ts.map +1 -1
  328. package/dist/types/src/containers/ImportSpaceDialog/ImportSpaceDialog.d.ts +3 -0
  329. package/dist/types/src/containers/ImportSpaceDialog/ImportSpaceDialog.d.ts.map +1 -0
  330. package/dist/types/src/containers/ImportSpaceDialog/index.d.ts +2 -0
  331. package/dist/types/src/containers/ImportSpaceDialog/index.d.ts.map +1 -0
  332. package/dist/types/src/containers/InlineSyncStatus/InlineSyncStatus.d.ts.map +1 -1
  333. package/dist/types/src/containers/InlineSyncStatus/index.d.ts +1 -2
  334. package/dist/types/src/containers/InlineSyncStatus/index.d.ts.map +1 -1
  335. package/dist/types/src/containers/JoinDialog/JoinDialog.d.ts.map +1 -1
  336. package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts +1909 -0
  337. package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts.map +1 -0
  338. package/dist/types/src/containers/JoinDialog/index.d.ts +2 -2
  339. package/dist/types/src/containers/JoinDialog/index.d.ts.map +1 -1
  340. package/dist/types/src/containers/MembersContainer/MembersContainer.d.ts +3 -4
  341. package/dist/types/src/containers/MembersContainer/MembersContainer.d.ts.map +1 -1
  342. package/dist/types/src/containers/MembersContainer/index.d.ts +1 -2
  343. package/dist/types/src/containers/MembersContainer/index.d.ts.map +1 -1
  344. package/dist/types/src/containers/MenuFooter/MenuFooter.d.ts.map +1 -1
  345. package/dist/types/src/containers/MenuFooter/index.d.ts +1 -2
  346. package/dist/types/src/containers/MenuFooter/index.d.ts.map +1 -1
  347. package/dist/types/src/containers/ObjectCardStack/ObjectCardStack.d.ts.map +1 -1
  348. package/dist/types/src/containers/ObjectCardStack/index.d.ts +1 -2
  349. package/dist/types/src/containers/ObjectCardStack/index.d.ts.map +1 -1
  350. package/dist/types/src/containers/ObjectProperties/ObjectProperties.d.ts +10 -0
  351. package/dist/types/src/containers/ObjectProperties/ObjectProperties.d.ts.map +1 -0
  352. package/dist/types/src/containers/ObjectProperties/index.d.ts +2 -0
  353. package/dist/types/src/containers/ObjectProperties/index.d.ts.map +1 -0
  354. package/dist/types/src/containers/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -1
  355. package/dist/types/src/containers/ObjectRenamePopover/index.d.ts +1 -2
  356. package/dist/types/src/containers/ObjectRenamePopover/index.d.ts.map +1 -1
  357. package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts +2 -2
  358. package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts.map +1 -1
  359. package/dist/types/src/containers/RecordArticle/RecordArticle.stories.d.ts +14 -0
  360. package/dist/types/src/containers/RecordArticle/RecordArticle.stories.d.ts.map +1 -0
  361. package/dist/types/src/containers/RecordArticle/index.d.ts +1 -2
  362. package/dist/types/src/containers/RecordArticle/index.d.ts.map +1 -1
  363. package/dist/types/src/containers/RelatedArticle/RelatedArticle.d.ts +6 -0
  364. package/dist/types/src/containers/RelatedArticle/RelatedArticle.d.ts.map +1 -0
  365. package/dist/types/src/containers/RelatedArticle/index.d.ts +2 -0
  366. package/dist/types/src/containers/RelatedArticle/index.d.ts.map +1 -0
  367. package/dist/types/src/containers/SchemaContainer/SchemaContainer.d.ts +2 -5
  368. package/dist/types/src/containers/SchemaContainer/SchemaContainer.d.ts.map +1 -1
  369. package/dist/types/src/containers/SchemaContainer/index.d.ts +1 -2
  370. package/dist/types/src/containers/SchemaContainer/index.d.ts.map +1 -1
  371. package/dist/types/src/containers/SmallPresenceLive/index.d.ts +1 -1
  372. package/dist/types/src/containers/SmallPresenceLive/index.d.ts.map +1 -1
  373. package/dist/types/src/containers/SpacePresence/SpacePresence.d.ts +1 -1
  374. package/dist/types/src/containers/SpacePresence/SpacePresence.d.ts.map +1 -1
  375. package/dist/types/src/containers/SpacePresence/SpacePresence.stories.d.ts +1881 -1404
  376. package/dist/types/src/containers/SpacePresence/SpacePresence.stories.d.ts.map +1 -1
  377. package/dist/types/src/containers/SpacePresence/index.d.ts +2 -2
  378. package/dist/types/src/containers/SpacePresence/index.d.ts.map +1 -1
  379. package/dist/types/src/containers/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -1
  380. package/dist/types/src/containers/SpaceRenamePopover/index.d.ts +1 -2
  381. package/dist/types/src/containers/SpaceRenamePopover/index.d.ts.map +1 -1
  382. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts +5 -8
  383. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts.map +1 -1
  384. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.d.ts +1885 -1407
  385. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.d.ts.map +1 -1
  386. package/dist/types/src/containers/SpaceSettingsContainer/index.d.ts +1 -2
  387. package/dist/types/src/containers/SpaceSettingsContainer/index.d.ts.map +1 -1
  388. package/dist/types/src/containers/SyncStatus/SyncStatus.d.ts.map +1 -1
  389. package/dist/types/src/containers/SyncStatus/SyncStatus.stories.d.ts +1881 -1404
  390. package/dist/types/src/containers/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  391. package/dist/types/src/containers/SyncStatus/index.d.ts +1 -2
  392. package/dist/types/src/containers/SyncStatus/index.d.ts.map +1 -1
  393. package/dist/types/src/containers/ViewEditor/ViewEditor.d.ts.map +1 -1
  394. package/dist/types/src/containers/ViewEditor/index.d.ts +1 -2
  395. package/dist/types/src/containers/ViewEditor/index.d.ts.map +1 -1
  396. package/dist/types/src/containers/index.d.ts +4 -3
  397. package/dist/types/src/containers/index.d.ts.map +1 -1
  398. package/dist/types/src/hooks/index.d.ts +1 -2
  399. package/dist/types/src/hooks/index.d.ts.map +1 -1
  400. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  401. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  402. package/dist/types/src/hooks/useRelatedObjects.d.ts +10 -0
  403. package/dist/types/src/hooks/useRelatedObjects.d.ts.map +1 -0
  404. package/dist/types/src/index.d.ts +2 -5
  405. package/dist/types/src/index.d.ts.map +1 -1
  406. package/dist/types/src/meta.d.ts.map +1 -1
  407. package/dist/types/src/operations/add-object.d.ts +5 -0
  408. package/dist/types/src/operations/add-object.d.ts.map +1 -0
  409. package/dist/types/src/operations/add-relation.d.ts +5 -0
  410. package/dist/types/src/operations/add-relation.d.ts.map +1 -0
  411. package/dist/types/src/operations/add-schema.d.ts +5 -0
  412. package/dist/types/src/operations/add-schema.d.ts.map +1 -0
  413. package/dist/types/src/operations/close.d.ts +5 -0
  414. package/dist/types/src/operations/close.d.ts.map +1 -0
  415. package/dist/types/src/operations/create.d.ts +5 -0
  416. package/dist/types/src/operations/create.d.ts.map +1 -0
  417. package/dist/types/src/operations/definitions.d.ts +228 -0
  418. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  419. package/dist/types/src/operations/delete-field.d.ts +5 -0
  420. package/dist/types/src/operations/delete-field.d.ts.map +1 -0
  421. package/dist/types/src/operations/duplicate-object.d.ts +5 -0
  422. package/dist/types/src/operations/duplicate-object.d.ts.map +1 -0
  423. package/dist/types/src/operations/export-space.d.ts +5 -0
  424. package/dist/types/src/operations/export-space.d.ts.map +1 -0
  425. package/dist/types/src/operations/get-share-link.d.ts +5 -0
  426. package/dist/types/src/operations/get-share-link.d.ts.map +1 -0
  427. package/dist/types/src/operations/helpers.d.ts +7 -0
  428. package/dist/types/src/operations/helpers.d.ts.map +1 -0
  429. package/dist/types/src/operations/import-space.d.ts +5 -0
  430. package/dist/types/src/operations/import-space.d.ts.map +1 -0
  431. package/dist/types/src/operations/index.d.ts +4 -0
  432. package/dist/types/src/operations/index.d.ts.map +1 -0
  433. package/dist/types/src/operations/join.d.ts +5 -0
  434. package/dist/types/src/operations/join.d.ts.map +1 -0
  435. package/dist/types/src/operations/migrate.d.ts +5 -0
  436. package/dist/types/src/operations/migrate.d.ts.map +1 -0
  437. package/dist/types/src/operations/open-create-object.d.ts +5 -0
  438. package/dist/types/src/operations/open-create-object.d.ts.map +1 -0
  439. package/dist/types/src/operations/open-create-space.d.ts +5 -0
  440. package/dist/types/src/operations/open-create-space.d.ts.map +1 -0
  441. package/dist/types/src/operations/open-import-space.d.ts +5 -0
  442. package/dist/types/src/operations/open-import-space.d.ts.map +1 -0
  443. package/dist/types/src/operations/open-members.d.ts +5 -0
  444. package/dist/types/src/operations/open-members.d.ts.map +1 -0
  445. package/dist/types/src/operations/open-settings.d.ts +5 -0
  446. package/dist/types/src/operations/open-settings.d.ts.map +1 -0
  447. package/dist/types/src/operations/open.d.ts +5 -0
  448. package/dist/types/src/operations/open.d.ts.map +1 -0
  449. package/dist/types/src/operations/remove-objects.d.ts +5 -0
  450. package/dist/types/src/operations/remove-objects.d.ts.map +1 -0
  451. package/dist/types/src/operations/rename-object.d.ts +5 -0
  452. package/dist/types/src/operations/rename-object.d.ts.map +1 -0
  453. package/dist/types/src/operations/rename.d.ts +5 -0
  454. package/dist/types/src/operations/rename.d.ts.map +1 -0
  455. package/dist/types/src/operations/restore-field.d.ts +5 -0
  456. package/dist/types/src/operations/restore-field.d.ts.map +1 -0
  457. package/dist/types/src/operations/restore-objects.d.ts +5 -0
  458. package/dist/types/src/operations/restore-objects.d.ts.map +1 -0
  459. package/dist/types/src/operations/share.d.ts +5 -0
  460. package/dist/types/src/operations/share.d.ts.map +1 -0
  461. package/dist/types/src/operations/snapshot.d.ts +5 -0
  462. package/dist/types/src/operations/snapshot.d.ts.map +1 -0
  463. package/dist/types/src/operations/wait-for-object.d.ts +5 -0
  464. package/dist/types/src/operations/wait-for-object.d.ts.map +1 -0
  465. package/dist/types/src/plugin.d.ts +4 -0
  466. package/dist/types/src/plugin.d.ts.map +1 -0
  467. package/dist/types/src/testing.d.ts +2 -0
  468. package/dist/types/src/testing.d.ts.map +1 -0
  469. package/dist/types/src/translations.d.ts +1881 -1404
  470. package/dist/types/src/translations.d.ts.map +1 -1
  471. package/dist/types/src/types/Settings.d.ts +10 -0
  472. package/dist/types/src/types/Settings.d.ts.map +1 -0
  473. package/dist/types/src/types/capabilities.d.ts +36 -10
  474. package/dist/types/src/types/capabilities.d.ts.map +1 -1
  475. package/dist/types/src/types/events.d.ts +1 -1
  476. package/dist/types/src/types/events.d.ts.map +1 -1
  477. package/dist/types/src/types/form.d.ts +1 -21
  478. package/dist/types/src/types/form.d.ts.map +1 -1
  479. package/dist/types/src/types/types.d.ts +23 -589
  480. package/dist/types/src/types/types.d.ts.map +1 -1
  481. package/dist/types/src/util.d.ts +3 -166
  482. package/dist/types/src/util.d.ts.map +1 -1
  483. package/dist/types/tsconfig.tsbuildinfo +1 -1
  484. package/package.json +132 -82
  485. package/src/SpacePlugin.node.ts +79 -0
  486. package/src/SpacePlugin.test.ts +33 -0
  487. package/src/SpacePlugin.ts +37 -88
  488. package/src/capabilities/app-graph-builder/app-graph-builder.ts +14 -657
  489. package/src/capabilities/app-graph-builder/extensions/collections.ts +342 -0
  490. package/src/capabilities/app-graph-builder/extensions/companions.ts +88 -0
  491. package/src/capabilities/app-graph-builder/extensions/index.ts +9 -0
  492. package/src/capabilities/app-graph-builder/extensions/settings.ts +88 -0
  493. package/src/capabilities/app-graph-builder/extensions/shared.test.ts +112 -0
  494. package/src/capabilities/app-graph-builder/extensions/shared.ts +189 -0
  495. package/src/capabilities/app-graph-builder/extensions/spaces.ts +366 -0
  496. package/src/capabilities/app-graph-builder/extensions/types.ts +423 -0
  497. package/src/capabilities/app-graph-builder/index.ts +1 -1
  498. package/src/capabilities/app-graph-serializer.ts +84 -0
  499. package/src/capabilities/create-object.ts +107 -0
  500. package/src/capabilities/identity-created.ts +33 -0
  501. package/src/capabilities/index.ts +22 -9
  502. package/src/capabilities/migrations.ts +59 -0
  503. package/src/capabilities/navigation-handler/index.ts +9 -0
  504. package/src/capabilities/navigation-handler/navigation-handler.ts +50 -0
  505. package/src/capabilities/navigation-resolver.ts +94 -0
  506. package/src/capabilities/node.ts +14 -0
  507. package/src/capabilities/operation-handler.ts +14 -0
  508. package/src/capabilities/react-root.tsx +25 -0
  509. package/src/capabilities/react-surface.tsx +391 -0
  510. package/src/capabilities/repair.ts +42 -0
  511. package/src/capabilities/settings.ts +33 -0
  512. package/src/capabilities/spaces-ready.ts +332 -0
  513. package/src/capabilities/state.ts +66 -0
  514. package/src/capabilities/undo-mappings.ts +58 -0
  515. package/src/commands/database/add.ts +105 -0
  516. package/src/commands/database/query/query.test.ts +53 -0
  517. package/src/commands/database/stats.ts +43 -0
  518. package/src/commands/queue/query.ts +54 -0
  519. package/src/commands/space/close/close.ts +40 -0
  520. package/src/commands/space/create/create.ts +61 -0
  521. package/src/commands/space/info/info.test.ts +32 -0
  522. package/src/commands/space/info/info.ts +50 -0
  523. package/src/commands/space/join/join.ts +122 -0
  524. package/src/commands/space/list/list.test.ts +37 -0
  525. package/src/commands/space/list/list.ts +42 -0
  526. package/src/commands/space/members/members.test.ts +33 -0
  527. package/src/commands/space/open/open.ts +39 -0
  528. package/src/commands/space/schema/list/list.test.ts +29 -0
  529. package/src/components/AwaitingObject/AwaitingObject.tsx +114 -0
  530. package/src/components/AwaitingObject/index.ts +5 -0
  531. package/src/components/CreateDialog/CreateObjectPanel.tsx +83 -75
  532. package/src/components/ForeignKeys/ForeignKeys.tsx +57 -0
  533. package/src/components/ForeignKeys/index.ts +5 -0
  534. package/src/components/SpaceSettings/SpaceSettings.stories.tsx +34 -0
  535. package/src/components/SpaceSettings/SpaceSettings.tsx +69 -0
  536. package/src/components/SpaceSettings/index.ts +5 -0
  537. package/src/components/SyncStatus/save-tracker.ts +2 -1
  538. package/src/components/SyncStatus/status.ts +7 -7
  539. package/src/components/index.ts +5 -2
  540. package/src/constants.ts +7 -6
  541. package/src/containers/CollectionArticle/CollectionArticle.tsx +47 -108
  542. package/src/containers/CollectionArticle/index.ts +1 -3
  543. package/src/containers/CollectionSection/CollectionSection.tsx +6 -4
  544. package/src/containers/CollectionSection/index.ts +1 -3
  545. package/src/containers/CreateObjectDialog/CreateObjectDialog.stories.tsx +81 -0
  546. package/src/containers/CreateObjectDialog/CreateObjectDialog.tsx +57 -58
  547. package/src/containers/CreateObjectDialog/index.ts +2 -3
  548. package/src/containers/CreateSpaceDialog/CreateSpaceDialog.stories.tsx +46 -0
  549. package/src/containers/CreateSpaceDialog/CreateSpaceDialog.tsx +27 -22
  550. package/src/containers/CreateSpaceDialog/index.ts +1 -3
  551. package/src/containers/ImportSpaceDialog/ImportSpaceDialog.tsx +62 -0
  552. package/src/containers/ImportSpaceDialog/index.ts +5 -0
  553. package/src/containers/InlineSyncStatus/InlineSyncStatus.tsx +9 -20
  554. package/src/containers/InlineSyncStatus/index.ts +1 -3
  555. package/src/containers/JoinDialog/JoinDialog.stories.tsx +43 -0
  556. package/src/containers/JoinDialog/JoinDialog.tsx +19 -16
  557. package/src/containers/JoinDialog/index.ts +2 -3
  558. package/src/containers/MembersContainer/MembersContainer.tsx +50 -70
  559. package/src/containers/MembersContainer/index.ts +1 -3
  560. package/src/containers/MenuFooter/MenuFooter.tsx +6 -6
  561. package/src/containers/MenuFooter/index.ts +1 -3
  562. package/src/containers/ObjectCardStack/ObjectCardStack.tsx +6 -7
  563. package/src/containers/ObjectCardStack/index.ts +1 -3
  564. package/src/containers/ObjectProperties/ObjectProperties.tsx +32 -0
  565. package/src/containers/ObjectProperties/index.ts +5 -0
  566. package/src/containers/ObjectRenamePopover/ObjectRenamePopover.tsx +8 -8
  567. package/src/containers/ObjectRenamePopover/index.ts +1 -3
  568. package/src/containers/RecordArticle/RecordArticle.stories.tsx +82 -0
  569. package/src/containers/RecordArticle/RecordArticle.tsx +36 -104
  570. package/src/containers/RecordArticle/index.ts +1 -3
  571. package/src/containers/RelatedArticle/RelatedArticle.tsx +82 -0
  572. package/src/containers/RelatedArticle/index.ts +5 -0
  573. package/src/containers/SchemaContainer/SchemaContainer.tsx +8 -12
  574. package/src/containers/SchemaContainer/index.ts +1 -3
  575. package/src/containers/SmallPresenceLive/index.ts +1 -1
  576. package/src/containers/SpacePresence/SpacePresence.stories.tsx +1 -1
  577. package/src/containers/SpacePresence/SpacePresence.tsx +7 -19
  578. package/src/containers/SpacePresence/index.ts +2 -3
  579. package/src/containers/SpaceRenamePopover/SpaceRenamePopover.tsx +9 -9
  580. package/src/containers/SpaceRenamePopover/index.ts +1 -3
  581. package/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.tsx +14 -12
  582. package/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.tsx +127 -85
  583. package/src/containers/SpaceSettingsContainer/index.ts +1 -3
  584. package/src/containers/SyncStatus/SyncStatus.stories.tsx +1 -1
  585. package/src/containers/SyncStatus/SyncStatus.tsx +36 -40
  586. package/src/containers/SyncStatus/index.ts +1 -3
  587. package/src/containers/ViewEditor/ViewEditor.tsx +21 -23
  588. package/src/containers/ViewEditor/index.ts +1 -3
  589. package/src/containers/index.ts +4 -3
  590. package/src/hooks/index.ts +1 -2
  591. package/src/hooks/useInputSurfaceLookup.tsx +9 -2
  592. package/src/hooks/useRelatedObjects.ts +79 -0
  593. package/src/index.ts +2 -6
  594. package/src/meta.ts +2 -1
  595. package/src/operations/add-object.ts +80 -0
  596. package/src/operations/add-relation.ts +25 -0
  597. package/src/operations/add-schema.ts +51 -0
  598. package/src/operations/close.ts +16 -0
  599. package/src/operations/create.ts +59 -0
  600. package/src/operations/definitions.ts +476 -0
  601. package/src/operations/delete-field.ts +42 -0
  602. package/src/operations/duplicate-object.ts +17 -0
  603. package/src/operations/export-space.ts +30 -0
  604. package/src/operations/get-share-link.ts +43 -0
  605. package/src/operations/helpers.ts +10 -0
  606. package/src/operations/import-space.ts +21 -0
  607. package/src/operations/index.ts +34 -0
  608. package/src/operations/join.ts +26 -0
  609. package/src/operations/migrate.ts +45 -0
  610. package/src/operations/open-create-object.ts +40 -0
  611. package/src/operations/open-create-space.ts +21 -0
  612. package/src/operations/open-import-space.ts +21 -0
  613. package/src/operations/open-members.ts +20 -0
  614. package/src/operations/open-settings.ts +20 -0
  615. package/src/operations/open.ts +16 -0
  616. package/src/operations/remove-objects.ts +63 -0
  617. package/src/operations/rename-object.ts +24 -0
  618. package/src/operations/rename.ts +22 -0
  619. package/src/operations/restore-field.ts +36 -0
  620. package/src/operations/restore-objects.ts +39 -0
  621. package/src/operations/share.ts +27 -0
  622. package/src/operations/snapshot.ts +24 -0
  623. package/src/operations/wait-for-object.ts +21 -0
  624. package/src/plugin.ts +11 -0
  625. package/src/testing.ts +7 -0
  626. package/src/translations.ts +279 -207
  627. package/src/types/Settings.ts +18 -0
  628. package/src/types/capabilities.ts +35 -13
  629. package/src/types/events.ts +6 -6
  630. package/src/types/form.ts +6 -65
  631. package/src/types/types.ts +31 -553
  632. package/src/util.ts +36 -0
  633. package/dist/lib/browser/CollectionArticle-WASDM637.mjs +0 -142
  634. package/dist/lib/browser/CollectionArticle-WASDM637.mjs.map +0 -7
  635. package/dist/lib/browser/CollectionSection-LK4O6QDD.mjs +0 -23
  636. package/dist/lib/browser/CollectionSection-LK4O6QDD.mjs.map +0 -7
  637. package/dist/lib/browser/CreateObjectDialog-MA6DPYMD.mjs +0 -146
  638. package/dist/lib/browser/CreateObjectDialog-MA6DPYMD.mjs.map +0 -7
  639. package/dist/lib/browser/CreateSpaceDialog-WCEICWIE.mjs +0 -64
  640. package/dist/lib/browser/CreateSpaceDialog-WCEICWIE.mjs.map +0 -7
  641. package/dist/lib/browser/InlineSyncStatus-BT7BRBCO.mjs +0 -62
  642. package/dist/lib/browser/InlineSyncStatus-BT7BRBCO.mjs.map +0 -7
  643. package/dist/lib/browser/JoinDialog-PMCAIRCU.mjs +0 -117
  644. package/dist/lib/browser/JoinDialog-PMCAIRCU.mjs.map +0 -7
  645. package/dist/lib/browser/MembersContainer-MMFCXLVZ.mjs +0 -257
  646. package/dist/lib/browser/MembersContainer-MMFCXLVZ.mjs.map +0 -7
  647. package/dist/lib/browser/MenuFooter-HYBTNOBT.mjs +0 -38
  648. package/dist/lib/browser/MenuFooter-HYBTNOBT.mjs.map +0 -7
  649. package/dist/lib/browser/ObjectCardStack-CHWNLUYQ.mjs +0 -64
  650. package/dist/lib/browser/ObjectCardStack-CHWNLUYQ.mjs.map +0 -7
  651. package/dist/lib/browser/ObjectDetails-YUGVDNSA.mjs +0 -43
  652. package/dist/lib/browser/ObjectDetails-YUGVDNSA.mjs.map +0 -7
  653. package/dist/lib/browser/ObjectRenamePopover-RQUOVPFH.mjs +0 -70
  654. package/dist/lib/browser/ObjectRenamePopover-RQUOVPFH.mjs.map +0 -7
  655. package/dist/lib/browser/RecordArticle-ONWKYM3Z.mjs +0 -112
  656. package/dist/lib/browser/RecordArticle-ONWKYM3Z.mjs.map +0 -7
  657. package/dist/lib/browser/SchemaContainer-62AJXKAF.mjs +0 -49
  658. package/dist/lib/browser/SchemaContainer-62AJXKAF.mjs.map +0 -7
  659. package/dist/lib/browser/SmallPresenceLive-LZD2NGKK.mjs +0 -10
  660. package/dist/lib/browser/SpacePluginSettings-BRJTADV5.mjs +0 -59
  661. package/dist/lib/browser/SpacePluginSettings-BRJTADV5.mjs.map +0 -7
  662. package/dist/lib/browser/SpacePresence-MLU576L6.mjs +0 -13
  663. package/dist/lib/browser/SpacePresence-MLU576L6.mjs.map +0 -7
  664. package/dist/lib/browser/SpaceRenamePopover-SAKMPDLX.mjs +0 -62
  665. package/dist/lib/browser/SpaceRenamePopover-SAKMPDLX.mjs.map +0 -7
  666. package/dist/lib/browser/SpaceSettingsContainer-UBMVKUPR.mjs +0 -242
  667. package/dist/lib/browser/SpaceSettingsContainer-UBMVKUPR.mjs.map +0 -7
  668. package/dist/lib/browser/SyncStatus-5UQ7CIII.mjs +0 -141
  669. package/dist/lib/browser/SyncStatus-5UQ7CIII.mjs.map +0 -7
  670. package/dist/lib/browser/ViewEditor-F74RR542.mjs +0 -116
  671. package/dist/lib/browser/ViewEditor-F74RR542.mjs.map +0 -7
  672. package/dist/lib/browser/app-graph-builder-VFYFI7CD.mjs +0 -593
  673. package/dist/lib/browser/app-graph-builder-VFYFI7CD.mjs.map +0 -7
  674. package/dist/lib/browser/app-graph-serializer-KTQOBYUF.mjs +0 -85
  675. package/dist/lib/browser/app-graph-serializer-KTQOBYUF.mjs.map +0 -7
  676. package/dist/lib/browser/chunk-ABCDB5YC.mjs +0 -177
  677. package/dist/lib/browser/chunk-ABCDB5YC.mjs.map +0 -7
  678. package/dist/lib/browser/chunk-ASV6DYFH.mjs +0 -19
  679. package/dist/lib/browser/chunk-ASV6DYFH.mjs.map +0 -7
  680. package/dist/lib/browser/chunk-HSMQFM57.mjs +0 -16
  681. package/dist/lib/browser/chunk-HSMQFM57.mjs.map +0 -7
  682. package/dist/lib/browser/chunk-J5F4LUJD.mjs +0 -13
  683. package/dist/lib/browser/chunk-J5F4LUJD.mjs.map +0 -7
  684. package/dist/lib/browser/chunk-PXVKN4LU.mjs +0 -234
  685. package/dist/lib/browser/chunk-PXVKN4LU.mjs.map +0 -7
  686. package/dist/lib/browser/chunk-RWOK4F4G.mjs +0 -576
  687. package/dist/lib/browser/chunk-RWOK4F4G.mjs.map +0 -7
  688. package/dist/lib/browser/chunk-SJCNERZI.mjs +0 -115
  689. package/dist/lib/browser/chunk-SJCNERZI.mjs.map +0 -7
  690. package/dist/lib/browser/chunk-TPZUQ5DC.mjs +0 -749
  691. package/dist/lib/browser/chunk-TPZUQ5DC.mjs.map +0 -7
  692. package/dist/lib/browser/chunk-USN5QKRV.mjs +0 -715
  693. package/dist/lib/browser/chunk-USN5QKRV.mjs.map +0 -7
  694. package/dist/lib/browser/chunk-XIIYC7P5.mjs +0 -118
  695. package/dist/lib/browser/chunk-XIIYC7P5.mjs.map +0 -7
  696. package/dist/lib/browser/cli/index.mjs +0 -852
  697. package/dist/lib/browser/cli/index.mjs.map +0 -7
  698. package/dist/lib/browser/identity-created-VKLIZOXJ.mjs +0 -23
  699. package/dist/lib/browser/identity-created-VKLIZOXJ.mjs.map +0 -7
  700. package/dist/lib/browser/index.mjs +0 -305
  701. package/dist/lib/browser/index.mjs.map +0 -7
  702. package/dist/lib/browser/meta.json +0 -1
  703. package/dist/lib/browser/operation-resolver-Y3HYRXX7.mjs +0 -831
  704. package/dist/lib/browser/operation-resolver-Y3HYRXX7.mjs.map +0 -7
  705. package/dist/lib/browser/react-root-UYBW5RE7.mjs +0 -30
  706. package/dist/lib/browser/react-root-UYBW5RE7.mjs.map +0 -7
  707. package/dist/lib/browser/react-surface-NJ23NZFF.mjs +0 -386
  708. package/dist/lib/browser/react-surface-NJ23NZFF.mjs.map +0 -7
  709. package/dist/lib/browser/repair-N2I4DR2Z.mjs +0 -50
  710. package/dist/lib/browser/repair-N2I4DR2Z.mjs.map +0 -7
  711. package/dist/lib/browser/settings-2ELVUFDR.mjs +0 -34
  712. package/dist/lib/browser/settings-2ELVUFDR.mjs.map +0 -7
  713. package/dist/lib/browser/spaces-ready-Q6JASPT4.mjs +0 -243
  714. package/dist/lib/browser/spaces-ready-Q6JASPT4.mjs.map +0 -7
  715. package/dist/lib/browser/state-CTX4WQOM.mjs +0 -58
  716. package/dist/lib/browser/state-CTX4WQOM.mjs.map +0 -7
  717. package/dist/lib/browser/types/index.mjs +0 -34
  718. package/dist/lib/node-esm/CollectionArticle-A6GGG73Z.mjs +0 -143
  719. package/dist/lib/node-esm/CollectionArticle-A6GGG73Z.mjs.map +0 -7
  720. package/dist/lib/node-esm/CollectionSection-WWKDOAAT.mjs +0 -24
  721. package/dist/lib/node-esm/CollectionSection-WWKDOAAT.mjs.map +0 -7
  722. package/dist/lib/node-esm/CreateObjectDialog-4WEFNDDF.mjs +0 -147
  723. package/dist/lib/node-esm/CreateObjectDialog-4WEFNDDF.mjs.map +0 -7
  724. package/dist/lib/node-esm/CreateSpaceDialog-P7QCPB5J.mjs +0 -65
  725. package/dist/lib/node-esm/CreateSpaceDialog-P7QCPB5J.mjs.map +0 -7
  726. package/dist/lib/node-esm/InlineSyncStatus-3PCXU7NX.mjs +0 -63
  727. package/dist/lib/node-esm/InlineSyncStatus-3PCXU7NX.mjs.map +0 -7
  728. package/dist/lib/node-esm/JoinDialog-XEOLJZVN.mjs +0 -118
  729. package/dist/lib/node-esm/JoinDialog-XEOLJZVN.mjs.map +0 -7
  730. package/dist/lib/node-esm/MembersContainer-UQZLW3YA.mjs +0 -258
  731. package/dist/lib/node-esm/MembersContainer-UQZLW3YA.mjs.map +0 -7
  732. package/dist/lib/node-esm/MenuFooter-2QB3453Y.mjs +0 -39
  733. package/dist/lib/node-esm/MenuFooter-2QB3453Y.mjs.map +0 -7
  734. package/dist/lib/node-esm/ObjectCardStack-UXEWG6RV.mjs +0 -65
  735. package/dist/lib/node-esm/ObjectCardStack-UXEWG6RV.mjs.map +0 -7
  736. package/dist/lib/node-esm/ObjectDetails-26PVHUQL.mjs +0 -44
  737. package/dist/lib/node-esm/ObjectDetails-26PVHUQL.mjs.map +0 -7
  738. package/dist/lib/node-esm/ObjectRenamePopover-EHTP76G7.mjs +0 -71
  739. package/dist/lib/node-esm/ObjectRenamePopover-EHTP76G7.mjs.map +0 -7
  740. package/dist/lib/node-esm/RecordArticle-APY2WKUW.mjs +0 -113
  741. package/dist/lib/node-esm/RecordArticle-APY2WKUW.mjs.map +0 -7
  742. package/dist/lib/node-esm/SchemaContainer-XR2D6MYX.mjs +0 -50
  743. package/dist/lib/node-esm/SchemaContainer-XR2D6MYX.mjs.map +0 -7
  744. package/dist/lib/node-esm/SmallPresenceLive-K4243KXR.mjs +0 -11
  745. package/dist/lib/node-esm/SpacePluginSettings-VEB5IGG7.mjs +0 -60
  746. package/dist/lib/node-esm/SpacePluginSettings-VEB5IGG7.mjs.map +0 -7
  747. package/dist/lib/node-esm/SpacePresence-HC2XGQ54.mjs +0 -14
  748. package/dist/lib/node-esm/SpacePresence-HC2XGQ54.mjs.map +0 -7
  749. package/dist/lib/node-esm/SpaceRenamePopover-WHM632OT.mjs +0 -63
  750. package/dist/lib/node-esm/SpaceRenamePopover-WHM632OT.mjs.map +0 -7
  751. package/dist/lib/node-esm/SpaceSettingsContainer-Y62J2L65.mjs +0 -243
  752. package/dist/lib/node-esm/SpaceSettingsContainer-Y62J2L65.mjs.map +0 -7
  753. package/dist/lib/node-esm/SyncStatus-XTJAVHPN.mjs +0 -142
  754. package/dist/lib/node-esm/SyncStatus-XTJAVHPN.mjs.map +0 -7
  755. package/dist/lib/node-esm/ViewEditor-B2BLYF5U.mjs +0 -117
  756. package/dist/lib/node-esm/ViewEditor-B2BLYF5U.mjs.map +0 -7
  757. package/dist/lib/node-esm/app-graph-builder-N37ED6UI.mjs +0 -594
  758. package/dist/lib/node-esm/app-graph-builder-N37ED6UI.mjs.map +0 -7
  759. package/dist/lib/node-esm/app-graph-serializer-GXQYSQAZ.mjs +0 -86
  760. package/dist/lib/node-esm/app-graph-serializer-GXQYSQAZ.mjs.map +0 -7
  761. package/dist/lib/node-esm/chunk-3DWZCVVQ.mjs +0 -716
  762. package/dist/lib/node-esm/chunk-3DWZCVVQ.mjs.map +0 -7
  763. package/dist/lib/node-esm/chunk-CVXULIYC.mjs +0 -20
  764. package/dist/lib/node-esm/chunk-CVXULIYC.mjs.map +0 -7
  765. package/dist/lib/node-esm/chunk-GWUPFA7J.mjs +0 -577
  766. package/dist/lib/node-esm/chunk-GWUPFA7J.mjs.map +0 -7
  767. package/dist/lib/node-esm/chunk-IV7VKVGC.mjs +0 -117
  768. package/dist/lib/node-esm/chunk-IV7VKVGC.mjs.map +0 -7
  769. package/dist/lib/node-esm/chunk-OSFH2XKO.mjs +0 -119
  770. package/dist/lib/node-esm/chunk-OSFH2XKO.mjs.map +0 -7
  771. package/dist/lib/node-esm/chunk-P2AVANDG.mjs +0 -235
  772. package/dist/lib/node-esm/chunk-P2AVANDG.mjs.map +0 -7
  773. package/dist/lib/node-esm/chunk-S2IELCDF.mjs +0 -15
  774. package/dist/lib/node-esm/chunk-S2IELCDF.mjs.map +0 -7
  775. package/dist/lib/node-esm/chunk-SL4BJSUG.mjs +0 -18
  776. package/dist/lib/node-esm/chunk-SL4BJSUG.mjs.map +0 -7
  777. package/dist/lib/node-esm/chunk-UJQUBDQS.mjs +0 -178
  778. package/dist/lib/node-esm/chunk-UJQUBDQS.mjs.map +0 -7
  779. package/dist/lib/node-esm/chunk-WW6YYBRG.mjs +0 -750
  780. package/dist/lib/node-esm/chunk-WW6YYBRG.mjs.map +0 -7
  781. package/dist/lib/node-esm/cli/index.mjs +0 -853
  782. package/dist/lib/node-esm/cli/index.mjs.map +0 -7
  783. package/dist/lib/node-esm/identity-created-EGSTETJ5.mjs +0 -25
  784. package/dist/lib/node-esm/identity-created-EGSTETJ5.mjs.map +0 -7
  785. package/dist/lib/node-esm/index.mjs +0 -306
  786. package/dist/lib/node-esm/index.mjs.map +0 -7
  787. package/dist/lib/node-esm/meta.json +0 -1
  788. package/dist/lib/node-esm/operation-resolver-IRQ2NVUQ.mjs +0 -832
  789. package/dist/lib/node-esm/operation-resolver-IRQ2NVUQ.mjs.map +0 -7
  790. package/dist/lib/node-esm/react-root-UEN3LLJD.mjs +0 -31
  791. package/dist/lib/node-esm/react-root-UEN3LLJD.mjs.map +0 -7
  792. package/dist/lib/node-esm/react-surface-UDO3PGH6.mjs +0 -387
  793. package/dist/lib/node-esm/react-surface-UDO3PGH6.mjs.map +0 -7
  794. package/dist/lib/node-esm/repair-P6ND7ZRU.mjs +0 -51
  795. package/dist/lib/node-esm/repair-P6ND7ZRU.mjs.map +0 -7
  796. package/dist/lib/node-esm/settings-DCTVM2BV.mjs +0 -35
  797. package/dist/lib/node-esm/settings-DCTVM2BV.mjs.map +0 -7
  798. package/dist/lib/node-esm/spaces-ready-XLGRTJV2.mjs +0 -244
  799. package/dist/lib/node-esm/spaces-ready-XLGRTJV2.mjs.map +0 -7
  800. package/dist/lib/node-esm/state-G74V3WZG.mjs +0 -59
  801. package/dist/lib/node-esm/state-G74V3WZG.mjs.map +0 -7
  802. package/dist/lib/node-esm/types/index.mjs +0 -35
  803. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts.map +0 -1
  804. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts +0 -3
  805. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts.map +0 -1
  806. package/dist/types/src/capabilities/identity-created/identity-created.d.ts.map +0 -1
  807. package/dist/types/src/capabilities/identity-created/index.d.ts +0 -3
  808. package/dist/types/src/capabilities/identity-created/index.d.ts.map +0 -1
  809. package/dist/types/src/capabilities/operation-resolver/index.d.ts +0 -6
  810. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +0 -1
  811. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +0 -9
  812. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +0 -1
  813. package/dist/types/src/capabilities/react-root/index.d.ts +0 -6
  814. package/dist/types/src/capabilities/react-root/index.d.ts.map +0 -1
  815. package/dist/types/src/capabilities/react-root/react-root.d.ts.map +0 -1
  816. package/dist/types/src/capabilities/react-surface/index.d.ts +0 -5
  817. package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
  818. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
  819. package/dist/types/src/capabilities/repair/index.d.ts +0 -3
  820. package/dist/types/src/capabilities/repair/index.d.ts.map +0 -1
  821. package/dist/types/src/capabilities/repair/repair.d.ts +0 -6
  822. package/dist/types/src/capabilities/repair/repair.d.ts.map +0 -1
  823. package/dist/types/src/capabilities/settings/index.d.ts +0 -7
  824. package/dist/types/src/capabilities/settings/index.d.ts.map +0 -1
  825. package/dist/types/src/capabilities/settings/settings.d.ts +0 -10
  826. package/dist/types/src/capabilities/settings/settings.d.ts.map +0 -1
  827. package/dist/types/src/capabilities/spaces-ready/index.d.ts +0 -3
  828. package/dist/types/src/capabilities/spaces-ready/index.d.ts.map +0 -1
  829. package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts.map +0 -1
  830. package/dist/types/src/capabilities/state/index.d.ts +0 -13
  831. package/dist/types/src/capabilities/state/index.d.ts.map +0 -1
  832. package/dist/types/src/capabilities/state/state.d.ts +0 -17
  833. package/dist/types/src/capabilities/state/state.d.ts.map +0 -1
  834. package/dist/types/src/cli/commands/database/add.d.ts +0 -17
  835. package/dist/types/src/cli/commands/database/add.d.ts.map +0 -1
  836. package/dist/types/src/cli/commands/database/index.d.ts.map +0 -1
  837. package/dist/types/src/cli/commands/database/query/index.d.ts.map +0 -1
  838. package/dist/types/src/cli/commands/database/query/query.d.ts +0 -13
  839. package/dist/types/src/cli/commands/database/query/query.d.ts.map +0 -1
  840. package/dist/types/src/cli/commands/database/query/query.test.d.ts.map +0 -1
  841. package/dist/types/src/cli/commands/database/remove.d.ts +0 -9
  842. package/dist/types/src/cli/commands/database/remove.d.ts.map +0 -1
  843. package/dist/types/src/cli/commands/database/stats.d.ts +0 -6
  844. package/dist/types/src/cli/commands/database/stats.d.ts.map +0 -1
  845. package/dist/types/src/cli/commands/database/util.d.ts.map +0 -1
  846. package/dist/types/src/cli/commands/index.d.ts.map +0 -1
  847. package/dist/types/src/cli/commands/queue/index.d.ts +0 -7
  848. package/dist/types/src/cli/commands/queue/index.d.ts.map +0 -1
  849. package/dist/types/src/cli/commands/queue/query.d.ts +0 -8
  850. package/dist/types/src/cli/commands/queue/query.d.ts.map +0 -1
  851. package/dist/types/src/cli/commands/queue/util.d.ts.map +0 -1
  852. package/dist/types/src/cli/commands/space/close/close.d.ts +0 -12
  853. package/dist/types/src/cli/commands/space/close/close.d.ts.map +0 -1
  854. package/dist/types/src/cli/commands/space/close/index.d.ts.map +0 -1
  855. package/dist/types/src/cli/commands/space/create/create.d.ts +0 -12
  856. package/dist/types/src/cli/commands/space/create/create.d.ts.map +0 -1
  857. package/dist/types/src/cli/commands/space/create/create.test.d.ts.map +0 -1
  858. package/dist/types/src/cli/commands/space/create/index.d.ts.map +0 -1
  859. package/dist/types/src/cli/commands/space/index.d.ts +0 -31
  860. package/dist/types/src/cli/commands/space/index.d.ts.map +0 -1
  861. package/dist/types/src/cli/commands/space/info/index.d.ts.map +0 -1
  862. package/dist/types/src/cli/commands/space/info/info.d.ts +0 -13
  863. package/dist/types/src/cli/commands/space/info/info.d.ts.map +0 -1
  864. package/dist/types/src/cli/commands/space/info/info.test.d.ts.map +0 -1
  865. package/dist/types/src/cli/commands/space/join/index.d.ts.map +0 -1
  866. package/dist/types/src/cli/commands/space/join/join.d.ts +0 -14
  867. package/dist/types/src/cli/commands/space/join/join.d.ts.map +0 -1
  868. package/dist/types/src/cli/commands/space/join/util.d.ts.map +0 -1
  869. package/dist/types/src/cli/commands/space/list/index.d.ts.map +0 -1
  870. package/dist/types/src/cli/commands/space/list/list.d.ts +0 -7
  871. package/dist/types/src/cli/commands/space/list/list.d.ts.map +0 -1
  872. package/dist/types/src/cli/commands/space/list/list.test.d.ts.map +0 -1
  873. package/dist/types/src/cli/commands/space/members/index.d.ts.map +0 -1
  874. package/dist/types/src/cli/commands/space/members/members.d.ts +0 -13
  875. package/dist/types/src/cli/commands/space/members/members.d.ts.map +0 -1
  876. package/dist/types/src/cli/commands/space/members/members.test.d.ts.map +0 -1
  877. package/dist/types/src/cli/commands/space/members/util.d.ts.map +0 -1
  878. package/dist/types/src/cli/commands/space/open/index.d.ts.map +0 -1
  879. package/dist/types/src/cli/commands/space/open/open.d.ts +0 -12
  880. package/dist/types/src/cli/commands/space/open/open.d.ts.map +0 -1
  881. package/dist/types/src/cli/commands/space/schema/index.d.ts +0 -8
  882. package/dist/types/src/cli/commands/space/schema/index.d.ts.map +0 -1
  883. package/dist/types/src/cli/commands/space/schema/list/index.d.ts.map +0 -1
  884. package/dist/types/src/cli/commands/space/schema/list/list.d.ts +0 -15
  885. package/dist/types/src/cli/commands/space/schema/list/list.d.ts.map +0 -1
  886. package/dist/types/src/cli/commands/space/schema/list/list.test.d.ts.map +0 -1
  887. package/dist/types/src/cli/commands/space/schema/list/util.d.ts.map +0 -1
  888. package/dist/types/src/cli/commands/space/share/index.d.ts.map +0 -1
  889. package/dist/types/src/cli/commands/space/share/share.d.ts +0 -19
  890. package/dist/types/src/cli/commands/space/share/share.d.ts.map +0 -1
  891. package/dist/types/src/cli/commands/space/sync/index.d.ts.map +0 -1
  892. package/dist/types/src/cli/commands/space/sync/sync.d.ts.map +0 -1
  893. package/dist/types/src/cli/commands/space/sync/sync.test.d.ts.map +0 -1
  894. package/dist/types/src/cli/index.d.ts +0 -2
  895. package/dist/types/src/cli/index.d.ts.map +0 -1
  896. package/dist/types/src/cli/plugin.d.ts +0 -4
  897. package/dist/types/src/cli/plugin.d.ts.map +0 -1
  898. package/dist/types/src/components/AwaitingObject.d.ts.map +0 -1
  899. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.d.ts +0 -8
  900. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.d.ts.map +0 -1
  901. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.stories.d.ts +0 -1433
  902. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.stories.d.ts.map +0 -1
  903. package/dist/types/src/components/ObjectDetails/ForeignKeys.d.ts.map +0 -1
  904. package/dist/types/src/components/ObjectDetails/index.d.ts +0 -3
  905. package/dist/types/src/components/ObjectDetails/index.d.ts.map +0 -1
  906. package/dist/types/src/components/ObjectForm/ObjectForm.d.ts +0 -9
  907. package/dist/types/src/components/ObjectForm/ObjectForm.d.ts.map +0 -1
  908. package/dist/types/src/components/ObjectForm/index.d.ts +0 -2
  909. package/dist/types/src/components/ObjectForm/index.d.ts.map +0 -1
  910. package/dist/types/src/containers/ObjectDetails/ObjectDetails.d.ts +0 -9
  911. package/dist/types/src/containers/ObjectDetails/ObjectDetails.d.ts.map +0 -1
  912. package/dist/types/src/containers/ObjectDetails/index.d.ts +0 -3
  913. package/dist/types/src/containers/ObjectDetails/index.d.ts.map +0 -1
  914. package/dist/types/src/containers/SpacePluginSettings/SpacePluginSettings.d.ts +0 -8
  915. package/dist/types/src/containers/SpacePluginSettings/SpacePluginSettings.d.ts.map +0 -1
  916. package/dist/types/src/containers/SpacePluginSettings/index.d.ts +0 -3
  917. package/dist/types/src/containers/SpacePluginSettings/index.d.ts.map +0 -1
  918. package/dist/types/src/helpers/index.d.ts +0 -2
  919. package/dist/types/src/helpers/index.d.ts.map +0 -1
  920. package/dist/types/src/helpers/query.d.ts +0 -7
  921. package/dist/types/src/helpers/query.d.ts.map +0 -1
  922. package/dist/types/src/helpers/query.test.d.ts +0 -2
  923. package/dist/types/src/helpers/query.test.d.ts.map +0 -1
  924. package/dist/types/src/hooks/useActiveSpace.d.ts +0 -4
  925. package/dist/types/src/hooks/useActiveSpace.d.ts.map +0 -1
  926. package/dist/types/src/hooks/useTypeOptions.d.ts +0 -10
  927. package/dist/types/src/hooks/useTypeOptions.d.ts.map +0 -1
  928. package/src/capabilities/app-graph-serializer/app-graph-serializer.ts +0 -83
  929. package/src/capabilities/app-graph-serializer/index.ts +0 -7
  930. package/src/capabilities/identity-created/identity-created.ts +0 -29
  931. package/src/capabilities/identity-created/index.ts +0 -7
  932. package/src/capabilities/operation-resolver/index.ts +0 -7
  933. package/src/capabilities/operation-resolver/operation-resolver.ts +0 -771
  934. package/src/capabilities/react-root/index.ts +0 -7
  935. package/src/capabilities/react-root/react-root.tsx +0 -25
  936. package/src/capabilities/react-surface/index.ts +0 -7
  937. package/src/capabilities/react-surface/react-surface.tsx +0 -380
  938. package/src/capabilities/repair/index.ts +0 -7
  939. package/src/capabilities/repair/repair.ts +0 -71
  940. package/src/capabilities/settings/index.ts +0 -7
  941. package/src/capabilities/settings/settings.ts +0 -33
  942. package/src/capabilities/spaces-ready/index.ts +0 -7
  943. package/src/capabilities/spaces-ready/spaces-ready.ts +0 -290
  944. package/src/capabilities/state/index.ts +0 -7
  945. package/src/capabilities/state/state.ts +0 -64
  946. package/src/cli/commands/database/add.ts +0 -115
  947. package/src/cli/commands/database/query/query.test.ts +0 -55
  948. package/src/cli/commands/database/stats.ts +0 -44
  949. package/src/cli/commands/queue/query.ts +0 -45
  950. package/src/cli/commands/space/close/close.ts +0 -40
  951. package/src/cli/commands/space/create/create.ts +0 -61
  952. package/src/cli/commands/space/info/info.test.ts +0 -47
  953. package/src/cli/commands/space/info/info.ts +0 -37
  954. package/src/cli/commands/space/join/join.ts +0 -122
  955. package/src/cli/commands/space/list/list.test.ts +0 -36
  956. package/src/cli/commands/space/list/list.ts +0 -30
  957. package/src/cli/commands/space/members/members.test.ts +0 -46
  958. package/src/cli/commands/space/open/open.ts +0 -39
  959. package/src/cli/commands/space/schema/list/list.test.ts +0 -42
  960. package/src/cli/index.ts +0 -5
  961. package/src/cli/plugin.ts +0 -89
  962. package/src/components/AwaitingObject.tsx +0 -114
  963. package/src/components/ObjectDetails/BaseObjectSettings.stories.tsx +0 -63
  964. package/src/components/ObjectDetails/BaseObjectSettings.tsx +0 -122
  965. package/src/components/ObjectDetails/ForeignKeys.tsx +0 -51
  966. package/src/components/ObjectDetails/index.ts +0 -6
  967. package/src/components/ObjectForm/ObjectForm.tsx +0 -97
  968. package/src/components/ObjectForm/index.ts +0 -5
  969. package/src/containers/ObjectDetails/ObjectDetails.tsx +0 -36
  970. package/src/containers/ObjectDetails/index.ts +0 -7
  971. package/src/containers/SpacePluginSettings/SpacePluginSettings.tsx +0 -65
  972. package/src/containers/SpacePluginSettings/index.ts +0 -7
  973. package/src/helpers/index.ts +0 -5
  974. package/src/helpers/query.test.ts +0 -24
  975. package/src/helpers/query.ts +0 -166
  976. package/src/hooks/useActiveSpace.ts +0 -24
  977. package/src/hooks/useTypeOptions.ts +0 -25
  978. package/src/util.tsx +0 -956
  979. /package/dist/lib/{browser/SmallPresenceLive-LZD2NGKK.mjs.map → neutral/SmallPresenceLive-2W5ZUDCF.mjs.map} +0 -0
  980. /package/dist/lib/{browser/types/index.mjs.map → neutral/SpacePlugin.mjs.map} +0 -0
  981. /package/dist/lib/{node-esm/SmallPresenceLive-K4243KXR.mjs.map → neutral/SpacePresence-PTTGZYZ6.mjs.map} +0 -0
  982. /package/dist/lib/{node-esm/types/index.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  983. /package/dist/types/src/capabilities/{app-graph-serializer/app-graph-serializer.d.ts → app-graph-serializer.d.ts} +0 -0
  984. /package/dist/types/src/capabilities/{identity-created/identity-created.d.ts → identity-created.d.ts} +0 -0
  985. /package/dist/types/src/capabilities/{react-root/react-root.d.ts → react-root.d.ts} +0 -0
  986. /package/dist/types/src/capabilities/{react-surface/react-surface.d.ts → react-surface.d.ts} +0 -0
  987. /package/dist/types/src/capabilities/{spaces-ready/spaces-ready.d.ts → spaces-ready.d.ts} +0 -0
  988. /package/dist/types/src/{cli/commands → commands}/database/index.d.ts +0 -0
  989. /package/dist/types/src/{cli/commands → commands}/database/query/index.d.ts +0 -0
  990. /package/dist/types/src/{cli/commands → commands}/database/query/query.test.d.ts +0 -0
  991. /package/dist/types/src/{cli/commands → commands}/database/util.d.ts +0 -0
  992. /package/dist/types/src/{cli/commands → commands}/index.d.ts +0 -0
  993. /package/dist/types/src/{cli/commands → commands}/queue/util.d.ts +0 -0
  994. /package/dist/types/src/{cli/commands → commands}/space/close/index.d.ts +0 -0
  995. /package/dist/types/src/{cli/commands → commands}/space/create/create.test.d.ts +0 -0
  996. /package/dist/types/src/{cli/commands → commands}/space/create/index.d.ts +0 -0
  997. /package/dist/types/src/{cli/commands → commands}/space/info/index.d.ts +0 -0
  998. /package/dist/types/src/{cli/commands → commands}/space/info/info.test.d.ts +0 -0
  999. /package/dist/types/src/{cli/commands → commands}/space/join/index.d.ts +0 -0
  1000. /package/dist/types/src/{cli/commands → commands}/space/join/util.d.ts +0 -0
  1001. /package/dist/types/src/{cli/commands → commands}/space/list/index.d.ts +0 -0
  1002. /package/dist/types/src/{cli/commands → commands}/space/list/list.test.d.ts +0 -0
  1003. /package/dist/types/src/{cli/commands → commands}/space/members/index.d.ts +0 -0
  1004. /package/dist/types/src/{cli/commands → commands}/space/members/members.test.d.ts +0 -0
  1005. /package/dist/types/src/{cli/commands → commands}/space/members/util.d.ts +0 -0
  1006. /package/dist/types/src/{cli/commands → commands}/space/open/index.d.ts +0 -0
  1007. /package/dist/types/src/{cli/commands → commands}/space/schema/list/index.d.ts +0 -0
  1008. /package/dist/types/src/{cli/commands → commands}/space/schema/list/list.test.d.ts +0 -0
  1009. /package/dist/types/src/{cli/commands → commands}/space/schema/list/util.d.ts +0 -0
  1010. /package/dist/types/src/{cli/commands → commands}/space/share/index.d.ts +0 -0
  1011. /package/dist/types/src/{cli/commands → commands}/space/sync/index.d.ts +0 -0
  1012. /package/dist/types/src/{cli/commands → commands}/space/sync/sync.d.ts +0 -0
  1013. /package/dist/types/src/{cli/commands → commands}/space/sync/sync.test.d.ts +0 -0
  1014. /package/dist/types/src/components/{AwaitingObject.d.ts → AwaitingObject/AwaitingObject.d.ts} +0 -0
  1015. /package/dist/types/src/components/{ObjectDetails → ForeignKeys}/ForeignKeys.d.ts +0 -0
  1016. /package/src/{cli/commands → commands}/database/index.ts +0 -0
  1017. /package/src/{cli/commands → commands}/database/query/index.ts +0 -0
  1018. /package/src/{cli/commands → commands}/database/query/query.ts +0 -0
  1019. /package/src/{cli/commands → commands}/database/remove.ts +0 -0
  1020. /package/src/{cli/commands → commands}/database/util.ts +0 -0
  1021. /package/src/{cli/commands → commands}/index.ts +0 -0
  1022. /package/src/{cli/commands → commands}/queue/index.ts +0 -0
  1023. /package/src/{cli/commands → commands}/queue/util.ts +0 -0
  1024. /package/src/{cli/commands → commands}/space/close/index.ts +0 -0
  1025. /package/src/{cli/commands → commands}/space/create/create.test.ts +0 -0
  1026. /package/src/{cli/commands → commands}/space/create/index.ts +0 -0
  1027. /package/src/{cli/commands → commands}/space/index.ts +0 -0
  1028. /package/src/{cli/commands → commands}/space/info/index.ts +0 -0
  1029. /package/src/{cli/commands → commands}/space/join/index.ts +0 -0
  1030. /package/src/{cli/commands → commands}/space/join/util.ts +0 -0
  1031. /package/src/{cli/commands → commands}/space/list/index.ts +0 -0
  1032. /package/src/{cli/commands → commands}/space/members/index.ts +0 -0
  1033. /package/src/{cli/commands → commands}/space/members/members.ts +0 -0
  1034. /package/src/{cli/commands → commands}/space/members/util.ts +0 -0
  1035. /package/src/{cli/commands → commands}/space/open/index.ts +0 -0
  1036. /package/src/{cli/commands → commands}/space/schema/index.ts +0 -0
  1037. /package/src/{cli/commands → commands}/space/schema/list/index.ts +0 -0
  1038. /package/src/{cli/commands → commands}/space/schema/list/list.ts +0 -0
  1039. /package/src/{cli/commands → commands}/space/schema/list/util.ts +0 -0
  1040. /package/src/{cli/commands → commands}/space/share/index.ts +0 -0
  1041. /package/src/{cli/commands → commands}/space/share/share.ts +0 -0
  1042. /package/src/{cli/commands → commands}/space/sync/index.ts +0 -0
  1043. /package/src/{cli/commands → commands}/space/sync/sync.test.ts +0 -0
  1044. /package/src/{cli/commands → commands}/space/sync/sync.ts +0 -0
package/src/util.tsx DELETED
@@ -1,956 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import { type Instruction } from '@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item';
6
- import * as Effect from 'effect/Effect';
7
- import * as Match from 'effect/Match';
8
- import * as Option from 'effect/Option';
9
-
10
- import { type CapabilityManager } from '@dxos/app-framework';
11
- import { LayoutOperation } from '@dxos/app-toolkit';
12
- import { type Space, SpaceState, isSpace } from '@dxos/client/echo';
13
- import { type Database, Feed, Filter, JsonSchema, Obj, Query, Ref, Type } from '@dxos/echo';
14
- import { Collection } from '@dxos/echo';
15
- import { invariant } from '@dxos/invariant';
16
- import { Migrations } from '@dxos/migrations';
17
- import { Operation } from '@dxos/operation';
18
- import { Graph, Node } from '@dxos/plugin-graph';
19
- import { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention/types';
20
- import { type TreeData } from '@dxos/react-ui-list';
21
- import { Expando, ManagedCollection } from '@dxos/schema';
22
- import { type Label } from '@dxos/ui-types';
23
- import { createFilename } from '@dxos/util';
24
-
25
- import { meta } from './meta';
26
- import { SPACE_TYPE, SpaceOperation } from './types';
27
-
28
- //
29
- // Constants
30
- //
31
-
32
- const CACHEABLE_PROPS: string[] = ['label', 'icon', 'role'];
33
- const ACCEPT_ECHO_CLASS: Set<string> = new Set(['echo']);
34
-
35
- /** Shared translation namespace descriptor. */
36
- const META_NS: { ns: string } = { ns: meta.id };
37
-
38
- /** Static label tuples (translation key + namespace). */
39
- const PERSONAL_SPACE_LABEL: Label = ['personal space label', META_NS];
40
- const UNNAMED_SPACE_LABEL: Label = ['unnamed space label', META_NS];
41
- const SETTINGS_PANEL_LABEL: Label = ['settings panel label', META_NS];
42
- const MIGRATE_SPACE_LABEL: Label = ['migrate space label', META_NS];
43
- const CREATE_OBJECT_IN_SPACE_LABEL: Label = ['create object in space label', META_NS];
44
- const RENAME_SPACE_LABEL: Label = ['rename space label', META_NS];
45
- const ADD_VIEW_TO_SCHEMA_LABEL: Label = ['add view to schema label', META_NS];
46
- const SNAPSHOT_BY_SCHEMA_LABEL: Label = ['snapshot by schema label', META_NS];
47
- const CREATE_OBJECT_IN_COLLECTION_LABEL: Label = ['create object in collection label', META_NS];
48
- const CREATE_OBJECT_IN_SYSTEM_COLLECTION_LABEL: Label = ['create object in system collection label', META_NS];
49
- const COPY_LINK_LABEL: Label = ['copy link label', META_NS];
50
- const EXPOSE_OBJECT_LABEL: Label = ['expose object label', META_NS];
51
-
52
- /** Stable callback constants (no closed-over state). */
53
- const CAN_DROP_FALSE = () => false;
54
- const CAN_DROP_SPACE = (source: TreeData) => Obj.isObject(source.item.data) || isSpace(source.item.data);
55
- const CAN_DROP_OBJECT = (source: TreeData) => Node.isGraphNode(source.item) && Obj.isObject(source.item.data);
56
-
57
- export const SPACES = `${meta.id}-spaces`;
58
- export const COMPOSER_SPACE_LOCK = `${meta.id}/lock`;
59
- // TODO(wittjosiah): Remove.
60
- export const SHARED = 'shared-spaces';
61
-
62
- const SCHEMA_GRAPH_NODE_PARTIALS = {
63
- role: 'branch',
64
- canDrop: CAN_DROP_FALSE,
65
- } as const;
66
-
67
- const getSchemaGraphNodePartials = () => SCHEMA_GRAPH_NODE_PARTIALS;
68
-
69
- //
70
- // Caching Infrastructure
71
- //
72
-
73
- /** Creates a string-keyed memoized factory. Returns the same instance for the same key. */
74
- // TODO(wittjosiah): Factor out as app-graph utility.
75
- function createFactory<T>(create: (key: string) => T): (key: string) => T;
76
- function createFactory<TArgs extends any[], T>(
77
- create: (...args: TArgs) => T,
78
- keyFn: (...args: TArgs) => string,
79
- ): (...args: TArgs) => T;
80
- function createFactory<TArgs extends any[], T>(
81
- create: (...args: TArgs) => T,
82
- keyFn?: (...args: TArgs) => string,
83
- ): (...args: TArgs) => T {
84
- const cache = new Map<string, T>();
85
- return (...args: TArgs) => {
86
- const key = keyFn ? keyFn(...args) : (args[0] as string);
87
- if (cache.has(key)) {
88
- return cache.get(key)!;
89
- }
90
- const value = create(...args);
91
- cache.set(key, value);
92
- return value;
93
- };
94
- }
95
-
96
- /** Stable Set instances keyed by spaceId. */
97
- const getAcceptPersistenceKey = createFactory((spaceId: string) => new Set([spaceId]));
98
-
99
- /** Caches for closures that capture ECHO objects, keyed by DXN/ID string. */
100
- const rearrangeCache = new Map<string, (nextOrder: unknown[]) => void>();
101
- const blockInstructionCache = new Map<string, (source: TreeData, instruction: Instruction) => boolean>();
102
- const spaceRearrangeCache = new Map<string, (nextOrder: Space[]) => void>();
103
- const collectionPartialsCache = new Map<string, ReturnType<typeof buildCollectionPartials>>();
104
- const systemCollectionPartialsCache = new Map<
105
- string,
106
- {
107
- label: Label;
108
- icon?: string;
109
- iconHue?: string;
110
- acceptPersistenceClass: Set<string>;
111
- acceptPersistenceKey: Set<string>;
112
- role: string;
113
- }
114
- >();
115
- const spaceActionsCache = new Map<
116
- string,
117
- {
118
- state: SpaceState;
119
- hasPendingMigration: boolean;
120
- migrating: boolean;
121
- actions: Node.NodeArg<Node.ActionData<Operation.Service>>[];
122
- }
123
- >();
124
-
125
- /** Dynamic label tuples keyed by composite key string. */
126
- const getDynamicLabel = createFactory(
127
- (key: string, ns: string, extra?: Record<string, any>): Label => [key, { ns, ...extra }],
128
- (key: string, ns: string, extra?: Record<string, any>) => `${key}\0${ns}${extra ? `\0${JSON.stringify(extra)}` : ''}`,
129
- );
130
-
131
- //
132
- // Node Constructors
133
- //
134
-
135
- /**
136
- * Builds an app-graph node for a space (workspace), including settings children and optional rearrange handler.
137
- *
138
- * @param space - Space to wrap as a graph node.
139
- * @param navigable - Whether the space node is navigable; affects disabled state.
140
- * @param personal - Passed to display name resolution (e.g. "Personal space" fallback).
141
- * @param namesCache - Optional cache of space id to display name.
142
- * @param resolve - Metadata resolver for typename.
143
- * @param graph - Optional expandable graph for sorting edges on rearrange.
144
- * @param spacesOrder - Optional ECHO object holding workspace order; used with graph for persist on rearrange.
145
- * @returns A graph node for the space.
146
- */
147
- export const constructSpaceNode = ({
148
- space,
149
- navigable = false,
150
- personal,
151
- namesCache,
152
- resolve,
153
- graph,
154
- spacesOrder,
155
- }: {
156
- space: Space;
157
- navigable?: boolean;
158
- personal?: boolean;
159
- namesCache?: Record<string, string>;
160
- resolve: (typename: string) => Record<string, any>;
161
- /** Graph for sorting edges on rearrange. */
162
- graph?: Graph.ExpandableGraph;
163
- // TODO(wittjosiah): Should be Type.Expando but it doesn't work with the AtomQuery result type.
164
- /** Spaces order object for persisting workspace order. */
165
- spacesOrder?: Obj.Any;
166
- }) => {
167
- const hasPendingMigration = checkPendingMigration(space);
168
- const collection =
169
- space.state.get() === SpaceState.SPACE_READY && space.properties[Collection.Collection.typename]?.target;
170
- const partials =
171
- space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(Collection.Collection, collection)
172
- ? getCollectionGraphNodePartials({ collection, db: space.db, resolve })
173
- : {};
174
-
175
- let onRearrange: ((nextOrder: Space[]) => void) | undefined;
176
- if (graph && spacesOrder) {
177
- onRearrange = spaceRearrangeCache.get(space.id);
178
- if (!onRearrange) {
179
- onRearrange = (nextOrder: Space[]) => {
180
- // NOTE: This is needed to ensure order is updated by next animation frame.
181
- Graph.sortEdges(
182
- graph,
183
- Node.RootId,
184
- 'outbound',
185
- nextOrder.map(({ id }) => id),
186
- );
187
-
188
- // Persist order to database.
189
- Obj.change(spacesOrder, (mutableOrder: any) => {
190
- mutableOrder.order = nextOrder.map(({ id }) => id);
191
- });
192
- };
193
- spaceRearrangeCache.set(space.id, onRearrange);
194
- }
195
- }
196
-
197
- return {
198
- id: space.id,
199
- type: SPACE_TYPE,
200
- cacheable: CACHEABLE_PROPS,
201
- data: space,
202
- properties: {
203
- ...partials,
204
- label: getSpaceDisplayName(space, { personal, namesCache }),
205
- description: space.state.get() === SpaceState.SPACE_READY && space.properties.description,
206
- hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,
207
- icon:
208
- space.state.get() === SpaceState.SPACE_READY && space.properties.icon
209
- ? `ph--${space.properties.icon}--regular`
210
- : undefined,
211
- iconHue: space.state.get() === SpaceState.SPACE_READY && space.properties.iconHue,
212
- disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,
213
- disposition: 'workspace',
214
- testId: 'spacePlugin.space',
215
- onRearrange,
216
- // TODO(wittjosiah): Find a way to only allow space as source for rearranging.
217
- canDrop: CAN_DROP_SPACE,
218
- },
219
- nodes: [
220
- {
221
- id: `settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
222
- type: `${meta.id}/settings`,
223
- data: null,
224
- properties: {
225
- label: SETTINGS_PANEL_LABEL,
226
- icon: 'ph--faders--regular',
227
- disposition: 'alternate-tree',
228
- },
229
- },
230
- ],
231
- };
232
- };
233
-
234
- /**
235
- * Builds an app-graph node for an ECHO object (collection, managed feed, schema, or generic object).
236
- *
237
- * @param db - Database for the object's space.
238
- * @param object - ECHO object to wrap.
239
- * @param disposition - Optional UI disposition.
240
- * @param droppable - Whether the node accepts drops.
241
- * @param navigable - Whether the node is navigable.
242
- * @param managedCollectionChild - Whether the object is a managed collection child (affects blockInstruction).
243
- * @param resolve - Metadata resolver for typename.
244
- * @param parentCollection - Parent collection for rearranging objects.
245
- * @returns A graph node or null if the object has no typename.
246
- */
247
- export const createObjectNode = ({
248
- db,
249
- object,
250
- disposition,
251
- droppable = true,
252
- navigable = false,
253
- managedCollectionChild = false,
254
- resolve,
255
- parentCollection,
256
- }: {
257
- db: Database.Database;
258
- object: Obj.Unknown;
259
- disposition?: string;
260
- droppable?: boolean;
261
- navigable?: boolean;
262
- managedCollectionChild?: boolean;
263
- resolve: (typename: string) => Record<string, any>;
264
- /** Parent collection for rearranging objects. */
265
- parentCollection?: Collection.Collection;
266
- }) => {
267
- const type = Obj.getTypename(object);
268
- if (!type) {
269
- return null;
270
- }
271
-
272
- // For feeds, use the kind property for metadata lookup instead of the generic Feed typename.
273
- const metadataKey = Obj.instanceOf(Feed.Feed, object) ? (object.kind ?? type) : type;
274
- const metadata = resolve(metadataKey);
275
- const partials = Obj.instanceOf(Collection.Collection, object)
276
- ? getCollectionGraphNodePartials({ collection: object, db, resolve })
277
- : Obj.instanceOf(ManagedCollection.ManagedCollection, object)
278
- ? getSystemCollectionNodePartials({ collection: object, db, resolve })
279
- : Obj.instanceOf(Type.PersistentType, object)
280
- ? getSchemaGraphNodePartials()
281
- : metadata.graphProps;
282
-
283
- // TODO(wittjosiah): Obj.getLabel isn't triggering reactivity in some cases.
284
- // e.g., create new collection with no name and rename it.
285
- const label =
286
- (object as any).name ||
287
- Obj.getLabel(object) ||
288
- // TODO(wittjosiah): Remove metadata labels.
289
- metadata.label?.(object) ||
290
- getDynamicLabel('object name placeholder', metadataKey, { default: 'New item' });
291
-
292
- const selectable =
293
- (!Obj.instanceOf(Type.PersistentType, object) &&
294
- !Obj.instanceOf(ManagedCollection.ManagedCollection, object) &&
295
- !Obj.instanceOf(Collection.Collection, object)) ||
296
- (navigable && Obj.instanceOf(Collection.Collection, object));
297
-
298
- let onRearrange: ((nextOrder: unknown[]) => void) | undefined;
299
- if (parentCollection) {
300
- const collectionId = Obj.getDXN(parentCollection).toString();
301
- onRearrange = rearrangeCache.get(collectionId);
302
- if (!onRearrange) {
303
- onRearrange = (nextOrder: unknown[]) => {
304
- Obj.change(parentCollection, (c) => {
305
- c.objects = nextOrder.filter(Obj.isObject).map(Ref.make);
306
- });
307
- };
308
- rearrangeCache.set(collectionId, onRearrange);
309
- }
310
- }
311
-
312
- const objectId = Obj.getDXN(object).toString();
313
- const blockInstructionKey = `${objectId}:${managedCollectionChild}`;
314
- let blockInstruction = blockInstructionCache.get(blockInstructionKey);
315
- if (!blockInstruction) {
316
- blockInstruction = (source: TreeData, instruction: Instruction) => {
317
- if (source.item.properties.managedCollectionChild) {
318
- return true;
319
- }
320
- if (Obj.instanceOf(ManagedCollection.ManagedCollection, object)) {
321
- return !instruction.type.startsWith('reorder');
322
- }
323
- return managedCollectionChild;
324
- };
325
- blockInstructionCache.set(blockInstructionKey, blockInstruction);
326
- }
327
-
328
- const canDrop = droppable ? CAN_DROP_OBJECT : CAN_DROP_FALSE;
329
-
330
- return {
331
- id: Obj.getDXN(object).toString(),
332
- type,
333
- cacheable: CACHEABLE_PROPS,
334
- data: object,
335
- properties: {
336
- label,
337
- icon: metadata.icon ?? 'ph--placeholder--regular',
338
- iconHue: metadata.iconHue,
339
- disposition,
340
- testId: 'spacePlugin.object',
341
- persistenceClass: 'echo',
342
- persistenceKey: db.spaceId,
343
- selectable,
344
- managedCollectionChild,
345
- onRearrange,
346
- blockInstruction,
347
- canDrop,
348
- ...partials,
349
- },
350
- };
351
- };
352
-
353
- /**
354
- * Builds a static schema node for the app graph.
355
- *
356
- * @param schema - ECHO schema entity.
357
- * @param space - Space that owns the schema.
358
- * @returns A graph node for the schema.
359
- */
360
- export const createStaticSchemaNode = ({ schema, space }: { schema: Type.AnyEntity; space: Space }): Node.Node => {
361
- return {
362
- id: `${space.id}/${Type.getTypename(schema)}`,
363
- type: `${meta.id}/static-schema`,
364
- data: schema,
365
- properties: {
366
- label: getDynamicLabel('typename label', Type.getTypename(schema), {
367
- count: 2,
368
- default: Type.getTypename(schema),
369
- }),
370
- icon: 'ph--database--regular',
371
- iconHue: 'green',
372
- role: 'branch',
373
- selectable: false,
374
- canDrop: CAN_DROP_FALSE,
375
- space,
376
- },
377
- };
378
- };
379
-
380
- //
381
- // Action Constructors
382
- //
383
-
384
- /**
385
- * Builds the action list for a space node (migrate, create object, rename).
386
- * Results are cached by space id and state flags.
387
- *
388
- * @param space - Space to build actions for.
389
- * @param migrating - When true, treats the space as currently migrating (disables migrate action).
390
- * @returns Array of graph action descriptors for the space.
391
- */
392
- export const constructSpaceActions = ({ space, migrating }: { space: Space; migrating?: boolean }) => {
393
- const state = space.state.get();
394
- const hasPendingMigration = checkPendingMigration(space);
395
- const isMigrating = migrating || Migrations.running(space);
396
-
397
- const cached = spaceActionsCache.get(space.id);
398
- if (
399
- cached &&
400
- cached.state === state &&
401
- cached.hasPendingMigration === hasPendingMigration &&
402
- cached.migrating === isMigrating
403
- ) {
404
- return cached.actions;
405
- }
406
-
407
- const getId = (id: string) => `${id}/${space.id}`;
408
- const actions: Node.NodeArg<Node.ActionData<Operation.Service>>[] = [];
409
-
410
- if (hasPendingMigration) {
411
- actions.push({
412
- id: getId(SpaceOperation.Migrate.meta.key),
413
- type: Node.ActionGroupType,
414
- data: () => Operation.invoke(SpaceOperation.Migrate, { space }),
415
- properties: {
416
- label: MIGRATE_SPACE_LABEL,
417
- icon: 'ph--database--regular',
418
- disposition: 'list-item-primary',
419
- disabled: isMigrating,
420
- },
421
- });
422
- }
423
-
424
- if (state === SpaceState.SPACE_READY && !hasPendingMigration) {
425
- actions.push(
426
- {
427
- id: getId(SpaceOperation.OpenCreateObject.meta.key),
428
- type: Node.ActionType,
429
- data: () => Operation.invoke(SpaceOperation.OpenCreateObject, { target: space.db }),
430
- properties: {
431
- label: CREATE_OBJECT_IN_SPACE_LABEL,
432
- icon: 'ph--plus--regular',
433
- disposition: 'list-item-primary',
434
- testId: 'spacePlugin.createObject',
435
- },
436
- },
437
- {
438
- id: getId(SpaceOperation.Rename.meta.key),
439
- type: Node.ActionType,
440
- data: (params?: Node.InvokeProps) => Operation.invoke(SpaceOperation.Rename, { space, caller: params?.caller }),
441
- properties: {
442
- label: RENAME_SPACE_LABEL,
443
- icon: 'ph--pencil-simple-line--regular',
444
- keyBinding: {
445
- macos: 'shift+F6',
446
- windows: 'shift+F6',
447
- },
448
- },
449
- },
450
- );
451
- }
452
-
453
- spaceActionsCache.set(space.id, { state, hasPendingMigration, migrating: isMigrating, actions });
454
- return actions;
455
- };
456
-
457
- /**
458
- * Builds the action list for a static schema node (add view, rename, delete, snapshot).
459
- *
460
- * @param schema - ECHO schema entity (e.g. static record type).
461
- * @param space - Space that owns the schema.
462
- * @param deletable - Whether the delete/snapshot actions are enabled.
463
- * @returns Array of graph action descriptors for the schema.
464
- */
465
- export const createStaticSchemaActions = ({
466
- schema,
467
- space,
468
- deletable,
469
- }: {
470
- schema: Type.AnyObj;
471
- space: Space;
472
- deletable: boolean;
473
- }) => {
474
- const getId = (id: string) => `${space.id}/${Type.getTypename(schema)}/${id}`;
475
-
476
- const actions: Node.NodeArg<Node.ActionData<Operation.Service>>[] = [
477
- {
478
- id: getId(SpaceOperation.AddObject.meta.key),
479
- type: Node.ActionType,
480
- data: () =>
481
- Operation.invoke(SpaceOperation.OpenCreateObject, {
482
- target: space.db,
483
- views: true,
484
- initialFormValues: { typename: Type.getTypename(schema) },
485
- }),
486
- properties: {
487
- label: ADD_VIEW_TO_SCHEMA_LABEL,
488
- icon: 'ph--plus--regular',
489
- disposition: 'list-item-primary',
490
- testId: 'spacePlugin.addViewToSchema',
491
- },
492
- },
493
- {
494
- id: getId(SpaceOperation.RenameObject.meta.key),
495
- type: Node.ActionType,
496
- data: () => Effect.fail(new Error('Not implemented')),
497
- properties: {
498
- label: getDynamicLabel('rename object label', Type.getTypename(Type.PersistentType)),
499
- icon: 'ph--pencil-simple-line--regular',
500
- disabled: true,
501
- disposition: 'list-item',
502
- testId: 'spacePlugin.renameObject',
503
- },
504
- },
505
- {
506
- id: getId(SpaceOperation.RemoveObjects.meta.key),
507
- type: Node.ActionType,
508
- data: () =>
509
- Effect.sync(() => {
510
- const index = space.properties.staticRecords.findIndex(
511
- (typename: string) => typename === Type.getTypename(schema),
512
- );
513
- if (index > -1) {
514
- Obj.change(space.properties, (p) => {
515
- p.staticRecords.splice(index, 1);
516
- });
517
- }
518
- }),
519
- properties: {
520
- label: getDynamicLabel('delete object label', Type.getTypename(Type.PersistentType)),
521
- icon: 'ph--trash--regular',
522
- disposition: 'list-item',
523
- disabled: !deletable,
524
- testId: 'spacePlugin.deleteObject',
525
- },
526
- },
527
- {
528
- id: getId(SpaceOperation.Snapshot.meta.key),
529
- type: Node.ActionType,
530
- data: Effect.fnUntraced(function* () {
531
- const result = yield* Operation.invoke(SpaceOperation.Snapshot, {
532
- db: space.db,
533
- query: Query.select(Filter.type(schema)).ast,
534
- });
535
- if (result.snapshot) {
536
- yield* Effect.tryPromise(() =>
537
- downloadBlob(result.snapshot, createFilename({ parts: [space.id, Type.getTypename(schema)], ext: 'json' })),
538
- );
539
- }
540
- }),
541
- properties: {
542
- label: SNAPSHOT_BY_SCHEMA_LABEL,
543
- icon: 'ph--camera--regular',
544
- disposition: 'list-item',
545
- },
546
- },
547
- ];
548
-
549
- return actions;
550
- };
551
-
552
- /**
553
- * Builds the action list for an ECHO object node (create, rename, delete, copy link, etc.).
554
- *
555
- * @param object - ECHO object to build actions for.
556
- * @param graph - Readable app graph (used for action wiring).
557
- * @param resolve - Metadata resolver for typename.
558
- * @param capabilities - Capability manager for feature checks.
559
- * @param shareableLinkOrigin - Origin URL for shareable links.
560
- * @param deletable - Whether delete action is included. Defaults to true.
561
- * @param navigable - Whether the object is navigable (affects available actions). Defaults to false.
562
- * @returns Array of graph action descriptors for the object.
563
- */
564
- export const constructObjectActions = ({
565
- object,
566
- graph,
567
- resolve,
568
- capabilities,
569
- deletable = true,
570
- navigable = false,
571
- shareableLinkOrigin,
572
- }: {
573
- object: Obj.Unknown;
574
- graph: Graph.ReadableGraph;
575
- resolve: (typename: string) => Record<string, any>;
576
- capabilities: CapabilityManager.CapabilityManager;
577
- shareableLinkOrigin: string;
578
- deletable?: boolean;
579
- navigable?: boolean;
580
- }) => {
581
- const db = Obj.getDatabase(object);
582
- invariant(db, 'Database not found');
583
- const typename = Obj.getTypename(object);
584
- invariant(typename, 'Object has no typename');
585
-
586
- const getId = (id: string) => `${id}/${Obj.getDXN(object).toString()}`;
587
-
588
- const metadataKey = Match.value(object).pipe(
589
- Match.when(Obj.instanceOf(Feed.Feed), (feed: Feed.Feed) => feed.kind ?? Obj.getTypename(feed)!),
590
- Match.when(Obj.instanceOf(ManagedCollection.ManagedCollection), (managed) => {
591
- const [, feedKind] = managed.key.split('~') ?? [];
592
- return feedKind ?? managed.key;
593
- }),
594
- Match.orElse((obj) => Obj.getTypename(obj)!),
595
- );
596
- const managedCollection = Option.some(object).pipe(
597
- Option.filter(Obj.instanceOf(ManagedCollection.ManagedCollection)),
598
- Option.getOrUndefined,
599
- );
600
- const metadata = metadataKey ? resolve(metadataKey) : {};
601
- const createObject = metadata.createObject;
602
- const inputSchema = metadata.inputSchema;
603
-
604
- const actions: Node.NodeArg<Node.ActionData<Operation.Service>>[] = [
605
- ...(Obj.instanceOf(Collection.Collection, object)
606
- ? [
607
- {
608
- id: getId(SpaceOperation.OpenCreateObject.meta.key),
609
- type: Node.ActionType,
610
- data: () => Operation.invoke(SpaceOperation.OpenCreateObject, { target: object }),
611
- properties: {
612
- label: CREATE_OBJECT_IN_COLLECTION_LABEL,
613
- icon: 'ph--plus--regular',
614
- disposition: 'list-item-primary',
615
- testId: 'spacePlugin.createObject',
616
- },
617
- },
618
- ]
619
- : []),
620
- ...(Obj.instanceOf(Type.PersistentType, object)
621
- ? [
622
- {
623
- id: getId(SpaceOperation.AddObject.meta.key),
624
- type: Node.ActionType,
625
- data: () =>
626
- Operation.invoke(SpaceOperation.OpenCreateObject, {
627
- target: db,
628
- views: true,
629
- initialFormValues: { typename: object.typename },
630
- }),
631
- properties: {
632
- label: ADD_VIEW_TO_SCHEMA_LABEL,
633
- icon: 'ph--plus--regular',
634
- disposition: 'list-item-primary',
635
- testId: 'spacePlugin.addViewToSchema',
636
- },
637
- },
638
- {
639
- id: getId(SpaceOperation.Snapshot.meta.key),
640
- type: Node.ActionType,
641
- data: Effect.fnUntraced(function* () {
642
- const result = yield* Operation.invoke(SpaceOperation.Snapshot, {
643
- db,
644
- query: Query.select(Filter.type(JsonSchema.toEffectSchema(object.jsonSchema))).ast,
645
- });
646
- if (result.snapshot) {
647
- yield* Effect.promise(() =>
648
- downloadBlob(result.snapshot, createFilename({ parts: [db.spaceId, object.typename], ext: 'json' })),
649
- );
650
- }
651
- }),
652
- properties: {
653
- label: SNAPSHOT_BY_SCHEMA_LABEL,
654
- icon: 'ph--camera--regular',
655
- disposition: 'list-item',
656
- },
657
- },
658
- ]
659
- : []),
660
- ...(createObject && managedCollection
661
- ? [
662
- {
663
- id: getId(SpaceOperation.OpenCreateObject.meta.key),
664
- type: Node.ActionType,
665
- data: Effect.fnUntraced(function* () {
666
- if (inputSchema) {
667
- yield* Operation.invoke(SpaceOperation.OpenCreateObject, {
668
- target: db,
669
- typename: managedCollection ? metadataKey : undefined,
670
- });
671
- } else {
672
- const createdObject = yield* createObject({}, { db, capabilities }) as Effect.Effect<
673
- Obj.Unknown,
674
- Error,
675
- never
676
- >;
677
- const addResult = yield* Operation.invoke(SpaceOperation.AddObject, {
678
- target: db,
679
- hidden: true,
680
- object: createdObject,
681
- });
682
- if (addResult.id) {
683
- yield* Operation.invoke(LayoutOperation.Open, { subject: [addResult.id] });
684
- }
685
- }
686
- }),
687
- properties: {
688
- label: CREATE_OBJECT_IN_SYSTEM_COLLECTION_LABEL,
689
- icon: 'ph--plus--regular',
690
- disposition: 'list-item-primary',
691
- testId: 'spacePlugin.createObject',
692
- },
693
- },
694
- ]
695
- : []),
696
- ...(managedCollection
697
- ? []
698
- : [
699
- {
700
- id: getId(SpaceOperation.RenameObject.meta.key),
701
- type: Node.ActionType,
702
- data: (params?: Node.InvokeProps) =>
703
- Operation.invoke(SpaceOperation.RenameObject, { object, caller: params?.caller }),
704
- properties: {
705
- label: getDynamicLabel('rename object label', metadataKey),
706
- icon: 'ph--pencil-simple-line--regular',
707
- disposition: 'list-item',
708
- // TODO(wittjosiah): Not working.
709
- // keyBinding: {
710
- // macos: 'shift+F6',
711
- // },
712
- testId: 'spacePlugin.renameObject',
713
- },
714
- },
715
- {
716
- id: getId(SpaceOperation.RemoveObjects.meta.key),
717
- type: Node.ActionType,
718
- data: Effect.fnUntraced(function* () {
719
- const collection = Graph.getConnections(
720
- graph,
721
- Obj.getDXN(object).toString(),
722
- Node.childRelation('inbound'),
723
- ).find((node: Node.Node): node is Node.Node<Collection.Collection> =>
724
- Obj.instanceOf(Collection.Collection, node.data),
725
- )?.data;
726
- yield* Operation.invoke(SpaceOperation.RemoveObjects, { objects: [object], target: collection });
727
- }),
728
- properties: {
729
- label: getDynamicLabel('delete object label', metadataKey),
730
- icon: 'ph--trash--regular',
731
- disposition: 'list-item',
732
- disabled: !deletable,
733
- // TODO(wittjosiah): This is a browser shortcut.
734
- // keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',
735
- testId: 'spacePlugin.deleteObject',
736
- },
737
- },
738
- ]),
739
- ...(navigable ||
740
- (!Obj.instanceOf(Collection.Collection, object) &&
741
- !Obj.instanceOf(ManagedCollection.ManagedCollection, object) &&
742
- !Obj.instanceOf(Type.PersistentType, object))
743
- ? [
744
- {
745
- id: getId('copy-link'),
746
- type: Node.ActionType,
747
- data: () =>
748
- Effect.promise(async () => {
749
- const url = `${shareableLinkOrigin}/${db.spaceId}/${Obj.getDXN(object).toString()}`;
750
- await navigator.clipboard.writeText(url);
751
- }),
752
- properties: {
753
- label: COPY_LINK_LABEL,
754
- icon: 'ph--link--regular',
755
- disposition: 'list-item',
756
- testId: 'spacePlugin.copyLink',
757
- },
758
- },
759
- ]
760
- : []),
761
- // TODO(wittjosiah): Factor out and apply to all nodes.
762
- {
763
- id: getId(LayoutOperation.Expose.meta.key),
764
- type: Node.ActionType,
765
- data: () => Operation.invoke(LayoutOperation.Expose, { subject: Obj.getDXN(object).toString() }),
766
- properties: {
767
- label: EXPOSE_OBJECT_LABEL,
768
- icon: 'ph--eye--regular',
769
- disposition: 'heading-list-item',
770
- testId: 'spacePlugin.exposeObject',
771
- },
772
- },
773
- ];
774
-
775
- return actions;
776
- };
777
-
778
- //
779
- // Helpers
780
- //
781
-
782
- const checkPendingMigration = (space: Space) => {
783
- return (
784
- space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION ||
785
- (space.state.get() === SpaceState.SPACE_READY &&
786
- !!Migrations.versionProperty &&
787
- space.properties[Migrations.versionProperty] !== Migrations.targetVersion)
788
- );
789
- };
790
-
791
- /**
792
- * Returns the display label for a space (name, namesCache entry, or fallback).
793
- *
794
- * @param space - Space to label.
795
- * @param options.personal - If true, use personal-space fallback when unnamed.
796
- * @param options.namesCache - Optional cache of space id to display name.
797
- * @returns Label tuple (translation key or string, and namespace).
798
- */
799
- // TODO(wittjosiah): Factor out? Exposer via capability?
800
- export const getSpaceDisplayName = (
801
- space: Space,
802
- { personal, namesCache = {} }: { personal?: boolean; namesCache?: Record<string, string> } = {},
803
- ): Label => {
804
- return space.state.get() === SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0
805
- ? space.properties.name!
806
- : namesCache[space.id]
807
- ? namesCache[space.id]
808
- : personal
809
- ? PERSONAL_SPACE_LABEL
810
- : UNNAMED_SPACE_LABEL;
811
- };
812
-
813
- // TODO(wittjosiah): Factor out.
814
- const downloadBlob = async (blob: Blob, filename: string) => {
815
- const url = URL.createObjectURL(blob);
816
- const a = document.createElement('a');
817
- a.href = url;
818
- a.download = filename;
819
-
820
- document.body.appendChild(a);
821
- a.click();
822
-
823
- document.body.removeChild(a);
824
- URL.revokeObjectURL(url);
825
- };
826
-
827
- const buildCollectionPartials = (
828
- collection: Collection.Collection,
829
- db: Database.Database,
830
- resolve: (typename: string) => Record<string, any>,
831
- ) => ({
832
- acceptPersistenceClass: ACCEPT_ECHO_CLASS,
833
- acceptPersistenceKey: getAcceptPersistenceKey(db.spaceId),
834
- role: 'branch' as const,
835
- onTransferStart: (child: Node.Node<Obj.Unknown>, index?: number) => {
836
- Obj.change(collection, (c) => {
837
- if (!c.objects.find((object) => object.target === child.data)) {
838
- if (typeof index !== 'undefined') {
839
- c.objects.splice(index, 0, Ref.make(child.data));
840
- } else {
841
- c.objects.push(Ref.make(child.data));
842
- }
843
- }
844
- });
845
- },
846
- onTransferEnd: (child: Node.Node<Obj.Unknown>, _destination: Node.Node) => {
847
- Obj.change(collection, (c) => {
848
- const index = c.objects.findIndex((object) => object.target === child.data);
849
- if (index > -1) {
850
- c.objects.splice(index, 1);
851
- }
852
- });
853
- },
854
- onCopy: async (child: Node.Node<Obj.Unknown>, index?: number) => {
855
- const newObject = await cloneObject(child.data, resolve, db);
856
- db.add(newObject);
857
- Obj.change(collection, (c) => {
858
- if (typeof index !== 'undefined') {
859
- c.objects.splice(index, 0, Ref.make(newObject));
860
- } else {
861
- c.objects.push(Ref.make(newObject));
862
- }
863
- });
864
- },
865
- });
866
-
867
- const getCollectionGraphNodePartials = ({
868
- collection,
869
- db,
870
- resolve,
871
- }: {
872
- collection: Collection.Collection;
873
- db: Database.Database;
874
- resolve: (typename: string) => Record<string, any>;
875
- }) => {
876
- const id = Obj.getDXN(collection).toString();
877
- let cached = collectionPartialsCache.get(id);
878
- if (!cached) {
879
- cached = buildCollectionPartials(collection, db, resolve);
880
- collectionPartialsCache.set(id, cached);
881
- }
882
- return cached;
883
- };
884
-
885
- const getSystemCollectionNodePartials = ({
886
- collection,
887
- db,
888
- resolve,
889
- }: {
890
- collection: ManagedCollection.ManagedCollection;
891
- db: Database.Database;
892
- resolve: (typename: string) => Record<string, any>;
893
- }) => {
894
- const cacheKey = `${db.spaceId}:${collection.key}`;
895
- let cached = systemCollectionPartialsCache.get(cacheKey);
896
- if (!cached) {
897
- const [, feedKind] = collection.key.split('~');
898
- const metadataKey = feedKind ?? collection.key;
899
- const metadata = resolve(metadataKey);
900
- cached = {
901
- label: getDynamicLabel('typename label', metadataKey, { count: 2 }),
902
- icon: metadata.icon,
903
- iconHue: metadata.iconHue,
904
- acceptPersistenceClass: ACCEPT_ECHO_CLASS,
905
- acceptPersistenceKey: getAcceptPersistenceKey(db.spaceId),
906
- role: 'branch',
907
- };
908
- systemCollectionPartialsCache.set(cacheKey, cached);
909
- }
910
- return cached;
911
- };
912
-
913
- //
914
- // Deprecated
915
- //
916
-
917
- /**
918
- * @deprecated This is a temporary solution.
919
- */
920
- export const getNestedObjects = async (
921
- object: Obj.Unknown,
922
- resolve: (typename: string) => Record<string, any>,
923
- ): Promise<Obj.Unknown[]> => {
924
- const type = Obj.getTypename(object);
925
- if (!type) {
926
- return [];
927
- }
928
-
929
- const metadata = resolve(type);
930
- const loadReferences = metadata?.loadReferences;
931
- if (typeof loadReferences !== 'function') {
932
- return [];
933
- }
934
-
935
- const objects: Obj.Unknown[] = await loadReferences(object);
936
- const nested = await Promise.all(objects.map((object) => getNestedObjects(object, resolve)));
937
- return [...objects, ...nested.flat()];
938
- };
939
-
940
- /**
941
- * @deprecated Workaround for ECHO not supporting clone.
942
- */
943
- // TODO(burdon): Remove.
944
- export const cloneObject = async (
945
- object: Obj.Unknown,
946
- resolve: (typename: string) => Record<string, any>,
947
- newDb: Database.Database,
948
- ): Promise<Obj.Unknown> => {
949
- const schema = Obj.getSchema(object);
950
- const typename = schema ? (Type.getTypename(schema) ?? Expando.Expando.typename) : Expando.Expando.typename;
951
- const metadata = resolve(typename);
952
- const serializer = metadata.serializer;
953
- invariant(serializer, `No serializer for type: ${typename}`);
954
- const content = await serializer.serialize({ object });
955
- return serializer.deserialize({ content, db: newDb, newId: true });
956
- };