@dxos/plugin-space 0.8.4-main.c85a9c8dae → 0.8.4-main.d05673bc65

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 (344) hide show
  1. package/dist/lib/browser/{CollectionArticle-WASDM637.mjs → CollectionArticle-WPLUW5HF.mjs} +5 -36
  2. package/dist/lib/browser/CollectionArticle-WPLUW5HF.mjs.map +7 -0
  3. package/dist/lib/browser/{CollectionSection-LK4O6QDD.mjs → CollectionSection-H2MBNI63.mjs} +2 -2
  4. package/dist/lib/browser/{CreateObjectDialog-MA6DPYMD.mjs → CreateObjectDialog-YUBUWSEL.mjs} +17 -21
  5. package/dist/lib/browser/CreateObjectDialog-YUBUWSEL.mjs.map +7 -0
  6. package/dist/lib/browser/{CreateSpaceDialog-WCEICWIE.mjs → CreateSpaceDialog-3M2LAWV6.mjs} +7 -7
  7. package/dist/lib/browser/CreateSpaceDialog-3M2LAWV6.mjs.map +7 -0
  8. package/dist/lib/browser/{InlineSyncStatus-BT7BRBCO.mjs → InlineSyncStatus-K5MZ3YMZ.mjs} +9 -18
  9. package/dist/lib/browser/InlineSyncStatus-K5MZ3YMZ.mjs.map +7 -0
  10. package/dist/lib/browser/{JoinDialog-PMCAIRCU.mjs → JoinDialog-PBK2RE5F.mjs} +8 -10
  11. package/dist/lib/browser/JoinDialog-PBK2RE5F.mjs.map +7 -0
  12. package/dist/lib/browser/{MembersContainer-MMFCXLVZ.mjs → MembersContainer-OGYV2L4M.mjs} +4 -4
  13. package/dist/lib/browser/{MenuFooter-HYBTNOBT.mjs → MenuFooter-XCBDK7WP.mjs} +3 -4
  14. package/dist/lib/{node-esm/MenuFooter-2QB3453Y.mjs.map → browser/MenuFooter-XCBDK7WP.mjs.map} +1 -1
  15. package/dist/lib/browser/{ObjectCardStack-CHWNLUYQ.mjs → ObjectCardStack-OMXF2DSG.mjs} +6 -6
  16. package/dist/lib/browser/{ObjectDetails-YUGVDNSA.mjs → ObjectDetails-QFTQQN4W.mjs} +6 -6
  17. package/dist/lib/browser/{ObjectRenamePopover-RQUOVPFH.mjs → ObjectRenamePopover-JNPJIFIR.mjs} +3 -3
  18. package/dist/lib/browser/{ObjectRenamePopover-RQUOVPFH.mjs.map → ObjectRenamePopover-JNPJIFIR.mjs.map} +1 -1
  19. package/dist/lib/browser/{RecordArticle-ONWKYM3Z.mjs → RecordArticle-BO2XHBFN.mjs} +2 -2
  20. package/dist/lib/browser/{SchemaContainer-62AJXKAF.mjs → SchemaContainer-QWCSIZBS.mjs} +2 -2
  21. package/dist/lib/browser/SmallPresenceLive-AHHLBAUP.mjs +9 -0
  22. package/dist/lib/browser/{SpacePluginSettings-BRJTADV5.mjs → SpacePluginSettings-QGZKNQLK.mjs} +4 -4
  23. package/dist/lib/browser/SpacePresence-JIWLBUWO.mjs +12 -0
  24. package/dist/lib/browser/{SpaceRenamePopover-SAKMPDLX.mjs → SpaceRenamePopover-ZL6RRZ2B.mjs} +3 -3
  25. package/dist/lib/browser/{SpaceRenamePopover-SAKMPDLX.mjs.map → SpaceRenamePopover-ZL6RRZ2B.mjs.map} +1 -1
  26. package/dist/lib/browser/{SpaceSettingsContainer-UBMVKUPR.mjs → SpaceSettingsContainer-MIOOT63N.mjs} +5 -5
  27. package/dist/lib/browser/SpaceSettingsContainer-MIOOT63N.mjs.map +7 -0
  28. package/dist/lib/browser/{SyncStatus-5UQ7CIII.mjs → SyncStatus-6N7JJ7XF.mjs} +6 -6
  29. package/dist/lib/browser/{ViewEditor-F74RR542.mjs → ViewEditor-3FX5HDRT.mjs} +4 -7
  30. package/dist/lib/browser/ViewEditor-3FX5HDRT.mjs.map +7 -0
  31. package/dist/lib/browser/app-graph-builder-JORZZE3P.mjs +1203 -0
  32. package/dist/lib/browser/app-graph-builder-JORZZE3P.mjs.map +7 -0
  33. package/dist/lib/browser/{app-graph-serializer-KTQOBYUF.mjs → app-graph-serializer-UZWWGLGY.mjs} +5 -5
  34. package/dist/lib/browser/{chunk-RWOK4F4G.mjs → chunk-2WHUSAHE.mjs} +17 -14
  35. package/dist/lib/browser/chunk-2WHUSAHE.mjs.map +7 -0
  36. package/dist/lib/browser/{chunk-USN5QKRV.mjs → chunk-6IT5IBB5.mjs} +54 -86
  37. package/dist/lib/browser/chunk-6IT5IBB5.mjs.map +7 -0
  38. package/dist/lib/browser/chunk-6OA75CWN.mjs +77 -0
  39. package/dist/lib/browser/chunk-6OA75CWN.mjs.map +7 -0
  40. package/dist/lib/browser/{chunk-PXVKN4LU.mjs → chunk-AUX3RRLY.mjs} +34 -9
  41. package/dist/lib/browser/chunk-AUX3RRLY.mjs.map +7 -0
  42. package/dist/lib/browser/{chunk-HSMQFM57.mjs → chunk-CBWGVOJE.mjs} +2 -2
  43. package/dist/lib/browser/{chunk-HSMQFM57.mjs.map → chunk-CBWGVOJE.mjs.map} +1 -1
  44. package/dist/lib/browser/{chunk-XIIYC7P5.mjs → chunk-ICXESMDI.mjs} +6 -6
  45. package/dist/lib/browser/chunk-ICXESMDI.mjs.map +7 -0
  46. package/dist/lib/browser/chunk-RJUOHI3B.mjs +19 -0
  47. package/dist/lib/browser/{chunk-ASV6DYFH.mjs.map → chunk-RJUOHI3B.mjs.map} +1 -1
  48. package/dist/lib/browser/{chunk-J5F4LUJD.mjs → chunk-SSTUPFZ2.mjs} +3 -3
  49. package/dist/lib/browser/{chunk-ABCDB5YC.mjs → chunk-UYOJYBGW.mjs} +7 -16
  50. package/dist/lib/browser/chunk-UYOJYBGW.mjs.map +7 -0
  51. package/dist/lib/browser/cli/index.mjs +8 -17
  52. package/dist/lib/browser/cli/index.mjs.map +3 -3
  53. package/dist/lib/browser/{identity-created-VKLIZOXJ.mjs → identity-created-ETXNQYR6.mjs} +4 -4
  54. package/dist/lib/browser/{identity-created-VKLIZOXJ.mjs.map → identity-created-ETXNQYR6.mjs.map} +3 -3
  55. package/dist/lib/browser/index.mjs +33 -53
  56. package/dist/lib/browser/index.mjs.map +3 -3
  57. package/dist/lib/browser/meta.json +1 -1
  58. package/dist/lib/browser/{operation-resolver-Y3HYRXX7.mjs → operation-resolver-D4LHB4D4.mjs} +64 -88
  59. package/dist/lib/browser/operation-resolver-D4LHB4D4.mjs.map +7 -0
  60. package/dist/lib/browser/{react-root-UYBW5RE7.mjs → react-root-OD2HP63B.mjs} +6 -6
  61. package/dist/lib/browser/{react-surface-NJ23NZFF.mjs → react-surface-E4TAFED5.mjs} +57 -79
  62. package/dist/lib/browser/react-surface-E4TAFED5.mjs.map +7 -0
  63. package/dist/lib/browser/repair-NUVEV4AK.mjs +31 -0
  64. package/dist/lib/browser/repair-NUVEV4AK.mjs.map +7 -0
  65. package/dist/lib/browser/{settings-2ELVUFDR.mjs → settings-RUDP2Q56.mjs} +3 -3
  66. package/dist/lib/browser/{spaces-ready-Q6JASPT4.mjs → spaces-ready-B2GYL5IN.mjs} +6 -6
  67. package/dist/lib/browser/spaces-ready-B2GYL5IN.mjs.map +7 -0
  68. package/dist/lib/browser/{state-CTX4WQOM.mjs → state-I6JDZCDE.mjs} +5 -5
  69. package/dist/lib/browser/{state-CTX4WQOM.mjs.map → state-I6JDZCDE.mjs.map} +2 -2
  70. package/dist/lib/browser/types/index.mjs +2 -2
  71. package/dist/lib/node-esm/{CollectionArticle-A6GGG73Z.mjs → CollectionArticle-JGVNBX66.mjs} +5 -36
  72. package/dist/lib/node-esm/CollectionArticle-JGVNBX66.mjs.map +7 -0
  73. package/dist/lib/node-esm/{CollectionSection-WWKDOAAT.mjs → CollectionSection-BI66Y34F.mjs} +2 -2
  74. package/dist/lib/node-esm/{CreateObjectDialog-4WEFNDDF.mjs → CreateObjectDialog-B6OLP5VQ.mjs} +17 -21
  75. package/dist/lib/node-esm/CreateObjectDialog-B6OLP5VQ.mjs.map +7 -0
  76. package/dist/lib/node-esm/{CreateSpaceDialog-P7QCPB5J.mjs → CreateSpaceDialog-J47M5FPQ.mjs} +7 -7
  77. package/dist/lib/node-esm/CreateSpaceDialog-J47M5FPQ.mjs.map +7 -0
  78. package/dist/lib/node-esm/{InlineSyncStatus-3PCXU7NX.mjs → InlineSyncStatus-BLD57LB5.mjs} +9 -18
  79. package/dist/lib/node-esm/InlineSyncStatus-BLD57LB5.mjs.map +7 -0
  80. package/dist/lib/node-esm/{JoinDialog-XEOLJZVN.mjs → JoinDialog-XCOYKSHA.mjs} +8 -10
  81. package/dist/lib/node-esm/JoinDialog-XCOYKSHA.mjs.map +7 -0
  82. package/dist/lib/node-esm/{MembersContainer-UQZLW3YA.mjs → MembersContainer-4PV3Z4BA.mjs} +4 -4
  83. package/dist/lib/node-esm/{MenuFooter-2QB3453Y.mjs → MenuFooter-PXG2GV6A.mjs} +3 -4
  84. package/dist/lib/node-esm/{ObjectCardStack-UXEWG6RV.mjs → ObjectCardStack-457SNNVF.mjs} +6 -6
  85. package/dist/lib/node-esm/{ObjectDetails-26PVHUQL.mjs → ObjectDetails-OLF7HSM4.mjs} +6 -6
  86. package/dist/lib/node-esm/{ObjectRenamePopover-EHTP76G7.mjs → ObjectRenamePopover-BRPKVNVF.mjs} +3 -3
  87. package/dist/lib/node-esm/{ObjectRenamePopover-EHTP76G7.mjs.map → ObjectRenamePopover-BRPKVNVF.mjs.map} +1 -1
  88. package/dist/lib/node-esm/{RecordArticle-APY2WKUW.mjs → RecordArticle-XUIT25PP.mjs} +2 -2
  89. package/dist/lib/node-esm/{SchemaContainer-XR2D6MYX.mjs → SchemaContainer-5G4R3Z6O.mjs} +2 -2
  90. package/dist/lib/node-esm/SmallPresenceLive-4K7RJS74.mjs +10 -0
  91. package/dist/lib/node-esm/SmallPresenceLive-4K7RJS74.mjs.map +7 -0
  92. package/dist/lib/node-esm/{SpacePluginSettings-VEB5IGG7.mjs → SpacePluginSettings-PENV4GHL.mjs} +4 -4
  93. package/dist/lib/node-esm/SpacePresence-H3VZWFJV.mjs +13 -0
  94. package/dist/lib/node-esm/SpacePresence-H3VZWFJV.mjs.map +7 -0
  95. package/dist/lib/node-esm/{SpaceRenamePopover-WHM632OT.mjs → SpaceRenamePopover-XEMTI4PU.mjs} +3 -3
  96. package/dist/lib/node-esm/{SpaceRenamePopover-WHM632OT.mjs.map → SpaceRenamePopover-XEMTI4PU.mjs.map} +1 -1
  97. package/dist/lib/node-esm/{SpaceSettingsContainer-Y62J2L65.mjs → SpaceSettingsContainer-WI4D7RWA.mjs} +5 -5
  98. package/dist/lib/node-esm/SpaceSettingsContainer-WI4D7RWA.mjs.map +7 -0
  99. package/dist/lib/node-esm/{SyncStatus-XTJAVHPN.mjs → SyncStatus-YEBGTNSD.mjs} +6 -6
  100. package/dist/lib/node-esm/{ViewEditor-B2BLYF5U.mjs → ViewEditor-CUQVNM2H.mjs} +4 -7
  101. package/dist/lib/node-esm/ViewEditor-CUQVNM2H.mjs.map +7 -0
  102. package/dist/lib/node-esm/app-graph-builder-WTM6SSX7.mjs +1204 -0
  103. package/dist/lib/node-esm/app-graph-builder-WTM6SSX7.mjs.map +7 -0
  104. package/dist/lib/node-esm/{app-graph-serializer-GXQYSQAZ.mjs → app-graph-serializer-RT2RQTV2.mjs} +5 -5
  105. package/dist/lib/node-esm/{chunk-OSFH2XKO.mjs → chunk-2OLR2ZKH.mjs} +6 -6
  106. package/dist/lib/node-esm/chunk-2OLR2ZKH.mjs.map +7 -0
  107. package/dist/lib/node-esm/chunk-5KTTTTEX.mjs +20 -0
  108. package/dist/lib/node-esm/{chunk-CVXULIYC.mjs.map → chunk-5KTTTTEX.mjs.map} +1 -1
  109. package/dist/lib/node-esm/{chunk-SL4BJSUG.mjs → chunk-63N5JJXI.mjs} +2 -2
  110. package/dist/lib/node-esm/{chunk-SL4BJSUG.mjs.map → chunk-63N5JJXI.mjs.map} +1 -1
  111. package/dist/lib/node-esm/{chunk-UJQUBDQS.mjs → chunk-EDC2RUJU.mjs} +7 -16
  112. package/dist/lib/node-esm/chunk-EDC2RUJU.mjs.map +7 -0
  113. package/dist/lib/node-esm/{chunk-3DWZCVVQ.mjs → chunk-EVNSLSQS.mjs} +54 -86
  114. package/dist/lib/node-esm/chunk-EVNSLSQS.mjs.map +7 -0
  115. package/dist/lib/node-esm/chunk-GEGWQVZX.mjs +78 -0
  116. package/dist/lib/node-esm/chunk-GEGWQVZX.mjs.map +7 -0
  117. package/dist/lib/node-esm/{chunk-P2AVANDG.mjs → chunk-RYQQXNI7.mjs} +34 -9
  118. package/dist/lib/node-esm/chunk-RYQQXNI7.mjs.map +7 -0
  119. package/dist/lib/node-esm/{chunk-GWUPFA7J.mjs → chunk-S5BQUCL4.mjs} +17 -14
  120. package/dist/lib/node-esm/chunk-S5BQUCL4.mjs.map +7 -0
  121. package/dist/lib/node-esm/{chunk-S2IELCDF.mjs → chunk-XYLDAH5C.mjs} +3 -3
  122. package/dist/lib/node-esm/cli/index.mjs +8 -17
  123. package/dist/lib/node-esm/cli/index.mjs.map +3 -3
  124. package/dist/lib/node-esm/{identity-created-EGSTETJ5.mjs → identity-created-U5LGULVL.mjs} +4 -4
  125. package/dist/lib/node-esm/{identity-created-EGSTETJ5.mjs.map → identity-created-U5LGULVL.mjs.map} +3 -3
  126. package/dist/lib/node-esm/index.mjs +33 -53
  127. package/dist/lib/node-esm/index.mjs.map +3 -3
  128. package/dist/lib/node-esm/meta.json +1 -1
  129. package/dist/lib/node-esm/{operation-resolver-IRQ2NVUQ.mjs → operation-resolver-IL2AHNPN.mjs} +64 -88
  130. package/dist/lib/node-esm/operation-resolver-IL2AHNPN.mjs.map +7 -0
  131. package/dist/lib/node-esm/{react-root-UEN3LLJD.mjs → react-root-RILC5MBD.mjs} +6 -6
  132. package/dist/lib/node-esm/{react-surface-UDO3PGH6.mjs → react-surface-SWKRVK4S.mjs} +57 -79
  133. package/dist/lib/node-esm/react-surface-SWKRVK4S.mjs.map +7 -0
  134. package/dist/lib/node-esm/repair-LRZHFPSJ.mjs +32 -0
  135. package/dist/lib/node-esm/repair-LRZHFPSJ.mjs.map +7 -0
  136. package/dist/lib/node-esm/{settings-DCTVM2BV.mjs → settings-3EKSEAAG.mjs} +3 -3
  137. package/dist/lib/node-esm/{spaces-ready-XLGRTJV2.mjs → spaces-ready-QK3EHBOS.mjs} +6 -6
  138. package/dist/lib/node-esm/spaces-ready-QK3EHBOS.mjs.map +7 -0
  139. package/dist/lib/node-esm/{state-G74V3WZG.mjs → state-W36RRYUO.mjs} +5 -5
  140. package/dist/lib/node-esm/{state-G74V3WZG.mjs.map → state-W36RRYUO.mjs.map} +2 -2
  141. package/dist/lib/node-esm/types/index.mjs +2 -2
  142. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  143. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +1 -2
  144. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -1
  145. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts +33 -0
  146. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts.map +1 -0
  147. package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts +19 -0
  148. package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts.map +1 -0
  149. package/dist/types/src/capabilities/app-graph-builder/extensions/index.d.ts +6 -0
  150. package/dist/types/src/capabilities/app-graph-builder/extensions/index.d.ts.map +1 -0
  151. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts +12 -0
  152. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts.map +1 -0
  153. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts +57 -0
  154. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts.map +1 -0
  155. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.test.d.ts +2 -0
  156. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.test.d.ts.map +1 -0
  157. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts +24 -0
  158. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts.map +1 -0
  159. package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts +38 -0
  160. package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts.map +1 -0
  161. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
  162. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
  163. package/dist/types/src/capabilities/repair/repair.d.ts.map +1 -1
  164. package/dist/types/src/capabilities/state/state.d.ts.map +1 -1
  165. package/dist/types/src/cli/commands/database/add.d.ts +0 -1
  166. package/dist/types/src/cli/commands/database/add.d.ts.map +1 -1
  167. package/dist/types/src/cli/plugin.d.ts.map +1 -1
  168. package/dist/types/src/components/AwaitingObject/AwaitingObject.d.ts.map +1 -0
  169. package/dist/types/src/components/AwaitingObject/index.d.ts +2 -0
  170. package/dist/types/src/components/AwaitingObject/index.d.ts.map +1 -0
  171. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +0 -1
  172. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  173. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.stories.d.ts +68 -14
  174. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.stories.d.ts.map +1 -1
  175. package/dist/types/src/components/ObjectForm/ObjectForm.d.ts.map +1 -1
  176. package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts +1 -2
  177. package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts.map +1 -1
  178. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts +2 -1
  179. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts.map +1 -1
  180. package/dist/types/src/containers/CreateObjectDialog/index.d.ts +2 -2
  181. package/dist/types/src/containers/CreateObjectDialog/index.d.ts.map +1 -1
  182. package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.d.ts.map +1 -1
  183. package/dist/types/src/containers/InlineSyncStatus/InlineSyncStatus.d.ts.map +1 -1
  184. package/dist/types/src/containers/JoinDialog/index.d.ts +2 -2
  185. package/dist/types/src/containers/JoinDialog/index.d.ts.map +1 -1
  186. package/dist/types/src/containers/ObjectDetails/ObjectDetails.d.ts +1 -0
  187. package/dist/types/src/containers/ObjectDetails/ObjectDetails.d.ts.map +1 -1
  188. package/dist/types/src/containers/SmallPresenceLive/index.d.ts +1 -1
  189. package/dist/types/src/containers/SmallPresenceLive/index.d.ts.map +1 -1
  190. package/dist/types/src/containers/SpacePresence/SpacePresence.d.ts.map +1 -1
  191. package/dist/types/src/containers/SpacePresence/SpacePresence.stories.d.ts +67 -13
  192. package/dist/types/src/containers/SpacePresence/SpacePresence.stories.d.ts.map +1 -1
  193. package/dist/types/src/containers/SpacePresence/index.d.ts +2 -2
  194. package/dist/types/src/containers/SpacePresence/index.d.ts.map +1 -1
  195. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.d.ts +67 -13
  196. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.d.ts.map +1 -1
  197. package/dist/types/src/containers/SyncStatus/SyncStatus.stories.d.ts +67 -13
  198. package/dist/types/src/containers/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  199. package/dist/types/src/containers/ViewEditor/ViewEditor.d.ts.map +1 -1
  200. package/dist/types/src/containers/index.d.ts +1 -1
  201. package/dist/types/src/containers/index.d.ts.map +1 -1
  202. package/dist/types/src/translations.d.ts +67 -13
  203. package/dist/types/src/translations.d.ts.map +1 -1
  204. package/dist/types/src/types/form.d.ts +0 -2
  205. package/dist/types/src/types/form.d.ts.map +1 -1
  206. package/dist/types/src/types/types.d.ts +29 -46
  207. package/dist/types/src/types/types.d.ts.map +1 -1
  208. package/dist/types/src/util.d.ts +4 -161
  209. package/dist/types/src/util.d.ts.map +1 -1
  210. package/dist/types/tsconfig.tsbuildinfo +1 -1
  211. package/package.json +57 -57
  212. package/src/SpacePlugin.ts +14 -22
  213. package/src/capabilities/app-graph-builder/app-graph-builder.ts +14 -657
  214. package/src/capabilities/app-graph-builder/extensions/collections.ts +351 -0
  215. package/src/capabilities/app-graph-builder/extensions/companions.ts +80 -0
  216. package/src/capabilities/app-graph-builder/extensions/index.ts +9 -0
  217. package/src/capabilities/app-graph-builder/extensions/settings.ts +60 -0
  218. package/src/capabilities/app-graph-builder/extensions/shared.test.ts +112 -0
  219. package/src/capabilities/app-graph-builder/extensions/shared.ts +171 -0
  220. package/src/capabilities/app-graph-builder/extensions/spaces.ts +338 -0
  221. package/src/capabilities/app-graph-builder/extensions/types.ts +421 -0
  222. package/src/capabilities/identity-created/identity-created.ts +3 -3
  223. package/src/capabilities/operation-resolver/operation-resolver.ts +65 -73
  224. package/src/capabilities/react-surface/react-surface.tsx +33 -58
  225. package/src/capabilities/repair/repair.ts +3 -32
  226. package/src/capabilities/spaces-ready/spaces-ready.ts +2 -2
  227. package/src/capabilities/state/state.ts +4 -2
  228. package/src/cli/commands/database/add.ts +0 -1
  229. package/src/cli/commands/space/close/close.ts +1 -1
  230. package/src/cli/commands/space/create/create.ts +1 -1
  231. package/src/cli/commands/space/join/join.ts +1 -1
  232. package/src/cli/commands/space/open/open.ts +1 -1
  233. package/src/cli/plugin.ts +0 -1
  234. package/src/components/{AwaitingObject.tsx → AwaitingObject/AwaitingObject.tsx} +2 -2
  235. package/src/components/AwaitingObject/index.ts +5 -0
  236. package/src/components/CreateDialog/CreateObjectPanel.tsx +5 -2
  237. package/src/components/ObjectDetails/BaseObjectSettings.stories.tsx +4 -4
  238. package/src/components/ObjectDetails/BaseObjectSettings.tsx +4 -4
  239. package/src/components/ObjectForm/ObjectForm.tsx +6 -4
  240. package/src/constants.ts +5 -5
  241. package/src/containers/CollectionArticle/CollectionArticle.tsx +7 -54
  242. package/src/containers/CreateObjectDialog/CreateObjectDialog.tsx +10 -10
  243. package/src/containers/CreateObjectDialog/index.ts +2 -3
  244. package/src/containers/CreateSpaceDialog/CreateSpaceDialog.tsx +5 -3
  245. package/src/containers/InlineSyncStatus/InlineSyncStatus.tsx +7 -18
  246. package/src/containers/JoinDialog/JoinDialog.tsx +4 -4
  247. package/src/containers/JoinDialog/index.ts +2 -3
  248. package/src/containers/ObjectRenamePopover/ObjectRenamePopover.tsx +1 -1
  249. package/src/containers/SmallPresenceLive/index.ts +1 -1
  250. package/src/containers/SpacePresence/SpacePresence.tsx +4 -16
  251. package/src/containers/SpacePresence/index.ts +2 -3
  252. package/src/containers/SpaceRenamePopover/SpaceRenamePopover.tsx +1 -1
  253. package/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.tsx +2 -2
  254. package/src/containers/ViewEditor/ViewEditor.tsx +0 -1
  255. package/src/containers/index.ts +1 -1
  256. package/src/helpers/query.test.ts +1 -1
  257. package/src/hooks/useActiveSpace.ts +4 -4
  258. package/src/meta.ts +1 -1
  259. package/src/translations.ts +27 -1
  260. package/src/types/capabilities.ts +7 -7
  261. package/src/types/events.ts +5 -5
  262. package/src/types/form.ts +1 -8
  263. package/src/types/types.ts +36 -58
  264. package/src/util.ts +82 -0
  265. package/dist/lib/browser/CollectionArticle-WASDM637.mjs.map +0 -7
  266. package/dist/lib/browser/CreateObjectDialog-MA6DPYMD.mjs.map +0 -7
  267. package/dist/lib/browser/CreateSpaceDialog-WCEICWIE.mjs.map +0 -7
  268. package/dist/lib/browser/InlineSyncStatus-BT7BRBCO.mjs.map +0 -7
  269. package/dist/lib/browser/JoinDialog-PMCAIRCU.mjs.map +0 -7
  270. package/dist/lib/browser/SmallPresenceLive-LZD2NGKK.mjs +0 -10
  271. package/dist/lib/browser/SpacePresence-MLU576L6.mjs +0 -13
  272. package/dist/lib/browser/SpacePresence-MLU576L6.mjs.map +0 -7
  273. package/dist/lib/browser/SpaceSettingsContainer-UBMVKUPR.mjs.map +0 -7
  274. package/dist/lib/browser/ViewEditor-F74RR542.mjs.map +0 -7
  275. package/dist/lib/browser/app-graph-builder-VFYFI7CD.mjs +0 -593
  276. package/dist/lib/browser/app-graph-builder-VFYFI7CD.mjs.map +0 -7
  277. package/dist/lib/browser/chunk-ABCDB5YC.mjs.map +0 -7
  278. package/dist/lib/browser/chunk-ASV6DYFH.mjs +0 -19
  279. package/dist/lib/browser/chunk-PXVKN4LU.mjs.map +0 -7
  280. package/dist/lib/browser/chunk-RWOK4F4G.mjs.map +0 -7
  281. package/dist/lib/browser/chunk-TPZUQ5DC.mjs +0 -749
  282. package/dist/lib/browser/chunk-TPZUQ5DC.mjs.map +0 -7
  283. package/dist/lib/browser/chunk-USN5QKRV.mjs.map +0 -7
  284. package/dist/lib/browser/chunk-XIIYC7P5.mjs.map +0 -7
  285. package/dist/lib/browser/operation-resolver-Y3HYRXX7.mjs.map +0 -7
  286. package/dist/lib/browser/react-surface-NJ23NZFF.mjs.map +0 -7
  287. package/dist/lib/browser/repair-N2I4DR2Z.mjs +0 -50
  288. package/dist/lib/browser/repair-N2I4DR2Z.mjs.map +0 -7
  289. package/dist/lib/browser/spaces-ready-Q6JASPT4.mjs.map +0 -7
  290. package/dist/lib/node-esm/CollectionArticle-A6GGG73Z.mjs.map +0 -7
  291. package/dist/lib/node-esm/CreateObjectDialog-4WEFNDDF.mjs.map +0 -7
  292. package/dist/lib/node-esm/CreateSpaceDialog-P7QCPB5J.mjs.map +0 -7
  293. package/dist/lib/node-esm/InlineSyncStatus-3PCXU7NX.mjs.map +0 -7
  294. package/dist/lib/node-esm/JoinDialog-XEOLJZVN.mjs.map +0 -7
  295. package/dist/lib/node-esm/SmallPresenceLive-K4243KXR.mjs +0 -11
  296. package/dist/lib/node-esm/SpacePresence-HC2XGQ54.mjs +0 -14
  297. package/dist/lib/node-esm/SpacePresence-HC2XGQ54.mjs.map +0 -7
  298. package/dist/lib/node-esm/SpaceSettingsContainer-Y62J2L65.mjs.map +0 -7
  299. package/dist/lib/node-esm/ViewEditor-B2BLYF5U.mjs.map +0 -7
  300. package/dist/lib/node-esm/app-graph-builder-N37ED6UI.mjs +0 -594
  301. package/dist/lib/node-esm/app-graph-builder-N37ED6UI.mjs.map +0 -7
  302. package/dist/lib/node-esm/chunk-3DWZCVVQ.mjs.map +0 -7
  303. package/dist/lib/node-esm/chunk-CVXULIYC.mjs +0 -20
  304. package/dist/lib/node-esm/chunk-GWUPFA7J.mjs.map +0 -7
  305. package/dist/lib/node-esm/chunk-OSFH2XKO.mjs.map +0 -7
  306. package/dist/lib/node-esm/chunk-P2AVANDG.mjs.map +0 -7
  307. package/dist/lib/node-esm/chunk-UJQUBDQS.mjs.map +0 -7
  308. package/dist/lib/node-esm/chunk-WW6YYBRG.mjs +0 -750
  309. package/dist/lib/node-esm/chunk-WW6YYBRG.mjs.map +0 -7
  310. package/dist/lib/node-esm/operation-resolver-IRQ2NVUQ.mjs.map +0 -7
  311. package/dist/lib/node-esm/react-surface-UDO3PGH6.mjs.map +0 -7
  312. package/dist/lib/node-esm/repair-P6ND7ZRU.mjs +0 -51
  313. package/dist/lib/node-esm/repair-P6ND7ZRU.mjs.map +0 -7
  314. package/dist/lib/node-esm/spaces-ready-XLGRTJV2.mjs.map +0 -7
  315. package/dist/types/src/components/AwaitingObject.d.ts.map +0 -1
  316. package/src/util.tsx +0 -956
  317. /package/dist/lib/browser/{CollectionSection-LK4O6QDD.mjs.map → CollectionSection-H2MBNI63.mjs.map} +0 -0
  318. /package/dist/lib/browser/{MembersContainer-MMFCXLVZ.mjs.map → MembersContainer-OGYV2L4M.mjs.map} +0 -0
  319. /package/dist/lib/browser/{ObjectCardStack-CHWNLUYQ.mjs.map → ObjectCardStack-OMXF2DSG.mjs.map} +0 -0
  320. /package/dist/lib/browser/{ObjectDetails-YUGVDNSA.mjs.map → ObjectDetails-QFTQQN4W.mjs.map} +0 -0
  321. /package/dist/lib/browser/{RecordArticle-ONWKYM3Z.mjs.map → RecordArticle-BO2XHBFN.mjs.map} +0 -0
  322. /package/dist/lib/browser/{SchemaContainer-62AJXKAF.mjs.map → SchemaContainer-QWCSIZBS.mjs.map} +0 -0
  323. /package/dist/lib/browser/{SmallPresenceLive-LZD2NGKK.mjs.map → SmallPresenceLive-AHHLBAUP.mjs.map} +0 -0
  324. /package/dist/lib/browser/{SpacePluginSettings-BRJTADV5.mjs.map → SpacePluginSettings-QGZKNQLK.mjs.map} +0 -0
  325. /package/dist/lib/{node-esm/SmallPresenceLive-K4243KXR.mjs.map → browser/SpacePresence-JIWLBUWO.mjs.map} +0 -0
  326. /package/dist/lib/browser/{SyncStatus-5UQ7CIII.mjs.map → SyncStatus-6N7JJ7XF.mjs.map} +0 -0
  327. /package/dist/lib/browser/{app-graph-serializer-KTQOBYUF.mjs.map → app-graph-serializer-UZWWGLGY.mjs.map} +0 -0
  328. /package/dist/lib/browser/{chunk-J5F4LUJD.mjs.map → chunk-SSTUPFZ2.mjs.map} +0 -0
  329. /package/dist/lib/browser/{react-root-UYBW5RE7.mjs.map → react-root-OD2HP63B.mjs.map} +0 -0
  330. /package/dist/lib/browser/{settings-2ELVUFDR.mjs.map → settings-RUDP2Q56.mjs.map} +0 -0
  331. /package/dist/lib/node-esm/{CollectionSection-WWKDOAAT.mjs.map → CollectionSection-BI66Y34F.mjs.map} +0 -0
  332. /package/dist/lib/node-esm/{MembersContainer-UQZLW3YA.mjs.map → MembersContainer-4PV3Z4BA.mjs.map} +0 -0
  333. /package/dist/lib/{browser/MenuFooter-HYBTNOBT.mjs.map → node-esm/MenuFooter-PXG2GV6A.mjs.map} +0 -0
  334. /package/dist/lib/node-esm/{ObjectCardStack-UXEWG6RV.mjs.map → ObjectCardStack-457SNNVF.mjs.map} +0 -0
  335. /package/dist/lib/node-esm/{ObjectDetails-26PVHUQL.mjs.map → ObjectDetails-OLF7HSM4.mjs.map} +0 -0
  336. /package/dist/lib/node-esm/{RecordArticle-APY2WKUW.mjs.map → RecordArticle-XUIT25PP.mjs.map} +0 -0
  337. /package/dist/lib/node-esm/{SchemaContainer-XR2D6MYX.mjs.map → SchemaContainer-5G4R3Z6O.mjs.map} +0 -0
  338. /package/dist/lib/node-esm/{SpacePluginSettings-VEB5IGG7.mjs.map → SpacePluginSettings-PENV4GHL.mjs.map} +0 -0
  339. /package/dist/lib/node-esm/{SyncStatus-XTJAVHPN.mjs.map → SyncStatus-YEBGTNSD.mjs.map} +0 -0
  340. /package/dist/lib/node-esm/{app-graph-serializer-GXQYSQAZ.mjs.map → app-graph-serializer-RT2RQTV2.mjs.map} +0 -0
  341. /package/dist/lib/node-esm/{chunk-S2IELCDF.mjs.map → chunk-XYLDAH5C.mjs.map} +0 -0
  342. /package/dist/lib/node-esm/{react-root-UEN3LLJD.mjs.map → react-root-RILC5MBD.mjs.map} +0 -0
  343. /package/dist/lib/node-esm/{settings-DCTVM2BV.mjs.map → settings-3EKSEAAG.mjs.map} +0 -0
  344. /package/dist/types/src/components/{AwaitingObject.d.ts → AwaitingObject/AwaitingObject.d.ts} +0 -0
