@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,593 +0,0 @@
1
- import {
2
- getActiveSpace
3
- } from "./chunk-XIIYC7P5.mjs";
4
- import {
5
- SHARED,
6
- constructObjectActions,
7
- constructSpaceActions,
8
- constructSpaceNode,
9
- createObjectNode,
10
- createStaticSchemaActions,
11
- createStaticSchemaNode
12
- } from "./chunk-TPZUQ5DC.mjs";
13
- import {
14
- SPACE_TYPE,
15
- SpaceCapabilities,
16
- SpaceOperation
17
- } from "./chunk-USN5QKRV.mjs";
18
- import {
19
- meta
20
- } from "./chunk-HSMQFM57.mjs";
21
-
22
- // src/capabilities/app-graph-builder/app-graph-builder.ts
23
- import * as Effect from "effect/Effect";
24
- import * as Match from "effect/Match";
25
- import * as Option from "effect/Option";
26
- import * as Schema from "effect/Schema";
27
- import { Capability } from "@dxos/app-framework";
28
- import { AppCapabilities } from "@dxos/app-toolkit";
29
- import { SpaceState, getSpace, isSpace, parseId } from "@dxos/client/echo";
30
- import { DXN, Feed, Filter, Obj, Type } from "@dxos/echo";
31
- import { Collection } from "@dxos/echo";
32
- import { AtomObj, AtomQuery } from "@dxos/echo-atom";
33
- import { Operation } from "@dxos/operation";
34
- import { ClientCapabilities } from "@dxos/plugin-client";
35
- import { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
36
- import { CreateAtom, GraphBuilder, NodeMatcher } from "@dxos/plugin-graph";
37
- import { Expando, ManagedCollection, ViewAnnotation, getTypenameFromQuery } from "@dxos/schema";
38
- import { isNonNullable } from "@dxos/util";
39
- var whenSpace = (node) => node.type === SPACE_TYPE && isSpace(node.data) ? Option.some(node.data) : Option.none();
40
- var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function* ({ shareableLinkOrigin = window.location.origin } = {}) {
41
- const capabilities = yield* Capability.Service;
42
- const resolve = (get) => (typename) => capabilities.getAll(AppCapabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
43
- const extensions = yield* Effect.all([
44
- // Primary actions.
45
- GraphBuilder.createExtension({
46
- id: `${meta.id}/primary-actions`,
47
- position: "hoist",
48
- match: NodeMatcher.whenRoot,
49
- actions: () => Effect.succeed([
50
- {
51
- id: SpaceOperation.OpenCreateSpace.meta.key,
52
- data: () => Operation.invoke(SpaceOperation.OpenCreateSpace),
53
- properties: {
54
- label: [
55
- "create space label",
56
- {
57
- ns: meta.id
58
- }
59
- ],
60
- icon: "ph--plus--regular",
61
- testId: "spacePlugin.createSpace",
62
- disposition: "menu"
63
- }
64
- },
65
- {
66
- id: SpaceOperation.Join.meta.key,
67
- data: () => Operation.invoke(SpaceOperation.Join, {}),
68
- properties: {
69
- label: [
70
- "join space label",
71
- {
72
- ns: meta.id
73
- }
74
- ],
75
- icon: "ph--sign-in--regular",
76
- testId: "spacePlugin.joinSpace",
77
- disposition: "menu"
78
- }
79
- },
80
- {
81
- id: SpaceOperation.OpenMembers.meta.key,
82
- data: Effect.fnUntraced(function* () {
83
- const client = yield* Capability.get(ClientCapabilities.Client);
84
- const space = getActiveSpace(capabilities) ?? client.spaces.default;
85
- yield* Operation.invoke(SpaceOperation.OpenMembers, {
86
- space
87
- });
88
- }),
89
- properties: {
90
- label: [
91
- "share space label",
92
- {
93
- ns: meta.id
94
- }
95
- ],
96
- icon: "ph--users--regular",
97
- testId: "spacePlugin.shareSpace",
98
- keyBinding: {
99
- macos: "meta+.",
100
- windows: "alt+."
101
- }
102
- }
103
- },
104
- {
105
- id: SpaceOperation.OpenSettings.meta.key,
106
- data: Effect.fnUntraced(function* () {
107
- const client = yield* Capability.get(ClientCapabilities.Client);
108
- const space = getActiveSpace(capabilities) ?? client.spaces.default;
109
- yield* Operation.invoke(SpaceOperation.OpenSettings, {
110
- space
111
- });
112
- }),
113
- properties: {
114
- label: [
115
- "open current space settings label",
116
- {
117
- ns: meta.id
118
- }
119
- ],
120
- icon: "ph--faders--regular",
121
- keyBinding: {
122
- macos: "meta+shift+,",
123
- windows: "ctrl+shift+,"
124
- }
125
- }
126
- }
127
- ])
128
- }),
129
- // Create space nodes.
130
- GraphBuilder.createExtension({
131
- id: `${meta.id}/spaces`,
132
- match: NodeMatcher.whenRoot,
133
- connector: (node, get) => {
134
- const client = capabilities.get(ClientCapabilities.Client);
135
- const stateAtom = capabilities.get(SpaceCapabilities.State);
136
- const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
137
- const spacesAtom = CreateAtom.fromObservable(client.spaces);
138
- const isReadyAtom = CreateAtom.fromObservable(client.spaces.isReady);
139
- const spaces = get(spacesAtom);
140
- const isReady = get(isReadyAtom);
141
- if (!spaces || !isReady) {
142
- return Effect.succeed([]);
143
- }
144
- const settingsAtom = capabilities.get(SpaceCapabilities.Settings);
145
- const settings = get(settingsAtom);
146
- const state = get(stateAtom);
147
- const ephemeralState = get(ephemeralAtom);
148
- try {
149
- const [spacesOrder] = get(AtomQuery.make(client.spaces.default.db, Filter.type(Expando.Expando, {
150
- key: SHARED
151
- })));
152
- const { graph } = capabilities.get(AppCapabilities.AppGraph);
153
- const spacesOrderSnapshot = spacesOrder ? get(AtomObj.make(spacesOrder)) : void 0;
154
- const order = spacesOrderSnapshot?.order ?? [];
155
- const orderMap = new Map(order.map((id, index) => [
156
- id,
157
- index
158
- ]));
159
- const spaceStates = spaces.map((space) => get(CreateAtom.fromObservable(space.state)));
160
- spaces.forEach((space) => {
161
- if (space.state.get() === SpaceState.SPACE_READY) {
162
- get(AtomObj.make(space.properties));
163
- }
164
- });
165
- return Effect.succeed([
166
- ...spaces.filter((space) => orderMap.has(space.id)).sort((a, b) => orderMap.get(a.id) - orderMap.get(b.id)),
167
- ...spaces.filter((space) => !orderMap.has(space.id))
168
- ].filter((space, i) => settings?.showHidden ? true : spaceStates[i] !== SpaceState.SPACE_INACTIVE).map((space) => constructSpaceNode({
169
- space,
170
- navigable: ephemeralState.navigableCollections,
171
- personal: space === client.spaces.default,
172
- namesCache: state.spaceNames,
173
- resolve: resolve(get),
174
- graph,
175
- spacesOrder
176
- })));
177
- } catch {
178
- return Effect.succeed([]);
179
- }
180
- },
181
- resolver: (id, get) => {
182
- const { spaceId } = parseId(id);
183
- if (!spaceId) {
184
- return Effect.succeed(null);
185
- }
186
- const client = capabilities.get(ClientCapabilities.Client);
187
- const spaces = get(CreateAtom.fromObservable(client.spaces));
188
- const space = spaces?.find((s) => s.id === spaceId);
189
- if (!space) {
190
- return Effect.succeed(null);
191
- }
192
- const state = get(capabilities.get(SpaceCapabilities.State));
193
- const ephemeralState = get(capabilities.get(SpaceCapabilities.EphemeralState));
194
- const { graph } = capabilities.get(AppCapabilities.AppGraph);
195
- const [spacesOrder] = get(AtomQuery.make(client.spaces.default.db, Filter.type(Expando.Expando, {
196
- key: SHARED
197
- })));
198
- return Effect.succeed(constructSpaceNode({
199
- space,
200
- navigable: ephemeralState.navigableCollections,
201
- personal: space === client.spaces.default,
202
- namesCache: state.spaceNames,
203
- resolve: resolve(get),
204
- graph,
205
- spacesOrder
206
- }));
207
- }
208
- }),
209
- // Create space actions.
210
- GraphBuilder.createExtension({
211
- id: `${meta.id}/actions`,
212
- match: whenSpace,
213
- actions: (space, get) => {
214
- const [client] = get(capabilities.atom(ClientCapabilities.Client));
215
- const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
216
- const ephemeralState = get(ephemeralAtom);
217
- if (!client) {
218
- return Effect.succeed([]);
219
- }
220
- return Effect.succeed(constructSpaceActions({
221
- space,
222
- migrating: ephemeralState.sdkMigrationRunning[space.id]
223
- }));
224
- }
225
- }),
226
- // Create nodes for objects in the root collection of a space.
227
- GraphBuilder.createExtension({
228
- id: `${meta.id}/root-collection`,
229
- match: whenSpace,
230
- connector: (space, get) => {
231
- const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
232
- const ephemeralState = get(ephemeralAtom);
233
- const spaceState = get(CreateAtom.fromObservable(space.state));
234
- if (spaceState !== SpaceState.SPACE_READY) {
235
- return Effect.succeed([]);
236
- }
237
- const propertiesSnapshot = get(AtomObj.make(space.properties));
238
- const collectionRef = propertiesSnapshot[Collection.Collection.typename];
239
- const collection = collectionRef ? get(AtomObj.make(collectionRef)) : void 0;
240
- if (!collection) {
241
- return Effect.succeed([]);
242
- }
243
- const rawRefs = collection.objects ?? [];
244
- const objects = rawRefs.map((ref) => {
245
- get(AtomObj.make(ref));
246
- return ref.target;
247
- }).filter(isNonNullable);
248
- return Effect.succeed(objects.map((object) => createObjectNode({
249
- db: space.db,
250
- object,
251
- resolve: resolve(get),
252
- navigable: ephemeralState.navigableCollections,
253
- parentCollection: collectionRef?.target
254
- })).filter(isNonNullable));
255
- }
256
- }),
257
- // Create nodes for objects in a collection or by its DXN.
258
- GraphBuilder.createExtension({
259
- id: `${meta.id}/objects`,
260
- match: (node) => Obj.instanceOf(Collection.Collection, node.data) ? Option.some(node.data) : Option.none(),
261
- connector: (collection, get) => {
262
- const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
263
- const ephemeralState = get(ephemeralAtom);
264
- const space = getSpace(collection);
265
- const collectionSnapshot = get(AtomObj.make(collection));
266
- const refs = collectionSnapshot.objects ?? [];
267
- const objects = refs.map((ref) => {
268
- get(AtomObj.make(ref));
269
- return ref.target;
270
- }).filter(isNonNullable);
271
- return Effect.succeed(objects.map((object) => space && createObjectNode({
272
- object,
273
- db: space.db,
274
- resolve: resolve(get),
275
- navigable: ephemeralState.navigableCollections,
276
- parentCollection: collection
277
- })).filter(isNonNullable));
278
- },
279
- resolver: (id, get) => {
280
- const client = capabilities.get(ClientCapabilities.Client);
281
- const dxn = DXN.tryParse(id)?.asEchoDXN();
282
- if (!dxn || !dxn.spaceId) {
283
- return Effect.succeed(null);
284
- }
285
- const space = client.spaces.get(dxn.spaceId);
286
- if (!space) {
287
- return Effect.succeed(null);
288
- }
289
- const object = get(AtomQuery.make(space.db, Filter.id(dxn.echoId))).at(0);
290
- if (!Obj.isObject(object)) {
291
- return Effect.succeed(null);
292
- }
293
- return Effect.succeed(createObjectNode({
294
- object,
295
- db: space.db,
296
- resolve: resolve(get),
297
- disposition: "hidden"
298
- }));
299
- }
300
- }),
301
- // Create object nodes for schema-based system collections.
302
- GraphBuilder.createExtension({
303
- id: `${meta.id}/system-collections`,
304
- match: (node) => Obj.instanceOf(ManagedCollection.ManagedCollection, node.data) ? Option.some(node.data) : Option.none(),
305
- connector: (collection, get) => {
306
- const [typename, feedKind] = collection.key.split("~");
307
- const client = get(capabilities.atom(ClientCapabilities.Client)).at(0);
308
- const space = getSpace(collection);
309
- if (!space || !client) {
310
- return Effect.succeed([]);
311
- }
312
- const filter = Match.value(typename).pipe(Match.when(Feed.Feed.typename, () => Filter.type(Feed.Feed, {
313
- kind: feedKind
314
- })), Match.orElse((typename2) => {
315
- const schema = client.graph.schemaRegistry.query({
316
- typename: typename2,
317
- location: [
318
- "runtime"
319
- ],
320
- includeSystem: true
321
- }).runSync()[0];
322
- return schema ? Filter.type(schema) : void 0;
323
- }));
324
- if (!filter) {
325
- return Effect.succeed([]);
326
- }
327
- return Effect.succeed(get(AtomQuery.make(space.db, filter)).map((object) => {
328
- get(AtomObj.make(object));
329
- return createObjectNode({
330
- object,
331
- db: space.db,
332
- managedCollectionChild: true,
333
- resolve: resolve(get)
334
- });
335
- }).filter(isNonNullable));
336
- }
337
- }),
338
- // Create branch nodes for static schema record types.
339
- GraphBuilder.createExtension({
340
- id: `${meta.id}/static-schemas`,
341
- match: (node) => Obj.instanceOf(ManagedCollection.ManagedCollection, node.data) && node.data.key === Type.getTypename(Type.PersistentType) ? Option.some(node.data) : Option.none(),
342
- connector: (collection, get) => {
343
- const client = get(capabilities.atom(ClientCapabilities.Client)).at(0);
344
- const space = getSpace(collection);
345
- if (!space) {
346
- return Effect.succeed([]);
347
- }
348
- const propertiesSnapshot = get(AtomObj.make(space.properties));
349
- const staticRecords = propertiesSnapshot.staticRecords ?? [];
350
- return Effect.succeed(staticRecords.map((typename) => client?.graph.schemaRegistry.query({
351
- typename,
352
- location: [
353
- "runtime"
354
- ]
355
- }).runSync()[0]).filter(isNonNullable).map((schema) => createStaticSchemaNode({
356
- schema,
357
- space
358
- })));
359
- }
360
- }),
361
- // Create actions for static schema record types.
362
- GraphBuilder.createExtension({
363
- id: `${meta.id}/static-schema-actions`,
364
- match: (node) => {
365
- const space = isSpace(node.properties.space) ? node.properties.space : void 0;
366
- return space && Schema.isSchema(node.data) ? Option.some({
367
- space,
368
- schema: node.data
369
- }) : Option.none();
370
- },
371
- actions: ({ space, schema }, get) => {
372
- const schemas = get(capabilities.atom(ClientCapabilities.Client)).at(0)?.graph.schemaRegistry.query({
373
- location: [
374
- "runtime"
375
- ]
376
- }).runSync() ?? [];
377
- const filter = Filter.or(...schemas.filter((schema2) => ViewAnnotation.get(schema2).pipe(Option.getOrElse(() => false))).map((schema2) => Filter.type(schema2)));
378
- const objects = get(AtomQuery.make(space.db, filter));
379
- const targetTypename = Type.getTypename(schema);
380
- const filteredViews = objects.filter((viewObject) => {
381
- const viewSnapshot = get(AtomObj.make(viewObject));
382
- const viewRef = viewSnapshot.view;
383
- const viewTarget = viewRef ? get(AtomObj.make(viewRef)) : void 0;
384
- return getTypenameFromQuery(viewTarget?.query?.ast) === targetTypename;
385
- });
386
- const deletable = filteredViews.length === 0;
387
- return Effect.succeed(createStaticSchemaActions({
388
- schema,
389
- space,
390
- deletable
391
- }));
392
- }
393
- }),
394
- // Create nodes for views of record types.
395
- GraphBuilder.createExtension({
396
- id: `${meta.id}/schema-views`,
397
- match: (node) => {
398
- const space = getSpace(node.data) ?? (isSpace(node.properties.space) ? node.properties.space : void 0);
399
- return space && (Obj.instanceOf(Type.PersistentType, node.data) || Schema.isSchema(node.data)) ? Option.some({
400
- space,
401
- schema: node.data
402
- }) : Option.none();
403
- },
404
- connector: ({ space, schema }, get) => {
405
- const schemas = get(capabilities.atom(ClientCapabilities.Client)).at(0)?.graph.schemaRegistry.query({
406
- location: [
407
- "runtime"
408
- ]
409
- }).runSync() ?? [];
410
- const filter = Filter.or(...schemas.filter((schema2) => ViewAnnotation.get(schema2).pipe(Option.getOrElse(() => false))).map((schema2) => Filter.type(schema2)));
411
- const typename = Schema.isSchema(schema) ? Type.getTypename(schema) : schema.typename;
412
- const objects = get(AtomQuery.make(space.db, filter));
413
- return Effect.succeed(objects.filter((object) => {
414
- const objectSnapshot = get(AtomObj.make(object));
415
- const viewRef = objectSnapshot.view;
416
- const viewTarget = viewRef ? get(AtomObj.make(viewRef)) : void 0;
417
- return getTypenameFromQuery(viewTarget?.query?.ast) === typename;
418
- }).map((object) => createObjectNode({
419
- object,
420
- db: space.db,
421
- resolve: resolve(get),
422
- droppable: false
423
- })).filter(isNonNullable));
424
- }
425
- }),
426
- // Create collection actions and action groups.
427
- GraphBuilder.createExtension({
428
- id: `${meta.id}/object-actions`,
429
- match: (node) => {
430
- const space = getSpace(node.data);
431
- return space && Obj.isObject(node.data) && Obj.getTypename(node.data) === node.type ? Option.some({
432
- space,
433
- object: node.data
434
- }) : Option.none();
435
- },
436
- actions: ({ space, object }, get) => {
437
- const schemas = get(capabilities.atom(ClientCapabilities.Client)).at(0)?.graph.schemaRegistry.query({
438
- location: [
439
- "runtime"
440
- ]
441
- }).runSync() ?? [];
442
- const filter = Filter.or(...schemas.filter((schema) => ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false))).map((schema) => Filter.type(schema)));
443
- const isSchema2 = Obj.instanceOf(Type.PersistentType, object);
444
- let deletable = !isSchema2 && !Obj.instanceOf(ManagedCollection.ManagedCollection, object);
445
- if (isSchema2) {
446
- const objects = get(AtomQuery.make(space.db, filter));
447
- const filteredViews = objects.filter((viewObject) => {
448
- const viewSnapshot = get(AtomObj.make(viewObject));
449
- const viewRef = viewSnapshot.view;
450
- const viewTarget = viewRef ? get(AtomObj.make(viewRef)) : void 0;
451
- return getTypenameFromQuery(viewTarget?.query?.ast) === object.typename;
452
- });
453
- deletable = filteredViews.length === 0;
454
- }
455
- const [appGraph] = get(capabilities.atom(AppCapabilities.AppGraph));
456
- const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
457
- const ephemeralState = get(ephemeralAtom);
458
- if (!appGraph) {
459
- return Effect.succeed([]);
460
- }
461
- return Effect.succeed(constructObjectActions({
462
- object,
463
- graph: appGraph.graph,
464
- resolve: resolve(get),
465
- capabilities,
466
- deletable,
467
- navigable: ephemeralState.navigableCollections,
468
- shareableLinkOrigin
469
- }));
470
- }
471
- }),
472
- // View selected objects.
473
- GraphBuilder.createExtension({
474
- id: `${meta.id}/selected-objects`,
475
- match: (node) => {
476
- if (!Obj.isObject(node.data)) {
477
- return Option.none();
478
- }
479
- const schema = Obj.getSchema(node.data);
480
- const isView = Option.fromNullable(schema).pipe(Option.flatMap((schema2) => ViewAnnotation.get(schema2)), Option.getOrElse(() => false));
481
- if (!isView) {
482
- return Option.none();
483
- }
484
- return Option.some(node);
485
- },
486
- connector: (node) => Effect.succeed([
487
- {
488
- id: [
489
- node.id,
490
- "selected-objects"
491
- ].join(ATTENDABLE_PATH_SEPARATOR),
492
- type: PLANK_COMPANION_TYPE,
493
- data: "selected-objects",
494
- properties: {
495
- label: [
496
- "companion selected objects label",
497
- {
498
- ns: meta.id
499
- }
500
- ],
501
- icon: "ph--tree-view--regular",
502
- disposition: "hidden"
503
- }
504
- }
505
- ])
506
- }),
507
- // Space settings panel children (General settings, Members, Types).
508
- GraphBuilder.createExtension({
509
- id: `${meta.id}/settings-sections`,
510
- match: NodeMatcher.whenNodeType(`${meta.id}/settings`),
511
- connector: (node) => Effect.succeed([
512
- {
513
- id: `properties-${node.id}`,
514
- type: `${meta.id}/properties`,
515
- data: `${meta.id}/properties`,
516
- properties: {
517
- label: [
518
- "space settings properties label",
519
- {
520
- ns: meta.id
521
- }
522
- ],
523
- icon: "ph--sliders--regular",
524
- position: "hoist",
525
- testId: "spacePlugin.general"
526
- }
527
- },
528
- {
529
- id: `members-${node.id}`,
530
- type: `${meta.id}/members`,
531
- data: `${meta.id}/members`,
532
- properties: {
533
- label: [
534
- "members panel label",
535
- {
536
- ns: meta.id
537
- }
538
- ],
539
- icon: "ph--users--regular",
540
- position: "hoist",
541
- testId: "spacePlugin.members"
542
- }
543
- },
544
- {
545
- id: `schema-${node.id}`,
546
- type: `${meta.id}/schema`,
547
- data: `${meta.id}/schema`,
548
- properties: {
549
- label: [
550
- "space settings schema label",
551
- {
552
- ns: meta.id
553
- }
554
- ],
555
- icon: "ph--shapes--regular",
556
- testId: "spacePlugin.schema"
557
- }
558
- }
559
- ])
560
- }),
561
- // Object settings plank companion.
562
- GraphBuilder.createExtension({
563
- id: `${meta.id}/settings`,
564
- match: NodeMatcher.whenEchoObjectMatches,
565
- connector: (node) => Effect.succeed([
566
- {
567
- id: [
568
- node.id,
569
- "settings"
570
- ].join(ATTENDABLE_PATH_SEPARATOR),
571
- type: PLANK_COMPANION_TYPE,
572
- data: "settings",
573
- properties: {
574
- label: [
575
- "object settings label",
576
- {
577
- ns: meta.id
578
- }
579
- ],
580
- icon: "ph--sliders--regular",
581
- disposition: "hidden",
582
- position: "fallback"
583
- }
584
- }
585
- ])
586
- })
587
- ]);
588
- return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);
589
- }));
590
- export {
591
- app_graph_builder_default as default
592
- };
593
- //# sourceMappingURL=app-graph-builder-VFYFI7CD.mjs.map