@dxos/plugin-space 0.9.0 → 0.9.1-main.c7dcc2e112
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.
- package/dist/lib/neutral/{CollectionArticle-S3OF5KJ7.mjs → CollectionArticle-BMH7SZ7Q.mjs} +9 -12
- package/dist/lib/neutral/CollectionArticle-BMH7SZ7Q.mjs.map +7 -0
- package/dist/lib/neutral/{CollectionSection-A5WRHE5Z.mjs → CollectionSection-BLYTGOKH.mjs} +2 -2
- package/dist/lib/neutral/{CollectionSection-A5WRHE5Z.mjs.map → CollectionSection-BLYTGOKH.mjs.map} +3 -3
- package/dist/lib/neutral/{CreateObjectDialog-66R3K6I3.mjs → CreateObjectDialog-4VMOUKM7.mjs} +10 -10
- package/dist/lib/neutral/CreateObjectDialog-4VMOUKM7.mjs.map +7 -0
- package/dist/lib/neutral/{CreateSpaceDialog-CDGSEIJB.mjs → CreateSpaceDialog-WWNUTLVK.mjs} +6 -6
- package/dist/lib/neutral/CreateSpaceDialog-WWNUTLVK.mjs.map +7 -0
- package/dist/lib/neutral/{ImportSpaceDialog-7GKV4OTF.mjs → ImportSpaceDialog-CSSRTFAO.mjs} +4 -4
- package/dist/lib/neutral/ImportSpaceDialog-CSSRTFAO.mjs.map +7 -0
- package/dist/lib/neutral/{InlineSyncStatus-TBJKZCH7.mjs → InlineSyncStatus-UOUTAPCU.mjs} +4 -4
- package/dist/lib/neutral/InlineSyncStatus-UOUTAPCU.mjs.map +7 -0
- package/dist/lib/neutral/{JoinDialog-SSFKRFTJ.mjs → JoinDialog-QZGNRJ4P.mjs} +16 -9
- package/dist/lib/neutral/JoinDialog-QZGNRJ4P.mjs.map +7 -0
- package/dist/lib/neutral/{MembersContainer-KMCQDWCS.mjs → MembersContainer-OWCAMBKS.mjs} +5 -5
- package/dist/lib/neutral/MembersContainer-OWCAMBKS.mjs.map +7 -0
- package/dist/lib/neutral/{MenuFooter-5JT7V5FZ.mjs → MenuFooter-QCNFUIAO.mjs} +6 -6
- package/dist/lib/neutral/MenuFooter-QCNFUIAO.mjs.map +7 -0
- package/dist/lib/neutral/{ObjectCardStack-IXNU3HEN.mjs → ObjectCardStack-DHVDRNRK.mjs} +4 -4
- package/dist/lib/neutral/ObjectCardStack-DHVDRNRK.mjs.map +7 -0
- package/dist/lib/neutral/RecordArticle-JSORXRAA.mjs +102 -0
- package/dist/lib/neutral/RecordArticle-JSORXRAA.mjs.map +7 -0
- package/dist/lib/neutral/{RelatedArticle-YDNGUDAJ.mjs → RelatedArticle-YRCRBIYU.mjs} +11 -9
- package/dist/lib/neutral/RelatedArticle-YRCRBIYU.mjs.map +7 -0
- package/dist/lib/neutral/RenamePopover-XBZAKNM7.mjs +96 -0
- package/dist/lib/neutral/RenamePopover-XBZAKNM7.mjs.map +7 -0
- package/dist/lib/neutral/{SchemaContainer-Q4BP6X2M.mjs → SchemaContainer-2NK5YB5O.mjs} +2 -2
- package/dist/lib/neutral/SchemaContainer-2NK5YB5O.mjs.map +7 -0
- package/dist/lib/neutral/{SmallPresenceLive-GUF4WLUC.mjs → SmallPresenceLive-L4H7WJOA.mjs} +2 -2
- package/dist/lib/neutral/SpaceHomeArticle-ZV7EERLS.mjs +78 -0
- package/dist/lib/neutral/SpaceHomeArticle-ZV7EERLS.mjs.map +7 -0
- package/dist/lib/neutral/SpaceHomeRecent-ZR4LIIUD.mjs +83 -0
- package/dist/lib/neutral/SpaceHomeRecent-ZR4LIIUD.mjs.map +7 -0
- package/dist/lib/neutral/SpacePlugin.mjs +1 -1
- package/dist/lib/neutral/SpacePlugin.node.mjs +4 -4
- package/dist/lib/neutral/SpacePlugin.node.mjs.map +3 -3
- package/dist/lib/neutral/{SpacePresence-ACEXUS3N.mjs → SpacePresence-PDTEDHDE.mjs} +2 -2
- package/dist/lib/neutral/{SpaceSettings-YAHBOY5T.mjs → SpaceSettings-IVTCSLNT.mjs} +6 -6
- package/dist/lib/neutral/SpaceSettings-IVTCSLNT.mjs.map +7 -0
- package/dist/lib/neutral/{SpaceSettingsContainer-IB34TEOB.mjs → SpaceSettingsContainer-QAFQ4LWC.mjs} +8 -8
- package/dist/lib/neutral/SpaceSettingsContainer-QAFQ4LWC.mjs.map +7 -0
- package/dist/lib/neutral/{SyncStatus-CWOXWDDZ.mjs → SyncStatus-J7CHLO5O.mjs} +3 -3
- package/dist/lib/neutral/SyncStatus-J7CHLO5O.mjs.map +7 -0
- package/dist/lib/neutral/{add-object-QYOMCBJA.mjs → add-object-S64XELC3.mjs} +10 -10
- package/dist/lib/neutral/add-object-S64XELC3.mjs.map +7 -0
- package/dist/lib/neutral/{add-relation-HV3VCMJG.mjs → add-relation-GWSE42BU.mjs} +3 -3
- package/dist/lib/neutral/{add-type-CZVKSEIW.mjs → add-type-C3KYE6PI.mjs} +3 -3
- package/dist/lib/neutral/{app-graph-builder-SQGCUCDO.mjs → app-graph-builder-TMAD2ZTH.mjs} +128 -71
- package/dist/lib/neutral/app-graph-builder-TMAD2ZTH.mjs.map +7 -0
- package/dist/lib/neutral/capabilities/index.mjs +13 -15
- package/dist/lib/neutral/capabilities/index.mjs.map +3 -3
- package/dist/lib/neutral/capabilities/node.mjs +2 -2
- package/dist/lib/neutral/{chunk-EEXRKYOD.mjs → chunk-2LTGSUGQ.mjs} +2 -2
- package/dist/lib/neutral/{chunk-EEXRKYOD.mjs.map → chunk-2LTGSUGQ.mjs.map} +2 -2
- package/dist/lib/neutral/chunk-2RPQHHD7.mjs +17 -0
- package/dist/lib/neutral/chunk-2RPQHHD7.mjs.map +7 -0
- package/dist/lib/neutral/chunk-5ZZS3KMK.mjs +46 -0
- package/dist/lib/neutral/chunk-5ZZS3KMK.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-K34BPPQE.mjs → chunk-DSYEB2UN.mjs} +29 -17
- package/dist/lib/neutral/chunk-DSYEB2UN.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-YY62663T.mjs → chunk-F2VJ6VBV.mjs} +3 -3
- package/dist/lib/neutral/chunk-F2VJ6VBV.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-JHZGRYGS.mjs → chunk-G2KHP7FX.mjs} +2 -2
- package/dist/lib/neutral/{chunk-JHZGRYGS.mjs.map → chunk-G2KHP7FX.mjs.map} +2 -2
- package/dist/lib/neutral/chunk-I5JXVBXX.mjs +8 -0
- package/dist/lib/neutral/{chunk-BBQR23DW.mjs → chunk-LY6XK5MV.mjs} +105 -128
- package/dist/lib/neutral/chunk-LY6XK5MV.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-7WUJENBF.mjs → chunk-PSCIOT7Q.mjs} +4 -4
- package/dist/lib/neutral/chunk-PSCIOT7Q.mjs.map +7 -0
- package/dist/lib/neutral/{close-FGQN37PK.mjs → close-YZHFYPUN.mjs} +3 -3
- package/dist/lib/neutral/components/index.mjs +7 -7
- package/dist/lib/neutral/components/index.mjs.map +3 -3
- package/dist/lib/neutral/containers/index.mjs +23 -21
- package/dist/lib/neutral/containers/index.mjs.map +3 -3
- package/dist/lib/neutral/{create-EPIFSRJA.mjs → create-XKU2W6QC.mjs} +6 -6
- package/dist/lib/neutral/create-XKU2W6QC.mjs.map +7 -0
- package/dist/lib/neutral/{delete-LIA5M3WI.mjs → delete-EFM7CAVO.mjs} +3 -3
- package/dist/lib/neutral/{delete-field-ZIGFXFHY.mjs → delete-field-ONAPFFO5.mjs} +3 -3
- package/dist/lib/neutral/{duplicate-object-X37FM6PW.mjs → duplicate-object-OJRPFV5I.mjs} +3 -3
- package/dist/lib/neutral/{export-space-VWJHVXWF.mjs → export-space-M5RNVUQX.mjs} +3 -3
- package/dist/lib/neutral/{get-share-link-3LEA5FSK.mjs → get-share-link-FUQBJPSQ.mjs} +4 -4
- package/dist/lib/neutral/hooks/index.mjs +16 -4
- package/dist/lib/neutral/hooks/index.mjs.map +3 -3
- package/dist/lib/neutral/{identity-created-57RML5XT.mjs → identity-created-QMV4DANW.mjs} +4 -4
- package/dist/lib/neutral/identity-created-QMV4DANW.mjs.map +7 -0
- package/dist/lib/neutral/{import-space-Y5L3QE3C.mjs → import-space-L3AUIARM.mjs} +3 -3
- package/dist/lib/neutral/index.mjs +12 -6
- package/dist/lib/neutral/{join-Z5K4OAIG.mjs → join-VY3QYBU7.mjs} +4 -4
- package/dist/lib/neutral/meta.json +1 -1
- package/dist/lib/neutral/meta.mjs +1 -1
- package/dist/lib/neutral/{migrate-G7I52UKD.mjs → migrate-WPUISBC4.mjs} +3 -3
- package/dist/lib/neutral/{navigation-handler-QQJYEMAS.mjs → navigation-handler-IKXZGMII.mjs} +4 -4
- package/dist/lib/neutral/{navigation-resolver-IFVQRCGU.mjs → navigation-resolver-VBPGMFCE.mjs} +7 -7
- package/dist/lib/neutral/navigation-resolver-VBPGMFCE.mjs.map +7 -0
- package/dist/lib/neutral/{open-CPWVZSI4.mjs → open-RRYULTSY.mjs} +3 -3
- package/dist/lib/neutral/{open-create-object-4LN4PR6N.mjs → open-create-object-BRUVFZSY.mjs} +4 -4
- package/dist/lib/neutral/{open-create-space-VPAW3F2T.mjs → open-create-space-ARLQWW65.mjs} +4 -4
- package/dist/lib/neutral/{open-import-space-VLQ5V55H.mjs → open-import-space-65H57JXX.mjs} +4 -4
- package/dist/lib/neutral/{open-members-BEXOSSBS.mjs → open-members-677P6KD3.mjs} +6 -6
- package/dist/lib/neutral/open-members-677P6KD3.mjs.map +7 -0
- package/dist/lib/neutral/{open-settings-RHDBW2K5.mjs → open-settings-PRBSGO6D.mjs} +6 -6
- package/dist/lib/neutral/open-settings-PRBSGO6D.mjs.map +7 -0
- package/dist/lib/neutral/operations/index.mjs +3 -3
- package/dist/lib/neutral/plugin.mjs +4 -4
- package/dist/lib/neutral/{react-root-2DJPZQT4.mjs → react-root-YLYRCSAZ.mjs} +2 -2
- package/dist/lib/neutral/{react-root-2DJPZQT4.mjs.map → react-root-YLYRCSAZ.mjs.map} +3 -3
- package/dist/lib/neutral/{react-surface-LYCTOQLY.mjs → react-surface-5EQ6X4CL.mjs} +48 -70
- package/dist/lib/neutral/react-surface-5EQ6X4CL.mjs.map +7 -0
- package/dist/lib/neutral/{remove-objects-OWDMA4IF.mjs → remove-objects-PWJJI36V.mjs} +5 -5
- package/dist/lib/neutral/remove-objects-PWJJI36V.mjs.map +7 -0
- package/dist/lib/neutral/{rename-SR6BBSPU.mjs → rename-4727PKI4.mjs} +8 -7
- package/dist/lib/neutral/rename-4727PKI4.mjs.map +7 -0
- package/dist/lib/neutral/{rename-object-5H6E5AOX.mjs → rename-object-FXUAB5FN.mjs} +8 -7
- package/dist/lib/neutral/rename-object-FXUAB5FN.mjs.map +7 -0
- package/dist/lib/neutral/{repair-PSYRVSJ6.mjs → repair-HMH476U3.mjs} +3 -3
- package/dist/lib/neutral/repair-HMH476U3.mjs.map +7 -0
- package/dist/lib/neutral/{restore-field-UHDG2ZQM.mjs → restore-field-3ICSIHGA.mjs} +3 -3
- package/dist/lib/neutral/{restore-objects-2UD5P6OC.mjs → restore-objects-V2BTEWN3.mjs} +3 -3
- package/dist/lib/neutral/{settings-Q32EQCHX.mjs → settings-5IBSYBVU.mjs} +3 -3
- package/dist/lib/neutral/{settings-Q32EQCHX.mjs.map → settings-5IBSYBVU.mjs.map} +3 -3
- package/dist/lib/neutral/{share-5Y4NZA75.mjs → share-ZOZPAUGI.mjs} +3 -3
- package/dist/lib/neutral/{snapshot-H3HKOFVP.mjs → snapshot-ZC5PU55W.mjs} +3 -3
- package/dist/lib/neutral/{spaces-ready-GBF72QJH.mjs → spaces-ready-EXPCJD4N.mjs} +11 -11
- package/dist/lib/neutral/spaces-ready-EXPCJD4N.mjs.map +7 -0
- package/dist/lib/neutral/{state-DPBOZRAW.mjs → state-KMH2NUAL.mjs} +2 -2
- package/dist/lib/neutral/state-KMH2NUAL.mjs.map +7 -0
- package/dist/lib/neutral/testing.mjs +1 -1
- package/dist/lib/neutral/translations.mjs +4 -2
- package/dist/lib/neutral/translations.mjs.map +3 -3
- package/dist/lib/neutral/types/index.mjs +9 -3
- package/dist/lib/neutral/{undo-mappings-OBRQOYN4.mjs → undo-mappings-P43EAUGI.mjs} +5 -5
- package/dist/lib/neutral/{undo-mappings-OBRQOYN4.mjs.map → undo-mappings-P43EAUGI.mjs.map} +3 -3
- package/dist/lib/neutral/{wait-for-object-3TAWUWTP.mjs → wait-for-object-WURK2SLQ.mjs} +3 -3
- package/dist/types/dx.config.d.ts +28 -0
- package/dist/types/dx.config.d.ts.map +1 -0
- package/dist/types/src/SpacePlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts +12 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/extensions/database.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts +0 -1
- package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts +13 -1
- package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts +1 -1
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +10 -54
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/navigation-handler/index.d.ts +1 -1
- package/dist/types/src/capabilities/navigation-handler/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/navigation-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/node.d.ts +3 -33
- package/dist/types/src/capabilities/node.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts +2 -2
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/commands/database/add.d.ts.map +1 -1
- package/dist/types/src/commands/queue/query.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettings.stories.d.ts +20 -0
- package/dist/types/src/components/SpaceSettings/SpaceSettings.stories.d.ts.map +1 -1
- package/dist/types/src/constants.d.ts +1 -2
- package/dist/types/src/constants.d.ts.map +1 -1
- package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts.map +1 -1
- package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.stories.d.ts +20 -0
- package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.stories.d.ts.map +1 -1
- package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.d.ts.map +1 -1
- package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.stories.d.ts +20 -0
- package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.stories.d.ts.map +1 -1
- package/dist/types/src/containers/JoinDialog/JoinDialog.d.ts.map +1 -1
- package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts +20 -0
- package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts.map +1 -1
- package/dist/types/src/containers/ObjectProperties/ObjectProperties.d.ts +1 -1
- package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts.map +1 -1
- package/dist/types/src/containers/RenamePopover/RenamePopover.d.ts +12 -0
- package/dist/types/src/containers/RenamePopover/RenamePopover.d.ts.map +1 -0
- package/dist/types/src/containers/RenamePopover/index.d.ts +3 -0
- package/dist/types/src/containers/RenamePopover/index.d.ts.map +1 -0
- package/dist/types/src/containers/SpaceHomeArticle/SpaceHomeArticle.d.ts +15 -0
- package/dist/types/src/containers/SpaceHomeArticle/SpaceHomeArticle.d.ts.map +1 -0
- package/dist/types/src/containers/SpaceHomeArticle/index.d.ts +2 -0
- package/dist/types/src/containers/SpaceHomeArticle/index.d.ts.map +1 -0
- package/dist/types/src/containers/SpaceHomeRecent/SpaceHomeRecent.d.ts +22 -0
- package/dist/types/src/containers/SpaceHomeRecent/SpaceHomeRecent.d.ts.map +1 -0
- package/dist/types/src/containers/SpaceHomeRecent/index.d.ts +2 -0
- package/dist/types/src/containers/SpaceHomeRecent/index.d.ts.map +1 -0
- package/dist/types/src/containers/SpacePresence/SpacePresence.stories.d.ts +20 -0
- package/dist/types/src/containers/SpacePresence/SpacePresence.stories.d.ts.map +1 -1
- package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.d.ts +20 -0
- package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.d.ts.map +1 -1
- package/dist/types/src/containers/SyncStatus/SyncStatus.stories.d.ts +20 -0
- package/dist/types/src/containers/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
- package/dist/types/src/containers/index.d.ts +3 -2
- package/dist/types/src/containers/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
- package/dist/types/src/hooks/useRelatedObjects.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +28 -2
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/operations/add-object.d.ts.map +1 -1
- package/dist/types/src/operations/helpers.d.ts.map +1 -1
- package/dist/types/src/operations/remove-objects.d.ts.map +1 -1
- package/dist/types/src/operations/rename-object.d.ts.map +1 -1
- package/dist/types/src/operations/rename.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +20 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/capabilities.d.ts.map +1 -1
- package/dist/types/src/types/events.d.ts.map +1 -1
- package/dist/types/src/types/form.d.ts +7 -1
- package/dist/types/src/types/form.d.ts.map +1 -1
- package/dist/types/src/types/index.d.ts +1 -0
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/surface.d.ts +26 -0
- package/dist/types/src/types/surface.d.ts.map +1 -0
- package/dist/types/src/types/types.d.ts +7 -0
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dx.config.ts +35 -0
- package/package.json +51 -50
- package/src/SpacePlugin.test.ts +1 -1
- package/src/SpacePlugin.ts +1 -7
- package/src/capabilities/app-graph-builder/extensions/collections.ts +44 -24
- package/src/capabilities/app-graph-builder/extensions/companions.ts +3 -3
- package/src/capabilities/app-graph-builder/extensions/database.ts +17 -14
- package/src/capabilities/app-graph-builder/extensions/settings.ts +9 -9
- package/src/capabilities/app-graph-builder/extensions/shared.ts +5 -20
- package/src/capabilities/app-graph-builder/extensions/spaces.ts +49 -26
- package/src/capabilities/identity-created.ts +3 -3
- package/src/capabilities/index.ts +0 -1
- package/src/capabilities/navigation-resolver.ts +6 -13
- package/src/capabilities/react-root.tsx +1 -1
- package/src/capabilities/react-surface.tsx +58 -88
- package/src/capabilities/repair.ts +4 -2
- package/src/capabilities/settings.ts +2 -2
- package/src/capabilities/spaces-ready.ts +8 -15
- package/src/capabilities/state.ts +1 -1
- package/src/capabilities/undo-mappings.ts +3 -3
- package/src/commands/database/add.ts +4 -2
- package/src/commands/queue/query.ts +4 -3
- package/src/components/AwaitingObject/AwaitingObject.tsx +1 -1
- package/src/components/CreateObjectPanel/CreateObjectPanel.tsx +2 -2
- package/src/components/ForeignKeys/ForeignKeys.tsx +1 -1
- package/src/components/SpaceSettings/SpaceSettings.tsx +3 -3
- package/src/constants.ts +5 -6
- package/src/containers/CollectionArticle/CollectionArticle.tsx +10 -6
- package/src/containers/CollectionSection/CollectionSection.tsx +1 -1
- package/src/containers/CreateObjectDialog/CreateObjectDialog.tsx +10 -7
- package/src/containers/CreateSpaceDialog/CreateSpaceDialog.tsx +5 -5
- package/src/containers/ImportSpaceDialog/ImportSpaceDialog.tsx +3 -3
- package/src/containers/InlineSyncStatus/InlineSyncStatus.tsx +3 -3
- package/src/containers/JoinDialog/JoinDialog.tsx +13 -11
- package/src/containers/MembersContainer/MembersContainer.tsx +5 -5
- package/src/containers/MenuFooter/MenuFooter.tsx +3 -3
- package/src/containers/ObjectCardStack/ObjectCardStack.tsx +3 -3
- package/src/containers/RecordArticle/RecordArticle.tsx +67 -8
- package/src/containers/RelatedArticle/RelatedArticle.tsx +17 -13
- package/src/containers/RenamePopover/RenamePopover.tsx +112 -0
- package/src/containers/RenamePopover/index.ts +6 -0
- package/src/containers/SchemaContainer/SchemaContainer.tsx +1 -1
- package/src/containers/SpaceHomeArticle/SpaceHomeArticle.tsx +100 -0
- package/src/containers/SpaceHomeArticle/index.ts +5 -0
- package/src/containers/SpaceHomeRecent/SpaceHomeRecent.tsx +101 -0
- package/src/containers/SpaceHomeRecent/index.ts +5 -0
- package/src/containers/SpacePresence/SpacePresence.tsx +1 -1
- package/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.tsx +7 -7
- package/src/containers/SyncStatus/SyncStatus.tsx +2 -2
- package/src/containers/index.ts +3 -2
- package/src/hooks/useInputSurfaceLookup.tsx +3 -2
- package/src/hooks/useRelatedObjects.ts +13 -1
- package/src/meta.ts +2 -27
- package/src/operations/add-object.ts +7 -14
- package/src/operations/create.ts +2 -2
- package/src/operations/definitions.ts +1 -1
- package/src/operations/helpers.ts +1 -1
- package/src/operations/open-members.ts +3 -3
- package/src/operations/open-settings.ts +3 -3
- package/src/operations/remove-objects.ts +3 -2
- package/src/operations/rename-object.ts +3 -2
- package/src/operations/rename.ts +3 -2
- package/src/translations.ts +3 -1
- package/src/types/capabilities.ts +8 -8
- package/src/types/events.ts +5 -5
- package/src/types/form.ts +5 -1
- package/src/types/index.ts +1 -0
- package/src/types/surface.ts +31 -0
- package/src/types/types.ts +9 -1
- package/src/util.ts +3 -3
- package/dist/lib/neutral/CollectionArticle-S3OF5KJ7.mjs.map +0 -7
- package/dist/lib/neutral/CreateObjectDialog-66R3K6I3.mjs.map +0 -7
- package/dist/lib/neutral/CreateSpaceDialog-CDGSEIJB.mjs.map +0 -7
- package/dist/lib/neutral/EntityRenamePopover-MYSW262F.mjs +0 -59
- package/dist/lib/neutral/EntityRenamePopover-MYSW262F.mjs.map +0 -7
- package/dist/lib/neutral/ImportSpaceDialog-7GKV4OTF.mjs.map +0 -7
- package/dist/lib/neutral/InlineSyncStatus-TBJKZCH7.mjs.map +0 -7
- package/dist/lib/neutral/JoinDialog-SSFKRFTJ.mjs.map +0 -7
- package/dist/lib/neutral/MembersContainer-KMCQDWCS.mjs.map +0 -7
- package/dist/lib/neutral/MenuFooter-5JT7V5FZ.mjs.map +0 -7
- package/dist/lib/neutral/ObjectCardStack-IXNU3HEN.mjs.map +0 -7
- package/dist/lib/neutral/RecordArticle-QWGH25NT.mjs +0 -51
- package/dist/lib/neutral/RecordArticle-QWGH25NT.mjs.map +0 -7
- package/dist/lib/neutral/RelatedArticle-YDNGUDAJ.mjs.map +0 -7
- package/dist/lib/neutral/SchemaContainer-Q4BP6X2M.mjs.map +0 -7
- package/dist/lib/neutral/SpaceRenamePopover-KFWL4CTJ.mjs +0 -56
- package/dist/lib/neutral/SpaceRenamePopover-KFWL4CTJ.mjs.map +0 -7
- package/dist/lib/neutral/SpaceSettings-YAHBOY5T.mjs.map +0 -7
- package/dist/lib/neutral/SpaceSettingsContainer-IB34TEOB.mjs.map +0 -7
- package/dist/lib/neutral/SyncStatus-CWOXWDDZ.mjs.map +0 -7
- package/dist/lib/neutral/add-object-QYOMCBJA.mjs.map +0 -7
- package/dist/lib/neutral/app-graph-builder-SQGCUCDO.mjs.map +0 -7
- package/dist/lib/neutral/app-graph-serializer-IBPPU5VR.mjs +0 -81
- package/dist/lib/neutral/app-graph-serializer-IBPPU5VR.mjs.map +0 -7
- package/dist/lib/neutral/chunk-4RTSNTDC.mjs +0 -37
- package/dist/lib/neutral/chunk-4RTSNTDC.mjs.map +0 -7
- package/dist/lib/neutral/chunk-7WUJENBF.mjs.map +0 -7
- package/dist/lib/neutral/chunk-B7DBIARR.mjs +0 -8
- package/dist/lib/neutral/chunk-BBQR23DW.mjs.map +0 -7
- package/dist/lib/neutral/chunk-F5MESIRH.mjs +0 -19
- package/dist/lib/neutral/chunk-F5MESIRH.mjs.map +0 -7
- package/dist/lib/neutral/chunk-K34BPPQE.mjs.map +0 -7
- package/dist/lib/neutral/chunk-YY62663T.mjs.map +0 -7
- package/dist/lib/neutral/create-EPIFSRJA.mjs.map +0 -7
- package/dist/lib/neutral/identity-created-57RML5XT.mjs.map +0 -7
- package/dist/lib/neutral/navigation-resolver-IFVQRCGU.mjs.map +0 -7
- package/dist/lib/neutral/open-members-BEXOSSBS.mjs.map +0 -7
- package/dist/lib/neutral/open-settings-RHDBW2K5.mjs.map +0 -7
- package/dist/lib/neutral/react-surface-LYCTOQLY.mjs.map +0 -7
- package/dist/lib/neutral/remove-objects-OWDMA4IF.mjs.map +0 -7
- package/dist/lib/neutral/rename-SR6BBSPU.mjs.map +0 -7
- package/dist/lib/neutral/rename-object-5H6E5AOX.mjs.map +0 -7
- package/dist/lib/neutral/repair-PSYRVSJ6.mjs.map +0 -7
- package/dist/lib/neutral/spaces-ready-GBF72QJH.mjs.map +0 -7
- package/dist/lib/neutral/state-DPBOZRAW.mjs.map +0 -7
- package/dist/types/src/capabilities/app-graph-serializer.d.ts +0 -5
- package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +0 -1
- package/dist/types/src/containers/EntityRenamePopover/EntityRenamePopover.d.ts +0 -7
- package/dist/types/src/containers/EntityRenamePopover/EntityRenamePopover.d.ts.map +0 -1
- package/dist/types/src/containers/EntityRenamePopover/index.d.ts +0 -2
- package/dist/types/src/containers/EntityRenamePopover/index.d.ts.map +0 -1
- package/dist/types/src/containers/SpaceRenamePopover/SpaceRenamePopover.d.ts +0 -7
- package/dist/types/src/containers/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +0 -1
- package/dist/types/src/containers/SpaceRenamePopover/index.d.ts +0 -2
- package/dist/types/src/containers/SpaceRenamePopover/index.d.ts.map +0 -1
- package/src/capabilities/app-graph-serializer.ts +0 -85
- package/src/containers/EntityRenamePopover/EntityRenamePopover.tsx +0 -52
- package/src/containers/EntityRenamePopover/index.ts +0 -5
- package/src/containers/SpaceRenamePopover/SpaceRenamePopover.tsx +0 -54
- package/src/containers/SpaceRenamePopover/index.ts +0 -5
- /package/dist/lib/neutral/{SmallPresenceLive-GUF4WLUC.mjs.map → SmallPresenceLive-L4H7WJOA.mjs.map} +0 -0
- /package/dist/lib/neutral/{SpacePresence-ACEXUS3N.mjs.map → SpacePresence-PDTEDHDE.mjs.map} +0 -0
- /package/dist/lib/neutral/{add-relation-HV3VCMJG.mjs.map → add-relation-GWSE42BU.mjs.map} +0 -0
- /package/dist/lib/neutral/{add-type-CZVKSEIW.mjs.map → add-type-C3KYE6PI.mjs.map} +0 -0
- /package/dist/lib/neutral/{chunk-B7DBIARR.mjs.map → chunk-I5JXVBXX.mjs.map} +0 -0
- /package/dist/lib/neutral/{close-FGQN37PK.mjs.map → close-YZHFYPUN.mjs.map} +0 -0
- /package/dist/lib/neutral/{delete-LIA5M3WI.mjs.map → delete-EFM7CAVO.mjs.map} +0 -0
- /package/dist/lib/neutral/{delete-field-ZIGFXFHY.mjs.map → delete-field-ONAPFFO5.mjs.map} +0 -0
- /package/dist/lib/neutral/{duplicate-object-X37FM6PW.mjs.map → duplicate-object-OJRPFV5I.mjs.map} +0 -0
- /package/dist/lib/neutral/{export-space-VWJHVXWF.mjs.map → export-space-M5RNVUQX.mjs.map} +0 -0
- /package/dist/lib/neutral/{get-share-link-3LEA5FSK.mjs.map → get-share-link-FUQBJPSQ.mjs.map} +0 -0
- /package/dist/lib/neutral/{import-space-Y5L3QE3C.mjs.map → import-space-L3AUIARM.mjs.map} +0 -0
- /package/dist/lib/neutral/{join-Z5K4OAIG.mjs.map → join-VY3QYBU7.mjs.map} +0 -0
- /package/dist/lib/neutral/{migrate-G7I52UKD.mjs.map → migrate-WPUISBC4.mjs.map} +0 -0
- /package/dist/lib/neutral/{navigation-handler-QQJYEMAS.mjs.map → navigation-handler-IKXZGMII.mjs.map} +0 -0
- /package/dist/lib/neutral/{open-CPWVZSI4.mjs.map → open-RRYULTSY.mjs.map} +0 -0
- /package/dist/lib/neutral/{open-create-object-4LN4PR6N.mjs.map → open-create-object-BRUVFZSY.mjs.map} +0 -0
- /package/dist/lib/neutral/{open-create-space-VPAW3F2T.mjs.map → open-create-space-ARLQWW65.mjs.map} +0 -0
- /package/dist/lib/neutral/{open-import-space-VLQ5V55H.mjs.map → open-import-space-65H57JXX.mjs.map} +0 -0
- /package/dist/lib/neutral/{restore-field-UHDG2ZQM.mjs.map → restore-field-3ICSIHGA.mjs.map} +0 -0
- /package/dist/lib/neutral/{restore-objects-2UD5P6OC.mjs.map → restore-objects-V2BTEWN3.mjs.map} +0 -0
- /package/dist/lib/neutral/{share-5Y4NZA75.mjs.map → share-ZOZPAUGI.mjs.map} +0 -0
- /package/dist/lib/neutral/{snapshot-H3HKOFVP.mjs.map → snapshot-ZC5PU55W.mjs.map} +0 -0
- /package/dist/lib/neutral/{wait-for-object-3TAWUWTP.mjs.map → wait-for-object-WURK2SLQ.mjs.map} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/react-surface.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\nimport React, { type ComponentProps, useCallback } from 'react';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Surface, useAtomCapability, useOperationInvoker } from '@dxos/app-framework/ui';\nimport { AppAnnotation } from '@dxos/app-toolkit';\nimport { AppSurface, useActiveSpace, useTypeOptions } from '@dxos/app-toolkit/ui';\nimport { Annotation, Collection, Database, Entity, Obj, Type } from '@dxos/echo';\nimport { SchemaEx } from '@dxos/effect';\nimport { type Space, SpaceState, getSpace, isSpace, useSpaces } from '@dxos/react-client/echo';\nimport { Input } from '@dxos/react-ui';\nimport { type FormFieldRendererProps, SelectField } from '@dxos/react-ui-form';\nimport { HuePicker, IconPicker } from '@dxos/react-ui-pickers';\nimport { ViewAnnotation } from '@dxos/schema';\n\nimport { SpaceSettings } from '#components';\nimport {\n CollectionArticle,\n CollectionSection,\n CreateObjectDialog,\n CreateSpaceDialog,\n ImportSpaceDialog,\n InlineSyncStatus,\n JoinDialog,\n MembersContainer,\n MenuFooter,\n ObjectCardStack,\n ObjectProperties,\n RecordArticle,\n RelatedArticle,\n RenamePopover,\n SchemaContainer,\n SmallPresenceLive,\n SpaceHomeArticle,\n SpaceHomeRecent,\n SpacePresence,\n SpaceSettingsContainer,\n SyncStatus,\n ViewEditor,\n} from '#containers';\nimport { meta } from '#meta';\nimport { SpaceOperation } from '#operations';\nimport {\n HueAnnotationId,\n IconAnnotationId,\n SpaceCapabilities,\n SpaceHomeContent,\n SPACE_HOME_NODE_TYPE,\n type TypeInputOptions,\n TypeInputOptionsAnnotationId,\n} from '#types';\n\nimport {\n CREATE_OBJECT_DIALOG,\n CREATE_SPACE_DIALOG,\n IMPORT_SPACE_DIALOG,\n JOIN_DIALOG,\n RENAME_POPOVER,\n} from '../constants';\n\ntype ReactSurfaceOptions = {\n createInvitationUrl: (invitationCode: string) => string;\n};\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* ({ createInvitationUrl }: ReactSurfaceOptions) {\n return Capability.contributes(Capabilities.ReactSurface, [\n Surface.create({\n id: 'spaceHome',\n filter: AppSurface.literal(AppSurface.Article, SPACE_HOME_NODE_TYPE),\n component: ({ data, role }) => (\n <SpaceHomeArticle role={role} attendableId={data.attendableId} space={data.properties?.space} />\n ),\n }),\n Surface.create({\n id: 'spaceHomeRecent',\n filter: Surface.makeFilter(SpaceHomeContent),\n component: ({ data }) => <SpaceHomeRecent space={data.space} />,\n }),\n Surface.create({\n id: 'collectionFallback',\n position: 'last',\n filter: AppSurface.object(AppSurface.Article, Collection.Collection),\n component: ({ data }) => <CollectionArticle attendableId={data.attendableId} subject={data.subject} />,\n }),\n Surface.create({\n id: 'recordArticle',\n position: 'last',\n filter: AppSurface.subject(AppSurface.Article, Obj.isObject),\n component: ({ data }) => <RecordArticle subject={data.subject} />,\n }),\n Surface.create({\n id: 'pluginSettings',\n filter: AppSurface.settings(AppSurface.Article, meta.profile.key),\n component: () => {\n const spaces = useSpaces();\n const { invokePromise } = useOperationInvoker();\n return (\n <SpaceSettings\n spaces={spaces}\n onOpenSpaceSettings={(space: Space) => invokePromise(SpaceOperation.OpenSettings, { space })}\n />\n );\n },\n }),\n Surface.create({\n id: 'companion.objectProperties',\n filter: AppSurface.allOf(\n AppSurface.literal(AppSurface.Article, 'settings'),\n AppSurface.companion(AppSurface.Article),\n ),\n component: ({ ref, data, role }) => <ObjectProperties role={role} subject={data.companionTo} ref={ref} />,\n }),\n Surface.create({\n id: 'companion.related',\n filter: AppSurface.allOf(\n AppSurface.literal(AppSurface.Article, 'related'),\n AppSurface.companion(AppSurface.Article),\n ),\n component: ({ data, role }) => <RelatedArticle role={role} companionTo={data.companionTo} />,\n }),\n Surface.create({\n id: 'spaceSettingsProperties',\n filter: AppSurface.literal(AppSurface.Article, `${meta.profile.key}.general`),\n component: ({ ref }) => {\n const space = useActiveSpace();\n if (!space) {\n return null;\n }\n\n return <SpaceSettingsContainer space={space} />;\n },\n }),\n Surface.create({\n id: 'spaceSettingsMembers',\n position: 'first',\n filter: AppSurface.literal(AppSurface.Article, `${meta.profile.key}.members`),\n component: () => {\n const space = useActiveSpace();\n if (!space) {\n return null;\n }\n\n return <MembersContainer space={space} createInvitationUrl={createInvitationUrl} />;\n },\n }),\n Surface.create({\n id: 'spaceSettingsSchema',\n filter: AppSurface.literal(AppSurface.Article, `${meta.profile.key}.schema`),\n component: () => {\n const space = useActiveSpace();\n if (!space) {\n return null;\n }\n\n return <SchemaContainer space={space} />;\n },\n }),\n Surface.create({\n id: 'selectedObjects',\n filter: AppSurface.allOf(\n AppSurface.literal(AppSurface.Article, 'selected-objects'),\n AppSurface.companion(AppSurface.Article, Obj.isObject),\n ),\n // TODO(burdon): Replace with mosaic.\n component: ({ data, ref }) => {\n const type = Obj.getType(data.companionTo);\n const path = type\n ? Option.getOrElse(ViewAnnotation.get(Type.getSchema(type)), () => [] as readonly string[])\n : [];\n const view = path.length > 0 ? ViewAnnotation.tryGetTargetAlongPath(data.companionTo, path) : undefined;\n if (!view) {\n return null;\n }\n\n return (\n <ObjectCardStack\n key={Obj.getURI(data.companionTo)}\n objectId={Obj.getURI(data.companionTo)}\n view={view}\n ref={ref}\n />\n );\n },\n }),\n Surface.create({\n id: JOIN_DIALOG,\n filter: AppSurface.component<ComponentProps<typeof JoinDialog>>(AppSurface.Dialog, JOIN_DIALOG),\n component: ({ data }) => <JoinDialog {...data.props} />,\n }),\n Surface.create({\n id: CREATE_SPACE_DIALOG,\n filter: AppSurface.component(AppSurface.Dialog, CREATE_SPACE_DIALOG),\n component: () => <CreateSpaceDialog />,\n }),\n Surface.create({\n id: IMPORT_SPACE_DIALOG,\n filter: AppSurface.component(AppSurface.Dialog, IMPORT_SPACE_DIALOG),\n component: () => <ImportSpaceDialog />,\n }),\n Surface.create({\n id: CREATE_OBJECT_DIALOG,\n filter: AppSurface.component<ComponentProps<typeof CreateObjectDialog>>(\n AppSurface.Dialog,\n CREATE_OBJECT_DIALOG,\n ),\n component: ({ data }) => <CreateObjectDialog {...data.props} />,\n }),\n Surface.create({\n id: 'createInitialSpaceFormHue',\n filter: AppSurface.formInputBySchema((ast) => !!SchemaEx.findAnnotation<boolean>(ast, HueAnnotationId)),\n component: ({ data, ...inputProps }) => {\n const ast = data.fieldPropertyAst;\n if (!ast) {\n return null;\n }\n\n const { label, readonly, getValue, onValueChange } = inputProps as any as FormFieldRendererProps;\n const handleChange = useCallback((nextHue: string) => onValueChange(ast, nextHue), [ast, onValueChange]);\n const handleReset = useCallback(() => onValueChange(ast, undefined), [ast, onValueChange]);\n return (\n <Input.Root>\n <Input.Label>{label}</Input.Label>\n <HuePicker disabled={!!readonly} value={getValue() ?? ''} onChange={handleChange} onReset={handleReset} />\n </Input.Root>\n );\n },\n }),\n Surface.create({\n id: 'createInitialSpaceFormIcon',\n filter: AppSurface.formInputBySchema((ast) => !!SchemaEx.findAnnotation<boolean>(ast, IconAnnotationId)),\n component: ({ data, ...inputProps }) => {\n const ast = data.fieldPropertyAst;\n if (!ast) {\n return null;\n }\n\n const { label, readonly, getValue, onValueChange } = inputProps as any as FormFieldRendererProps;\n const handleChange = useCallback((nextIcon: string) => onValueChange(ast, nextIcon), [ast, onValueChange]);\n const handleReset = useCallback(() => onValueChange(ast, undefined), [ast, onValueChange]);\n return (\n <Input.Root>\n <Input.Label>{label}</Input.Label>\n <IconPicker\n disabled={!!readonly}\n value={getValue() ?? ''}\n onChange={handleChange}\n onReset={handleReset}\n />\n </Input.Root>\n );\n },\n }),\n Surface.create({\n id: 'typenameFormInput',\n filter: AppSurface.formInput(\n (data) =>\n data.prop === 'typename' && !!SchemaEx.findAnnotation(data.schema.ast, TypeInputOptionsAnnotationId),\n ),\n component: ({ data, ...inputProps }) => {\n const ast = data.fieldPropertyAst;\n if (!ast) {\n return null;\n }\n\n const props = { ...inputProps, type: ast } as any as FormFieldRendererProps;\n const target = data.target;\n const db = Database.isDatabase(target) ? target : Obj.isObject(target) ? Obj.getDatabase(target) : undefined;\n const annotation = SchemaEx.findAnnotation<TypeInputOptions>(data.schema.ast, TypeInputOptionsAnnotationId)!;\n const options = useTypeOptions({ db, annotation });\n\n return <SelectField {...props} options={options} />;\n },\n }),\n Surface.create({\n id: 'objectProperties',\n filter: Surface.makeFilter(AppSurface.ObjectProperties, (data) => {\n if (!Obj.isObject(data.subject)) {\n return false;\n }\n const type = Obj.getType(data.subject);\n const path = type\n ? Option.getOrElse(ViewAnnotation.get(Type.getSchema(type)), () => [] as readonly string[])\n : [];\n const viewTarget = path.length > 0 ? ViewAnnotation.tryGetTargetAlongPath(data.subject, path) : undefined;\n return !!viewTarget;\n }),\n component: ({ data }) => {\n const type = Obj.getType(data.subject);\n const path = type\n ? Option.getOrElse(ViewAnnotation.get(Type.getSchema(type)), () => [] as readonly string[])\n : [];\n const view = path.length > 0 ? ViewAnnotation.tryGetTargetAlongPath(data.subject, path) : undefined;\n if (!view) {\n return null;\n }\n\n return <ViewEditor view={view} />;\n },\n }),\n Surface.create({\n id: RENAME_POPOVER,\n filter: AppSurface.component<Space | Entity.Unknown>(AppSurface.Popover, RENAME_POPOVER),\n component: ({ data }) => <RenamePopover subject={data.props} />,\n }),\n Surface.create({\n id: 'menuFooter',\n filter: AppSurface.subject(AppSurface.MenuFooter, Obj.isObject),\n component: ({ data }) => <MenuFooter object={data.subject} />,\n }),\n Surface.create({\n id: 'navtreePresence',\n filter: AppSurface.subject(AppSurface.NavtreeItemEnd, Obj.isObject),\n component: ({ data }) => {\n const ephemeral = useAtomCapability(SpaceCapabilities.EphemeralState);\n return <SmallPresenceLive id={data.id} open={data.open} viewers={ephemeral.viewersByObject[data.id]} />;\n },\n }),\n // TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.\n Surface.create({\n id: 'navtreePresenceFallback',\n position: 'last',\n filter: Surface.makeFilter(AppSurface.NavtreeItemEnd),\n component: ({ data }) => <SmallPresenceLive id={data.id} open={data.open} />,\n }),\n // TODO(wittjosiah): Broken?\n Surface.create({\n id: 'navtreeSyncStatus',\n filter: AppSurface.subject(AppSurface.NavtreeItemEnd, isSpace),\n component: ({ data }) => <InlineSyncStatus space={data.subject} open={data.open} />,\n }),\n Surface.create({\n id: 'navbarPresence',\n position: 'first',\n filter: AppSurface.subject(\n AppSurface.NavbarEnd,\n (value): value is Space | Obj.Unknown => isSpace(value) || Obj.isObject(value),\n ),\n component: ({ data }) => {\n const space = isSpace(data.subject) ? data.subject : getSpace(data.subject);\n const object = isSpace(data.subject)\n ? data.subject.state.get() === SpaceState.SPACE_READY\n ? space &&\n Annotation.get(space.properties, AppAnnotation.RootCollectionAnnotation).pipe(Option.getOrUndefined)\n ?.target\n : undefined\n : data.subject;\n\n return object ? <SpacePresence object={object} /> : null;\n },\n }),\n Surface.create({\n id: 'collectionSection',\n filter: AppSurface.object(AppSurface.Section, Collection.Collection),\n component: ({ data }) => <CollectionSection subject={data.subject} />,\n }),\n Surface.create({\n id: 'syncStatus',\n filter: Surface.makeFilter(AppSurface.StatusIndicator),\n component: () => <SyncStatus />,\n }),\n ]);\n }),\n);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Effect", "Option", "React", "useCallback", "Capabilities", "Capability", "Surface", "useAtomCapability", "useOperationInvoker", "AppAnnotation", "AppSurface", "useActiveSpace", "useTypeOptions", "Annotation", "Collection", "Database", "Obj", "Type", "SchemaEx", "SpaceState", "getSpace", "isSpace", "useSpaces", "Input", "SelectField", "HuePicker", "IconPicker", "ViewAnnotation", "SpaceSettings", "CollectionArticle", "CollectionSection", "CreateObjectDialog", "CreateSpaceDialog", "ImportSpaceDialog", "InlineSyncStatus", "JoinDialog", "MembersContainer", "MenuFooter", "ObjectCardStack", "ObjectProperties", "RecordArticle", "RelatedArticle", "RenamePopover", "SchemaContainer", "SmallPresenceLive", "SpaceHomeArticle", "SpaceHomeRecent", "SpacePresence", "SpaceSettingsContainer", "SyncStatus", "ViewEditor", "meta", "SpaceOperation", "HueAnnotationId", "IconAnnotationId", "SpaceCapabilities", "SpaceHomeContent", "SPACE_HOME_NODE_TYPE", "TypeInputOptionsAnnotationId", "Capability", "makeModule", "fnUntraced", "createInvitationUrl", "contributes", "Capabilities", "ReactSurface", "Surface", "create", "id", "filter", "AppSurface", "literal", "Article", "SPACE_HOME_NODE_TYPE", "component", "data", "role", "SpaceHomeArticle", "attendableId", "space", "properties", "makeFilter", "SpaceHomeContent", "SpaceHomeRecent", "position", "object", "Collection", "CollectionArticle", "subject", "Obj", "isObject", "RecordArticle", "settings", "meta", "profile", "key", "spaces", "useSpaces", "invokePromise", "useOperationInvoker", "SpaceSettings", "onOpenSpaceSettings", "SpaceOperation", "OpenSettings", "allOf", "companion", "ref", "ObjectProperties", "companionTo", "RelatedArticle", "useActiveSpace", "SpaceSettingsContainer", "MembersContainer", "SchemaContainer", "type", "getType", "path", "getOrElse", "ViewAnnotation", "get", "Type", "getSchema", "view", "length", "tryGetTargetAlongPath", "undefined", "ObjectCardStack", "getURI", "objectId", "JOIN_DIALOG", "Dialog", "JoinDialog", "props", "CREATE_SPACE_DIALOG", "CreateSpaceDialog", "IMPORT_SPACE_DIALOG", "ImportSpaceDialog", "CREATE_OBJECT_DIALOG", "CreateObjectDialog", "formInputBySchema", "ast", "SchemaEx", "findAnnotation", "HueAnnotationId", "inputProps", "fieldPropertyAst", "label", "readonly", "getValue", "onValueChange", "handleChange", "useCallback", "nextHue", "handleReset", "Input", "Root", "Label", "HuePicker", "disabled", "value", "onChange", "onReset", "IconAnnotationId", "nextIcon", "IconPicker", "formInput", "prop", "schema", "TypeInputOptionsAnnotationId", "target", "db", "Database", "isDatabase", "getDatabase", "annotation", "options", "useTypeOptions", "SelectField", "viewTarget", "ViewEditor", "RENAME_POPOVER", "Popover", "RenamePopover", "MenuFooter", "NavtreeItemEnd", "ephemeral", "useAtomCapability", "SpaceCapabilities", "EphemeralState", "SmallPresenceLive", "open", "viewers", "viewersByObject", "isSpace", "InlineSyncStatus", "NavbarEnd", "getSpace", "state", "SpaceState", "SPACE_READY", "Annotation", "AppAnnotation", "RootCollectionAnnotation", "pipe", "getOrUndefined", "SpacePresence", "Section", "CollectionSection", "StatusIndicator", "SyncStatus"]
|
|
7
|
+
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SpaceOperation
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-F2VJ6VBV.mjs";
|
|
4
|
+
import "./chunk-DSYEB2UN.mjs";
|
|
5
5
|
import "./chunk-J5LGTIGS.mjs";
|
|
6
6
|
|
|
7
7
|
// src/operations/remove-objects.ts
|
|
8
8
|
import * as Effect from "effect/Effect";
|
|
9
9
|
import * as Option from "effect/Option";
|
|
10
10
|
import { Capabilities } from "@dxos/app-framework";
|
|
11
|
-
import { AppCapabilities, LayoutOperation
|
|
11
|
+
import { AppAnnotation, AppCapabilities, LayoutOperation } from "@dxos/app-toolkit";
|
|
12
12
|
import { getSpace } from "@dxos/client/echo";
|
|
13
13
|
import { Operation } from "@dxos/compute";
|
|
14
14
|
import { Annotation, Collection, Entity, Obj } from "@dxos/echo";
|
|
@@ -20,7 +20,7 @@ var handler = SpaceOperation.RemoveObjects.pipe(Operation.withHandler(Effect.fnU
|
|
|
20
20
|
const entities = input.objects;
|
|
21
21
|
const space = getSpace(entities[0]);
|
|
22
22
|
invariant(space && entities.every((entity) => Entity.isEntity(entity) && getSpace(entity) === space), void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 16, S: this, A: ["space && entities.every((entity)=>Entity.isEntity(entity) && getSpace(entity) === space)", ""] });
|
|
23
|
-
const parentCollection = input.target ?? Annotation.get(space.properties, RootCollectionAnnotation).pipe(Option.getOrUndefined)?.target;
|
|
23
|
+
const parentCollection = input.target ?? Annotation.get(space.properties, AppAnnotation.RootCollectionAnnotation).pipe(Option.getOrUndefined)?.target;
|
|
24
24
|
invariant(parentCollection, "No parent collection found for space \u2014 cannot remove objects.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 18, S: this, A: ["parentCollection", "'No parent collection found for space \u2014 cannot remove objects.'"] });
|
|
25
25
|
const indices = entities.map((entity) => Obj.instanceOf(Collection.Collection, parentCollection) ? parentCollection.objects.findIndex((ref) => ref.target === entity) : -1);
|
|
26
26
|
const wasActive = entities.map((entity) => layout.active.find((graphId) => graphId.endsWith(entity.id))).filter(isNonNullable);
|
|
@@ -52,4 +52,4 @@ var remove_objects_default = handler;
|
|
|
52
52
|
export {
|
|
53
53
|
remove_objects_default as default
|
|
54
54
|
};
|
|
55
|
-
//# sourceMappingURL=remove-objects-
|
|
55
|
+
//# sourceMappingURL=remove-objects-PWJJI36V.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/operations/remove-objects.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright 2025 DXOS.org\n\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { Capabilities } from '@dxos/app-framework';\nimport { AppAnnotation, AppCapabilities, LayoutOperation } from '@dxos/app-toolkit';\nimport { getSpace } from '@dxos/client/echo';\nimport { Operation } from '@dxos/compute';\nimport { Annotation, Collection, Entity, Obj } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { isNonNullable } from '@dxos/util';\n\nimport { SpaceOperation } from './definitions';\n\nconst handler: Operation.WithHandler<typeof SpaceOperation.RemoveObjects> = SpaceOperation.RemoveObjects.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* (input) {\n const layout = yield* Capabilities.getAtomValue(AppCapabilities.Layout);\n const entities = input.objects;\n\n const space = getSpace(entities[0] as Obj.Unknown);\n invariant(\n space && entities.every((entity) => Entity.isEntity(entity) && getSpace(entity as Obj.Unknown) === space),\n );\n\n const parentCollection =\n input.target ??\n Annotation.get(space.properties, AppAnnotation.RootCollectionAnnotation).pipe(Option.getOrUndefined)?.target;\n invariant(parentCollection, 'No parent collection found for space — cannot remove objects.');\n\n // Type entities (persisted schemas) live outside collections — `findIndex` will\n // return -1 for them and the splice/active-tracking branches are skipped.\n const indices = entities.map((entity) =>\n Obj.instanceOf(Collection.Collection, parentCollection)\n ? parentCollection.objects.findIndex((ref) => ref.target === entity)\n : -1,\n );\n\n const wasActive = entities\n .map((entity) => layout.active.find((graphId) => graphId.endsWith(entity.id)))\n .filter(isNonNullable);\n\n for (const entity of entities) {\n if (Obj.instanceOf(Collection.Collection, parentCollection)) {\n const index = parentCollection.objects.findIndex((ref) => ref.target === entity);\n if (index !== -1) {\n Obj.update(parentCollection, (parentCollection) => {\n parentCollection.objects.splice(index, 1);\n });\n }\n }\n\n const db = Entity.getDatabase(entity);\n db?.remove(entity);\n }\n\n if (wasActive.length > 0) {\n yield* Operation.invoke(LayoutOperation.Close, { subject: wasActive });\n }\n\n return {\n objects: entities,\n parentCollection,\n indices,\n wasActive,\n };\n }),\n ),\n);\nexport default handler;\n"],
|
|
5
|
+
"mappings": ";;;;;;;AAEA,YAAYA,YAAY;AACxB,YAAYC,YAAY;AAExB,SAASC,oBAAoB;AAC7B,SAASC,eAAeC,iBAAiBC,uBAAuB;AAChE,SAASC,gBAAgB;AACzB,SAASC,iBAAiB;AAC1B,SAASC,YAAYC,YAAYC,QAAQC,WAAW;AACpD,SAASC,iBAAiB;AAC1B,SAASC,qBAAqB;AAI9B,IAAA,eAA4EC;IAItE,UAAMC,eAAiBC,cAAO,KAAA,UAAA,YAAA,kBAAA,WAAA,OAAA;AAE9B,QAAMC,SAAQC,OAAAA,aAAoB,aAAA,gBAAA,MAAA;AAClCC,QAAAA,WACEF,MAASF;AAGX,QAAMK,QAAAA,SAAAA,SACEC,CAAAA,CAAAA;AAERF,YAAUC,SAAAA,SAAkB,MAAA,CAAA,WAAA,OAAA,SAAA,MAAA,KAAA,SAAA,MAAA,MAAA,KAAA,GAAA,QAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,MAAA,GAAA,CAAA,4FAAA,EAAA,EAAA,CAAA;AAE5B,QAAA,mBAAA,MAAA,UAAA,WAAA,IAAA,MAAA,YAAA,cAAgF,wBAAA,EAAA,KAAA,qBAAA,GAAA;AAChF,YAAA,kBAAA,sEAA0E,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,MAAA,GAAA,CAAA,oBAAA,sEAAA,EAAA,CAAA;AAW1E,QAAK,UAAME,SAAUP,IAAAA,CAAU,WAAA,IAAA,WAAA,WAAA,YAAA,gBAAA,IAAA,iBAAA,QAAA,UAAA,CAAA,QAAA,IAAA,WAAA,MAAA,IAAA,EAAA;QAC7B,YAAQQ,SAAWC,IAAAA,CAAAA,WAAWA,OAAYJ,OAAAA,KAAAA,CAAAA,YAAmB,QAAA,SAAA,OAAA,EAAA,CAAA,CAAA,EAAA,OAAA,aAAA;aAC3D,UAAMK,UAAQL;QACd,IAAIK,WAAW,WAAG,YAAA,gBAAA,GAAA;YAChBC,QAAU,iBAACN,QAAmBA,UAAAA,CAAAA,QAAAA,IAAAA,WAAAA,MAAAA;oBAC5BA,IAAAA;AACF,YAAA,OAAA,kBAAA,CAAAA,sBAAA;AACF,UAAAA,kBAAA,QAAA,OAAA,OAAA,CAAA;QACF,CAAA;MAEA;IACAO;AACF,UAAA,KAAA,OAAA,YAAA,MAAA;AAEIC,QAAAA,OAAUC,MAAM;;gBAC+BC,SAASF,GAAAA;AAAU,WAAA,UAAA,OAAA,gBAAA,OAAA;MACtE,SAAA;IAEA,CAAA;;SAEER;IACAW,SAAAA;IACAH;IACF;IACF;EAGJ;;;",
|
|
6
|
+
"names": ["Effect", "Option", "Capabilities", "AppAnnotation", "AppCapabilities", "LayoutOperation", "getSpace", "Operation", "Annotation", "Collection", "Entity", "Obj", "invariant", "isNonNullable", "SpaceOperation", "entities", "objects", "space", "getSpace", "invariant", "parentCollection", "target", "entity", "instanceOf", "Collection", "index", "Obj", "db", "wasActive", "length", "subject", "indices"]
|
|
7
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
} from "./chunk-
|
|
2
|
+
RENAME_POPOVER
|
|
3
|
+
} from "./chunk-2RPQHHD7.mjs";
|
|
4
4
|
import {
|
|
5
5
|
SpaceOperation
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-F2VJ6VBV.mjs";
|
|
7
|
+
import "./chunk-DSYEB2UN.mjs";
|
|
8
8
|
import "./chunk-J5LGTIGS.mjs";
|
|
9
9
|
|
|
10
10
|
// src/operations/rename.ts
|
|
@@ -13,13 +13,14 @@ import { LayoutOperation } from "@dxos/app-toolkit";
|
|
|
13
13
|
import { Operation } from "@dxos/compute";
|
|
14
14
|
var handler = SpaceOperation.Rename.pipe(Operation.withHandler(Effect.fnUntraced(function* (input) {
|
|
15
15
|
yield* Operation.invoke(LayoutOperation.UpdatePopover, {
|
|
16
|
-
subject:
|
|
16
|
+
subject: RENAME_POPOVER,
|
|
17
17
|
anchorId: input.caller ?? "",
|
|
18
|
-
props: input.space
|
|
18
|
+
props: input.space,
|
|
19
|
+
kind: "rename"
|
|
19
20
|
});
|
|
20
21
|
})));
|
|
21
22
|
var rename_default = handler;
|
|
22
23
|
export {
|
|
23
24
|
rename_default as default
|
|
24
25
|
};
|
|
25
|
-
//# sourceMappingURL=rename-
|
|
26
|
+
//# sourceMappingURL=rename-4727PKI4.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/operations/rename.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright 2025 DXOS.org\n\nimport * as Effect from 'effect/Effect';\n\nimport { LayoutOperation } from '@dxos/app-toolkit';\nimport { Operation } from '@dxos/compute';\n\nimport { RENAME_POPOVER } from '../constants';\nimport { SpaceOperation } from './definitions';\n\nconst handler: Operation.WithHandler<typeof SpaceOperation.Rename> = SpaceOperation.Rename.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* (input) {\n yield* Operation.invoke(LayoutOperation.UpdatePopover, {\n subject: RENAME_POPOVER,\n anchorId: input.caller ?? '',\n props: input.space,\n kind: 'rename',\n });\n }),\n ),\n);\nexport default handler;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;AAEA,YAAYA,YAAY;AAExB,SAASC,uBAAuB;AAChC,SAASC,iBAAiB;AAK1B,IAAMC,UAA+DC,eAAeC,OAAOC,KACzFC,UAAUC,YACDC,kBAAW,WAAWC,OAAK;AAChC,SAAOH,UAAUI,OAAOC,gBAAgBC,eAAe;IACrDC,SAASC;IACTC,UAAUN,MAAMO,UAAU;IAC1BC,OAAOR,MAAMS;IACbC,MAAM;EACR,CAAA;AACF,CAAA,CAAA,CAAA;AAGJ,IAAA,iBAAejB;",
|
|
6
|
+
"names": ["Effect", "LayoutOperation", "Operation", "handler", "SpaceOperation", "Rename", "pipe", "Operation", "withHandler", "fnUntraced", "input", "invoke", "LayoutOperation", "UpdatePopover", "subject", "RENAME_POPOVER", "anchorId", "caller", "props", "space", "kind"]
|
|
7
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
} from "./chunk-
|
|
2
|
+
RENAME_POPOVER
|
|
3
|
+
} from "./chunk-2RPQHHD7.mjs";
|
|
4
4
|
import {
|
|
5
5
|
SpaceOperation
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-F2VJ6VBV.mjs";
|
|
7
|
+
import "./chunk-DSYEB2UN.mjs";
|
|
8
8
|
import "./chunk-J5LGTIGS.mjs";
|
|
9
9
|
|
|
10
10
|
// src/operations/rename-object.ts
|
|
@@ -13,13 +13,14 @@ import { LayoutOperation } from "@dxos/app-toolkit";
|
|
|
13
13
|
import { Operation } from "@dxos/compute";
|
|
14
14
|
var handler = SpaceOperation.RenameObject.pipe(Operation.withHandler(Effect.fnUntraced(function* (input) {
|
|
15
15
|
yield* Operation.invoke(LayoutOperation.UpdatePopover, {
|
|
16
|
-
subject:
|
|
16
|
+
subject: RENAME_POPOVER,
|
|
17
17
|
anchorId: input.caller ?? "",
|
|
18
|
-
props: input.object
|
|
18
|
+
props: input.object,
|
|
19
|
+
kind: "rename"
|
|
19
20
|
});
|
|
20
21
|
})));
|
|
21
22
|
var rename_object_default = handler;
|
|
22
23
|
export {
|
|
23
24
|
rename_object_default as default
|
|
24
25
|
};
|
|
25
|
-
//# sourceMappingURL=rename-object-
|
|
26
|
+
//# sourceMappingURL=rename-object-FXUAB5FN.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/operations/rename-object.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright 2025 DXOS.org\n\nimport * as Effect from 'effect/Effect';\n\nimport { LayoutOperation } from '@dxos/app-toolkit';\nimport { Operation } from '@dxos/compute';\n\nimport { RENAME_POPOVER } from '../constants';\nimport { SpaceOperation } from './definitions';\n\nconst handler: Operation.WithHandler<typeof SpaceOperation.RenameObject> = SpaceOperation.RenameObject.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* (input) {\n yield* Operation.invoke(LayoutOperation.UpdatePopover, {\n subject: RENAME_POPOVER,\n anchorId: input.caller ?? '',\n props: input.object,\n kind: 'rename',\n });\n }),\n ),\n);\nexport default handler;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;AAEA,YAAYA,YAAY;AAExB,SAASC,uBAAuB;AAChC,SAASC,iBAAiB;AAK1B,IAAMC,UAAqEC,eAAeC,aAAaC,KACrGC,UAAUC,YACDC,kBAAW,WAAWC,OAAK;AAChC,SAAOH,UAAUI,OAAOC,gBAAgBC,eAAe;IACrDC,SAASC;IACTC,UAAUN,MAAMO,UAAU;IAC1BC,OAAOR,MAAMS;IACbC,MAAM;EACR,CAAA;AACF,CAAA,CAAA,CAAA;AAGJ,IAAA,wBAAejB;",
|
|
6
|
+
"names": ["Effect", "LayoutOperation", "Operation", "handler", "SpaceOperation", "RenameObject", "pipe", "Operation", "withHandler", "fnUntraced", "input", "invoke", "LayoutOperation", "UpdatePopover", "subject", "RENAME_POPOVER", "anchorId", "caller", "props", "object", "kind"]
|
|
7
|
+
}
|
|
@@ -4,14 +4,14 @@ import "./chunk-J5LGTIGS.mjs";
|
|
|
4
4
|
import * as Effect from "effect/Effect";
|
|
5
5
|
import * as Option from "effect/Option";
|
|
6
6
|
import { Capability } from "@dxos/app-framework";
|
|
7
|
-
import {
|
|
7
|
+
import { AppAnnotation } from "@dxos/app-toolkit";
|
|
8
8
|
import { Annotation, Obj, Ref } from "@dxos/echo";
|
|
9
9
|
import { SpaceCapabilities } from "#types";
|
|
10
10
|
var repair_default = Capability.makeModule(() => Effect.succeed(Capability.contributes(SpaceCapabilities.Repair, async ({ space }) => {
|
|
11
11
|
await removeQueryCollections(space);
|
|
12
12
|
})));
|
|
13
13
|
var removeQueryCollections = async (space) => {
|
|
14
|
-
const rootCollectionRef = Annotation.get(space.properties, RootCollectionAnnotation).pipe(Option.getOrUndefined);
|
|
14
|
+
const rootCollectionRef = Annotation.get(space.properties, AppAnnotation.RootCollectionAnnotation).pipe(Option.getOrUndefined);
|
|
15
15
|
const rootCollection = await rootCollectionRef?.load();
|
|
16
16
|
if (!rootCollection) {
|
|
17
17
|
return;
|
|
@@ -29,4 +29,4 @@ var removeQueryCollections = async (space) => {
|
|
|
29
29
|
export {
|
|
30
30
|
repair_default as default
|
|
31
31
|
};
|
|
32
|
-
//# sourceMappingURL=repair-
|
|
32
|
+
//# sourceMappingURL=repair-HMH476U3.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/repair.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppAnnotation } from '@dxos/app-toolkit';\nimport { Annotation, Collection, Obj, Ref } from '@dxos/echo';\nimport { type Space } from '@dxos/react-client/echo';\n\nimport { SpaceCapabilities } from '#types';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(SpaceCapabilities.Repair, async ({ space }: { space: Space }) => {\n await removeQueryCollections(space);\n }),\n ),\n);\n\n/**\n * Remove all existing query collections from the root collection.\n */\nconst removeQueryCollections = async (space: Space) => {\n const rootCollectionRef = Annotation.get(space.properties, AppAnnotation.RootCollectionAnnotation).pipe(\n Option.getOrUndefined,\n );\n const rootCollection: Collection.Collection | undefined = await rootCollectionRef?.load();\n if (!rootCollection) {\n return;\n }\n\n const objects = await Promise.all(rootCollection.objects.map((ref) => ref.load()));\n const queryCollections = objects.filter((object) => Obj.getTypename(object) === 'org.dxos.type.queryCollection');\n if (queryCollections.length === 0) {\n return;\n }\n\n Obj.update(rootCollection, (rootCollection) => {\n rootCollection.objects = objects\n .filter((object) => Obj.getTypename(object) !== 'org.dxos.type.queryCollection')\n .map((object) => Ref.make(object));\n });\n queryCollections.forEach((object) => space.db.remove(object));\n};\n"],
|
|
5
|
+
"mappings": ";;;AAIA,YAAYA,YAAY;AACxB,YAAYC,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,qBAAqB;AAC9B,SAASC,YAAwBC,KAAKC,WAAW;AAGjD,SAASC,yBAAyB;AAElC,IAAA,iBAAeL,WAAWM,WAAW,MAC5BC,eACLP,WAAWQ,YAAYH,kBAAkBI,QAAQ,OAAO,EAAEC,MAAK,MAAoB;AACjF,QAAMC,uBAAuBD,KAAAA;AAC/B,CAAA,CAAA,CAAA;AAOJ,IAAMC,yBAAyB,OAAOD,UAAAA;AACpC,QAAME,oBAAoBV,WAAWW,IAAIH,MAAMI,YAAYb,cAAcc,wBAAwB,EAAEC,KAC1FC,qBAAc;AAEvB,QAAMC,iBAAoD,MAAMN,mBAAmBO,KAAAA;AACnF,MAAI,CAACD,gBAAgB;AACnB;EACF;AAEA,QAAME,UAAU,MAAMC,QAAQC,IAAIJ,eAAeE,QAAQG,IAAI,CAACC,QAAQA,IAAIL,KAAI,CAAA,CAAA;AAC9E,QAAMM,mBAAmBL,QAAQM,OAAO,CAACC,WAAWxB,IAAIyB,YAAYD,MAAAA,MAAY,+BAAA;AAChF,MAAIF,iBAAiBI,WAAW,GAAG;AACjC;EACF;AAEA1B,MAAI2B,OAAOZ,gBAAgB,CAACA,oBAAAA;AAC1BA,IAAAA,gBAAeE,UAAUA,QACtBM,OAAO,CAACC,WAAWxB,IAAIyB,YAAYD,MAAAA,MAAY,+BAAA,EAC/CJ,IAAI,CAACI,WAAWvB,IAAI2B,KAAKJ,MAAAA,CAAAA;EAC9B,CAAA;AACAF,mBAAiBO,QAAQ,CAACL,WAAWjB,MAAMuB,GAAGC,OAAOP,MAAAA,CAAAA;AACvD;",
|
|
6
|
+
"names": ["Effect", "Option", "Capability", "AppAnnotation", "Annotation", "Obj", "Ref", "SpaceCapabilities", "makeModule", "succeed", "contributes", "Repair", "space", "removeQueryCollections", "rootCollectionRef", "get", "properties", "RootCollectionAnnotation", "pipe", "getOrUndefined", "rootCollection", "load", "objects", "Promise", "all", "map", "ref", "queryCollections", "filter", "object", "getTypename", "length", "update", "make", "forEach", "db", "remove"]
|
|
7
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SpaceOperation
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-F2VJ6VBV.mjs";
|
|
4
|
+
import "./chunk-DSYEB2UN.mjs";
|
|
5
5
|
import "./chunk-J5LGTIGS.mjs";
|
|
6
6
|
|
|
7
7
|
// src/operations/restore-field.ts
|
|
@@ -37,4 +37,4 @@ var restore_field_default = handler;
|
|
|
37
37
|
export {
|
|
38
38
|
restore_field_default as default
|
|
39
39
|
};
|
|
40
|
-
//# sourceMappingURL=restore-field-
|
|
40
|
+
//# sourceMappingURL=restore-field-3ICSIHGA.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SpaceOperation
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-F2VJ6VBV.mjs";
|
|
4
|
+
import "./chunk-DSYEB2UN.mjs";
|
|
5
5
|
import "./chunk-J5LGTIGS.mjs";
|
|
6
6
|
|
|
7
7
|
// src/operations/restore-objects.ts
|
|
@@ -36,4 +36,4 @@ var restore_objects_default = handler;
|
|
|
36
36
|
export {
|
|
37
37
|
restore_objects_default as default
|
|
38
38
|
};
|
|
39
|
-
//# sourceMappingURL=restore-objects-
|
|
39
|
+
//# sourceMappingURL=restore-objects-V2BTEWN3.mjs.map
|
|
@@ -9,14 +9,14 @@ import { meta } from "#meta";
|
|
|
9
9
|
import { Settings, SpaceCapabilities } from "#types";
|
|
10
10
|
var settings_default = Capability.makeModule(() => Effect.sync(() => {
|
|
11
11
|
const settingsAtom = createKvsStore({
|
|
12
|
-
key: meta.
|
|
12
|
+
key: meta.profile.key,
|
|
13
13
|
schema: Settings.Settings,
|
|
14
14
|
defaultValue: () => ({})
|
|
15
15
|
});
|
|
16
16
|
return [
|
|
17
17
|
Capability.contributes(SpaceCapabilities.Settings, settingsAtom),
|
|
18
18
|
Capability.contributes(AppCapabilities.Settings, {
|
|
19
|
-
prefix: meta.
|
|
19
|
+
prefix: meta.profile.key,
|
|
20
20
|
schema: Settings.Settings,
|
|
21
21
|
atom: settingsAtom
|
|
22
22
|
})
|
|
@@ -25,4 +25,4 @@ var settings_default = Capability.makeModule(() => Effect.sync(() => {
|
|
|
25
25
|
export {
|
|
26
26
|
settings_default as default
|
|
27
27
|
};
|
|
28
|
-
//# sourceMappingURL=settings-
|
|
28
|
+
//# sourceMappingURL=settings-5IBSYBVU.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/capabilities/settings.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { createKvsStore } from '@dxos/effect';\n\nimport { meta } from '#meta';\nimport { Settings, SpaceCapabilities } from '#types';\n\nexport default Capability.makeModule(() =>\n Effect.sync(() => {\n const settingsAtom = createKvsStore({\n key: meta.
|
|
5
|
-
"mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SAASC,sBAAsB;AAE/B,SAASC,YAAY;AACrB,SAASC,UAAUC,yBAAyB;AAE5C,IAAA,mBAAeL,WAAWM,WAAW,MAC5BC,YAAK,MAAA;AACV,QAAMC,eAAeN,eAAe;IAClCO,KAAKN,KAAKO;
|
|
6
|
-
"names": ["Effect", "Capability", "AppCapabilities", "createKvsStore", "meta", "Settings", "SpaceCapabilities", "makeModule", "sync", "settingsAtom", "key", "
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { createKvsStore } from '@dxos/effect';\n\nimport { meta } from '#meta';\nimport { Settings, SpaceCapabilities } from '#types';\n\nexport default Capability.makeModule(() =>\n Effect.sync(() => {\n const settingsAtom = createKvsStore({\n key: meta.profile.key,\n schema: Settings.Settings,\n defaultValue: () => ({}),\n });\n\n return [\n Capability.contributes(SpaceCapabilities.Settings, settingsAtom),\n Capability.contributes(AppCapabilities.Settings, {\n prefix: meta.profile.key,\n schema: Settings.Settings,\n atom: settingsAtom,\n }),\n ];\n }),\n);\n"],
|
|
5
|
+
"mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SAASC,sBAAsB;AAE/B,SAASC,YAAY;AACrB,SAASC,UAAUC,yBAAyB;AAE5C,IAAA,mBAAeL,WAAWM,WAAW,MAC5BC,YAAK,MAAA;AACV,QAAMC,eAAeN,eAAe;IAClCO,KAAKN,KAAKO,QAAQD;IAClBE,QAAQP,SAASA;IACjBQ,cAAc,OAAO,CAAC;EACxB,CAAA;AAEA,SAAO;IACLZ,WAAWa,YAAYR,kBAAkBD,UAAUI,YAAAA;IACnDR,WAAWa,YAAYZ,gBAAgBG,UAAU;MAC/CU,QAAQX,KAAKO,QAAQD;MACrBE,QAAQP,SAASA;MACjBW,MAAMP;IACR,CAAA;;AAEJ,CAAA,CAAA;",
|
|
6
|
+
"names": ["Effect", "Capability", "AppCapabilities", "createKvsStore", "meta", "Settings", "SpaceCapabilities", "makeModule", "sync", "settingsAtom", "key", "profile", "schema", "defaultValue", "contributes", "prefix", "atom"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SpaceOperation
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-F2VJ6VBV.mjs";
|
|
4
|
+
import "./chunk-DSYEB2UN.mjs";
|
|
5
5
|
import "./chunk-J5LGTIGS.mjs";
|
|
6
6
|
|
|
7
7
|
// src/operations/share.ts
|
|
@@ -28,4 +28,4 @@ var share_default = handler;
|
|
|
28
28
|
export {
|
|
29
29
|
share_default as default
|
|
30
30
|
};
|
|
31
|
-
//# sourceMappingURL=share-
|
|
31
|
+
//# sourceMappingURL=share-ZOZPAUGI.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SpaceOperation
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-F2VJ6VBV.mjs";
|
|
4
|
+
import "./chunk-DSYEB2UN.mjs";
|
|
5
5
|
import "./chunk-J5LGTIGS.mjs";
|
|
6
6
|
|
|
7
7
|
// src/operations/snapshot.ts
|
|
@@ -27,4 +27,4 @@ var snapshot_default = handler;
|
|
|
27
27
|
export {
|
|
28
28
|
snapshot_default as default
|
|
29
29
|
};
|
|
30
|
-
//# sourceMappingURL=snapshot-
|
|
30
|
+
//# sourceMappingURL=snapshot-ZC5PU55W.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import "./chunk-
|
|
1
|
+
import "./chunk-PSCIOT7Q.mjs";
|
|
2
2
|
import {
|
|
3
3
|
SHARED
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-DSYEB2UN.mjs";
|
|
5
5
|
import "./chunk-J5LGTIGS.mjs";
|
|
6
6
|
|
|
7
7
|
// src/capabilities/spaces-ready.ts
|
|
@@ -9,7 +9,7 @@ import * as Effect from "effect/Effect";
|
|
|
9
9
|
import * as Fiber from "effect/Fiber";
|
|
10
10
|
import * as Option from "effect/Option";
|
|
11
11
|
import { Capabilities, Capability } from "@dxos/app-framework";
|
|
12
|
-
import {
|
|
12
|
+
import { AppAnnotation, AppCapabilities, AppSpace, LayoutOperation, Paths } from "@dxos/app-toolkit";
|
|
13
13
|
import { SubscriptionList } from "@dxos/async";
|
|
14
14
|
import { Annotation, Collection, Filter, Obj, Type } from "@dxos/echo";
|
|
15
15
|
import { SPACE_ID_LENGTH, parseId } from "@dxos/keys";
|
|
@@ -45,12 +45,12 @@ var spaces_ready_default = Capability.makeModule(Effect.fnUntraced(function* ()
|
|
|
45
45
|
const personalSpaceInitEffect = (personalSpace, { fromCredential }) => Effect.gen(function* () {
|
|
46
46
|
yield* Effect.promise(() => personalSpace.waitUntilReady());
|
|
47
47
|
if (fromCredential) {
|
|
48
|
-
setPersonalSpace(personalSpace);
|
|
48
|
+
AppSpace.setPersonalSpace(personalSpace);
|
|
49
49
|
}
|
|
50
50
|
const layout = registry.get(layoutAtom);
|
|
51
51
|
if (layout.workspace === "default") {
|
|
52
52
|
yield* invoke(LayoutOperation.SwitchWorkspace, {
|
|
53
|
-
subject: getSpacePath(personalSpace.id)
|
|
53
|
+
subject: Paths.getSpacePath(personalSpace.id)
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
56
|
const queryResults = yield* Effect.promise(() => personalSpace.db.query(Filter.type(Expando.Expando, {
|
|
@@ -76,12 +76,12 @@ var spaces_ready_default = Capability.makeModule(Effect.fnUntraced(function* ()
|
|
|
76
76
|
personalSpaceInitialized = true;
|
|
77
77
|
personalSpaceInitFiber = Effect.runFork(personalSpaceInitEffect(personalSpace, opts));
|
|
78
78
|
};
|
|
79
|
-
const resolved = resolvePersonalSpace(client);
|
|
79
|
+
const resolved = AppSpace.resolvePersonalSpace(client);
|
|
80
80
|
if (resolved) {
|
|
81
81
|
startPersonalSpaceInit(resolved.space, resolved);
|
|
82
82
|
} else {
|
|
83
83
|
const personalSpaceSub = client.spaces.subscribe(() => {
|
|
84
|
-
const resolved2 = resolvePersonalSpace(client);
|
|
84
|
+
const resolved2 = AppSpace.resolvePersonalSpace(client);
|
|
85
85
|
if (resolved2) {
|
|
86
86
|
startPersonalSpaceInit(resolved2.space, resolved2);
|
|
87
87
|
}
|
|
@@ -114,16 +114,16 @@ var spaces_ready_default = Capability.makeModule(Effect.fnUntraced(function* ()
|
|
|
114
114
|
}));
|
|
115
115
|
subscriptions.add(() => lastActiveCleanup?.());
|
|
116
116
|
const spaceNamesSub = client.spaces.subscribe(async (spaces) => {
|
|
117
|
-
const personalSpaceForMigration = resolvePersonalSpace(client);
|
|
117
|
+
const personalSpaceForMigration = AppSpace.resolvePersonalSpace(client);
|
|
118
118
|
if (personalSpaceForMigration?.space && personalSpaceForMigration.space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION) {
|
|
119
119
|
await personalSpaceForMigration.space.internal.migrate();
|
|
120
120
|
}
|
|
121
121
|
spaces.filter((space) => space.state.get() === SpaceState.SPACE_READY).forEach((space) => {
|
|
122
|
-
if (Option.isNone(Annotation.get(space.properties, RootCollectionAnnotation))) {
|
|
122
|
+
if (Option.isNone(Annotation.get(space.properties, AppAnnotation.RootCollectionAnnotation))) {
|
|
123
123
|
const legacyRef = space.properties[Type.getTypename(Collection.Collection)];
|
|
124
124
|
if (legacyRef) {
|
|
125
125
|
Obj.update(space.properties, (properties) => {
|
|
126
|
-
Annotation.set(properties, RootCollectionAnnotation, legacyRef);
|
|
126
|
+
Annotation.set(properties, AppAnnotation.RootCollectionAnnotation, legacyRef);
|
|
127
127
|
});
|
|
128
128
|
}
|
|
129
129
|
}
|
|
@@ -278,4 +278,4 @@ var spaces_ready_default = Capability.makeModule(Effect.fnUntraced(function* ()
|
|
|
278
278
|
export {
|
|
279
279
|
spaces_ready_default as default
|
|
280
280
|
};
|
|
281
|
-
//# sourceMappingURL=spaces-ready-
|
|
281
|
+
//# sourceMappingURL=spaces-ready-EXPCJD4N.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/spaces-ready.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Fiber from 'effect/Fiber';\nimport * as Option from 'effect/Option';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { AppAnnotation, AppCapabilities, AppSpace, LayoutOperation, Paths } from '@dxos/app-toolkit';\nimport { SubscriptionList } from '@dxos/async';\nimport { Annotation, Collection, Filter, Obj, Type } from '@dxos/echo';\nimport { SPACE_ID_LENGTH, parseId } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { MigrationVersionAnnotation, Migrations } from '@dxos/migrations';\nimport { AttentionCapabilities } from '@dxos/plugin-attention';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { Graph } from '@dxos/plugin-graph';\nimport { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';\nimport { PublicKey } from '@dxos/react-client';\nimport { type Space, SpaceState } from '@dxos/react-client/echo';\nimport { Expando } from '@dxos/schema';\nimport { ComplexMap, reduceGroupBy } from '@dxos/util';\n\nimport { SpaceOperation } from '#operations';\nimport { SpaceCapabilities } from '#types';\n\nimport { SHARED } from '../util';\n\nconst ACTIVE_NODE_BROADCAST_INTERVAL = 30_000;\nconst WAIT_FOR_OBJECT_TIMEOUT = 5_000;\n\nconst isEchoRef = (id: string) => id.startsWith('echo:/');\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const subscriptions = new SubscriptionList();\n const spaceSubscriptions = new SubscriptionList();\n\n const { invoke, invokePromise } = yield* Capability.get(Capabilities.OperationInvoker);\n const { graph } = yield* Capability.get(AppCapabilities.AppGraph);\n const registry = yield* Capability.get(Capabilities.AtomRegistry);\n const layoutAtom = yield* Capability.get(AppCapabilities.Layout);\n const attention = yield* Capability.get(AttentionCapabilities.Attention);\n const stateAtom = yield* Capability.get(SpaceCapabilities.State);\n const ephemeralAtom = yield* Capability.get(SpaceCapabilities.EphemeralState);\n const client = yield* Capability.get(ClientCapabilities.Client);\n\n //\n // Personal space initialization — deferred until found.\n //\n\n // Fiber for the one-shot personal-space init Effect; interrupted in cleanup\n // so it cannot access the db after client.destroy() closes the repo.\n let personalSpaceInitFiber: Fiber.RuntimeFiber<void, unknown> | undefined;\n let personalSpaceInitialized = false;\n\n const personalSpaceInitEffect = (personalSpace: Space, { fromCredential }: { fromCredential: boolean }) =>\n Effect.gen(function* () {\n yield* Effect.promise(() => personalSpace.waitUntilReady());\n\n if (fromCredential) {\n AppSpace.setPersonalSpace(personalSpace);\n }\n\n // Check if deck state indicates we should switch to default space.\n const layout = registry.get(layoutAtom);\n if (layout.workspace === 'default') {\n yield* invoke(LayoutOperation.SwitchWorkspace, { subject: Paths.getSpacePath(personalSpace.id) });\n }\n\n const queryResults = yield* Effect.promise(() =>\n personalSpace.db.query(Filter.type(Expando.Expando, { key: SHARED })).run(),\n );\n if (!queryResults[0]) {\n // TODO(wittjosiah): Cannot be a Folder because Spaces are not TypedObjects so can't be saved in the database.\n // Instead, we store order as an array of space ids.\n try {\n personalSpace.db.add(Obj.make(Expando.Expando, { key: SHARED, order: [] }));\n } catch (err) {\n // The space may have been destroyed (e.g. during test teardown) between the query and the add.\n log.warn('Failed to initialize spaces order, space may be closing', { err });\n }\n }\n });\n\n const startPersonalSpaceInit = (personalSpace: Space, opts: { fromCredential: boolean }) => {\n if (personalSpaceInitialized) {\n return;\n }\n // Set before forking so concurrent subscribe callbacks don't start a second initialization.\n personalSpaceInitialized = true;\n personalSpaceInitFiber = Effect.runFork(personalSpaceInitEffect(personalSpace, opts));\n };\n\n // Try to find the personal space now, or subscribe to find it later.\n // Initialization is non-blocking so subscriptions wire immediately.\n const resolved = AppSpace.resolvePersonalSpace(client);\n if (resolved) {\n startPersonalSpaceInit(resolved.space, resolved);\n } else {\n const personalSpaceSub = client.spaces.subscribe(() => {\n const resolved = AppSpace.resolvePersonalSpace(client);\n if (resolved) {\n startPersonalSpaceInit(resolved.space, resolved);\n }\n });\n subscriptions.add(() => personalSpaceSub.unsubscribe());\n }\n\n //\n // Space subscriptions — set up immediately, do not depend on personal space.\n //\n\n // Await missing objects - subscribe to layout atom changes.\n // NOTE: Use immediate: true to check initial state (URL handler may have already set active).\n let lastActiveCleanup: (() => void) | undefined;\n subscriptions.add(\n registry.subscribe(\n layoutAtom,\n (layout) => {\n // Clean up previous effect.\n lastActiveCleanup?.();\n lastActiveCleanup = undefined;\n\n // Determine the ID to check - either from active item or workspace.\n const id = layout.active.length === 1 ? layout.active[0] : layout.workspace;\n if (!id) {\n return;\n }\n\n const node = Graph.getNode(graph, id).pipe(Option.getOrNull);\n if (!node && (isEchoRef(id) || id.length === SPACE_ID_LENGTH)) {\n void Graph.initialize(graph, id);\n const timeout = setTimeout(async () => {\n const node = Graph.getNode(graph, id).pipe(Option.getOrNull);\n if (!node) {\n await invokePromise(SpaceOperation.WaitForObject, { id });\n }\n }, WAIT_FOR_OBJECT_TIMEOUT);\n\n lastActiveCleanup = () => clearTimeout(timeout);\n }\n },\n { immediate: true },\n ),\n );\n // Also add cleanup for the last effect.\n subscriptions.add(() => lastActiveCleanup?.());\n\n // Cache space names.\n const spaceNamesSub = client.spaces.subscribe(async (spaces) => {\n // TODO(wittjosiah): Remove. This is a hack to be able to migrate the personal space properties.\n const personalSpaceForMigration = AppSpace.resolvePersonalSpace(client);\n if (\n personalSpaceForMigration?.space &&\n personalSpaceForMigration.space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION\n ) {\n await personalSpaceForMigration.space.internal.migrate();\n }\n\n spaces\n .filter((space) => space.state.get() === SpaceState.SPACE_READY)\n .forEach((space) => {\n if (Option.isNone(Annotation.get(space.properties, AppAnnotation.RootCollectionAnnotation))) {\n const legacyRef = (space.properties as any)[Type.getTypename(Collection.Collection)];\n if (legacyRef) {\n Obj.update(space.properties, (properties) => {\n Annotation.set(properties, AppAnnotation.RootCollectionAnnotation, legacyRef);\n });\n }\n }\n if (Migrations.namespace && Option.isNone(Annotation.get(space.properties, MigrationVersionAnnotation))) {\n const legacyVersion = (space.properties as any)[`${Migrations.namespace}.version`];\n if (typeof legacyVersion === 'string') {\n Obj.update(space.properties, (properties) => {\n Annotation.set(properties, MigrationVersionAnnotation, legacyVersion);\n });\n }\n }\n\n const updateSpaceName = () => {\n const name = space.properties.name;\n if (!name) {\n registry.update(stateAtom, (current) => {\n const { [space.id]: _, ...rest } = current.spaceNames;\n return { ...current, spaceNames: rest };\n });\n } else {\n registry.update(stateAtom, (current) => ({\n ...current,\n spaceNames: { ...current.spaceNames, [space.id]: name },\n }));\n }\n };\n updateSpaceName();\n subscriptions.add(Obj.subscribe(space.properties, updateSpaceName));\n });\n });\n subscriptions.add(() => spaceNamesSub.unsubscribe());\n\n // Broadcast active node to other peers in the space - subscribe to both layout and attention.\n let broadcastCleanup: (() => void) | undefined;\n const setupBroadcast = () => {\n broadcastCleanup?.();\n\n const layout = registry.get(layoutAtom);\n const current = attention.getCurrent();\n const active = layout.active;\n const inactive = layout.inactive;\n\n const send = () => {\n const spaces = client.spaces.get();\n const identity = client.halo.identity.get();\n if (identity) {\n // Group parts by space for efficient messaging.\n const idsBySpace = reduceGroupBy(active, (id: string) => {\n try {\n const { spaceId } = parseId(id);\n return spaceId;\n } catch {\n return null;\n }\n });\n\n const removedBySpace = reduceGroupBy(inactive, (id: string) => {\n try {\n const { spaceId } = parseId(id);\n return spaceId;\n } catch {\n return null;\n }\n });\n\n // NOTE: Ensure all spaces are included so that we send the correct `removed` object arrays.\n for (const space of spaces) {\n if (!idsBySpace.has(space.id)) {\n idsBySpace.set(space.id, []);\n }\n }\n\n for (const [spaceId, added] of idsBySpace) {\n const removed = removedBySpace.get(spaceId) ?? [];\n const space = spaces.find((space) => space.id === spaceId);\n if (!space) {\n continue;\n }\n\n void space\n .postMessage('viewing', {\n identityKey: identity.identityKey.toHex(),\n attended: current,\n added,\n removed,\n })\n // TODO(burdon): This seems defensive; why would this fail? Backoff interval.\n .catch((err) => {\n log.warn('Failed to broadcast active node for presence.', {\n err: err.message,\n });\n });\n }\n }\n };\n\n send();\n // Send at interval to allow peers to expire entries if they become disconnected.\n const interval = setInterval(() => send(), ACTIVE_NODE_BROADCAST_INTERVAL);\n broadcastCleanup = () => clearInterval(interval);\n };\n\n // Subscribe to layout changes for broadcast.\n subscriptions.add(registry.subscribe(layoutAtom, setupBroadcast));\n // Subscribe to attention.current changes.\n subscriptions.add(attention.subscribeCurrent(() => setupBroadcast()));\n // Initial setup.\n setupBroadcast();\n // Cleanup.\n subscriptions.add(() => broadcastCleanup?.());\n\n // Listen for active nodes from other peers in the space.\n const viewingSub = client.spaces.subscribe((spaces) => {\n spaceSubscriptions.clear();\n spaces.forEach((space) => {\n spaceSubscriptions.add(\n space.listen('viewing', (message) => {\n const { added, removed, attended } = message.payload;\n\n const identityKey = PublicKey.safeFrom(message.payload.identityKey);\n const currentIdentity = client.halo.identity.get();\n if (\n identityKey &&\n !currentIdentity?.identityKey.equals(identityKey) &&\n Array.isArray(added) &&\n Array.isArray(removed)\n ) {\n // TODO(wittjosiah): Stop using (Complex)Map inside reactive object.\n registry.update(ephemeralAtom, (ephemeral) => {\n added.forEach((id) => {\n if (typeof id === 'string') {\n if (!(id in ephemeral.viewersByObject)) {\n ephemeral.viewersByObject[id] = new ComplexMap(PublicKey.hash);\n }\n ephemeral.viewersByObject[id]!.set(identityKey, {\n lastSeen: Date.now(),\n currentlyAttended: new Set(attended).has(id),\n });\n if (!ephemeral.viewersByIdentity.has(identityKey)) {\n ephemeral.viewersByIdentity.set(identityKey, new Set());\n }\n ephemeral.viewersByIdentity.get(identityKey)!.add(id);\n }\n });\n\n removed.forEach((id) => {\n if (typeof id === 'string') {\n ephemeral.viewersByObject[id]?.delete(identityKey);\n ephemeral.viewersByIdentity.get(identityKey)?.delete(id);\n // It's okay for these to be empty sets/maps, reduces churn.\n }\n });\n\n return { ...ephemeral };\n });\n }\n }),\n );\n });\n });\n subscriptions.add(() => viewingSub.unsubscribe());\n\n // Enable edge replication for all spaces.\n try {\n yield* Effect.tryPromise(() =>\n Promise.all(\n client.spaces\n .get()\n .map((space) => space.internal.setEdgeReplicationPreference(EdgeReplicationSetting.ENABLED)),\n ),\n );\n registry.update(stateAtom, (current) => ({ ...current, enabledEdgeReplication: true }));\n } catch (err) {\n log.catch(err);\n }\n\n return Capability.contributes(Capabilities.Null, null, () =>\n Effect.gen(function* () {\n if (personalSpaceInitFiber) {\n yield* Fiber.interrupt(personalSpaceInitFiber);\n }\n spaceSubscriptions.clear();\n subscriptions.clear();\n }),\n );\n }),\n);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Effect", "Fiber", "Option", "Capabilities", "Capability", "AppAnnotation", "AppCapabilities", "AppSpace", "LayoutOperation", "Paths", "SubscriptionList", "Annotation", "Collection", "Filter", "Obj", "Type", "SPACE_ID_LENGTH", "parseId", "log", "MigrationVersionAnnotation", "Migrations", "AttentionCapabilities", "ClientCapabilities", "Graph", "EdgeReplicationSetting", "PublicKey", "SpaceState", "Expando", "ComplexMap", "reduceGroupBy", "SpaceOperation", "SpaceCapabilities", "ACTIVE_NODE_BROADCAST_INTERVAL", "isEchoRef", "makeModule", "subscriptions", "SubscriptionList", "spaceSubscriptions", "invokePromise", "Capability", "AppCapabilities", "registry", "Capabilities", "AtomRegistry", "layoutAtom", "attention", "AttentionCapabilities", "Attention", "stateAtom", "get", "SpaceCapabilities", "ephemeralAtom", "EphemeralState", "client", "ClientCapabilities", "Client", "setPersonalSpace", "personalSpace", "invoke", "LayoutOperation", "SwitchWorkspace", "subject", "getSpacePath", "queryResults", "warn", "startPersonalSpaceInit", "personalSpaceInitialized", "resolved", "personalSpaceSub", "spaces", "subscribe", "lastActiveCleanup", "active", "Graph", "initialize", "graph", "id", "timeout", "setTimeout", "node", "getNode", "SpaceOperation", "WaitForObject", "WAIT_FOR_OBJECT_TIMEOUT", "immediate", "spaceNamesSub", "personalSpaceForMigration", "AppSpace", "resolvePersonalSpace", "internal", "filter", "SpaceState", "SPACE_READY", "legacyRef", "space", "properties", "Type", "getTypename", "Collection", "Obj", "Annotation", "Migrations", "legacyVersion", "MigrationVersionAnnotation", "update", "current", "spaceNames", "updateSpaceName", "broadcastCleanup", "layout", "inactive", "send", "identity", "idsBySpace", "spaceId", "parseId", "set", "find", "attended", "added", "removed", "catch", "err", "add", "subscribeCurrent", "setupBroadcast", "viewingSub", "identityKey", "PublicKey", "safeFrom", "message", "currentIdentity", "halo", "equals", "ephemeral", "viewersByObject", "currentlyAttended", "Set", "viewersByIdentity", "enabledEdgeReplication", "contributes", "Effect", "interrupt", "personalSpaceInitFiber"]
|
|
7
|
+
}
|
|
@@ -16,7 +16,7 @@ var defaultSpaceState = {
|
|
|
16
16
|
var state_default = Capability.makeModule(Effect.fnUntraced(function* () {
|
|
17
17
|
const registry = yield* Capability.get(Capabilities.AtomRegistry);
|
|
18
18
|
const stateAtom = createKvsStore({
|
|
19
|
-
key: `${meta.
|
|
19
|
+
key: `${meta.profile.key}.state`,
|
|
20
20
|
schema: SpaceCapabilities.StateSchema,
|
|
21
21
|
defaultValue: () => ({
|
|
22
22
|
...defaultSpaceState
|
|
@@ -52,4 +52,4 @@ var state_default = Capability.makeModule(Effect.fnUntraced(function* () {
|
|
|
52
52
|
export {
|
|
53
53
|
state_default as default
|
|
54
54
|
};
|
|
55
|
-
//# sourceMappingURL=state-
|
|
55
|
+
//# sourceMappingURL=state-KMH2NUAL.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/state.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom } from '@effect-atom/atom-react';\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { createKvsStore } from '@dxos/effect';\nimport { PublicKey } from '@dxos/keys';\nimport { ComplexMap } from '@dxos/util';\n\nimport { meta } from '#meta';\nimport { SpaceCapabilities } from '#types';\n\n/** Default persisted state. */\nconst defaultSpaceState: SpaceCapabilities.SpaceState = {\n spaceNames: {},\n enabledEdgeReplication: false,\n};\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const registry = yield* Capability.get(Capabilities.AtomRegistry);\n\n // Persisted state using KVS store.\n const stateAtom = createKvsStore({\n key: `${meta.profile.key}.state`,\n schema: SpaceCapabilities.StateSchema,\n defaultValue: () => ({ ...defaultSpaceState }),\n });\n\n // Ephemeral state (not persisted, but kept alive to prevent GC resets).\n const ephemeralAtom = Atom.make<SpaceCapabilities.SpaceEphemeralState>({\n awaiting: undefined,\n sdkMigrationRunning: {},\n navigableCollections: false,\n viewersByObject: {},\n viewersByIdentity: new ComplexMap<PublicKey, Set<string>>(PublicKey.hash),\n }).pipe(Atom.keepAlive);\n\n const manager = yield* Capability.get(Capabilities.PluginManager);\n // Update navigableCollections based on plugin state.\n const updateNavigableCollections = () => {\n const enabled =\n manager.getEnabled().includes('org.dxos.plugin.stack') ||\n manager.getEnabled().includes('org.dxos.plugin.simpleLayout');\n const current = registry.get(ephemeralAtom);\n if (enabled !== current.navigableCollections) {\n registry.update(ephemeralAtom, (c) => ({ ...c, navigableCollections: enabled }));\n }\n };\n // Check initial state and subscribe to changes.\n updateNavigableCollections();\n const unsubscribe = registry.subscribe(manager.enabled, updateNavigableCollections);\n\n return [\n Capability.contributes(SpaceCapabilities.State, stateAtom),\n Capability.contributes(SpaceCapabilities.EphemeralState, ephemeralAtom, () =>\n Effect.sync(() => {\n unsubscribe();\n }),\n ),\n ];\n }),\n);\n"],
|
|
5
|
+
"mappings": ";;;AAIA,SAASA,YAAY;AACrB,YAAYC,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,sBAAsB;AAC/B,SAASC,iBAAiB;AAC1B,SAASC,kBAAkB;AAE3B,SAASC,YAAY;AACrB,SAASC,yBAAyB;AAGlC,IAAMC,oBAAkD;EACtDC,YAAY,CAAC;EACbC,wBAAwB;AAC1B;AAEA,IAAA,gBAAeR,WAAWS,WACjBC,kBAAW,aAAA;AAChB,QAAMC,WAAW,OAAOX,WAAWY,IAAIb,aAAac,YAAY;AAGhE,QAAMC,YAAYb,eAAe;IAC/Bc,KAAK,GAAGX,KAAKY,QAAQD,GAAG;IACxBE,QAAQZ,kBAAkBa;IAC1BC,cAAc,OAAO;MAAE,GAAGb;IAAkB;EAC9C,CAAA;AAGA,QAAMc,gBAAgBvB,KAAKwB,KAA4C;IACrEC,UAAUC;IACVC,qBAAqB,CAAC;IACtBC,sBAAsB;IACtBC,iBAAiB,CAAC;IAClBC,mBAAmB,IAAIxB,WAAmCD,UAAU0B,IAAI;EAC1E,CAAA,EAAGC,KAAKhC,KAAKiC,SAAS;AAEtB,QAAMC,UAAU,OAAO/B,WAAWY,IAAIb,aAAaiC,aAAa;AAEhE,QAAMC,6BAA6B,MAAA;AACjC,UAAMC,UACJH,QAAQI,WAAU,EAAGC,SAAS,uBAAA,KAC9BL,QAAQI,WAAU,EAAGC,SAAS,8BAAA;AAChC,UAAMC,UAAU1B,SAASC,IAAIQ,aAAAA;AAC7B,QAAIc,YAAYG,QAAQZ,sBAAsB;AAC5Cd,eAAS2B,OAAOlB,eAAe,CAACmB,OAAO;QAAE,GAAGA;QAAGd,sBAAsBS;MAAQ,EAAA;IAC/E;EACF;AAEAD,6BAAAA;AACA,QAAMO,cAAc7B,SAAS8B,UAAUV,QAAQG,SAASD,0BAAAA;AAExD,SAAO;IACLjC,WAAW0C,YAAYrC,kBAAkBsC,OAAO7B,SAAAA;IAChDd,WAAW0C,YAAYrC,kBAAkBuC,gBAAgBxB,eAAe,MAC/DyB,YAAK,MAAA;AACVL,kBAAAA;IACF,CAAA,CAAA;;AAGN,CAAA,CAAA;",
|
|
6
|
+
"names": ["Atom", "Effect", "Capabilities", "Capability", "createKvsStore", "PublicKey", "ComplexMap", "meta", "SpaceCapabilities", "defaultSpaceState", "spaceNames", "enabledEdgeReplication", "makeModule", "fnUntraced", "registry", "get", "AtomRegistry", "stateAtom", "key", "profile", "schema", "StateSchema", "defaultValue", "ephemeralAtom", "make", "awaiting", "undefined", "sdkMigrationRunning", "navigableCollections", "viewersByObject", "viewersByIdentity", "hash", "pipe", "keepAlive", "manager", "PluginManager", "updateNavigableCollections", "enabled", "getEnabled", "includes", "current", "update", "c", "unsubscribe", "subscribe", "contributes", "State", "EphemeralState", "sync"]
|
|
7
|
+
}
|
|
@@ -106,7 +106,7 @@ var translations = [
|
|
|
106
106
|
"delete-object.label": "Delete task",
|
|
107
107
|
"object-deleted.label": "Task deleted"
|
|
108
108
|
},
|
|
109
|
-
[meta.
|
|
109
|
+
[meta.profile.key]: {
|
|
110
110
|
"plugin.name": "Spaces",
|
|
111
111
|
"add-object.label": "Add object",
|
|
112
112
|
"first-run.message": "Nothing selected.",
|
|
@@ -294,7 +294,9 @@ var translations = [
|
|
|
294
294
|
"presence.label": "Online activity",
|
|
295
295
|
"qr.label": "QR Code",
|
|
296
296
|
"typename.label": "Object",
|
|
297
|
-
"unnamed-collection.label": "Unnamed"
|
|
297
|
+
"unnamed-collection.label": "Unnamed",
|
|
298
|
+
"space-home-node.label": "Home",
|
|
299
|
+
"space-home.recent.heading": "Recent"
|
|
298
300
|
}
|
|
299
301
|
}
|
|
300
302
|
}
|