@@ -4,27 +4,28 @@ import {
4
4
  JOIN_DIALOG,
5
5
  OBJECT_RENAME_POPOVER,
6
6
  SPACE_RENAME_POPOVER
7
- } from "./chunk-ASV6DYFH.mjs";
7
+ } from "./chunk-RJUOHI3B.mjs";
8
8
  import {
9
9
  COMPOSER_SPACE_LOCK,
10
10
  cloneObject,
11
11
  getNestedObjects
12
- } from "./chunk-TPZUQ5DC.mjs";
12
+ } from "./chunk-6OA75CWN.mjs";
13
13
  import {
14
14
  SpaceCapabilities,
15
15
  SpaceEvents,
16
16
  SpaceOperation
17
- } from "./chunk-USN5QKRV.mjs";
17
+ } from "./chunk-6IT5IBB5.mjs";
18
18
  import {
19
19
  meta
20
- } from "./chunk-HSMQFM57.mjs";
20
+ } from "./chunk-CBWGVOJE.mjs";
21
21
 
22
22
  // src/capabilities/operation-resolver/operation-resolver.ts
23
23
  import * as Effect from "effect/Effect";
24
+ import * as Option from "effect/Option";
24
25
  import { Capabilities, Capability, Plugin, UndoMapping } from "@dxos/app-framework";
