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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. package/dist/lib/browser/{CollectionArticle-WASDM637.mjs → CollectionArticle-WPLUW5HF.mjs} +5 -36
  2. package/dist/lib/browser/CollectionArticle-WPLUW5HF.mjs.map +7 -0
  3. package/dist/lib/browser/{CollectionSection-LK4O6QDD.mjs → CollectionSection-H2MBNI63.mjs} +2 -2
  4. package/dist/lib/browser/{CreateObjectDialog-MA6DPYMD.mjs → CreateObjectDialog-YUBUWSEL.mjs} +17 -21
  5. package/dist/lib/browser/CreateObjectDialog-YUBUWSEL.mjs.map +7 -0
  6. package/dist/lib/browser/{CreateSpaceDialog-WCEICWIE.mjs → CreateSpaceDialog-3M2LAWV6.mjs} +7 -7
  7. package/dist/lib/browser/CreateSpaceDialog-3M2LAWV6.mjs.map +7 -0
  8. package/dist/lib/browser/{InlineSyncStatus-BT7BRBCO.mjs → InlineSyncStatus-K5MZ3YMZ.mjs} +9 -18
  9. package/dist/lib/browser/InlineSyncStatus-K5MZ3YMZ.mjs.map +7 -0
  10. package/dist/lib/browser/{JoinDialog-PMCAIRCU.mjs → JoinDialog-PBK2RE5F.mjs} +8 -10
  11. package/dist/lib/browser/JoinDialog-PBK2RE5F.mjs.map +7 -0
  12. package/dist/lib/browser/{MembersContainer-MMFCXLVZ.mjs → MembersContainer-OGYV2L4M.mjs} +4 -4
  13. package/dist/lib/browser/{MenuFooter-HYBTNOBT.mjs → MenuFooter-XCBDK7WP.mjs} +3 -4
  14. package/dist/lib/{node-esm/MenuFooter-2QB3453Y.mjs.map → browser/MenuFooter-XCBDK7WP.mjs.map} +1 -1
  15. package/dist/lib/browser/{ObjectCardStack-CHWNLUYQ.mjs → ObjectCardStack-OMXF2DSG.mjs} +6 -6
  16. package/dist/lib/browser/{ObjectDetails-YUGVDNSA.mjs → ObjectDetails-QFTQQN4W.mjs} +6 -6
  17. package/dist/lib/browser/{ObjectRenamePopover-RQUOVPFH.mjs → ObjectRenamePopover-JNPJIFIR.mjs} +3 -3
  18. package/dist/lib/browser/{ObjectRenamePopover-RQUOVPFH.mjs.map → ObjectRenamePopover-JNPJIFIR.mjs.map} +1 -1
  19. package/dist/lib/browser/{RecordArticle-ONWKYM3Z.mjs → RecordArticle-BO2XHBFN.mjs} +2 -2
  20. package/dist/lib/browser/{SchemaContainer-62AJXKAF.mjs → SchemaContainer-QWCSIZBS.mjs} +2 -2
  21. package/dist/lib/browser/SmallPresenceLive-AHHLBAUP.mjs +9 -0
  22. package/dist/lib/browser/{SpacePluginSettings-BRJTADV5.mjs → SpacePluginSettings-QGZKNQLK.mjs} +4 -4
  23. package/dist/lib/browser/SpacePresence-JIWLBUWO.mjs +12 -0
  24. package/dist/lib/browser/{SpaceRenamePopover-SAKMPDLX.mjs → SpaceRenamePopover-ZL6RRZ2B.mjs} +3 -3
  25. package/dist/lib/browser/{SpaceRenamePopover-SAKMPDLX.mjs.map → SpaceRenamePopover-ZL6RRZ2B.mjs.map} +1 -1
  26. package/dist/lib/browser/{SpaceSettingsContainer-UBMVKUPR.mjs → SpaceSettingsContainer-MIOOT63N.mjs} +5 -5
  27. package/dist/lib/browser/SpaceSettingsContainer-MIOOT63N.mjs.map +7 -0
  28. package/dist/lib/browser/{SyncStatus-5UQ7CIII.mjs → SyncStatus-6N7JJ7XF.mjs} +6 -6
  29. package/dist/lib/browser/{ViewEditor-F74RR542.mjs → ViewEditor-3FX5HDRT.mjs} +4 -7
  30. package/dist/lib/browser/ViewEditor-3FX5HDRT.mjs.map +7 -0
  31. package/dist/lib/browser/app-graph-builder-JORZZE3P.mjs +1203 -0
  32. package/dist/lib/browser/app-graph-builder-JORZZE3P.mjs.map +7 -0
  33. package/dist/lib/browser/{app-graph-serializer-KTQOBYUF.mjs → app-graph-serializer-UZWWGLGY.mjs} +5 -5
  34. package/dist/lib/browser/{chunk-RWOK4F4G.mjs → chunk-2WHUSAHE.mjs} +17 -14
  35. package/dist/lib/browser/chunk-2WHUSAHE.mjs.map +7 -0
  36. package/dist/lib/browser/{chunk-USN5QKRV.mjs → chunk-6IT5IBB5.mjs} +54 -86
  37. package/dist/lib/browser/chunk-6IT5IBB5.mjs.map +7 -0
  38. package/dist/lib/browser/chunk-6OA75CWN.mjs +77 -0
  39. package/dist/lib/browser/chunk-6OA75CWN.mjs.map +7 -0
  40. package/dist/lib/browser/{chunk-PXVKN4LU.mjs → chunk-AUX3RRLY.mjs} +34 -9
  41. package/dist/lib/browser/chunk-AUX3RRLY.mjs.map +7 -0
  42. package/dist/lib/browser/{chunk-HSMQFM57.mjs → chunk-CBWGVOJE.mjs} +2 -2
  43. package/dist/lib/browser/{chunk-HSMQFM57.mjs.map → chunk-CBWGVOJE.mjs.map} +1 -1
  44. package/dist/lib/browser/{chunk-XIIYC7P5.mjs → chunk-ICXESMDI.mjs} +6 -6
  45. package/dist/lib/browser/chunk-ICXESMDI.mjs.map +7 -0
  46. package/dist/lib/browser/chunk-RJUOHI3B.mjs +19 -0
  47. package/dist/lib/browser/{chunk-ASV6DYFH.mjs.map → chunk-RJUOHI3B.mjs.map} +1 -1
  48. package/dist/lib/browser/{chunk-J5F4LUJD.mjs → chunk-SSTUPFZ2.mjs} +3 -3
  49. package/dist/lib/browser/{chunk-ABCDB5YC.mjs → chunk-UYOJYBGW.mjs} +7 -16
  50. package/dist/lib/browser/chunk-UYOJYBGW.mjs.map +7 -0
  51. package/dist/lib/browser/cli/index.mjs +8 -17
  52. package/dist/lib/browser/cli/index.mjs.map +3 -3
  53. package/dist/lib/browser/{identity-created-VKLIZOXJ.mjs → identity-created-ETXNQYR6.mjs} +4 -4
  54. package/dist/lib/browser/{identity-created-VKLIZOXJ.mjs.map → identity-created-ETXNQYR6.mjs.map} +3 -3
  55. package/dist/lib/browser/index.mjs +33 -53
  56. package/dist/lib/browser/index.mjs.map +3 -3
  57. package/dist/lib/browser/meta.json +1 -1
  58. package/dist/lib/browser/{operation-resolver-Y3HYRXX7.mjs → operation-resolver-D4LHB4D4.mjs} +64 -88
  59. package/dist/lib/browser/operation-resolver-D4LHB4D4.mjs.map +7 -0
  60. package/dist/lib/browser/{react-root-UYBW5RE7.mjs → react-root-OD2HP63B.mjs} +6 -6
  61. package/dist/lib/browser/{react-surface-NJ23NZFF.mjs → react-surface-E4TAFED5.mjs} +57 -79
  62. package/dist/lib/browser/react-surface-E4TAFED5.mjs.map +7 -0
  63. package/dist/lib/browser/repair-NUVEV4AK.mjs +31 -0
  64. package/dist/lib/browser/repair-NUVEV4AK.mjs.map +7 -0
  65. package/dist/lib/browser/{settings-2ELVUFDR.mjs → settings-RUDP2Q56.mjs} +3 -3
  66. package/dist/lib/browser/{spaces-ready-Q6JASPT4.mjs → spaces-ready-B2GYL5IN.mjs} +6 -6
  67. package/dist/lib/browser/spaces-ready-B2GYL5IN.mjs.map +7 -0
  68. package/dist/lib/browser/{state-CTX4WQOM.mjs → state-I6JDZCDE.mjs} +5 -5
  69. package/dist/lib/browser/{state-CTX4WQOM.mjs.map → state-I6JDZCDE.mjs.map} +2 -2
  70. package/dist/lib/browser/types/index.mjs +2 -2
  71. package/dist/lib/node-esm/{CollectionArticle-A6GGG73Z.mjs → CollectionArticle-JGVNBX66.mjs} +5 -36
  72. package/dist/lib/node-esm/CollectionArticle-JGVNBX66.mjs.map +7 -0
  73. package/dist/lib/node-esm/{CollectionSection-WWKDOAAT.mjs → CollectionSection-BI66Y34F.mjs} +2 -2
  74. package/dist/lib/node-esm/{CreateObjectDialog-4WEFNDDF.mjs → CreateObjectDialog-B6OLP5VQ.mjs} +17 -21
  75. package/dist/lib/node-esm/CreateObjectDialog-B6OLP5VQ.mjs.map +7 -0
  76. package/dist/lib/node-esm/{CreateSpaceDialog-P7QCPB5J.mjs → CreateSpaceDialog-J47M5FPQ.mjs} +7 -7
  77. package/dist/lib/node-esm/CreateSpaceDialog-J47M5FPQ.mjs.map +7 -0
  78. package/dist/lib/node-esm/{InlineSyncStatus-3PCXU7NX.mjs → InlineSyncStatus-BLD57LB5.mjs} +9 -18
  79. package/dist/lib/node-esm/InlineSyncStatus-BLD57LB5.mjs.map +7 -0
  80. package/dist/lib/node-esm/{JoinDialog-XEOLJZVN.mjs → JoinDialog-XCOYKSHA.mjs} +8 -10
  81. package/dist/lib/node-esm/JoinDialog-XCOYKSHA.mjs.map +7 -0
  82. package/dist/lib/node-esm/{MembersContainer-UQZLW3YA.mjs → MembersContainer-4PV3Z4BA.mjs} +4 -4
  83. package/dist/lib/node-esm/{MenuFooter-2QB3453Y.mjs → MenuFooter-PXG2GV6A.mjs} +3 -4
  84. package/dist/lib/node-esm/{ObjectCardStack-UXEWG6RV.mjs → ObjectCardStack-457SNNVF.mjs} +6 -6
  85. package/dist/lib/node-esm/{ObjectDetails-26PVHUQL.mjs → ObjectDetails-OLF7HSM4.mjs} +6 -6
  86. package/dist/lib/node-esm/{ObjectRenamePopover-EHTP76G7.mjs → ObjectRenamePopover-BRPKVNVF.mjs} +3 -3
  87. package/dist/lib/node-esm/{ObjectRenamePopover-EHTP76G7.mjs.map → ObjectRenamePopover-BRPKVNVF.mjs.map} +1 -1
  88. package/dist/lib/node-esm/{RecordArticle-APY2WKUW.mjs → RecordArticle-XUIT25PP.mjs} +2 -2
  89. package/dist/lib/node-esm/{SchemaContainer-XR2D6MYX.mjs → SchemaContainer-5G4R3Z6O.mjs} +2 -2
  90. package/dist/lib/node-esm/SmallPresenceLive-4K7RJS74.mjs +10 -0
  91. package/dist/lib/node-esm/SmallPresenceLive-4K7RJS74.mjs.map +7 -0
  92. package/dist/lib/node-esm/{SpacePluginSettings-VEB5IGG7.mjs → SpacePluginSettings-PENV4GHL.mjs} +4 -4
  93. package/dist/lib/node-esm/SpacePresence-H3VZWFJV.mjs +13 -0
  94. package/dist/lib/node-esm/SpacePresence-H3VZWFJV.mjs.map +7 -0
  95. package/dist/lib/node-esm/{SpaceRenamePopover-WHM632OT.mjs → SpaceRenamePopover-XEMTI4PU.mjs} +3 -3
  96. package/dist/lib/node-esm/{SpaceRenamePopover-WHM632OT.mjs.map → SpaceRenamePopover-XEMTI4PU.mjs.map} +1 -1
  97. package/dist/lib/node-esm/{SpaceSettingsContainer-Y62J2L65.mjs → SpaceSettingsContainer-WI4D7RWA.mjs} +5 -5
  98. package/dist/lib/node-esm/SpaceSettingsContainer-WI4D7RWA.mjs.map +7 -0
  99. package/dist/lib/node-esm/{SyncStatus-XTJAVHPN.mjs → SyncStatus-YEBGTNSD.mjs} +6 -6
  100. package/dist/lib/node-esm/{ViewEditor-B2BLYF5U.mjs → ViewEditor-CUQVNM2H.mjs} +4 -7
  101. package/dist/lib/node-esm/ViewEditor-CUQVNM2H.mjs.map +7 -0
  102. package/dist/lib/node-esm/app-graph-builder-WTM6SSX7.mjs +1204 -0
  103. package/dist/lib/node-esm/app-graph-builder-WTM6SSX7.mjs.map +7 -0
  104. package/dist/lib/node-esm/{app-graph-serializer-GXQYSQAZ.mjs → app-graph-serializer-RT2RQTV2.mjs} +5 -5
  105. package/dist/lib/node-esm/{chunk-OSFH2XKO.mjs → chunk-2OLR2ZKH.mjs} +6 -6
  106. package/dist/lib/node-esm/chunk-2OLR2ZKH.mjs.map +7 -0
  107. package/dist/lib/node-esm/chunk-5KTTTTEX.mjs +20 -0
  108. package/dist/lib/node-esm/{chunk-CVXULIYC.mjs.map → chunk-5KTTTTEX.mjs.map} +1 -1
  109. package/dist/lib/node-esm/{chunk-SL4BJSUG.mjs → chunk-63N5JJXI.mjs} +2 -2
  110. package/dist/lib/node-esm/{chunk-SL4BJSUG.mjs.map → chunk-63N5JJXI.mjs.map} +1 -1
  111. package/dist/lib/node-esm/{chunk-UJQUBDQS.mjs → chunk-EDC2RUJU.mjs} +7 -16
  112. package/dist/lib/node-esm/chunk-EDC2RUJU.mjs.map +7 -0
  113. package/dist/lib/node-esm/{chunk-3DWZCVVQ.mjs → chunk-EVNSLSQS.mjs} +54 -86
  114. package/dist/lib/node-esm/chunk-EVNSLSQS.mjs.map +7 -0
  115. package/dist/lib/node-esm/chunk-GEGWQVZX.mjs +78 -0
  116. package/dist/lib/node-esm/chunk-GEGWQVZX.mjs.map +7 -0
  117. package/dist/lib/node-esm/{chunk-P2AVANDG.mjs → chunk-RYQQXNI7.mjs} +34 -9
  118. package/dist/lib/node-esm/chunk-RYQQXNI7.mjs.map +7 -0
  119. package/dist/lib/node-esm/{chunk-GWUPFA7J.mjs → chunk-S5BQUCL4.mjs} +17 -14
  120. package/dist/lib/node-esm/chunk-S5BQUCL4.mjs.map +7 -0
  121. package/dist/lib/node-esm/{chunk-S2IELCDF.mjs → chunk-XYLDAH5C.mjs} +3 -3
  122. package/dist/lib/node-esm/cli/index.mjs +8 -17
  123. package/dist/lib/node-esm/cli/index.mjs.map +3 -3
  124. package/dist/lib/node-esm/{identity-created-EGSTETJ5.mjs → identity-created-U5LGULVL.mjs} +4 -4
  125. package/dist/lib/node-esm/{identity-created-EGSTETJ5.mjs.map → identity-created-U5LGULVL.mjs.map} +3 -3
  126. package/dist/lib/node-esm/index.mjs +33 -53
  127. package/dist/lib/node-esm/index.mjs.map +3 -3
  128. package/dist/lib/node-esm/meta.json +1 -1
  129. package/dist/lib/node-esm/{operation-resolver-IRQ2NVUQ.mjs → operation-resolver-IL2AHNPN.mjs} +64 -88
  130. package/dist/lib/node-esm/operation-resolver-IL2AHNPN.mjs.map +7 -0
  131. package/dist/lib/node-esm/{react-root-UEN3LLJD.mjs → react-root-RILC5MBD.mjs} +6 -6
  132. package/dist/lib/node-esm/{react-surface-UDO3PGH6.mjs → react-surface-SWKRVK4S.mjs} +57 -79
  133. package/dist/lib/node-esm/react-surface-SWKRVK4S.mjs.map +7 -0
  134. package/dist/lib/node-esm/repair-LRZHFPSJ.mjs +32 -0
  135. package/dist/lib/node-esm/repair-LRZHFPSJ.mjs.map +7 -0
  136. package/dist/lib/node-esm/{settings-DCTVM2BV.mjs → settings-3EKSEAAG.mjs} +3 -3
  137. package/dist/lib/node-esm/{spaces-ready-XLGRTJV2.mjs → spaces-ready-QK3EHBOS.mjs} +6 -6
  138. package/dist/lib/node-esm/spaces-ready-QK3EHBOS.mjs.map +7 -0
  139. package/dist/lib/node-esm/{state-G74V3WZG.mjs → state-W36RRYUO.mjs} +5 -5
  140. package/dist/lib/node-esm/{state-G74V3WZG.mjs.map → state-W36RRYUO.mjs.map} +2 -2
  141. package/dist/lib/node-esm/types/index.mjs +2 -2
  142. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  143. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +1 -2
  144. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -1
  145. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts +33 -0
  146. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts.map +1 -0
  147. package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts +19 -0
  148. package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts.map +1 -0
  149. package/dist/types/src/capabilities/app-graph-builder/extensions/index.d.ts +6 -0
  150. package/dist/types/src/capabilities/app-graph-builder/extensions/index.d.ts.map +1 -0
  151. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts +12 -0
  152. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts.map +1 -0
  153. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts +57 -0
  154. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts.map +1 -0
  155. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.test.d.ts +2 -0
  156. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.test.d.ts.map +1 -0
  157. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts +24 -0
  158. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts.map +1 -0
  159. package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts +38 -0
  160. package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts.map +1 -0
  161. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
  162. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
  163. package/dist/types/src/capabilities/repair/repair.d.ts.map +1 -1
  164. package/dist/types/src/capabilities/state/state.d.ts.map +1 -1
  165. package/dist/types/src/cli/commands/database/add.d.ts +0 -1
  166. package/dist/types/src/cli/commands/database/add.d.ts.map +1 -1
  167. package/dist/types/src/cli/plugin.d.ts.map +1 -1
  168. package/dist/types/src/components/AwaitingObject/AwaitingObject.d.ts.map +1 -0
  169. package/dist/types/src/components/AwaitingObject/index.d.ts +2 -0
  170. package/dist/types/src/components/AwaitingObject/index.d.ts.map +1 -0
  171. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +0 -1
  172. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  173. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.stories.d.ts +68 -14
  174. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.stories.d.ts.map +1 -1
  175. package/dist/types/src/components/ObjectForm/ObjectForm.d.ts.map +1 -1
  176. package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts +1 -2
  177. package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts.map +1 -1
  178. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts +2 -1
  179. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts.map +1 -1
  180. package/dist/types/src/containers/CreateObjectDialog/index.d.ts +2 -2
  181. package/dist/types/src/containers/CreateObjectDialog/index.d.ts.map +1 -1
  182. package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.d.ts.map +1 -1
  183. package/dist/types/src/containers/InlineSyncStatus/InlineSyncStatus.d.ts.map +1 -1
  184. package/dist/types/src/containers/JoinDialog/index.d.ts +2 -2
  185. package/dist/types/src/containers/JoinDialog/index.d.ts.map +1 -1
  186. package/dist/types/src/containers/ObjectDetails/ObjectDetails.d.ts +1 -0
  187. package/dist/types/src/containers/ObjectDetails/ObjectDetails.d.ts.map +1 -1
  188. package/dist/types/src/containers/SmallPresenceLive/index.d.ts +1 -1
  189. package/dist/types/src/containers/SmallPresenceLive/index.d.ts.map +1 -1
  190. package/dist/types/src/containers/SpacePresence/SpacePresence.d.ts.map +1 -1
  191. package/dist/types/src/containers/SpacePresence/SpacePresence.stories.d.ts +67 -13
  192. package/dist/types/src/containers/SpacePresence/SpacePresence.stories.d.ts.map +1 -1
  193. package/dist/types/src/containers/SpacePresence/index.d.ts +2 -2
  194. package/dist/types/src/containers/SpacePresence/index.d.ts.map +1 -1
  195. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.d.ts +67 -13
  196. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.d.ts.map +1 -1
  197. package/dist/types/src/containers/SyncStatus/SyncStatus.stories.d.ts +67 -13
  198. package/dist/types/src/containers/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  199. package/dist/types/src/containers/ViewEditor/ViewEditor.d.ts.map +1 -1
  200. package/dist/types/src/containers/index.d.ts +1 -1
  201. package/dist/types/src/containers/index.d.ts.map +1 -1
  202. package/dist/types/src/translations.d.ts +67 -13
  203. package/dist/types/src/translations.d.ts.map +1 -1
  204. package/dist/types/src/types/form.d.ts +0 -2
  205. package/dist/types/src/types/form.d.ts.map +1 -1
  206. package/dist/types/src/types/types.d.ts +29 -46
  207. package/dist/types/src/types/types.d.ts.map +1 -1
  208. package/dist/types/src/util.d.ts +4 -161
  209. package/dist/types/src/util.d.ts.map +1 -1
  210. package/dist/types/tsconfig.tsbuildinfo +1 -1
  211. package/package.json +57 -57
  212. package/src/SpacePlugin.ts +14 -22
  213. package/src/capabilities/app-graph-builder/app-graph-builder.ts +14 -657
  214. package/src/capabilities/app-graph-builder/extensions/collections.ts +351 -0
  215. package/src/capabilities/app-graph-builder/extensions/companions.ts +80 -0
  216. package/src/capabilities/app-graph-builder/extensions/index.ts +9 -0
  217. package/src/capabilities/app-graph-builder/extensions/settings.ts +60 -0
  218. package/src/capabilities/app-graph-builder/extensions/shared.test.ts +112 -0
  219. package/src/capabilities/app-graph-builder/extensions/shared.ts +171 -0
  220. package/src/capabilities/app-graph-builder/extensions/spaces.ts +338 -0
  221. package/src/capabilities/app-graph-builder/extensions/types.ts +421 -0
  222. package/src/capabilities/identity-created/identity-created.ts +3 -3
  223. package/src/capabilities/operation-resolver/operation-resolver.ts +65 -73
  224. package/src/capabilities/react-surface/react-surface.tsx +33 -58
  225. package/src/capabilities/repair/repair.ts +3 -32
  226. package/src/capabilities/spaces-ready/spaces-ready.ts +2 -2
  227. package/src/capabilities/state/state.ts +4 -2
  228. package/src/cli/commands/database/add.ts +0 -1
  229. package/src/cli/commands/space/close/close.ts +1 -1
  230. package/src/cli/commands/space/create/create.ts +1 -1
  231. package/src/cli/commands/space/join/join.ts +1 -1
  232. package/src/cli/commands/space/open/open.ts +1 -1
  233. package/src/cli/plugin.ts +0 -1
  234. package/src/components/{AwaitingObject.tsx → AwaitingObject/AwaitingObject.tsx} +2 -2
  235. package/src/components/AwaitingObject/index.ts +5 -0
  236. package/src/components/CreateDialog/CreateObjectPanel.tsx +5 -2
  237. package/src/components/ObjectDetails/BaseObjectSettings.stories.tsx +4 -4
  238. package/src/components/ObjectDetails/BaseObjectSettings.tsx +4 -4
  239. package/src/components/ObjectForm/ObjectForm.tsx +6 -4
  240. package/src/constants.ts +5 -5
  241. package/src/containers/CollectionArticle/CollectionArticle.tsx +7 -54
  242. package/src/containers/CreateObjectDialog/CreateObjectDialog.tsx +10 -10
  243. package/src/containers/CreateObjectDialog/index.ts +2 -3
  244. package/src/containers/CreateSpaceDialog/CreateSpaceDialog.tsx +5 -3
  245. package/src/containers/InlineSyncStatus/InlineSyncStatus.tsx +7 -18
  246. package/src/containers/JoinDialog/JoinDialog.tsx +4 -4
  247. package/src/containers/JoinDialog/index.ts +2 -3
  248. package/src/containers/ObjectRenamePopover/ObjectRenamePopover.tsx +1 -1
  249. package/src/containers/SmallPresenceLive/index.ts +1 -1
  250. package/src/containers/SpacePresence/SpacePresence.tsx +4 -16
  251. package/src/containers/SpacePresence/index.ts +2 -3
  252. package/src/containers/SpaceRenamePopover/SpaceRenamePopover.tsx +1 -1
  253. package/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.tsx +2 -2
  254. package/src/containers/ViewEditor/ViewEditor.tsx +0 -1
  255. package/src/containers/index.ts +1 -1
  256. package/src/helpers/query.test.ts +1 -1
  257. package/src/hooks/useActiveSpace.ts +4 -4
  258. package/src/meta.ts +1 -1
  259. package/src/translations.ts +27 -1
  260. package/src/types/capabilities.ts +7 -7
  261. package/src/types/events.ts +5 -5
  262. package/src/types/form.ts +1 -8
  263. package/src/types/types.ts +36 -58
  264. package/src/util.ts +82 -0
  265. package/dist/lib/browser/CollectionArticle-WASDM637.mjs.map +0 -7
  266. package/dist/lib/browser/CreateObjectDialog-MA6DPYMD.mjs.map +0 -7
  267. package/dist/lib/browser/CreateSpaceDialog-WCEICWIE.mjs.map +0 -7
  268. package/dist/lib/browser/InlineSyncStatus-BT7BRBCO.mjs.map +0 -7
  269. package/dist/lib/browser/JoinDialog-PMCAIRCU.mjs.map +0 -7
  270. package/dist/lib/browser/SmallPresenceLive-LZD2NGKK.mjs +0 -10
  271. package/dist/lib/browser/SpacePresence-MLU576L6.mjs +0 -13
  272. package/dist/lib/browser/SpacePresence-MLU576L6.mjs.map +0 -7
  273. package/dist/lib/browser/SpaceSettingsContainer-UBMVKUPR.mjs.map +0 -7
  274. package/dist/lib/browser/ViewEditor-F74RR542.mjs.map +0 -7
  275. package/dist/lib/browser/app-graph-builder-VFYFI7CD.mjs +0 -593
  276. package/dist/lib/browser/app-graph-builder-VFYFI7CD.mjs.map +0 -7
  277. package/dist/lib/browser/chunk-ABCDB5YC.mjs.map +0 -7
  278. package/dist/lib/browser/chunk-ASV6DYFH.mjs +0 -19
  279. package/dist/lib/browser/chunk-PXVKN4LU.mjs.map +0 -7
  280. package/dist/lib/browser/chunk-RWOK4F4G.mjs.map +0 -7
  281. package/dist/lib/browser/chunk-TPZUQ5DC.mjs +0 -749
  282. package/dist/lib/browser/chunk-TPZUQ5DC.mjs.map +0 -7
  283. package/dist/lib/browser/chunk-USN5QKRV.mjs.map +0 -7
  284. package/dist/lib/browser/chunk-XIIYC7P5.mjs.map +0 -7
  285. package/dist/lib/browser/operation-resolver-Y3HYRXX7.mjs.map +0 -7
  286. package/dist/lib/browser/react-surface-NJ23NZFF.mjs.map +0 -7
  287. package/dist/lib/browser/repair-N2I4DR2Z.mjs +0 -50
  288. package/dist/lib/browser/repair-N2I4DR2Z.mjs.map +0 -7
  289. package/dist/lib/browser/spaces-ready-Q6JASPT4.mjs.map +0 -7
  290. package/dist/lib/node-esm/CollectionArticle-A6GGG73Z.mjs.map +0 -7
  291. package/dist/lib/node-esm/CreateObjectDialog-4WEFNDDF.mjs.map +0 -7
  292. package/dist/lib/node-esm/CreateSpaceDialog-P7QCPB5J.mjs.map +0 -7
  293. package/dist/lib/node-esm/InlineSyncStatus-3PCXU7NX.mjs.map +0 -7
  294. package/dist/lib/node-esm/JoinDialog-XEOLJZVN.mjs.map +0 -7
  295. package/dist/lib/node-esm/SmallPresenceLive-K4243KXR.mjs +0 -11
  296. package/dist/lib/node-esm/SpacePresence-HC2XGQ54.mjs +0 -14
  297. package/dist/lib/node-esm/SpacePresence-HC2XGQ54.mjs.map +0 -7
  298. package/dist/lib/node-esm/SpaceSettingsContainer-Y62J2L65.mjs.map +0 -7
  299. package/dist/lib/node-esm/ViewEditor-B2BLYF5U.mjs.map +0 -7
  300. package/dist/lib/node-esm/app-graph-builder-N37ED6UI.mjs +0 -594
  301. package/dist/lib/node-esm/app-graph-builder-N37ED6UI.mjs.map +0 -7
  302. package/dist/lib/node-esm/chunk-3DWZCVVQ.mjs.map +0 -7
  303. package/dist/lib/node-esm/chunk-CVXULIYC.mjs +0 -20
  304. package/dist/lib/node-esm/chunk-GWUPFA7J.mjs.map +0 -7
  305. package/dist/lib/node-esm/chunk-OSFH2XKO.mjs.map +0 -7
  306. package/dist/lib/node-esm/chunk-P2AVANDG.mjs.map +0 -7
  307. package/dist/lib/node-esm/chunk-UJQUBDQS.mjs.map +0 -7
  308. package/dist/lib/node-esm/chunk-WW6YYBRG.mjs +0 -750
  309. package/dist/lib/node-esm/chunk-WW6YYBRG.mjs.map +0 -7
  310. package/dist/lib/node-esm/operation-resolver-IRQ2NVUQ.mjs.map +0 -7
  311. package/dist/lib/node-esm/react-surface-UDO3PGH6.mjs.map +0 -7
  312. package/dist/lib/node-esm/repair-P6ND7ZRU.mjs +0 -51
  313. package/dist/lib/node-esm/repair-P6ND7ZRU.mjs.map +0 -7
  314. package/dist/lib/node-esm/spaces-ready-XLGRTJV2.mjs.map +0 -7
  315. package/dist/types/src/components/AwaitingObject.d.ts.map +0 -1
  316. package/src/util.tsx +0 -956
  317. /package/dist/lib/browser/{CollectionSection-LK4O6QDD.mjs.map → CollectionSection-H2MBNI63.mjs.map} +0 -0
  318. /package/dist/lib/browser/{MembersContainer-MMFCXLVZ.mjs.map → MembersContainer-OGYV2L4M.mjs.map} +0 -0
  319. /package/dist/lib/browser/{ObjectCardStack-CHWNLUYQ.mjs.map → ObjectCardStack-OMXF2DSG.mjs.map} +0 -0
  320. /package/dist/lib/browser/{ObjectDetails-YUGVDNSA.mjs.map → ObjectDetails-QFTQQN4W.mjs.map} +0 -0
  321. /package/dist/lib/browser/{RecordArticle-ONWKYM3Z.mjs.map → RecordArticle-BO2XHBFN.mjs.map} +0 -0
  322. /package/dist/lib/browser/{SchemaContainer-62AJXKAF.mjs.map → SchemaContainer-QWCSIZBS.mjs.map} +0 -0
  323. /package/dist/lib/browser/{SmallPresenceLive-LZD2NGKK.mjs.map → SmallPresenceLive-AHHLBAUP.mjs.map} +0 -0
  324. /package/dist/lib/browser/{SpacePluginSettings-BRJTADV5.mjs.map → SpacePluginSettings-QGZKNQLK.mjs.map} +0 -0
  325. /package/dist/lib/{node-esm/SmallPresenceLive-K4243KXR.mjs.map → browser/SpacePresence-JIWLBUWO.mjs.map} +0 -0
  326. /package/dist/lib/browser/{SyncStatus-5UQ7CIII.mjs.map → SyncStatus-6N7JJ7XF.mjs.map} +0 -0
  327. /package/dist/lib/browser/{app-graph-serializer-KTQOBYUF.mjs.map → app-graph-serializer-UZWWGLGY.mjs.map} +0 -0
  328. /package/dist/lib/browser/{chunk-J5F4LUJD.mjs.map → chunk-SSTUPFZ2.mjs.map} +0 -0
  329. /package/dist/lib/browser/{react-root-UYBW5RE7.mjs.map → react-root-OD2HP63B.mjs.map} +0 -0
  330. /package/dist/lib/browser/{settings-2ELVUFDR.mjs.map → settings-RUDP2Q56.mjs.map} +0 -0
  331. /package/dist/lib/node-esm/{CollectionSection-WWKDOAAT.mjs.map → CollectionSection-BI66Y34F.mjs.map} +0 -0
  332. /package/dist/lib/node-esm/{MembersContainer-UQZLW3YA.mjs.map → MembersContainer-4PV3Z4BA.mjs.map} +0 -0
  333. /package/dist/lib/{browser/MenuFooter-HYBTNOBT.mjs.map → node-esm/MenuFooter-PXG2GV6A.mjs.map} +0 -0
  334. /package/dist/lib/node-esm/{ObjectCardStack-UXEWG6RV.mjs.map → ObjectCardStack-457SNNVF.mjs.map} +0 -0
  335. /package/dist/lib/node-esm/{ObjectDetails-26PVHUQL.mjs.map → ObjectDetails-OLF7HSM4.mjs.map} +0 -0
  336. /package/dist/lib/node-esm/{RecordArticle-APY2WKUW.mjs.map → RecordArticle-XUIT25PP.mjs.map} +0 -0
  337. /package/dist/lib/node-esm/{SchemaContainer-XR2D6MYX.mjs.map → SchemaContainer-5G4R3Z6O.mjs.map} +0 -0
  338. /package/dist/lib/node-esm/{SpacePluginSettings-VEB5IGG7.mjs.map → SpacePluginSettings-PENV4GHL.mjs.map} +0 -0
  339. /package/dist/lib/node-esm/{SyncStatus-XTJAVHPN.mjs.map → SyncStatus-YEBGTNSD.mjs.map} +0 -0
  340. /package/dist/lib/node-esm/{app-graph-serializer-GXQYSQAZ.mjs.map → app-graph-serializer-RT2RQTV2.mjs.map} +0 -0
  341. /package/dist/lib/node-esm/{chunk-S2IELCDF.mjs.map → chunk-XYLDAH5C.mjs.map} +0 -0
  342. /package/dist/lib/node-esm/{react-root-UEN3LLJD.mjs.map → react-root-RILC5MBD.mjs.map} +0 -0
  343. /package/dist/lib/node-esm/{settings-DCTVM2BV.mjs.map → settings-3EKSEAAG.mjs.map} +0 -0
  344. /package/dist/types/src/components/{AwaitingObject.d.ts → AwaitingObject/AwaitingObject.d.ts} +0 -0
