@dxos/plugin-space 0.8.4-main.69d29f4 → 0.8.4-main.6fa680abb7

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 (541) hide show
  1. package/dist/lib/browser/CollectionArticle-WPLUW5HF.mjs +111 -0
  2. package/dist/lib/browser/CollectionArticle-WPLUW5HF.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-M3NRXGWW.mjs +142 -0
  6. package/dist/lib/browser/CreateObjectDialog-M3NRXGWW.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-UYS2TMK6.mjs +64 -0
  18. package/dist/lib/browser/ObjectCardStack-UYS2TMK6.mjs.map +7 -0
  19. package/dist/lib/browser/ObjectDetails-B2BJLOK5.mjs +43 -0
  20. package/dist/lib/browser/ObjectDetails-B2BJLOK5.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-W57QE7QV.mjs → RecordArticle-BO2XHBFN.mjs} +23 -18
  24. package/dist/lib/browser/RecordArticle-BO2XHBFN.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-JSCSODPL.mjs +141 -0
  38. package/dist/lib/browser/SyncStatus-JSCSODPL.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-JORZZE3P.mjs +1203 -0
  42. package/dist/lib/browser/app-graph-builder-JORZZE3P.mjs.map +7 -0
  43. package/dist/lib/browser/{app-graph-serializer-7AT7QMSK.mjs → app-graph-serializer-UZWWGLGY.mjs} +11 -10
  44. package/dist/lib/browser/app-graph-serializer-UZWWGLGY.mjs.map +7 -0
  45. package/dist/lib/browser/chunk-3A3FUI2R.mjs +576 -0
  46. package/dist/lib/browser/chunk-3A3FUI2R.mjs.map +7 -0
  47. package/dist/lib/browser/{chunk-CCRSHECL.mjs → chunk-6IT5IBB5.mjs} +74 -105
  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-ZT2VPYRM.mjs → chunk-AUX3RRLY.mjs} +37 -12
  52. package/dist/lib/browser/chunk-AUX3RRLY.mjs.map +7 -0
  53. package/dist/lib/browser/{chunk-HSMQFM57.mjs → chunk-CBWGVOJE.mjs} +2 -2
  54. package/dist/lib/browser/{chunk-HSMQFM57.mjs.map → chunk-CBWGVOJE.mjs.map} +1 -1
  55. package/dist/lib/browser/{chunk-4WZUGLQQ.mjs → chunk-ICXESMDI.mjs} +13 -12
  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-ASV6DYFH.mjs.map → chunk-RJUOHI3B.mjs.map} +1 -1
  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-AWVAX26X.mjs → chunk-SSTUPFZ2.mjs} +3 -3
  62. package/dist/lib/browser/chunk-UYOJYBGW.mjs +168 -0
  63. package/dist/lib/browser/chunk-UYOJYBGW.mjs.map +7 -0
  64. package/dist/lib/browser/cli/index.mjs +34 -32
  65. package/dist/lib/browser/cli/index.mjs.map +3 -3
  66. package/dist/lib/browser/{identity-created-VCFYLSBB.mjs → identity-created-ETXNQYR6.mjs} +5 -5
  67. package/dist/lib/browser/identity-created-ETXNQYR6.mjs.map +7 -0
  68. package/dist/lib/browser/index.mjs +99 -155
  69. package/dist/lib/browser/index.mjs.map +3 -3
  70. package/dist/lib/browser/meta.json +1 -1
  71. package/dist/lib/browser/{operation-resolver-SIRQT36Z.mjs → operation-resolver-D4LHB4D4.mjs} +95 -115
  72. package/dist/lib/browser/operation-resolver-D4LHB4D4.mjs.map +7 -0
  73. package/dist/lib/browser/{react-root-PI7VTZUZ.mjs → react-root-ARQTOU44.mjs} +9 -9
  74. package/dist/lib/browser/react-root-ARQTOU44.mjs.map +7 -0
  75. package/dist/lib/browser/{react-surface-BPE7VWI7.mjs → react-surface-TO4KE77V.mjs} +97 -115
  76. package/dist/lib/browser/react-surface-TO4KE77V.mjs.map +7 -0
  77. package/dist/lib/browser/repair-NUVEV4AK.mjs +31 -0
  78. package/dist/lib/browser/repair-NUVEV4AK.mjs.map +7 -0
  79. package/dist/lib/browser/{settings-ZS2AQ73E.mjs → settings-RUDP2Q56.mjs} +6 -5
  80. package/dist/lib/browser/settings-RUDP2Q56.mjs.map +7 -0
  81. package/dist/lib/browser/{spaces-ready-OQDGWUOS.mjs → spaces-ready-B2GYL5IN.mjs} +15 -14
  82. package/dist/lib/browser/spaces-ready-B2GYL5IN.mjs.map +7 -0
  83. package/dist/lib/browser/{state-7YZQB2KY.mjs → state-I6JDZCDE.mjs} +8 -8
  84. package/dist/lib/browser/state-I6JDZCDE.mjs.map +7 -0
  85. package/dist/lib/browser/types/index.mjs +2 -2
  86. package/dist/lib/node-esm/CollectionArticle-JGVNBX66.mjs +112 -0
  87. package/dist/lib/node-esm/CollectionArticle-JGVNBX66.mjs.map +7 -0
  88. package/dist/lib/node-esm/CollectionSection-BI66Y34F.mjs +24 -0
  89. package/dist/lib/node-esm/CollectionSection-BI66Y34F.mjs.map +7 -0
  90. package/dist/lib/node-esm/CreateObjectDialog-GCAWIXTK.mjs +143 -0
  91. package/dist/lib/node-esm/CreateObjectDialog-GCAWIXTK.mjs.map +7 -0
  92. package/dist/lib/node-esm/CreateSpaceDialog-J47M5FPQ.mjs +65 -0
  93. package/dist/lib/node-esm/CreateSpaceDialog-J47M5FPQ.mjs.map +7 -0
  94. package/dist/lib/node-esm/InlineSyncStatus-BLD57LB5.mjs +54 -0
  95. package/dist/lib/node-esm/InlineSyncStatus-BLD57LB5.mjs.map +7 -0
  96. package/dist/lib/node-esm/JoinDialog-XCOYKSHA.mjs +116 -0
  97. package/dist/lib/node-esm/JoinDialog-XCOYKSHA.mjs.map +7 -0
  98. package/dist/lib/node-esm/MembersContainer-4PV3Z4BA.mjs +258 -0
  99. package/dist/lib/node-esm/MembersContainer-4PV3Z4BA.mjs.map +7 -0
  100. package/dist/lib/node-esm/MenuFooter-PXG2GV6A.mjs +38 -0
  101. package/dist/lib/node-esm/MenuFooter-PXG2GV6A.mjs.map +7 -0
  102. package/dist/lib/node-esm/ObjectCardStack-DXBIXQI3.mjs +65 -0
  103. package/dist/lib/node-esm/ObjectCardStack-DXBIXQI3.mjs.map +7 -0
  104. package/dist/lib/node-esm/ObjectDetails-F3JBIK5E.mjs +44 -0
  105. package/dist/lib/node-esm/ObjectDetails-F3JBIK5E.mjs.map +7 -0
  106. package/dist/lib/node-esm/ObjectRenamePopover-BRPKVNVF.mjs +71 -0
  107. package/dist/lib/node-esm/ObjectRenamePopover-BRPKVNVF.mjs.map +7 -0
  108. package/dist/lib/node-esm/{RecordArticle-SSV74Z46.mjs → RecordArticle-XUIT25PP.mjs} +23 -18
  109. package/dist/lib/node-esm/RecordArticle-XUIT25PP.mjs.map +7 -0
  110. package/dist/lib/node-esm/SchemaContainer-5G4R3Z6O.mjs +50 -0
  111. package/dist/lib/node-esm/SchemaContainer-5G4R3Z6O.mjs.map +7 -0
  112. package/dist/lib/node-esm/SmallPresenceLive-4K7RJS74.mjs +10 -0
  113. package/dist/lib/node-esm/SmallPresenceLive-4K7RJS74.mjs.map +7 -0
  114. package/dist/lib/node-esm/SpacePluginSettings-PENV4GHL.mjs +60 -0
  115. package/dist/lib/node-esm/SpacePluginSettings-PENV4GHL.mjs.map +7 -0
  116. package/dist/lib/node-esm/SpacePresence-H3VZWFJV.mjs +13 -0
  117. package/dist/lib/node-esm/SpacePresence-H3VZWFJV.mjs.map +7 -0
  118. package/dist/lib/node-esm/SpaceRenamePopover-XEMTI4PU.mjs +63 -0
  119. package/dist/lib/node-esm/SpaceRenamePopover-XEMTI4PU.mjs.map +7 -0
  120. package/dist/lib/node-esm/SpaceSettingsContainer-WI4D7RWA.mjs +243 -0
  121. package/dist/lib/node-esm/SpaceSettingsContainer-WI4D7RWA.mjs.map +7 -0
  122. package/dist/lib/node-esm/SyncStatus-TPCFGM4S.mjs +142 -0
  123. package/dist/lib/node-esm/SyncStatus-TPCFGM4S.mjs.map +7 -0
  124. package/dist/lib/node-esm/ViewEditor-CUQVNM2H.mjs +114 -0
  125. package/dist/lib/node-esm/ViewEditor-CUQVNM2H.mjs.map +7 -0
  126. package/dist/lib/node-esm/app-graph-builder-WTM6SSX7.mjs +1204 -0
  127. package/dist/lib/node-esm/app-graph-builder-WTM6SSX7.mjs.map +7 -0
  128. package/dist/lib/node-esm/{app-graph-serializer-WJ2TIQG6.mjs → app-graph-serializer-RT2RQTV2.mjs} +11 -10
  129. package/dist/lib/node-esm/app-graph-serializer-RT2RQTV2.mjs.map +7 -0
  130. package/dist/lib/node-esm/chunk-2KM3ZHSP.mjs +577 -0
  131. package/dist/lib/node-esm/chunk-2KM3ZHSP.mjs.map +7 -0
  132. package/dist/lib/node-esm/{chunk-JOBIWCBC.mjs → chunk-2OLR2ZKH.mjs} +13 -12
  133. package/dist/lib/node-esm/chunk-2OLR2ZKH.mjs.map +7 -0
  134. package/dist/lib/node-esm/chunk-5KTTTTEX.mjs +20 -0
  135. package/dist/lib/node-esm/{chunk-CVXULIYC.mjs.map → chunk-5KTTTTEX.mjs.map} +1 -1
  136. package/dist/lib/node-esm/{chunk-SL4BJSUG.mjs → chunk-63N5JJXI.mjs} +2 -2
  137. package/dist/lib/node-esm/{chunk-SL4BJSUG.mjs.map → chunk-63N5JJXI.mjs.map} +1 -1
  138. package/dist/lib/node-esm/chunk-EDC2RUJU.mjs +169 -0
  139. package/dist/lib/node-esm/chunk-EDC2RUJU.mjs.map +7 -0
  140. package/dist/lib/node-esm/{chunk-MPL6NHQX.mjs → chunk-EVNSLSQS.mjs} +74 -105
  141. package/dist/lib/node-esm/chunk-EVNSLSQS.mjs.map +7 -0
  142. package/dist/lib/node-esm/chunk-GEGWQVZX.mjs +78 -0
  143. package/dist/lib/node-esm/chunk-GEGWQVZX.mjs.map +7 -0
  144. package/dist/lib/node-esm/chunk-IV7VKVGC.mjs +117 -0
  145. package/dist/lib/node-esm/chunk-IV7VKVGC.mjs.map +7 -0
  146. package/dist/lib/node-esm/{chunk-2SW6S2BB.mjs → chunk-RYQQXNI7.mjs} +37 -12
  147. package/dist/lib/node-esm/chunk-RYQQXNI7.mjs.map +7 -0
  148. package/dist/lib/node-esm/{chunk-HREWB23G.mjs → chunk-XYLDAH5C.mjs} +3 -3
  149. package/dist/lib/node-esm/cli/index.mjs +34 -32
  150. package/dist/lib/node-esm/cli/index.mjs.map +3 -3
  151. package/dist/lib/node-esm/{identity-created-2SJABVJD.mjs → identity-created-U5LGULVL.mjs} +5 -5
  152. package/dist/lib/node-esm/identity-created-U5LGULVL.mjs.map +7 -0
  153. package/dist/lib/node-esm/index.mjs +99 -155
  154. package/dist/lib/node-esm/index.mjs.map +3 -3
  155. package/dist/lib/node-esm/meta.json +1 -1
  156. package/dist/lib/node-esm/{operation-resolver-ZE3XJL5J.mjs → operation-resolver-IL2AHNPN.mjs} +95 -115
  157. package/dist/lib/node-esm/operation-resolver-IL2AHNPN.mjs.map +7 -0
  158. package/dist/lib/node-esm/{react-root-KUXM33JI.mjs → react-root-ZGMTYSXL.mjs} +9 -9
  159. package/dist/lib/node-esm/react-root-ZGMTYSXL.mjs.map +7 -0
  160. package/dist/lib/node-esm/{react-surface-STCQKUZ4.mjs → react-surface-LK26ZXWC.mjs} +97 -115
  161. package/dist/lib/node-esm/react-surface-LK26ZXWC.mjs.map +7 -0
  162. package/dist/lib/node-esm/{repair-G3ZW3VG3.mjs → repair-LRZHFPSJ.mjs} +6 -25
  163. package/dist/lib/node-esm/repair-LRZHFPSJ.mjs.map +7 -0
  164. package/dist/lib/node-esm/{settings-PVI2VG56.mjs → settings-3EKSEAAG.mjs} +6 -5
  165. package/dist/lib/node-esm/settings-3EKSEAAG.mjs.map +7 -0
  166. package/dist/lib/node-esm/{spaces-ready-R744OHQG.mjs → spaces-ready-QK3EHBOS.mjs} +15 -14
  167. package/dist/lib/node-esm/spaces-ready-QK3EHBOS.mjs.map +7 -0
  168. package/dist/lib/node-esm/{state-XE5YGPHM.mjs → state-W36RRYUO.mjs} +8 -8
  169. package/dist/lib/node-esm/state-W36RRYUO.mjs.map +7 -0
  170. package/dist/lib/node-esm/types/index.mjs +2 -2
  171. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  172. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +2 -2
  173. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -1
  174. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts +33 -0
  175. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts.map +1 -0
  176. package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts +19 -0
  177. package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts.map +1 -0
  178. package/dist/types/src/capabilities/app-graph-builder/extensions/index.d.ts +6 -0
  179. package/dist/types/src/capabilities/app-graph-builder/extensions/index.d.ts.map +1 -0
  180. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts +12 -0
  181. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts.map +1 -0
  182. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts +57 -0
  183. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts.map +1 -0
  184. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.test.d.ts +2 -0
  185. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.test.d.ts.map +1 -0
  186. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts +24 -0
  187. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts.map +1 -0
  188. package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts +38 -0
  189. package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts.map +1 -0
  190. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +1 -1
  191. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -1
  192. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts +2 -2
  193. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts.map +1 -1
  194. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts +1 -1
  195. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts.map +1 -1
  196. package/dist/types/src/capabilities/identity-created/identity-created.d.ts +1 -1
  197. package/dist/types/src/capabilities/operation-resolver/index.d.ts +1 -1
  198. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -1
  199. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +2 -2
  200. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
  201. package/dist/types/src/capabilities/react-root/react-root.d.ts +1 -1
  202. package/dist/types/src/capabilities/react-root/react-root.d.ts.map +1 -1
  203. package/dist/types/src/capabilities/react-surface/index.d.ts +1 -1
  204. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -1
  205. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +2 -2
  206. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
  207. package/dist/types/src/capabilities/repair/repair.d.ts +1 -1
  208. package/dist/types/src/capabilities/repair/repair.d.ts.map +1 -1
  209. package/dist/types/src/capabilities/settings/index.d.ts +1 -1
  210. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -1
  211. package/dist/types/src/capabilities/settings/settings.d.ts +4 -3
  212. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -1
  213. package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts +1 -1
  214. package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts.map +1 -1
  215. package/dist/types/src/capabilities/state/state.d.ts +1 -1
  216. package/dist/types/src/capabilities/state/state.d.ts.map +1 -1
  217. package/dist/types/src/cli/commands/database/add.d.ts +0 -1
  218. package/dist/types/src/cli/commands/database/add.d.ts.map +1 -1
  219. package/dist/types/src/cli/plugin.d.ts.map +1 -1
  220. package/dist/types/src/components/AwaitingObject/AwaitingObject.d.ts.map +1 -0
  221. package/dist/types/src/components/AwaitingObject/index.d.ts +2 -0
  222. package/dist/types/src/components/AwaitingObject/index.d.ts.map +1 -0
  223. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +12 -5
  224. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  225. package/dist/types/src/components/CreateDialog/index.d.ts +1 -2
  226. package/dist/types/src/components/CreateDialog/index.d.ts.map +1 -1
  227. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.d.ts.map +1 -1
  228. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.stories.d.ts +68 -14
  229. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.stories.d.ts.map +1 -1
  230. package/dist/types/src/components/ObjectDetails/index.d.ts +2 -2
  231. package/dist/types/src/components/ObjectDetails/index.d.ts.map +1 -1
  232. package/dist/types/src/components/ObjectForm/ObjectForm.d.ts.map +1 -0
  233. package/dist/types/src/components/ObjectForm/index.d.ts +2 -0
  234. package/dist/types/src/components/ObjectForm/index.d.ts.map +1 -0
  235. package/dist/types/src/components/SyncStatus/index.d.ts +2 -2
  236. package/dist/types/src/components/SyncStatus/index.d.ts.map +1 -1
  237. package/dist/types/src/components/index.d.ts +2 -23
  238. package/dist/types/src/components/index.d.ts.map +1 -1
  239. package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts +8 -0
  240. package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts.map +1 -0
  241. package/dist/types/src/containers/CollectionArticle/index.d.ts +3 -0
  242. package/dist/types/src/containers/CollectionArticle/index.d.ts.map +1 -0
  243. package/dist/types/src/containers/CollectionSection/CollectionSection.d.ts +5 -0
  244. package/dist/types/src/containers/CollectionSection/CollectionSection.d.ts.map +1 -0
  245. package/dist/types/src/containers/CollectionSection/index.d.ts +3 -0
  246. package/dist/types/src/containers/CollectionSection/index.d.ts.map +1 -0
  247. package/dist/types/src/{components/CreateDialog → containers/CreateObjectDialog}/CreateObjectDialog.d.ts +5 -3
  248. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts.map +1 -0
  249. package/dist/types/src/containers/CreateObjectDialog/index.d.ts +3 -0
  250. package/dist/types/src/containers/CreateObjectDialog/index.d.ts.map +1 -0
  251. package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.d.ts.map +1 -0
  252. package/dist/types/src/containers/CreateSpaceDialog/index.d.ts +3 -0
  253. package/dist/types/src/containers/CreateSpaceDialog/index.d.ts.map +1 -0
  254. package/dist/types/src/containers/InlineSyncStatus/InlineSyncStatus.d.ts.map +1 -0
  255. package/dist/types/src/containers/InlineSyncStatus/index.d.ts +3 -0
  256. package/dist/types/src/containers/InlineSyncStatus/index.d.ts.map +1 -0
  257. package/dist/types/src/{components → containers}/JoinDialog/JoinDialog.d.ts.map +1 -1
  258. package/dist/types/src/containers/JoinDialog/index.d.ts +3 -0
  259. package/dist/types/src/containers/JoinDialog/index.d.ts.map +1 -0
  260. package/dist/types/src/{components → containers}/MembersContainer/MembersContainer.d.ts.map +1 -1
  261. package/dist/types/src/containers/MembersContainer/index.d.ts +3 -0
  262. package/dist/types/src/containers/MembersContainer/index.d.ts.map +1 -0
  263. package/dist/types/src/containers/MenuFooter/MenuFooter.d.ts.map +1 -0
  264. package/dist/types/src/containers/MenuFooter/index.d.ts +3 -0
  265. package/dist/types/src/containers/MenuFooter/index.d.ts.map +1 -0
  266. package/dist/types/src/{components → containers}/ObjectCardStack/ObjectCardStack.d.ts +4 -1
  267. package/dist/types/src/containers/ObjectCardStack/ObjectCardStack.d.ts.map +1 -0
  268. package/dist/types/src/{components → containers}/ObjectCardStack/index.d.ts.map +1 -1
  269. package/dist/types/src/{components → containers}/ObjectDetails/ObjectDetails.d.ts +2 -1
  270. package/dist/types/src/containers/ObjectDetails/ObjectDetails.d.ts.map +1 -0
  271. package/dist/types/src/containers/ObjectDetails/index.d.ts +3 -0
  272. package/dist/types/src/containers/ObjectDetails/index.d.ts.map +1 -0
  273. package/dist/types/src/{components → containers}/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -1
  274. package/dist/types/src/containers/ObjectRenamePopover/index.d.ts +3 -0
  275. package/dist/types/src/containers/ObjectRenamePopover/index.d.ts.map +1 -0
  276. package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts +4 -0
  277. package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts.map +1 -0
  278. package/dist/types/src/containers/RecordArticle/index.d.ts +3 -0
  279. package/dist/types/src/containers/RecordArticle/index.d.ts.map +1 -0
  280. package/dist/types/src/containers/SchemaContainer/SchemaContainer.d.ts.map +1 -0
  281. package/dist/types/src/containers/SchemaContainer/index.d.ts +3 -0
  282. package/dist/types/src/containers/SchemaContainer/index.d.ts.map +1 -0
  283. package/dist/types/src/containers/SmallPresenceLive/index.d.ts +2 -0
  284. package/dist/types/src/containers/SmallPresenceLive/index.d.ts.map +1 -0
  285. package/dist/types/src/{components → containers/SpacePluginSettings}/SpacePluginSettings.d.ts +1 -1
  286. package/dist/types/src/containers/SpacePluginSettings/SpacePluginSettings.d.ts.map +1 -0
  287. package/dist/types/src/containers/SpacePluginSettings/index.d.ts +3 -0
  288. package/dist/types/src/containers/SpacePluginSettings/index.d.ts.map +1 -0
  289. package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.d.ts.map +1 -1
  290. package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.stories.d.ts +67 -13
  291. package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.stories.d.ts.map +1 -1
  292. package/dist/types/src/containers/SpacePresence/index.d.ts +3 -0
  293. package/dist/types/src/containers/SpacePresence/index.d.ts.map +1 -0
  294. package/dist/types/src/{components → containers}/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -1
  295. package/dist/types/src/containers/SpaceRenamePopover/index.d.ts +3 -0
  296. package/dist/types/src/containers/SpaceRenamePopover/index.d.ts.map +1 -0
  297. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts +10 -0
  298. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts.map +1 -0
  299. package/dist/types/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.stories.d.ts +71 -14
  300. package/dist/types/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.stories.d.ts.map +1 -1
  301. package/dist/types/src/containers/SpaceSettingsContainer/index.d.ts +3 -0
  302. package/dist/types/src/containers/SpaceSettingsContainer/index.d.ts.map +1 -0
  303. package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.d.ts.map +1 -1
  304. package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.stories.d.ts +67 -13
  305. package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  306. package/dist/types/src/containers/SyncStatus/index.d.ts +3 -0
  307. package/dist/types/src/containers/SyncStatus/index.d.ts.map +1 -0
  308. package/dist/types/src/{components → containers/ViewEditor}/ViewEditor.d.ts +1 -1
  309. package/dist/types/src/containers/ViewEditor/ViewEditor.d.ts.map +1 -0
  310. package/dist/types/src/containers/ViewEditor/index.d.ts +3 -0
  311. package/dist/types/src/containers/ViewEditor/index.d.ts.map +1 -0
  312. package/dist/types/src/containers/index.d.ts +23 -0
  313. package/dist/types/src/containers/index.d.ts.map +1 -0
  314. package/dist/types/src/helpers/query.d.ts.map +1 -1
  315. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  316. package/dist/types/src/index.d.ts +1 -1
  317. package/dist/types/src/index.d.ts.map +1 -1
  318. package/dist/types/src/translations.d.ts +67 -13
  319. package/dist/types/src/translations.d.ts.map +1 -1
  320. package/dist/types/src/types/capabilities.d.ts +1 -1
  321. package/dist/types/src/types/capabilities.d.ts.map +1 -1
  322. package/dist/types/src/types/events.d.ts.map +1 -1
  323. package/dist/types/src/types/form.d.ts +0 -2
  324. package/dist/types/src/types/form.d.ts.map +1 -1
  325. package/dist/types/src/types/types.d.ts +63 -124
  326. package/dist/types/src/types/types.d.ts.map +1 -1
  327. package/dist/types/src/util.d.ts +6 -121
  328. package/dist/types/src/util.d.ts.map +1 -1
  329. package/dist/types/tsconfig.tsbuildinfo +1 -1
  330. package/package.json +67 -66
  331. package/src/SpacePlugin.ts +75 -63
  332. package/src/capabilities/app-graph-builder/app-graph-builder.ts +17 -602
  333. package/src/capabilities/app-graph-builder/extensions/collections.ts +351 -0
  334. package/src/capabilities/app-graph-builder/extensions/companions.ts +80 -0
  335. package/src/capabilities/app-graph-builder/extensions/index.ts +9 -0
  336. package/src/capabilities/app-graph-builder/extensions/settings.ts +60 -0
  337. package/src/capabilities/app-graph-builder/extensions/shared.test.ts +112 -0
  338. package/src/capabilities/app-graph-builder/extensions/shared.ts +171 -0
  339. package/src/capabilities/app-graph-builder/extensions/spaces.ts +338 -0
  340. package/src/capabilities/app-graph-builder/extensions/types.ts +421 -0
  341. package/src/capabilities/app-graph-serializer/app-graph-serializer.ts +6 -5
  342. package/src/capabilities/identity-created/identity-created.ts +4 -4
  343. package/src/capabilities/operation-resolver/operation-resolver.ts +97 -94
  344. package/src/capabilities/react-root/react-root.tsx +3 -3
  345. package/src/capabilities/react-surface/react-surface.tsx +78 -98
  346. package/src/capabilities/repair/repair.ts +3 -28
  347. package/src/capabilities/settings/settings.ts +3 -2
  348. package/src/capabilities/spaces-ready/spaces-ready.ts +8 -7
  349. package/src/capabilities/state/state.ts +7 -5
  350. package/src/cli/commands/database/add.ts +8 -10
  351. package/src/cli/commands/database/query/query.ts +1 -1
  352. package/src/cli/commands/database/remove.ts +2 -2
  353. package/src/cli/commands/database/stats.ts +1 -1
  354. package/src/cli/plugin.ts +34 -27
  355. package/src/components/{AwaitingObject.tsx → AwaitingObject/AwaitingObject.tsx} +6 -5
  356. package/src/components/AwaitingObject/index.ts +5 -0
  357. package/src/components/CreateDialog/CreateObjectPanel.tsx +86 -111
  358. package/src/components/CreateDialog/index.ts +1 -2
  359. package/src/components/ObjectDetails/BaseObjectSettings.stories.tsx +10 -10
  360. package/src/components/ObjectDetails/BaseObjectSettings.tsx +5 -5
  361. package/src/components/ObjectDetails/ForeignKeys.tsx +1 -1
  362. package/src/components/ObjectDetails/index.ts +2 -3
  363. package/src/components/{ObjectCardStack → ObjectForm}/ObjectForm.tsx +4 -4
  364. package/src/components/{JoinDialog → ObjectForm}/index.ts +1 -1
  365. package/src/components/SyncStatus/index.ts +2 -2
  366. package/src/components/index.ts +2 -18
  367. package/src/constants.ts +5 -5
  368. package/src/containers/CollectionArticle/CollectionArticle.tsx +133 -0
  369. package/src/containers/CollectionArticle/index.ts +7 -0
  370. package/src/{components → containers/CollectionSection}/CollectionSection.tsx +4 -4
  371. package/src/containers/CollectionSection/index.ts +7 -0
  372. package/src/{components/CreateDialog → containers/CreateObjectDialog}/CreateObjectDialog.tsx +62 -42
  373. package/src/containers/CreateObjectDialog/index.ts +6 -0
  374. package/src/{components/CreateDialog → containers/CreateSpaceDialog}/CreateSpaceDialog.tsx +6 -6
  375. package/src/containers/CreateSpaceDialog/index.ts +7 -0
  376. package/src/{components/SyncStatus → containers/InlineSyncStatus}/InlineSyncStatus.tsx +8 -19
  377. package/src/containers/InlineSyncStatus/index.ts +7 -0
  378. package/src/{components → containers}/JoinDialog/JoinDialog.tsx +10 -9
  379. package/src/containers/JoinDialog/index.ts +6 -0
  380. package/src/{components → containers}/MembersContainer/MembersContainer.tsx +50 -53
  381. package/src/containers/MembersContainer/index.ts +7 -0
  382. package/src/{components → containers/MenuFooter}/MenuFooter.tsx +5 -5
  383. package/src/containers/MenuFooter/index.ts +7 -0
  384. package/src/containers/ObjectCardStack/ObjectCardStack.tsx +82 -0
  385. package/src/containers/ObjectDetails/ObjectDetails.tsx +36 -0
  386. package/src/containers/ObjectDetails/index.ts +7 -0
  387. package/src/{components → containers}/ObjectRenamePopover/ObjectRenamePopover.tsx +4 -4
  388. package/src/containers/ObjectRenamePopover/index.ts +7 -0
  389. package/src/{components → containers/RecordArticle}/RecordArticle.tsx +29 -27
  390. package/src/containers/RecordArticle/index.ts +7 -0
  391. package/src/{components → containers/SchemaContainer}/SchemaContainer.tsx +22 -18
  392. package/src/containers/SchemaContainer/index.ts +7 -0
  393. package/src/containers/SmallPresenceLive/index.ts +5 -0
  394. package/src/containers/SpacePluginSettings/SpacePluginSettings.tsx +65 -0
  395. package/src/containers/SpacePluginSettings/index.ts +7 -0
  396. package/src/{components → containers}/SpacePresence/SpacePresence.stories.tsx +2 -2
  397. package/src/{components → containers}/SpacePresence/SpacePresence.tsx +11 -22
  398. package/src/containers/SpacePresence/index.ts +6 -0
  399. package/src/{components → containers}/SpaceRenamePopover/SpaceRenamePopover.tsx +4 -4
  400. package/src/containers/SpaceRenamePopover/index.ts +7 -0
  401. package/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.stories.tsx +3 -3
  402. package/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.tsx +202 -0
  403. package/src/containers/SpaceSettingsContainer/index.ts +7 -0
  404. package/src/{components → containers}/SyncStatus/SyncStatus.stories.tsx +2 -2
  405. package/src/{components → containers}/SyncStatus/SyncStatus.tsx +5 -7
  406. package/src/containers/SyncStatus/index.ts +7 -0
  407. package/src/{components → containers/ViewEditor}/ViewEditor.tsx +11 -10
  408. package/src/containers/ViewEditor/index.ts +7 -0
  409. package/src/containers/index.ts +28 -0
  410. package/src/helpers/query.test.ts +1 -1
  411. package/src/helpers/query.ts +20 -7
  412. package/src/hooks/useActiveSpace.ts +8 -7
  413. package/src/hooks/useInputSurfaceLookup.tsx +3 -3
  414. package/src/index.ts +2 -1
  415. package/src/meta.ts +1 -1
  416. package/src/translations.ts +30 -4
  417. package/src/types/capabilities.ts +8 -8
  418. package/src/types/events.ts +7 -6
  419. package/src/types/form.ts +1 -8
  420. package/src/types/types.ts +61 -76
  421. package/src/util.ts +82 -0
  422. package/dist/lib/browser/CollectionArticle-XPNA6EHZ.mjs +0 -129
  423. package/dist/lib/browser/CollectionArticle-XPNA6EHZ.mjs.map +0 -7
  424. package/dist/lib/browser/ObjectCardStack-TWHN6C2Y.mjs +0 -148
  425. package/dist/lib/browser/ObjectCardStack-TWHN6C2Y.mjs.map +0 -7
  426. package/dist/lib/browser/ObjectDetails-GEDIISKK.mjs +0 -142
  427. package/dist/lib/browser/ObjectDetails-GEDIISKK.mjs.map +0 -7
  428. package/dist/lib/browser/RecordArticle-W57QE7QV.mjs.map +0 -7
  429. package/dist/lib/browser/app-graph-builder-SJHTZXZF.mjs +0 -523
  430. package/dist/lib/browser/app-graph-builder-SJHTZXZF.mjs.map +0 -7
  431. package/dist/lib/browser/app-graph-serializer-7AT7QMSK.mjs.map +0 -7
  432. package/dist/lib/browser/chunk-3X2EA2OA.mjs +0 -1898
  433. package/dist/lib/browser/chunk-3X2EA2OA.mjs.map +0 -7
  434. package/dist/lib/browser/chunk-4WZUGLQQ.mjs.map +0 -7
  435. package/dist/lib/browser/chunk-ASV6DYFH.mjs +0 -19
  436. package/dist/lib/browser/chunk-CCRSHECL.mjs.map +0 -7
  437. package/dist/lib/browser/chunk-SUI34XSA.mjs +0 -772
  438. package/dist/lib/browser/chunk-SUI34XSA.mjs.map +0 -7
  439. package/dist/lib/browser/chunk-ZT2VPYRM.mjs.map +0 -7
  440. package/dist/lib/browser/identity-created-VCFYLSBB.mjs.map +0 -7
  441. package/dist/lib/browser/operation-resolver-SIRQT36Z.mjs.map +0 -7
  442. package/dist/lib/browser/react-root-PI7VTZUZ.mjs.map +0 -7
  443. package/dist/lib/browser/react-surface-BPE7VWI7.mjs.map +0 -7
  444. package/dist/lib/browser/repair-CJG26D52.mjs +0 -50
  445. package/dist/lib/browser/repair-CJG26D52.mjs.map +0 -7
  446. package/dist/lib/browser/settings-ZS2AQ73E.mjs.map +0 -7
  447. package/dist/lib/browser/spaces-ready-OQDGWUOS.mjs.map +0 -7
  448. package/dist/lib/browser/state-7YZQB2KY.mjs.map +0 -7
  449. package/dist/lib/node-esm/CollectionArticle-WGHNZNO2.mjs +0 -130
  450. package/dist/lib/node-esm/CollectionArticle-WGHNZNO2.mjs.map +0 -7
  451. package/dist/lib/node-esm/ObjectCardStack-C5ZXRKP7.mjs +0 -149
  452. package/dist/lib/node-esm/ObjectCardStack-C5ZXRKP7.mjs.map +0 -7
  453. package/dist/lib/node-esm/ObjectDetails-6ZLDRKCO.mjs +0 -143
  454. package/dist/lib/node-esm/ObjectDetails-6ZLDRKCO.mjs.map +0 -7
  455. package/dist/lib/node-esm/RecordArticle-SSV74Z46.mjs.map +0 -7
  456. package/dist/lib/node-esm/app-graph-builder-HZ3XXDFZ.mjs +0 -524
  457. package/dist/lib/node-esm/app-graph-builder-HZ3XXDFZ.mjs.map +0 -7
  458. package/dist/lib/node-esm/app-graph-serializer-WJ2TIQG6.mjs.map +0 -7
  459. package/dist/lib/node-esm/chunk-2SW6S2BB.mjs.map +0 -7
  460. package/dist/lib/node-esm/chunk-7KMYUWSR.mjs +0 -773
  461. package/dist/lib/node-esm/chunk-7KMYUWSR.mjs.map +0 -7
  462. package/dist/lib/node-esm/chunk-CVXULIYC.mjs +0 -20
  463. package/dist/lib/node-esm/chunk-EYS3L2NO.mjs +0 -1899
  464. package/dist/lib/node-esm/chunk-EYS3L2NO.mjs.map +0 -7
  465. package/dist/lib/node-esm/chunk-JOBIWCBC.mjs.map +0 -7
  466. package/dist/lib/node-esm/chunk-MPL6NHQX.mjs.map +0 -7
  467. package/dist/lib/node-esm/identity-created-2SJABVJD.mjs.map +0 -7
  468. package/dist/lib/node-esm/operation-resolver-ZE3XJL5J.mjs.map +0 -7
  469. package/dist/lib/node-esm/react-root-KUXM33JI.mjs.map +0 -7
  470. package/dist/lib/node-esm/react-surface-STCQKUZ4.mjs.map +0 -7
  471. package/dist/lib/node-esm/repair-G3ZW3VG3.mjs.map +0 -7
  472. package/dist/lib/node-esm/settings-PVI2VG56.mjs.map +0 -7
  473. package/dist/lib/node-esm/spaces-ready-R744OHQG.mjs.map +0 -7
  474. package/dist/lib/node-esm/state-XE5YGPHM.mjs.map +0 -7
  475. package/dist/types/src/components/AwaitingObject.d.ts.map +0 -1
  476. package/dist/types/src/components/CollectionArticle.d.ts +0 -9
  477. package/dist/types/src/components/CollectionArticle.d.ts.map +0 -1
  478. package/dist/types/src/components/CollectionSection.d.ts +0 -5
  479. package/dist/types/src/components/CollectionSection.d.ts.map +0 -1
  480. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +0 -1
  481. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +0 -1604
  482. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +0 -1
  483. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +0 -1
  484. package/dist/types/src/components/JoinDialog/index.d.ts +0 -2
  485. package/dist/types/src/components/JoinDialog/index.d.ts.map +0 -1
  486. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +0 -1600
  487. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts.map +0 -1
  488. package/dist/types/src/components/MembersContainer/index.d.ts +0 -2
  489. package/dist/types/src/components/MembersContainer/index.d.ts.map +0 -1
  490. package/dist/types/src/components/MenuFooter.d.ts.map +0 -1
  491. package/dist/types/src/components/ObjectCardStack/ObjectCardStack.d.ts.map +0 -1
  492. package/dist/types/src/components/ObjectCardStack/ObjectForm.d.ts.map +0 -1
  493. package/dist/types/src/components/ObjectDetails/ObjectDetails.d.ts.map +0 -1
  494. package/dist/types/src/components/ObjectRenamePopover/index.d.ts +0 -2
  495. package/dist/types/src/components/ObjectRenamePopover/index.d.ts.map +0 -1
  496. package/dist/types/src/components/RecordArticle.d.ts +0 -5
  497. package/dist/types/src/components/RecordArticle.d.ts.map +0 -1
  498. package/dist/types/src/components/RecordArticle.stories.d.ts +0 -1600
  499. package/dist/types/src/components/RecordArticle.stories.d.ts.map +0 -1
  500. package/dist/types/src/components/SchemaContainer.d.ts.map +0 -1
  501. package/dist/types/src/components/SpacePluginSettings.d.ts.map +0 -1
  502. package/dist/types/src/components/SpacePresence/index.d.ts +0 -2
  503. package/dist/types/src/components/SpacePresence/index.d.ts.map +0 -1
  504. package/dist/types/src/components/SpaceRenamePopover/index.d.ts +0 -2
  505. package/dist/types/src/components/SpaceRenamePopover/index.d.ts.map +0 -1
  506. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts +0 -7
  507. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +0 -1
  508. package/dist/types/src/components/SpaceSettings/index.d.ts +0 -2
  509. package/dist/types/src/components/SpaceSettings/index.d.ts.map +0 -1
  510. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +0 -1
  511. package/dist/types/src/components/ViewEditor.d.ts.map +0 -1
  512. package/src/components/CollectionArticle.tsx +0 -158
  513. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +0 -91
  514. package/src/components/MembersContainer/MembersContainer.stories.tsx +0 -56
  515. package/src/components/MembersContainer/index.ts +0 -5
  516. package/src/components/ObjectCardStack/ObjectCardStack.tsx +0 -67
  517. package/src/components/ObjectDetails/ObjectDetails.tsx +0 -32
  518. package/src/components/ObjectRenamePopover/index.ts +0 -5
  519. package/src/components/RecordArticle.stories.tsx +0 -115
  520. package/src/components/SpacePluginSettings.tsx +0 -62
  521. package/src/components/SpacePresence/index.ts +0 -5
  522. package/src/components/SpaceRenamePopover/index.ts +0 -5
  523. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +0 -220
  524. package/src/components/SpaceSettings/index.ts +0 -5
  525. package/src/util.tsx +0 -779
  526. /package/dist/lib/browser/{chunk-AWVAX26X.mjs.map → chunk-SSTUPFZ2.mjs.map} +0 -0
  527. /package/dist/lib/node-esm/{chunk-HREWB23G.mjs.map → chunk-XYLDAH5C.mjs.map} +0 -0
  528. /package/dist/types/src/components/{AwaitingObject.d.ts → AwaitingObject/AwaitingObject.d.ts} +0 -0
  529. /package/dist/types/src/components/{ObjectCardStack → ObjectForm}/ObjectForm.d.ts +0 -0
  530. /package/dist/types/src/{components/CreateDialog → containers/CreateSpaceDialog}/CreateSpaceDialog.d.ts +0 -0
  531. /package/dist/types/src/{components/SyncStatus → containers/InlineSyncStatus}/InlineSyncStatus.d.ts +0 -0
  532. /package/dist/types/src/{components → containers}/JoinDialog/JoinDialog.d.ts +0 -0
  533. /package/dist/types/src/{components → containers}/MembersContainer/MembersContainer.d.ts +0 -0
  534. /package/dist/types/src/{components → containers/MenuFooter}/MenuFooter.d.ts +0 -0
  535. /package/dist/types/src/{components → containers}/ObjectCardStack/index.d.ts +0 -0
  536. /package/dist/types/src/{components → containers}/ObjectRenamePopover/ObjectRenamePopover.d.ts +0 -0
  537. /package/dist/types/src/{components → containers/SchemaContainer}/SchemaContainer.d.ts +0 -0
  538. /package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.d.ts +0 -0
  539. /package/dist/types/src/{components → containers}/SpaceRenamePopover/SpaceRenamePopover.d.ts +0 -0
  540. /package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.d.ts +0 -0
  541. /package/src/{components → containers}/ObjectCardStack/index.ts +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/util.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Instruction } from '@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item';\nimport * as Effect from 'effect/Effect';\n\nimport { type CapabilityManager, Common } from '@dxos/app-framework';\nimport { type Space, SpaceState, isSpace } from '@dxos/client/echo';\nimport { type Database, Filter, Obj, Query, Ref, Type } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { Migrations } from '@dxos/migrations';\nimport { Operation } from '@dxos/operation';\nimport { Graph, Node } from '@dxos/plugin-graph';\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention/types';\nimport { type TreeData } from '@dxos/react-ui-list';\nimport { Collection, Expando } from '@dxos/schema';\nimport { createFilename } from '@dxos/util';\n\nimport { meta } from './meta';\nimport { SPACE_TYPE, SpaceOperation } from './types';\n\nexport const SPACES = `${meta.id}-spaces`;\nexport const COMPOSER_SPACE_LOCK = `${meta.id}/lock`;\n// TODO(wittjosiah): Remove.\nexport const SHARED = 'shared-spaces';\n\n// TODO(wittjosiah): Factor out? Expose via capability?\nexport const getSpaceDisplayName = (\n space: Space,\n { personal, namesCache = {} }: { personal?: boolean; namesCache?: Record<string, string> } = {},\n): string | [string, { ns: string }] => {\n return space.state.get() === SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0\n ? space.properties.name!\n : namesCache[space.id]\n ? namesCache[space.id]\n : personal\n ? ['personal space label', { ns: meta.id }]\n : ['unnamed space label', { ns: meta.id }];\n};\n\nconst getCollectionGraphNodePartials = ({\n collection,\n db,\n resolve,\n}: {\n collection: Collection.Collection;\n db: Database.Database;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n return {\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([db.spaceId]),\n role: 'branch',\n onTransferStart: (child: Node.Node<Obj.Unknown>, index?: number) => {\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // if (space && childSpace && !childSpace.key.equals(space.key)) {\n // // Create clone of child and add to destination space.\n // const newObject = clone(child.data, {\n // // TODO(wittjosiah): This needs to be generalized and not hardcoded here.\n // additional: [\n // child.data.content,\n // ...(child.data.objects ?? []),\n // ...(child.data.objects ?? []).map((object: TypedObject) => object.content),\n // ],\n // });\n // space.db.add(newObject);\n // collection.objects.push(newObject);\n // } else {\n\n // Add child to destination collection.\n // TODO(dmaretskyi): Compare by id.\n Obj.change(collection, (c) => {\n if (!c.objects.find((object) => object.target === child.data)) {\n if (typeof index !== 'undefined') {\n c.objects.splice(index, 0, Ref.make(child.data));\n } else {\n c.objects.push(Ref.make(child.data));\n }\n }\n });\n\n // }\n },\n onTransferEnd: (child: Node.Node<Obj.Unknown>, destination: Node.Node) => {\n // Remove child from origin collection.\n Obj.change(collection, (c) => {\n const index = c.objects.findIndex((object) => object.target === child.data);\n if (index > -1) {\n c.objects.splice(index, 1);\n }\n });\n\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // const destinationSpace =\n // destination.data instanceof SpaceProxy ? destination.data : getSpace(destination.data);\n // if (destinationSpace && childSpace && !childSpace.key.equals(destinationSpace.key)) {\n // // Mark child as deleted in origin space.\n // childSpace.db.remove(child.data);\n // }\n },\n onCopy: async (child: Node.Node<Obj.Unknown>, index?: number) => {\n // Create clone of child and add to destination space.\n const newObject = await cloneObject(child.data, resolve, db);\n db.add(newObject);\n Obj.change(collection, (c) => {\n if (typeof index !== 'undefined') {\n c.objects.splice(index, 0, Ref.make(newObject));\n } else {\n c.objects.push(Ref.make(newObject));\n }\n });\n },\n };\n};\n\nconst getSystemCollectionNodePartials = ({\n collection,\n db,\n resolve,\n}: {\n collection: Collection.Managed;\n db: Database.Database;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const metadata = resolve(collection.key);\n return {\n label: ['typename label', { ns: collection.key, count: 2 }],\n icon: metadata.icon,\n iconHue: metadata.iconHue,\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([db.spaceId]),\n role: 'branch',\n };\n};\n\nconst getSchemaGraphNodePartials = () => {\n return {\n role: 'branch',\n canDrop: () => false,\n };\n};\n\nconst checkPendingMigration = (space: Space) => {\n return (\n space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION ||\n (space.state.get() === SpaceState.SPACE_READY &&\n !!Migrations.versionProperty &&\n space.properties[Migrations.versionProperty] !== Migrations.targetVersion)\n );\n};\n\nexport const constructSpaceNode = ({\n space,\n navigable = false,\n personal,\n namesCache,\n resolve,\n graph,\n spacesOrder,\n}: {\n space: Space;\n navigable?: boolean;\n personal?: boolean;\n namesCache?: Record<string, string>;\n resolve: (typename: string) => Record<string, any>;\n /** Graph for sorting edges on rearrange. */\n graph?: Graph.ExpandableGraph;\n // TODO(wittjosiah): Should be Type.Expando but it doesn't work with the AtomQuery result type.\n /** Spaces order object for persisting workspace order. */\n spacesOrder?: Obj.Any;\n}) => {\n const hasPendingMigration = checkPendingMigration(space);\n const collection =\n space.state.get() === SpaceState.SPACE_READY && space.properties[Collection.Collection.typename]?.target;\n const partials =\n space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(Collection.Collection, collection)\n ? getCollectionGraphNodePartials({ collection, db: space.db, resolve })\n : {};\n\n const onRearrange =\n graph && spacesOrder\n ? (nextOrder: Space[]) => {\n // NOTE: This is needed to ensure order is updated by next animation frame.\n Graph.sortEdges(\n graph,\n Node.RootId,\n 'outbound',\n nextOrder.map(({ id }) => id),\n );\n\n // Persist order to database.\n Obj.change(spacesOrder, (mutableOrder: any) => {\n mutableOrder.order = nextOrder.map(({ id }) => id);\n });\n }\n : undefined;\n\n return {\n id: space.id,\n type: SPACE_TYPE,\n cacheable: ['label', 'icon', 'role'],\n data: space,\n properties: {\n ...partials,\n label: getSpaceDisplayName(space, { personal, namesCache }),\n description: space.state.get() === SpaceState.SPACE_READY && space.properties.description,\n hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,\n icon:\n space.state.get() === SpaceState.SPACE_READY && space.properties.icon\n ? `ph--${space.properties.icon}--regular`\n : undefined,\n iconHue: space.state.get() === SpaceState.SPACE_READY && space.properties.iconHue,\n disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,\n disposition: 'workspace',\n testId: 'spacePlugin.space',\n onRearrange,\n canDrop: (source: TreeData) => {\n // TODO(wittjosiah): Find a way to only allow space as source for rearranging.\n return Obj.isObject(source.item.data) || isSpace(source.item.data);\n },\n },\n nodes: [\n {\n id: `settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${meta.id}/settings`,\n data: null,\n properties: {\n label: ['settings panel label', { ns: meta.id }],\n icon: 'ph--faders--regular',\n disposition: 'alternate-tree',\n },\n nodes: [\n {\n id: `properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${meta.id}/properties`,\n data: `${meta.id}/properties`,\n properties: {\n label: ['space settings properties label', { ns: meta.id }],\n icon: 'ph--sliders--regular',\n position: 'hoist',\n testId: 'spacePlugin.general',\n },\n },\n {\n id: `members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${meta.id}/members`,\n data: `${meta.id}/members`,\n properties: {\n label: ['members panel label', { ns: meta.id }],\n icon: 'ph--users--regular',\n position: 'hoist',\n testId: 'spacePlugin.members',\n },\n },\n {\n id: `schema-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${meta.id}/schema`,\n data: `${meta.id}/schema`,\n properties: {\n label: ['space settings schema label', { ns: meta.id }],\n icon: 'ph--shapes--regular',\n testId: 'spacePlugin.schema',\n },\n },\n ],\n },\n ],\n };\n};\n\nexport const constructSpaceActions = ({\n space,\n personal,\n migrating,\n}: {\n space: Space;\n personal?: boolean;\n migrating?: boolean;\n}) => {\n const state = space.state.get();\n const hasPendingMigration = checkPendingMigration(space);\n const getId = (id: string) => `${id}/${space.id}`;\n const actions: Node.NodeArg<Node.ActionData<Operation.Service>>[] = [];\n\n if (hasPendingMigration) {\n actions.push({\n id: getId(SpaceOperation.Migrate.meta.key),\n type: Node.ActionGroupType,\n data: () => Operation.invoke(SpaceOperation.Migrate, { space }),\n properties: {\n label: ['migrate space label', { ns: meta.id }],\n icon: 'ph--database--regular',\n disposition: 'list-item-primary',\n disabled: migrating || Migrations.running(space),\n },\n });\n }\n\n if (state === SpaceState.SPACE_READY && !hasPendingMigration) {\n actions.push(\n {\n id: getId(SpaceOperation.OpenCreateObject.meta.key),\n type: Node.ActionType,\n data: () => Operation.invoke(SpaceOperation.OpenCreateObject, { target: space.db }),\n properties: {\n label: ['create object in space label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n disposition: 'item',\n testId: 'spacePlugin.createObject',\n },\n },\n {\n id: getId(SpaceOperation.Rename.meta.key),\n type: Node.ActionType,\n data: (params?: Node.InvokeProps) => Operation.invoke(SpaceOperation.Rename, { space, caller: params?.caller }),\n properties: {\n label: ['rename space label', { ns: meta.id }],\n icon: 'ph--pencil-simple-line--regular',\n keyBinding: {\n macos: 'shift+F6',\n windows: 'shift+F6',\n },\n },\n },\n );\n }\n\n return actions;\n};\n\nexport const createStaticSchemaNode = ({ schema, space }: { schema: Type.Entity.Any; space: Space }): Node.Node => {\n return {\n id: `${space.id}/${Type.getTypename(schema)}`,\n type: `${meta.id}/static-schema`,\n data: schema,\n properties: {\n label: ['typename label', { ns: Type.getTypename(schema), count: 2, default: Type.getTypename(schema) }],\n icon: 'ph--database--regular',\n iconHue: 'green',\n role: 'branch',\n selectable: false,\n canDrop: () => false,\n space,\n },\n };\n};\n\nexport const createStaticSchemaActions = ({\n schema,\n space,\n deletable,\n}: {\n schema: Type.Obj.Any;\n space: Space;\n deletable: boolean;\n}) => {\n const getId = (id: string) => `${space.id}/${Type.getTypename(schema)}/${id}`;\n\n const actions: Node.NodeArg<Node.ActionData<Operation.Service>>[] = [\n {\n id: getId(SpaceOperation.AddObject.meta.key),\n type: Node.ActionType,\n data: () =>\n Operation.invoke(SpaceOperation.OpenCreateObject, {\n target: space.db,\n views: true,\n initialFormValues: { typename: Type.getTypename(schema) },\n }),\n properties: {\n label: ['add view to schema label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.addViewToSchema',\n },\n },\n {\n id: getId(SpaceOperation.RenameObject.meta.key),\n type: Node.ActionType,\n data: () => Effect.fail(new Error('Not implemented')),\n properties: {\n label: ['rename object label', { ns: Type.getTypename(Type.PersistentType) }],\n icon: 'ph--pencil-simple-line--regular',\n disabled: true,\n disposition: 'list-item',\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceOperation.RemoveObjects.meta.key),\n type: Node.ActionType,\n data: () =>\n Effect.sync(() => {\n const index = space.properties.staticRecords.findIndex(\n (typename: string) => typename === Type.getTypename(schema),\n );\n if (index > -1) {\n Obj.change(space.properties, (p) => {\n p.staticRecords.splice(index, 1);\n });\n }\n }),\n properties: {\n label: ['delete object label', { ns: Type.getTypename(Type.PersistentType) }],\n icon: 'ph--trash--regular',\n disposition: 'list-item',\n disabled: !deletable,\n testId: 'spacePlugin.deleteObject',\n },\n },\n {\n id: getId(SpaceOperation.Snapshot.meta.key),\n type: Node.ActionType,\n data: Effect.fnUntraced(function* () {\n const result = yield* Operation.invoke(SpaceOperation.Snapshot, {\n db: space.db,\n query: Query.select(Filter.type(schema)).ast,\n });\n if (result.snapshot) {\n yield* Effect.tryPromise(() =>\n downloadBlob(result.snapshot, createFilename({ parts: [space.id, Type.getTypename(schema)], ext: 'json' })),\n );\n }\n }),\n properties: {\n label: ['snapshot by schema label', { ns: meta.id }],\n icon: 'ph--camera--regular',\n disposition: 'list-item',\n },\n },\n ];\n\n return actions;\n};\n\nexport const createObjectNode = ({\n db,\n object,\n disposition,\n droppable = true,\n navigable = false,\n managedCollectionChild = false,\n resolve,\n parentCollection,\n}: {\n db: Database.Database;\n object: Obj.Unknown;\n disposition?: string;\n droppable?: boolean;\n navigable?: boolean;\n managedCollectionChild?: boolean;\n resolve: (typename: string) => Record<string, any>;\n /** Parent collection for rearranging objects. */\n parentCollection?: Collection.Collection;\n}) => {\n const type = Obj.getTypename(object);\n if (!type) {\n return null;\n }\n\n const metadata = resolve(type);\n const partials = Obj.instanceOf(Collection.Collection, object)\n ? getCollectionGraphNodePartials({ collection: object, db, resolve })\n : Obj.instanceOf(Collection.Managed, object)\n ? getSystemCollectionNodePartials({ collection: object, db, resolve })\n : Obj.instanceOf(Type.PersistentType, object)\n ? getSchemaGraphNodePartials()\n : metadata.graphProps;\n\n // TODO(wittjosiah): Obj.getLabel isn't triggering reactivity in some cases.\n // e.g., create new collection with no name and rename it.\n const label = (object as any).name ||\n Obj.getLabel(object) ||\n // TODO(wittjosiah): Remove metadata labels.\n metadata.label?.(object) || ['object name placeholder', { ns: type, default: 'New item' }];\n\n const selectable =\n (!Obj.instanceOf(Type.PersistentType, object) &&\n !Obj.instanceOf(Collection.Managed, object) &&\n !Obj.instanceOf(Collection.Collection, object)) ||\n (navigable && Obj.instanceOf(Collection.Collection, object));\n\n return {\n id: Obj.getDXN(object).toString(),\n type,\n cacheable: ['label', 'icon', 'role'],\n data: object,\n properties: {\n label,\n icon: metadata.icon ?? 'ph--placeholder--regular',\n iconHue: metadata.iconHue,\n disposition,\n testId: 'spacePlugin.object',\n persistenceClass: 'echo',\n persistenceKey: db.spaceId,\n selectable,\n managedCollectionChild,\n onRearrange: parentCollection\n ? (nextOrder: unknown[]) => {\n Obj.change(parentCollection, (c) => {\n c.objects = nextOrder.filter(Obj.isObject).map(Ref.make);\n });\n }\n : undefined,\n blockInstruction: (source: TreeData, instruction: Instruction) => {\n if (source.item.properties.managedCollectionChild) {\n // TODO(wittjosiah): Support reordering system collections.\n // return !(managedCollectionChild && source.item.type === type && instruction.type.startsWith('reorder'));\n return true;\n }\n\n if (Obj.instanceOf(Collection.Managed, object)) {\n return !instruction.type.startsWith('reorder');\n }\n\n return managedCollectionChild;\n },\n canDrop: (source: TreeData) => {\n return droppable && Node.isGraphNode(source.item) && Obj.isObject(source.item.data);\n },\n ...partials,\n },\n };\n};\n\nexport const constructObjectActions = ({\n object,\n graph,\n resolve,\n capabilities,\n deletable = true,\n navigable = false,\n}: {\n object: Obj.Unknown;\n graph: Graph.ReadableGraph;\n resolve: (typename: string) => Record<string, any>;\n capabilities: CapabilityManager.CapabilityManager;\n deletable?: boolean;\n navigable?: boolean;\n}) => {\n const db = Obj.getDatabase(object);\n invariant(db, 'Database not found');\n const typename = Obj.getTypename(object);\n invariant(typename, 'Object has no typename');\n\n const getId = (id: string) => `${id}/${Obj.getDXN(object).toString()}`;\n\n const managedCollection = Obj.instanceOf(Collection.Managed, object) ? object : undefined;\n const metadata = managedCollection ? resolve(managedCollection.key) : {};\n const createObject = metadata.createObject;\n const inputSchema = metadata.inputSchema;\n\n const actions: Node.NodeArg<Node.ActionData<Operation.Service>>[] = [\n ...(Obj.instanceOf(Collection.Collection, object)\n ? [\n {\n id: getId(SpaceOperation.OpenCreateObject.meta.key),\n type: Node.ActionType,\n data: () => Operation.invoke(SpaceOperation.OpenCreateObject, { target: object }),\n properties: {\n label: ['create object in collection label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n ...(Obj.instanceOf(Type.PersistentType, object)\n ? [\n {\n id: getId(SpaceOperation.AddObject.meta.key),\n type: Node.ActionType,\n data: () =>\n Operation.invoke(SpaceOperation.OpenCreateObject, {\n target: db,\n views: true,\n initialFormValues: { typename: object.typename },\n }),\n properties: {\n label: ['add view to schema label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.addViewToSchema',\n },\n },\n {\n id: getId(SpaceOperation.Snapshot.meta.key),\n type: Node.ActionType,\n data: Effect.fnUntraced(function* () {\n const result = yield* Operation.invoke(SpaceOperation.Snapshot, {\n db,\n query: Query.select(Filter.type(Type.toEffectSchema(object.jsonSchema))).ast,\n });\n if (result.snapshot) {\n yield* Effect.promise(() =>\n downloadBlob(result.snapshot, createFilename({ parts: [db.spaceId, object.typename], ext: 'json' })),\n );\n }\n }),\n properties: {\n label: ['snapshot by schema label', { ns: meta.id }],\n icon: 'ph--camera--regular',\n disposition: 'list-item',\n },\n },\n ]\n : []),\n ...(createObject\n ? [\n {\n id: getId(SpaceOperation.OpenCreateObject.meta.key),\n type: Node.ActionType,\n data: Effect.fnUntraced(function* () {\n if (inputSchema) {\n yield* Operation.invoke(SpaceOperation.OpenCreateObject, {\n target: db,\n typename: managedCollection ? managedCollection.key : undefined,\n });\n } else {\n const createdObject = yield* createObject({}, { db, capabilities }) as Effect.Effect<\n Obj.Unknown,\n Error,\n never\n >;\n const addResult = yield* Operation.invoke(SpaceOperation.AddObject, {\n target: db,\n hidden: true,\n object: createdObject,\n });\n if (addResult.id) {\n yield* Operation.invoke(Common.LayoutOperation.Open, { subject: [addResult.id] });\n }\n }\n }),\n properties: {\n label: ['create object in system collection label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n ...(managedCollection\n ? []\n : [\n {\n id: getId(SpaceOperation.RenameObject.meta.key),\n type: Node.ActionType,\n data: (params?: Node.InvokeProps) =>\n Operation.invoke(SpaceOperation.RenameObject, { object, caller: params?.caller }),\n properties: {\n label: ['rename object label', { ns: typename }],\n icon: 'ph--pencil-simple-line--regular',\n disposition: 'list-item',\n // TODO(wittjosiah): Not working.\n // keyBinding: {\n // macos: 'shift+F6',\n // },\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceOperation.RemoveObjects.meta.key),\n type: Node.ActionType,\n data: Effect.fnUntraced(function* () {\n const collection = Graph.getConnections(graph, Obj.getDXN(object).toString(), 'inbound').find(\n (node: Node.Node): node is Node.Node<Collection.Collection> =>\n Obj.instanceOf(Collection.Collection, node.data),\n )?.data;\n yield* Operation.invoke(SpaceOperation.RemoveObjects, { objects: [object], target: collection });\n }),\n properties: {\n label: ['delete object label', { ns: typename }],\n icon: 'ph--trash--regular',\n disposition: 'list-item',\n disabled: !deletable,\n // TODO(wittjosiah): This is a browser shortcut.\n // keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',\n testId: 'spacePlugin.deleteObject',\n },\n },\n ]),\n ...(navigable ||\n (!Obj.instanceOf(Collection.Collection, object) &&\n !Obj.instanceOf(Collection.Managed, object) &&\n !Obj.instanceOf(Type.PersistentType, object))\n ? [\n {\n id: getId('copy-link'),\n type: Node.ActionType,\n data: () =>\n Effect.promise(async () => {\n const url = `${window.location.origin}/${db.spaceId}/${Obj.getDXN(object).toString()}`;\n await navigator.clipboard.writeText(url);\n }),\n properties: {\n label: ['copy link label', { ns: meta.id }],\n icon: 'ph--link--regular',\n disposition: 'list-item',\n testId: 'spacePlugin.copyLink',\n },\n },\n ]\n : []),\n // TODO(wittjosiah): Factor out and apply to all nodes.\n {\n id: getId(Common.LayoutOperation.Expose.meta.key),\n type: Node.ActionType,\n data: () => Operation.invoke(Common.LayoutOperation.Expose, { subject: Obj.getDXN(object).toString() }),\n properties: {\n label: ['expose object label', { ns: meta.id }],\n icon: 'ph--eye--regular',\n disposition: 'heading-list-item',\n testId: 'spacePlugin.exposeObject',\n },\n },\n ];\n\n return actions;\n};\n\n// TODO(wittjosiah): Factor out.\nconst downloadBlob = async (blob: Blob, filename: string) => {\n const url = URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = filename;\n\n document.body.appendChild(a);\n a.click();\n\n document.body.removeChild(a);\n URL.revokeObjectURL(url);\n};\n\n/**\n * @deprecated This is a temporary solution.\n */\nexport const getNestedObjects = async (\n object: Obj.Unknown,\n resolve: (typename: string) => Record<string, any>,\n): Promise<Obj.Unknown[]> => {\n const type = Obj.getTypename(object);\n if (!type) {\n return [];\n }\n\n const metadata = resolve(type);\n const loadReferences = metadata?.loadReferences;\n if (typeof loadReferences !== 'function') {\n return [];\n }\n\n const objects: Obj.Unknown[] = await loadReferences(object);\n const nested = await Promise.all(objects.map((object) => getNestedObjects(object, resolve)));\n return [...objects, ...nested.flat()];\n};\n\n/**\n * @deprecated Workaround for ECHO not supporting clone.\n */\n// TODO(burdon): Remove.\nexport const cloneObject = async (\n object: Obj.Unknown,\n resolve: (typename: string) => Record<string, any>,\n newDb: Database.Database,\n): Promise<Obj.Unknown> => {\n const schema = Obj.getSchema(object);\n const typename = schema ? (Type.getTypename(schema) ?? Expando.Expando.typename) : Expando.Expando.typename;\n const metadata = resolve(typename);\n const serializer = metadata.serializer;\n invariant(serializer, `No serializer for type: ${typename}`);\n const content = await serializer.serialize({ object });\n return serializer.deserialize({ content, db: newDb, newId: true });\n};\n"],
5
- "mappings": "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",
6
- "names": ["Effect", "Common", "SpaceState", "isSpace", "Filter", "Obj", "Query", "Ref", "Type", "invariant", "Migrations", "Operation", "Graph", "Node", "ATTENDABLE_PATH_SEPARATOR", "Collection", "Expando", "createFilename", "SPACES", "meta", "id", "COMPOSER_SPACE_LOCK", "SHARED", "getSpaceDisplayName", "space", "personal", "namesCache", "state", "get", "SpaceState", "SPACE_READY", "properties", "name", "length", "ns", "getCollectionGraphNodePartials", "collection", "db", "resolve", "acceptPersistenceClass", "Set", "acceptPersistenceKey", "spaceId", "role", "onTransferStart", "child", "index", "Obj", "change", "c", "objects", "find", "object", "target", "data", "splice", "Ref", "make", "push", "onTransferEnd", "destination", "findIndex", "onCopy", "newObject", "cloneObject", "add", "getSystemCollectionNodePartials", "metadata", "key", "label", "count", "icon", "iconHue", "getSchemaGraphNodePartials", "canDrop", "checkPendingMigration", "SPACE_REQUIRES_MIGRATION", "Migrations", "versionProperty", "targetVersion", "constructSpaceNode", "navigable", "graph", "spacesOrder", "hasPendingMigration", "Collection", "typename", "partials", "instanceOf", "onRearrange", "nextOrder", "Graph", "sortEdges", "Node", "RootId", "map", "mutableOrder", "order", "undefined", "type", "SPACE_TYPE", "cacheable", "description", "hue", "disabled", "disposition", "testId", "source", "isObject", "item", "isSpace", "nodes", "ATTENDABLE_PATH_SEPARATOR", "position", "constructSpaceActions", "migrating", "getId", "actions", "SpaceOperation", "Migrate", "ActionGroupType", "Operation", "invoke", "running", "OpenCreateObject", "ActionType", "Rename", "params", "caller", "keyBinding", "macos", "windows", "createStaticSchemaNode", "schema", "Type", "getTypename", "default", "selectable", "createStaticSchemaActions", "deletable", "AddObject", "views", "initialFormValues", "RenameObject", "fail", "Error", "PersistentType", "RemoveObjects", "sync", "staticRecords", "p", "Snapshot", "fnUntraced", "result", "query", "Query", "select", "Filter", "ast", "snapshot", "tryPromise", "downloadBlob", "createFilename", "parts", "ext", "createObjectNode", "droppable", "managedCollectionChild", "parentCollection", "Managed", "graphProps", "getLabel", "getDXN", "toString", "persistenceClass", "persistenceKey", "filter", "blockInstruction", "instruction", "startsWith", "isGraphNode", "constructObjectActions", "capabilities", "getDatabase", "invariant", "managedCollection", "createObject", "inputSchema", "toEffectSchema", "jsonSchema", "promise", "createdObject", "addResult", "hidden", "Common", "LayoutOperation", "Open", "subject", "getConnections", "node", "url", "window", "location", "origin", "navigator", "clipboard", "writeText", "Expose", "blob", "filename", "URL", "createObjectURL", "a", "document", "createElement", "href", "download", "body", "appendChild", "click", "removeChild", "revokeObjectURL", "getNestedObjects", "loadReferences", "nested", "Promise", "all", "flat", "newDb", "getSchema", "Expando", "serializer", "content", "serialize", "deserialize", "newId"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/translations.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Type } from '@dxos/echo';\nimport { type Resource } from '@dxos/react-ui';\nimport { Collection } from '@dxos/schema';\nimport { Event, Message, Organization, Person, Project, Task } from '@dxos/types';\n\nimport { meta } from './meta';\n\n// TODO(burdon): Change to single Resource?\nexport const translations = [\n {\n 'en-US': {\n [Collection.Collection.typename]: {\n 'typename label': 'Collection',\n 'typename label_zero': 'Collections',\n 'typename label_one': 'Collection',\n 'typename label_other': 'Collections',\n 'object name placeholder': 'New collection',\n 'rename object label': 'Rename collection',\n 'delete object label': 'Delete collection',\n 'object deleted label': 'Collection deleted',\n },\n [Type.getTypename(Type.PersistentType)]: {\n 'typename label': 'Type',\n 'typename label_zero': 'Types',\n 'typename label_one': 'Type',\n 'typename label_other': 'Types',\n 'object name placeholder': 'New type',\n 'rename object label': 'Rename type',\n 'delete object label': 'Delete type',\n 'object deleted label': 'Type deleted',\n },\n [Event.Event.typename]: {\n 'typename label': 'Event',\n 'typename label_zero': 'Events',\n 'typename label_one': 'Event',\n 'typename label_other': 'Events',\n 'object name placeholder': 'New event',\n },\n [Message.Message.typename]: {\n 'typename label': 'Message',\n 'typename label_zero': 'Messages',\n 'typename label_one': 'Message',\n 'typename label_other': 'Messages',\n 'object name placeholder': 'New message',\n },\n [Organization.Organization.typename]: {\n 'typename label': 'Organization',\n 'typename label_zero': 'Organizations',\n 'typename label_one': 'Organization',\n 'typename label_other': 'Organizations',\n 'object name placeholder': 'New organization',\n },\n [Person.Person.typename]: {\n 'typename label': 'Person',\n 'typename label_zero': 'People',\n 'typename label_one': 'Person',\n 'typename label_other': 'People',\n 'object name placeholder': 'New person',\n },\n [Project.Project.typename]: {\n 'typename label': 'Project',\n 'typename label_zero': 'Projects',\n 'typename label_one': 'Project',\n 'typename label_other': 'Projects',\n 'object name placeholder': 'New project',\n },\n [Task.Task.typename]: {\n 'typename label': 'Task',\n 'typename label_zero': 'Tasks',\n 'typename label_one': 'Task',\n 'typename label_other': 'Tasks',\n 'object name placeholder': 'New task',\n },\n [meta.id]: {\n 'plugin name': 'Spaces',\n 'first run message': 'Nothing selected.',\n 'create space label': 'Create space',\n 'join space label': 'Join space',\n 'empty space message': 'No documents',\n 'empty tree message': 'No spaces',\n 'unnamed space label': 'New space',\n 'closed space label': 'Closed',\n 'loading space label': 'Loading space…',\n 'lock space label': 'Lock space',\n 'unlock space label': 'Unlock space',\n 'rename space label': 'Rename space',\n 'active space label': 'Active space:',\n 'space name label': 'Space name',\n 'object name label': 'Object name',\n 'close space label': 'Close space',\n 'open space label': 'Open space',\n 'export data label': 'Export data',\n 'import data label': 'Import data',\n 'migrate space label': 'Migrate space',\n 'share space label': 'Share current space',\n 'save space to disk label': 'Save to disk',\n 'load space from disk label': 'Load from disk',\n 'confirm restore title': 'Overwrite files in this space?',\n 'confirm restore body': 'Restoring from a backup will overwrite the contents of any documents that match.',\n 'upload file message': 'Drag file here or click to browse',\n 'object name placeholder': 'Object',\n 'object placeholder': 'Type a title here…',\n 'personal space label': 'Personal Space',\n 'spaces label': 'Spaces',\n 'space settings label': 'Spaces',\n 'space settings description':\n 'Each space has its own settings you can configure, where you can adjust its properties, membership, integrations, and other objects specific to that space.',\n 'show hidden spaces label': 'Show archived spaces',\n 'save files to directory label': 'Save files to disk',\n 'select path label': 'Select path',\n 'snapshot by schema label': 'Snapshot of objects',\n 'rename collection label': 'Rename collection',\n 'rename object label': 'Rename object',\n 'duplicate object label': 'Duplicate object',\n 'object deleted label': 'Object deleted',\n 'objects deleted label': 'Objects deleted',\n 'go to object label': 'Open object',\n 'found object label': 'Ready.',\n 'found object description': 'The requested object is now available.',\n 'waiting for object label': 'Loading…',\n 'waiting for object description': 'The requested object is still being synchronized.',\n 'object not found label': 'Nothing found.',\n 'object not found description':\n 'The requested object has not been found yet. Ensure there are enough peers online in the space with an updated copy.',\n 'missing object message': 'Object not available.',\n 'missing object description':\n 'The requested object has not been found yet. Ensure there are enough peers online in the space with an updated copy.',\n 'create object in space label': 'Add to space',\n 'create object in collection label': 'Add to collection',\n 'create object in system collection label': 'Add to system collection',\n 'add view to schema label': 'Add view to type',\n 'space members label': 'Space members',\n 'active space members heading': 'Online ({{count}})',\n 'inactive space members heading': 'Offline ({{count}})',\n 'presence label_zero': 'No other viewers',\n 'presence label_one': '1 other viewer',\n 'presence label_other': '{{count}} other viewers',\n 'persisted locally label': 'Changes saved locally.',\n 'persisted locally message': 'All changes have been saved to disk on this device.',\n 'persistence pending label': 'Saving…',\n 'persistence error label': 'Error saving changes.',\n 'more actions label': 'More actions',\n 'invitations heading': 'Invitations',\n 'keyshortcuts label': 'Keyboard shortcuts',\n 'menu footer label': 'Details',\n 'location label': 'Located in',\n 'space limit label': 'Space Limit Reached',\n 'space limit description':\n 'This space has reached the maximum number of objects for the beta. This limit includes deleted objects currently, but those can be permanently removed with the cleanup action.',\n 'space limit close label': 'Close',\n 'remove deleted objects label': 'Cleanup',\n 'remove deleted objects alt': 'Permanently remove deleted objects to free up space.',\n 'copy link label': 'Copy link',\n 'default on space create label': 'On space create',\n 'sync status title': 'Sync status',\n 'dismiss label': 'Dismiss',\n 'join success label': 'Successfully joined space',\n 'name label': 'Name',\n 'name placeholder': 'Name',\n 'object settings label': 'Details',\n 'edge replication label': 'Enable EDGE Replication',\n 'saving locally label': 'Writing to disk',\n 'downloading label': 'Replicating from peers',\n 'uploading label': 'Replicating to peers',\n 'offline persisted label': 'Saved to disk (offline)',\n 'remote synced label': 'Synced with peers',\n 'syncing label': 'Space syncing',\n 'show all label': 'Show all',\n 'no sync status label': 'No space with missing objects.',\n 'create space dialog title': 'Create Space',\n 'create object dialog title': 'Create {{object}}',\n 'space input placeholder': 'Select space',\n 'schema input placeholder': 'Select type',\n 'creating object type label': 'Type',\n 'creating in space label': 'Location',\n 'creating in collection label': 'In Collection',\n 'clear input label': 'Clear',\n 'expose object label': 'Expose in navtree',\n 'add tag label': 'Add tag',\n 'advanced settings label': 'Advanced',\n 'foreign keys': 'Foreign Keys',\n 'add key': 'Add Key',\n 'open space settings label': 'Open settings',\n 'related objects label': 'Related Objects',\n\n 'row details no selection label': 'No objects selected',\n 'companion selected objects label': 'Selected',\n 'field deleted label': 'Field deleted',\n\n 'members panel label': 'Members',\n 'members verbose label': 'Manage space members',\n 'members description': 'You can view the current status of space members here as well as invite new members.',\n 'members label': 'Members',\n 'invitations label': 'Invitations',\n 'space invitation description': 'Manage invitations to the space.',\n 'qr code description': 'Share this QR code, or copy the URL and share it with the person you want to invite.',\n 'locked space description': 'This space is locked, unlock it to invite new members.',\n 'space locked label': 'Lock space',\n 'space locked description': 'Locking a space prevents new members from being invited to the space.',\n\n 'settings panel label': 'Space Settings',\n 'open current space settings label': 'Open current space settings',\n 'space settings properties label': 'General settings',\n 'space properties settings verbose label': 'Manage space properties',\n 'space properties settings description': 'You can configure how this space is displayed in the app here.',\n 'space settings schema label': 'Types',\n 'schema verbose label': 'Manage types',\n 'schema description': 'You can manage all of the types stored within this space here.',\n 'no schemas found message': 'No types found',\n 'display name input placeholder': 'Space name',\n 'display name description': 'Name of the space as it appears in the app.',\n 'icon description': 'Icon used to represent the space in the app.',\n 'hue description': 'Color used to represent the space in the app.',\n 'edge replication description':\n \"Only change this if you know what you're doing. Disabling this will prevent the space from replicating through Composer's EDGE services, and relies solely on peer-to-peer sync.\",\n 'archive space description':\n 'Archiving a space will remove it from the sidebar and stop replicating updates, but will not delete the data. You can unarchive it by enabling archived spaces in the app settings.',\n 'archive space label': 'Archive',\n 'unarchive space label': 'Unarchive',\n\n 'space controls title': 'Space Controls',\n 'space controls description': 'Advanced controls for this space.',\n 'backup space title': 'Backup Space',\n 'backup space description':\n 'Download a backup of the space. Contains all data in the space in an unencrypted format.',\n 'download backup label': 'Download backup',\n 'repair space title': 'Repair Space',\n 'repair space description': 'Run repair operations on the space.',\n 'repair space label': 'Run repairs',\n\n 'sync edge connected label': 'Edge connected',\n 'sync edge disconnected label': 'Edge disconnected',\n 'sync no connection label': 'No connection to edge service',\n 'sync latency label': 'Latency',\n 'sync upload label': 'Upload',\n 'sync download label': 'Download',\n\n 'search placeholder': 'Search…',\n },\n },\n },\n] as const satisfies Resource[];\n"],
5
- "mappings": "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",
6
- "names": ["Type", "Collection", "Event", "Message", "Organization", "Person", "Project", "Task", "translations", "Collection", "typename", "Type", "getTypename", "PersistentType", "Event", "Message", "Organization", "Person", "Project", "Task", "meta", "id"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/identity-created/identity-created.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Obj, Ref } from '@dxos/echo';\nimport { Migrations } from '@dxos/migrations';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { Collection } from '@dxos/schema';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const client = yield* Capability.get(ClientCapabilities.Client);\n yield* Effect.tryPromise(() => client.spaces.waitUntilReady());\n\n const defaultSpace = client.spaces.default;\n yield* Effect.tryPromise(() => defaultSpace.waitUntilReady());\n\n // Create root collection structure.\n Obj.change(defaultSpace.properties, (p) => {\n p[Collection.Collection.typename] = Ref.make(Collection.make());\n if (Migrations.versionProperty) {\n p[Migrations.versionProperty] = Migrations.targetVersion;\n }\n });\n }),\n);\n"],
5
- "mappings": ";AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,KAAKC,WAAW;AACzB,SAASC,kBAAkB;AAC3B,SAASC,0BAA0B;AACnC,SAASC,kBAAkB;AAE3B,IAAA,2BAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAChB,QAAMC,SAAS,OAAOH,WAAWI,IAAIC,mBAAmBC,MAAM;AAC9D,SAAcC,kBAAW,MAAMJ,OAAOK,OAAOC,eAAc,CAAA;AAE3D,QAAMC,eAAeP,OAAOK,OAAOG;AACnC,SAAcJ,kBAAW,MAAMG,aAAaD,eAAc,CAAA;AAG1DG,MAAIC,OAAOH,aAAaI,YAAY,CAACC,MAAAA;AACnCA,MAAEC,WAAWA,WAAWC,QAAQ,IAAIC,IAAIC,KAAKH,WAAWG,KAAI,CAAA;AAC5D,QAAIC,WAAWC,iBAAiB;AAC9BN,QAAEK,WAAWC,eAAe,IAAID,WAAWE;IAC7C;EACF,CAAA;AACF,CAAA,CAAA;",
6
- "names": ["Effect", "Capability", "Obj", "Ref", "Migrations", "ClientCapabilities", "Collection", "Capability", "makeModule", "fnUntraced", "client", "get", "ClientCapabilities", "Client", "tryPromise", "spaces", "waitUntilReady", "defaultSpace", "default", "Obj", "change", "properties", "p", "Collection", "typename", "Ref", "make", "Migrations", "versionProperty", "targetVersion"]
7
- }
@@ -1,7 +0,0 @@
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';\n\nimport { Capability, Common, Plugin, UndoMapping } from '@dxos/app-framework';\nimport { SpaceState, getSpace } from '@dxos/client/echo';\nimport { Database, Obj, Query, Ref, Relation, Type } 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 { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention/types';\nimport { iconValues } from '@dxos/react-ui-pickers/icons';\nimport { Collection, ProjectionModel, createEchoChangeCallback, getTypenameFromQuery } from '@dxos/schema';\nimport { hues } from '@dxos/ui-theme';\n\nimport { type JoinDialogProps } from '../../components';\nimport {\n CREATE_OBJECT_DIALOG,\n CREATE_SPACE_DIALOG,\n JOIN_DIALOG,\n OBJECT_RENAME_POPOVER,\n SPACE_RENAME_POPOVER,\n} from '../../constants';\nimport { SpaceEvents } from '../../types';\nimport { SpaceCapabilities, SpaceOperation } from '../../types';\nimport { COMPOSER_SPACE_LOCK, cloneObject, getNestedObjects } from '../../util';\n\ntype OperationResolverOptions = {\n createInvitationUrl: (invitationCode: string) => string;\n observability?: boolean;\n};\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* (props?: OperationResolverOptions) {\n const { createInvitationUrl, observability } = props!;\n const capabilityManager = yield* Capability.Service;\n\n const resolve = (typename: string) =>\n capabilityManager.getAll(Common.Capability.Metadata).find(({ id }: { id: string }) => id === typename)\n ?.metadata ?? {};\n\n return [\n Capability.contributes(Common.Capability.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: 'dxos.org/plugin/space' }],\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: 'plugin-space' }];\n },\n }),\n ]),\n Capability.contributes(Common.Capability.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(Common.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* Common.Capability.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(Common.LayoutOperation.Open, {\n subject: [`properties-settings${ATTENDABLE_PATH_SEPARATOR}${input.space.id}`],\n workspace: 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* Common.Capability.getAtomValue(Common.Capability.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 const openObjectIds = new Set<string>(layout.active);\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) => Obj.isObject(obj) && openObjectIds.has(Obj.getDXN(obj).toString()))\n .map((obj) => Obj.getDXN(obj).toString());\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(Common.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(Common.Capability.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* Common.Capability.getAtomValue(SpaceCapabilities.EphemeralState);\n const navigable = input.navigable ?? true;\n yield* Operation.invoke(Common.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 shouldNavigate: navigable\n ? (object: Obj.Unknown) => {\n const isCollection = Obj.instanceOf(Collection.Collection, object);\n const isSystemCollection = Obj.instanceOf(Collection.Managed, object);\n return (!isCollection && !isSystemCollection) || 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* Collection.add({\n object,\n target: Database.isDatabase(target) ? undefined : target,\n hidden: input.hidden,\n }).pipe(Effect.provide(Database.Service.layer(db)));\n\n yield* Operation.schedule(ObservabilityOperation.SendEvent, {\n name: 'space.object.add',\n properties: {\n spaceId: db.spaceId,\n objectId: object.id,\n },\n });\n\n return {\n id: Obj.getDXN(object).toString(),\n subject: [Obj.getDXN(object).toString()],\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(Common.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 // Create records smart collection.\n Obj.change(collection, (c) => {\n c.objects.push(Ref.make(Collection.makeManaged({ key: Type.getTypename(Type.PersistentType) })));\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* Common.Capability.updateAtomValue(SpaceCapabilities.EphemeralState, (current) => ({\n ...current,\n sdkMigrationRunning: { ...current.sdkMigrationRunning, [space.id]: true },\n }));\n yield* Effect.promise(() => space.internal.migrate());\n yield* Common.Capability.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(Common.LayoutOperation.UpdatePopover, {\n subject: SPACE_RENAME_POPOVER,\n anchorId: `dxos.org/ui/${input.caller}/${input.space.id}`,\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(Common.LayoutOperation.UpdatePopover, {\n subject: OBJECT_RENAME_POPOVER,\n anchorId: `dxos.org/ui/${input.caller}/${Obj.getDXN(object).toString()}`,\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(Common.LayoutOperation.Open, {\n subject: [`members-settings${ATTENDABLE_PATH_SEPARATOR}${input.space.id}`],\n workspace: 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 // UseStaticSchema\n //\n OperationResolver.make({\n operation: SpaceOperation.UseStaticSchema,\n handler: Effect.fnUntraced(function* (input) {\n const db = input.db as Database.Database;\n const client = yield* Capability.get(ClientCapabilities.Client);\n const schema: any = yield* Effect.promise(() =>\n (client as any).graph.schemaRegistry.query({ typename: input.typename, location: ['runtime'] }).first(),\n );\n const space = client.spaces.get(db.spaceId);\n invariant(space, 'Space not found');\n\n Obj.change(space.properties, (p) => {\n if (!p.staticRecords) {\n p.staticRecords = [];\n }\n if (!p.staticRecords.includes(input.typename)) {\n p.staticRecords.push(input.typename);\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.use',\n properties: {\n spaceId: space.id,\n typename: Type.getTypename(schema),\n },\n });\n\n return {};\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 as any;\n const schemas = (yield* Effect.promise(() => db.schemaRegistry.register([input.schema]))) as any[];\n const schema = schemas[0];\n Obj.change(schema.storedSchema, (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.storedSchema, 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(Common.Capability.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(Common.LayoutOperation.Open, { subject: wasActive });\n }\n }),\n }),\n ]),\n ];\n }),\n);\n"],
5
- "mappings": "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",
6
- "names": ["Effect", "Capability", "Common", "Plugin", "UndoMapping", "SpaceState", "getSpace", "Database", "Obj", "Query", "Ref", "Relation", "Type", "EchoDatabaseImpl", "Serializer", "invariant", "Migrations", "OperationResolver", "Operation", "ClientCapabilities", "ObservabilityOperation", "EdgeReplicationSetting", "ATTENDABLE_PATH_SEPARATOR", "iconValues", "Collection", "ProjectionModel", "createEchoChangeCallback", "getTypenameFromQuery", "hues", "Capability", "makeModule", "fnUntraced", "props", "createInvitationUrl", "observability", "capabilityManager", "Service", "resolve", "typename", "getAll", "Common", "Metadata", "find", "id", "metadata", "contributes", "UndoMapping", "make", "operation", "SpaceOperation", "DeleteField", "inverse", "RestoreField", "deriveContext", "input", "output", "view", "field", "index", "message", "ns", "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", "ATTENDABLE_PATH_SEPARATOR", "workspace", "layout", "getAtomValue", "Layout", "getSpace", "invariant", "every", "obj", "isObject", "openObjectIds", "Set", "active", "target", "properties", "Collection", "Promise", "all", "map", "getNestedObjects", "instanceOf", "findIndex", "ref", "flatMap", "i", "filter", "has", "getDXN", "toString", "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", "shouldNavigate", "object", "isCollection", "isSystemCollection", "Managed", "navigableCollections", "AddObject", "Database", "isDatabase", "add", "undefined", "hidden", "pipe", "provide", "layer", "schedule", "ObservabilityOperation", "SendEvent", "name", "spaceId", "objectId", "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", "push", "makeManaged", "key", "Type", "PersistentType", "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", "DELEGATED", "AuthMethod", "KNOWN_PUBLIC_KEY", "tryPromise", "subscribe", "inv", "State", "CONNECTING", "encode", "url", "copyToClipboard", "navigator", "clipboard", "writeText", "UseStaticSchema", "graph", "location", "first", "staticRecords", "includes", "SchemaAdded", "onSchemaAdded", "OnSchemaAdded", "callback", "show", "concurrency", "AddSchema", "schemas", "register", "storedSchema", "s", "AddRelation", "sync", "relation", "Source", "source", "Target", "fields", "DuplicateObject", "newObject", "cloneObject", "setFieldProjection", "restoredObjects", "flat", "forEach"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-root/react-root.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React from 'react';\n\nimport { Capability, Common } from '@dxos/app-framework';\nimport { useAtomCapability } from '@dxos/app-framework/react';\n\nimport { AwaitingObject } from '../../components';\nimport { meta } from '../../meta';\nimport { SpaceCapabilities } from '../../types';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(Common.Capability.ReactRoot, {\n id: meta.id,\n root: () => {\n const ephemeral = useAtomCapability(SpaceCapabilities.EphemeralState);\n return ephemeral.awaiting ? <AwaitingObject id={ephemeral.awaiting} /> : null;\n },\n }),\n ),\n);\n"],
5
- "mappings": ";;;;;;;;;;;;;AAIA,YAAYA,YAAY;AACxB,OAAOC,WAAW;AAElB,SAASC,YAAYC,cAAc;AACnC,SAASC,yBAAyB;AAMlC,IAAA,qBAAeC,WAAWC,WAAW,MAC5BC,eACLF,WAAWG,YAAYC,OAAOJ,WAAWK,WAAW;EAClDC,IAAIC,KAAKD;EACTE,MAAM,MAAA;AACJ,UAAMC,YAAYC,kBAAkBC,kBAAkBC,cAAc;AACpE,WAAOH,UAAUI,WAAW,sBAAA,cAACC,gBAAAA;MAAeR,IAAIG,UAAUI;SAAe;EAC3E;AACF,CAAA,CAAA,CAAA;",
6
- "names": ["Effect", "React", "Capability", "Common", "useAtomCapability", "Capability", "makeModule", "succeed", "contributes", "Common", "ReactRoot", "id", "meta", "root", "ephemeral", "useAtomCapability", "SpaceCapabilities", "EphemeralState", "awaiting", "AwaitingObject"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-surface/react-surface.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\nimport type * as Schema from 'effect/Schema';\nimport React, { useCallback } from 'react';\n\nimport { Capability, Common } from '@dxos/app-framework';\nimport { Surface, useAtomCapability, useLayout, useSettingsState } from '@dxos/app-framework/react';\nimport { Database, Obj, type Ref } from '@dxos/echo';\nimport { findAnnotation } from '@dxos/effect';\nimport { type Space, SpaceState, getSpace, isSpace, parseId, useSpace } from '@dxos/react-client/echo';\nimport { Input } from '@dxos/react-ui';\nimport { type FormFieldComponentProps, SelectField } from '@dxos/react-ui-form';\nimport { HuePicker, IconPicker } from '@dxos/react-ui-pickers';\nimport { Collection, type View, ViewAnnotation } from '@dxos/schema';\nimport { type JoinPanelProps } from '@dxos/shell/react';\n\nimport {\n CollectionArticle,\n CollectionSection,\n CreateObjectDialog,\n type CreateObjectDialogProps,\n CreateSpaceDialog,\n InlineSyncStatus,\n JoinDialog,\n MembersContainer,\n MenuFooter,\n ObjectCardStack,\n ObjectDetails,\n ObjectRenamePopover,\n RecordArticle,\n SchemaContainer,\n SmallPresenceLive,\n SpacePluginSettings,\n SpacePresence,\n SpaceRenamePopover,\n SpaceSettingsContainer,\n SyncStatus,\n ViewEditor,\n} from '../../components';\nimport {\n CREATE_OBJECT_DIALOG,\n CREATE_SPACE_DIALOG,\n JOIN_DIALOG,\n OBJECT_RENAME_POPOVER,\n SPACE_RENAME_POPOVER,\n} from '../../constants';\nimport { useTypeOptions } from '../../hooks';\nimport { meta } from '../../meta';\nimport {\n HueAnnotationId,\n IconAnnotationId,\n SpaceCapabilities,\n type SpaceSettingsProps,\n type TypeInputOptions,\n TypeInputOptionsAnnotationId,\n} from '../../types';\n\ntype ReactSurfaceOptions = {\n createInvitationUrl: (invitationCode: string) => string;\n};\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* (props?: ReactSurfaceOptions) {\n const { createInvitationUrl } = props!;\n\n return Capability.contributes(Common.Capability.ReactSurface, [\n Common.createSurface({\n id: `${meta.id}/article`,\n role: 'article',\n filter: (data): data is { subject: Space } =>\n // TODO(wittjosiah): Need to avoid shotgun parsing space state everywhere.\n isSpace(data.subject) && data.subject.state.get() === SpaceState.SPACE_READY,\n component: ({ data, role, ...rest }) => (\n <Surface\n data={{\n id: data.subject.id,\n subject: data.subject.properties[Collection.Collection.typename]?.target,\n }}\n role={role}\n {...rest}\n />\n ),\n }),\n Common.createSurface({\n id: `${meta.id}/collection-fallback`,\n role: 'article',\n position: 'fallback',\n filter: (data): data is { subject: Collection.Collection | Collection.Managed } =>\n Obj.instanceOf(Collection.Collection, data.subject) || Obj.instanceOf(Collection.Managed, data.subject),\n component: ({ data }) => <CollectionArticle subject={data.subject} />,\n }),\n Common.createSurface({\n id: `${meta.id}/record-article`,\n role: 'article',\n position: 'fallback',\n filter: (data): data is { subject: Obj.Unknown } => Obj.isObject(data.subject),\n component: ({ data }) => <RecordArticle subject={data.subject} />,\n }),\n Common.createSurface({\n id: `${meta.id}/plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: Common.Capability.Settings } =>\n Common.Capability.isSettings(data.subject) && data.subject.prefix === meta.id,\n component: ({ data: { subject } }) => {\n const { settings, updateSettings } = useSettingsState<SpaceSettingsProps>(subject.atom);\n return <SpacePluginSettings settings={settings} onSettingsChange={updateSettings} />;\n },\n }),\n Common.createSurface({\n id: `${meta.id}/companion/object-settings`,\n role: 'article',\n filter: (data): data is { companionTo: Obj.Unknown } =>\n Obj.isObject(data.companionTo) && data.subject === 'settings',\n component: ({ ref, data, role }) => <ObjectDetails subject={data.companionTo} role={role} ref={ref} />,\n }),\n Common.createSurface({\n id: `${meta.id}/space-settings-properties`,\n role: 'article',\n filter: (data): data is { subject: string } => data.subject === `${meta.id}/properties`,\n component: ({ ref }) => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <SpaceSettingsContainer space={space} ref={ref} />;\n },\n }),\n Common.createSurface({\n id: `${meta.id}/space-settings-members`,\n role: 'article',\n position: 'hoist',\n filter: (data): data is { subject: string } => data.subject === `${meta.id}/members`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <MembersContainer space={space} createInvitationUrl={createInvitationUrl} />;\n },\n }),\n Common.createSurface({\n id: `${meta.id}/space-settings-schema`,\n role: 'article',\n filter: (data): data is { subject: string } => data.subject === `${meta.id}/schema`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <SchemaContainer space={space} />;\n },\n }),\n Common.createSurface({\n id: `${meta.id}/selected-objects`,\n role: 'article',\n filter: (data): data is { companionTo: Obj.Obj<{ view: Ref.Ref<View.View> }>; subject: 'selected-objects' } => {\n if (data.subject !== 'selected-objects' || !Obj.isObject(data.companionTo)) {\n return false;\n }\n\n // TODO(burdon): Check companionTo.view.target is valid.\n const schema = Obj.getSchema(data.companionTo);\n return Option.fromNullable(schema).pipe(\n Option.flatMap((schema) => ViewAnnotation.get(schema)),\n Option.getOrElse(() => false),\n );\n },\n component: ({ data, ref }) => (\n <ObjectCardStack\n key={Obj.getDXN(data.companionTo).toString()}\n objectId={Obj.getDXN(data.companionTo).toString()}\n view={data.companionTo.view.target!}\n ref={ref}\n />\n ),\n }),\n Common.createSurface({\n id: JOIN_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: JoinPanelProps } => data.component === JOIN_DIALOG,\n component: ({ data }) => <JoinDialog {...data.props} />,\n }),\n Common.createSurface({\n id: CREATE_SPACE_DIALOG,\n role: 'dialog',\n filter: (data): data is any => data.component === CREATE_SPACE_DIALOG,\n component: () => <CreateSpaceDialog />,\n }),\n Common.createSurface({\n id: CREATE_OBJECT_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: CreateObjectDialogProps } => data.component === CREATE_OBJECT_DIALOG,\n component: ({ data }) => <CreateObjectDialog {...data.props} />,\n }),\n Common.createSurface({\n id: `${meta.id}/create-initial-space-form-[hue]`,\n role: 'form-input',\n filter: (data): data is { prop: string; schema: Schema.Schema<any> } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, HueAnnotationId);\n return !!annotation;\n },\n component: ({ data: _, ...inputProps }) => {\n const { label, readonly, type, getValue, onValueChange } = inputProps as any as FormFieldComponentProps;\n const handleChange = useCallback((nextHue: string) => onValueChange(type, nextHue), [onValueChange]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange]);\n return (\n <Input.Root>\n <Input.Label>{label}</Input.Label>\n <HuePicker disabled={!!readonly} value={getValue() ?? ''} onChange={handleChange} onReset={handleReset} />\n </Input.Root>\n );\n },\n }),\n Common.createSurface({\n id: `${meta.id}/create-initial-space-form-[icon]`,\n role: 'form-input',\n filter: (data): data is { prop: string; schema: Schema.Schema<any> } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, IconAnnotationId);\n return !!annotation;\n },\n component: ({ data: _, ...inputProps }) => {\n const { label, readonly, type, getValue, onValueChange } = inputProps as any as FormFieldComponentProps;\n const handleChange = useCallback((nextIcon: string) => onValueChange(type, nextIcon), [onValueChange]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange]);\n return (\n <Input.Root>\n <Input.Label>{label}</Input.Label>\n <IconPicker\n disabled={!!readonly}\n value={getValue() ?? ''}\n onChange={handleChange}\n onReset={handleReset}\n />\n </Input.Root>\n );\n },\n }),\n Common.createSurface({\n id: `${meta.id}/typename-form-input`,\n role: 'form-input',\n filter: (\n data,\n ): data is {\n prop: string;\n schema: Schema.Schema.Any;\n target: Database.Database | Collection.Collection | undefined;\n } => {\n if (data.prop !== 'typename') {\n return false;\n }\n\n const annotation = findAnnotation((data.schema as Schema.Schema.All).ast, TypeInputOptionsAnnotationId);\n return !!annotation;\n },\n component: ({ data: { schema, target }, ...inputProps }) => {\n const props = inputProps as any as FormFieldComponentProps;\n const db = Database.isDatabase(target) ? target : target && Obj.getDatabase(target);\n const space = useSpace(db?.spaceId);\n const annotation = findAnnotation<TypeInputOptions>(schema.ast, TypeInputOptionsAnnotationId)!;\n const options = useTypeOptions({ space, annotation });\n\n return <SelectField {...props} options={options} />;\n },\n }),\n Common.createSurface({\n id: `${meta.id}/object-settings`,\n role: 'object-settings',\n filter: (data): data is { subject: { view: Ref.Ref<View.View> } } => {\n if (!Obj.isObject(data.subject)) {\n return false;\n }\n\n const schema = Obj.getSchema(data.subject);\n return Option.fromNullable(schema).pipe(\n Option.flatMap((schema) => ViewAnnotation.get(schema)),\n Option.getOrElse(() => false),\n );\n },\n component: ({ data }) => {\n const view = data.subject.view.target;\n if (!view) {\n return null;\n }\n\n return <ViewEditor view={view} />;\n },\n }),\n Common.createSurface({\n id: SPACE_RENAME_POPOVER,\n role: 'popover',\n filter: (data): data is { props: Space } => data.component === SPACE_RENAME_POPOVER && isSpace(data.props),\n component: ({ data }) => <SpaceRenamePopover space={data.props} />,\n }),\n Common.createSurface({\n id: OBJECT_RENAME_POPOVER,\n role: 'popover',\n filter: (data): data is { props: Obj.Unknown } =>\n data.component === OBJECT_RENAME_POPOVER && Obj.isObject(data.props),\n component: ({ data }) => <ObjectRenamePopover object={data.props} />,\n }),\n Common.createSurface({\n id: `${meta.id}/menu-footer`,\n role: 'menu-footer',\n filter: (data): data is { subject: Obj.Unknown } => Obj.isObject(data.subject),\n component: ({ data }) => <MenuFooter object={data.subject} />,\n }),\n Common.createSurface({\n id: `${meta.id}/navtree-presence`,\n role: 'navtree-item-end',\n filter: (data): data is { id: string; subject: Obj.Unknown; open?: boolean } =>\n typeof data.id === 'string' && Obj.isObject(data.subject),\n component: ({ data }) => {\n const ephemeral = useAtomCapability(SpaceCapabilities.EphemeralState);\n return <SmallPresenceLive id={data.id} open={data.open} viewers={ephemeral.viewersByObject[data.id]} />;\n },\n }),\n // TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.\n Common.createSurface({\n id: `${meta.id}/navtree-presence-fallback`,\n role: 'navtree-item-end',\n position: 'fallback',\n filter: (data): data is { id: string; open?: boolean } => typeof data.id === 'string',\n component: ({ data }) => <SmallPresenceLive id={data.id} open={data.open} />,\n }),\n // TODO(wittjosiah): Broken?\n Common.createSurface({\n id: `${meta.id}/navtree-sync-status`,\n role: 'navtree-item-end',\n filter: (data): data is { subject: Space; open?: boolean } => isSpace(data.subject),\n component: ({ data }) => <InlineSyncStatus space={data.subject} open={data.open} />,\n }),\n Common.createSurface({\n id: `${meta.id}/navbar-presence`,\n role: 'navbar-end',\n position: 'hoist',\n filter: (data): data is { subject: Space | Obj.Unknown } => isSpace(data.subject) || Obj.isObject(data.subject),\n component: ({ data }) => {\n const space = isSpace(data.subject) ? data.subject : getSpace(data.subject);\n const object = isSpace(data.subject)\n ? data.subject.state.get() === SpaceState.SPACE_READY\n ? (space?.properties[Collection.Collection.typename]?.target as Collection.Collection)\n : undefined\n : data.subject;\n\n return object ? <SpacePresence object={object} /> : null;\n },\n }),\n Common.createSurface({\n id: `${meta.id}/collection-section`,\n role: 'section',\n filter: (data): data is { subject: Collection.Collection } =>\n Obj.instanceOf(Collection.Collection, data.subject),\n component: ({ data }) => <CollectionSection subject={data.subject} />,\n }),\n Common.createSurface({\n id: `${meta.id}/status`,\n role: 'status',\n component: () => <SyncStatus />,\n }),\n ]);\n }),\n);\n"],
5
- "mappings": "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",
6
- "names": ["Effect", "Option", "React", "useCallback", "Capability", "Common", "Surface", "useAtomCapability", "useLayout", "useSettingsState", "Database", "Obj", "findAnnotation", "SpaceState", "getSpace", "isSpace", "parseId", "useSpace", "Input", "SelectField", "HuePicker", "IconPicker", "Collection", "ViewAnnotation", "Capability", "makeModule", "fnUntraced", "props", "createInvitationUrl", "contributes", "Common", "ReactSurface", "createSurface", "id", "meta", "role", "filter", "data", "isSpace", "subject", "state", "get", "SpaceState", "SPACE_READY", "component", "rest", "Surface", "properties", "Collection", "typename", "target", "position", "Obj", "instanceOf", "Managed", "CollectionArticle", "isObject", "RecordArticle", "isSettings", "prefix", "settings", "updateSettings", "useSettingsState", "atom", "SpacePluginSettings", "onSettingsChange", "companionTo", "ref", "ObjectDetails", "layout", "useLayout", "spaceId", "parseId", "workspace", "space", "useSpace", "SpaceSettingsContainer", "MembersContainer", "SchemaContainer", "schema", "getSchema", "fromNullable", "pipe", "flatMap", "ViewAnnotation", "getOrElse", "ObjectCardStack", "key", "getDXN", "toString", "objectId", "view", "JOIN_DIALOG", "JoinDialog", "CREATE_SPACE_DIALOG", "CreateSpaceDialog", "CREATE_OBJECT_DIALOG", "CreateObjectDialog", "annotation", "findAnnotation", "ast", "HueAnnotationId", "_", "inputProps", "label", "readonly", "type", "getValue", "onValueChange", "handleChange", "useCallback", "nextHue", "handleReset", "undefined", "Input", "Root", "Label", "HuePicker", "disabled", "value", "onChange", "onReset", "IconAnnotationId", "nextIcon", "IconPicker", "prop", "TypeInputOptionsAnnotationId", "db", "Database", "isDatabase", "getDatabase", "options", "useTypeOptions", "SelectField", "ViewEditor", "SPACE_RENAME_POPOVER", "SpaceRenamePopover", "OBJECT_RENAME_POPOVER", "ObjectRenamePopover", "object", "MenuFooter", "ephemeral", "useAtomCapability", "SpaceCapabilities", "EphemeralState", "SmallPresenceLive", "open", "viewers", "viewersByObject", "InlineSyncStatus", "getSpace", "SpacePresence", "CollectionSection", "SyncStatus"]
7
- }
@@ -1,50 +0,0 @@
1
- import {
2
- SpaceCapabilities
3
- } from "./chunk-CCRSHECL.mjs";
4
- import "./chunk-HSMQFM57.mjs";
5
-
6
- // src/capabilities/repair/repair.ts
7
- import * as Effect from "effect/Effect";
8
- import { Capability } from "@dxos/app-framework";
9
- import { Obj, Ref, Type } from "@dxos/echo";
10
- import { Collection } from "@dxos/schema";
11
- var repair_default = Capability.makeModule(() => Effect.succeed(Capability.contributes(SpaceCapabilities.Repair, async ({ space }) => {
12
- await removeQueryCollections(space);
13
- await ensureSystemCollection(space);
14
- })));
15
- var removeQueryCollections = async (space) => {
16
- const rootCollection = await space.properties[Collection.Collection.typename]?.load();
17
- if (!rootCollection) {
18
- return;
19
- }
20
- const objects = await Promise.all(rootCollection.objects.map((ref) => ref.load()));
21
- const queryCollections = objects.filter((object) => Obj.getTypename(object) === "dxos.org/type/QueryCollection");
22
- if (queryCollections.length === 0) {
23
- return;
24
- }
25
- Obj.change(rootCollection, (c) => {
26
- c.objects = objects.filter((object) => Obj.getTypename(object) !== "dxos.org/type/QueryCollection").map((object) => Ref.make(object));
27
- });
28
- queryCollections.forEach((object) => space.db.remove(object));
29
- };
30
- var ensureSystemCollection = async (space) => {
31
- const rootCollection = await space.properties[Collection.Collection.typename]?.load();
32
- if (!rootCollection) {
33
- return;
34
- }
35
- const objects = await Promise.all(rootCollection.objects.map((ref) => ref.load()));
36
- const records = objects.find((object) => Obj.instanceOf(Collection.Managed, object) && object.key === Type.getTypename(Type.PersistentType));
37
- if (records) {
38
- return;
39
- }
40
- const recordsCollectionRef = Ref.make(Collection.makeManaged({
41
- key: Type.getTypename(Type.PersistentType)
42
- }));
43
- Obj.change(rootCollection, (c) => {
44
- c.objects.push(recordsCollectionRef);
45
- });
46
- };
47
- export {
48
- repair_default as default
49
- };
50
- //# sourceMappingURL=repair-CJG26D52.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/repair/repair.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Obj, Ref, Type } from '@dxos/echo';\nimport { type Space } from '@dxos/react-client/echo';\nimport { Collection } from '@dxos/schema';\n\nimport { SpaceCapabilities } from '../../types';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(SpaceCapabilities.Repair, async ({ space }: { space: Space }) => {\n await removeQueryCollections(space);\n await ensureSystemCollection(space);\n }),\n ),\n);\n\n/**\n * Remove all existing query collections from the root collection.\n */\nconst removeQueryCollections = async (space: Space) => {\n const rootCollection: Collection.Collection = await space.properties[Collection.Collection.typename]?.load();\n if (!rootCollection) {\n return;\n }\n\n const objects = await Promise.all(rootCollection.objects.map((ref) => ref.load()));\n const queryCollections = objects.filter((object) => Obj.getTypename(object) === 'dxos.org/type/QueryCollection');\n if (queryCollections.length === 0) {\n return;\n }\n\n Obj.change(rootCollection, (c) => {\n c.objects = objects\n .filter((object) => Obj.getTypename(object) !== 'dxos.org/type/QueryCollection')\n .map((object) => Ref.make(object));\n });\n queryCollections.forEach((object) => space.db.remove(object));\n};\n\n/**\n * Ensure the root collection has a system collection for StoredSchema.\n */\nconst ensureSystemCollection = async (space: Space) => {\n const rootCollection: Collection.Collection = await space.properties[Collection.Collection.typename]?.load();\n if (!rootCollection) {\n return;\n }\n\n const objects = await Promise.all(rootCollection.objects.map((ref) => ref.load()));\n const records = objects.find(\n (object) => Obj.instanceOf(Collection.Managed, object) && object.key === Type.getTypename(Type.PersistentType),\n );\n if (records) {\n return;\n }\n\n const recordsCollectionRef = Ref.make(Collection.makeManaged({ key: Type.getTypename(Type.PersistentType) }));\n Obj.change(rootCollection, (c) => {\n c.objects.push(recordsCollectionRef);\n });\n};\n"],
5
- "mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,KAAKC,KAAKC,YAAY;AAE/B,SAASC,kBAAkB;AAI3B,IAAA,iBAAeC,WAAWC,WAAW,MAC5BC,eACLF,WAAWG,YAAYC,kBAAkBC,QAAQ,OAAO,EAAEC,MAAK,MAAoB;AACjF,QAAMC,uBAAuBD,KAAAA;AAC7B,QAAME,uBAAuBF,KAAAA;AAC/B,CAAA,CAAA,CAAA;AAOJ,IAAMC,yBAAyB,OAAOD,UAAAA;AACpC,QAAMG,iBAAwC,MAAMH,MAAMI,WAAWC,WAAWA,WAAWC,QAAQ,GAAGC,KAAAA;AACtG,MAAI,CAACJ,gBAAgB;AACnB;EACF;AAEA,QAAMK,UAAU,MAAMC,QAAQC,IAAIP,eAAeK,QAAQG,IAAI,CAACC,QAAQA,IAAIL,KAAI,CAAA,CAAA;AAC9E,QAAMM,mBAAmBL,QAAQM,OAAO,CAACC,WAAWC,IAAIC,YAAYF,MAAAA,MAAY,+BAAA;AAChF,MAAIF,iBAAiBK,WAAW,GAAG;AACjC;EACF;AAEAF,MAAIG,OAAOhB,gBAAgB,CAACiB,MAAAA;AAC1BA,MAAEZ,UAAUA,QACTM,OAAO,CAACC,WAAWC,IAAIC,YAAYF,MAAAA,MAAY,+BAAA,EAC/CJ,IAAI,CAACI,WAAWM,IAAIC,KAAKP,MAAAA,CAAAA;EAC9B,CAAA;AACAF,mBAAiBU,QAAQ,CAACR,WAAWf,MAAMwB,GAAGC,OAAOV,MAAAA,CAAAA;AACvD;AAKA,IAAMb,yBAAyB,OAAOF,UAAAA;AACpC,QAAMG,iBAAwC,MAAMH,MAAMI,WAAWC,WAAWA,WAAWC,QAAQ,GAAGC,KAAAA;AACtG,MAAI,CAACJ,gBAAgB;AACnB;EACF;AAEA,QAAMK,UAAU,MAAMC,QAAQC,IAAIP,eAAeK,QAAQG,IAAI,CAACC,QAAQA,IAAIL,KAAI,CAAA,CAAA;AAC9E,QAAMmB,UAAUlB,QAAQmB,KACtB,CAACZ,WAAWC,IAAIY,WAAWvB,WAAWwB,SAASd,MAAAA,KAAWA,OAAOe,QAAQC,KAAKd,YAAYc,KAAKC,cAAc,CAAA;AAE/G,MAAIN,SAAS;AACX;EACF;AAEA,QAAMO,uBAAuBZ,IAAIC,KAAKjB,WAAW6B,YAAY;IAAEJ,KAAKC,KAAKd,YAAYc,KAAKC,cAAc;EAAE,CAAA,CAAA;AAC1GhB,MAAIG,OAAOhB,gBAAgB,CAACiB,MAAAA;AAC1BA,MAAEZ,QAAQ2B,KAAKF,oBAAAA;EACjB,CAAA;AACF;",
6
- "names": ["Effect", "Capability", "Obj", "Ref", "Type", "Collection", "Capability", "makeModule", "succeed", "contributes", "SpaceCapabilities", "Repair", "space", "removeQueryCollections", "ensureSystemCollection", "rootCollection", "properties", "Collection", "typename", "load", "objects", "Promise", "all", "map", "ref", "queryCollections", "filter", "object", "Obj", "getTypename", "length", "change", "c", "Ref", "make", "forEach", "db", "remove", "records", "find", "instanceOf", "Managed", "key", "Type", "PersistentType", "recordsCollectionRef", "makeManaged", "push"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/settings/settings.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability, Common } from '@dxos/app-framework';\nimport { createKvsStore } from '@dxos/effect';\n\nimport { meta } from '../../meta';\nimport { SpaceCapabilities, SpaceSettingsSchema } from '../../types';\n\nexport default Capability.makeModule(() =>\n Effect.sync(() => {\n const settingsAtom = createKvsStore({\n key: meta.id,\n schema: SpaceSettingsSchema,\n defaultValue: () => ({\n showHidden: false,\n }),\n });\n\n return [\n Capability.contributes(SpaceCapabilities.Settings, settingsAtom),\n Capability.contributes(Common.Capability.Settings, {\n prefix: meta.id,\n schema: SpaceSettingsSchema,\n atom: settingsAtom,\n }),\n ];\n }),\n);\n"],
5
- "mappings": ";;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,YAAYC,cAAc;AACnC,SAASC,sBAAsB;AAK/B,IAAA,mBAAeC,WAAWC,WAAW,MAC5BC,YAAK,MAAA;AACV,QAAMC,eAAeC,eAAe;IAClCC,KAAKC,KAAKC;IACVC,QAAQC;IACRC,cAAc,OAAO;MACnBC,YAAY;IACd;EACF,CAAA;AAEA,SAAO;IACLX,WAAWY,YAAYC,kBAAkBC,UAAUX,YAAAA;IACnDH,WAAWY,YAAYG,OAAOf,WAAWc,UAAU;MACjDE,QAAQV,KAAKC;MACbC,QAAQC;MACRQ,MAAMd;IACR,CAAA;;AAEJ,CAAA,CAAA;",
6
- "names": ["Effect", "Capability", "Common", "createKvsStore", "Capability", "makeModule", "sync", "settingsAtom", "createKvsStore", "key", "meta", "id", "schema", "SpaceSettingsSchema", "defaultValue", "showHidden", "contributes", "SpaceCapabilities", "Settings", "Common", "prefix", "atom"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/spaces-ready/spaces-ready.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { Capability, Common } from '@dxos/app-framework';\nimport { SubscriptionList } from '@dxos/async';\nimport { Filter, Obj } from '@dxos/echo';\nimport { log } from '@dxos/log';\nimport { AttentionCapabilities } from '@dxos/plugin-attention';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { Graph } from '@dxos/plugin-graph';\nimport { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';\nimport { PublicKey } from '@dxos/react-client';\nimport { SPACE_ID_LENGTH, SpaceState, parseId } from '@dxos/react-client/echo';\nimport { Expando } from '@dxos/schema';\nimport { ComplexMap, reduceGroupBy } from '@dxos/util';\n\nimport { SpaceCapabilities, SpaceOperation } from '../../types';\nimport { COMPOSER_SPACE_LOCK, SHARED } from '../../util';\n\nconst ACTIVE_NODE_BROADCAST_INTERVAL = 30_000;\nconst WAIT_FOR_OBJECT_TIMEOUT = 5_000;\n\n// E.g., dxn:echo:BA25QRC2FEWCSAMRP4RZL65LWJ7352CKE:01J00J9B45YHYSGZQTQMSKMGJ6\nconst ECHO_DXN_LENGTH = 3 + 1 + 4 + 1 + 33 + 1 + 26;\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const subscriptions = new SubscriptionList();\n const spaceSubscriptions = new SubscriptionList();\n\n const { invoke, invokePromise } = yield* Capability.get(Common.Capability.OperationInvoker);\n const { graph } = yield* Capability.get(Common.Capability.AppGraph);\n const registry = yield* Capability.get(Common.Capability.AtomRegistry);\n const layoutAtom = yield* Capability.get(Common.Capability.Layout);\n const attention = yield* Capability.get(AttentionCapabilities.Attention);\n const stateAtom = yield* Capability.get(SpaceCapabilities.State);\n const ephemeralAtom = yield* Capability.get(SpaceCapabilities.EphemeralState);\n const client = yield* Capability.get(ClientCapabilities.Client);\n\n const defaultSpace = client.spaces.default;\n yield* Effect.tryPromise(() => defaultSpace.waitUntilReady());\n\n // Check if deck state indicates we should switch to default space.\n const layout = registry.get(layoutAtom);\n if (layout.workspace === 'default') {\n yield* invoke(Common.LayoutOperation.SwitchWorkspace, { subject: defaultSpace.id });\n }\n\n // Initialize space sharing lock in default space.\n if (typeof defaultSpace.properties[COMPOSER_SPACE_LOCK] !== 'boolean') {\n Obj.change(defaultSpace.properties, (p) => {\n p[COMPOSER_SPACE_LOCK] = true;\n });\n }\n\n const queryResults = yield* Effect.tryPromise(() =>\n defaultSpace.db.query(Filter.type(Expando.Expando, { key: SHARED })).run(),\n );\n const spacesOrder = queryResults[0];\n if (!spacesOrder) {\n // TODO(wittjosiah): Cannot be a Folder because Spaces are not TypedObjects so can't be saved in the database.\n // Instead, we store order as an array of space ids.\n defaultSpace.db.add(Obj.make(Expando.Expando, { key: SHARED, order: [] }));\n }\n\n // Await missing objects - subscribe to layout atom changes.\n // NOTE: Use immediate: true to check initial state (URL handler may have already set active).\n let lastActiveCleanup: (() => void) | undefined;\n subscriptions.add(\n registry.subscribe(\n layoutAtom,\n (layout) => {\n // Clean up previous effect.\n lastActiveCleanup?.();\n lastActiveCleanup = undefined;\n\n // Determine the ID to check - either from active item or workspace.\n const id = layout.active.length === 1 ? layout.active[0] : layout.workspace;\n if (!id) {\n return;\n }\n\n const node = Graph.getNode(graph, id).pipe(Option.getOrNull);\n if (!node && (id.length === ECHO_DXN_LENGTH || id.length === SPACE_ID_LENGTH)) {\n void Graph.initialize(graph, id);\n const timeout = setTimeout(async () => {\n const node = Graph.getNode(graph, id).pipe(Option.getOrNull);\n if (!node) {\n await invokePromise(SpaceOperation.WaitForObject, { id });\n }\n }, WAIT_FOR_OBJECT_TIMEOUT);\n\n lastActiveCleanup = () => clearTimeout(timeout);\n }\n },\n { immediate: true },\n ),\n );\n // Also add cleanup for the last effect.\n subscriptions.add(() => lastActiveCleanup?.());\n\n // Cache space names.\n subscriptions.add(\n client.spaces.subscribe(async (spaces) => {\n // TODO(wittjosiah): Remove. This is a hack to be able to migrate the default space properties.\n if (defaultSpace.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION) {\n await defaultSpace.internal.migrate();\n }\n\n spaces\n .filter((space) => space.state.get() === SpaceState.SPACE_READY)\n .forEach((space) => {\n const updateSpaceName = () => {\n const name = space.properties.name;\n if (!name) {\n registry.update(stateAtom, (current) => {\n const { [space.id]: _, ...rest } = current.spaceNames;\n return { ...current, spaceNames: rest };\n });\n } else {\n registry.update(stateAtom, (current) => ({\n ...current,\n spaceNames: { ...current.spaceNames, [space.id]: name },\n }));\n }\n };\n updateSpaceName();\n subscriptions.add(Obj.subscribe(space.properties, updateSpaceName));\n });\n }).unsubscribe,\n );\n\n // Broadcast active node to other peers in the space - subscribe to both layout and attention.\n let broadcastCleanup: (() => void) | undefined;\n const setupBroadcast = () => {\n broadcastCleanup?.();\n\n const layout = registry.get(layoutAtom);\n const current = attention.getCurrent();\n const active = layout.active;\n const inactive = layout.inactive;\n\n const send = () => {\n const spaces = client.spaces.get();\n const identity = client.halo.identity.get();\n if (identity) {\n // Group parts by space for efficient messaging.\n const idsBySpace = reduceGroupBy(active, (id: string) => {\n try {\n const { spaceId } = parseId(id);\n return spaceId;\n } catch {\n return null;\n }\n });\n\n const removedBySpace = reduceGroupBy(inactive, (id: string) => {\n try {\n const { spaceId } = parseId(id);\n return spaceId;\n } catch {\n return null;\n }\n });\n\n // NOTE: Ensure all spaces are included so that we send the correct `removed` object arrays.\n for (const space of spaces) {\n if (!idsBySpace.has(space.id)) {\n idsBySpace.set(space.id, []);\n }\n }\n\n for (const [spaceId, added] of idsBySpace) {\n const removed = removedBySpace.get(spaceId) ?? [];\n const space = spaces.find((space) => space.id === spaceId);\n if (!space) {\n continue;\n }\n\n void space\n .postMessage('viewing', {\n identityKey: identity.identityKey.toHex(),\n attended: current,\n added,\n removed,\n })\n // TODO(burdon): This seems defensive; why would this fail? Backoff interval.\n .catch((err) => {\n log.warn('Failed to broadcast active node for presence.', {\n err: err.message,\n });\n });\n }\n }\n };\n\n send();\n // Send at interval to allow peers to expire entries if they become disconnected.\n const interval = setInterval(() => send(), ACTIVE_NODE_BROADCAST_INTERVAL);\n broadcastCleanup = () => clearInterval(interval);\n };\n\n // Subscribe to layout changes for broadcast.\n subscriptions.add(registry.subscribe(layoutAtom, setupBroadcast));\n // Subscribe to attention.current changes.\n subscriptions.add(attention.subscribeCurrent(() => setupBroadcast()));\n // Initial setup.\n setupBroadcast();\n // Cleanup.\n subscriptions.add(() => broadcastCleanup?.());\n\n // Listen for active nodes from other peers in the space.\n subscriptions.add(\n client.spaces.subscribe((spaces) => {\n spaceSubscriptions.clear();\n spaces.forEach((space) => {\n spaceSubscriptions.add(\n space.listen('viewing', (message) => {\n const { added, removed, attended } = message.payload;\n\n const identityKey = PublicKey.safeFrom(message.payload.identityKey);\n const currentIdentity = client.halo.identity.get();\n if (\n identityKey &&\n !currentIdentity?.identityKey.equals(identityKey) &&\n Array.isArray(added) &&\n Array.isArray(removed)\n ) {\n // TODO(wittjosiah): Stop using (Complex)Map inside reactive object.\n registry.update(ephemeralAtom, (ephemeral) => {\n added.forEach((id) => {\n if (typeof id === 'string') {\n if (!(id in ephemeral.viewersByObject)) {\n ephemeral.viewersByObject[id] = new ComplexMap(PublicKey.hash);\n }\n ephemeral.viewersByObject[id]!.set(identityKey, {\n lastSeen: Date.now(),\n currentlyAttended: new Set(attended).has(id),\n });\n if (!ephemeral.viewersByIdentity.has(identityKey)) {\n ephemeral.viewersByIdentity.set(identityKey, new Set());\n }\n ephemeral.viewersByIdentity.get(identityKey)!.add(id);\n }\n });\n\n removed.forEach((id) => {\n if (typeof id === 'string') {\n ephemeral.viewersByObject[id]?.delete(identityKey);\n ephemeral.viewersByIdentity.get(identityKey)?.delete(id);\n // It's okay for these to be empty sets/maps, reduces churn.\n }\n });\n\n return { ...ephemeral };\n });\n }\n }),\n );\n });\n }).unsubscribe,\n );\n\n // Enable edge replication for all spaces.\n try {\n yield* Effect.tryPromise(() =>\n Promise.all(\n client.spaces\n .get()\n .map((space) => space.internal.setEdgeReplicationPreference(EdgeReplicationSetting.ENABLED)),\n ),\n );\n registry.update(stateAtom, (current) => ({ ...current, enabledEdgeReplication: true }));\n } catch (err) {\n log.catch(err);\n }\n\n return Capability.contributes(Common.Capability.Null, null, () =>\n Effect.sync(() => {\n spaceSubscriptions.clear();\n subscriptions.clear();\n }),\n );\n }),\n);\n"],
5
- "mappings": "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",
6
- "names": ["Effect", "Option", "Capability", "Common", "SubscriptionList", "Filter", "Obj", "log", "AttentionCapabilities", "ClientCapabilities", "Graph", "EdgeReplicationSetting", "PublicKey", "SPACE_ID_LENGTH", "SpaceState", "parseId", "Expando", "ComplexMap", "reduceGroupBy", "ACTIVE_NODE_BROADCAST_INTERVAL", "WAIT_FOR_OBJECT_TIMEOUT", "ECHO_DXN_LENGTH", "Capability", "makeModule", "fnUntraced", "subscriptions", "SubscriptionList", "spaceSubscriptions", "invoke", "invokePromise", "get", "Common", "OperationInvoker", "graph", "AppGraph", "registry", "AtomRegistry", "layoutAtom", "Layout", "attention", "AttentionCapabilities", "Attention", "stateAtom", "SpaceCapabilities", "State", "ephemeralAtom", "EphemeralState", "client", "ClientCapabilities", "Client", "defaultSpace", "spaces", "default", "tryPromise", "waitUntilReady", "layout", "workspace", "LayoutOperation", "SwitchWorkspace", "subject", "id", "properties", "COMPOSER_SPACE_LOCK", "Obj", "change", "p", "queryResults", "db", "query", "Filter", "type", "Expando", "key", "SHARED", "run", "spacesOrder", "add", "make", "order", "lastActiveCleanup", "subscribe", "undefined", "active", "length", "node", "Graph", "getNode", "pipe", "getOrNull", "SPACE_ID_LENGTH", "initialize", "timeout", "setTimeout", "SpaceOperation", "WaitForObject", "clearTimeout", "immediate", "state", "SpaceState", "SPACE_REQUIRES_MIGRATION", "internal", "migrate", "filter", "space", "SPACE_READY", "forEach", "updateSpaceName", "name", "update", "current", "_", "rest", "spaceNames", "unsubscribe", "broadcastCleanup", "setupBroadcast", "getCurrent", "inactive", "send", "identity", "halo", "idsBySpace", "reduceGroupBy", "spaceId", "parseId", "removedBySpace", "has", "set", "added", "removed", "find", "postMessage", "identityKey", "toHex", "attended", "catch", "err", "log", "warn", "message", "interval", "setInterval", "clearInterval", "subscribeCurrent", "clear", "listen", "payload", "PublicKey", "safeFrom", "currentIdentity", "equals", "Array", "isArray", "ephemeral", "viewersByObject", "ComplexMap", "hash", "lastSeen", "Date", "now", "currentlyAttended", "Set", "viewersByIdentity", "delete", "Promise", "all", "map", "setEdgeReplicationPreference", "EdgeReplicationSetting", "ENABLED", "enabledEdgeReplication", "contributes", "Null", "sync"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/state/state.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom } from '@effect-atom/atom-react';\nimport * as Effect from 'effect/Effect';\n\nimport { Capability, Common } from '@dxos/app-framework';\nimport { createKvsStore } from '@dxos/effect';\nimport { PublicKey } from '@dxos/keys';\nimport { ComplexMap } from '@dxos/util';\n\nimport { meta } from '../../meta';\nimport { SpaceCapabilities } from '../../types';\n\n/** Default persisted state. */\nconst defaultSpaceState: SpaceCapabilities.SpaceState = {\n spaceNames: {},\n enabledEdgeReplication: false,\n};\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const registry = yield* Capability.get(Common.Capability.AtomRegistry);\n\n // Persisted state using KVS store.\n const stateAtom = createKvsStore({\n key: `${meta.id}/state`,\n schema: SpaceCapabilities.StateSchema,\n defaultValue: () => ({ ...defaultSpaceState }),\n });\n\n // Ephemeral state (not persisted, but kept alive to prevent GC resets).\n const ephemeralAtom = Atom.make<SpaceCapabilities.SpaceEphemeralState>({\n awaiting: undefined,\n sdkMigrationRunning: {},\n navigableCollections: false,\n viewersByObject: {},\n viewersByIdentity: new ComplexMap<PublicKey, Set<string>>(PublicKey.hash),\n }).pipe(Atom.keepAlive);\n\n const manager = yield* Capability.get(Common.Capability.PluginManager);\n // Update navigableCollections based on plugin state.\n const updateNavigableCollections = () => {\n const enabled = manager.getEnabled().includes('dxos.org/plugin/stack');\n const current = registry.get(ephemeralAtom);\n if (enabled !== current.navigableCollections) {\n registry.update(ephemeralAtom, (c) => ({ ...c, navigableCollections: enabled }));\n }\n };\n // Check initial state and subscribe to changes.\n updateNavigableCollections();\n const unsubscribe = registry.subscribe(manager.enabled, updateNavigableCollections);\n\n return [\n Capability.contributes(SpaceCapabilities.State, stateAtom),\n Capability.contributes(SpaceCapabilities.EphemeralState, ephemeralAtom, () =>\n Effect.sync(() => {\n unsubscribe();\n }),\n ),\n ];\n }),\n);\n"],
5
- "mappings": ";;;;;;;;AAIA,SAASA,YAAY;AACrB,YAAYC,YAAY;AAExB,SAASC,YAAYC,cAAc;AACnC,SAASC,sBAAsB;AAC/B,SAASC,iBAAiB;AAC1B,SAASC,kBAAkB;AAM3B,IAAMC,oBAAkD;EACtDC,YAAY,CAAC;EACbC,wBAAwB;AAC1B;AAEA,IAAA,gBAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAChB,QAAMC,WAAW,OAAOH,WAAWI,IAAIC,OAAOL,WAAWM,YAAY;AAGrE,QAAMC,YAAYC,eAAe;IAC/BC,KAAK,GAAGC,KAAKC,EAAE;IACfC,QAAQC,kBAAkBC;IAC1BC,cAAc,OAAO;MAAE,GAAGlB;IAAkB;EAC9C,CAAA;AAGA,QAAMmB,gBAAgBC,KAAKC,KAA4C;IACrEC,UAAUC;IACVC,qBAAqB,CAAC;IACtBC,sBAAsB;IACtBC,iBAAiB,CAAC;IAClBC,mBAAmB,IAAIC,WAAmCC,UAAUC,IAAI;EAC1E,CAAA,EAAGC,KAAKX,KAAKY,SAAS;AAEtB,QAAMC,UAAU,OAAO9B,WAAWI,IAAIC,OAAOL,WAAW+B,aAAa;AAErE,QAAMC,6BAA6B,MAAA;AACjC,UAAMC,UAAUH,QAAQI,WAAU,EAAGC,SAAS,uBAAA;AAC9C,UAAMC,UAAUjC,SAASC,IAAIY,aAAAA;AAC7B,QAAIiB,YAAYG,QAAQd,sBAAsB;AAC5CnB,eAASkC,OAAOrB,eAAe,CAACsB,OAAO;QAAE,GAAGA;QAAGhB,sBAAsBW;MAAQ,EAAA;IAC/E;EACF;AAEAD,6BAAAA;AACA,QAAMO,cAAcpC,SAASqC,UAAUV,QAAQG,SAASD,0BAAAA;AAExD,SAAO;IACLhC,WAAWyC,YAAY5B,kBAAkB6B,OAAOnC,SAAAA;IAChDP,WAAWyC,YAAY5B,kBAAkB8B,gBAAgB3B,eAAe,MAC/D4B,YAAK,MAAA;AACVL,kBAAAA;IACF,CAAA,CAAA;;AAGN,CAAA,CAAA;",
6
- "names": ["Atom", "Effect", "Capability", "Common", "createKvsStore", "PublicKey", "ComplexMap", "defaultSpaceState", "spaceNames", "enabledEdgeReplication", "Capability", "makeModule", "fnUntraced", "registry", "get", "Common", "AtomRegistry", "stateAtom", "createKvsStore", "key", "meta", "id", "schema", "SpaceCapabilities", "StateSchema", "defaultValue", "ephemeralAtom", "Atom", "make", "awaiting", "undefined", "sdkMigrationRunning", "navigableCollections", "viewersByObject", "viewersByIdentity", "ComplexMap", "PublicKey", "hash", "pipe", "keepAlive", "manager", "PluginManager", "updateNavigableCollections", "enabled", "getEnabled", "includes", "current", "update", "c", "unsubscribe", "subscribe", "contributes", "State", "EphemeralState", "sync"]
7
- }