25
- import { AppCapabilities, LayoutOperation } from "@dxos/app-toolkit";
26
+ import { AppCapabilities, LayoutOperation, getCollectionsPath, getObjectPath, getTypePath } from "@dxos/app-toolkit";
26
27
  import { SpaceState, getSpace } from "@dxos/client/echo";
27
- import { Database, Obj, Query, Ref, Relation, Type } from "@dxos/echo";
28
+ import { Database, Obj, Query, Ref, Relation } from "@dxos/echo";
28
29
  import { Collection } from "@dxos/echo";
29
30
  import { EchoDatabaseImpl, Serializer } from "@dxos/echo-db";
30
31
  import { invariant } from "@dxos/invariant";
@@ -33,11 +34,13 @@ import { OperationResolver } from "@dxos/operation";
33
34
  import { Operation } from "@dxos/operation";
34
35
  import { ClientCapabilities } from "@dxos/plugin-client/types";
35
36
  import { ObservabilityOperation } from "@dxos/plugin-observability/types";
37
+ import { ViewAnnotation } from "@dxos/schema";
36
38
  import { EdgeReplicationSetting } from "@dxos/protocols/proto/dxos/echo/metadata";
37
- import { ATTENDABLE_PATH_SEPARATOR } from "@dxos/react-ui-attention/types";
39
+ import { getSpacePath } from "@dxos/app-toolkit";
38
40
  import { iconValues } from "@dxos/react-ui-pickers/icons";
39
- import { CollectionModel, ManagedCollection, ProjectionModel, createEchoChangeCallback, getTypenameFromQuery } from "@dxos/schema";
41
+ import { CollectionModel, ProjectionModel, createEchoChangeCallback, getTypenameFromQuery } from "@dxos/schema";
40
42
  import { hues } from "@dxos/ui-theme";
43
+ import { isNonNullable } from "@dxos/util";
41
44
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/capabilities/operation-resolver/operation-resolver.ts";
42
45
  var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(function* ({ createInvitationUrl, observability }) {
43
46
  const capabilityManager = yield* Capability.Service;
@@ -75,7 +78,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
75
78
  return ns && input.objects.length === 1 ? [
76
79
  "object deleted label",
77
80
  {
78
- ns: meta.id
81
+ ns
79
82
  }
80
83
  ] : [
81
84
  "objects deleted label",
@@ -141,9 +144,9 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
141
144
  handler: Effect.fnUntraced(function* (input) {
142
145
  yield* Operation.invoke(LayoutOperation.Open, {
143
146
  subject: [
144
- `properties-settings${ATTENDABLE_PATH_SEPARATOR}${input.space.id}`
147
+ `${getSpacePath(input.space.id)}/settings`
145
148
  ],
146
- workspace: input.space.id
149
+ workspace: getSpacePath(input.space.id)
147
150
  });
148
151
  })
149
152
  }),
@@ -158,21 +161,20 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
158
161
  const space = getSpace(objects[0]);
159
162
  invariant(space && objects.every((obj) => Obj.isObject(obj) && getSpace(obj) === space), void 0, {
160
163
  F: __dxlog_file,
161
- L: 165,
164
+ L: 169,
162
165
  S: this,
163
166
  A: [
164
167
  "space && objects.every((obj) => Obj.isObject(obj) && getSpace(obj) === space)",
165
168
  ""
166
169
  ]
167
170
  });
168
- const openObjectIds = new Set(layout.active);
169
171
  const parentCollection = input.target ?? space.properties[Collection.Collection.typename]?.target;
170
172
  const nestedObjectsList = yield* Effect.promise(() => Promise.all(objects.map((obj) => getNestedObjects(obj, resolve))));
171
173
  const indices = objects.map((obj) => Obj.instanceOf(Collection.Collection, parentCollection) ? parentCollection.objects.findIndex((ref) => ref.target === obj) : -1);
172
174
  const wasActive = objects.flatMap((obj, i) => [
173
175
  obj,
174
176
  ...nestedObjectsList[i]
175
- ]).filter((obj) => Obj.isObject(obj) && openObjectIds.has(Obj.getDXN(obj).toString())).map((obj) => Obj.getDXN(obj).toString());
177
+ ]).filter(Obj.isObject).map((object) => layout.active.find((graphId) => graphId.endsWith(object.id))).filter(isNonNullable);
176
178
  for (let i = 0; i < objects.length; i++) {
177
179
  const obj = objects[i];
178
180
  const nestedObjects = nestedObjectsList[i];
@@ -218,7 +220,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
218
220
  const db = Obj.getDatabase(view);
219
221
  invariant(db, void 0, {
220
222
  F: __dxlog_file,
221
- L: 239,
223
+ L: 243,
222
224
  S: this,
223
225
  A: [
224
226
  "db",
@@ -228,7 +230,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
228
230
  const typename = getTypenameFromQuery(view.query.ast);
229
231
  invariant(typename, void 0, {
230
232
  F: __dxlog_file,
231
- L: 241,
233
+ L: 245,
232
234
  S: this,
233
235
  A: [
234
236
  "typename",
@@ -240,7 +242,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
240
242
  }).firstOrUndefined());
241
243
  invariant(schema, void 0, {
242
244
  F: __dxlog_file,
243
- L: 243,
245
+ L: 247,
244
246
  S: this,
245
247
  A: [
246
248
  "schema",
@@ -278,10 +280,10 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
278
280
  typename: input.typename,
279
281
  initialFormValues: input.initialFormValues,
280
282
  onCreateObject: input.onCreateObject,
283
+ targetNodeId: input.targetNodeId,
281
284
  shouldNavigate: navigable ? (object) => {
282
285
  const isCollection = Obj.instanceOf(Collection.Collection, object);
283
- const isSystemCollection = Obj.instanceOf(ManagedCollection.ManagedCollection, object);
284
- return !isCollection && !isSystemCollection || ephemeralState.navigableCollections;
286
+ return !isCollection || ephemeralState.navigableCollections;
285
287
  } : () => false
286
288
  }
287
289
  });
@@ -298,7 +300,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
298
300
  const db = Database.isDatabase(target) ? target : Obj.getDatabase(target);
299
301
  invariant(db, "Database not found.", {
300
302
  F: __dxlog_file,
301
- L: 302,
303
+ L: 306,
302
304
  S: this,
303
305
  A: [
304
306
  "db",
@@ -310,6 +312,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
310
312
  target: Database.isDatabase(target) ? void 0 : target,
311
313
  hidden: input.hidden
312
314
  }).pipe(Effect.provide(Database.layer(db)));
315
+ const typename = Obj.getTypename(object);
313
316
  yield* Operation.schedule(ObservabilityOperation.SendEvent, {
314
317
  name: "space.object.add",
315
318
  properties: {
@@ -318,10 +321,26 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
318
321
  typename: Obj.getTypename(object)
319
322
  }
320
323
  });
324
+ const [schema] = db.schemaRegistry.query({
325
+ typename,
326
+ location: [
327
+ "runtime"
328
+ ]
329
+ }).runSync();
330
+ const isViewSchema = schema !== void 0 && ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false));
331
+ const view = isViewSchema ? yield* Effect.promise(() => object.view.load()) : void 0;
332
+ const viewTargetTypename = view ? getTypenameFromQuery(view.query.ast) : void 0;
333
+ const subject = getSubjectPathForNewObject({
334
+ spaceId: db.spaceId,
335
+ objectId: object.id,
336
+ nodeId: input.targetNodeId,
337
+ typename,
338
+ viewTargetTypename
339
+ });
321
340
  return {
322
341
  id: Obj.getDXN(object).toString(),
323
342
  subject: [
324
- Obj.getDXN(object).toString()
343
+ subject
325
344
  ],
326
345
  object
327
346
  };
@@ -428,11 +447,6 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
428
447
  p[Migrations.versionProperty] = Migrations.targetVersion;
429
448
  }
430
449
  });
