@dxos/plugin-space 0.8.4-main.72ec0f3 → 0.8.4-main.8360d9e660

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 (803) hide show
  1. package/dist/lib/browser/CollectionArticle-XGSQDBMS.mjs +115 -0
  2. package/dist/lib/browser/CollectionArticle-XGSQDBMS.mjs.map +7 -0
  3. package/dist/lib/browser/CollectionSection-H2MBNI63.mjs +23 -0
  4. package/dist/lib/browser/CollectionSection-H2MBNI63.mjs.map +7 -0
  5. package/dist/lib/browser/CreateObjectDialog-YUBUWSEL.mjs +142 -0
  6. package/dist/lib/browser/CreateObjectDialog-YUBUWSEL.mjs.map +7 -0
  7. package/dist/lib/browser/CreateSpaceDialog-3M2LAWV6.mjs +64 -0
  8. package/dist/lib/browser/CreateSpaceDialog-3M2LAWV6.mjs.map +7 -0
  9. package/dist/lib/browser/InlineSyncStatus-K5MZ3YMZ.mjs +53 -0
  10. package/dist/lib/browser/InlineSyncStatus-K5MZ3YMZ.mjs.map +7 -0
  11. package/dist/lib/browser/JoinDialog-PBK2RE5F.mjs +115 -0
  12. package/dist/lib/browser/JoinDialog-PBK2RE5F.mjs.map +7 -0
  13. package/dist/lib/browser/MembersContainer-OGYV2L4M.mjs +257 -0
  14. package/dist/lib/browser/MembersContainer-OGYV2L4M.mjs.map +7 -0
  15. package/dist/lib/browser/MenuFooter-XCBDK7WP.mjs +37 -0
  16. package/dist/lib/browser/MenuFooter-XCBDK7WP.mjs.map +7 -0
  17. package/dist/lib/browser/ObjectCardStack-UOEHSBL5.mjs +64 -0
  18. package/dist/lib/browser/ObjectCardStack-UOEHSBL5.mjs.map +7 -0
  19. package/dist/lib/browser/ObjectDetails-ADGND237.mjs +43 -0
  20. package/dist/lib/browser/ObjectDetails-ADGND237.mjs.map +7 -0
  21. package/dist/lib/browser/ObjectRenamePopover-JNPJIFIR.mjs +70 -0
  22. package/dist/lib/browser/ObjectRenamePopover-JNPJIFIR.mjs.map +7 -0
  23. package/dist/lib/browser/RecordArticle-YXAJ23HH.mjs +122 -0
  24. package/dist/lib/browser/RecordArticle-YXAJ23HH.mjs.map +7 -0
  25. package/dist/lib/browser/SchemaContainer-QWCSIZBS.mjs +49 -0
  26. package/dist/lib/browser/SchemaContainer-QWCSIZBS.mjs.map +7 -0
  27. package/dist/lib/browser/SmallPresenceLive-AHHLBAUP.mjs +9 -0
  28. package/dist/lib/browser/SmallPresenceLive-AHHLBAUP.mjs.map +7 -0
  29. package/dist/lib/browser/SpacePluginSettings-QGZKNQLK.mjs +59 -0
  30. package/dist/lib/browser/SpacePluginSettings-QGZKNQLK.mjs.map +7 -0
  31. package/dist/lib/browser/SpacePresence-JIWLBUWO.mjs +12 -0
  32. package/dist/lib/browser/SpacePresence-JIWLBUWO.mjs.map +7 -0
  33. package/dist/lib/browser/SpaceRenamePopover-ZL6RRZ2B.mjs +62 -0
  34. package/dist/lib/browser/SpaceRenamePopover-ZL6RRZ2B.mjs.map +7 -0
  35. package/dist/lib/browser/SpaceSettingsContainer-MIOOT63N.mjs +242 -0
  36. package/dist/lib/browser/SpaceSettingsContainer-MIOOT63N.mjs.map +7 -0
  37. package/dist/lib/browser/SyncStatus-6N7JJ7XF.mjs +141 -0
  38. package/dist/lib/browser/SyncStatus-6N7JJ7XF.mjs.map +7 -0
  39. package/dist/lib/browser/ViewEditor-3FX5HDRT.mjs +113 -0
  40. package/dist/lib/browser/ViewEditor-3FX5HDRT.mjs.map +7 -0
  41. package/dist/lib/browser/app-graph-builder-UEOUAYZG.mjs +1201 -0
  42. package/dist/lib/browser/app-graph-builder-UEOUAYZG.mjs.map +7 -0
  43. package/dist/lib/browser/app-graph-serializer-UZWWGLGY.mjs +85 -0
  44. package/dist/lib/browser/app-graph-serializer-UZWWGLGY.mjs.map +7 -0
  45. package/dist/lib/browser/chunk-2WHUSAHE.mjs +579 -0
  46. package/dist/lib/browser/chunk-2WHUSAHE.mjs.map +7 -0
  47. package/dist/lib/browser/chunk-6IT5IBB5.mjs +683 -0
  48. package/dist/lib/browser/chunk-6IT5IBB5.mjs.map +7 -0
  49. package/dist/lib/browser/chunk-6OA75CWN.mjs +77 -0
  50. package/dist/lib/browser/chunk-6OA75CWN.mjs.map +7 -0
  51. package/dist/lib/browser/{chunk-OLBBSOVI.mjs → chunk-AUX3RRLY.mjs} +87 -67
  52. package/dist/lib/browser/chunk-AUX3RRLY.mjs.map +7 -0
  53. package/dist/lib/browser/{chunk-VZBIIYFM.mjs → chunk-CBWGVOJE.mjs} +2 -2
  54. package/dist/lib/browser/chunk-CBWGVOJE.mjs.map +7 -0
  55. package/dist/lib/browser/chunk-ICXESMDI.mjs +118 -0
  56. package/dist/lib/browser/chunk-ICXESMDI.mjs.map +7 -0
  57. package/dist/lib/browser/chunk-RJUOHI3B.mjs +19 -0
  58. package/dist/lib/browser/chunk-RJUOHI3B.mjs.map +7 -0
  59. package/dist/lib/browser/chunk-SJCNERZI.mjs +115 -0
  60. package/dist/lib/browser/chunk-SJCNERZI.mjs.map +7 -0
  61. package/dist/lib/browser/chunk-SSTUPFZ2.mjs +13 -0
  62. package/dist/lib/browser/chunk-SSTUPFZ2.mjs.map +7 -0
  63. package/dist/lib/browser/chunk-UYOJYBGW.mjs +168 -0
  64. package/dist/lib/browser/chunk-UYOJYBGW.mjs.map +7 -0
  65. package/dist/lib/browser/cli/index.mjs +843 -0
  66. package/dist/lib/browser/cli/index.mjs.map +7 -0
  67. package/dist/lib/browser/identity-created-ETXNQYR6.mjs +23 -0
  68. package/dist/lib/browser/identity-created-ETXNQYR6.mjs.map +7 -0
  69. package/dist/lib/browser/index.mjs +227 -308
  70. package/dist/lib/browser/index.mjs.map +4 -4
  71. package/dist/lib/browser/meta.json +1 -1
  72. package/dist/lib/browser/operation-resolver-D4LHB4D4.mjs +807 -0
  73. package/dist/lib/browser/operation-resolver-D4LHB4D4.mjs.map +7 -0
  74. package/dist/lib/browser/react-root-OD2HP63B.mjs +30 -0
  75. package/dist/lib/browser/react-root-OD2HP63B.mjs.map +7 -0
  76. package/dist/lib/browser/react-surface-ANV4KTRV.mjs +365 -0
  77. package/dist/lib/browser/react-surface-ANV4KTRV.mjs.map +7 -0
  78. package/dist/lib/browser/repair-NUVEV4AK.mjs +31 -0
  79. package/dist/lib/browser/repair-NUVEV4AK.mjs.map +7 -0
  80. package/dist/lib/browser/settings-RUDP2Q56.mjs +34 -0
  81. package/dist/lib/browser/settings-RUDP2Q56.mjs.map +7 -0
  82. package/dist/lib/browser/spaces-ready-B2GYL5IN.mjs +243 -0
  83. package/dist/lib/browser/spaces-ready-B2GYL5IN.mjs.map +7 -0
  84. package/dist/lib/browser/state-I6JDZCDE.mjs +58 -0
  85. package/dist/lib/browser/state-I6JDZCDE.mjs.map +7 -0
  86. package/dist/lib/browser/types/index.mjs +18 -10
  87. package/dist/lib/node-esm/CollectionArticle-MNLCROOX.mjs +116 -0
  88. package/dist/lib/node-esm/CollectionArticle-MNLCROOX.mjs.map +7 -0
  89. package/dist/lib/node-esm/CollectionSection-BI66Y34F.mjs +24 -0
  90. package/dist/lib/node-esm/CollectionSection-BI66Y34F.mjs.map +7 -0
  91. package/dist/lib/node-esm/CreateObjectDialog-B6OLP5VQ.mjs +143 -0
  92. package/dist/lib/node-esm/CreateObjectDialog-B6OLP5VQ.mjs.map +7 -0
  93. package/dist/lib/node-esm/CreateSpaceDialog-J47M5FPQ.mjs +65 -0
  94. package/dist/lib/node-esm/CreateSpaceDialog-J47M5FPQ.mjs.map +7 -0
  95. package/dist/lib/node-esm/InlineSyncStatus-BLD57LB5.mjs +54 -0
  96. package/dist/lib/node-esm/InlineSyncStatus-BLD57LB5.mjs.map +7 -0
  97. package/dist/lib/node-esm/JoinDialog-XCOYKSHA.mjs +116 -0
  98. package/dist/lib/node-esm/JoinDialog-XCOYKSHA.mjs.map +7 -0
  99. package/dist/lib/node-esm/MembersContainer-4PV3Z4BA.mjs +258 -0
  100. package/dist/lib/node-esm/MembersContainer-4PV3Z4BA.mjs.map +7 -0
  101. package/dist/lib/node-esm/MenuFooter-PXG2GV6A.mjs +38 -0
  102. package/dist/lib/node-esm/MenuFooter-PXG2GV6A.mjs.map +7 -0
  103. package/dist/lib/node-esm/ObjectCardStack-THP5FKDV.mjs +65 -0
  104. package/dist/lib/node-esm/ObjectCardStack-THP5FKDV.mjs.map +7 -0
  105. package/dist/lib/node-esm/ObjectDetails-2SBF3KBM.mjs +44 -0
  106. package/dist/lib/node-esm/ObjectDetails-2SBF3KBM.mjs.map +7 -0
  107. package/dist/lib/node-esm/ObjectRenamePopover-BRPKVNVF.mjs +71 -0
  108. package/dist/lib/node-esm/ObjectRenamePopover-BRPKVNVF.mjs.map +7 -0
  109. package/dist/lib/node-esm/RecordArticle-344UK7QP.mjs +123 -0
  110. package/dist/lib/node-esm/RecordArticle-344UK7QP.mjs.map +7 -0
  111. package/dist/lib/node-esm/SchemaContainer-5G4R3Z6O.mjs +50 -0
  112. package/dist/lib/node-esm/SchemaContainer-5G4R3Z6O.mjs.map +7 -0
  113. package/dist/lib/node-esm/SmallPresenceLive-4K7RJS74.mjs +10 -0
  114. package/dist/lib/node-esm/SmallPresenceLive-4K7RJS74.mjs.map +7 -0
  115. package/dist/lib/node-esm/SpacePluginSettings-PENV4GHL.mjs +60 -0
  116. package/dist/lib/node-esm/SpacePluginSettings-PENV4GHL.mjs.map +7 -0
  117. package/dist/lib/node-esm/SpacePresence-H3VZWFJV.mjs +13 -0
  118. package/dist/lib/node-esm/SpacePresence-H3VZWFJV.mjs.map +7 -0
  119. package/dist/lib/node-esm/SpaceRenamePopover-XEMTI4PU.mjs +63 -0
  120. package/dist/lib/node-esm/SpaceRenamePopover-XEMTI4PU.mjs.map +7 -0
  121. package/dist/lib/node-esm/SpaceSettingsContainer-WI4D7RWA.mjs +243 -0
  122. package/dist/lib/node-esm/SpaceSettingsContainer-WI4D7RWA.mjs.map +7 -0
  123. package/dist/lib/node-esm/SyncStatus-YEBGTNSD.mjs +142 -0
  124. package/dist/lib/node-esm/SyncStatus-YEBGTNSD.mjs.map +7 -0
  125. package/dist/lib/node-esm/ViewEditor-CUQVNM2H.mjs +114 -0
  126. package/dist/lib/node-esm/ViewEditor-CUQVNM2H.mjs.map +7 -0
  127. package/dist/lib/node-esm/app-graph-builder-W2QNDIZF.mjs +1202 -0
  128. package/dist/lib/node-esm/app-graph-builder-W2QNDIZF.mjs.map +7 -0
  129. package/dist/lib/node-esm/app-graph-serializer-RT2RQTV2.mjs +86 -0
  130. package/dist/lib/node-esm/app-graph-serializer-RT2RQTV2.mjs.map +7 -0
  131. package/dist/lib/node-esm/chunk-2OLR2ZKH.mjs +119 -0
  132. package/dist/lib/node-esm/chunk-2OLR2ZKH.mjs.map +7 -0
  133. package/dist/lib/node-esm/chunk-5KTTTTEX.mjs +20 -0
  134. package/dist/lib/node-esm/chunk-5KTTTTEX.mjs.map +7 -0
  135. package/dist/lib/node-esm/{chunk-BDEFTL6K.mjs → chunk-63N5JJXI.mjs} +2 -2
  136. package/dist/lib/node-esm/chunk-63N5JJXI.mjs.map +7 -0
  137. package/dist/lib/node-esm/chunk-EDC2RUJU.mjs +169 -0
  138. package/dist/lib/node-esm/chunk-EDC2RUJU.mjs.map +7 -0
  139. package/dist/lib/node-esm/chunk-EVNSLSQS.mjs +684 -0
  140. package/dist/lib/node-esm/chunk-EVNSLSQS.mjs.map +7 -0
  141. package/dist/lib/node-esm/chunk-GEGWQVZX.mjs +78 -0
  142. package/dist/lib/node-esm/chunk-GEGWQVZX.mjs.map +7 -0
  143. package/dist/lib/node-esm/chunk-IV7VKVGC.mjs +117 -0
  144. package/dist/lib/node-esm/chunk-IV7VKVGC.mjs.map +7 -0
  145. package/dist/lib/node-esm/{chunk-WC4VBFMA.mjs → chunk-RYQQXNI7.mjs} +87 -67
  146. package/dist/lib/node-esm/chunk-RYQQXNI7.mjs.map +7 -0
  147. package/dist/lib/node-esm/chunk-S5BQUCL4.mjs +580 -0
  148. package/dist/lib/node-esm/chunk-S5BQUCL4.mjs.map +7 -0
  149. package/dist/lib/node-esm/chunk-XYLDAH5C.mjs +15 -0
  150. package/dist/lib/node-esm/chunk-XYLDAH5C.mjs.map +7 -0
  151. package/dist/lib/node-esm/cli/index.mjs +844 -0
  152. package/dist/lib/node-esm/cli/index.mjs.map +7 -0
  153. package/dist/lib/node-esm/identity-created-U5LGULVL.mjs +25 -0
  154. package/dist/lib/node-esm/identity-created-U5LGULVL.mjs.map +7 -0
  155. package/dist/lib/node-esm/index.mjs +227 -308
  156. package/dist/lib/node-esm/index.mjs.map +4 -4
  157. package/dist/lib/node-esm/meta.json +1 -1
  158. package/dist/lib/node-esm/operation-resolver-IL2AHNPN.mjs +808 -0
  159. package/dist/lib/node-esm/operation-resolver-IL2AHNPN.mjs.map +7 -0
  160. package/dist/lib/node-esm/react-root-RILC5MBD.mjs +31 -0
  161. package/dist/lib/node-esm/react-root-RILC5MBD.mjs.map +7 -0
  162. package/dist/lib/node-esm/react-surface-TA5KEWVW.mjs +366 -0
  163. package/dist/lib/node-esm/react-surface-TA5KEWVW.mjs.map +7 -0
  164. package/dist/lib/node-esm/repair-LRZHFPSJ.mjs +32 -0
  165. package/dist/lib/node-esm/repair-LRZHFPSJ.mjs.map +7 -0
  166. package/dist/lib/node-esm/settings-3EKSEAAG.mjs +35 -0
  167. package/dist/lib/node-esm/settings-3EKSEAAG.mjs.map +7 -0
  168. package/dist/lib/node-esm/spaces-ready-QK3EHBOS.mjs +244 -0
  169. package/dist/lib/node-esm/spaces-ready-QK3EHBOS.mjs.map +7 -0
  170. package/dist/lib/node-esm/state-W36RRYUO.mjs +59 -0
  171. package/dist/lib/node-esm/state-W36RRYUO.mjs.map +7 -0
  172. package/dist/lib/node-esm/types/index.mjs +18 -10
  173. package/dist/types/src/SpacePlugin.d.ts +3 -15
  174. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  175. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  176. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  177. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts +33 -0
  178. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts.map +1 -0
  179. package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts +19 -0
  180. package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts.map +1 -0
  181. package/dist/types/src/capabilities/app-graph-builder/extensions/index.d.ts +6 -0
  182. package/dist/types/src/capabilities/app-graph-builder/extensions/index.d.ts.map +1 -0
  183. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts +12 -0
  184. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts.map +1 -0
  185. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts +57 -0
  186. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts.map +1 -0
  187. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.test.d.ts +2 -0
  188. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.test.d.ts.map +1 -0
  189. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts +24 -0
  190. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts.map +1 -0
  191. package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts +38 -0
  192. package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts.map +1 -0
  193. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  194. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  195. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts +5 -0
  196. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts.map +1 -0
  197. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts +3 -0
  198. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts.map +1 -0
  199. package/dist/types/src/capabilities/identity-created/identity-created.d.ts +5 -0
  200. package/dist/types/src/capabilities/identity-created/identity-created.d.ts.map +1 -0
  201. package/dist/types/src/capabilities/identity-created/index.d.ts +3 -0
  202. package/dist/types/src/capabilities/identity-created/index.d.ts.map +1 -0
  203. package/dist/types/src/capabilities/index.d.ts +10 -20
  204. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  205. package/dist/types/src/capabilities/operation-resolver/index.d.ts +6 -0
  206. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  207. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +9 -0
  208. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  209. package/dist/types/src/capabilities/react-root/index.d.ts +6 -0
  210. package/dist/types/src/capabilities/react-root/index.d.ts.map +1 -0
  211. package/dist/types/src/capabilities/react-root/react-root.d.ts +9 -0
  212. package/dist/types/src/capabilities/react-root/react-root.d.ts.map +1 -0
  213. package/dist/types/src/capabilities/react-surface/index.d.ts +5 -0
  214. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  215. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +8 -0
  216. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  217. package/dist/types/src/capabilities/repair/index.d.ts +3 -0
  218. package/dist/types/src/capabilities/repair/index.d.ts.map +1 -0
  219. package/dist/types/src/capabilities/repair/repair.d.ts +6 -0
  220. package/dist/types/src/capabilities/repair/repair.d.ts.map +1 -0
  221. package/dist/types/src/capabilities/settings/index.d.ts +7 -0
  222. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  223. package/dist/types/src/capabilities/settings/settings.d.ts +10 -0
  224. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  225. package/dist/types/src/capabilities/spaces-ready/index.d.ts +3 -0
  226. package/dist/types/src/capabilities/spaces-ready/index.d.ts.map +1 -0
  227. package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts +5 -0
  228. package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts.map +1 -0
  229. package/dist/types/src/capabilities/state/index.d.ts +13 -0
  230. package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
  231. package/dist/types/src/capabilities/state/state.d.ts +17 -0
  232. package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
  233. package/dist/types/src/cli/commands/database/add.d.ts +16 -0
  234. package/dist/types/src/cli/commands/database/add.d.ts.map +1 -0
  235. package/dist/types/src/cli/commands/database/index.d.ts +3 -0
  236. package/dist/types/src/cli/commands/database/index.d.ts.map +1 -0
  237. package/dist/types/src/cli/commands/database/query/index.d.ts +2 -0
  238. package/dist/types/src/cli/commands/database/query/index.d.ts.map +1 -0
  239. package/dist/types/src/cli/commands/database/query/query.d.ts +13 -0
  240. package/dist/types/src/cli/commands/database/query/query.d.ts.map +1 -0
  241. package/dist/types/src/cli/commands/database/query/query.test.d.ts +2 -0
  242. package/dist/types/src/cli/commands/database/query/query.test.d.ts.map +1 -0
  243. package/dist/types/src/cli/commands/database/remove.d.ts +9 -0
  244. package/dist/types/src/cli/commands/database/remove.d.ts.map +1 -0
  245. package/dist/types/src/cli/commands/database/stats.d.ts +6 -0
  246. package/dist/types/src/cli/commands/database/stats.d.ts.map +1 -0
  247. package/dist/types/src/cli/commands/database/util.d.ts +14 -0
  248. package/dist/types/src/cli/commands/database/util.d.ts.map +1 -0
  249. package/dist/types/src/cli/commands/index.d.ts +4 -0
  250. package/dist/types/src/cli/commands/index.d.ts.map +1 -0
  251. package/dist/types/src/cli/commands/queue/index.d.ts +7 -0
  252. package/dist/types/src/cli/commands/queue/index.d.ts.map +1 -0
  253. package/dist/types/src/cli/commands/queue/query.d.ts +8 -0
  254. package/dist/types/src/cli/commands/queue/query.d.ts.map +1 -0
  255. package/dist/types/src/cli/commands/queue/util.d.ts +6 -0
  256. package/dist/types/src/cli/commands/queue/util.d.ts.map +1 -0
  257. package/dist/types/src/cli/commands/space/close/close.d.ts +12 -0
  258. package/dist/types/src/cli/commands/space/close/close.d.ts.map +1 -0
  259. package/dist/types/src/cli/commands/space/close/index.d.ts +2 -0
  260. package/dist/types/src/cli/commands/space/close/index.d.ts.map +1 -0
  261. package/dist/types/src/cli/commands/space/create/create.d.ts +12 -0
  262. package/dist/types/src/cli/commands/space/create/create.d.ts.map +1 -0
  263. package/dist/types/src/cli/commands/space/create/create.test.d.ts +2 -0
  264. package/dist/types/src/cli/commands/space/create/create.test.d.ts.map +1 -0
  265. package/dist/types/src/cli/commands/space/create/index.d.ts +2 -0
  266. package/dist/types/src/cli/commands/space/create/index.d.ts.map +1 -0
  267. package/dist/types/src/cli/commands/space/index.d.ts +31 -0
  268. package/dist/types/src/cli/commands/space/index.d.ts.map +1 -0
  269. package/dist/types/src/cli/commands/space/info/index.d.ts +2 -0
  270. package/dist/types/src/cli/commands/space/info/index.d.ts.map +1 -0
  271. package/dist/types/src/cli/commands/space/info/info.d.ts +13 -0
  272. package/dist/types/src/cli/commands/space/info/info.d.ts.map +1 -0
  273. package/dist/types/src/cli/commands/space/info/info.test.d.ts +2 -0
  274. package/dist/types/src/cli/commands/space/info/info.test.d.ts.map +1 -0
  275. package/dist/types/src/cli/commands/space/join/index.d.ts +2 -0
  276. package/dist/types/src/cli/commands/space/join/index.d.ts.map +1 -0
  277. package/dist/types/src/cli/commands/space/join/join.d.ts +14 -0
  278. package/dist/types/src/cli/commands/space/join/join.d.ts.map +1 -0
  279. package/dist/types/src/cli/commands/space/join/util.d.ts +17 -0
  280. package/dist/types/src/cli/commands/space/join/util.d.ts.map +1 -0
  281. package/dist/types/src/cli/commands/space/list/index.d.ts +2 -0
  282. package/dist/types/src/cli/commands/space/list/index.d.ts.map +1 -0
  283. package/dist/types/src/cli/commands/space/list/list.d.ts +7 -0
  284. package/dist/types/src/cli/commands/space/list/list.d.ts.map +1 -0
  285. package/dist/types/src/cli/commands/space/list/list.test.d.ts +2 -0
  286. package/dist/types/src/cli/commands/space/list/list.test.d.ts.map +1 -0
  287. package/dist/types/src/cli/commands/space/members/index.d.ts +2 -0
  288. package/dist/types/src/cli/commands/space/members/index.d.ts.map +1 -0
  289. package/dist/types/src/cli/commands/space/members/members.d.ts +13 -0
  290. package/dist/types/src/cli/commands/space/members/members.d.ts.map +1 -0
  291. package/dist/types/src/cli/commands/space/members/members.test.d.ts +2 -0
  292. package/dist/types/src/cli/commands/space/members/members.test.d.ts.map +1 -0
  293. package/dist/types/src/cli/commands/space/members/util.d.ts +9 -0
  294. package/dist/types/src/cli/commands/space/members/util.d.ts.map +1 -0
  295. package/dist/types/src/cli/commands/space/open/index.d.ts +2 -0
  296. package/dist/types/src/cli/commands/space/open/index.d.ts.map +1 -0
  297. package/dist/types/src/cli/commands/space/open/open.d.ts +12 -0
  298. package/dist/types/src/cli/commands/space/open/open.d.ts.map +1 -0
  299. package/dist/types/src/cli/commands/space/schema/index.d.ts +8 -0
  300. package/dist/types/src/cli/commands/space/schema/index.d.ts.map +1 -0
  301. package/dist/types/src/cli/commands/space/schema/list/index.d.ts +2 -0
  302. package/dist/types/src/cli/commands/space/schema/list/index.d.ts.map +1 -0
  303. package/dist/types/src/cli/commands/space/schema/list/list.d.ts +15 -0
  304. package/dist/types/src/cli/commands/space/schema/list/list.d.ts.map +1 -0
  305. package/dist/types/src/cli/commands/space/schema/list/list.test.d.ts +2 -0
  306. package/dist/types/src/cli/commands/space/schema/list/list.test.d.ts.map +1 -0
  307. package/dist/types/src/cli/commands/space/schema/list/util.d.ts +15 -0
  308. package/dist/types/src/cli/commands/space/schema/list/util.d.ts.map +1 -0
  309. package/dist/types/src/cli/commands/space/share/index.d.ts +2 -0
  310. package/dist/types/src/cli/commands/space/share/index.d.ts.map +1 -0
  311. package/dist/types/src/cli/commands/space/share/share.d.ts +19 -0
  312. package/dist/types/src/cli/commands/space/share/share.d.ts.map +1 -0
  313. package/dist/types/src/cli/commands/space/sync/index.d.ts +2 -0
  314. package/dist/types/src/cli/commands/space/sync/index.d.ts.map +1 -0
  315. package/dist/types/src/cli/commands/space/sync/sync.d.ts +6 -0
  316. package/dist/types/src/cli/commands/space/sync/sync.d.ts.map +1 -0
  317. package/dist/types/src/cli/commands/space/sync/sync.test.d.ts +2 -0
  318. package/dist/types/src/cli/commands/space/sync/sync.test.d.ts.map +1 -0
  319. package/dist/types/src/cli/index.d.ts +2 -0
  320. package/dist/types/src/cli/index.d.ts.map +1 -0
  321. package/dist/types/src/cli/plugin.d.ts +4 -0
  322. package/dist/types/src/cli/plugin.d.ts.map +1 -0
  323. package/dist/types/src/components/AwaitingObject/AwaitingObject.d.ts.map +1 -0
  324. package/dist/types/src/components/AwaitingObject/index.d.ts +2 -0
  325. package/dist/types/src/components/AwaitingObject/index.d.ts.map +1 -0
  326. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +26 -11
  327. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  328. package/dist/types/src/components/CreateDialog/index.d.ts +1 -2
  329. package/dist/types/src/components/CreateDialog/index.d.ts.map +1 -1
  330. package/dist/types/src/components/{ObjectSettings → ObjectDetails}/BaseObjectSettings.d.ts +1 -1
  331. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.d.ts.map +1 -0
  332. package/dist/types/src/components/{ObjectSettings → ObjectDetails}/BaseObjectSettings.stories.d.ts +221 -264
  333. package/dist/types/src/components/{ObjectSettings → ObjectDetails}/BaseObjectSettings.stories.d.ts.map +1 -1
  334. package/dist/types/src/components/ObjectDetails/ForeignKeys.d.ts +8 -0
  335. package/dist/types/src/components/ObjectDetails/ForeignKeys.d.ts.map +1 -0
  336. package/dist/types/src/components/ObjectDetails/index.d.ts +3 -0
  337. package/dist/types/src/components/ObjectDetails/index.d.ts.map +1 -0
  338. package/dist/types/src/components/{ObjectDetailsPanel → ObjectForm}/ObjectForm.d.ts +2 -3
  339. package/dist/types/src/components/ObjectForm/ObjectForm.d.ts.map +1 -0
  340. package/dist/types/src/components/ObjectForm/index.d.ts +2 -0
  341. package/dist/types/src/components/ObjectForm/index.d.ts.map +1 -0
  342. package/dist/types/src/components/SyncStatus/index.d.ts +2 -2
  343. package/dist/types/src/components/SyncStatus/index.d.ts.map +1 -1
  344. package/dist/types/src/components/index.d.ts +2 -19
  345. package/dist/types/src/components/index.d.ts.map +1 -1
  346. package/dist/types/src/constants.d.ts +6 -0
  347. package/dist/types/src/constants.d.ts.map +1 -0
  348. package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts +8 -0
  349. package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts.map +1 -0
  350. package/dist/types/src/containers/CollectionArticle/index.d.ts +3 -0
  351. package/dist/types/src/containers/CollectionArticle/index.d.ts.map +1 -0
  352. package/dist/types/src/containers/CollectionSection/CollectionSection.d.ts +5 -0
  353. package/dist/types/src/containers/CollectionSection/CollectionSection.d.ts.map +1 -0
  354. package/dist/types/src/containers/CollectionSection/index.d.ts +3 -0
  355. package/dist/types/src/containers/CollectionSection/index.d.ts.map +1 -0
  356. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts +12 -0
  357. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts.map +1 -0
  358. package/dist/types/src/containers/CreateObjectDialog/index.d.ts +3 -0
  359. package/dist/types/src/containers/CreateObjectDialog/index.d.ts.map +1 -0
  360. package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.d.ts.map +1 -0
  361. package/dist/types/src/containers/CreateSpaceDialog/index.d.ts +3 -0
  362. package/dist/types/src/containers/CreateSpaceDialog/index.d.ts.map +1 -0
  363. package/dist/types/src/containers/InlineSyncStatus/InlineSyncStatus.d.ts.map +1 -0
  364. package/dist/types/src/containers/InlineSyncStatus/index.d.ts +3 -0
  365. package/dist/types/src/containers/InlineSyncStatus/index.d.ts.map +1 -0
  366. package/dist/types/src/containers/JoinDialog/JoinDialog.d.ts.map +1 -0
  367. package/dist/types/src/containers/JoinDialog/index.d.ts +3 -0
  368. package/dist/types/src/containers/JoinDialog/index.d.ts.map +1 -0
  369. package/dist/types/src/{components → containers}/MembersContainer/MembersContainer.d.ts.map +1 -1
  370. package/dist/types/src/containers/MembersContainer/index.d.ts +3 -0
  371. package/dist/types/src/containers/MembersContainer/index.d.ts.map +1 -0
  372. package/dist/types/src/{components → containers/MenuFooter}/MenuFooter.d.ts +1 -1
  373. package/dist/types/src/containers/MenuFooter/MenuFooter.d.ts.map +1 -0
  374. package/dist/types/src/containers/MenuFooter/index.d.ts +3 -0
  375. package/dist/types/src/containers/MenuFooter/index.d.ts.map +1 -0
  376. package/dist/types/src/containers/ObjectCardStack/ObjectCardStack.d.ts +11 -0
  377. package/dist/types/src/containers/ObjectCardStack/ObjectCardStack.d.ts.map +1 -0
  378. package/dist/types/src/containers/ObjectCardStack/index.d.ts +3 -0
  379. package/dist/types/src/containers/ObjectCardStack/index.d.ts.map +1 -0
  380. package/dist/types/src/containers/ObjectDetails/ObjectDetails.d.ts +10 -0
  381. package/dist/types/src/containers/ObjectDetails/ObjectDetails.d.ts.map +1 -0
  382. package/dist/types/src/containers/ObjectDetails/index.d.ts +3 -0
  383. package/dist/types/src/containers/ObjectDetails/index.d.ts.map +1 -0
  384. package/dist/types/src/{components → containers}/ObjectRenamePopover/ObjectRenamePopover.d.ts +1 -1
  385. package/dist/types/src/{components → containers}/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -1
  386. package/dist/types/src/containers/ObjectRenamePopover/index.d.ts +3 -0
  387. package/dist/types/src/containers/ObjectRenamePopover/index.d.ts.map +1 -0
  388. package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts +4 -0
  389. package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts.map +1 -0
  390. package/dist/types/src/containers/RecordArticle/index.d.ts +3 -0
  391. package/dist/types/src/containers/RecordArticle/index.d.ts.map +1 -0
  392. package/dist/types/src/{components → containers/SchemaContainer}/SchemaContainer.d.ts +1 -1
  393. package/dist/types/src/containers/SchemaContainer/SchemaContainer.d.ts.map +1 -0
  394. package/dist/types/src/containers/SchemaContainer/index.d.ts +3 -0
  395. package/dist/types/src/containers/SchemaContainer/index.d.ts.map +1 -0
  396. package/dist/types/src/containers/SmallPresenceLive/index.d.ts +2 -0
  397. package/dist/types/src/containers/SmallPresenceLive/index.d.ts.map +1 -0
  398. package/dist/types/src/containers/SpacePluginSettings/SpacePluginSettings.d.ts +8 -0
  399. package/dist/types/src/containers/SpacePluginSettings/SpacePluginSettings.d.ts.map +1 -0
  400. package/dist/types/src/containers/SpacePluginSettings/index.d.ts +3 -0
  401. package/dist/types/src/containers/SpacePluginSettings/index.d.ts.map +1 -0
  402. package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.d.ts +4 -4
  403. package/dist/types/src/containers/SpacePresence/SpacePresence.d.ts.map +1 -0
  404. package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.stories.d.ts +220 -263
  405. package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.stories.d.ts.map +1 -1
  406. package/dist/types/src/containers/SpacePresence/index.d.ts +3 -0
  407. package/dist/types/src/containers/SpacePresence/index.d.ts.map +1 -0
  408. package/dist/types/src/{components → containers}/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -1
  409. package/dist/types/src/containers/SpaceRenamePopover/index.d.ts +3 -0
  410. package/dist/types/src/{components/ObjectDetailsPanel → containers/SpaceRenamePopover}/index.d.ts.map +1 -1
  411. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts +10 -0
  412. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts.map +1 -0
  413. package/dist/types/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.stories.d.ts +224 -264
  414. package/dist/types/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.stories.d.ts.map +1 -1
  415. package/dist/types/src/containers/SpaceSettingsContainer/index.d.ts +3 -0
  416. package/dist/types/src/containers/SpaceSettingsContainer/index.d.ts.map +1 -0
  417. package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.d.ts.map +1 -1
  418. package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.stories.d.ts +220 -263
  419. package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  420. package/dist/types/src/containers/SyncStatus/index.d.ts +3 -0
  421. package/dist/types/src/containers/SyncStatus/index.d.ts.map +1 -0
  422. package/dist/types/src/{components → containers/ViewEditor}/ViewEditor.d.ts +1 -1
  423. package/dist/types/src/containers/ViewEditor/ViewEditor.d.ts.map +1 -0
  424. package/dist/types/src/containers/ViewEditor/index.d.ts +3 -0
  425. package/dist/types/src/containers/ViewEditor/index.d.ts.map +1 -0
  426. package/dist/types/src/containers/index.d.ts +23 -0
  427. package/dist/types/src/containers/index.d.ts.map +1 -0
  428. package/dist/types/src/helpers/query.d.ts +3 -4
  429. package/dist/types/src/helpers/query.d.ts.map +1 -1
  430. package/dist/types/src/hooks/useActiveSpace.d.ts +2 -2
  431. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  432. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +2 -8
  433. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  434. package/dist/types/src/hooks/usePath.d.ts +2 -2
  435. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  436. package/dist/types/src/hooks/useTypeOptions.d.ts +2 -2
  437. package/dist/types/src/hooks/useTypeOptions.d.ts.map +1 -1
  438. package/dist/types/src/index.d.ts +2 -3
  439. package/dist/types/src/index.d.ts.map +1 -1
  440. package/dist/types/src/meta.d.ts +2 -2
  441. package/dist/types/src/meta.d.ts.map +1 -1
  442. package/dist/types/src/translations.d.ts +220 -263
  443. package/dist/types/src/translations.d.ts.map +1 -1
  444. package/dist/types/src/types/capabilities.d.ts +71 -0
  445. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  446. package/dist/types/src/types/events.d.ts +9 -0
  447. package/dist/types/src/types/events.d.ts.map +1 -0
  448. package/dist/types/src/types/form.d.ts +20 -0
  449. package/dist/types/src/types/form.d.ts.map +1 -0
  450. package/dist/types/src/types/index.d.ts +3 -0
  451. package/dist/types/src/types/index.d.ts.map +1 -1
  452. package/dist/types/src/types/types.d.ts +579 -400
  453. package/dist/types/src/types/types.d.ts.map +1 -1
  454. package/dist/types/src/util.d.ts +9 -136
  455. package/dist/types/src/util.d.ts.map +1 -1
  456. package/dist/types/tsconfig.tsbuildinfo +1 -1
  457. package/package.json +85 -66
  458. package/src/SpacePlugin.ts +173 -249
  459. package/src/capabilities/app-graph-builder/app-graph-builder.ts +32 -0
  460. package/src/capabilities/app-graph-builder/extensions/collections.ts +351 -0
  461. package/src/capabilities/app-graph-builder/extensions/companions.ts +80 -0
  462. package/src/capabilities/app-graph-builder/extensions/index.ts +9 -0
  463. package/src/capabilities/app-graph-builder/extensions/settings.ts +60 -0
  464. package/src/capabilities/app-graph-builder/extensions/shared.test.ts +112 -0
  465. package/src/capabilities/app-graph-builder/extensions/shared.ts +171 -0
  466. package/src/capabilities/app-graph-builder/extensions/spaces.ts +338 -0
  467. package/src/capabilities/app-graph-builder/extensions/types.ts +432 -0
  468. package/src/capabilities/app-graph-builder/index.ts +7 -0
  469. package/src/capabilities/app-graph-serializer/app-graph-serializer.ts +83 -0
  470. package/src/capabilities/app-graph-serializer/index.ts +7 -0
  471. package/src/capabilities/identity-created/identity-created.ts +29 -0
  472. package/src/capabilities/identity-created/index.ts +7 -0
  473. package/src/capabilities/index.ts +10 -14
  474. package/src/capabilities/operation-resolver/index.ts +7 -0
  475. package/src/capabilities/operation-resolver/operation-resolver.ts +763 -0
  476. package/src/capabilities/react-root/index.ts +7 -0
  477. package/src/capabilities/react-root/react-root.tsx +25 -0
  478. package/src/capabilities/react-surface/index.ts +7 -0
  479. package/src/capabilities/react-surface/react-surface.tsx +355 -0
  480. package/src/capabilities/repair/index.ts +7 -0
  481. package/src/capabilities/repair/repair.ts +42 -0
  482. package/src/capabilities/settings/index.ts +7 -0
  483. package/src/capabilities/settings/settings.ts +33 -0
  484. package/src/capabilities/spaces-ready/index.ts +7 -0
  485. package/src/capabilities/spaces-ready/spaces-ready.ts +290 -0
  486. package/src/capabilities/state/index.ts +7 -0
  487. package/src/capabilities/state/state.ts +66 -0
  488. package/src/cli/commands/database/add.ts +114 -0
  489. package/src/cli/commands/database/index.ts +16 -0
  490. package/src/{components/JoinDialog → cli/commands/database/query}/index.ts +1 -1
  491. package/src/cli/commands/database/query/query.test.ts +55 -0
  492. package/src/cli/commands/database/query/query.ts +44 -0
  493. package/src/cli/commands/database/remove.ts +51 -0
  494. package/src/cli/commands/database/stats.ts +44 -0
  495. package/src/cli/commands/database/util.ts +32 -0
  496. package/src/cli/commands/index.ts +7 -0
  497. package/src/cli/commands/queue/index.ts +12 -0
  498. package/src/cli/commands/queue/query.ts +45 -0
  499. package/src/cli/commands/queue/util.ts +19 -0
  500. package/src/cli/commands/space/close/close.ts +40 -0
  501. package/src/{components/SpacePresence → cli/commands/space/close}/index.ts +1 -1
  502. package/src/cli/commands/space/create/create.test.ts +67 -0
  503. package/src/cli/commands/space/create/create.ts +61 -0
  504. package/src/cli/commands/space/create/index.ts +5 -0
  505. package/src/cli/commands/space/index.ts +21 -0
  506. package/src/cli/commands/space/info/index.ts +5 -0
  507. package/src/cli/commands/space/info/info.test.ts +47 -0
  508. package/src/cli/commands/space/info/info.ts +37 -0
  509. package/src/cli/commands/space/join/index.ts +5 -0
  510. package/src/cli/commands/space/join/join.ts +122 -0
  511. package/src/cli/commands/space/join/util.ts +82 -0
  512. package/src/cli/commands/space/list/index.ts +5 -0
  513. package/src/cli/commands/space/list/list.test.ts +36 -0
  514. package/src/cli/commands/space/list/list.ts +30 -0
  515. package/src/cli/commands/space/members/index.ts +5 -0
  516. package/src/cli/commands/space/members/members.test.ts +46 -0
  517. package/src/cli/commands/space/members/members.ts +40 -0
  518. package/src/cli/commands/space/members/util.ts +29 -0
  519. package/src/cli/commands/space/open/index.ts +5 -0
  520. package/src/cli/commands/space/open/open.ts +39 -0
  521. package/src/cli/commands/space/schema/index.ts +12 -0
  522. package/src/cli/commands/space/schema/list/index.ts +5 -0
  523. package/src/cli/commands/space/schema/list/list.test.ts +42 -0
  524. package/src/cli/commands/space/schema/list/list.ts +64 -0
  525. package/src/cli/commands/space/schema/list/util.ts +39 -0
  526. package/src/cli/commands/space/share/index.ts +5 -0
  527. package/src/cli/commands/space/share/share.ts +112 -0
  528. package/src/cli/commands/space/sync/index.ts +5 -0
  529. package/src/cli/commands/space/sync/sync.test.ts +12 -0
  530. package/src/cli/commands/space/sync/sync.ts +33 -0
  531. package/src/cli/index.ts +5 -0
  532. package/src/cli/plugin.ts +88 -0
  533. package/src/components/{AwaitingObject.tsx → AwaitingObject/AwaitingObject.tsx} +15 -11
  534. package/src/components/AwaitingObject/index.ts +5 -0
  535. package/src/components/CreateDialog/CreateObjectPanel.tsx +155 -114
  536. package/src/components/CreateDialog/index.ts +1 -2
  537. package/src/components/{ObjectSettings → ObjectDetails}/BaseObjectSettings.stories.tsx +14 -14
  538. package/src/components/ObjectDetails/BaseObjectSettings.tsx +122 -0
  539. package/src/components/{ObjectSettings → ObjectDetails}/ForeignKeys.tsx +6 -6
  540. package/src/components/ObjectDetails/index.ts +6 -0
  541. package/src/components/ObjectForm/ObjectForm.tsx +99 -0
  542. package/src/components/ObjectForm/index.ts +5 -0
  543. package/src/components/SyncStatus/index.ts +2 -2
  544. package/src/components/SyncStatus/save-tracker.ts +2 -2
  545. package/src/components/index.ts +2 -18
  546. package/src/constants.ts +11 -0
  547. package/src/containers/CollectionArticle/CollectionArticle.tsx +139 -0
  548. package/src/containers/CollectionArticle/index.ts +7 -0
  549. package/src/{components → containers/CollectionSection}/CollectionSection.tsx +4 -4
  550. package/src/containers/CollectionSection/index.ts +7 -0
  551. package/src/containers/CreateObjectDialog/CreateObjectDialog.tsx +164 -0
  552. package/src/containers/CreateObjectDialog/index.ts +6 -0
  553. package/src/containers/CreateSpaceDialog/CreateSpaceDialog.tsx +72 -0
  554. package/src/containers/CreateSpaceDialog/index.ts +7 -0
  555. package/src/{components/SyncStatus → containers/InlineSyncStatus}/InlineSyncStatus.tsx +8 -19
  556. package/src/containers/InlineSyncStatus/index.ts +7 -0
  557. package/src/{components → containers}/JoinDialog/JoinDialog.tsx +27 -53
  558. package/src/containers/JoinDialog/index.ts +6 -0
  559. package/src/{components → containers}/MembersContainer/MembersContainer.tsx +81 -86
  560. package/src/containers/MembersContainer/index.ts +7 -0
  561. package/src/{components → containers/MenuFooter}/MenuFooter.tsx +6 -6
  562. package/src/containers/MenuFooter/index.ts +7 -0
  563. package/src/containers/ObjectCardStack/ObjectCardStack.tsx +82 -0
  564. package/src/containers/ObjectCardStack/index.ts +7 -0
  565. package/src/containers/ObjectDetails/ObjectDetails.tsx +36 -0
  566. package/src/containers/ObjectDetails/index.ts +7 -0
  567. package/src/{components → containers}/ObjectRenamePopover/ObjectRenamePopover.tsx +10 -14
  568. package/src/containers/ObjectRenamePopover/index.ts +7 -0
  569. package/src/containers/RecordArticle/RecordArticle.tsx +140 -0
  570. package/src/containers/RecordArticle/index.ts +7 -0
  571. package/src/containers/SchemaContainer/SchemaContainer.tsx +60 -0
  572. package/src/containers/SchemaContainer/index.ts +7 -0
  573. package/src/containers/SmallPresenceLive/index.ts +5 -0
  574. package/src/containers/SpacePluginSettings/SpacePluginSettings.tsx +65 -0
  575. package/src/containers/SpacePluginSettings/index.ts +7 -0
  576. package/src/{components → containers}/SpacePresence/SpacePresence.stories.tsx +2 -2
  577. package/src/{components → containers}/SpacePresence/SpacePresence.tsx +24 -37
  578. package/src/containers/SpacePresence/index.ts +6 -0
  579. package/src/{components → containers}/SpaceRenamePopover/SpaceRenamePopover.tsx +12 -13
  580. package/src/containers/SpaceRenamePopover/index.ts +7 -0
  581. package/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.stories.tsx +7 -7
  582. package/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.tsx +74 -77
  583. package/src/containers/SpaceSettingsContainer/index.ts +7 -0
  584. package/src/{components → containers}/SyncStatus/SyncStatus.stories.tsx +2 -2
  585. package/src/{components → containers}/SyncStatus/SyncStatus.tsx +6 -8
  586. package/src/containers/SyncStatus/index.ts +7 -0
  587. package/src/{components → containers/ViewEditor}/ViewEditor.tsx +32 -22
  588. package/src/containers/ViewEditor/index.ts +7 -0
  589. package/src/containers/index.ts +28 -0
  590. package/src/helpers/query.test.ts +1 -1
  591. package/src/helpers/query.ts +26 -18
  592. package/src/hooks/useActiveSpace.ts +11 -8
  593. package/src/hooks/useInputSurfaceLookup.tsx +9 -18
  594. package/src/hooks/usePath.ts +4 -4
  595. package/src/hooks/useTypeOptions.ts +3 -37
  596. package/src/index.ts +3 -3
  597. package/src/meta.ts +3 -3
  598. package/src/translations.ts +81 -58
  599. package/src/types/capabilities.ts +73 -0
  600. package/src/types/events.ts +16 -0
  601. package/src/types/form.ts +62 -0
  602. package/src/types/index.ts +3 -0
  603. package/src/types/types.ts +519 -263
  604. package/src/util.ts +82 -0
  605. package/dist/lib/browser/CollectionArticle-WTHWY4YS.mjs +0 -31
  606. package/dist/lib/browser/CollectionArticle-WTHWY4YS.mjs.map +0 -7
  607. package/dist/lib/browser/ObjectDetailsPanel-2BRUBHP6.mjs +0 -141
  608. package/dist/lib/browser/ObjectDetailsPanel-2BRUBHP6.mjs.map +0 -7
  609. package/dist/lib/browser/ObjectSettings-5LLWCVEK.mjs +0 -144
  610. package/dist/lib/browser/ObjectSettings-5LLWCVEK.mjs.map +0 -7
  611. package/dist/lib/browser/RecordArticle-SXDRWTTU.mjs +0 -116
  612. package/dist/lib/browser/RecordArticle-SXDRWTTU.mjs.map +0 -7
  613. package/dist/lib/browser/app-graph-builder-VQAB3GCQ.mjs +0 -528
  614. package/dist/lib/browser/app-graph-builder-VQAB3GCQ.mjs.map +0 -7
  615. package/dist/lib/browser/app-graph-serializer-KSLKMEPP.mjs +0 -80
  616. package/dist/lib/browser/app-graph-serializer-KSLKMEPP.mjs.map +0 -7
  617. package/dist/lib/browser/chunk-ERQMHU7L.mjs +0 -710
  618. package/dist/lib/browser/chunk-ERQMHU7L.mjs.map +0 -7
  619. package/dist/lib/browser/chunk-J2BUK5E6.mjs +0 -2058
  620. package/dist/lib/browser/chunk-J2BUK5E6.mjs.map +0 -7
  621. package/dist/lib/browser/chunk-K5J7ZB5P.mjs +0 -20
  622. package/dist/lib/browser/chunk-K5J7ZB5P.mjs.map +0 -7
  623. package/dist/lib/browser/chunk-M2Z6D4ZI.mjs +0 -349
  624. package/dist/lib/browser/chunk-M2Z6D4ZI.mjs.map +0 -7
  625. package/dist/lib/browser/chunk-OLBBSOVI.mjs.map +0 -7
  626. package/dist/lib/browser/chunk-PU5IOFMG.mjs +0 -167
  627. package/dist/lib/browser/chunk-PU5IOFMG.mjs.map +0 -7
  628. package/dist/lib/browser/chunk-VZBIIYFM.mjs.map +0 -7
  629. package/dist/lib/browser/chunk-WJXU4GKV.mjs +0 -19
  630. package/dist/lib/browser/chunk-WJXU4GKV.mjs.map +0 -7
  631. package/dist/lib/browser/identity-created-NAXTPQXE.mjs +0 -23
  632. package/dist/lib/browser/identity-created-NAXTPQXE.mjs.map +0 -7
  633. package/dist/lib/browser/intent-resolver-Q2XWHAVA.mjs +0 -762
  634. package/dist/lib/browser/intent-resolver-Q2XWHAVA.mjs.map +0 -7
  635. package/dist/lib/browser/react-root-MM4HADPE.mjs +0 -30
  636. package/dist/lib/browser/react-root-MM4HADPE.mjs.map +0 -7
  637. package/dist/lib/browser/react-surface-SGZC3Y4U.mjs +0 -351
  638. package/dist/lib/browser/react-surface-SGZC3Y4U.mjs.map +0 -7
  639. package/dist/lib/browser/schema-defs-QPI2JU3X.mjs +0 -26
  640. package/dist/lib/browser/schema-defs-QPI2JU3X.mjs.map +0 -7
  641. package/dist/lib/browser/settings-WKLGKUHQ.mjs +0 -24
  642. package/dist/lib/browser/settings-WKLGKUHQ.mjs.map +0 -7
  643. package/dist/lib/browser/spaces-ready-C5QC2UFL.mjs +0 -202
  644. package/dist/lib/browser/spaces-ready-C5QC2UFL.mjs.map +0 -7
  645. package/dist/lib/browser/state-Q7YRE5KG.mjs +0 -47
  646. package/dist/lib/browser/state-Q7YRE5KG.mjs.map +0 -7
  647. package/dist/lib/node-esm/CollectionArticle-KHXYT3SH.mjs +0 -32
  648. package/dist/lib/node-esm/CollectionArticle-KHXYT3SH.mjs.map +0 -7
  649. package/dist/lib/node-esm/ObjectDetailsPanel-6PZQIQG3.mjs +0 -142
  650. package/dist/lib/node-esm/ObjectDetailsPanel-6PZQIQG3.mjs.map +0 -7
  651. package/dist/lib/node-esm/ObjectSettings-OQSBOH7K.mjs +0 -145
  652. package/dist/lib/node-esm/ObjectSettings-OQSBOH7K.mjs.map +0 -7
  653. package/dist/lib/node-esm/RecordArticle-NACBH42P.mjs +0 -117
  654. package/dist/lib/node-esm/RecordArticle-NACBH42P.mjs.map +0 -7
  655. package/dist/lib/node-esm/app-graph-builder-24JCLJPX.mjs +0 -529
  656. package/dist/lib/node-esm/app-graph-builder-24JCLJPX.mjs.map +0 -7
  657. package/dist/lib/node-esm/app-graph-serializer-R723K764.mjs +0 -81
  658. package/dist/lib/node-esm/app-graph-serializer-R723K764.mjs.map +0 -7
  659. package/dist/lib/node-esm/chunk-2PN7QNGV.mjs +0 -350
  660. package/dist/lib/node-esm/chunk-2PN7QNGV.mjs.map +0 -7
  661. package/dist/lib/node-esm/chunk-BDEFTL6K.mjs.map +0 -7
  662. package/dist/lib/node-esm/chunk-H4JILUJK.mjs +0 -20
  663. package/dist/lib/node-esm/chunk-H4JILUJK.mjs.map +0 -7
  664. package/dist/lib/node-esm/chunk-ITQFSFQ3.mjs +0 -2059
  665. package/dist/lib/node-esm/chunk-ITQFSFQ3.mjs.map +0 -7
  666. package/dist/lib/node-esm/chunk-TJPQDQNI.mjs +0 -168
  667. package/dist/lib/node-esm/chunk-TJPQDQNI.mjs.map +0 -7
  668. package/dist/lib/node-esm/chunk-VH2EBZEV.mjs +0 -711
  669. package/dist/lib/node-esm/chunk-VH2EBZEV.mjs.map +0 -7
  670. package/dist/lib/node-esm/chunk-WC4VBFMA.mjs.map +0 -7
  671. package/dist/lib/node-esm/chunk-Z7BB6HC2.mjs +0 -21
  672. package/dist/lib/node-esm/chunk-Z7BB6HC2.mjs.map +0 -7
  673. package/dist/lib/node-esm/identity-created-OXLKCJE3.mjs +0 -25
  674. package/dist/lib/node-esm/identity-created-OXLKCJE3.mjs.map +0 -7
  675. package/dist/lib/node-esm/intent-resolver-YK4ESSET.mjs +0 -763
  676. package/dist/lib/node-esm/intent-resolver-YK4ESSET.mjs.map +0 -7
  677. package/dist/lib/node-esm/react-root-5ANDLQMX.mjs +0 -31
  678. package/dist/lib/node-esm/react-root-5ANDLQMX.mjs.map +0 -7
  679. package/dist/lib/node-esm/react-surface-V7J2QB44.mjs +0 -352
  680. package/dist/lib/node-esm/react-surface-V7J2QB44.mjs.map +0 -7
  681. package/dist/lib/node-esm/schema-defs-ZS2D47XW.mjs +0 -27
  682. package/dist/lib/node-esm/schema-defs-ZS2D47XW.mjs.map +0 -7
  683. package/dist/lib/node-esm/settings-RBB5633M.mjs +0 -25
  684. package/dist/lib/node-esm/settings-RBB5633M.mjs.map +0 -7
  685. package/dist/lib/node-esm/spaces-ready-SJCXV6YH.mjs +0 -203
  686. package/dist/lib/node-esm/spaces-ready-SJCXV6YH.mjs.map +0 -7
  687. package/dist/lib/node-esm/state-362I5BMK.mjs +0 -48
  688. package/dist/lib/node-esm/state-362I5BMK.mjs.map +0 -7
  689. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  690. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  691. package/dist/types/src/capabilities/app-graph-serializer.d.ts +0 -4
  692. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +0 -1
  693. package/dist/types/src/capabilities/capabilities.d.ts +0 -29
  694. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  695. package/dist/types/src/capabilities/identity-created.d.ts +0 -4
  696. package/dist/types/src/capabilities/identity-created.d.ts.map +0 -1
  697. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -9
  698. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  699. package/dist/types/src/capabilities/react-root.d.ts +0 -7
  700. package/dist/types/src/capabilities/react-root.d.ts.map +0 -1
  701. package/dist/types/src/capabilities/react-surface.d.ts +0 -7
  702. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  703. package/dist/types/src/capabilities/schema-defs.d.ts +0 -4
  704. package/dist/types/src/capabilities/schema-defs.d.ts.map +0 -1
  705. package/dist/types/src/capabilities/settings.d.ts +0 -4
  706. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  707. package/dist/types/src/capabilities/spaces-ready.d.ts +0 -4
  708. package/dist/types/src/capabilities/spaces-ready.d.ts.map +0 -1
  709. package/dist/types/src/capabilities/state.d.ts +0 -5
  710. package/dist/types/src/capabilities/state.d.ts.map +0 -1
  711. package/dist/types/src/components/AwaitingObject.d.ts.map +0 -1
  712. package/dist/types/src/components/CollectionArticle.d.ts +0 -6
  713. package/dist/types/src/components/CollectionArticle.d.ts.map +0 -1
  714. package/dist/types/src/components/CollectionSection.d.ts +0 -5
  715. package/dist/types/src/components/CollectionSection.d.ts.map +0 -1
  716. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +0 -10
  717. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +0 -1
  718. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +0 -1700
  719. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +0 -1
  720. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +0 -1
  721. package/dist/types/src/components/JoinDialog/JoinDialog.d.ts.map +0 -1
  722. package/dist/types/src/components/JoinDialog/index.d.ts +0 -2
  723. package/dist/types/src/components/JoinDialog/index.d.ts.map +0 -1
  724. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +0 -1697
  725. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts.map +0 -1
  726. package/dist/types/src/components/MembersContainer/index.d.ts +0 -2
  727. package/dist/types/src/components/MembersContainer/index.d.ts.map +0 -1
  728. package/dist/types/src/components/MenuFooter.d.ts.map +0 -1
  729. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts +0 -9
  730. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts.map +0 -1
  731. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts.map +0 -1
  732. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts +0 -3
  733. package/dist/types/src/components/ObjectRenamePopover/index.d.ts +0 -2
  734. package/dist/types/src/components/ObjectRenamePopover/index.d.ts.map +0 -1
  735. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts +0 -7
  736. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +0 -1
  737. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +0 -1
  738. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts +0 -8
  739. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +0 -1
  740. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts +0 -8
  741. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +0 -1
  742. package/dist/types/src/components/ObjectSettings/index.d.ts +0 -3
  743. package/dist/types/src/components/ObjectSettings/index.d.ts.map +0 -1
  744. package/dist/types/src/components/RecordArticle.d.ts +0 -5
  745. package/dist/types/src/components/RecordArticle.d.ts.map +0 -1
  746. package/dist/types/src/components/RecordArticle.stories.d.ts +0 -1697
  747. package/dist/types/src/components/RecordArticle.stories.d.ts.map +0 -1
  748. package/dist/types/src/components/SchemaContainer.d.ts.map +0 -1
  749. package/dist/types/src/components/SpacePluginSettings.d.ts +0 -6
  750. package/dist/types/src/components/SpacePluginSettings.d.ts.map +0 -1
  751. package/dist/types/src/components/SpacePresence/SpacePresence.d.ts.map +0 -1
  752. package/dist/types/src/components/SpacePresence/index.d.ts +0 -2
  753. package/dist/types/src/components/SpacePresence/index.d.ts.map +0 -1
  754. package/dist/types/src/components/SpaceRenamePopover/index.d.ts +0 -2
  755. package/dist/types/src/components/SpaceRenamePopover/index.d.ts.map +0 -1
  756. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts +0 -7
  757. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +0 -1
  758. package/dist/types/src/components/SpaceSettings/index.d.ts +0 -2
  759. package/dist/types/src/components/SpaceSettings/index.d.ts.map +0 -1
  760. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +0 -1
  761. package/dist/types/src/components/ViewEditor.d.ts.map +0 -1
  762. package/dist/types/src/events.d.ts +0 -8
  763. package/dist/types/src/events.d.ts.map +0 -1
  764. package/src/capabilities/app-graph-builder.ts +0 -786
  765. package/src/capabilities/app-graph-serializer.ts +0 -76
  766. package/src/capabilities/capabilities.ts +0 -35
  767. package/src/capabilities/identity-created.ts +0 -25
  768. package/src/capabilities/intent-resolver.ts +0 -710
  769. package/src/capabilities/react-root.tsx +0 -22
  770. package/src/capabilities/react-surface.tsx +0 -324
  771. package/src/capabilities/schema-defs.ts +0 -31
  772. package/src/capabilities/settings.ts +0 -21
  773. package/src/capabilities/spaces-ready.ts +0 -237
  774. package/src/capabilities/state.ts +0 -46
  775. package/src/components/CollectionArticle.tsx +0 -33
  776. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +0 -85
  777. package/src/components/CreateDialog/CreateObjectDialog.tsx +0 -142
  778. package/src/components/CreateDialog/CreateSpaceDialog.tsx +0 -85
  779. package/src/components/MembersContainer/MembersContainer.stories.tsx +0 -56
  780. package/src/components/MembersContainer/index.ts +0 -5
  781. package/src/components/ObjectDetailsPanel/ObjectDetailsPanel.tsx +0 -51
  782. package/src/components/ObjectDetailsPanel/ObjectForm.tsx +0 -72
  783. package/src/components/ObjectDetailsPanel/index.ts +0 -7
  784. package/src/components/ObjectRenamePopover/index.ts +0 -5
  785. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +0 -81
  786. package/src/components/ObjectSettings/BaseObjectSettings.tsx +0 -111
  787. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +0 -37
  788. package/src/components/ObjectSettings/index.ts +0 -7
  789. package/src/components/RecordArticle.stories.tsx +0 -115
  790. package/src/components/RecordArticle.tsx +0 -114
  791. package/src/components/SchemaContainer.tsx +0 -56
  792. package/src/components/SpacePluginSettings.tsx +0 -58
  793. package/src/components/SpaceRenamePopover/index.ts +0 -5
  794. package/src/components/SpaceSettings/index.ts +0 -5
  795. package/src/events.ts +0 -15
  796. package/src/util.tsx +0 -733
  797. /package/dist/types/src/components/{AwaitingObject.d.ts → AwaitingObject/AwaitingObject.d.ts} +0 -0
  798. /package/dist/types/src/{components/CreateDialog → containers/CreateSpaceDialog}/CreateSpaceDialog.d.ts +0 -0
  799. /package/dist/types/src/{components/SyncStatus → containers/InlineSyncStatus}/InlineSyncStatus.d.ts +0 -0
  800. /package/dist/types/src/{components → containers}/JoinDialog/JoinDialog.d.ts +0 -0
  801. /package/dist/types/src/{components → containers}/MembersContainer/MembersContainer.d.ts +0 -0
  802. /package/dist/types/src/{components → containers}/SpaceRenamePopover/SpaceRenamePopover.d.ts +0 -0
  803. /package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.d.ts +0 -0
