@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.
- package/dist/lib/browser/{CollectionArticle-WASDM637.mjs → CollectionArticle-WPLUW5HF.mjs} +5 -36
- package/dist/lib/browser/CollectionArticle-WPLUW5HF.mjs.map +7 -0
- package/dist/lib/browser/{CollectionSection-LK4O6QDD.mjs → CollectionSection-H2MBNI63.mjs} +2 -2
- package/dist/lib/browser/{CreateObjectDialog-MA6DPYMD.mjs → CreateObjectDialog-YUBUWSEL.mjs} +17 -21
- package/dist/lib/browser/CreateObjectDialog-YUBUWSEL.mjs.map +7 -0
- package/dist/lib/browser/{CreateSpaceDialog-WCEICWIE.mjs → CreateSpaceDialog-3M2LAWV6.mjs} +7 -7
- package/dist/lib/browser/CreateSpaceDialog-3M2LAWV6.mjs.map +7 -0
- package/dist/lib/browser/{InlineSyncStatus-BT7BRBCO.mjs → InlineSyncStatus-K5MZ3YMZ.mjs} +9 -18
- package/dist/lib/browser/InlineSyncStatus-K5MZ3YMZ.mjs.map +7 -0
- package/dist/lib/browser/{JoinDialog-PMCAIRCU.mjs → JoinDialog-PBK2RE5F.mjs} +8 -10
- package/dist/lib/browser/JoinDialog-PBK2RE5F.mjs.map +7 -0
- package/dist/lib/browser/{MembersContainer-MMFCXLVZ.mjs → MembersContainer-OGYV2L4M.mjs} +4 -4
- package/dist/lib/browser/{MenuFooter-HYBTNOBT.mjs → MenuFooter-XCBDK7WP.mjs} +3 -4
- package/dist/lib/{node-esm/MenuFooter-2QB3453Y.mjs.map → browser/MenuFooter-XCBDK7WP.mjs.map} +1 -1
- package/dist/lib/browser/{ObjectCardStack-CHWNLUYQ.mjs → ObjectCardStack-OMXF2DSG.mjs} +6 -6
- package/dist/lib/browser/{ObjectDetails-YUGVDNSA.mjs → ObjectDetails-QFTQQN4W.mjs} +6 -6
- package/dist/lib/browser/{ObjectRenamePopover-RQUOVPFH.mjs → ObjectRenamePopover-JNPJIFIR.mjs} +3 -3
- package/dist/lib/browser/{ObjectRenamePopover-RQUOVPFH.mjs.map → ObjectRenamePopover-JNPJIFIR.mjs.map} +1 -1
- package/dist/lib/browser/{RecordArticle-ONWKYM3Z.mjs → RecordArticle-BO2XHBFN.mjs} +2 -2
- package/dist/lib/browser/{SchemaContainer-62AJXKAF.mjs → SchemaContainer-QWCSIZBS.mjs} +2 -2
- package/dist/lib/browser/SmallPresenceLive-AHHLBAUP.mjs +9 -0
- package/dist/lib/browser/{SpacePluginSettings-BRJTADV5.mjs → SpacePluginSettings-QGZKNQLK.mjs} +4 -4
- package/dist/lib/browser/SpacePresence-JIWLBUWO.mjs +12 -0
- package/dist/lib/browser/{SpaceRenamePopover-SAKMPDLX.mjs → SpaceRenamePopover-ZL6RRZ2B.mjs} +3 -3
- package/dist/lib/browser/{SpaceRenamePopover-SAKMPDLX.mjs.map → SpaceRenamePopover-ZL6RRZ2B.mjs.map} +1 -1
- package/dist/lib/browser/{SpaceSettingsContainer-UBMVKUPR.mjs → SpaceSettingsContainer-MIOOT63N.mjs} +5 -5
- package/dist/lib/browser/SpaceSettingsContainer-MIOOT63N.mjs.map +7 -0
- package/dist/lib/browser/{SyncStatus-5UQ7CIII.mjs → SyncStatus-6N7JJ7XF.mjs} +6 -6
- package/dist/lib/browser/{ViewEditor-F74RR542.mjs → ViewEditor-3FX5HDRT.mjs} +4 -7
- package/dist/lib/browser/ViewEditor-3FX5HDRT.mjs.map +7 -0
- package/dist/lib/browser/app-graph-builder-JORZZE3P.mjs +1203 -0
- package/dist/lib/browser/app-graph-builder-JORZZE3P.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-KTQOBYUF.mjs → app-graph-serializer-UZWWGLGY.mjs} +5 -5
- package/dist/lib/browser/{chunk-RWOK4F4G.mjs → chunk-2WHUSAHE.mjs} +17 -14
- package/dist/lib/browser/chunk-2WHUSAHE.mjs.map +7 -0
- package/dist/lib/browser/{chunk-USN5QKRV.mjs → chunk-6IT5IBB5.mjs} +54 -86
- package/dist/lib/browser/chunk-6IT5IBB5.mjs.map +7 -0
- package/dist/lib/browser/chunk-6OA75CWN.mjs +77 -0
- package/dist/lib/browser/chunk-6OA75CWN.mjs.map +7 -0
- package/dist/lib/browser/{chunk-PXVKN4LU.mjs → chunk-AUX3RRLY.mjs} +34 -9
- package/dist/lib/browser/chunk-AUX3RRLY.mjs.map +7 -0
- package/dist/lib/browser/{chunk-HSMQFM57.mjs → chunk-CBWGVOJE.mjs} +2 -2
- package/dist/lib/browser/{chunk-HSMQFM57.mjs.map → chunk-CBWGVOJE.mjs.map} +1 -1
- package/dist/lib/browser/{chunk-XIIYC7P5.mjs → chunk-ICXESMDI.mjs} +6 -6
- package/dist/lib/browser/chunk-ICXESMDI.mjs.map +7 -0
- package/dist/lib/browser/chunk-RJUOHI3B.mjs +19 -0
- package/dist/lib/browser/{chunk-ASV6DYFH.mjs.map → chunk-RJUOHI3B.mjs.map} +1 -1
- package/dist/lib/browser/{chunk-J5F4LUJD.mjs → chunk-SSTUPFZ2.mjs} +3 -3
- package/dist/lib/browser/{chunk-ABCDB5YC.mjs → chunk-UYOJYBGW.mjs} +7 -16
- package/dist/lib/browser/chunk-UYOJYBGW.mjs.map +7 -0
- package/dist/lib/browser/cli/index.mjs +8 -17
- package/dist/lib/browser/cli/index.mjs.map +3 -3
- package/dist/lib/browser/{identity-created-VKLIZOXJ.mjs → identity-created-ETXNQYR6.mjs} +4 -4
- package/dist/lib/browser/{identity-created-VKLIZOXJ.mjs.map → identity-created-ETXNQYR6.mjs.map} +3 -3
- package/dist/lib/browser/index.mjs +33 -53
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{operation-resolver-Y3HYRXX7.mjs → operation-resolver-D4LHB4D4.mjs} +64 -88
- package/dist/lib/browser/operation-resolver-D4LHB4D4.mjs.map +7 -0
- package/dist/lib/browser/{react-root-UYBW5RE7.mjs → react-root-OD2HP63B.mjs} +6 -6
- package/dist/lib/browser/{react-surface-NJ23NZFF.mjs → react-surface-E4TAFED5.mjs} +57 -79
- package/dist/lib/browser/react-surface-E4TAFED5.mjs.map +7 -0
- package/dist/lib/browser/repair-NUVEV4AK.mjs +31 -0
- package/dist/lib/browser/repair-NUVEV4AK.mjs.map +7 -0
- package/dist/lib/browser/{settings-2ELVUFDR.mjs → settings-RUDP2Q56.mjs} +3 -3
- package/dist/lib/browser/{spaces-ready-Q6JASPT4.mjs → spaces-ready-B2GYL5IN.mjs} +6 -6
- package/dist/lib/browser/spaces-ready-B2GYL5IN.mjs.map +7 -0
- package/dist/lib/browser/{state-CTX4WQOM.mjs → state-I6JDZCDE.mjs} +5 -5
- package/dist/lib/browser/{state-CTX4WQOM.mjs.map → state-I6JDZCDE.mjs.map} +2 -2
- package/dist/lib/browser/types/index.mjs +2 -2
- package/dist/lib/node-esm/{CollectionArticle-A6GGG73Z.mjs → CollectionArticle-JGVNBX66.mjs} +5 -36
- package/dist/lib/node-esm/CollectionArticle-JGVNBX66.mjs.map +7 -0
- package/dist/lib/node-esm/{CollectionSection-WWKDOAAT.mjs → CollectionSection-BI66Y34F.mjs} +2 -2
- package/dist/lib/node-esm/{CreateObjectDialog-4WEFNDDF.mjs → CreateObjectDialog-B6OLP5VQ.mjs} +17 -21
- package/dist/lib/node-esm/CreateObjectDialog-B6OLP5VQ.mjs.map +7 -0
- package/dist/lib/node-esm/{CreateSpaceDialog-P7QCPB5J.mjs → CreateSpaceDialog-J47M5FPQ.mjs} +7 -7
- package/dist/lib/node-esm/CreateSpaceDialog-J47M5FPQ.mjs.map +7 -0
- package/dist/lib/node-esm/{InlineSyncStatus-3PCXU7NX.mjs → InlineSyncStatus-BLD57LB5.mjs} +9 -18
- package/dist/lib/node-esm/InlineSyncStatus-BLD57LB5.mjs.map +7 -0
- package/dist/lib/node-esm/{JoinDialog-XEOLJZVN.mjs → JoinDialog-XCOYKSHA.mjs} +8 -10
- package/dist/lib/node-esm/JoinDialog-XCOYKSHA.mjs.map +7 -0
- package/dist/lib/node-esm/{MembersContainer-UQZLW3YA.mjs → MembersContainer-4PV3Z4BA.mjs} +4 -4
- package/dist/lib/node-esm/{MenuFooter-2QB3453Y.mjs → MenuFooter-PXG2GV6A.mjs} +3 -4
- package/dist/lib/node-esm/{ObjectCardStack-UXEWG6RV.mjs → ObjectCardStack-457SNNVF.mjs} +6 -6
- package/dist/lib/node-esm/{ObjectDetails-26PVHUQL.mjs → ObjectDetails-OLF7HSM4.mjs} +6 -6
- package/dist/lib/node-esm/{ObjectRenamePopover-EHTP76G7.mjs → ObjectRenamePopover-BRPKVNVF.mjs} +3 -3
- package/dist/lib/node-esm/{ObjectRenamePopover-EHTP76G7.mjs.map → ObjectRenamePopover-BRPKVNVF.mjs.map} +1 -1
- package/dist/lib/node-esm/{RecordArticle-APY2WKUW.mjs → RecordArticle-XUIT25PP.mjs} +2 -2
- package/dist/lib/node-esm/{SchemaContainer-XR2D6MYX.mjs → SchemaContainer-5G4R3Z6O.mjs} +2 -2
- package/dist/lib/node-esm/SmallPresenceLive-4K7RJS74.mjs +10 -0
- package/dist/lib/node-esm/SmallPresenceLive-4K7RJS74.mjs.map +7 -0
- package/dist/lib/node-esm/{SpacePluginSettings-VEB5IGG7.mjs → SpacePluginSettings-PENV4GHL.mjs} +4 -4
- package/dist/lib/node-esm/SpacePresence-H3VZWFJV.mjs +13 -0
- package/dist/lib/node-esm/SpacePresence-H3VZWFJV.mjs.map +7 -0
- package/dist/lib/node-esm/{SpaceRenamePopover-WHM632OT.mjs → SpaceRenamePopover-XEMTI4PU.mjs} +3 -3
- package/dist/lib/node-esm/{SpaceRenamePopover-WHM632OT.mjs.map → SpaceRenamePopover-XEMTI4PU.mjs.map} +1 -1
- package/dist/lib/node-esm/{SpaceSettingsContainer-Y62J2L65.mjs → SpaceSettingsContainer-WI4D7RWA.mjs} +5 -5
- package/dist/lib/node-esm/SpaceSettingsContainer-WI4D7RWA.mjs.map +7 -0
- package/dist/lib/node-esm/{SyncStatus-XTJAVHPN.mjs → SyncStatus-YEBGTNSD.mjs} +6 -6
- package/dist/lib/node-esm/{ViewEditor-B2BLYF5U.mjs → ViewEditor-CUQVNM2H.mjs} +4 -7
- package/dist/lib/node-esm/ViewEditor-CUQVNM2H.mjs.map +7 -0
- package/dist/lib/node-esm/app-graph-builder-WTM6SSX7.mjs +1204 -0
- package/dist/lib/node-esm/app-graph-builder-WTM6SSX7.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-GXQYSQAZ.mjs → app-graph-serializer-RT2RQTV2.mjs} +5 -5
- package/dist/lib/node-esm/{chunk-OSFH2XKO.mjs → chunk-2OLR2ZKH.mjs} +6 -6
- package/dist/lib/node-esm/chunk-2OLR2ZKH.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-5KTTTTEX.mjs +20 -0
- package/dist/lib/node-esm/{chunk-CVXULIYC.mjs.map → chunk-5KTTTTEX.mjs.map} +1 -1
- package/dist/lib/node-esm/{chunk-SL4BJSUG.mjs → chunk-63N5JJXI.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-SL4BJSUG.mjs.map → chunk-63N5JJXI.mjs.map} +1 -1
- package/dist/lib/node-esm/{chunk-UJQUBDQS.mjs → chunk-EDC2RUJU.mjs} +7 -16
- package/dist/lib/node-esm/chunk-EDC2RUJU.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-3DWZCVVQ.mjs → chunk-EVNSLSQS.mjs} +54 -86
- package/dist/lib/node-esm/chunk-EVNSLSQS.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-GEGWQVZX.mjs +78 -0
- package/dist/lib/node-esm/chunk-GEGWQVZX.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-P2AVANDG.mjs → chunk-RYQQXNI7.mjs} +34 -9
- package/dist/lib/node-esm/chunk-RYQQXNI7.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-GWUPFA7J.mjs → chunk-S5BQUCL4.mjs} +17 -14
- package/dist/lib/node-esm/chunk-S5BQUCL4.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-S2IELCDF.mjs → chunk-XYLDAH5C.mjs} +3 -3
- package/dist/lib/node-esm/cli/index.mjs +8 -17
- package/dist/lib/node-esm/cli/index.mjs.map +3 -3
- package/dist/lib/node-esm/{identity-created-EGSTETJ5.mjs → identity-created-U5LGULVL.mjs} +4 -4
- package/dist/lib/node-esm/{identity-created-EGSTETJ5.mjs.map → identity-created-U5LGULVL.mjs.map} +3 -3
- package/dist/lib/node-esm/index.mjs +33 -53
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{operation-resolver-IRQ2NVUQ.mjs → operation-resolver-IL2AHNPN.mjs} +64 -88
- package/dist/lib/node-esm/operation-resolver-IL2AHNPN.mjs.map +7 -0
- package/dist/lib/node-esm/{react-root-UEN3LLJD.mjs → react-root-RILC5MBD.mjs} +6 -6
- package/dist/lib/node-esm/{react-surface-UDO3PGH6.mjs → react-surface-SWKRVK4S.mjs} +57 -79
- package/dist/lib/node-esm/react-surface-SWKRVK4S.mjs.map +7 -0
- package/dist/lib/node-esm/repair-LRZHFPSJ.mjs +32 -0
- package/dist/lib/node-esm/repair-LRZHFPSJ.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-DCTVM2BV.mjs → settings-3EKSEAAG.mjs} +3 -3
- package/dist/lib/node-esm/{spaces-ready-XLGRTJV2.mjs → spaces-ready-QK3EHBOS.mjs} +6 -6
- package/dist/lib/node-esm/spaces-ready-QK3EHBOS.mjs.map +7 -0
- package/dist/lib/node-esm/{state-G74V3WZG.mjs → state-W36RRYUO.mjs} +5 -5
- package/dist/lib/node-esm/{state-G74V3WZG.mjs.map → state-W36RRYUO.mjs.map} +2 -2
- package/dist/lib/node-esm/types/index.mjs +2 -2
- package/dist/types/src/SpacePlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +1 -2
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts +33 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts +19 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/index.d.ts +6 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts +12 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts +57 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/shared.test.d.ts +2 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/shared.test.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts +24 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts +38 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts.map +1 -0
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/repair/repair.d.ts.map +1 -1
- package/dist/types/src/capabilities/state/state.d.ts.map +1 -1
- package/dist/types/src/cli/commands/database/add.d.ts +0 -1
- package/dist/types/src/cli/commands/database/add.d.ts.map +1 -1
- package/dist/types/src/cli/plugin.d.ts.map +1 -1
- package/dist/types/src/components/AwaitingObject/AwaitingObject.d.ts.map +1 -0
- package/dist/types/src/components/AwaitingObject/index.d.ts +2 -0
- package/dist/types/src/components/AwaitingObject/index.d.ts.map +1 -0
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +0 -1
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
- package/dist/types/src/components/ObjectDetails/BaseObjectSettings.stories.d.ts +68 -14
- package/dist/types/src/components/ObjectDetails/BaseObjectSettings.stories.d.ts.map +1 -1
- package/dist/types/src/components/ObjectForm/ObjectForm.d.ts.map +1 -1
- package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts +1 -2
- package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts.map +1 -1
- package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts +2 -1
- package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts.map +1 -1
- package/dist/types/src/containers/CreateObjectDialog/index.d.ts +2 -2
- package/dist/types/src/containers/CreateObjectDialog/index.d.ts.map +1 -1
- package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.d.ts.map +1 -1
- package/dist/types/src/containers/InlineSyncStatus/InlineSyncStatus.d.ts.map +1 -1
- package/dist/types/src/containers/JoinDialog/index.d.ts +2 -2
- package/dist/types/src/containers/JoinDialog/index.d.ts.map +1 -1
- package/dist/types/src/containers/ObjectDetails/ObjectDetails.d.ts +1 -0
- package/dist/types/src/containers/ObjectDetails/ObjectDetails.d.ts.map +1 -1
- package/dist/types/src/containers/SmallPresenceLive/index.d.ts +1 -1
- package/dist/types/src/containers/SmallPresenceLive/index.d.ts.map +1 -1
- package/dist/types/src/containers/SpacePresence/SpacePresence.d.ts.map +1 -1
- package/dist/types/src/containers/SpacePresence/SpacePresence.stories.d.ts +67 -13
- package/dist/types/src/containers/SpacePresence/SpacePresence.stories.d.ts.map +1 -1
- package/dist/types/src/containers/SpacePresence/index.d.ts +2 -2
- package/dist/types/src/containers/SpacePresence/index.d.ts.map +1 -1
- package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.d.ts +67 -13
- package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.d.ts.map +1 -1
- package/dist/types/src/containers/SyncStatus/SyncStatus.stories.d.ts +67 -13
- package/dist/types/src/containers/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
- package/dist/types/src/containers/ViewEditor/ViewEditor.d.ts.map +1 -1
- package/dist/types/src/containers/index.d.ts +1 -1
- package/dist/types/src/containers/index.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +67 -13
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/form.d.ts +0 -2
- package/dist/types/src/types/form.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +29 -46
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +4 -161
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +57 -57
- package/src/SpacePlugin.ts +14 -22
- package/src/capabilities/app-graph-builder/app-graph-builder.ts +14 -657
- package/src/capabilities/app-graph-builder/extensions/collections.ts +351 -0
- package/src/capabilities/app-graph-builder/extensions/companions.ts +80 -0
- package/src/capabilities/app-graph-builder/extensions/index.ts +9 -0
- package/src/capabilities/app-graph-builder/extensions/settings.ts +60 -0
- package/src/capabilities/app-graph-builder/extensions/shared.test.ts +112 -0
- package/src/capabilities/app-graph-builder/extensions/shared.ts +171 -0
- package/src/capabilities/app-graph-builder/extensions/spaces.ts +338 -0
- package/src/capabilities/app-graph-builder/extensions/types.ts +421 -0
- package/src/capabilities/identity-created/identity-created.ts +3 -3
- package/src/capabilities/operation-resolver/operation-resolver.ts +65 -73
- package/src/capabilities/react-surface/react-surface.tsx +33 -58
- package/src/capabilities/repair/repair.ts +3 -32
- package/src/capabilities/spaces-ready/spaces-ready.ts +2 -2
- package/src/capabilities/state/state.ts +4 -2
- package/src/cli/commands/database/add.ts +0 -1
- package/src/cli/commands/space/close/close.ts +1 -1
- package/src/cli/commands/space/create/create.ts +1 -1
- package/src/cli/commands/space/join/join.ts +1 -1
- package/src/cli/commands/space/open/open.ts +1 -1
- package/src/cli/plugin.ts +0 -1
- package/src/components/{AwaitingObject.tsx → AwaitingObject/AwaitingObject.tsx} +2 -2
- package/src/components/AwaitingObject/index.ts +5 -0
- package/src/components/CreateDialog/CreateObjectPanel.tsx +5 -2
- package/src/components/ObjectDetails/BaseObjectSettings.stories.tsx +4 -4
- package/src/components/ObjectDetails/BaseObjectSettings.tsx +4 -4
- package/src/components/ObjectForm/ObjectForm.tsx +6 -4
- package/src/constants.ts +5 -5
- package/src/containers/CollectionArticle/CollectionArticle.tsx +7 -54
- package/src/containers/CreateObjectDialog/CreateObjectDialog.tsx +10 -10
- package/src/containers/CreateObjectDialog/index.ts +2 -3
- package/src/containers/CreateSpaceDialog/CreateSpaceDialog.tsx +5 -3
- package/src/containers/InlineSyncStatus/InlineSyncStatus.tsx +7 -18
- package/src/containers/JoinDialog/JoinDialog.tsx +4 -4
- package/src/containers/JoinDialog/index.ts +2 -3
- package/src/containers/ObjectRenamePopover/ObjectRenamePopover.tsx +1 -1
- package/src/containers/SmallPresenceLive/index.ts +1 -1
- package/src/containers/SpacePresence/SpacePresence.tsx +4 -16
- package/src/containers/SpacePresence/index.ts +2 -3
- package/src/containers/SpaceRenamePopover/SpaceRenamePopover.tsx +1 -1
- package/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.tsx +2 -2
- package/src/containers/ViewEditor/ViewEditor.tsx +0 -1
- package/src/containers/index.ts +1 -1
- package/src/helpers/query.test.ts +1 -1
- package/src/hooks/useActiveSpace.ts +4 -4
- package/src/meta.ts +1 -1
- package/src/translations.ts +27 -1
- package/src/types/capabilities.ts +7 -7
- package/src/types/events.ts +5 -5
- package/src/types/form.ts +1 -8
- package/src/types/types.ts +36 -58
- package/src/util.ts +82 -0
- package/dist/lib/browser/CollectionArticle-WASDM637.mjs.map +0 -7
- package/dist/lib/browser/CreateObjectDialog-MA6DPYMD.mjs.map +0 -7
- package/dist/lib/browser/CreateSpaceDialog-WCEICWIE.mjs.map +0 -7
- package/dist/lib/browser/InlineSyncStatus-BT7BRBCO.mjs.map +0 -7
- package/dist/lib/browser/JoinDialog-PMCAIRCU.mjs.map +0 -7
- package/dist/lib/browser/SmallPresenceLive-LZD2NGKK.mjs +0 -10
- package/dist/lib/browser/SpacePresence-MLU576L6.mjs +0 -13
- package/dist/lib/browser/SpacePresence-MLU576L6.mjs.map +0 -7
- package/dist/lib/browser/SpaceSettingsContainer-UBMVKUPR.mjs.map +0 -7
- package/dist/lib/browser/ViewEditor-F74RR542.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-VFYFI7CD.mjs +0 -593
- package/dist/lib/browser/app-graph-builder-VFYFI7CD.mjs.map +0 -7
- package/dist/lib/browser/chunk-ABCDB5YC.mjs.map +0 -7
- package/dist/lib/browser/chunk-ASV6DYFH.mjs +0 -19
- package/dist/lib/browser/chunk-PXVKN4LU.mjs.map +0 -7
- package/dist/lib/browser/chunk-RWOK4F4G.mjs.map +0 -7
- package/dist/lib/browser/chunk-TPZUQ5DC.mjs +0 -749
- package/dist/lib/browser/chunk-TPZUQ5DC.mjs.map +0 -7
- package/dist/lib/browser/chunk-USN5QKRV.mjs.map +0 -7
- package/dist/lib/browser/chunk-XIIYC7P5.mjs.map +0 -7
- package/dist/lib/browser/operation-resolver-Y3HYRXX7.mjs.map +0 -7
- package/dist/lib/browser/react-surface-NJ23NZFF.mjs.map +0 -7
- package/dist/lib/browser/repair-N2I4DR2Z.mjs +0 -50
- package/dist/lib/browser/repair-N2I4DR2Z.mjs.map +0 -7
- package/dist/lib/browser/spaces-ready-Q6JASPT4.mjs.map +0 -7
- package/dist/lib/node-esm/CollectionArticle-A6GGG73Z.mjs.map +0 -7
- package/dist/lib/node-esm/CreateObjectDialog-4WEFNDDF.mjs.map +0 -7
- package/dist/lib/node-esm/CreateSpaceDialog-P7QCPB5J.mjs.map +0 -7
- package/dist/lib/node-esm/InlineSyncStatus-3PCXU7NX.mjs.map +0 -7
- package/dist/lib/node-esm/JoinDialog-XEOLJZVN.mjs.map +0 -7
- package/dist/lib/node-esm/SmallPresenceLive-K4243KXR.mjs +0 -11
- package/dist/lib/node-esm/SpacePresence-HC2XGQ54.mjs +0 -14
- package/dist/lib/node-esm/SpacePresence-HC2XGQ54.mjs.map +0 -7
- package/dist/lib/node-esm/SpaceSettingsContainer-Y62J2L65.mjs.map +0 -7
- package/dist/lib/node-esm/ViewEditor-B2BLYF5U.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-N37ED6UI.mjs +0 -594
- package/dist/lib/node-esm/app-graph-builder-N37ED6UI.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-3DWZCVVQ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-CVXULIYC.mjs +0 -20
- package/dist/lib/node-esm/chunk-GWUPFA7J.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-OSFH2XKO.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-P2AVANDG.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-UJQUBDQS.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-WW6YYBRG.mjs +0 -750
- package/dist/lib/node-esm/chunk-WW6YYBRG.mjs.map +0 -7
- package/dist/lib/node-esm/operation-resolver-IRQ2NVUQ.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-UDO3PGH6.mjs.map +0 -7
- package/dist/lib/node-esm/repair-P6ND7ZRU.mjs +0 -51
- package/dist/lib/node-esm/repair-P6ND7ZRU.mjs.map +0 -7
- package/dist/lib/node-esm/spaces-ready-XLGRTJV2.mjs.map +0 -7
- package/dist/types/src/components/AwaitingObject.d.ts.map +0 -1
- package/src/util.tsx +0 -956
- /package/dist/lib/browser/{CollectionSection-LK4O6QDD.mjs.map → CollectionSection-H2MBNI63.mjs.map} +0 -0
- /package/dist/lib/browser/{MembersContainer-MMFCXLVZ.mjs.map → MembersContainer-OGYV2L4M.mjs.map} +0 -0
- /package/dist/lib/browser/{ObjectCardStack-CHWNLUYQ.mjs.map → ObjectCardStack-OMXF2DSG.mjs.map} +0 -0
- /package/dist/lib/browser/{ObjectDetails-YUGVDNSA.mjs.map → ObjectDetails-QFTQQN4W.mjs.map} +0 -0
- /package/dist/lib/browser/{RecordArticle-ONWKYM3Z.mjs.map → RecordArticle-BO2XHBFN.mjs.map} +0 -0
- /package/dist/lib/browser/{SchemaContainer-62AJXKAF.mjs.map → SchemaContainer-QWCSIZBS.mjs.map} +0 -0
- /package/dist/lib/browser/{SmallPresenceLive-LZD2NGKK.mjs.map → SmallPresenceLive-AHHLBAUP.mjs.map} +0 -0
- /package/dist/lib/browser/{SpacePluginSettings-BRJTADV5.mjs.map → SpacePluginSettings-QGZKNQLK.mjs.map} +0 -0
- /package/dist/lib/{node-esm/SmallPresenceLive-K4243KXR.mjs.map → browser/SpacePresence-JIWLBUWO.mjs.map} +0 -0
- /package/dist/lib/browser/{SyncStatus-5UQ7CIII.mjs.map → SyncStatus-6N7JJ7XF.mjs.map} +0 -0
- /package/dist/lib/browser/{app-graph-serializer-KTQOBYUF.mjs.map → app-graph-serializer-UZWWGLGY.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-J5F4LUJD.mjs.map → chunk-SSTUPFZ2.mjs.map} +0 -0
- /package/dist/lib/browser/{react-root-UYBW5RE7.mjs.map → react-root-OD2HP63B.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-2ELVUFDR.mjs.map → settings-RUDP2Q56.mjs.map} +0 -0
- /package/dist/lib/node-esm/{CollectionSection-WWKDOAAT.mjs.map → CollectionSection-BI66Y34F.mjs.map} +0 -0
- /package/dist/lib/node-esm/{MembersContainer-UQZLW3YA.mjs.map → MembersContainer-4PV3Z4BA.mjs.map} +0 -0
- /package/dist/lib/{browser/MenuFooter-HYBTNOBT.mjs.map → node-esm/MenuFooter-PXG2GV6A.mjs.map} +0 -0
- /package/dist/lib/node-esm/{ObjectCardStack-UXEWG6RV.mjs.map → ObjectCardStack-457SNNVF.mjs.map} +0 -0
- /package/dist/lib/node-esm/{ObjectDetails-26PVHUQL.mjs.map → ObjectDetails-OLF7HSM4.mjs.map} +0 -0
- /package/dist/lib/node-esm/{RecordArticle-APY2WKUW.mjs.map → RecordArticle-XUIT25PP.mjs.map} +0 -0
- /package/dist/lib/node-esm/{SchemaContainer-XR2D6MYX.mjs.map → SchemaContainer-5G4R3Z6O.mjs.map} +0 -0
- /package/dist/lib/node-esm/{SpacePluginSettings-VEB5IGG7.mjs.map → SpacePluginSettings-PENV4GHL.mjs.map} +0 -0
- /package/dist/lib/node-esm/{SyncStatus-XTJAVHPN.mjs.map → SyncStatus-YEBGTNSD.mjs.map} +0 -0
- /package/dist/lib/node-esm/{app-graph-serializer-GXQYSQAZ.mjs.map → app-graph-serializer-RT2RQTV2.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-S2IELCDF.mjs.map → chunk-XYLDAH5C.mjs.map} +0 -0
- /package/dist/lib/node-esm/{react-root-UEN3LLJD.mjs.map → react-root-RILC5MBD.mjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-DCTVM2BV.mjs.map → settings-3EKSEAAG.mjs.map} +0 -0
- /package/dist/types/src/components/{AwaitingObject.d.ts → AwaitingObject/AwaitingObject.d.ts} +0 -0
|
@@ -5,19 +5,20 @@ import {
|
|
|
5
5
|
JOIN_DIALOG,
|
|
6
6
|
OBJECT_RENAME_POPOVER,
|
|
7
7
|
SPACE_RENAME_POPOVER
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-5KTTTTEX.mjs";
|
|
9
9
|
import {
|
|
10
|
+
useActiveSpace,
|
|
10
11
|
useTypeOptions
|
|
11
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-2OLR2ZKH.mjs";
|
|
12
13
|
import {
|
|
13
14
|
HueAnnotationId,
|
|
14
15
|
IconAnnotationId,
|
|
15
16
|
SpaceCapabilities,
|
|
16
17
|
TypeInputOptionsAnnotationId
|
|
17
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-EVNSLSQS.mjs";
|
|
18
19
|
import {
|
|
19
20
|
meta
|
|
20
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-63N5JJXI.mjs";
|
|
21
22
|
|
|
22
23
|
// src/capabilities/react-surface/react-surface.tsx
|
|
23
24
|
import * as Effect from "effect/Effect";
|
|
@@ -26,69 +27,52 @@ import React, { useCallback } from "react";
|
|
|
26
27
|
import { Capabilities, Capability } from "@dxos/app-framework";
|
|
27
28
|
import { Surface, useAtomCapability, useSettingsState } from "@dxos/app-framework/ui";
|
|
28
29
|
import { AppCapabilities } from "@dxos/app-toolkit";
|
|
29
|
-
import { useLayout } from "@dxos/app-toolkit/ui";
|
|
30
30
|
import { Database, Obj } from "@dxos/echo";
|
|
31
31
|
import { Collection } from "@dxos/echo";
|
|
32
32
|
import { findAnnotation } from "@dxos/effect";
|
|
33
|
-
import { SpaceState, getSpace, isSpace,
|
|
33
|
+
import { SpaceState, getSpace, isSpace, useSpace } from "@dxos/react-client/echo";
|
|
34
34
|
import { Input } from "@dxos/react-ui";
|
|
35
35
|
import { SelectField } from "@dxos/react-ui-form";
|
|
36
36
|
import { HuePicker, IconPicker } from "@dxos/react-ui-pickers";
|
|
37
|
-
import {
|
|
37
|
+
import { ViewAnnotation } from "@dxos/schema";
|
|
38
38
|
|
|
39
39
|
// src/containers/index.ts
|
|
40
40
|
import { lazy } from "react";
|
|
41
|
-
var CollectionArticle = lazy(() => import("./CollectionArticle-
|
|
42
|
-
var CollectionSection = lazy(() => import("./CollectionSection-
|
|
43
|
-
var CreateObjectDialog = lazy(() => import("./CreateObjectDialog-
|
|
44
|
-
var CreateSpaceDialog = lazy(() => import("./CreateSpaceDialog-
|
|
45
|
-
var InlineSyncStatus = lazy(() => import("./InlineSyncStatus-
|
|
46
|
-
var JoinDialog = lazy(() => import("./JoinDialog-
|
|
47
|
-
var MembersContainer = lazy(() => import("./MembersContainer-
|
|
48
|
-
var MenuFooter = lazy(() => import("./MenuFooter-
|
|
49
|
-
var ObjectCardStack = lazy(() => import("./ObjectCardStack-
|
|
50
|
-
var ObjectDetails = lazy(() => import("./ObjectDetails-
|
|
51
|
-
var ObjectRenamePopover = lazy(() => import("./ObjectRenamePopover-
|
|
52
|
-
var RecordArticle = lazy(() => import("./RecordArticle-
|
|
53
|
-
var SchemaContainer = lazy(() => import("./SchemaContainer-
|
|
54
|
-
var SmallPresenceLive = lazy(() => import("./SmallPresenceLive-
|
|
55
|
-
var SpacePluginSettings = lazy(() => import("./SpacePluginSettings-
|
|
56
|
-
var SpacePresence = lazy(() => import("./SpacePresence-
|
|
57
|
-
var SpaceRenamePopover = lazy(() => import("./SpaceRenamePopover-
|
|
58
|
-
var SpaceSettingsContainer = lazy(() => import("./SpaceSettingsContainer-
|
|
59
|
-
var SyncStatus = lazy(() => import("./SyncStatus-
|
|
60
|
-
var ViewEditor = lazy(() => import("./ViewEditor-
|
|
41
|
+
var CollectionArticle = lazy(() => import("./CollectionArticle-JGVNBX66.mjs"));
|
|
42
|
+
var CollectionSection = lazy(() => import("./CollectionSection-BI66Y34F.mjs"));
|
|
43
|
+
var CreateObjectDialog = lazy(() => import("./CreateObjectDialog-B6OLP5VQ.mjs"));
|
|
44
|
+
var CreateSpaceDialog = lazy(() => import("./CreateSpaceDialog-J47M5FPQ.mjs"));
|
|
45
|
+
var InlineSyncStatus = lazy(() => import("./InlineSyncStatus-BLD57LB5.mjs"));
|
|
46
|
+
var JoinDialog = lazy(() => import("./JoinDialog-XCOYKSHA.mjs"));
|
|
47
|
+
var MembersContainer = lazy(() => import("./MembersContainer-4PV3Z4BA.mjs"));
|
|
48
|
+
var MenuFooter = lazy(() => import("./MenuFooter-PXG2GV6A.mjs"));
|
|
49
|
+
var ObjectCardStack = lazy(() => import("./ObjectCardStack-457SNNVF.mjs"));
|
|
50
|
+
var ObjectDetails = lazy(() => import("./ObjectDetails-OLF7HSM4.mjs"));
|
|
51
|
+
var ObjectRenamePopover = lazy(() => import("./ObjectRenamePopover-BRPKVNVF.mjs"));
|
|
52
|
+
var RecordArticle = lazy(() => import("./RecordArticle-XUIT25PP.mjs"));
|
|
53
|
+
var SchemaContainer = lazy(() => import("./SchemaContainer-5G4R3Z6O.mjs"));
|
|
54
|
+
var SmallPresenceLive = lazy(() => import("./SmallPresenceLive-4K7RJS74.mjs"));
|
|
55
|
+
var SpacePluginSettings = lazy(() => import("./SpacePluginSettings-PENV4GHL.mjs"));
|
|
56
|
+
var SpacePresence = lazy(() => import("./SpacePresence-H3VZWFJV.mjs"));
|
|
57
|
+
var SpaceRenamePopover = lazy(() => import("./SpaceRenamePopover-XEMTI4PU.mjs"));
|
|
58
|
+
var SpaceSettingsContainer = lazy(() => import("./SpaceSettingsContainer-WI4D7RWA.mjs"));
|
|
59
|
+
var SyncStatus = lazy(() => import("./SyncStatus-YEBGTNSD.mjs"));
|
|
60
|
+
var ViewEditor = lazy(() => import("./ViewEditor-CUQVNM2H.mjs"));
|
|
61
61
|
|
|
62
62
|
// src/capabilities/react-surface/react-surface.tsx
|
|
63
63
|
var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({ createInvitationUrl }) {
|
|
64
64
|
return Capability.contributes(Capabilities.ReactSurface, [
|
|
65
65
|
Surface.create({
|
|
66
|
-
id: `${meta.id}
|
|
67
|
-
role: "article",
|
|
68
|
-
filter: (data) => (
|
|
69
|
-
// TODO(wittjosiah): Need to avoid shotgun parsing space state everywhere.
|
|
70
|
-
isSpace(data.subject) && data.subject.state.get() === SpaceState.SPACE_READY
|
|
71
|
-
),
|
|
72
|
-
component: ({ data, role, ...rest }) => /* @__PURE__ */ React.createElement(Surface.Surface, {
|
|
73
|
-
data: {
|
|
74
|
-
id: data.subject.id,
|
|
75
|
-
subject: data.subject.properties[Collection.Collection.typename]?.target
|
|
76
|
-
},
|
|
77
|
-
role,
|
|
78
|
-
...rest
|
|
79
|
-
})
|
|
80
|
-
}),
|
|
81
|
-
Surface.create({
|
|
82
|
-
id: `${meta.id}/collection-fallback`,
|
|
66
|
+
id: `${meta.id}.collection-fallback`,
|
|
83
67
|
role: "article",
|
|
84
68
|
position: "fallback",
|
|
85
|
-
filter: (data) => Obj.instanceOf(Collection.Collection, data.subject)
|
|
69
|
+
filter: (data) => Obj.instanceOf(Collection.Collection, data.subject),
|
|
86
70
|
component: ({ data }) => /* @__PURE__ */ React.createElement(CollectionArticle, {
|
|
87
71
|
subject: data.subject
|
|
88
72
|
})
|
|
89
73
|
}),
|
|
90
74
|
Surface.create({
|
|
91
|
-
id: `${meta.id}
|
|
75
|
+
id: `${meta.id}.record-article`,
|
|
92
76
|
role: "article",
|
|
93
77
|
position: "fallback",
|
|
94
78
|
filter: (data) => Obj.isObject(data.subject),
|
|
@@ -97,7 +81,7 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
|
|
|
97
81
|
})
|
|
98
82
|
}),
|
|
99
83
|
Surface.create({
|
|
100
|
-
id: `${meta.id}
|
|
84
|
+
id: `${meta.id}.plugin-settings`,
|
|
101
85
|
role: "article",
|
|
102
86
|
filter: (data) => AppCapabilities.isSettings(data.subject) && data.subject.prefix === meta.id,
|
|
103
87
|
component: ({ data: { subject } }) => {
|
|
@@ -109,7 +93,7 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
|
|
|
109
93
|
}
|
|
110
94
|
}),
|
|
111
95
|
Surface.create({
|
|
112
|
-
id: `${meta.id}
|
|
96
|
+
id: `${meta.id}.companion.object-settings`,
|
|
113
97
|
role: "article",
|
|
114
98
|
filter: (data) => Obj.isObject(data.companionTo) && data.subject === "settings",
|
|
115
99
|
component: ({ ref, data, role }) => /* @__PURE__ */ React.createElement(ObjectDetails, {
|
|
@@ -119,14 +103,12 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
|
|
|
119
103
|
})
|
|
120
104
|
}),
|
|
121
105
|
Surface.create({
|
|
122
|
-
id: `${meta.id}
|
|
106
|
+
id: `${meta.id}.space-settings-properties`,
|
|
123
107
|
role: "article",
|
|
124
|
-
filter: (data) => data.subject === `${meta.id}
|
|
108
|
+
filter: (data) => data.subject === `${meta.id}.general`,
|
|
125
109
|
component: ({ ref }) => {
|
|
126
|
-
const
|
|
127
|
-
|
|
128
|
-
const space = useSpace(spaceId);
|
|
129
|
-
if (!space || !spaceId) {
|
|
110
|
+
const space = useActiveSpace();
|
|
111
|
+
if (!space) {
|
|
130
112
|
return null;
|
|
131
113
|
}
|
|
132
114
|
return /* @__PURE__ */ React.createElement(SpaceSettingsContainer, {
|
|
@@ -135,15 +117,13 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
|
|
|
135
117
|
}
|
|
136
118
|
}),
|
|
137
119
|
Surface.create({
|
|
138
|
-
id: `${meta.id}
|
|
120
|
+
id: `${meta.id}.space-settings-members`,
|
|
139
121
|
role: "article",
|
|
140
122
|
position: "hoist",
|
|
141
|
-
filter: (data) => data.subject === `${meta.id}
|
|
123
|
+
filter: (data) => data.subject === `${meta.id}.members`,
|
|
142
124
|
component: () => {
|
|
143
|
-
const
|
|
144
|
-
|
|
145
|
-
const space = useSpace(spaceId);
|
|
146
|
-
if (!space || !spaceId) {
|
|
125
|
+
const space = useActiveSpace();
|
|
126
|
+
if (!space) {
|
|
147
127
|
return null;
|
|
148
128
|
}
|
|
149
129
|
return /* @__PURE__ */ React.createElement(MembersContainer, {
|
|
@@ -153,14 +133,12 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
|
|
|
153
133
|
}
|
|
154
134
|
}),
|
|
155
135
|
Surface.create({
|
|
156
|
-
id: `${meta.id}
|
|
136
|
+
id: `${meta.id}.space-settings-schema`,
|
|
157
137
|
role: "article",
|
|
158
|
-
filter: (data) => data.subject === `${meta.id}
|
|
138
|
+
filter: (data) => data.subject === `${meta.id}.schema`,
|
|
159
139
|
component: () => {
|
|
160
|
-
const
|
|
161
|
-
|
|
162
|
-
const space = useSpace(spaceId);
|
|
163
|
-
if (!space || !spaceId) {
|
|
140
|
+
const space = useActiveSpace();
|
|
141
|
+
if (!space) {
|
|
164
142
|
return null;
|
|
165
143
|
}
|
|
166
144
|
return /* @__PURE__ */ React.createElement(SchemaContainer, {
|
|
@@ -169,7 +147,7 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
|
|
|
169
147
|
}
|
|
170
148
|
}),
|
|
171
149
|
Surface.create({
|
|
172
|
-
id: `${meta.id}
|
|
150
|
+
id: `${meta.id}.selected-objects`,
|
|
173
151
|
role: "article",
|
|
174
152
|
filter: (data) => {
|
|
175
153
|
if (data.subject !== "selected-objects" || !Obj.isObject(data.companionTo)) {
|
|
@@ -205,7 +183,7 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
|
|
|
205
183
|
component: ({ data }) => /* @__PURE__ */ React.createElement(CreateObjectDialog, data.props)
|
|
206
184
|
}),
|
|
207
185
|
Surface.create({
|
|
208
|
-
id: `${meta.id}
|
|
186
|
+
id: `${meta.id}.create-initial-space-form-[hue]`,
|
|
209
187
|
role: "form-input",
|
|
210
188
|
filter: (data) => {
|
|
211
189
|
const annotation = findAnnotation(data.schema.ast, HueAnnotationId);
|
|
@@ -228,7 +206,7 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
|
|
|
228
206
|
}
|
|
229
207
|
}),
|
|
230
208
|
Surface.create({
|
|
231
|
-
id: `${meta.id}
|
|
209
|
+
id: `${meta.id}.create-initial-space-form-[icon]`,
|
|
232
210
|
role: "form-input",
|
|
233
211
|
filter: (data) => {
|
|
234
212
|
const annotation = findAnnotation(data.schema.ast, IconAnnotationId);
|
|
@@ -251,7 +229,7 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
|
|
|
251
229
|
}
|
|
252
230
|
}),
|
|
253
231
|
Surface.create({
|
|
254
|
-
id: `${meta.id}
|
|
232
|
+
id: `${meta.id}.typename-form-input`,
|
|
255
233
|
role: "form-input",
|
|
256
234
|
filter: (data) => {
|
|
257
235
|
if (data.prop !== "typename") {
|
|
@@ -276,7 +254,7 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
|
|
|
276
254
|
}
|
|
277
255
|
}),
|
|
278
256
|
Surface.create({
|
|
279
|
-
id: `${meta.id}
|
|
257
|
+
id: `${meta.id}.object-settings`,
|
|
280
258
|
role: "object-settings",
|
|
281
259
|
filter: (data) => {
|
|
282
260
|
if (!Obj.isObject(data.subject)) {
|
|
@@ -312,7 +290,7 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
|
|
|
312
290
|
})
|
|
313
291
|
}),
|
|
314
292
|
Surface.create({
|
|
315
|
-
id: `${meta.id}
|
|
293
|
+
id: `${meta.id}.menu-footer`,
|
|
316
294
|
role: "menu-footer",
|
|
317
295
|
filter: (data) => Obj.isObject(data.subject),
|
|
318
296
|
component: ({ data }) => /* @__PURE__ */ React.createElement(MenuFooter, {
|
|
@@ -320,7 +298,7 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
|
|
|
320
298
|
})
|
|
321
299
|
}),
|
|
322
300
|
Surface.create({
|
|
323
|
-
id: `${meta.id}
|
|
301
|
+
id: `${meta.id}.navtree-presence`,
|
|
324
302
|
role: "navtree-item-end",
|
|
325
303
|
filter: (data) => typeof data.id === "string" && Obj.isObject(data.subject),
|
|
326
304
|
component: ({ data }) => {
|
|
@@ -334,7 +312,7 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
|
|
|
334
312
|
}),
|
|
335
313
|
// TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.
|
|
336
314
|
Surface.create({
|
|
337
|
-
id: `${meta.id}
|
|
315
|
+
id: `${meta.id}.navtree-presence-fallback`,
|
|
338
316
|
role: "navtree-item-end",
|
|
339
317
|
position: "fallback",
|
|
340
318
|
filter: (data) => typeof data.id === "string",
|
|
@@ -345,7 +323,7 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
|
|
|
345
323
|
}),
|
|
346
324
|
// TODO(wittjosiah): Broken?
|
|
347
325
|
Surface.create({
|
|
348
|
-
id: `${meta.id}
|
|
326
|
+
id: `${meta.id}.navtree-sync-status`,
|
|
349
327
|
role: "navtree-item-end",
|
|
350
328
|
filter: (data) => isSpace(data.subject),
|
|
351
329
|
component: ({ data }) => /* @__PURE__ */ React.createElement(InlineSyncStatus, {
|
|
@@ -354,7 +332,7 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
|
|
|
354
332
|
})
|
|
355
333
|
}),
|
|
356
334
|
Surface.create({
|
|
357
|
-
id: `${meta.id}
|
|
335
|
+
id: `${meta.id}.navbar-presence`,
|
|
358
336
|
role: "navbar-end",
|
|
359
337
|
position: "hoist",
|
|
360
338
|
filter: (data) => isSpace(data.subject) || Obj.isObject(data.subject),
|
|
@@ -367,7 +345,7 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
|
|
|
367
345
|
}
|
|
368
346
|
}),
|
|
369
347
|
Surface.create({
|
|
370
|
-
id: `${meta.id}
|
|
348
|
+
id: `${meta.id}.collection-section`,
|
|
371
349
|
role: "section",
|
|
372
350
|
filter: (data) => Obj.instanceOf(Collection.Collection, data.subject),
|
|
373
351
|
component: ({ data }) => /* @__PURE__ */ React.createElement(CollectionSection, {
|
|
@@ -375,7 +353,7 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
|
|
|
375
353
|
})
|
|
376
354
|
}),
|
|
377
355
|
Surface.create({
|
|
378
|
-
id: `${meta.id}
|
|
356
|
+
id: `${meta.id}.status`,
|
|
379
357
|
role: "status",
|
|
380
358
|
component: () => /* @__PURE__ */ React.createElement(SyncStatus, null)
|
|
381
359
|
})
|
|
@@ -384,4 +362,4 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
|
|
|
384
362
|
export {
|
|
385
363
|
react_surface_default as default
|
|
386
364
|
};
|
|
387
|
-
//# sourceMappingURL=react-surface-
|
|
365
|
+
//# sourceMappingURL=react-surface-SWKRVK4S.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/react-surface/react-surface.tsx", "../../../src/containers/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\nimport type * as Schema from 'effect/Schema';\nimport React, { useCallback } from 'react';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Surface, useAtomCapability, useSettingsState } from '@dxos/app-framework/ui';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { Database, Obj, type Ref } from '@dxos/echo';\nimport { Collection, type View } from '@dxos/echo';\nimport { findAnnotation } from '@dxos/effect';\nimport { type Space, SpaceState, getSpace, isSpace, useSpace } from '@dxos/react-client/echo';\nimport { Input } from '@dxos/react-ui';\nimport { type FormFieldComponentProps, SelectField } from '@dxos/react-ui-form';\nimport { HuePicker, IconPicker } from '@dxos/react-ui-pickers';\nimport { ViewAnnotation } from '@dxos/schema';\nimport { type JoinPanelProps } from '@dxos/shell/react';\n\nimport {\n CREATE_OBJECT_DIALOG,\n CREATE_SPACE_DIALOG,\n JOIN_DIALOG,\n OBJECT_RENAME_POPOVER,\n SPACE_RENAME_POPOVER,\n} from '../../constants';\nimport {\n CollectionArticle,\n CollectionSection,\n CreateObjectDialog,\n type CreateObjectDialogProps,\n CreateSpaceDialog,\n InlineSyncStatus,\n JoinDialog,\n MembersContainer,\n MenuFooter,\n ObjectCardStack,\n ObjectDetails,\n ObjectRenamePopover,\n RecordArticle,\n SchemaContainer,\n SmallPresenceLive,\n SpacePluginSettings,\n SpacePresence,\n SpaceRenamePopover,\n SpaceSettingsContainer,\n SyncStatus,\n ViewEditor,\n} from '../../containers';\nimport { useActiveSpace, useTypeOptions } from '../../hooks';\nimport { meta } from '../../meta';\nimport {\n HueAnnotationId,\n IconAnnotationId,\n SpaceCapabilities,\n type SpaceSettingsProps,\n type TypeInputOptions,\n TypeInputOptionsAnnotationId,\n} from '../../types';\n\ntype ReactSurfaceOptions = {\n createInvitationUrl: (invitationCode: string) => string;\n};\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* ({ createInvitationUrl }: ReactSurfaceOptions) {\n return Capability.contributes(Capabilities.ReactSurface, [\n Surface.create({\n id: `${meta.id}.collection-fallback`,\n role: 'article',\n position: 'fallback',\n filter: (data): data is { subject: Collection.Collection } =>\n Obj.instanceOf(Collection.Collection, data.subject),\n component: ({ data }) => <CollectionArticle subject={data.subject} />,\n }),\n Surface.create({\n id: `${meta.id}.record-article`,\n role: 'article',\n position: 'fallback',\n filter: (data): data is { subject: Obj.Unknown } => Obj.isObject(data.subject),\n component: ({ data }) => <RecordArticle subject={data.subject} />,\n }),\n Surface.create({\n id: `${meta.id}.plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: AppCapabilities.Settings } =>\n AppCapabilities.isSettings(data.subject) && data.subject.prefix === meta.id,\n component: ({ data: { subject } }) => {\n const { settings, updateSettings } = useSettingsState<SpaceSettingsProps>(subject.atom);\n return <SpacePluginSettings settings={settings} onSettingsChange={updateSettings} />;\n },\n }),\n Surface.create({\n id: `${meta.id}.companion.object-settings`,\n role: 'article',\n filter: (data): data is { companionTo: Obj.Unknown } =>\n Obj.isObject(data.companionTo) && data.subject === 'settings',\n component: ({ ref, data, role }) => <ObjectDetails subject={data.companionTo} role={role} ref={ref} />,\n }),\n Surface.create({\n id: `${meta.id}.space-settings-properties`,\n role: 'article',\n filter: (data): data is { subject: string } => data.subject === `${meta.id}.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: `${meta.id}.space-settings-members`,\n role: 'article',\n position: 'hoist',\n filter: (data): data is { subject: string } => data.subject === `${meta.id}.members`,\n component: () => {\n const space = useActiveSpace();\n if (!space) {\n return null;\n }\n\n return <MembersContainer space={space} createInvitationUrl={createInvitationUrl} />;\n },\n }),\n Surface.create({\n id: `${meta.id}.space-settings-schema`,\n role: 'article',\n filter: (data): data is { subject: string } => data.subject === `${meta.id}.schema`,\n component: () => {\n const space = useActiveSpace();\n if (!space) {\n return null;\n }\n\n return <SchemaContainer space={space} />;\n },\n }),\n Surface.create({\n id: `${meta.id}.selected-objects`,\n role: 'article',\n filter: (\n data,\n ): data is { companionTo: Obj.OfShape<{ view: Ref.Ref<View.View> }>; subject: 'selected-objects' } => {\n if (data.subject !== 'selected-objects' || !Obj.isObject(data.companionTo)) {\n return false;\n }\n\n // TODO(burdon): Check companionTo.view.target is valid.\n const schema = Obj.getSchema(data.companionTo);\n return Option.fromNullable(schema).pipe(\n Option.flatMap((schema) => ViewAnnotation.get(schema)),\n Option.getOrElse(() => false),\n );\n },\n // TODO(burdon): Replace with mosaic.\n component: ({ data, ref }) => (\n <ObjectCardStack\n key={Obj.getDXN(data.companionTo).toString()}\n objectId={Obj.getDXN(data.companionTo).toString()}\n view={data.companionTo.view.target!}\n ref={ref}\n />\n ),\n }),\n Surface.create({\n id: JOIN_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: JoinPanelProps } => data.component === JOIN_DIALOG,\n component: ({ data }) => <JoinDialog {...data.props} />,\n }),\n Surface.create({\n id: CREATE_SPACE_DIALOG,\n role: 'dialog',\n filter: (data): data is any => data.component === CREATE_SPACE_DIALOG,\n component: () => <CreateSpaceDialog />,\n }),\n Surface.create({\n id: CREATE_OBJECT_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: CreateObjectDialogProps } => data.component === CREATE_OBJECT_DIALOG,\n component: ({ data }) => <CreateObjectDialog {...data.props} />,\n }),\n Surface.create({\n id: `${meta.id}.create-initial-space-form-[hue]`,\n role: 'form-input',\n filter: (data): data is { prop: string; schema: Schema.Schema<any> } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, HueAnnotationId);\n return !!annotation;\n },\n component: ({ data: _, ...inputProps }) => {\n const { label, readonly, type, getValue, onValueChange } = inputProps as any as FormFieldComponentProps;\n const handleChange = useCallback((nextHue: string) => onValueChange(type, nextHue), [onValueChange]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange]);\n return (\n <Input.Root>\n <Input.Label>{label}</Input.Label>\n <HuePicker disabled={!!readonly} value={getValue() ?? ''} onChange={handleChange} onReset={handleReset} />\n </Input.Root>\n );\n },\n }),\n Surface.create({\n id: `${meta.id}.create-initial-space-form-[icon]`,\n role: 'form-input',\n filter: (data): data is { prop: string; schema: Schema.Schema<any> } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, IconAnnotationId);\n return !!annotation;\n },\n component: ({ data: _, ...inputProps }) => {\n const { label, readonly, type, getValue, onValueChange } = inputProps as any as FormFieldComponentProps;\n const handleChange = useCallback((nextIcon: string) => onValueChange(type, nextIcon), [onValueChange]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange]);\n return (\n <Input.Root>\n <Input.Label>{label}</Input.Label>\n <IconPicker\n disabled={!!readonly}\n value={getValue() ?? ''}\n onChange={handleChange}\n onReset={handleReset}\n />\n </Input.Root>\n );\n },\n }),\n Surface.create({\n id: `${meta.id}.typename-form-input`,\n role: 'form-input',\n filter: (\n data,\n ): data is {\n prop: string;\n schema: Schema.Schema.Any;\n target: Database.Database | Collection.Collection | undefined;\n } => {\n if (data.prop !== 'typename') {\n return false;\n }\n\n const annotation = findAnnotation((data.schema as Schema.Schema.All).ast, TypeInputOptionsAnnotationId);\n return !!annotation;\n },\n component: ({ data: { schema, target }, ...inputProps }) => {\n const props = inputProps as any as FormFieldComponentProps;\n const db = Database.isDatabase(target) ? target : target && Obj.getDatabase(target);\n const space = useSpace(db?.spaceId);\n const annotation = findAnnotation<TypeInputOptions>(schema.ast, TypeInputOptionsAnnotationId)!;\n const options = useTypeOptions({ space, annotation });\n\n return <SelectField {...props} options={options} />;\n },\n }),\n Surface.create({\n id: `${meta.id}.object-settings`,\n role: 'object-settings',\n filter: (data): data is { subject: { view: Ref.Ref<View.View> } } => {\n if (!Obj.isObject(data.subject)) {\n return false;\n }\n\n const schema = Obj.getSchema(data.subject);\n return Option.fromNullable(schema).pipe(\n Option.flatMap((schema) => ViewAnnotation.get(schema)),\n Option.getOrElse(() => false),\n );\n },\n component: ({ data }) => {\n const view = data.subject.view.target;\n if (!view) {\n return null;\n }\n\n return <ViewEditor view={view} />;\n },\n }),\n Surface.create({\n id: SPACE_RENAME_POPOVER,\n role: 'popover',\n filter: (data): data is { props: Space } => data.component === SPACE_RENAME_POPOVER && isSpace(data.props),\n component: ({ data }) => <SpaceRenamePopover space={data.props} />,\n }),\n Surface.create({\n id: OBJECT_RENAME_POPOVER,\n role: 'popover',\n filter: (data): data is { props: Obj.Unknown } =>\n data.component === OBJECT_RENAME_POPOVER && Obj.isObject(data.props),\n component: ({ data }) => <ObjectRenamePopover object={data.props} />,\n }),\n Surface.create({\n id: `${meta.id}.menu-footer`,\n role: 'menu-footer',\n filter: (data): data is { subject: Obj.Unknown } => Obj.isObject(data.subject),\n component: ({ data }) => <MenuFooter object={data.subject} />,\n }),\n Surface.create({\n id: `${meta.id}.navtree-presence`,\n role: 'navtree-item-end',\n filter: (data): data is { id: string; subject: Obj.Unknown; open?: boolean } =>\n typeof data.id === 'string' && Obj.isObject(data.subject),\n component: ({ data }) => {\n const ephemeral = useAtomCapability(SpaceCapabilities.EphemeralState);\n return <SmallPresenceLive id={data.id} open={data.open} viewers={ephemeral.viewersByObject[data.id]} />;\n },\n }),\n // TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.\n Surface.create({\n id: `${meta.id}.navtree-presence-fallback`,\n role: 'navtree-item-end',\n position: 'fallback',\n filter: (data): data is { id: string; open?: boolean } => typeof data.id === 'string',\n component: ({ data }) => <SmallPresenceLive id={data.id} open={data.open} />,\n }),\n // TODO(wittjosiah): Broken?\n Surface.create({\n id: `${meta.id}.navtree-sync-status`,\n role: 'navtree-item-end',\n filter: (data): data is { subject: Space; open?: boolean } => isSpace(data.subject),\n component: ({ data }) => <InlineSyncStatus space={data.subject} open={data.open} />,\n }),\n Surface.create({\n id: `${meta.id}.navbar-presence`,\n role: 'navbar-end',\n position: 'hoist',\n filter: (data): data is { subject: Space | Obj.Unknown } => isSpace(data.subject) || Obj.isObject(data.subject),\n component: ({ data }) => {\n const space = isSpace(data.subject) ? data.subject : getSpace(data.subject);\n const object = isSpace(data.subject)\n ? data.subject.state.get() === SpaceState.SPACE_READY\n ? (space?.properties[Collection.Collection.typename]?.target as Collection.Collection)\n : undefined\n : data.subject;\n\n return object ? <SpacePresence object={object} /> : null;\n },\n }),\n Surface.create({\n id: `${meta.id}.collection-section`,\n role: 'section',\n filter: (data): data is { subject: Collection.Collection } =>\n Obj.instanceOf(Collection.Collection, data.subject),\n component: ({ data }) => <CollectionSection subject={data.subject} />,\n }),\n Surface.create({\n id: `${meta.id}.status`,\n role: 'status',\n component: () => <SyncStatus />,\n }),\n ]);\n }),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type ComponentType, lazy } from 'react';\n\nexport type { CreateObjectDialogProps } from './CreateObjectDialog';\n\nexport const CollectionArticle: ComponentType<any> = lazy(() => import('./CollectionArticle'));\nexport const CollectionSection: ComponentType<any> = lazy(() => import('./CollectionSection'));\nexport const CreateObjectDialog: ComponentType<any> = lazy(() => import('./CreateObjectDialog'));\nexport const CreateSpaceDialog: ComponentType<any> = lazy(() => import('./CreateSpaceDialog'));\nexport const InlineSyncStatus: ComponentType<any> = lazy(() => import('./InlineSyncStatus'));\nexport const JoinDialog: ComponentType<any> = lazy(() => import('./JoinDialog'));\nexport const MembersContainer: ComponentType<any> = lazy(() => import('./MembersContainer'));\nexport const MenuFooter: ComponentType<any> = lazy(() => import('./MenuFooter'));\nexport const ObjectCardStack: ComponentType<any> = lazy(() => import('./ObjectCardStack'));\nexport const ObjectDetails: ComponentType<any> = lazy(() => import('./ObjectDetails'));\nexport const ObjectRenamePopover: ComponentType<any> = lazy(() => import('./ObjectRenamePopover'));\nexport const RecordArticle: ComponentType<any> = lazy(() => import('./RecordArticle'));\nexport const SchemaContainer: ComponentType<any> = lazy(() => import('./SchemaContainer'));\nexport const SmallPresenceLive: ComponentType<any> = lazy(() => import('./SmallPresenceLive'));\nexport const SpacePluginSettings: ComponentType<any> = lazy(() => import('./SpacePluginSettings'));\nexport const SpacePresence: ComponentType<any> = lazy(() => import('./SpacePresence'));\nexport const SpaceRenamePopover: ComponentType<any> = lazy(() => import('./SpaceRenamePopover'));\nexport const SpaceSettingsContainer: ComponentType<any> = lazy(() => import('./SpaceSettingsContainer'));\nexport const SyncStatus: ComponentType<any> = lazy(() => import('./SyncStatus'));\nexport const ViewEditor: ComponentType<any> = lazy(() => import('./ViewEditor'));\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Effect", "Option", "React", "useCallback", "Capabilities", "Capability", "Surface", "useAtomCapability", "useSettingsState", "AppCapabilities", "Database", "Obj", "Collection", "findAnnotation", "SpaceState", "getSpace", "isSpace", "useSpace", "Input", "SelectField", "HuePicker", "IconPicker", "ViewAnnotation", "lazy", "CollectionArticle", "lazy", "CollectionSection", "CreateObjectDialog", "CreateSpaceDialog", "InlineSyncStatus", "JoinDialog", "MembersContainer", "MenuFooter", "ObjectCardStack", "ObjectDetails", "ObjectRenamePopover", "RecordArticle", "SchemaContainer", "SmallPresenceLive", "SpacePluginSettings", "SpacePresence", "SpaceRenamePopover", "SpaceSettingsContainer", "SyncStatus", "ViewEditor", "Capability", "makeModule", "fnUntraced", "createInvitationUrl", "contributes", "Capabilities", "ReactSurface", "Surface", "create", "id", "meta", "role", "position", "filter", "data", "Obj", "instanceOf", "Collection", "subject", "component", "CollectionArticle", "isObject", "RecordArticle", "AppCapabilities", "isSettings", "prefix", "settings", "updateSettings", "useSettingsState", "atom", "SpacePluginSettings", "onSettingsChange", "companionTo", "ref", "ObjectDetails", "space", "useActiveSpace", "SpaceSettingsContainer", "MembersContainer", "SchemaContainer", "schema", "getSchema", "fromNullable", "pipe", "flatMap", "ViewAnnotation", "get", "getOrElse", "ObjectCardStack", "key", "getDXN", "toString", "objectId", "view", "target", "JOIN_DIALOG", "JoinDialog", "props", "CREATE_SPACE_DIALOG", "CreateSpaceDialog", "CREATE_OBJECT_DIALOG", "CreateObjectDialog", "annotation", "findAnnotation", "ast", "HueAnnotationId", "_", "inputProps", "label", "readonly", "type", "getValue", "onValueChange", "handleChange", "useCallback", "nextHue", "handleReset", "undefined", "Input", "Root", "Label", "HuePicker", "disabled", "value", "onChange", "onReset", "IconAnnotationId", "nextIcon", "IconPicker", "prop", "TypeInputOptionsAnnotationId", "db", "Database", "isDatabase", "getDatabase", "useSpace", "spaceId", "options", "useTypeOptions", "SelectField", "ViewEditor", "SPACE_RENAME_POPOVER", "isSpace", "SpaceRenamePopover", "OBJECT_RENAME_POPOVER", "ObjectRenamePopover", "object", "MenuFooter", "ephemeral", "useAtomCapability", "SpaceCapabilities", "EphemeralState", "SmallPresenceLive", "open", "viewers", "viewersByObject", "InlineSyncStatus", "getSpace", "state", "SpaceState", "SPACE_READY", "properties", "typename", "SpacePresence", "CollectionSection", "SyncStatus"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
SpaceCapabilities
|
|
4
|
+
} from "./chunk-EVNSLSQS.mjs";
|
|
5
|
+
import "./chunk-63N5JJXI.mjs";
|
|
6
|
+
|
|
7
|
+
// src/capabilities/repair/repair.ts
|
|
8
|
+
import * as Effect from "effect/Effect";
|
|
9
|
+
import { Capability } from "@dxos/app-framework";
|
|
10
|
+
import { Collection, Obj, Ref } from "@dxos/echo";
|
|
11
|
+
var repair_default = Capability.makeModule(() => Effect.succeed(Capability.contributes(SpaceCapabilities.Repair, async ({ space }) => {
|
|
12
|
+
await removeQueryCollections(space);
|
|
13
|
+
})));
|
|
14
|
+
var removeQueryCollections = async (space) => {
|
|
15
|
+
const rootCollection = await space.properties[Collection.Collection.typename]?.load();
|
|
16
|
+
if (!rootCollection) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const objects = await Promise.all(rootCollection.objects.map((ref) => ref.load()));
|
|
20
|
+
const queryCollections = objects.filter((object) => Obj.getTypename(object) === "org.dxos.type.query-collection");
|
|
21
|
+
if (queryCollections.length === 0) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
Obj.change(rootCollection, (c) => {
|
|
25
|
+
c.objects = objects.filter((object) => Obj.getTypename(object) !== "org.dxos.type.query-collection").map((object) => Ref.make(object));
|
|
26
|
+
});
|
|
27
|
+
queryCollections.forEach((object) => space.db.remove(object));
|
|
28
|
+
};
|
|
29
|
+
export {
|
|
30
|
+
repair_default as default
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=repair-LRZHFPSJ.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/repair/repair.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { 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 rootCollection: Collection.Collection = await space.properties[Collection.Collection.typename]?.load();\n if (!rootCollection) {\n return;\n }\n\n const objects = await Promise.all(rootCollection.objects.map((ref) => ref.load()));\n const queryCollections = objects.filter((object) => Obj.getTypename(object) === 'org.dxos.type.query-collection');\n if (queryCollections.length === 0) {\n return;\n }\n\n Obj.change(rootCollection, (c) => {\n c.objects = objects\n .filter((object) => Obj.getTypename(object) !== 'org.dxos.type.query-collection')\n .map((object) => Ref.make(object));\n });\n queryCollections.forEach((object) => space.db.remove(object));\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,YAAYC,KAAKC,WAAW;AAKrC,IAAA,iBAAeC,WAAWC,WAAW,MAC5BC,eACLF,WAAWG,YAAYC,kBAAkBC,QAAQ,OAAO,EAAEC,MAAK,MAAoB;AACjF,QAAMC,uBAAuBD,KAAAA;AAC/B,CAAA,CAAA,CAAA;AAOJ,IAAMC,yBAAyB,OAAOD,UAAAA;AACpC,QAAME,iBAAwC,MAAMF,MAAMG,WAAWC,WAAWA,WAAWC,QAAQ,GAAGC,KAAAA;AACtG,MAAI,CAACJ,gBAAgB;AACnB;EACF;AAEA,QAAMK,UAAU,MAAMC,QAAQC,IAAIP,eAAeK,QAAQG,IAAI,CAACC,QAAQA,IAAIL,KAAI,CAAA,CAAA;AAC9E,QAAMM,mBAAmBL,QAAQM,OAAO,CAACC,WAAWC,IAAIC,YAAYF,MAAAA,MAAY,gCAAA;AAChF,MAAIF,iBAAiBK,WAAW,GAAG;AACjC;EACF;AAEAF,MAAIG,OAAOhB,gBAAgB,CAACiB,MAAAA;AAC1BA,MAAEZ,UAAUA,QACTM,OAAO,CAACC,WAAWC,IAAIC,YAAYF,MAAAA,MAAY,gCAAA,EAC/CJ,IAAI,CAACI,WAAWM,IAAIC,KAAKP,MAAAA,CAAAA;EAC9B,CAAA;AACAF,mBAAiBU,QAAQ,CAACR,WAAWd,MAAMuB,GAAGC,OAAOV,MAAAA,CAAAA;AACvD;",
|
|
6
|
+
"names": ["Effect", "Capability", "Collection", "Obj", "Ref", "Capability", "makeModule", "succeed", "contributes", "SpaceCapabilities", "Repair", "space", "removeQueryCollections", "rootCollection", "properties", "Collection", "typename", "load", "objects", "Promise", "all", "map", "ref", "queryCollections", "filter", "object", "Obj", "getTypename", "length", "change", "c", "Ref", "make", "forEach", "db", "remove"]
|
|
7
|
+
}
|
|
@@ -2,10 +2,10 @@ import { createRequire } from 'node:module';const require = createRequire(import
|
|
|
2
2
|
import {
|
|
3
3
|
SpaceCapabilities,
|
|
4
4
|
SpaceSettingsSchema
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-EVNSLSQS.mjs";
|
|
6
6
|
import {
|
|
7
7
|
meta
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-63N5JJXI.mjs";
|
|
9
9
|
|
|
10
10
|
// src/capabilities/settings/settings.ts
|
|
11
11
|
import * as Effect from "effect/Effect";
|
|
@@ -32,4 +32,4 @@ var settings_default = Capability.makeModule(() => Effect.sync(() => {
|
|
|
32
32
|
export {
|
|
33
33
|
settings_default as default
|
|
34
34
|
};
|
|
35
|
-
//# sourceMappingURL=settings-
|
|
35
|
+
//# sourceMappingURL=settings-3EKSEAAG.mjs.map
|
|
@@ -2,18 +2,18 @@ import { createRequire } from 'node:module';const require = createRequire(import
|
|
|
2
2
|
import {
|
|
3
3
|
COMPOSER_SPACE_LOCK,
|
|
4
4
|
SHARED
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-GEGWQVZX.mjs";
|
|
6
6
|
import {
|
|
7
7
|
SpaceCapabilities,
|
|
8
8
|
SpaceOperation
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-EVNSLSQS.mjs";
|
|
10
|
+
import "./chunk-63N5JJXI.mjs";
|
|
11
11
|
|
|
12
12
|
// src/capabilities/spaces-ready/spaces-ready.ts
|
|
13
13
|
import * as Effect from "effect/Effect";
|
|
14
14
|
import * as Option from "effect/Option";
|
|
15
15
|
import { Capabilities, Capability } from "@dxos/app-framework";
|
|
16
|
-
import { AppCapabilities, LayoutOperation } from "@dxos/app-toolkit";
|
|
16
|
+
import { AppCapabilities, LayoutOperation, getSpacePath } from "@dxos/app-toolkit";
|
|
17
17
|
import { SubscriptionList } from "@dxos/async";
|
|
18
18
|
import { Filter, Obj } from "@dxos/echo";
|
|
19
19
|
import { log } from "@dxos/log";
|
|
@@ -45,7 +45,7 @@ var spaces_ready_default = Capability.makeModule(Effect.fnUntraced(function* ()
|
|
|
45
45
|
const layout = registry.get(layoutAtom);
|
|
46
46
|
if (layout.workspace === "default") {
|
|
47
47
|
yield* invoke(LayoutOperation.SwitchWorkspace, {
|
|
48
|
-
subject: defaultSpace.id
|
|
48
|
+
subject: getSpacePath(defaultSpace.id)
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
51
|
if (typeof defaultSpace.properties[COMPOSER_SPACE_LOCK] !== "boolean") {
|
|
@@ -241,4 +241,4 @@ var spaces_ready_default = Capability.makeModule(Effect.fnUntraced(function* ()
|
|
|
241
241
|
export {
|
|
242
242
|
spaces_ready_default as default
|
|
243
243
|
};
|
|
244
|
-
//# sourceMappingURL=spaces-ready-
|
|
244
|
+
//# sourceMappingURL=spaces-ready-QK3EHBOS.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/spaces-ready/spaces-ready.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { AppCapabilities, LayoutOperation, getSpacePath } from '@dxos/app-toolkit';\nimport { SubscriptionList } from '@dxos/async';\nimport { Filter, Obj } from '@dxos/echo';\nimport { log } from '@dxos/log';\nimport { AttentionCapabilities } from '@dxos/plugin-attention';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { Graph } from '@dxos/plugin-graph';\nimport { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';\nimport { PublicKey } from '@dxos/react-client';\nimport { SPACE_ID_LENGTH, SpaceState, parseId } from '@dxos/react-client/echo';\nimport { Expando } from '@dxos/schema';\nimport { ComplexMap, reduceGroupBy } from '@dxos/util';\n\nimport { SpaceCapabilities, SpaceOperation } from '../../types';\nimport { COMPOSER_SPACE_LOCK, SHARED } from '../../util';\n\nconst ACTIVE_NODE_BROADCAST_INTERVAL = 30_000;\nconst WAIT_FOR_OBJECT_TIMEOUT = 5_000;\n\n// E.g., dxn:echo:BA25QRC2FEWCSAMRP4RZL65LWJ7352CKE:01J00J9B45YHYSGZQTQMSKMGJ6\nconst ECHO_DXN_LENGTH = 3 + 1 + 4 + 1 + 33 + 1 + 26;\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const subscriptions = new SubscriptionList();\n const spaceSubscriptions = new SubscriptionList();\n\n const { invoke, invokePromise } = yield* Capability.get(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 const defaultSpace = client.spaces.default;\n yield* Effect.tryPromise(() => defaultSpace.waitUntilReady());\n\n // Check if deck state indicates we should switch to default space.\n const layout = registry.get(layoutAtom);\n if (layout.workspace === 'default') {\n yield* invoke(LayoutOperation.SwitchWorkspace, { subject: getSpacePath(defaultSpace.id) });\n }\n\n // Initialize space sharing lock in default space.\n if (typeof defaultSpace.properties[COMPOSER_SPACE_LOCK] !== 'boolean') {\n Obj.change(defaultSpace.properties, (p) => {\n p[COMPOSER_SPACE_LOCK] = true;\n });\n }\n\n const queryResults = yield* Effect.tryPromise(() =>\n defaultSpace.db.query(Filter.type(Expando.Expando, { key: SHARED })).run(),\n );\n const spacesOrder = queryResults[0];\n if (!spacesOrder) {\n // TODO(wittjosiah): Cannot be a Folder because Spaces are not TypedObjects so can't be saved in the database.\n // Instead, we store order as an array of space ids.\n defaultSpace.db.add(Obj.make(Expando.Expando, { key: SHARED, order: [] }));\n }\n\n // Await missing objects - subscribe to layout atom changes.\n // NOTE: Use immediate: true to check initial state (URL handler may have already set active).\n let lastActiveCleanup: (() => void) | undefined;\n subscriptions.add(\n registry.subscribe(\n layoutAtom,\n (layout) => {\n // Clean up previous effect.\n lastActiveCleanup?.();\n lastActiveCleanup = undefined;\n\n // Determine the ID to check - either from active item or workspace.\n const id = layout.active.length === 1 ? layout.active[0] : layout.workspace;\n if (!id) {\n return;\n }\n\n const node = Graph.getNode(graph, id).pipe(Option.getOrNull);\n if (!node && (id.length === ECHO_DXN_LENGTH || id.length === SPACE_ID_LENGTH)) {\n void Graph.initialize(graph, id);\n const timeout = setTimeout(async () => {\n const node = Graph.getNode(graph, id).pipe(Option.getOrNull);\n if (!node) {\n await invokePromise(SpaceOperation.WaitForObject, { id });\n }\n }, WAIT_FOR_OBJECT_TIMEOUT);\n\n lastActiveCleanup = () => clearTimeout(timeout);\n }\n },\n { immediate: true },\n ),\n );\n // Also add cleanup for the last effect.\n subscriptions.add(() => lastActiveCleanup?.());\n\n // Cache space names.\n subscriptions.add(\n client.spaces.subscribe(async (spaces) => {\n // TODO(wittjosiah): Remove. This is a hack to be able to migrate the default space properties.\n if (defaultSpace.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION) {\n await defaultSpace.internal.migrate();\n }\n\n spaces\n .filter((space) => space.state.get() === SpaceState.SPACE_READY)\n .forEach((space) => {\n const updateSpaceName = () => {\n const name = space.properties.name;\n if (!name) {\n registry.update(stateAtom, (current) => {\n const { [space.id]: _, ...rest } = current.spaceNames;\n return { ...current, spaceNames: rest };\n });\n } else {\n registry.update(stateAtom, (current) => ({\n ...current,\n spaceNames: { ...current.spaceNames, [space.id]: name },\n }));\n }\n };\n updateSpaceName();\n subscriptions.add(Obj.subscribe(space.properties, updateSpaceName));\n });\n }).unsubscribe,\n );\n\n // Broadcast active node to other peers in the space - subscribe to both layout and attention.\n let broadcastCleanup: (() => void) | undefined;\n const setupBroadcast = () => {\n broadcastCleanup?.();\n\n const layout = registry.get(layoutAtom);\n const current = attention.getCurrent();\n const active = layout.active;\n const inactive = layout.inactive;\n\n const send = () => {\n const spaces = client.spaces.get();\n const identity = client.halo.identity.get();\n if (identity) {\n // Group parts by space for efficient messaging.\n const idsBySpace = reduceGroupBy(active, (id: string) => {\n try {\n const { spaceId } = parseId(id);\n return spaceId;\n } catch {\n return null;\n }\n });\n\n const removedBySpace = reduceGroupBy(inactive, (id: string) => {\n try {\n const { spaceId } = parseId(id);\n return spaceId;\n } catch {\n return null;\n }\n });\n\n // NOTE: Ensure all spaces are included so that we send the correct `removed` object arrays.\n for (const space of spaces) {\n if (!idsBySpace.has(space.id)) {\n idsBySpace.set(space.id, []);\n }\n }\n\n for (const [spaceId, added] of idsBySpace) {\n const removed = removedBySpace.get(spaceId) ?? [];\n const space = spaces.find((space) => space.id === spaceId);\n if (!space) {\n continue;\n }\n\n void space\n .postMessage('viewing', {\n identityKey: identity.identityKey.toHex(),\n attended: current,\n added,\n removed,\n })\n // TODO(burdon): This seems defensive; why would this fail? Backoff interval.\n .catch((err) => {\n log.warn('Failed to broadcast active node for presence.', {\n err: err.message,\n });\n });\n }\n }\n };\n\n send();\n // Send at interval to allow peers to expire entries if they become disconnected.\n const interval = setInterval(() => send(), ACTIVE_NODE_BROADCAST_INTERVAL);\n broadcastCleanup = () => clearInterval(interval);\n };\n\n // Subscribe to layout changes for broadcast.\n subscriptions.add(registry.subscribe(layoutAtom, setupBroadcast));\n // Subscribe to attention.current changes.\n subscriptions.add(attention.subscribeCurrent(() => setupBroadcast()));\n // Initial setup.\n setupBroadcast();\n // Cleanup.\n subscriptions.add(() => broadcastCleanup?.());\n\n // Listen for active nodes from other peers in the space.\n subscriptions.add(\n client.spaces.subscribe((spaces) => {\n spaceSubscriptions.clear();\n spaces.forEach((space) => {\n spaceSubscriptions.add(\n space.listen('viewing', (message) => {\n const { added, removed, attended } = message.payload;\n\n const identityKey = PublicKey.safeFrom(message.payload.identityKey);\n const currentIdentity = client.halo.identity.get();\n if (\n identityKey &&\n !currentIdentity?.identityKey.equals(identityKey) &&\n Array.isArray(added) &&\n Array.isArray(removed)\n ) {\n // TODO(wittjosiah): Stop using (Complex)Map inside reactive object.\n registry.update(ephemeralAtom, (ephemeral) => {\n added.forEach((id) => {\n if (typeof id === 'string') {\n if (!(id in ephemeral.viewersByObject)) {\n ephemeral.viewersByObject[id] = new ComplexMap(PublicKey.hash);\n }\n ephemeral.viewersByObject[id]!.set(identityKey, {\n lastSeen: Date.now(),\n currentlyAttended: new Set(attended).has(id),\n });\n if (!ephemeral.viewersByIdentity.has(identityKey)) {\n ephemeral.viewersByIdentity.set(identityKey, new Set());\n }\n ephemeral.viewersByIdentity.get(identityKey)!.add(id);\n }\n });\n\n removed.forEach((id) => {\n if (typeof id === 'string') {\n ephemeral.viewersByObject[id]?.delete(identityKey);\n ephemeral.viewersByIdentity.get(identityKey)?.delete(id);\n // It's okay for these to be empty sets/maps, reduces churn.\n }\n });\n\n return { ...ephemeral };\n });\n }\n }),\n );\n });\n }).unsubscribe,\n );\n\n // Enable edge replication for all spaces.\n try {\n yield* Effect.tryPromise(() =>\n Promise.all(\n client.spaces\n .get()\n .map((space) => space.internal.setEdgeReplicationPreference(EdgeReplicationSetting.ENABLED)),\n ),\n );\n registry.update(stateAtom, (current) => ({ ...current, enabledEdgeReplication: true }));\n } catch (err) {\n log.catch(err);\n }\n\n return Capability.contributes(Capabilities.Null, null, () =>\n Effect.sync(() => {\n spaceSubscriptions.clear();\n subscriptions.clear();\n }),\n );\n }),\n);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Effect", "Option", "Capabilities", "Capability", "AppCapabilities", "LayoutOperation", "getSpacePath", "SubscriptionList", "Filter", "Obj", "log", "AttentionCapabilities", "ClientCapabilities", "Graph", "EdgeReplicationSetting", "PublicKey", "SPACE_ID_LENGTH", "SpaceState", "parseId", "Expando", "ComplexMap", "reduceGroupBy", "ACTIVE_NODE_BROADCAST_INTERVAL", "WAIT_FOR_OBJECT_TIMEOUT", "ECHO_DXN_LENGTH", "Capability", "makeModule", "fnUntraced", "subscriptions", "SubscriptionList", "spaceSubscriptions", "invoke", "invokePromise", "get", "Capabilities", "OperationInvoker", "graph", "AppCapabilities", "AppGraph", "registry", "AtomRegistry", "layoutAtom", "Layout", "attention", "AttentionCapabilities", "Attention", "stateAtom", "SpaceCapabilities", "State", "ephemeralAtom", "EphemeralState", "client", "ClientCapabilities", "Client", "defaultSpace", "spaces", "default", "tryPromise", "waitUntilReady", "layout", "workspace", "LayoutOperation", "SwitchWorkspace", "subject", "getSpacePath", "id", "properties", "COMPOSER_SPACE_LOCK", "Obj", "change", "p", "queryResults", "db", "query", "Filter", "type", "Expando", "key", "SHARED", "run", "spacesOrder", "add", "make", "order", "lastActiveCleanup", "subscribe", "undefined", "active", "length", "node", "Graph", "getNode", "pipe", "getOrNull", "SPACE_ID_LENGTH", "initialize", "timeout", "setTimeout", "SpaceOperation", "WaitForObject", "clearTimeout", "immediate", "state", "SpaceState", "SPACE_REQUIRES_MIGRATION", "internal", "migrate", "filter", "space", "SPACE_READY", "forEach", "updateSpaceName", "name", "update", "current", "_", "rest", "spaceNames", "unsubscribe", "broadcastCleanup", "setupBroadcast", "getCurrent", "inactive", "send", "identity", "halo", "idsBySpace", "reduceGroupBy", "spaceId", "parseId", "removedBySpace", "has", "set", "added", "removed", "find", "postMessage", "identityKey", "toHex", "attended", "catch", "err", "log", "warn", "message", "interval", "setInterval", "clearInterval", "subscribeCurrent", "clear", "listen", "payload", "PublicKey", "safeFrom", "currentIdentity", "equals", "Array", "isArray", "ephemeral", "viewersByObject", "ComplexMap", "hash", "lastSeen", "Date", "now", "currentlyAttended", "Set", "viewersByIdentity", "delete", "Promise", "all", "map", "setEdgeReplicationPreference", "EdgeReplicationSetting", "ENABLED", "enabledEdgeReplication", "contributes", "Null", "sync"]
|
|
7
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
SpaceCapabilities
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-EVNSLSQS.mjs";
|
|
5
5
|
import {
|
|
6
6
|
meta
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-63N5JJXI.mjs";
|
|
8
8
|
|
|
9
9
|
// src/capabilities/state/state.ts
|
|
10
10
|
import { Atom } from "@effect-atom/atom-react";
|
|
@@ -20,7 +20,7 @@ var defaultSpaceState = {
|
|
|
20
20
|
var state_default = Capability.makeModule(Effect.fnUntraced(function* () {
|
|
21
21
|
const registry = yield* Capability.get(Capabilities.AtomRegistry);
|
|
22
22
|
const stateAtom = createKvsStore({
|
|
23
|
-
key: `${meta.id}
|
|
23
|
+
key: `${meta.id}.state`,
|
|
24
24
|
schema: SpaceCapabilities.StateSchema,
|
|
25
25
|
defaultValue: () => ({
|
|
26
26
|
...defaultSpaceState
|
|
@@ -35,7 +35,7 @@ var state_default = Capability.makeModule(Effect.fnUntraced(function* () {
|
|
|
35
35
|
}).pipe(Atom.keepAlive);
|
|
36
36
|
const manager = yield* Capability.get(Capabilities.PluginManager);
|
|
37
37
|
const updateNavigableCollections = () => {
|
|
38
|
-
const enabled = manager.getEnabled().includes("dxos.
|
|
38
|
+
const enabled = manager.getEnabled().includes("org.dxos.plugin.stack") || manager.getEnabled().includes("org.dxos.plugin.simple-layout");
|
|
39
39
|
const current = registry.get(ephemeralAtom);
|
|
40
40
|
if (enabled !== current.navigableCollections) {
|
|
41
41
|
registry.update(ephemeralAtom, (c) => ({
|
|
@@ -56,4 +56,4 @@ var state_default = Capability.makeModule(Effect.fnUntraced(function* () {
|
|
|
56
56
|
export {
|
|
57
57
|
state_default as default
|
|
58
58
|
};
|
|
59
|
-
//# sourceMappingURL=state-
|
|
59
|
+
//# sourceMappingURL=state-W36RRYUO.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/capabilities/state/state.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom } from '@effect-atom/atom-react';\nimport * as Effect from 'effect/Effect';\n\nimport { 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.id}
|
|
5
|
-
"mappings": ";;;;;;;;;AAIA,SAASA,YAAY;AACrB,YAAYC,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,sBAAsB;AAC/B,SAASC,iBAAiB;AAC1B,SAASC,kBAAkB;AAM3B,IAAMC,oBAAkD;EACtDC,YAAY,CAAC;EACbC,wBAAwB;AAC1B;AAEA,IAAA,gBAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAChB,QAAMC,WAAW,OAAOH,WAAWI,IAAIC,aAAaC,YAAY;AAGhE,QAAMC,YAAYC,eAAe;IAC/BC,KAAK,GAAGC,KAAKC,EAAE;IACfC,QAAQC,kBAAkBC;IAC1BC,cAAc,OAAO;MAAE,GAAGlB;IAAkB;EAC9C,CAAA;AAGA,QAAMmB,gBAAgBC,KAAKC,KAA4C;IACrEC,UAAUC;IACVC,qBAAqB,CAAC;IACtBC,sBAAsB;IACtBC,iBAAiB,CAAC;IAClBC,mBAAmB,IAAIC,WAAmCC,UAAUC,IAAI;EAC1E,CAAA,EAAGC,KAAKX,KAAKY,SAAS;AAEtB,QAAMC,UAAU,OAAO9B,WAAWI,IAAIC,aAAa0B,aAAa;AAEhE,QAAMC,6BAA6B,MAAA;AACjC,UAAMC,
|
|
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.id}.state`,\n schema: SpaceCapabilities.StateSchema,\n defaultValue: () => ({ ...defaultSpaceState }),\n });\n\n // Ephemeral state (not persisted, but kept alive to prevent GC resets).\n const ephemeralAtom = Atom.make<SpaceCapabilities.SpaceEphemeralState>({\n awaiting: undefined,\n sdkMigrationRunning: {},\n navigableCollections: false,\n viewersByObject: {},\n viewersByIdentity: new ComplexMap<PublicKey, Set<string>>(PublicKey.hash),\n }).pipe(Atom.keepAlive);\n\n const manager = yield* Capability.get(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.simple-layout');\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;AAM3B,IAAMC,oBAAkD;EACtDC,YAAY,CAAC;EACbC,wBAAwB;AAC1B;AAEA,IAAA,gBAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAChB,QAAMC,WAAW,OAAOH,WAAWI,IAAIC,aAAaC,YAAY;AAGhE,QAAMC,YAAYC,eAAe;IAC/BC,KAAK,GAAGC,KAAKC,EAAE;IACfC,QAAQC,kBAAkBC;IAC1BC,cAAc,OAAO;MAAE,GAAGlB;IAAkB;EAC9C,CAAA;AAGA,QAAMmB,gBAAgBC,KAAKC,KAA4C;IACrEC,UAAUC;IACVC,qBAAqB,CAAC;IACtBC,sBAAsB;IACtBC,iBAAiB,CAAC;IAClBC,mBAAmB,IAAIC,WAAmCC,UAAUC,IAAI;EAC1E,CAAA,EAAGC,KAAKX,KAAKY,SAAS;AAEtB,QAAMC,UAAU,OAAO9B,WAAWI,IAAIC,aAAa0B,aAAa;AAEhE,QAAMC,6BAA6B,MAAA;AACjC,UAAMC,UACJH,QAAQI,WAAU,EAAGC,SAAS,uBAAA,KAC9BL,QAAQI,WAAU,EAAGC,SAAS,+BAAA;AAChC,UAAMC,UAAUjC,SAASC,IAAIY,aAAAA;AAC7B,QAAIiB,YAAYG,QAAQd,sBAAsB;AAC5CnB,eAASkC,OAAOrB,eAAe,CAACsB,OAAO;QAAE,GAAGA;QAAGhB,sBAAsBW;MAAQ,EAAA;IAC/E;EACF;AAEAD,6BAAAA;AACA,QAAMO,cAAcpC,SAASqC,UAAUV,QAAQG,SAASD,0BAAAA;AAExD,SAAO;IACLhC,WAAWyC,YAAY5B,kBAAkB6B,OAAOnC,SAAAA;IAChDP,WAAWyC,YAAY5B,kBAAkB8B,gBAAgB3B,eAAe,MAC/D4B,YAAK,MAAA;AACVL,kBAAAA;IACF,CAAA,CAAA;;AAGN,CAAA,CAAA;",
|
|
6
6
|
"names": ["Atom", "Effect", "Capabilities", "Capability", "createKvsStore", "PublicKey", "ComplexMap", "defaultSpaceState", "spaceNames", "enabledEdgeReplication", "Capability", "makeModule", "fnUntraced", "registry", "get", "Capabilities", "AtomRegistry", "stateAtom", "createKvsStore", "key", "meta", "id", "schema", "SpaceCapabilities", "StateSchema", "defaultValue", "ephemeralAtom", "Atom", "make", "awaiting", "undefined", "sdkMigrationRunning", "navigableCollections", "viewersByObject", "viewersByIdentity", "ComplexMap", "PublicKey", "hash", "pipe", "keepAlive", "manager", "PluginManager", "updateNavigableCollections", "enabled", "getEnabled", "includes", "current", "update", "c", "unsubscribe", "subscribe", "contributes", "State", "EphemeralState", "sync"]
|
|
7
7
|
}
|
|
@@ -14,8 +14,8 @@ import {
|
|
|
14
14
|
TypeInputOptionsAnnotation,
|
|
15
15
|
TypeInputOptionsAnnotationId,
|
|
16
16
|
getTypenames
|
|
17
|
-
} from "../chunk-
|
|
18
|
-
import "../chunk-
|
|
17
|
+
} from "../chunk-EVNSLSQS.mjs";
|
|
18
|
+
import "../chunk-63N5JJXI.mjs";
|
|
19
19
|
export {
|
|
20
20
|
CollectionOperation,
|
|
21
21
|
HueAnnotationId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpacePlugin.d.ts","sourceRoot":"","sources":["../../../src/SpacePlugin.ts"],"names":[],"mappings":"AAOA,OAAO,EAAiD,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAuC5F,OAAO,EAAqC,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAErF,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"SpacePlugin.d.ts","sourceRoot":"","sources":["../../../src/SpacePlugin.ts"],"names":[],"mappings":"AAOA,OAAO,EAAiD,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAuC5F,OAAO,EAAqC,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAErF,eAAO,MAAM,WAAW,0CAiKvB,CAAC"}
|