431
- Obj.change(collection, (c) => {
432
- c.objects.push(Ref.make(ManagedCollection.makeManagedCollection({
433
- key: Type.getTypename(Type.PersistentType)
434
- })));
435
- });
436
450
  yield* Plugin.activate(SpaceEvents.SpaceCreated);
437
451
  const onCreateSpaceCallbacks = yield* Capability.getAll(SpaceCapabilities.OnCreateSpace);
438
452
  yield* Effect.all(onCreateSpaceCallbacks.map((onCreateSpace) => onCreateSpace({
@@ -502,7 +516,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
502
516
  const db = input.db;
503
517
  invariant(db instanceof EchoDatabaseImpl, "Database must be an instance of EchoDatabaseImpl", {
504
518
  F: __dxlog_file,
505
- L: 494,
519
+ L: 506,
506
520
  S: this,
507
521
  A: [
508
522
  "db instanceof EchoDatabaseImpl",
@@ -527,7 +541,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
527
541
  handler: Effect.fnUntraced(function* (input) {
528
542
  yield* Operation.invoke(LayoutOperation.UpdatePopover, {
529
543
  subject: SPACE_RENAME_POPOVER,
530
- anchorId: `dxos.org/ui/${input.caller}/${input.space.id}`,
544
+ anchorId: input.caller ?? "",
531
545
  props: input.space
532
546
  });
533
547
  })
@@ -541,7 +555,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
541
555
  const object = input.object;
542
556
  yield* Operation.invoke(LayoutOperation.UpdatePopover, {
543
557
  subject: OBJECT_RENAME_POPOVER,
544
- anchorId: `dxos.org/ui/${input.caller}/${Obj.getDXN(object).toString()}`,
558
+ anchorId: input.caller ?? "",
545
559
  props: object
546
560
  });
547
561
  })
@@ -554,9 +568,9 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
554
568
  handler: Effect.fnUntraced(function* (input) {
555
569
  yield* Operation.invoke(LayoutOperation.Open, {
556
570
  subject: [
557
- `members-settings${ATTENDABLE_PATH_SEPARATOR}${input.space.id}`
571
+ `${getSpacePath(input.space.id)}/settings`
558
572
  ],
559
- workspace: input.space.id
573
+ workspace: getSpacePath(input.space.id)
560
574
  });
561
575
  })
562
576
  }),
@@ -589,57 +603,6 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
589
603
  })
590
604
  }),
591
605
  //
592
- // UseStaticSchema
593
- //
594
- OperationResolver.make({
595
- operation: SpaceOperation.UseStaticSchema,
596
- handler: Effect.fnUntraced(function* (input) {
597
- const db = input.db;
598
- const client = yield* Capability.get(ClientCapabilities.Client);
599
- const schema = yield* Effect.promise(() => client.graph.schemaRegistry.query({
600
- typename: input.typename,
601
- location: [
602
- "runtime"
603
- ]
604
- }).first());
605
- const space = client.spaces.get(db.spaceId);
606
- invariant(space, "Space not found", {
607
- F: __dxlog_file,
608
- L: 593,
609
- S: this,
610
- A: [
611
- "space",
612
- "'Space not found'"
613
- ]
614
- });
615
- Obj.change(space.properties, (p) => {
616
- if (!p.staticRecords) {
617
- p.staticRecords = [];
618
- }
619
- if (!p.staticRecords.includes(input.typename)) {
620
- p.staticRecords.push(input.typename);
621
- }
622
- });
623
- yield* Plugin.activate(SpaceEvents.SchemaAdded);
624
- const onSchemaAdded = yield* Capability.getAll(SpaceCapabilities.OnSchemaAdded);
625
- yield* Effect.all(onSchemaAdded.map((callback) => callback({
626
- db,
627
- schema,
628
- show: input.show
629
- })), {
630
- concurrency: "unbounded"
631
- });
632
- yield* Operation.schedule(ObservabilityOperation.SendEvent, {
633
- name: "space.schema.use",
634
- properties: {
635
- spaceId: space.id,
636
- typename: Type.getTypename(schema)
637
- }
638
- });
639
- return {};
640
- })
641
- }),
642
- //
643
606
  // AddSchema
644
607
  //