@@ -1,594 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- getActiveSpace
4
- } from "./chunk-OSFH2XKO.mjs";
5
- import {
6
- SHARED,
7
- constructObjectActions,
8
- constructSpaceActions,
9
- constructSpaceNode,
10
- createObjectNode,
11
- createStaticSchemaActions,
12
- createStaticSchemaNode
13
- } from "./chunk-WW6YYBRG.mjs";
14
- import {
15
- SPACE_TYPE,
16
- SpaceCapabilities,
17
- SpaceOperation
18
- } from "./chunk-3DWZCVVQ.mjs";
19
- import {
20
- meta
21
- } from "./chunk-SL4BJSUG.mjs";
22
-
23
- // src/capabilities/app-graph-builder/app-graph-builder.ts
24
- import * as Effect from "effect/Effect";
25
- import * as Match from "effect/Match";
26
- import * as Option from "effect/Option";
27
- import * as Schema from "effect/Schema";
28
- import { Capability } from "@dxos/app-framework";
29
- import { AppCapabilities } from "@dxos/app-toolkit";
30
- import { SpaceState, getSpace, isSpace, parseId } from "@dxos/client/echo";
31
- import { DXN, Feed, Filter, Obj, Type } from "@dxos/echo";
32
- import { Collection } from "@dxos/echo";
33
- import { AtomObj, AtomQuery } from "@dxos/echo-atom";
34
- import { Operation } from "@dxos/operation";
35
- import { ClientCapabilities } from "@dxos/plugin-client";
36
- import { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
37
- import { CreateAtom, GraphBuilder, NodeMatcher } from "@dxos/plugin-graph";
38
- import { Expando, ManagedCollection, ViewAnnotation, getTypenameFromQuery } from "@dxos/schema";
39
- import { isNonNullable } from "@dxos/util";
40
- var whenSpace = (node) => node.type === SPACE_TYPE && isSpace(node.data) ? Option.some(node.data) : Option.none();
41
- var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function* ({ shareableLinkOrigin = window.location.origin } = {}) {
42
- const capabilities = yield* Capability.Service;
43
- const resolve = (get) => (typename) => capabilities.getAll(AppCapabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
44
- const extensions = yield* Effect.all([
45
- // Primary actions.
46
- GraphBuilder.createExtension({
47
- id: `${meta.id}/primary-actions`,
48
- position: "hoist",
49
- match: NodeMatcher.whenRoot,
50
- actions: () => Effect.succeed([
51
- {
52
- id: SpaceOperation.OpenCreateSpace.meta.key,
53
- data: () => Operation.invoke(SpaceOperation.OpenCreateSpace),
54
- properties: {
55
- label: [
56
- "create space label",
57
- {
58
- ns: meta.id
59
- }
60
- ],
61
- icon: "ph--plus--regular",
62
- testId: "spacePlugin.createSpace",
63
- disposition: "menu"
64
- }
65
- },
66
- {
67
- id: SpaceOperation.Join.meta.key,
68
- data: () => Operation.invoke(SpaceOperation.Join, {}),
69
- properties: {
70
- label: [
71
- "join space label",
72
- {
73
- ns: meta.id
74
- }
75
- ],
76
- icon: "ph--sign-in--regular",
77
- testId: "spacePlugin.joinSpace",
78
- disposition: "menu"
79
- }
80
- },
81
- {
82
- id: SpaceOperation.OpenMembers.meta.key,
83
- data: Effect.fnUntraced(function* () {
84
- const client = yield* Capability.get(ClientCapabilities.Client);
85
- const space = getActiveSpace(capabilities) ?? client.spaces.default;
86
- yield* Operation.invoke(SpaceOperation.OpenMembers, {
87
- space
88
- });
89
- }),
90
- properties: {
91
- label: [
92
- "share space label",
93
- {
94
- ns: meta.id
95
- }
96
- ],
97
- icon: "ph--users--regular",
98
- testId: "spacePlugin.shareSpace",
99
- keyBinding: {
100
- macos: "meta+.",
101
- windows: "alt+."
102
- }
103
- }
104
- },
105
- {
106
- id: SpaceOperation.OpenSettings.meta.key,
107
- data: Effect.fnUntraced(function* () {
108
- const client = yield* Capability.get(ClientCapabilities.Client);
109
- const space = getActiveSpace(capabilities) ?? client.spaces.default;
110
- yield* Operation.invoke(SpaceOperation.OpenSettings, {
111
- space
112
- });
113
- }),
114
- properties: {
115
- label: [
116
- "open current space settings label",
117
- {
118
- ns: meta.id
119
- }
120
- ],
121
- icon: "ph--faders--regular",
122
- keyBinding: {
123
- macos: "meta+shift+,",
124
- windows: "ctrl+shift+,"
125
- }
126
- }
127
- }
128
- ])
129
- }),
130
- // Create space nodes.
131
- GraphBuilder.createExtension({
132
- id: `${meta.id}/spaces`,
133
- match: NodeMatcher.whenRoot,
134
- connector: (node, get) => {
135
- const client = capabilities.get(ClientCapabilities.Client);
136
- const stateAtom = capabilities.get(SpaceCapabilities.State);
137
- const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
138
- const spacesAtom = CreateAtom.fromObservable(client.spaces);
139
- const isReadyAtom = CreateAtom.fromObservable(client.spaces.isReady);
140
- const spaces = get(spacesAtom);
141
- const isReady = get(isReadyAtom);
142
- if (!spaces || !isReady) {
143
- return Effect.succeed([]);
144
- }
145
- const settingsAtom = capabilities.get(SpaceCapabilities.Settings);
146
- const settings = get(settingsAtom);
147
- const state = get(stateAtom);
148
- const ephemeralState = get(ephemeralAtom);
149
- try {
150
- const [spacesOrder] = get(AtomQuery.make(client.spaces.default.db, Filter.type(Expando.Expando, {
151
- key: SHARED
152
- })));
153
- const { graph } = capabilities.get(AppCapabilities.AppGraph);
154
- const spacesOrderSnapshot = spacesOrder ? get(AtomObj.make(spacesOrder)) : void 0;
155
- const order = spacesOrderSnapshot?.order ?? [];
156
- const orderMap = new Map(order.map((id, index) => [
157
- id,
158
- index
159
- ]));
160
- const spaceStates = spaces.map((space) => get(CreateAtom.fromObservable(space.state)));
161
- spaces.forEach((space) => {
162
- if (space.state.get() === SpaceState.SPACE_READY) {
163
- get(AtomObj.make(space.properties));
164
- }
165
- });
166
- return Effect.succeed([
167
- ...spaces.filter((space) => orderMap.has(space.id)).sort((a, b) => orderMap.get(a.id) - orderMap.get(b.id)),
168
- ...spaces.filter((space) => !orderMap.has(space.id))
169
- ].filter((space, i) => settings?.showHidden ? true : spaceStates[i] !== SpaceState.SPACE_INACTIVE).map((space) => constructSpaceNode({
170
- space,
171
- navigable: ephemeralState.navigableCollections,
172
- personal: space === client.spaces.default,
173
- namesCache: state.spaceNames,
174
- resolve: resolve(get),
175
- graph,
176
- spacesOrder
177
- })));
178
- } catch {
179
- return Effect.succeed([]);
180
- }
181
- },
182
- resolver: (id, get) => {
183
- const { spaceId } = parseId(id);
184
- if (!spaceId) {
185
- return Effect.succeed(null);
186
- }
187
- const client = capabilities.get(ClientCapabilities.Client);
188
- const spaces = get(CreateAtom.fromObservable(client.spaces));
189
- const space = spaces?.find((s) => s.id === spaceId);
190
- if (!space) {
191
- return Effect.succeed(null);
192
- }
193
- const state = get(capabilities.get(SpaceCapabilities.State));
194
- const ephemeralState = get(capabilities.get(SpaceCapabilities.EphemeralState));
195
- const { graph } = capabilities.get(AppCapabilities.AppGraph);
196
- const [spacesOrder] = get(AtomQuery.make(client.spaces.default.db, Filter.type(Expando.Expando, {
197
- key: SHARED
198
- })));
199
- return Effect.succeed(constructSpaceNode({
200
- space,
201
- navigable: ephemeralState.navigableCollections,
202
- personal: space === client.spaces.default,
203
- namesCache: state.spaceNames,
204
- resolve: resolve(get),
205
- graph,
206
- spacesOrder
207
- }));
208
- }
209
- }),
210
- // Create space actions.
211
- GraphBuilder.createExtension({
212
- id: `${meta.id}/actions`,
213
- match: whenSpace,
214
- actions: (space, get) => {
215
- const [client] = get(capabilities.atom(ClientCapabilities.Client));
216
- const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
217
- const ephemeralState = get(ephemeralAtom);
218
- if (!client) {
219
- return Effect.succeed([]);
220
- }
221
- return Effect.succeed(constructSpaceActions({
222
- space,
223
- migrating: ephemeralState.sdkMigrationRunning[space.id]
224
- }));
225
- }
226
- }),
227
- // Create nodes for objects in the root collection of a space.
228
- GraphBuilder.createExtension({
229
- id: `${meta.id}/root-collection`,
230
- match: whenSpace,
231
- connector: (space, get) => {
232
- const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
233
- const ephemeralState = get(ephemeralAtom);
234
- const spaceState = get(CreateAtom.fromObservable(space.state));
235
- if (spaceState !== SpaceState.SPACE_READY) {
236
- return Effect.succeed([]);
237
- }
238
- const propertiesSnapshot = get(AtomObj.make(space.properties));
239
- const collectionRef = propertiesSnapshot[Collection.Collection.typename];
240
- const collection = collectionRef ? get(AtomObj.make(collectionRef)) : void 0;
241
- if (!collection) {
242
- return Effect.succeed([]);
243
- }
244
- const rawRefs = collection.objects ?? [];
245
- const objects = rawRefs.map((ref) => {
246
- get(AtomObj.make(ref));
247
- return ref.target;
248
- }).filter(isNonNullable);
249
- return Effect.succeed(objects.map((object) => createObjectNode({
250
- db: space.db,
251
- object,
252
- resolve: resolve(get),
253
- navigable: ephemeralState.navigableCollections,
254
- parentCollection: collectionRef?.target
255
- })).filter(isNonNullable));
256
- }
257
- }),
258
- // Create nodes for objects in a collection or by its DXN.
259
- GraphBuilder.createExtension({
260
- id: `${meta.id}/objects`,
261
- match: (node) => Obj.instanceOf(Collection.Collection, node.data) ? Option.some(node.data) : Option.none(),
262
- connector: (collection, get) => {
263
- const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
264
- const ephemeralState = get(ephemeralAtom);
265
- const space = getSpace(collection);
266
- const collectionSnapshot = get(AtomObj.make(collection));
267
- const refs = collectionSnapshot.objects ?? [];
268
- const objects = refs.map((ref) => {
269
- get(AtomObj.make(ref));
270
- return ref.target;
271
- }).filter(isNonNullable);
272
- return Effect.succeed(objects.map((object) => space && createObjectNode({
273
- object,
274
- db: space.db,
275
- resolve: resolve(get),
276
- navigable: ephemeralState.navigableCollections,
277
- parentCollection: collection
278
- })).filter(isNonNullable));
279
- },
280
- resolver: (id, get) => {
281
- const client = capabilities.get(ClientCapabilities.Client);
282
- const dxn = DXN.tryParse(id)?.asEchoDXN();
283
- if (!dxn || !dxn.spaceId) {
284
- return Effect.succeed(null);
285
- }
286
- const space = client.spaces.get(dxn.spaceId);
287
- if (!space) {
288
- return Effect.succeed(null);
289
- }
290
- const object = get(AtomQuery.make(space.db, Filter.id(dxn.echoId))).at(0);
291
- if (!Obj.isObject(object)) {
292
- return Effect.succeed(null);
293
- }
294
- return Effect.succeed(createObjectNode({
295
- object,
296
- db: space.db,
297
- resolve: resolve(get),
298
- disposition: "hidden"
299
- }));
300
- }
301
- }),
302
- // Create object nodes for schema-based system collections.
303
- GraphBuilder.createExtension({
304
- id: `${meta.id}/system-collections`,
305
- match: (node) => Obj.instanceOf(ManagedCollection.ManagedCollection, node.data) ? Option.some(node.data) : Option.none(),
306
- connector: (collection, get) => {
307
- const [typename, feedKind] = collection.key.split("~");
308
- const client = get(capabilities.atom(ClientCapabilities.Client)).at(0);
309
- const space = getSpace(collection);
310
- if (!space || !client) {
311
- return Effect.succeed([]);
312
- }
313
- const filter = Match.value(typename).pipe(Match.when(Feed.Feed.typename, () => Filter.type(Feed.Feed, {
314
- kind: feedKind
315
- })), Match.orElse((typename2) => {
316
- const schema = client.graph.schemaRegistry.query({
317
- typename: typename2,
318
- location: [
319
- "runtime"
320
- ],
321
- includeSystem: true
322
- }).runSync()[0];
323
- return schema ? Filter.type(schema) : void 0;
324
- }));
325
- if (!filter) {
326
- return Effect.succeed([]);
327
- }
328
- return Effect.succeed(get(AtomQuery.make(space.db, filter)).map((object) => {
329
- get(AtomObj.make(object));
330
- return createObjectNode({
331
- object,
332
- db: space.db,
333
- managedCollectionChild: true,
334
- resolve: resolve(get)
335
- });
336
- }).filter(isNonNullable));
337
- }
338
- }),
339
- // Create branch nodes for static schema record types.
340
- GraphBuilder.createExtension({
341
- id: `${meta.id}/static-schemas`,
342
- match: (node) => Obj.instanceOf(ManagedCollection.ManagedCollection, node.data) && node.data.key === Type.getTypename(Type.PersistentType) ? Option.some(node.data) : Option.none(),
343
- connector: (collection, get) => {
344
- const client = get(capabilities.atom(ClientCapabilities.Client)).at(0);
345
- const space = getSpace(collection);
346
- if (!space) {
347
- return Effect.succeed([]);
348
- }
349
- const propertiesSnapshot = get(AtomObj.make(space.properties));
350
- const staticRecords = propertiesSnapshot.staticRecords ?? [];
351
- return Effect.succeed(staticRecords.map((typename) => client?.graph.schemaRegistry.query({
352
- typename,
353
- location: [
354
- "runtime"
355
- ]
356
- }).runSync()[0]).filter(isNonNullable).map((schema) => createStaticSchemaNode({
357
- schema,
358
- space
359
- })));
360
- }
361
- }),
362
- // Create actions for static schema record types.
363
- GraphBuilder.createExtension({
364
- id: `${meta.id}/static-schema-actions`,
365
- match: (node) => {
366
- const space = isSpace(node.properties.space) ? node.properties.space : void 0;
367
- return space && Schema.isSchema(node.data) ? Option.some({
368
- space,
369
- schema: node.data
370
- }) : Option.none();
371
- },
372
- actions: ({ space, schema }, get) => {
373
- const schemas = get(capabilities.atom(ClientCapabilities.Client)).at(0)?.graph.schemaRegistry.query({
374
- location: [
375
- "runtime"
376
- ]
377
- }).runSync() ?? [];
378
- const filter = Filter.or(...schemas.filter((schema2) => ViewAnnotation.get(schema2).pipe(Option.getOrElse(() => false))).map((schema2) => Filter.type(schema2)));
379
- const objects = get(AtomQuery.make(space.db, filter));
380
- const targetTypename = Type.getTypename(schema);
381
- const filteredViews = objects.filter((viewObject) => {
382
- const viewSnapshot = get(AtomObj.make(viewObject));
383
- const viewRef = viewSnapshot.view;
384
- const viewTarget = viewRef ? get(AtomObj.make(viewRef)) : void 0;
385
- return getTypenameFromQuery(viewTarget?.query?.ast) === targetTypename;
386
- });
387
- const deletable = filteredViews.length === 0;
388
- return Effect.succeed(createStaticSchemaActions({
389
- schema,
390
- space,
391
- deletable
392
- }));
393
- }
394
- }),
395
- // Create nodes for views of record types.
396
- GraphBuilder.createExtension({
397
- id: `${meta.id}/schema-views`,
398
- match: (node) => {
399
- const space = getSpace(node.data) ?? (isSpace(node.properties.space) ? node.properties.space : void 0);
400
- return space && (Obj.instanceOf(Type.PersistentType, node.data) || Schema.isSchema(node.data)) ? Option.some({
401
- space,
402
- schema: node.data
403
- }) : Option.none();
404
- },
405
- connector: ({ space, schema }, get) => {
406
- const schemas = get(capabilities.atom(ClientCapabilities.Client)).at(0)?.graph.schemaRegistry.query({
407
- location: [
408
- "runtime"
409
- ]
410
- }).runSync() ?? [];
411
- const filter = Filter.or(...schemas.filter((schema2) => ViewAnnotation.get(schema2).pipe(Option.getOrElse(() => false))).map((schema2) => Filter.type(schema2)));
412
- const typename = Schema.isSchema(schema) ? Type.getTypename(schema) : schema.typename;
413
- const objects = get(AtomQuery.make(space.db, filter));
414
- return Effect.succeed(objects.filter((object) => {
415
- const objectSnapshot = get(AtomObj.make(object));
416
- const viewRef = objectSnapshot.view;
417
- const viewTarget = viewRef ? get(AtomObj.make(viewRef)) : void 0;
418
- return getTypenameFromQuery(viewTarget?.query?.ast) === typename;
419
- }).map((object) => createObjectNode({
420
- object,
421
- db: space.db,
422
- resolve: resolve(get),
423
- droppable: false
424
- })).filter(isNonNullable));
425
- }
426
- }),
427
- // Create collection actions and action groups.
428
- GraphBuilder.createExtension({
429
- id: `${meta.id}/object-actions`,
430
- match: (node) => {
431
- const space = getSpace(node.data);
432
- return space && Obj.isObject(node.data) && Obj.getTypename(node.data) === node.type ? Option.some({
433
- space,
434
- object: node.data
435
- }) : Option.none();
436
- },
437
- actions: ({ space, object }, get) => {
438
- const schemas = get(capabilities.atom(ClientCapabilities.Client)).at(0)?.graph.schemaRegistry.query({
439
- location: [
440
- "runtime"
441
- ]
442
- }).runSync() ?? [];
443
- const filter = Filter.or(...schemas.filter((schema) => ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false))).map((schema) => Filter.type(schema)));
444
- const isSchema2 = Obj.instanceOf(Type.PersistentType, object);
445
- let deletable = !isSchema2 && !Obj.instanceOf(ManagedCollection.ManagedCollection, object);
446
- if (isSchema2) {
447
- const objects = get(AtomQuery.make(space.db, filter));
448
- const filteredViews = objects.filter((viewObject) => {
449
- const viewSnapshot = get(AtomObj.make(viewObject));
450
- const viewRef = viewSnapshot.view;
451
- const viewTarget = viewRef ? get(AtomObj.make(viewRef)) : void 0;
452
- return getTypenameFromQuery(viewTarget?.query?.ast) === object.typename;
453
- });
454
- deletable = filteredViews.length === 0;
455
- }
456
- const [appGraph] = get(capabilities.atom(AppCapabilities.AppGraph));
457
- const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
458
- const ephemeralState = get(ephemeralAtom);
459
- if (!appGraph) {
460
- return Effect.succeed([]);
461
- }
462
- return Effect.succeed(constructObjectActions({
463
- object,
464
- graph: appGraph.graph,
465
- resolve: resolve(get),
466
- capabilities,
467
- deletable,
468
- navigable: ephemeralState.navigableCollections,
469
- shareableLinkOrigin
470
- }));
471
- }
472
- }),
473
- // View selected objects.
474
- GraphBuilder.createExtension({
475
- id: `${meta.id}/selected-objects`,
476
- match: (node) => {
477
- if (!Obj.isObject(node.data)) {
478
- return Option.none();
479
- }
480
- const schema = Obj.getSchema(node.data);
481
- const isView = Option.fromNullable(schema).pipe(Option.flatMap((schema2) => ViewAnnotation.get(schema2)), Option.getOrElse(() => false));
482
- if (!isView) {
483
- return Option.none();
484
- }
485
- return Option.some(node);
486
- },
487
- connector: (node) => Effect.succeed([
488
- {
489
- id: [
490
- node.id,
491
- "selected-objects"
492
- ].join(ATTENDABLE_PATH_SEPARATOR),
493
- type: PLANK_COMPANION_TYPE,
494
- data: "selected-objects",
495
- properties: {
496
- label: [
497
- "companion selected objects label",
498
- {
499
- ns: meta.id
500
- }
501
- ],
502
- icon: "ph--tree-view--regular",
503
- disposition: "hidden"
504
- }
505
- }
506
- ])
507
- }),
508
- // Space settings panel children (General settings, Members, Types).
509
- GraphBuilder.createExtension({
510
- id: `${meta.id}/settings-sections`,
511
- match: NodeMatcher.whenNodeType(`${meta.id}/settings`),
512
- connector: (node) => Effect.succeed([
513
- {
514
- id: `properties-${node.id}`,
515
- type: `${meta.id}/properties`,
516
- data: `${meta.id}/properties`,
517
- properties: {
518
- label: [
519
- "space settings properties label",
520
- {
521
- ns: meta.id
522
- }
523
- ],
524
- icon: "ph--sliders--regular",
525
- position: "hoist",
526
- testId: "spacePlugin.general"
527
- }
528
- },
529
- {
530
- id: `members-${node.id}`,
531
- type: `${meta.id}/members`,
532
- data: `${meta.id}/members`,
533
- properties: {
534
- label: [
535
- "members panel label",
536
- {
537
- ns: meta.id
538
- }
539
- ],
540
- icon: "ph--users--regular",
541
- position: "hoist",
542
- testId: "spacePlugin.members"
543
- }
544
- },
545
- {
546
- id: `schema-${node.id}`,
547
- type: `${meta.id}/schema`,
548
- data: `${meta.id}/schema`,
549
- properties: {
550
- label: [
551
- "space settings schema label",
552
- {
553
- ns: meta.id
554
- }
555
- ],
556
- icon: "ph--shapes--regular",
557
- testId: "spacePlugin.schema"
558
- }
559
- }
560
- ])
561
- }),
562
- // Object settings plank companion.
563
- GraphBuilder.createExtension({
564
- id: `${meta.id}/settings`,
565
- match: NodeMatcher.whenEchoObjectMatches,
566
- connector: (node) => Effect.succeed([
567
- {
568
- id: [
569
- node.id,
570
- "settings"
571
- ].join(ATTENDABLE_PATH_SEPARATOR),
572
- type: PLANK_COMPANION_TYPE,
573
- data: "settings",
574
- properties: {
575
- label: [
576
- "object settings label",
577
- {
578
- ns: meta.id
579
- }
580
- ],
581
- icon: "ph--sliders--regular",
582
- disposition: "hidden",
583
- position: "fallback"
584
- }
585
- }
586
- ])
587
- })
588
- ]);
589
- return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);
590
- }));
591
- export {
592
- app_graph_builder_default as default
593
- };
594
- //# sourceMappingURL=app-graph-builder-N37ED6UI.mjs.map