@@ -0,0 +1,763 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+ import * as Option from 'effect/Option';
7
+
8
+ import { Capabilities, Capability, Plugin, UndoMapping } from '@dxos/app-framework';
9
+ import {
10
+ AppCapabilities,
11
+ LayoutOperation,
12
+ getCollectionsPath,
13
+ getObjectPath,
14
+ getObjectPathFromObject,
15
+ getTypePath,
16
+ } from '@dxos/app-toolkit';
17
+ import { SpaceState, getSpace } from '@dxos/client/echo';
18
+ import { Database, Obj, Query, Ref, Relation, Type, View } from '@dxos/echo';
19
+ import { Collection } from '@dxos/echo';
20
+ import { EchoDatabaseImpl, Serializer } from '@dxos/echo-db';
21
+ import { invariant } from '@dxos/invariant';
22
+ import { Migrations } from '@dxos/migrations';
23
+ import { OperationResolver } from '@dxos/operation';
24
+ import { Operation } from '@dxos/operation';
25
+ import { ClientCapabilities } from '@dxos/plugin-client/types';
26
+ import { ObservabilityOperation } from '@dxos/plugin-observability/types';
27
+ import { ViewAnnotation } from '@dxos/schema';
28
+ import { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';
29
+ import { getSpacePath } from '@dxos/app-toolkit';
30
+ import { iconValues } from '@dxos/react-ui-pickers/icons';
31
+ import { CollectionModel, ProjectionModel, createEchoChangeCallback, getTypenameFromQuery } from '@dxos/schema';
32
+ import { hues } from '@dxos/ui-theme';
33
+
34
+ import {
35
+ CREATE_OBJECT_DIALOG,
36
+ CREATE_SPACE_DIALOG,
37
+ JOIN_DIALOG,
38
+ OBJECT_RENAME_POPOVER,
39
+ SPACE_RENAME_POPOVER,
40
+ } from '../../constants';
41
+ import { type JoinDialogProps } from '../../containers/JoinDialog';
42
+ import { meta } from '../../meta';
43
+ import { SpaceEvents } from '../../types';
44
+ import { SpaceCapabilities, SpaceOperation } from '../../types';
45
+ import { COMPOSER_SPACE_LOCK, cloneObject, getNestedObjects } from '../../util';
46
+ import { isNonNullable } from '@dxos/util';
47
+
48
+ type OperationResolverOptions = {
49
+ createInvitationUrl: (invitationCode: string) => string;
50
+ observability?: boolean;
51
+ };
52
+
53
+ export default Capability.makeModule(
54
+ Effect.fnUntraced(function* ({ createInvitationUrl, observability }: OperationResolverOptions) {
55
+ const capabilityManager = yield* Capability.Service;
56
+
57
+ const resolve = (typename: string) =>
58
+ capabilityManager.getAll(AppCapabilities.Metadata).find(({ id }: { id: string }) => id === typename)?.metadata ??
59
+ {};
60
+
61
+ return [
62
+ Capability.contributes(Capabilities.UndoMapping, [
63
+ UndoMapping.make({
64
+ operation: SpaceOperation.DeleteField,
65
+ inverse: SpaceOperation.RestoreField,
66
+ deriveContext: (input, output) => ({
67
+ view: input.view,
68
+ field: output.field,
69
+ props: output.props,
70
+ index: output.index,
71
+ }),
72
+ message: ['field deleted label', { ns: meta.id }],
73
+ }),
74
+ UndoMapping.make({
75
+ operation: SpaceOperation.RemoveObjects,
76
+ inverse: SpaceOperation.RestoreObjects,
77
+ deriveContext: (_input, output) => ({
78
+ objects: output.objects,
79
+ parentCollection: output.parentCollection,
80
+ indices: output.indices,
81
+ nestedObjectsList: output.nestedObjectsList,
82
+ wasActive: output.wasActive,
83
+ }),
84
+ message: (input, _output) => {
85
+ const ns = Obj.getTypename(input.objects[0]);
86
+ return ns && input.objects.length === 1
87
+ ? ['object deleted label', { ns }]
88
+ : ['objects deleted label', { ns: meta.id }];
89
+ },
90
+ }),
91
+ ]),
92
+ Capability.contributes(Capabilities.OperationResolver, [
93
+ //
94
+ // Open
95
+ //
96
+ OperationResolver.make({
97
+ operation: SpaceOperation.Open,
98
+ handler: (input) =>
99
+ Effect.promise(async () => {
100
+ await input.space.open();
101
+ }),
102
+ }),
103
+
104
+ //
105
+ // Close
106
+ //
107
+ OperationResolver.make({
108
+ operation: SpaceOperation.Close,
109
+ handler: (input) =>
110
+ Effect.promise(async () => {
111
+ await input.space.close();
112
+ }),
113
+ }),
114
+
115
+ //
116
+ // Join
117
+ //
118
+ OperationResolver.make({
119
+ operation: SpaceOperation.Join,
120
+ handler: Effect.fnUntraced(function* (input) {
121
+ yield* Operation.invoke(LayoutOperation.UpdateDialog, {
122
+ subject: JOIN_DIALOG,
123
+ blockAlign: 'start',
124
+ props: {
125
+ initialInvitationCode: input.invitationCode,
126
+ onDone: input.onDone,
127
+ } satisfies Partial<JoinDialogProps>,
128
+ });
129
+ }),
130
+ }),
131
+
132
+ //
133
+ // WaitForObject
134
+ //
135
+ OperationResolver.make({
136
+ operation: SpaceOperation.WaitForObject,
137
+ handler: Effect.fnUntraced(function* (input) {
138
+ yield* Capabilities.updateAtomValue(SpaceCapabilities.EphemeralState, (current) => ({
139
+ ...current,
140
+ awaiting: input.id,
141
+ }));
142
+ }),
143
+ }),
144
+
145
+ //
146
+ // OpenSettings
147
+ //
148
+ OperationResolver.make({
149
+ operation: SpaceOperation.OpenSettings,
150
+ handler: Effect.fnUntraced(function* (input) {
151
+ yield* Operation.invoke(LayoutOperation.Open, {
152
+ subject: [`${getSpacePath(input.space.id)}/settings`],
153
+ workspace: getSpacePath(input.space.id),
154
+ });
155
+ }),
156
+ }),
157
+
158
+ //
159
+ // RemoveObjects
160
+ //
161
+ OperationResolver.make({
162
+ operation: SpaceOperation.RemoveObjects,
163
+ handler: Effect.fnUntraced(function* (input) {
164
+ const layout = yield* Capabilities.getAtomValue(AppCapabilities.Layout);
165
+ const objects = input.objects as Obj.Unknown[];
166
+
167
+ // All objects must be a member of the same space.
168
+ const space = getSpace(objects[0]);
169
+ invariant(space && objects.every((obj) => Obj.isObject(obj) && getSpace(obj) === space));
170
+
171
+ const parentCollection: Collection.Collection =
172
+ input.target ?? space.properties[Collection.Collection.typename]?.target;
173
+
174
+ const nestedObjectsList = yield* Effect.promise(() =>
175
+ Promise.all(objects.map((obj) => getNestedObjects(obj, resolve))),
176
+ );
177
+
178
+ // Capture indices before removal.
179
+ const indices = objects.map((obj) =>
180
+ Obj.instanceOf(Collection.Collection, parentCollection)
181
+ ? parentCollection.objects.findIndex((ref) => ref.target === obj)
182
+ : -1,
183
+ );
184
+
185
+ // Close objects that were open.
186
+ const wasActive = objects
187
+ .flatMap((obj, i) => [obj, ...nestedObjectsList[i]])
188
+ .filter(Obj.isObject)
189
+ .map((object) => layout.active.find((graphId) => graphId.endsWith(object.id)))
190
+ .filter(isNonNullable);
191
+
192
+ for (let i = 0; i < objects.length; i++) {
193
+ const obj = objects[i];
194
+ const nestedObjects = nestedObjectsList[i];
195
+
196
+ // Remove from parent collection.
197
+ const index = parentCollection.objects.findIndex((ref) => ref.target === obj);
198
+ if (index !== -1) {
199
+ Obj.change(parentCollection, (c) => {
200
+ c.objects.splice(index, 1);
201
+ });
202
+ }
203
+
204
+ // Delete nested objects.
205
+ for (const nestedObject of nestedObjects) {
206
+ if (Obj.isObject(nestedObject)) {
207
+ Obj.getDatabase(nestedObject)?.remove(nestedObject);
208
+ } else if (Relation.isRelation(nestedObject)) {
209
+ const db = Obj.getDatabase(Relation.getSource(nestedObject));
210
+ db?.remove(nestedObject);
211
+ }
212
+ }
213
+
214
+ // Delete the object.
215
+ const db = Obj.getDatabase(obj);
216
+ db?.remove(obj);
217
+ }
218
+
219
+ if (wasActive.length > 0) {
220
+ yield* Operation.invoke(LayoutOperation.Close, { subject: wasActive });
221
+ }
222
+
223
+ // Return data needed for undo.
224
+ return {
225
+ objects,
226
+ parentCollection,
227
+ indices,
228
+ nestedObjectsList,
229
+ wasActive,
230
+ };
231
+ }),
232
+ }),
233
+
234
+ //
235
+ // DeleteField
236
+ //
237
+ OperationResolver.make({
238
+ operation: SpaceOperation.DeleteField,
239
+ handler: Effect.fnUntraced(function* (input) {
240
+ const registry = yield* Capability.get(Capabilities.AtomRegistry);
241
+ const view = input.view as any;
242
+ const db = Obj.getDatabase(view);
243
+ invariant(db);
244
+ const typename = getTypenameFromQuery(view.query.ast);
245
+ invariant(typename);
246
+ const schema = yield* Effect.promise(() => db.schemaRegistry.query({ typename }).firstOrUndefined());
247
+ invariant(schema);
248
+
249
+ // Create projection with change callbacks that wrap in Obj.change().
250
+ const projection = new ProjectionModel({
251
+ registry,
252
+ view,
253
+ baseSchema: schema.jsonSchema,
254
+ change: createEchoChangeCallback(view, schema),
255
+ });
256
+
257
+ const result = projection.deleteFieldProjection(input.fieldId);
258
+
259
+ // Return data needed for undo.
260
+ return {
261
+ field: result.deleted.field,
262
+ props: result.deleted.props,
263
+ index: result.index,
264
+ };
265
+ }),
266
+ }),
267
+
268
+ //
269
+ // OpenCreateObject
270
+ //
271
+ OperationResolver.make({
272
+ operation: SpaceOperation.OpenCreateObject,
273
+ handler: Effect.fnUntraced(function* (input) {
274
+ const ephemeralState = yield* Capabilities.getAtomValue(SpaceCapabilities.EphemeralState);
275
+ const navigable = input.navigable ?? true;
276
+ yield* Operation.invoke(LayoutOperation.UpdateDialog, {
277
+ subject: CREATE_OBJECT_DIALOG,
278
+ blockAlign: 'start',
279
+ props: {
280
+ target: input.target,
281
+ views: input.views,
282
+ typename: input.typename,
283
+ initialFormValues: input.initialFormValues,
284
+ onCreateObject: input.onCreateObject,
285
+ targetNodeId: input.targetNodeId,
286
+ shouldNavigate: navigable
287
+ ? (object: Obj.Unknown) => {
288
+ const isCollection = Obj.instanceOf(Collection.Collection, object);
289
+ return !isCollection || ephemeralState.navigableCollections;
290
+ }
291
+ : () => false,
292
+ },
293
+ });
294
+ }),
295
+ }),
296
+
297
+ //
298
+ // AddObject
299
+ //
300
+ OperationResolver.make({
301
+ operation: SpaceOperation.AddObject,
302
+ handler: Effect.fnUntraced(function* (input) {
303
+ const target = input.target as any;
304
+ const object = input.object as Obj.Unknown;
305
+ const db = Database.isDatabase(target) ? target : Obj.getDatabase(target);
306
+ invariant(db, 'Database not found.');
307
+
308
+ yield* CollectionModel.add({
309
+ object,
310
+ target: Database.isDatabase(target) ? undefined : target,
311
+ hidden: input.hidden,
312
+ }).pipe(Effect.provide(Database.layer(db)));
313
+
314
+ const typename = Obj.getTypename(object)!;
315
+ yield* Operation.schedule(ObservabilityOperation.SendEvent, {
316
+ name: 'space.object.add',
317
+ properties: {
318
+ spaceId: db.spaceId,
319
+ objectId: object.id,
320
+ typename: Obj.getTypename(object),
321
+ },
322
+ });
323
+
324
+ const [schema] = db.schemaRegistry.query({ typename, location: ['runtime'] }).runSync();
325
+ const isViewSchema = schema !== undefined && ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false));
326
+ const view = isViewSchema
327
+ ? yield* Effect.promise(() => (object as Obj.Any).view.load() as Promise<View.View>)
328
+ : undefined;
329
+ const viewTargetTypename = view ? getTypenameFromQuery(view.query.ast) : undefined;
330
+ const subject = getSubjectPathForNewObject({
331
+ spaceId: db.spaceId,
332
+ objectId: object.id,
333
+ nodeId: input.targetNodeId,
334
+ typename,
335
+ viewTargetTypename,
336
+ });
337
+
338
+ return {
339
+ id: Obj.getDXN(object).toString(),
340
+ subject: [subject],
341
+ object,
342
+ };
343
+ }),
344
+ }),
345
+
346
+ //
347
+ // Share
348
+ //
349
+ OperationResolver.make({
350
+ operation: SpaceOperation.Share,
351
+ handler: Effect.fnUntraced(function* (input) {
352
+ const { space, type, authMethod, multiUse, target } = input;
353
+ const invitation = space.share({ type, authMethod, multiUse, target });
354
+
355
+ yield* Operation.schedule(ObservabilityOperation.SendEvent, {
356
+ name: 'space.share',
357
+ properties: {
358
+ spaceId: space.id,
359
+ },
360
+ });
361
+
362
+ return invitation;
363
+ }),
364
+ }),
365
+
366
+ //
367
+ // Lock
368
+ // TODO(wittjosiah): This appears to be unused.
369
+ //
370
+ OperationResolver.make({
371
+ operation: SpaceOperation.Lock,
372
+ handler: Effect.fnUntraced(function* ({ space }) {
373
+ Obj.change(space.properties, (p) => {
374
+ p[COMPOSER_SPACE_LOCK] = true;
375
+ });
376
+
377
+ if (observability) {
378
+ yield* Operation.schedule(ObservabilityOperation.SendEvent, {
379
+ name: 'space.lock',
380
+ properties: { spaceId: space.id },
381
+ });
382
+ }
383
+ }),
384
+ }),
385
+
386
+ //
387
+ // Unlock
388
+ // TODO(wittjosiah): This appears to be unused.
389
+ //
390
+ OperationResolver.make({
391
+ operation: SpaceOperation.Unlock,
392
+ handler: Effect.fnUntraced(function* ({ space }) {
393
+ Obj.change(space.properties, (p) => {
394
+ p[COMPOSER_SPACE_LOCK] = false;
395
+ });
396
+
397
+ if (observability) {
398
+ yield* Operation.schedule(ObservabilityOperation.SendEvent, {
399
+ name: 'space.unlock',
400
+ properties: { spaceId: space.id },
401
+ });
402
+ }
403
+ }),
404
+ }),
405
+
406
+ //
407
+ // OpenCreateSpace
408
+ //
409
+ OperationResolver.make({
410
+ operation: SpaceOperation.OpenCreateSpace,
411
+ handler: Effect.fnUntraced(function* () {
412
+ yield* Operation.invoke(LayoutOperation.UpdateDialog, {
413
+ subject: CREATE_SPACE_DIALOG,
414
+ blockAlign: 'start',
415
+ });
416
+ }),
417
+ }),
418
+
419
+ //
420
+ // Create
421
+ //
422
+ OperationResolver.make({
423
+ operation: SpaceOperation.Create,
424
+ handler: Effect.fnUntraced(function* ({ name, hue: hue_, icon: icon_, edgeReplication }) {
425
+ const client = yield* Capability.get(ClientCapabilities.Client);
426
+ const hue = hue_ ?? hues[Math.floor(Math.random() * hues.length)];
427
+ const icon = icon_ ?? iconValues[Math.floor(Math.random() * iconValues.length)];
428
+ const space = yield* Effect.promise(() => client.spaces.create({ name, hue, icon }));
429
+ if (edgeReplication) {
430
+ yield* Effect.promise(() => space.internal.setEdgeReplicationPreference(EdgeReplicationSetting.ENABLED));
431
+ }
432
+ yield* Effect.promise(() => space.waitUntilReady());
433
+
434
+ // Create root collection.
435
+ const collection = Obj.make(Collection.Collection, { objects: [] });
436
+ Obj.change(space.properties, (p) => {
437
+ p[Collection.Collection.typename] = Ref.make(collection);
438
+ // Set current migration version.
439
+ if (Migrations.versionProperty) {
440
+ p[Migrations.versionProperty] = Migrations.targetVersion;
441
+ }
442
+ });
443
+
444
+ // Allow other plugins to add default content.
445
+ yield* Plugin.activate(SpaceEvents.SpaceCreated);
446
+ const onCreateSpaceCallbacks = yield* Capability.getAll(SpaceCapabilities.OnCreateSpace);
447
+ yield* Effect.all(
448
+ onCreateSpaceCallbacks.map((onCreateSpace) =>
449
+ onCreateSpace({ space, isDefault: false, rootCollection: collection }),
450
+ ),
451
+ );
452
+
453
+ if (observability) {
454
+ yield* Operation.schedule(ObservabilityOperation.SendEvent, {
455
+ name: 'space.create',
456
+ properties: { spaceId: space.id },
457
+ });
458
+ }
459
+
460
+ return { id: space.id, subject: [space.id], space };
461
+ }),
462
+ }),
463
+
464
+ //
465
+ // Migrate
466
+ //
467
+ OperationResolver.make({
468
+ operation: SpaceOperation.Migrate,
469
+ handler: Effect.fnUntraced(function* (input) {
470
+ const { space, version: targetVersion } = input;
471
+
472
+ if (space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION) {
473
+ yield* Capabilities.updateAtomValue(SpaceCapabilities.EphemeralState, (current) => ({
474
+ ...current,
475
+ sdkMigrationRunning: { ...current.sdkMigrationRunning, [space.id]: true },
476
+ }));
477
+ yield* Effect.promise(() => space.internal.migrate());
478
+ yield* Capabilities.updateAtomValue(SpaceCapabilities.EphemeralState, (current) => ({
479
+ ...current,
480
+ sdkMigrationRunning: { ...current.sdkMigrationRunning, [space.id]: false },
481
+ }));
482
+ }
483
+ const result = yield* Effect.promise(() => Migrations.migrate(space, targetVersion));
484
+
485
+ yield* Operation.schedule(ObservabilityOperation.SendEvent, {
486
+ name: 'space.migrate',
487
+ properties: {
488
+ spaceId: space.id,
489
+ targetVersion,
490
+ version: Migrations.versionProperty ? space.properties[Migrations.versionProperty] : undefined,
491
+ },
492
+ });
493
+
494
+ return result;
495
+ }),
496
+ }),
497
+
498
+ //
499
+ // Snapshot
500
+ //
501
+ OperationResolver.make({
502
+ operation: SpaceOperation.Snapshot,
503
+ handler: (input) =>
504
+ Effect.promise(async () => {
505
+ const db = input.db as any;
506
+ invariant(db instanceof EchoDatabaseImpl, 'Database must be an instance of EchoDatabaseImpl');
507
+ const backup = await new Serializer().export(db, input.query && Query.fromAst(input.query));
508
+ return {
509
+ snapshot: new Blob([JSON.stringify(backup, null, 2)], { type: 'application/json' }),
510
+ };
511
+ }),
512
+ }),
513
+
514
+ //
515
+ // Rename
516
+ //
517
+ OperationResolver.make({
518
+ operation: SpaceOperation.Rename,
519
+ handler: Effect.fnUntraced(function* (input) {
520
+ yield* Operation.invoke(LayoutOperation.UpdatePopover, {
521
+ subject: SPACE_RENAME_POPOVER,
522
+ anchorId: input.caller ?? '',
523
+ props: input.space,
524
+ });
525
+ }),
526
+ }),
527
+
528
+ //
529
+ // RenameObject
530
+ //
531
+ OperationResolver.make({
532
+ operation: SpaceOperation.RenameObject,
533
+ handler: Effect.fnUntraced(function* (input) {
534
+ const object = input.object as Obj.Unknown;
535
+ yield* Operation.invoke(LayoutOperation.UpdatePopover, {
536
+ subject: OBJECT_RENAME_POPOVER,
537
+ anchorId: input.caller ?? '',
538
+ props: object,
539
+ });
540
+ }),
541
+ }),
542
+
543
+ //
544
+ // OpenMembers
545
+ //
546
+ OperationResolver.make({
547
+ operation: SpaceOperation.OpenMembers,
548
+ handler: Effect.fnUntraced(function* (input) {
549
+ yield* Operation.invoke(LayoutOperation.Open, {
550
+ subject: [`${getSpacePath(input.space.id)}/settings`],
551
+ workspace: getSpacePath(input.space.id),
552
+ });
553
+ }),
554
+ }),
555
+
556
+ //
557
+ // GetShareLink
558
+ //
559
+ OperationResolver.make({
560
+ operation: SpaceOperation.GetShareLink,
561
+ handler: Effect.fnUntraced(function* (input) {
562
+ const { Invitation, InvitationEncoder } = yield* Effect.promise(
563
+ () => import('@dxos/react-client/invitations'),
564
+ );
565
+
566
+ const invitation = yield* Operation.invoke(SpaceOperation.Share, {
567
+ space: input.space,
568
+ type: Invitation.Type.DELEGATED,
569
+ authMethod: Invitation.AuthMethod.KNOWN_PUBLIC_KEY,
570
+ multiUse: true,
571
+ target: input.target,
572
+ });
573
+
574
+ // NOTE: Delegated invitations are invalid until the connecting state when keys are filled in.
575
+ const invitationCode = yield* Effect.tryPromise(
576
+ () =>
577
+ new Promise<string>((resolve) => {
578
+ invitation.subscribe((inv) => {
579
+ if (inv.state === Invitation.State.CONNECTING) {
580
+ resolve(InvitationEncoder.encode(inv));
581
+ }
582
+ });
583
+ }),
584
+ );
585
+ const url = createInvitationUrl(invitationCode);
586
+ if (input.copyToClipboard) {
587
+ yield* Effect.tryPromise(() => navigator.clipboard.writeText(url));
588
+ }
589
+ return url;
590
+ }),
591
+ }),
592
+
593
+ //
594
+ // AddSchema
595
+ //
596
+ OperationResolver.make({
597
+ operation: SpaceOperation.AddSchema,
598
+ handler: Effect.fnUntraced(function* (input) {
599
+ const db = input.db;
600
+ const schemas = yield* Effect.promise(() => db.schemaRegistry.register([input.schema]));
601
+ const schema = schemas[0];
602
+ Obj.change(schema.persistentSchema, (s) => {
603
+ if (input.name) {
604
+ s.name = input.name;
605
+ }
606
+ if (input.typename) {
607
+ s.typename = input.typename;
608
+ }
609
+ if (input.version) {
610
+ s.version = input.version;
611
+ }
612
+ });
613
+
614
+ yield* Plugin.activate(SpaceEvents.SchemaAdded);
615
+ const onSchemaAdded = yield* Capability.getAll(SpaceCapabilities.OnSchemaAdded);
616
+ yield* Effect.all(
617
+ onSchemaAdded.map((callback) => callback({ db, schema, show: input.show })),
618
+ { concurrency: 'unbounded' },
619
+ );
620
+
621
+ yield* Operation.schedule(ObservabilityOperation.SendEvent, {
622
+ name: 'space.schema.add',
623
+ properties: {
624
+ spaceId: db.spaceId,
625
+ objectId: schema.id,
626
+ typename: schema.typename,
627
+ },
628
+ });
629
+
630
+ return { id: schema.id, object: schema.persistentSchema, schema };
631
+ }),
632
+ }),
633
+
634
+ //
635
+ // AddRelation
636
+ //
637
+ OperationResolver.make({
638
+ operation: SpaceOperation.AddRelation,
639
+ handler: (input) =>
640
+ Effect.sync(() => {
641
+ const db = input.db as Database.Database;
642
+ const relation = db.add(
643
+ Relation.make(input.schema, {
644
+ [Relation.Source]: input.source,
645
+ [Relation.Target]: input.target,
646
+ ...input.fields,
647
+ }),
648
+ );
649
+ return { relation };
650
+ }),
651
+ }),
652
+
653
+ //
654
+ // DuplicateObject
655
+ // TODO(wittjosiah): This appears to be unused.
656
+ //
657
+ OperationResolver.make({
658
+ operation: SpaceOperation.DuplicateObject,
659
+ handler: Effect.fnUntraced(function* (input) {
660
+ const object = input.object as Obj.Unknown;
661
+ const db = Obj.getDatabase(object);
662
+ invariant(db, 'Database not found.');
663
+ const newObject = yield* Effect.promise(() => cloneObject(object, resolve, db));
664
+ yield* Operation.invoke(SpaceOperation.AddObject, { object: newObject, target: db });
665
+ }),
666
+ }),
667
+
668
+ //
669
+ // RestoreField (inverse of DeleteField)
670
+ //
671
+ OperationResolver.make({
672
+ operation: SpaceOperation.RestoreField,
673
+ handler: Effect.fnUntraced(function* (input) {
674
+ const registry = yield* Capability.get(Capabilities.AtomRegistry);
675
+ const view = input.view as any;
676
+ const db = Obj.getDatabase(view);
677
+ invariant(db);
678
+ const typename = getTypenameFromQuery(view.query.ast);
679
+ invariant(typename);
680
+ const schema = yield* Effect.promise(() => db.schemaRegistry.query({ typename }).firstOrUndefined());
681
+ invariant(schema);
682
+
683
+ // Create projection with change callbacks that wrap in Obj.change().
684
+ const projection = new ProjectionModel({
685
+ registry,
686
+ view,
687
+ baseSchema: schema.jsonSchema,
688
+ change: createEchoChangeCallback(view, schema),
689
+ });
690
+
691
+ projection.setFieldProjection({ field: input.field, props: input.props }, input.index);
692
+ }),
693
+ }),
694
+
695
+ //
696
+ // RestoreObjects (inverse of RemoveObjects)
697
+ //
698
+ OperationResolver.make({
699
+ operation: SpaceOperation.RestoreObjects,
700
+ handler: Effect.fnUntraced(function* (input) {
701
+ const objects = input.objects as Obj.Unknown[];
702
+ const parentCollection = input.parentCollection as Collection.Collection;
703
+ const indices = input.indices as number[];
704
+ const nestedObjectsList = input.nestedObjectsList as Obj.Unknown[][];
705
+ const wasActive = input.wasActive as string[];
706
+
707
+ // Get the space from the first object.
708
+ const space = getSpace(objects[0]);
709
+ invariant(space);
710
+
711
+ // Restore objects to the space.
712
+ const restoredObjects = objects.map((obj: Obj.Unknown) => space.db.add(obj));
713
+
714
+ // Restore nested objects to the space.
715
+ nestedObjectsList.flat().forEach((obj: Obj.Unknown) => {
716
+ if (Obj.isObject(obj)) {
717
+ space.db.add(obj);
718
+ } else if (Relation.isRelation(obj)) {
719
+ space.db.add(obj);
720
+ }
721
+ });
722
+
723
+ // Restore objects to the parent collection at their original indices.
724
+ Obj.change(parentCollection, (c) => {
725
+ indices.forEach((index: number, i: number) => {
726
+ if (index !== -1) {
727
+ c.objects.splice(index, 0, Ref.make(restoredObjects[i] as Obj.Unknown));
728
+ }
729
+ });
730
+ });
731
+
732
+ // Re-open objects that were active.
733
+ if (wasActive.length > 0) {
734
+ yield* Operation.invoke(LayoutOperation.Open, { subject: wasActive });
735
+ }
736
+ }),
737
+ }),
738
+ ]),
739
+ ];
740
+ }),
741
+ );
742
+
743
+ /** Resolves the subject path where a newly added object should be opened in the graph. */
744
+ const getSubjectPathForNewObject = (props: {
745
+ spaceId: string;
746
+ objectId: string;
747
+ nodeId?: string;
748
+ typename: string;
749
+ /** When set, the object is a view (e.g. Table) and should open under the type its query targets. */
750
+ viewTargetTypename?: string;
751
+ }): string => {
752
+ const { nodeId, typename, viewTargetTypename, spaceId, objectId } = props;
753
+ if (typeof nodeId === 'string') {
754
+ return `${nodeId}/${objectId}`;
755
+ }
756
+ if (typename === Collection.Collection.typename) {
757
+ return getCollectionsPath(spaceId, objectId);
758
+ }
759
+ if (viewTargetTypename) {
760
+ return getTypePath(spaceId, viewTargetTypename, objectId);
761
+ }
762
+ return getObjectPath(spaceId, typename, objectId);
763
+ };