645
608
  OperationResolver.make({
@@ -713,7 +676,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
713
676
  const db = Obj.getDatabase(object);
714
677
  invariant(db, "Database not found.", {
715
678
  F: __dxlog_file,
716
- L: 692,
679
+ L: 662,
717
680
  S: this,
718
681
  A: [
719
682
  "db",
@@ -738,7 +701,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
738
701
  const db = Obj.getDatabase(view);
739
702
  invariant(db, void 0, {
740
703
  F: __dxlog_file,
741
- L: 707,
704
+ L: 677,
742
705
  S: this,
743
706
  A: [
744
707
  "db",
@@ -748,7 +711,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
748
711
  const typename = getTypenameFromQuery(view.query.ast);
749
712
  invariant(typename, void 0, {
750
713
  F: __dxlog_file,
751
- L: 709,
714
+ L: 679,
752
715
  S: this,
753
716
  A: [
754
717
  "typename",
@@ -760,7 +723,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
760
723
  }).firstOrUndefined());
761
724
  invariant(schema, void 0, {
762
725
  F: __dxlog_file,
763
- L: 711,
726
+ L: 681,
764
727
  S: this,
765
728
  A: [
766
729
  "schema",
@@ -793,7 +756,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
793
756
  const space = getSpace(objects[0]);
794
757
  invariant(space, void 0, {
795
758
  F: __dxlog_file,
796
- L: 739,
759
+ L: 709,
797
760
  S: this,
798
761
  A: [
799
762
  "space",
@@ -825,7 +788,20 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
825
788
  ])
826
789
  ];
827
790
  }));
791
+ var getSubjectPathForNewObject = (props) => {
792
+ const { nodeId, typename, viewTargetTypename, spaceId, objectId } = props;
793
+ if (typeof nodeId === "string") {
794
+ return `${nodeId}/${objectId}`;
795
+ }
796
+ if (typename === Collection.Collection.typename) {
797
+ return getCollectionsPath(spaceId, objectId);
798
+ }
799
+ if (viewTargetTypename) {
800
+ return getTypePath(spaceId, viewTargetTypename, objectId);
801
+ }
802
+ return getObjectPath(spaceId, typename, objectId);
803
+ };
828
804
  export {
829
805
  operation_resolver_default as default
830
806
  };
831
- //# sourceMappingURL=operation-resolver-Y3HYRXX7.mjs.map
807
+ //# sourceMappingURL=operation-resolver-D4LHB4D4.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/operation-resolver/operation-resolver.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { Capabilities, Capability, Plugin, UndoMapping } from '@dxos/app-framework';\nimport {\n AppCapabilities,\n LayoutOperation,\n getCollectionsPath,\n getObjectPath,\n getObjectPathFromObject,\n getTypePath,\n} from '@dxos/app-toolkit';\nimport { SpaceState, getSpace } from '@dxos/client/echo';\nimport { Database, Obj, Query, Ref, Relation, Type, View } from '@dxos/echo';\nimport { Collection } from '@dxos/echo';\nimport { EchoDatabaseImpl, Serializer } from '@dxos/echo-db';\nimport { invariant } from '@dxos/invariant';\nimport { Migrations } from '@dxos/migrations';\nimport { OperationResolver } from '@dxos/operation';\nimport { Operation } from '@dxos/operation';\nimport { ClientCapabilities } from '@dxos/plugin-client/types';\nimport { ObservabilityOperation } from '@dxos/plugin-observability/types';\nimport { ViewAnnotation } from '@dxos/schema';\nimport { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';\nimport { getSpacePath } from '@dxos/app-toolkit';\nimport { iconValues } from '@dxos/react-ui-pickers/icons';\nimport { CollectionModel, ProjectionModel, createEchoChangeCallback, getTypenameFromQuery } from '@dxos/schema';\nimport { hues } from '@dxos/ui-theme';\n\nimport {\n CREATE_OBJECT_DIALOG,\n CREATE_SPACE_DIALOG,\n JOIN_DIALOG,\n OBJECT_RENAME_POPOVER,\n SPACE_RENAME_POPOVER,\n} from '../../constants';\nimport { type JoinDialogProps } from '../../containers/JoinDialog';\nimport { meta } from '../../meta';\nimport { SpaceEvents } from '../../types';\nimport { SpaceCapabilities, SpaceOperation } from '../../types';\nimport { COMPOSER_SPACE_LOCK, cloneObject, getNestedObjects } from '../../util';\nimport { isNonNullable } from '@dxos/util';\n\ntype OperationResolverOptions = {\n createInvitationUrl: (invitationCode: string) => string;\n observability?: boolean;\n};\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* ({ createInvitationUrl, observability }: OperationResolverOptions) {\n const capabilityManager = yield* Capability.Service;\n\n const resolve = (typename: string) =>\n capabilityManager.getAll(AppCapabilities.Metadata).find(({ id }: { id: string }) => id === typename)?.metadata ??\n {};\n\n return [\n Capability.contributes(Capabilities.UndoMapping, [\n UndoMapping.make({\n operation: SpaceOperation.DeleteField,\n inverse: SpaceOperation.RestoreField,\n deriveContext: (input, output) => ({\n view: input.view,\n field: output.field,\n props: output.props,\n index: output.index,\n }),\n message: ['field deleted label', { ns: meta.id }],\n }),\n UndoMapping.make({\n operation: SpaceOperation.RemoveObjects,\n inverse: SpaceOperation.RestoreObjects,\n deriveContext: (_input, output) => ({\n objects: output.objects,\n parentCollection: output.parentCollection,\n indices: output.indices,\n nestedObjectsList: output.nestedObjectsList,\n wasActive: output.wasActive,\n }),\n message: (input, _output) => {\n const ns = Obj.getTypename(input.objects[0]);\n return ns && input.objects.length === 1\n ? ['object deleted label', { ns }]\n : ['objects deleted label', { ns: meta.id }];\n },\n }),\n ]),\n Capability.contributes(Capabilities.OperationResolver, [\n //\n // Open\n //\n OperationResolver.make({\n operation: SpaceOperation.Open,\n handler: (input) =>\n Effect.promise(async () => {\n await input.space.open();\n }),\n }),\n\n //\n // Close\n //\n OperationResolver.make({\n operation: SpaceOperation.Close,\n handler: (input) =>\n Effect.promise(async () => {\n await input.space.close();\n }),\n }),\n\n //\n // Join\n //\n OperationResolver.make({\n operation: SpaceOperation.Join,\n handler: Effect.fnUntraced(function* (input) {\n yield* Operation.invoke(LayoutOperation.UpdateDialog, {\n subject: JOIN_DIALOG,\n blockAlign: 'start',\n props: {\n initialInvitationCode: input.invitationCode,\n onDone: input.onDone,\n } satisfies Partial<JoinDialogProps>,\n });\n }),\n }),\n\n //\n // WaitForObject\n //\n OperationResolver.make({\n operation: SpaceOperation.WaitForObject,\n handler: Effect.fnUntraced(function* (input) {\n yield* Capabilities.updateAtomValue(SpaceCapabilities.EphemeralState, (current) => ({\n ...current,\n awaiting: input.id,\n }));\n }),\n }),\n\n //\n // OpenSettings\n //\n OperationResolver.make({\n operation: SpaceOperation.OpenSettings,\n handler: Effect.fnUntraced(function* (input) {\n yield* Operation.invoke(LayoutOperation.Open, {\n subject: [`${getSpacePath(input.space.id)}/settings`],\n workspace: getSpacePath(input.space.id),\n });\n }),\n }),\n\n //\n // RemoveObjects\n //\n OperationResolver.make({\n operation: SpaceOperation.RemoveObjects,\n handler: Effect.fnUntraced(function* (input) {\n const layout = yield* Capabilities.getAtomValue(AppCapabilities.Layout);\n const objects = input.objects as Obj.Unknown[];\n\n // All objects must be a member of the same space.\n const space = getSpace(objects[0]);\n invariant(space && objects.every((obj) => Obj.isObject(obj) && getSpace(obj) === space));\n\n const parentCollection: Collection.Collection =\n input.target ?? space.properties[Collection.Collection.typename]?.target;\n\n const nestedObjectsList = yield* Effect.promise(() =>\n Promise.all(objects.map((obj) => getNestedObjects(obj, resolve))),\n );\n\n // Capture indices before removal.\n const indices = objects.map((obj) =>\n Obj.instanceOf(Collection.Collection, parentCollection)\n ? parentCollection.objects.findIndex((ref) => ref.target === obj)\n : -1,\n );\n\n // Close objects that were open.\n const wasActive = objects\n .flatMap((obj, i) => [obj, ...nestedObjectsList[i]])\n .filter(Obj.isObject)\n .map((object) => layout.active.find((graphId) => graphId.endsWith(object.id)))\n .filter(isNonNullable);\n\n for (let i = 0; i < objects.length; i++) {\n const obj = objects[i];\n const nestedObjects = nestedObjectsList[i];\n\n // Remove from parent collection.\n const index = parentCollection.objects.findIndex((ref) => ref.target === obj);\n if (index !== -1) {\n Obj.change(parentCollection, (c) => {\n c.objects.splice(index, 1);\n });\n }\n\n // Delete nested objects.\n for (const nestedObject of nestedObjects) {\n if (Obj.isObject(nestedObject)) {\n Obj.getDatabase(nestedObject)?.remove(nestedObject);\n } else if (Relation.isRelation(nestedObject)) {\n const db = Obj.getDatabase(Relation.getSource(nestedObject));\n db?.remove(nestedObject);\n }\n }\n\n // Delete the object.\n const db = Obj.getDatabase(obj);\n db?.remove(obj);\n }\n\n if (wasActive.length > 0) {\n yield* Operation.invoke(LayoutOperation.Close, { subject: wasActive });\n }\n\n // Return data needed for undo.\n return {\n objects,\n parentCollection,\n indices,\n nestedObjectsList,\n wasActive,\n };\n }),\n }),\n\n //\n // DeleteField\n //\n OperationResolver.make({\n operation: SpaceOperation.DeleteField,\n handler: Effect.fnUntraced(function* (input) {\n const registry = yield* Capability.get(Capabilities.AtomRegistry);\n const view = input.view as any;\n const db = Obj.getDatabase(view);\n invariant(db);\n const typename = getTypenameFromQuery(view.query.ast);\n invariant(typename);\n const schema = yield* Effect.promise(() => db.schemaRegistry.query({ typename }).firstOrUndefined());\n invariant(schema);\n\n // Create projection with change callbacks that wrap in Obj.change().\n const projection = new ProjectionModel({\n registry,\n view,\n baseSchema: schema.jsonSchema,\n change: createEchoChangeCallback(view, schema),\n });\n\n const result = projection.deleteFieldProjection(input.fieldId);\n\n // Return data needed for undo.\n return {\n field: result.deleted.field,\n props: result.deleted.props,\n index: result.index,\n };\n }),\n }),\n\n //\n // OpenCreateObject\n //\n OperationResolver.make({\n operation: SpaceOperation.OpenCreateObject,\n handler: Effect.fnUntraced(function* (input) {\n const ephemeralState = yield* Capabilities.getAtomValue(SpaceCapabilities.EphemeralState);\n const navigable = input.navigable ?? true;\n yield* Operation.invoke(LayoutOperation.UpdateDialog, {\n subject: CREATE_OBJECT_DIALOG,\n blockAlign: 'start',\n props: {\n target: input.target,\n views: input.views,\n typename: input.typename,\n initialFormValues: input.initialFormValues,\n onCreateObject: input.onCreateObject,\n targetNodeId: input.targetNodeId,\n shouldNavigate: navigable\n ? (object: Obj.Unknown) => {\n const isCollection = Obj.instanceOf(Collection.Collection, object);\n return !isCollection || ephemeralState.navigableCollections;\n }\n : () => false,\n },\n });\n }),\n }),\n\n //\n // AddObject\n //\n OperationResolver.make({\n operation: SpaceOperation.AddObject,\n handler: Effect.fnUntraced(function* (input) {\n const target = input.target as any;\n const object = input.object as Obj.Unknown;\n const db = Database.isDatabase(target) ? target : Obj.getDatabase(target);\n invariant(db, 'Database not found.');\n\n yield* CollectionModel.add({\n object,\n target: Database.isDatabase(target) ? undefined : target,\n hidden: input.hidden,\n }).pipe(Effect.provide(Database.layer(db)));\n\n const typename = Obj.getTypename(object)!;\n yield* Operation.schedule(ObservabilityOperation.SendEvent, {\n name: 'space.object.add',\n properties: {\n spaceId: db.spaceId,\n objectId: object.id,\n typename: Obj.getTypename(object),\n },\n });\n\n const [schema] = db.schemaRegistry.query({ typename, location: ['runtime'] }).runSync();\n const isViewSchema = schema !== undefined && ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false));\n const view = isViewSchema\n ? yield* Effect.promise(() => (object as Obj.Any).view.load() as Promise<View.View>)\n : undefined;\n const viewTargetTypename = view ? getTypenameFromQuery(view.query.ast) : undefined;\n const subject = getSubjectPathForNewObject({\n spaceId: db.spaceId,\n objectId: object.id,\n nodeId: input.targetNodeId,\n typename,\n viewTargetTypename,\n });\n\n return {\n id: Obj.getDXN(object).toString(),\n subject: [subject],\n object,\n };\n }),\n }),\n\n //\n // Share\n //\n OperationResolver.make({\n operation: SpaceOperation.Share,\n handler: Effect.fnUntraced(function* (input) {\n const { space, type, authMethod, multiUse, target } = input;\n const invitation = space.share({ type, authMethod, multiUse, target });\n\n yield* Operation.schedule(ObservabilityOperation.SendEvent, {\n name: 'space.share',\n properties: {\n spaceId: space.id,\n },\n });\n\n return invitation;\n }),\n }),\n\n //\n // Lock\n // TODO(wittjosiah): This appears to be unused.\n //\n OperationResolver.make({\n operation: SpaceOperation.Lock,\n handler: Effect.fnUntraced(function* ({ space }) {\n Obj.change(space.properties, (p) => {\n p[COMPOSER_SPACE_LOCK] = true;\n });\n\n if (observability) {\n yield* Operation.schedule(ObservabilityOperation.SendEvent, {\n name: 'space.lock',\n properties: { spaceId: space.id },\n });\n }\n }),\n }),\n\n //\n // Unlock\n // TODO(wittjosiah): This appears to be unused.\n //\n OperationResolver.make({\n operation: SpaceOperation.Unlock,\n handler: Effect.fnUntraced(function* ({ space }) {\n Obj.change(space.properties, (p) => {\n p[COMPOSER_SPACE_LOCK] = false;\n });\n\n if (observability) {\n yield* Operation.schedule(ObservabilityOperation.SendEvent, {\n name: 'space.unlock',\n properties: { spaceId: space.id },\n });\n }\n }),\n }),\n\n //\n // OpenCreateSpace\n //\n OperationResolver.make({\n operation: SpaceOperation.OpenCreateSpace,\n handler: Effect.fnUntraced(function* () {\n yield* Operation.invoke(LayoutOperation.UpdateDialog, {\n subject: CREATE_SPACE_DIALOG,\n blockAlign: 'start',\n });\n }),\n }),\n\n //\n // Create\n //\n OperationResolver.make({\n operation: SpaceOperation.Create,\n handler: Effect.fnUntraced(function* ({ name, hue: hue_, icon: icon_, edgeReplication }) {\n const client = yield* Capability.get(ClientCapabilities.Client);\n const hue = hue_ ?? hues[Math.floor(Math.random() * hues.length)];\n const icon = icon_ ?? iconValues[Math.floor(Math.random() * iconValues.length)];\n const space = yield* Effect.promise(() => client.spaces.create({ name, hue, icon }));\n if (edgeReplication) {\n yield* Effect.promise(() => space.internal.setEdgeReplicationPreference(EdgeReplicationSetting.ENABLED));\n }\n yield* Effect.promise(() => space.waitUntilReady());\n\n // Create root collection.\n const collection = Obj.make(Collection.Collection, { objects: [] });\n Obj.change(space.properties, (p) => {\n p[Collection.Collection.typename] = Ref.make(collection);\n // Set current migration version.\n if (Migrations.versionProperty) {\n p[Migrations.versionProperty] = Migrations.targetVersion;\n }\n });\n\n // Allow other plugins to add default content.\n yield* Plugin.activate(SpaceEvents.SpaceCreated);\n const onCreateSpaceCallbacks = yield* Capability.getAll(SpaceCapabilities.OnCreateSpace);\n yield* Effect.all(\n onCreateSpaceCallbacks.map((onCreateSpace) =>\n onCreateSpace({ space, isDefault: false, rootCollection: collection }),\n ),\n );\n\n if (observability) {\n yield* Operation.schedule(ObservabilityOperation.SendEvent, {\n name: 'space.create',\n properties: { spaceId: space.id },\n });\n }\n\n return { id: space.id, subject: [space.id], space };\n }),\n }),\n\n //\n // Migrate\n //\n OperationResolver.make({\n operation: SpaceOperation.Migrate,\n handler: Effect.fnUntraced(function* (input) {\n const { space, version: targetVersion } = input;\n\n if (space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION) {\n yield* Capabilities.updateAtomValue(SpaceCapabilities.EphemeralState, (current) => ({\n ...current,\n sdkMigrationRunning: { ...current.sdkMigrationRunning, [space.id]: true },\n }));\n yield* Effect.promise(() => space.internal.migrate());\n yield* Capabilities.updateAtomValue(SpaceCapabilities.EphemeralState, (current) => ({\n ...current,\n sdkMigrationRunning: { ...current.sdkMigrationRunning, [space.id]: false },\n }));\n }\n const result = yield* Effect.promise(() => Migrations.migrate(space, targetVersion));\n\n yield* Operation.schedule(ObservabilityOperation.SendEvent, {\n name: 'space.migrate',\n properties: {\n spaceId: space.id,\n targetVersion,\n version: Migrations.versionProperty ? space.properties[Migrations.versionProperty] : undefined,\n },\n });\n\n return result;\n }),\n }),\n\n //\n // Snapshot\n //\n OperationResolver.make({\n operation: SpaceOperation.Snapshot,\n handler: (input) =>\n Effect.promise(async () => {\n const db = input.db as any;\n invariant(db instanceof EchoDatabaseImpl, 'Database must be an instance of EchoDatabaseImpl');\n const backup = await new Serializer().export(db, input.query && Query.fromAst(input.query));\n return {\n snapshot: new Blob([JSON.stringify(backup, null, 2)], { type: 'application/json' }),\n };\n }),\n }),\n\n //\n // Rename\n //\n OperationResolver.make({\n operation: SpaceOperation.Rename,\n handler: Effect.fnUntraced(function* (input) {\n yield* Operation.invoke(LayoutOperation.UpdatePopover, {\n subject: SPACE_RENAME_POPOVER,\n anchorId: input.caller ?? '',\n props: input.space,\n });\n }),\n }),\n\n //\n // RenameObject\n //\n OperationResolver.make({\n operation: SpaceOperation.RenameObject,\n handler: Effect.fnUntraced(function* (input) {\n const object = input.object as Obj.Unknown;\n yield* Operation.invoke(LayoutOperation.UpdatePopover, {\n subject: OBJECT_RENAME_POPOVER,\n anchorId: input.caller ?? '',\n props: object,\n });\n }),\n }),\n\n //\n // OpenMembers\n //\n OperationResolver.make({\n operation: SpaceOperation.OpenMembers,\n handler: Effect.fnUntraced(function* (input) {\n yield* Operation.invoke(LayoutOperation.Open, {\n subject: [`${getSpacePath(input.space.id)}/settings`],\n workspace: getSpacePath(input.space.id),\n });\n }),\n }),\n\n //\n // GetShareLink\n //\n OperationResolver.make({\n operation: SpaceOperation.GetShareLink,\n handler: Effect.fnUntraced(function* (input) {\n const { Invitation, InvitationEncoder } = yield* Effect.promise(\n () => import('@dxos/react-client/invitations'),\n );\n\n const invitation = yield* Operation.invoke(SpaceOperation.Share, {\n space: input.space,\n type: Invitation.Type.DELEGATED,\n authMethod: Invitation.AuthMethod.KNOWN_PUBLIC_KEY,\n multiUse: true,\n target: input.target,\n });\n\n // NOTE: Delegated invitations are invalid until the connecting state when keys are filled in.\n const invitationCode = yield* Effect.tryPromise(\n () =>\n new Promise<string>((resolve) => {\n invitation.subscribe((inv) => {\n if (inv.state === Invitation.State.CONNECTING) {\n resolve(InvitationEncoder.encode(inv));\n }\n });\n }),\n );\n const url = createInvitationUrl(invitationCode);\n if (input.copyToClipboard) {\n yield* Effect.tryPromise(() => navigator.clipboard.writeText(url));\n }\n return url;\n }),\n }),\n\n //\n // AddSchema\n //\n OperationResolver.make({\n operation: SpaceOperation.AddSchema,\n handler: Effect.fnUntraced(function* (input) {\n const db = input.db;\n const schemas = yield* Effect.promise(() => db.schemaRegistry.register([input.schema]));\n const schema = schemas[0];\n Obj.change(schema.persistentSchema, (s) => {\n if (input.name) {\n s.name = input.name;\n }\n if (input.typename) {\n s.typename = input.typename;\n }\n if (input.version) {\n s.version = input.version;\n }\n });\n\n yield* Plugin.activate(SpaceEvents.SchemaAdded);\n const onSchemaAdded = yield* Capability.getAll(SpaceCapabilities.OnSchemaAdded);\n yield* Effect.all(\n onSchemaAdded.map((callback) => callback({ db, schema, show: input.show })),\n { concurrency: 'unbounded' },\n );\n\n yield* Operation.schedule(ObservabilityOperation.SendEvent, {\n name: 'space.schema.add',\n properties: {\n spaceId: db.spaceId,\n objectId: schema.id,\n typename: schema.typename,\n },\n });\n\n return { id: schema.id, object: schema.persistentSchema, schema };\n }),\n }),\n\n //\n // AddRelation\n //\n OperationResolver.make({\n operation: SpaceOperation.AddRelation,\n handler: (input) =>\n Effect.sync(() => {\n const db = input.db as Database.Database;\n const relation = db.add(\n Relation.make(input.schema, {\n [Relation.Source]: input.source,\n [Relation.Target]: input.target,\n ...input.fields,\n }),\n );\n return { relation };\n }),\n }),\n\n //\n // DuplicateObject\n // TODO(wittjosiah): This appears to be unused.\n //\n OperationResolver.make({\n operation: SpaceOperation.DuplicateObject,\n handler: Effect.fnUntraced(function* (input) {\n const object = input.object as Obj.Unknown;\n const db = Obj.getDatabase(object);\n invariant(db, 'Database not found.');\n const newObject = yield* Effect.promise(() => cloneObject(object, resolve, db));\n yield* Operation.invoke(SpaceOperation.AddObject, { object: newObject, target: db });\n }),\n }),\n\n //\n // RestoreField (inverse of DeleteField)\n //\n OperationResolver.make({\n operation: SpaceOperation.RestoreField,\n handler: Effect.fnUntraced(function* (input) {\n const registry = yield* Capability.get(Capabilities.AtomRegistry);\n const view = input.view as any;\n const db = Obj.getDatabase(view);\n invariant(db);\n const typename = getTypenameFromQuery(view.query.ast);\n invariant(typename);\n const schema = yield* Effect.promise(() => db.schemaRegistry.query({ typename }).firstOrUndefined());\n invariant(schema);\n\n // Create projection with change callbacks that wrap in Obj.change().\n const projection = new ProjectionModel({\n registry,\n view,\n baseSchema: schema.jsonSchema,\n change: createEchoChangeCallback(view, schema),\n });\n\n projection.setFieldProjection({ field: input.field, props: input.props }, input.index);\n }),\n }),\n\n //\n // RestoreObjects (inverse of RemoveObjects)\n //\n OperationResolver.make({\n operation: SpaceOperation.RestoreObjects,\n handler: Effect.fnUntraced(function* (input) {\n const objects = input.objects as Obj.Unknown[];\n const parentCollection = input.parentCollection as Collection.Collection;\n const indices = input.indices as number[];\n const nestedObjectsList = input.nestedObjectsList as Obj.Unknown[][];\n const wasActive = input.wasActive as string[];\n\n // Get the space from the first object.\n const space = getSpace(objects[0]);\n invariant(space);\n\n // Restore objects to the space.\n const restoredObjects = objects.map((obj: Obj.Unknown) => space.db.add(obj));\n\n // Restore nested objects to the space.\n nestedObjectsList.flat().forEach((obj: Obj.Unknown) => {\n if (Obj.isObject(obj)) {\n space.db.add(obj);\n } else if (Relation.isRelation(obj)) {\n space.db.add(obj);\n }\n });\n\n // Restore objects to the parent collection at their original indices.\n Obj.change(parentCollection, (c) => {\n indices.forEach((index: number, i: number) => {\n if (index !== -1) {\n c.objects.splice(index, 0, Ref.make(restoredObjects[i] as Obj.Unknown));\n }\n });\n });\n\n // Re-open objects that were active.\n if (wasActive.length > 0) {\n yield* Operation.invoke(LayoutOperation.Open, { subject: wasActive });\n }\n }),\n }),\n ]),\n ];\n }),\n);\n\n/** Resolves the subject path where a newly added object should be opened in the graph. */\nconst getSubjectPathForNewObject = (props: {\n spaceId: string;\n objectId: string;\n nodeId?: string;\n typename: string;\n /** When set, the object is a view (e.g. Table) and should open under the type its query targets. */\n viewTargetTypename?: string;\n}): string => {\n const { nodeId, typename, viewTargetTypename, spaceId, objectId } = props;\n if (typeof nodeId === 'string') {\n return `${nodeId}/${objectId}`;\n }\n if (typename === Collection.Collection.typename) {\n return getCollectionsPath(spaceId, objectId);\n }\n if (viewTargetTypename) {\n return getTypePath(spaceId, viewTargetTypename, objectId);\n }\n return getObjectPath(spaceId, typename, objectId);\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAIA,YAAYA,YAAY;AACxB,YAAYC,YAAY;AAExB,SAASC,cAAcC,YAAYC,QAAQC,mBAAmB;AAC9D,SACEC,iBACAC,iBACAC,oBACAC,eAEAC,mBACK;AACP,SAASC,YAAYC,gBAAgB;AACrC,SAASC,UAAUC,KAAKC,OAAOC,KAAKC,gBAA4B;AAChE,SAASC,kBAAkB;AAC3B,SAASC,kBAAkBC,kBAAkB;AAC7C,SAASC,iBAAiB;AAC1B,SAASC,kBAAkB;AAC3B,SAASC,yBAAyB;AAClC,SAASC,iBAAiB;AAC1B,SAASC,0BAA0B;AACnC,SAASC,8BAA8B;AACvC,SAASC,sBAAsB;AAC/B,SAASC,8BAA8B;AACvC,SAASC,oBAAoB;AAC7B,SAASC,kBAAkB;AAC3B,SAASC,iBAAiBC,iBAAiBC,0BAA0BC,4BAA4B;AACjG,SAASC,YAAY;AAcrB,SAASC,qBAAqB;;AAO9B,IAAA,6BAAeC,WAAWC,WACjBC,kBAAW,WAAW,EAAEC,qBAAqBC,cAAa,GAA4B;AAC3F,QAAMC,oBAAoB,OAAOL,WAAWM;AAE5C,QAAMC,UAAU,CAACC,aACfH,kBAAkBI,OAAOC,gBAAgBC,QAAQ,EAAEC,KAAK,CAAC,EAAEC,GAAE,MAAuBA,OAAOL,QAAAA,GAAWM,YACtG,CAAC;AAEH,SAAO;IACLd,WAAWe,YAAYC,aAAaC,aAAa;MAC/CA,YAAYC,KAAK;QACfC,WAAWC,eAAeC;QAC1BC,SAASF,eAAeG;QACxBC,eAAe,CAACC,OAAOC,YAAY;UACjCC,MAAMF,MAAME;UACZC,OAAOF,OAAOE;UACdC,OAAOH,OAAOG;UACdC,OAAOJ,OAAOI;QAChB;QACAC,SAAS;UAAC;UAAuB;YAAEC,IAAIC,KAAKpB;UAAG;;MACjD,CAAA;MACAI,YAAYC,KAAK;QACfC,WAAWC,eAAec;QAC1BZ,SAASF,eAAee;QACxBX,eAAe,CAACY,QAAQV,YAAY;UAClCW,SAASX,OAAOW;UAChBC,kBAAkBZ,OAAOY;UACzBC,SAASb,OAAOa;UAChBC,mBAAmBd,OAAOc;UAC1BC,WAAWf,OAAOe;QACpB;QACAV,SAAS,CAACN,OAAOiB,YAAAA;AACf,gBAAMV,KAAKW,IAAIC,YAAYnB,MAAMY,QAAQ,CAAA,CAAE;AAC3C,iBAAOL,MAAMP,MAAMY,QAAQQ,WAAW,IAClC;YAAC;YAAwB;cAAEb;YAAG;cAC9B;YAAC;YAAyB;cAAEA,IAAIC,KAAKpB;YAAG;;QAC9C;MACF,CAAA;KACD;IACDb,WAAWe,YAAYC,aAAa8B,mBAAmB;;;;MAIrDA,kBAAkB5B,KAAK;QACrBC,WAAWC,eAAe2B;QAC1BC,SAAS,CAACvB,UACDwB,eAAQ,YAAA;AACb,gBAAMxB,MAAMyB,MAAMC,KAAI;QACxB,CAAA;MACJ,CAAA;;;;MAKAL,kBAAkB5B,KAAK;QACrBC,WAAWC,eAAegC;QAC1BJ,SAAS,CAACvB,UACDwB,eAAQ,YAAA;AACb,gBAAMxB,MAAMyB,MAAMG,MAAK;QACzB,CAAA;MACJ,CAAA;;;;MAKAP,kBAAkB5B,KAAK;QACrBC,WAAWC,eAAekC;QAC1BN,SAAgB9C,kBAAW,WAAWuB,OAAK;AACzC,iBAAO8B,UAAUC,OAAOC,gBAAgBC,cAAc;YACpDC,SAASC;YACTC,YAAY;YACZhC,OAAO;cACLiC,uBAAuBrC,MAAMsC;cAC7BC,QAAQvC,MAAMuC;YAChB;UACF,CAAA;QACF,CAAA;MACF,CAAA;;;;MAKAlB,kBAAkB5B,KAAK;QACrBC,WAAWC,eAAe6C;QAC1BjB,SAAgB9C,kBAAW,WAAWuB,OAAK;AACzC,iBAAOT,aAAakD,gBAAgBC,kBAAkBC,gBAAgB,CAACC,aAAa;YAClF,GAAGA;YACHC,UAAU7C,MAAMZ;UAClB,EAAA;QACF,CAAA;MACF,CAAA;;;;MAKAiC,kBAAkB5B,KAAK;QACrBC,WAAWC,eAAemD;QAC1BvB,SAAgB9C,kBAAW,WAAWuB,OAAK;AACzC,iBAAO8B,UAAUC,OAAOC,gBAAgBV,MAAM;YAC5CY,SAAS;cAAC,GAAGa,aAAa/C,MAAMyB,MAAMrC,EAAE,CAAA;;YACxC4D,WAAWD,aAAa/C,MAAMyB,MAAMrC,EAAE;UACxC,CAAA;QACF,CAAA;MACF,CAAA;;;;MAKAiC,kBAAkB5B,KAAK;QACrBC,WAAWC,eAAec;QAC1Bc,SAAgB9C,kBAAW,WAAWuB,OAAK;AACzC,gBAAMiD,SAAS,OAAO1D,aAAa2D,aAAajE,gBAAgBkE,MAAM;AACtE,gBAAMvC,UAAUZ,MAAMY;AAGtB,gBAAMa,QAAQ2B,SAASxC,QAAQ,CAAA,CAAE;AACjCyC,oBAAU5B,SAASb,QAAQ0C,MAAM,CAACC,QAAQrC,IAAIsC,SAASD,GAAAA,KAAQH,SAASG,GAAAA,MAAS9B,KAAAA,GAAAA,QAAAA;;;;;;;;;AAEjF,gBAAMZ,mBACJb,MAAMyD,UAAUhC,MAAMiC,WAAWC,WAAWA,WAAW5E,QAAQ,GAAG0E;AAEpE,gBAAM1C,oBAAoB,OAAcS,eAAQ,MAC9CoC,QAAQC,IAAIjD,QAAQkD,IAAI,CAACP,QAAQQ,iBAAiBR,KAAKzE,OAAAA,CAAAA,CAAAA,CAAAA;AAIzD,gBAAMgC,UAAUF,QAAQkD,IAAI,CAACP,QAC3BrC,IAAI8C,WAAWL,WAAWA,YAAY9C,gBAAAA,IAClCA,iBAAiBD,QAAQqD,UAAU,CAACC,QAAQA,IAAIT,WAAWF,GAAAA,IAC3D,EAAC;AAIP,gBAAMvC,YAAYJ,QACfuD,QAAQ,CAACZ,KAAKa,MAAM;YAACb;eAAQxC,kBAAkBqD,CAAAA;WAAG,EAClDC,OAAOnD,IAAIsC,QAAQ,EACnBM,IAAI,CAACQ,WAAWrB,OAAOsB,OAAOpF,KAAK,CAACqF,YAAYA,QAAQC,SAASH,OAAOlF,EAAE,CAAA,CAAA,EAC1EiF,OAAO/F,aAAAA;AAEV,mBAAS8F,IAAI,GAAGA,IAAIxD,QAAQQ,QAAQgD,KAAK;AACvC,kBAAMb,MAAM3C,QAAQwD,CAAAA;AACpB,kBAAMM,gBAAgB3D,kBAAkBqD,CAAAA;AAGxC,kBAAM/D,QAAQQ,iBAAiBD,QAAQqD,UAAU,CAACC,QAAQA,IAAIT,WAAWF,GAAAA;AACzE,gBAAIlD,UAAU,IAAI;AAChBa,kBAAIyD,OAAO9D,kBAAkB,CAAC+D,MAAAA;AAC5BA,kBAAEhE,QAAQiE,OAAOxE,OAAO,CAAA;cAC1B,CAAA;YACF;AAGA,uBAAWyE,gBAAgBJ,eAAe;AACxC,kBAAIxD,IAAIsC,SAASsB,YAAAA,GAAe;AAC9B5D,oBAAI6D,YAAYD,YAAAA,GAAeE,OAAOF,YAAAA;cACxC,WAAWG,SAASC,WAAWJ,YAAAA,GAAe;AAC5C,sBAAMK,MAAKjE,IAAI6D,YAAYE,SAASG,UAAUN,YAAAA,CAAAA;AAC9CK,gBAAAA,KAAIH,OAAOF,YAAAA;cACb;YACF;AAGA,kBAAMK,KAAKjE,IAAI6D,YAAYxB,GAAAA;AAC3B4B,gBAAIH,OAAOzB,GAAAA;UACb;AAEA,cAAIvC,UAAUI,SAAS,GAAG;AACxB,mBAAOU,UAAUC,OAAOC,gBAAgBL,OAAO;cAAEO,SAASlB;YAAU,CAAA;UACtE;AAGA,iBAAO;YACLJ;YACAC;YACAC;YACAC;YACAC;UACF;QACF,CAAA;MACF,CAAA;;;;MAKAK,kBAAkB5B,KAAK;QACrBC,WAAWC,eAAeC;QAC1B2B,SAAgB9C,kBAAW,WAAWuB,OAAK;AACzC,gBAAMqF,WAAW,OAAO9G,WAAW+G,IAAI/F,aAAagG,YAAY;AAChE,gBAAMrF,OAAOF,MAAME;AACnB,gBAAMiF,KAAKjE,IAAI6D,YAAY7E,IAAAA;AAC3BmD,oBAAU8B,IAAAA,QAAAA;;;;;;;;;AACV,gBAAMpG,WAAWyG,qBAAqBtF,KAAKuF,MAAMC,GAAG;AACpDrC,oBAAUtE,UAAAA,QAAAA;;;;;;;;;AACV,gBAAM4G,SAAS,OAAcnE,eAAQ,MAAM2D,GAAGS,eAAeH,MAAM;YAAE1G;UAAS,CAAA,EAAG8G,iBAAgB,CAAA;AACjGxC,oBAAUsC,QAAAA,QAAAA;;;;;;;;;AAGV,gBAAMG,aAAa,IAAIC,gBAAgB;YACrCV;YACAnF;YACA8F,YAAYL,OAAOM;YACnBtB,QAAQuB,yBAAyBhG,MAAMyF,MAAAA;UACzC,CAAA;AAEA,gBAAMQ,SAASL,WAAWM,sBAAsBpG,MAAMqG,OAAO;AAG7D,iBAAO;YACLlG,OAAOgG,OAAOG,QAAQnG;YACtBC,OAAO+F,OAAOG,QAAQlG;YACtBC,OAAO8F,OAAO9F;UAChB;QACF,CAAA;MACF,CAAA;;;;MAKAgB,kBAAkB5B,KAAK;QACrBC,WAAWC,eAAe4G;QAC1BhF,SAAgB9C,kBAAW,WAAWuB,OAAK;AACzC,gBAAMwG,iBAAiB,OAAOjH,aAAa2D,aAAaR,kBAAkBC,cAAc;AACxF,gBAAM8D,YAAYzG,MAAMyG,aAAa;AACrC,iBAAO3E,UAAUC,OAAOC,gBAAgBC,cAAc;YACpDC,SAASwE;YACTtE,YAAY;YACZhC,OAAO;cACLqD,QAAQzD,MAAMyD;cACdkD,OAAO3G,MAAM2G;cACb5H,UAAUiB,MAAMjB;cAChB6H,mBAAmB5G,MAAM4G;cACzBC,gBAAgB7G,MAAM6G;cACtBC,cAAc9G,MAAM8G;cACpBC,gBAAgBN,YACZ,CAACnC,WAAAA;AACC,sBAAM0C,eAAe9F,IAAI8C,WAAWL,WAAWA,YAAYW,MAAAA;AAC3D,uBAAO,CAAC0C,gBAAgBR,eAAeS;cACzC,IACA,MAAM;YACZ;UACF,CAAA;QACF,CAAA;MACF,CAAA;;;;MAKA5F,kBAAkB5B,KAAK;QACrBC,WAAWC,eAAeuH;QAC1B3F,SAAgB9C,kBAAW,WAAWuB,OAAK;AACzC,gBAAMyD,SAASzD,MAAMyD;AACrB,gBAAMa,SAAStE,MAAMsE;AACrB,gBAAMa,KAAKgC,SAASC,WAAW3D,MAAAA,IAAUA,SAASvC,IAAI6D,YAAYtB,MAAAA;AAClEJ,oBAAU8B,IAAI,uBAAA;;;;;;;;;AAEd,iBAAOkC,gBAAgBC,IAAI;YACzBhD;YACAb,QAAQ0D,SAASC,WAAW3D,MAAAA,IAAU8D,SAAY9D;YAClD+D,QAAQxH,MAAMwH;UAChB,CAAA,EAAGC,KAAYC,eAAQP,SAASQ,MAAMxC,EAAAA,CAAAA,CAAAA;AAEtC,gBAAMpG,WAAWmC,IAAIC,YAAYmD,MAAAA;AACjC,iBAAOxC,UAAU8F,SAASC,uBAAuBC,WAAW;YAC1DC,MAAM;YACNrE,YAAY;cACVsE,SAAS7C,GAAG6C;cACZC,UAAU3D,OAAOlF;cACjBL,UAAUmC,IAAIC,YAAYmD,MAAAA;YAC5B;UACF,CAAA;AAEA,gBAAM,CAACqB,MAAAA,IAAUR,GAAGS,eAAeH,MAAM;YAAE1G;YAAUmJ,UAAU;cAAC;;UAAW,CAAA,EAAGC,QAAO;AACrF,gBAAMC,eAAezC,WAAW4B,UAAac,eAAe/C,IAAIK,MAAAA,EAAQ8B,KAAYa,iBAAU,MAAM,KAAA,CAAA;AACpG,gBAAMpI,OAAOkI,eACT,OAAc5G,eAAQ,MAAO8C,OAAmBpE,KAAKqI,KAAI,CAAA,IACzDhB;AACJ,gBAAMiB,qBAAqBtI,OAAOsF,qBAAqBtF,KAAKuF,MAAMC,GAAG,IAAI6B;AACzE,gBAAMrF,UAAUuG,2BAA2B;YACzCT,SAAS7C,GAAG6C;YACZC,UAAU3D,OAAOlF;YACjBsJ,QAAQ1I,MAAM8G;YACd/H;YACAyJ;UACF,CAAA;AAEA,iBAAO;YACLpJ,IAAI8B,IAAIyH,OAAOrE,MAAAA,EAAQsE,SAAQ;YAC/B1G,SAAS;cAACA;;YACVoC;UACF;QACF,CAAA;MACF,CAAA;;;;MAKAjD,kBAAkB5B,KAAK;QACrBC,WAAWC,eAAekJ;QAC1BtH,SAAgB9C,kBAAW,WAAWuB,OAAK;AACzC,gBAAM,EAAEyB,OAAOqH,MAAMC,YAAYC,UAAUvF,OAAM,IAAKzD;AACtD,gBAAMiJ,aAAaxH,MAAMyH,MAAM;YAAEJ;YAAMC;YAAYC;YAAUvF;UAAO,CAAA;AAEpE,iBAAO3B,UAAU8F,SAASC,uBAAuBC,WAAW;YAC1DC,MAAM;YACNrE,YAAY;cACVsE,SAASvG,MAAMrC;YACjB;UACF,CAAA;AAEA,iBAAO6J;QACT,CAAA;MACF,CAAA;;;;;MAMA5H,kBAAkB5B,KAAK;QACrBC,WAAWC,eAAewJ;QAC1B5H,SAAgB9C,kBAAW,WAAW,EAAEgD,MAAK,GAAE;AAC7CP,cAAIyD,OAAOlD,MAAMiC,YAAY,CAAC0F,MAAAA;AAC5BA,cAAEC,mBAAAA,IAAuB;UAC3B,CAAA;AAEA,cAAI1K,eAAe;AACjB,mBAAOmD,UAAU8F,SAASC,uBAAuBC,WAAW;cAC1DC,MAAM;cACNrE,YAAY;gBAAEsE,SAASvG,MAAMrC;cAAG;YAClC,CAAA;UACF;QACF,CAAA;MACF,CAAA;;;;;MAMAiC,kBAAkB5B,KAAK;QACrBC,WAAWC,eAAe2J;QAC1B/H,SAAgB9C,kBAAW,WAAW,EAAEgD,MAAK,GAAE;AAC7CP,cAAIyD,OAAOlD,MAAMiC,YAAY,CAAC0F,MAAAA;AAC5BA,cAAEC,mBAAAA,IAAuB;UAC3B,CAAA;AAEA,cAAI1K,eAAe;AACjB,mBAAOmD,UAAU8F,SAASC,uBAAuBC,WAAW;cAC1DC,MAAM;cACNrE,YAAY;gBAAEsE,SAASvG,MAAMrC;cAAG;YAClC,CAAA;UACF;QACF,CAAA;MACF,CAAA;;;;MAKAiC,kBAAkB5B,KAAK;QACrBC,WAAWC,eAAe4J;QAC1BhI,SAAgB9C,kBAAW,aAAA;AACzB,iBAAOqD,UAAUC,OAAOC,gBAAgBC,cAAc;YACpDC,SAASsH;YACTpH,YAAY;UACd,CAAA;QACF,CAAA;MACF,CAAA;;;;MAKAf,kBAAkB5B,KAAK;QACrBC,WAAWC,eAAe8J;QAC1BlI,SAAgB9C,kBAAW,WAAW,EAAEsJ,MAAM2B,KAAKC,MAAMC,MAAMC,OAAOC,gBAAe,GAAE;AACrF,gBAAMC,SAAS,OAAOxL,WAAW+G,IAAI0E,mBAAmBC,MAAM;AAC9D,gBAAMP,MAAMC,QAAQO,KAAKC,KAAKC,MAAMD,KAAKE,OAAM,IAAKH,KAAK9I,MAAM,CAAA;AAC/D,gBAAMwI,OAAOC,SAASS,WAAWH,KAAKC,MAAMD,KAAKE,OAAM,IAAKC,WAAWlJ,MAAM,CAAA;AAC7E,gBAAMK,QAAQ,OAAcD,eAAQ,MAAMuI,OAAOQ,OAAOC,OAAO;YAAEzC;YAAM2B;YAAKE;UAAK,CAAA,CAAA;AACjF,cAAIE,iBAAiB;AACnB,mBAActI,eAAQ,MAAMC,MAAMgJ,SAASC,6BAA6BC,uBAAuBC,OAAO,CAAA;UACxG;AACA,iBAAcpJ,eAAQ,MAAMC,MAAMoJ,eAAc,CAAA;AAGhD,gBAAMC,aAAa5J,IAAIzB,KAAKkE,WAAWA,YAAY;YAAE/C,SAAS,CAAA;UAAG,CAAA;AACjEM,cAAIyD,OAAOlD,MAAMiC,YAAY,CAAC0F,MAAAA;AAC5BA,cAAEzF,WAAWA,WAAW5E,QAAQ,IAAIgM,IAAItL,KAAKqL,UAAAA;AAE7C,gBAAIE,WAAWC,iBAAiB;AAC9B7B,gBAAE4B,WAAWC,eAAe,IAAID,WAAWE;YAC7C;UACF,CAAA;AAGA,iBAAOC,OAAOC,SAASC,YAAYC,YAAY;AAC/C,gBAAMC,yBAAyB,OAAOhN,WAAWS,OAAO0D,kBAAkB8I,aAAa;AACvF,iBAAc3H,WACZ0H,uBAAuBzH,IAAI,CAAC2H,kBAC1BA,cAAc;YAAEhK;YAAOiK,WAAW;YAAOC,gBAAgBb;UAAW,CAAA,CAAA,CAAA;AAIxE,cAAInM,eAAe;AACjB,mBAAOmD,UAAU8F,SAASC,uBAAuBC,WAAW;cAC1DC,MAAM;cACNrE,YAAY;gBAAEsE,SAASvG,MAAMrC;cAAG;YAClC,CAAA;UACF;AAEA,iBAAO;YAAEA,IAAIqC,MAAMrC;YAAI8C,SAAS;cAACT,MAAMrC;;YAAKqC;UAAM;QACpD,CAAA;MACF,CAAA;;;;MAKAJ,kBAAkB5B,KAAK;QACrBC,WAAWC,eAAeiM;QAC1BrK,SAAgB9C,kBAAW,WAAWuB,OAAK;AACzC,gBAAM,EAAEyB,OAAOoK,SAASX,cAAa,IAAKlL;AAE1C,cAAIyB,MAAMqK,MAAMxG,IAAG,MAAOyG,WAAWC,0BAA0B;AAC7D,mBAAOzM,aAAakD,gBAAgBC,kBAAkBC,gBAAgB,CAACC,aAAa;cAClF,GAAGA;cACHqJ,qBAAqB;gBAAE,GAAGrJ,QAAQqJ;gBAAqB,CAACxK,MAAMrC,EAAE,GAAG;cAAK;YAC1E,EAAA;AACA,mBAAcoC,eAAQ,MAAMC,MAAMgJ,SAASyB,QAAO,CAAA;AAClD,mBAAO3M,aAAakD,gBAAgBC,kBAAkBC,gBAAgB,CAACC,aAAa;cAClF,GAAGA;cACHqJ,qBAAqB;gBAAE,GAAGrJ,QAAQqJ;gBAAqB,CAACxK,MAAMrC,EAAE,GAAG;cAAM;YAC3E,EAAA;UACF;AACA,gBAAM+G,SAAS,OAAc3E,eAAQ,MAAMwJ,WAAWkB,QAAQzK,OAAOyJ,aAAAA,CAAAA;AAErE,iBAAOpJ,UAAU8F,SAASC,uBAAuBC,WAAW;YAC1DC,MAAM;YACNrE,YAAY;cACVsE,SAASvG,MAAMrC;cACf8L;cACAW,SAASb,WAAWC,kBAAkBxJ,MAAMiC,WAAWsH,WAAWC,eAAe,IAAI1D;YACvF;UACF,CAAA;AAEA,iBAAOpB;QACT,CAAA;MACF,CAAA;;;;MAKA9E,kBAAkB5B,KAAK;QACrBC,WAAWC,eAAewM;QAC1B5K,SAAS,CAACvB,UACDwB,eAAQ,YAAA;AACb,gBAAM2D,KAAKnF,MAAMmF;AACjB9B,oBAAU8B,cAAciH,kBAAkB,oDAAA;;;;;;;;;AAC1C,gBAAMC,SAAS,MAAM,IAAIC,WAAAA,EAAaC,OAAOpH,IAAInF,MAAMyF,SAAS+G,MAAMC,QAAQzM,MAAMyF,KAAK,CAAA;AACzF,iBAAO;YACLiH,UAAU,IAAIC,KAAK;cAACC,KAAKC,UAAUR,QAAQ,MAAM,CAAA;eAAK;cAAEvD,MAAM;YAAmB,CAAA;UACnF;QACF,CAAA;MACJ,CAAA;;;;MAKAzH,kBAAkB5B,KAAK;QACrBC,WAAWC,eAAemN;QAC1BvL,SAAgB9C,kBAAW,WAAWuB,OAAK;AACzC,iBAAO8B,UAAUC,OAAOC,gBAAgB+K,eAAe;YACrD7K,SAAS8K;YACTC,UAAUjN,MAAMkN,UAAU;YAC1B9M,OAAOJ,MAAMyB;UACf,CAAA;QACF,CAAA;MACF,CAAA;;;;MAKAJ,kBAAkB5B,KAAK;QACrBC,WAAWC,eAAewN;QAC1B5L,SAAgB9C,kBAAW,WAAWuB,OAAK;AACzC,gBAAMsE,SAAStE,MAAMsE;AACrB,iBAAOxC,UAAUC,OAAOC,gBAAgB+K,eAAe;YACrD7K,SAASkL;YACTH,UAAUjN,MAAMkN,UAAU;YAC1B9M,OAAOkE;UACT,CAAA;QACF,CAAA;MACF,CAAA;;;;MAKAjD,kBAAkB5B,KAAK;QACrBC,WAAWC,eAAe0N;QAC1B9L,SAAgB9C,kBAAW,WAAWuB,OAAK;AACzC,iBAAO8B,UAAUC,OAAOC,gBAAgBV,MAAM;YAC5CY,SAAS;cAAC,GAAGa,aAAa/C,MAAMyB,MAAMrC,EAAE,CAAA;;YACxC4D,WAAWD,aAAa/C,MAAMyB,MAAMrC,EAAE;UACxC,CAAA;QACF,CAAA;MACF,CAAA;;;;MAKAiC,kBAAkB5B,KAAK;QACrBC,WAAWC,eAAe2N;QAC1B/L,SAAgB9C,kBAAW,WAAWuB,OAAK;AACzC,gBAAM,EAAEuN,YAAYC,kBAAiB,IAAK,OAAchM,eACtD,MAAM,OAAO,gCAAA,CAAA;AAGf,gBAAMyH,aAAa,OAAOnH,UAAUC,OAAOpC,eAAekJ,OAAO;YAC/DpH,OAAOzB,MAAMyB;YACbqH,MAAMyE,WAAWE,KAAKC;YACtB3E,YAAYwE,WAAWI,WAAWC;YAClC5E,UAAU;YACVvF,QAAQzD,MAAMyD;UAChB,CAAA;AAGA,gBAAMnB,iBAAiB,OAAcuL,kBACnC,MACE,IAAIjK,QAAgB,CAAC9E,aAAAA;AACnBmK,uBAAW6E,UAAU,CAACC,QAAAA;AACpB,kBAAIA,IAAIjC,UAAUyB,WAAWS,MAAMC,YAAY;AAC7CnP,gBAAAA,SAAQ0O,kBAAkBU,OAAOH,GAAAA,CAAAA;cACnC;YACF,CAAA;UACF,CAAA,CAAA;AAEJ,gBAAMI,MAAMzP,oBAAoB4D,cAAAA;AAChC,cAAItC,MAAMoO,iBAAiB;AACzB,mBAAcP,kBAAW,MAAMQ,UAAUC,UAAUC,UAAUJ,GAAAA,CAAAA;UAC/D;AACA,iBAAOA;QACT,CAAA;MACF,CAAA;;;;MAKA9M,kBAAkB5B,KAAK;QACrBC,WAAWC,eAAe6O;QAC1BjN,SAAgB9C,kBAAW,WAAWuB,OAAK;AACzC,gBAAMmF,KAAKnF,MAAMmF;AACjB,gBAAMsJ,UAAU,OAAcjN,eAAQ,MAAM2D,GAAGS,eAAe8I,SAAS;YAAC1O,MAAM2F;WAAO,CAAA;AACrF,gBAAMA,SAAS8I,QAAQ,CAAA;AACvBvN,cAAIyD,OAAOgB,OAAOgJ,kBAAkB,CAACC,MAAAA;AACnC,gBAAI5O,MAAM+H,MAAM;AACd6G,gBAAE7G,OAAO/H,MAAM+H;YACjB;AACA,gBAAI/H,MAAMjB,UAAU;AAClB6P,gBAAE7P,WAAWiB,MAAMjB;YACrB;AACA,gBAAIiB,MAAM6L,SAAS;AACjB+C,gBAAE/C,UAAU7L,MAAM6L;YACpB;UACF,CAAA;AAEA,iBAAOV,OAAOC,SAASC,YAAYwD,WAAW;AAC9C,gBAAMC,gBAAgB,OAAOvQ,WAAWS,OAAO0D,kBAAkBqM,aAAa;AAC9E,iBAAclL,WACZiL,cAAchL,IAAI,CAACkL,aAAaA,SAAS;YAAE7J;YAAIQ;YAAQsJ,MAAMjP,MAAMiP;UAAK,CAAA,CAAA,GACxE;YAAEC,aAAa;UAAY,CAAA;AAG7B,iBAAOpN,UAAU8F,SAASC,uBAAuBC,WAAW;YAC1DC,MAAM;YACNrE,YAAY;cACVsE,SAAS7C,GAAG6C;cACZC,UAAUtC,OAAOvG;cACjBL,UAAU4G,OAAO5G;YACnB;UACF,CAAA;AAEA,iBAAO;YAAEK,IAAIuG,OAAOvG;YAAIkF,QAAQqB,OAAOgJ;YAAkBhJ;UAAO;QAClE,CAAA;MACF,CAAA;;;;MAKAtE,kBAAkB5B,KAAK;QACrBC,WAAWC,eAAewP;QAC1B5N,SAAS,CAACvB,UACDoP,YAAK,MAAA;AACV,gBAAMjK,KAAKnF,MAAMmF;AACjB,gBAAMkK,WAAWlK,GAAGmC,IAClBrC,SAASxF,KAAKO,MAAM2F,QAAQ;YAC1B,CAACV,SAASqK,MAAM,GAAGtP,MAAMuP;YACzB,CAACtK,SAASuK,MAAM,GAAGxP,MAAMyD;YACzB,GAAGzD,MAAMyP;UACX,CAAA,CAAA;AAEF,iBAAO;YAAEJ;UAAS;QACpB,CAAA;MACJ,CAAA;;;;;MAMAhO,kBAAkB5B,KAAK;QACrBC,WAAWC,eAAe+P;QAC1BnO,SAAgB9C,kBAAW,WAAWuB,OAAK;AACzC,gBAAMsE,SAAStE,MAAMsE;AACrB,gBAAMa,KAAKjE,IAAI6D,YAAYT,MAAAA;AAC3BjB,oBAAU8B,IAAI,uBAAA;;;;;;;;;AACd,gBAAMwK,YAAY,OAAcnO,eAAQ,MAAMoO,YAAYtL,QAAQxF,SAASqG,EAAAA,CAAAA;AAC3E,iBAAOrD,UAAUC,OAAOpC,eAAeuH,WAAW;YAAE5C,QAAQqL;YAAWlM,QAAQ0B;UAAG,CAAA;QACpF,CAAA;MACF,CAAA;;;;MAKA9D,kBAAkB5B,KAAK;QACrBC,WAAWC,eAAeG;QAC1ByB,SAAgB9C,kBAAW,WAAWuB,OAAK;AACzC,gBAAMqF,WAAW,OAAO9G,WAAW+G,IAAI/F,aAAagG,YAAY;AAChE,gBAAMrF,OAAOF,MAAME;AACnB,gBAAMiF,KAAKjE,IAAI6D,YAAY7E,IAAAA;AAC3BmD,oBAAU8B,IAAAA,QAAAA;;;;;;;;;AACV,gBAAMpG,WAAWyG,qBAAqBtF,KAAKuF,MAAMC,GAAG;AACpDrC,oBAAUtE,UAAAA,QAAAA;;;;;;;;;AACV,gBAAM4G,SAAS,OAAcnE,eAAQ,MAAM2D,GAAGS,eAAeH,MAAM;YAAE1G;UAAS,CAAA,EAAG8G,iBAAgB,CAAA;AACjGxC,oBAAUsC,QAAAA,QAAAA;;;;;;;;;AAGV,gBAAMG,aAAa,IAAIC,gBAAgB;YACrCV;YACAnF;YACA8F,YAAYL,OAAOM;YACnBtB,QAAQuB,yBAAyBhG,MAAMyF,MAAAA;UACzC,CAAA;AAEAG,qBAAW+J,mBAAmB;YAAE1P,OAAOH,MAAMG;YAAOC,OAAOJ,MAAMI;UAAM,GAAGJ,MAAMK,KAAK;QACvF,CAAA;MACF,CAAA;;;;MAKAgB,kBAAkB5B,KAAK;QACrBC,WAAWC,eAAee;QAC1Ba,SAAgB9C,kBAAW,WAAWuB,OAAK;AACzC,gBAAMY,UAAUZ,MAAMY;AACtB,gBAAMC,mBAAmBb,MAAMa;AAC/B,gBAAMC,UAAUd,MAAMc;AACtB,gBAAMC,oBAAoBf,MAAMe;AAChC,gBAAMC,YAAYhB,MAAMgB;AAGxB,gBAAMS,QAAQ2B,SAASxC,QAAQ,CAAA,CAAE;AACjCyC,oBAAU5B,OAAAA,QAAAA;;;;;;;;;AAGV,gBAAMqO,kBAAkBlP,QAAQkD,IAAI,CAACP,QAAqB9B,MAAM0D,GAAGmC,IAAI/D,GAAAA,CAAAA;AAGvExC,4BAAkBgP,KAAI,EAAGC,QAAQ,CAACzM,QAAAA;AAChC,gBAAIrC,IAAIsC,SAASD,GAAAA,GAAM;AACrB9B,oBAAM0D,GAAGmC,IAAI/D,GAAAA;YACf,WAAW0B,SAASC,WAAW3B,GAAAA,GAAM;AACnC9B,oBAAM0D,GAAGmC,IAAI/D,GAAAA;YACf;UACF,CAAA;AAGArC,cAAIyD,OAAO9D,kBAAkB,CAAC+D,MAAAA;AAC5B9D,oBAAQkP,QAAQ,CAAC3P,OAAe+D,MAAAA;AAC9B,kBAAI/D,UAAU,IAAI;AAChBuE,kBAAEhE,QAAQiE,OAAOxE,OAAO,GAAG0K,IAAItL,KAAKqQ,gBAAgB1L,CAAAA,CAAE,CAAA;cACxD;YACF,CAAA;UACF,CAAA;AAGA,cAAIpD,UAAUI,SAAS,GAAG;AACxB,mBAAOU,UAAUC,OAAOC,gBAAgBV,MAAM;cAAEY,SAASlB;YAAU,CAAA;UACrE;QACF,CAAA;MACF,CAAA;KACD;;AAEL,CAAA,CAAA;AAIF,IAAMyH,6BAA6B,CAACrI,UAAAA;AAQlC,QAAM,EAAEsI,QAAQ3J,UAAUyJ,oBAAoBR,SAASC,SAAQ,IAAK7H;AACpE,MAAI,OAAOsI,WAAW,UAAU;AAC9B,WAAO,GAAGA,MAAAA,IAAUT,QAAAA;EACtB;AACA,MAAIlJ,aAAa4E,WAAWA,WAAW5E,UAAU;AAC/C,WAAOkR,mBAAmBjI,SAASC,QAAAA;EACrC;AACA,MAAIO,oBAAoB;AACtB,WAAO0H,YAAYlI,SAASQ,oBAAoBP,QAAAA;EAClD;AACA,SAAOkI,cAAcnI,SAASjJ,UAAUkJ,QAAAA;AAC1C;",
6
+ "names": ["Effect", "Option", "Capabilities", "Capability", "Plugin", "UndoMapping", "AppCapabilities", "LayoutOperation", "getCollectionsPath", "getObjectPath", "getTypePath", "SpaceState", "getSpace", "Database", "Obj", "Query", "Ref", "Relation", "Collection", "EchoDatabaseImpl", "Serializer", "invariant", "Migrations", "OperationResolver", "Operation", "ClientCapabilities", "ObservabilityOperation", "ViewAnnotation", "EdgeReplicationSetting", "getSpacePath", "iconValues", "CollectionModel", "ProjectionModel", "createEchoChangeCallback", "getTypenameFromQuery", "hues", "isNonNullable", "Capability", "makeModule", "fnUntraced", "createInvitationUrl", "observability", "capabilityManager", "Service", "resolve", "typename", "getAll", "AppCapabilities", "Metadata", "find", "id", "metadata", "contributes", "Capabilities", "UndoMapping", "make", "operation", "SpaceOperation", "DeleteField", "inverse", "RestoreField", "deriveContext", "input", "output", "view", "field", "props", "index", "message", "ns", "meta", "RemoveObjects", "RestoreObjects", "_input", "objects", "parentCollection", "indices", "nestedObjectsList", "wasActive", "_output", "Obj", "getTypename", "length", "OperationResolver", "Open", "handler", "promise", "space", "open", "Close", "close", "Join", "Operation", "invoke", "LayoutOperation", "UpdateDialog", "subject", "JOIN_DIALOG", "blockAlign", "initialInvitationCode", "invitationCode", "onDone", "WaitForObject", "updateAtomValue", "SpaceCapabilities", "EphemeralState", "current", "awaiting", "OpenSettings", "getSpacePath", "workspace", "layout", "getAtomValue", "Layout", "getSpace", "invariant", "every", "obj", "isObject", "target", "properties", "Collection", "Promise", "all", "map", "getNestedObjects", "instanceOf", "findIndex", "ref", "flatMap", "i", "filter", "object", "active", "graphId", "endsWith", "nestedObjects", "change", "c", "splice", "nestedObject", "getDatabase", "remove", "Relation", "isRelation", "db", "getSource", "registry", "get", "AtomRegistry", "getTypenameFromQuery", "query", "ast", "schema", "schemaRegistry", "firstOrUndefined", "projection", "ProjectionModel", "baseSchema", "jsonSchema", "createEchoChangeCallback", "result", "deleteFieldProjection", "fieldId", "deleted", "OpenCreateObject", "ephemeralState", "navigable", "CREATE_OBJECT_DIALOG", "views", "initialFormValues", "onCreateObject", "targetNodeId", "shouldNavigate", "isCollection", "navigableCollections", "AddObject", "Database", "isDatabase", "CollectionModel", "add", "undefined", "hidden", "pipe", "provide", "layer", "schedule", "ObservabilityOperation", "SendEvent", "name", "spaceId", "objectId", "location", "runSync", "isViewSchema", "ViewAnnotation", "getOrElse", "load", "viewTargetTypename", "getSubjectPathForNewObject", "nodeId", "getDXN", "toString", "Share", "type", "authMethod", "multiUse", "invitation", "share", "Lock", "p", "COMPOSER_SPACE_LOCK", "Unlock", "OpenCreateSpace", "CREATE_SPACE_DIALOG", "Create", "hue", "hue_", "icon", "icon_", "edgeReplication", "client", "ClientCapabilities", "Client", "hues", "Math", "floor", "random", "iconValues", "spaces", "create", "internal", "setEdgeReplicationPreference", "EdgeReplicationSetting", "ENABLED", "waitUntilReady", "collection", "Ref", "Migrations", "versionProperty", "targetVersion", "Plugin", "activate", "SpaceEvents", "SpaceCreated", "onCreateSpaceCallbacks", "OnCreateSpace", "onCreateSpace", "isDefault", "rootCollection", "Migrate", "version", "state", "SpaceState", "SPACE_REQUIRES_MIGRATION", "sdkMigrationRunning", "migrate", "Snapshot", "EchoDatabaseImpl", "backup", "Serializer", "export", "Query", "fromAst", "snapshot", "Blob", "JSON", "stringify", "Rename", "UpdatePopover", "SPACE_RENAME_POPOVER", "anchorId", "caller", "RenameObject", "OBJECT_RENAME_POPOVER", "OpenMembers", "GetShareLink", "Invitation", "InvitationEncoder", "Type", "DELEGATED", "AuthMethod", "KNOWN_PUBLIC_KEY", "tryPromise", "subscribe", "inv", "State", "CONNECTING", "encode", "url", "copyToClipboard", "navigator", "clipboard", "writeText", "AddSchema", "schemas", "register", "persistentSchema", "s", "SchemaAdded", "onSchemaAdded", "OnSchemaAdded", "callback", "show", "concurrency", "AddRelation", "sync", "relation", "Source", "source", "Target", "fields", "DuplicateObject", "newObject", "cloneObject", "setFieldProjection", "restoredObjects", "flat", "forEach", "getCollectionsPath", "getTypePath", "getObjectPath"]
7
+ }
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  AwaitingObject
3
- } from "./chunk-RWOK4F4G.mjs";
4
- import "./chunk-XIIYC7P5.mjs";
5
- import "./chunk-TPZUQ5DC.mjs";
3
+ } from "./chunk-2WHUSAHE.mjs";
4
+ import "./chunk-ICXESMDI.mjs";
5
+ import "./chunk-6OA75CWN.mjs";
6
6
  import {
7
7
  SpaceCapabilities
8
- } from "./chunk-USN5QKRV.mjs";
8
+ } from "./chunk-6IT5IBB5.mjs";
9
9
  import {
10
10
  meta
11
- } from "./chunk-HSMQFM57.mjs";
11
+ } from "./chunk-CBWGVOJE.mjs";
12
12
 
13
13
  // src/capabilities/react-root/react-root.tsx
14
14
  import * as Effect from "effect/Effect";
@@ -27,4 +27,4 @@ var react_root_default = Capability.makeModule(() => Effect.succeed(Capability.c
27
27
  export {
28
28
  react_root_default as default
29
29
  };
30
- //# sourceMappingURL=react-root-UYBW5RE7.mjs.map
30
+ //# sourceMappingURL=react-root-OD2HP63B.mjs.map