@dxos/plugin-space 0.8.4-main.bc674ce → 0.8.4-main.c351d160a8
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-XGSQDBMS.mjs +115 -0
- package/dist/lib/browser/CollectionArticle-XGSQDBMS.mjs.map +7 -0
- package/dist/lib/browser/CollectionSection-H2MBNI63.mjs +23 -0
- package/dist/lib/browser/CollectionSection-H2MBNI63.mjs.map +7 -0
- package/dist/lib/browser/CreateObjectDialog-YUBUWSEL.mjs +142 -0
- package/dist/lib/browser/CreateObjectDialog-YUBUWSEL.mjs.map +7 -0
- package/dist/lib/browser/CreateSpaceDialog-3M2LAWV6.mjs +64 -0
- package/dist/lib/browser/CreateSpaceDialog-3M2LAWV6.mjs.map +7 -0
- package/dist/lib/browser/InlineSyncStatus-K5MZ3YMZ.mjs +53 -0
- package/dist/lib/browser/InlineSyncStatus-K5MZ3YMZ.mjs.map +7 -0
- package/dist/lib/browser/JoinDialog-PBK2RE5F.mjs +115 -0
- package/dist/lib/browser/JoinDialog-PBK2RE5F.mjs.map +7 -0
- package/dist/lib/browser/MembersContainer-OGYV2L4M.mjs +257 -0
- package/dist/lib/browser/MembersContainer-OGYV2L4M.mjs.map +7 -0
- package/dist/lib/browser/MenuFooter-XCBDK7WP.mjs +37 -0
- package/dist/lib/browser/MenuFooter-XCBDK7WP.mjs.map +7 -0
- package/dist/lib/browser/ObjectCardStack-UOEHSBL5.mjs +64 -0
- package/dist/lib/browser/ObjectCardStack-UOEHSBL5.mjs.map +7 -0
- package/dist/lib/browser/ObjectDetails-ADGND237.mjs +43 -0
- package/dist/lib/browser/ObjectDetails-ADGND237.mjs.map +7 -0
- package/dist/lib/browser/ObjectRenamePopover-JNPJIFIR.mjs +70 -0
- package/dist/lib/browser/ObjectRenamePopover-JNPJIFIR.mjs.map +7 -0
- package/dist/lib/browser/{RecordArticle-W57QE7QV.mjs → RecordArticle-YXAJ23HH.mjs} +49 -34
- package/dist/lib/browser/RecordArticle-YXAJ23HH.mjs.map +7 -0
- package/dist/lib/browser/SchemaContainer-QWCSIZBS.mjs +49 -0
- package/dist/lib/browser/SchemaContainer-QWCSIZBS.mjs.map +7 -0
- package/dist/lib/browser/SmallPresenceLive-AHHLBAUP.mjs +9 -0
- package/dist/lib/browser/SmallPresenceLive-AHHLBAUP.mjs.map +7 -0
- package/dist/lib/browser/SpacePluginSettings-QGZKNQLK.mjs +59 -0
- package/dist/lib/browser/SpacePluginSettings-QGZKNQLK.mjs.map +7 -0
- package/dist/lib/browser/SpacePresence-JIWLBUWO.mjs +12 -0
- package/dist/lib/browser/SpacePresence-JIWLBUWO.mjs.map +7 -0
- package/dist/lib/browser/SpaceRenamePopover-ZL6RRZ2B.mjs +62 -0
- package/dist/lib/browser/SpaceRenamePopover-ZL6RRZ2B.mjs.map +7 -0
- package/dist/lib/browser/SpaceSettingsContainer-MIOOT63N.mjs +242 -0
- package/dist/lib/browser/SpaceSettingsContainer-MIOOT63N.mjs.map +7 -0
- package/dist/lib/browser/SyncStatus-6N7JJ7XF.mjs +141 -0
- package/dist/lib/browser/SyncStatus-6N7JJ7XF.mjs.map +7 -0
- package/dist/lib/browser/ViewEditor-3FX5HDRT.mjs +113 -0
- package/dist/lib/browser/ViewEditor-3FX5HDRT.mjs.map +7 -0
- package/dist/lib/browser/app-graph-builder-UEOUAYZG.mjs +1201 -0
- package/dist/lib/browser/app-graph-builder-UEOUAYZG.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-7AT7QMSK.mjs → app-graph-serializer-UZWWGLGY.mjs} +11 -10
- package/dist/lib/browser/app-graph-serializer-UZWWGLGY.mjs.map +7 -0
- package/dist/lib/browser/chunk-2WHUSAHE.mjs +579 -0
- package/dist/lib/browser/chunk-2WHUSAHE.mjs.map +7 -0
- package/dist/lib/browser/{chunk-CCRSHECL.mjs → chunk-6IT5IBB5.mjs} +74 -105
- 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-ZT2VPYRM.mjs → chunk-AUX3RRLY.mjs} +37 -12
- 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-4WZUGLQQ.mjs → chunk-ICXESMDI.mjs} +13 -12
- 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-SJCNERZI.mjs +115 -0
- package/dist/lib/browser/chunk-SJCNERZI.mjs.map +7 -0
- package/dist/lib/browser/{chunk-AWVAX26X.mjs → chunk-SSTUPFZ2.mjs} +3 -3
- package/dist/lib/browser/chunk-UYOJYBGW.mjs +168 -0
- package/dist/lib/browser/chunk-UYOJYBGW.mjs.map +7 -0
- package/dist/lib/browser/cli/index.mjs +38 -44
- package/dist/lib/browser/cli/index.mjs.map +3 -3
- package/dist/lib/browser/{identity-created-VCFYLSBB.mjs → identity-created-ETXNQYR6.mjs} +5 -5
- package/dist/lib/browser/identity-created-ETXNQYR6.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +104 -159
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{operation-resolver-SIRQT36Z.mjs → operation-resolver-D4LHB4D4.mjs} +95 -115
- package/dist/lib/browser/operation-resolver-D4LHB4D4.mjs.map +7 -0
- package/dist/lib/browser/{react-root-3SPMM45V.mjs → react-root-OD2HP63B.mjs} +9 -9
- package/dist/lib/browser/react-root-OD2HP63B.mjs.map +7 -0
- package/dist/lib/browser/{react-surface-UUS7NDHS.mjs → react-surface-ANV4KTRV.mjs} +98 -115
- package/dist/lib/browser/react-surface-ANV4KTRV.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-ZS2AQ73E.mjs → settings-RUDP2Q56.mjs} +6 -5
- package/dist/lib/browser/settings-RUDP2Q56.mjs.map +7 -0
- package/dist/lib/browser/{spaces-ready-OQDGWUOS.mjs → spaces-ready-B2GYL5IN.mjs} +15 -14
- package/dist/lib/browser/spaces-ready-B2GYL5IN.mjs.map +7 -0
- package/dist/lib/browser/{state-7YZQB2KY.mjs → state-I6JDZCDE.mjs} +8 -8
- package/dist/lib/browser/state-I6JDZCDE.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +2 -2
- package/dist/lib/node-esm/{CollectionArticle-V5OOJVJJ.mjs → CollectionArticle-MNLCROOX.mjs} +49 -59
- package/dist/lib/node-esm/CollectionArticle-MNLCROOX.mjs.map +7 -0
- package/dist/lib/node-esm/CollectionSection-BI66Y34F.mjs +24 -0
- package/dist/lib/node-esm/CollectionSection-BI66Y34F.mjs.map +7 -0
- package/dist/lib/node-esm/CreateObjectDialog-B6OLP5VQ.mjs +143 -0
- package/dist/lib/node-esm/CreateObjectDialog-B6OLP5VQ.mjs.map +7 -0
- package/dist/lib/node-esm/CreateSpaceDialog-J47M5FPQ.mjs +65 -0
- package/dist/lib/node-esm/CreateSpaceDialog-J47M5FPQ.mjs.map +7 -0
- package/dist/lib/node-esm/InlineSyncStatus-BLD57LB5.mjs +54 -0
- package/dist/lib/node-esm/InlineSyncStatus-BLD57LB5.mjs.map +7 -0
- package/dist/lib/node-esm/JoinDialog-XCOYKSHA.mjs +116 -0
- package/dist/lib/node-esm/JoinDialog-XCOYKSHA.mjs.map +7 -0
- package/dist/lib/node-esm/MembersContainer-4PV3Z4BA.mjs +258 -0
- package/dist/lib/node-esm/MembersContainer-4PV3Z4BA.mjs.map +7 -0
- package/dist/lib/node-esm/MenuFooter-PXG2GV6A.mjs +38 -0
- package/dist/lib/node-esm/MenuFooter-PXG2GV6A.mjs.map +7 -0
- package/dist/lib/node-esm/ObjectCardStack-THP5FKDV.mjs +65 -0
- package/dist/lib/node-esm/ObjectCardStack-THP5FKDV.mjs.map +7 -0
- package/dist/lib/node-esm/ObjectDetails-2SBF3KBM.mjs +44 -0
- package/dist/lib/node-esm/ObjectDetails-2SBF3KBM.mjs.map +7 -0
- package/dist/lib/node-esm/ObjectRenamePopover-BRPKVNVF.mjs +71 -0
- package/dist/lib/node-esm/ObjectRenamePopover-BRPKVNVF.mjs.map +7 -0
- package/dist/lib/node-esm/{RecordArticle-SSV74Z46.mjs → RecordArticle-344UK7QP.mjs} +49 -34
- package/dist/lib/node-esm/RecordArticle-344UK7QP.mjs.map +7 -0
- package/dist/lib/node-esm/SchemaContainer-5G4R3Z6O.mjs +50 -0
- package/dist/lib/node-esm/SchemaContainer-5G4R3Z6O.mjs.map +7 -0
- 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-PENV4GHL.mjs +60 -0
- package/dist/lib/node-esm/SpacePluginSettings-PENV4GHL.mjs.map +7 -0
- 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-XEMTI4PU.mjs +63 -0
- package/dist/lib/node-esm/SpaceRenamePopover-XEMTI4PU.mjs.map +7 -0
- package/dist/lib/node-esm/SpaceSettingsContainer-WI4D7RWA.mjs +243 -0
- package/dist/lib/node-esm/SpaceSettingsContainer-WI4D7RWA.mjs.map +7 -0
- package/dist/lib/node-esm/SyncStatus-YEBGTNSD.mjs +142 -0
- package/dist/lib/node-esm/SyncStatus-YEBGTNSD.mjs.map +7 -0
- package/dist/lib/node-esm/ViewEditor-CUQVNM2H.mjs +114 -0
- package/dist/lib/node-esm/ViewEditor-CUQVNM2H.mjs.map +7 -0
- package/dist/lib/node-esm/app-graph-builder-W2QNDIZF.mjs +1202 -0
- package/dist/lib/node-esm/app-graph-builder-W2QNDIZF.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-WJ2TIQG6.mjs → app-graph-serializer-RT2RQTV2.mjs} +11 -10
- package/dist/lib/node-esm/app-graph-serializer-RT2RQTV2.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-JOBIWCBC.mjs → chunk-2OLR2ZKH.mjs} +13 -12
- 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-EDC2RUJU.mjs +169 -0
- package/dist/lib/node-esm/chunk-EDC2RUJU.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-MPL6NHQX.mjs → chunk-EVNSLSQS.mjs} +74 -105
- 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-IV7VKVGC.mjs +117 -0
- package/dist/lib/node-esm/chunk-IV7VKVGC.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-2SW6S2BB.mjs → chunk-RYQQXNI7.mjs} +37 -12
- package/dist/lib/node-esm/chunk-RYQQXNI7.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-S5BQUCL4.mjs +580 -0
- package/dist/lib/node-esm/chunk-S5BQUCL4.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-HREWB23G.mjs → chunk-XYLDAH5C.mjs} +3 -3
- package/dist/lib/node-esm/cli/index.mjs +38 -44
- package/dist/lib/node-esm/cli/index.mjs.map +3 -3
- package/dist/lib/node-esm/{identity-created-2SJABVJD.mjs → identity-created-U5LGULVL.mjs} +5 -5
- package/dist/lib/node-esm/identity-created-U5LGULVL.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +104 -159
- 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-ZE3XJL5J.mjs → operation-resolver-IL2AHNPN.mjs} +95 -115
- package/dist/lib/node-esm/operation-resolver-IL2AHNPN.mjs.map +7 -0
- package/dist/lib/node-esm/{react-root-Y6JTGDTW.mjs → react-root-RILC5MBD.mjs} +9 -9
- package/dist/lib/node-esm/react-root-RILC5MBD.mjs.map +7 -0
- package/dist/lib/node-esm/{react-surface-SQ4SK3OK.mjs → react-surface-TA5KEWVW.mjs} +98 -115
- package/dist/lib/node-esm/react-surface-TA5KEWVW.mjs.map +7 -0
- package/dist/lib/node-esm/{repair-G3ZW3VG3.mjs → repair-LRZHFPSJ.mjs} +6 -25
- package/dist/lib/node-esm/repair-LRZHFPSJ.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-PVI2VG56.mjs → settings-3EKSEAAG.mjs} +6 -5
- package/dist/lib/node-esm/settings-3EKSEAAG.mjs.map +7 -0
- package/dist/lib/node-esm/{spaces-ready-R744OHQG.mjs → spaces-ready-QK3EHBOS.mjs} +15 -14
- package/dist/lib/node-esm/spaces-ready-QK3EHBOS.mjs.map +7 -0
- package/dist/lib/node-esm/{state-XE5YGPHM.mjs → state-W36RRYUO.mjs} +8 -8
- package/dist/lib/node-esm/state-W36RRYUO.mjs.map +7 -0
- 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 +2 -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/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/app-graph-serializer/app-graph-serializer.d.ts +2 -2
- package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-serializer/index.d.ts +1 -1
- package/dist/types/src/capabilities/app-graph-serializer/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/identity-created/identity-created.d.ts +1 -1
- package/dist/types/src/capabilities/operation-resolver/index.d.ts +1 -1
- package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +2 -2
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-root/react-root.d.ts +1 -1
- package/dist/types/src/capabilities/react-root/react-root.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface/index.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +2 -2
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/repair/repair.d.ts +1 -1
- package/dist/types/src/capabilities/repair/repair.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings/index.d.ts +1 -1
- package/dist/types/src/capabilities/settings/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings/settings.d.ts +4 -3
- package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -1
- package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts +1 -1
- package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts.map +1 -1
- package/dist/types/src/capabilities/state/state.d.ts +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 +12 -5
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/index.d.ts +1 -2
- package/dist/types/src/components/CreateDialog/index.d.ts.map +1 -1
- package/dist/types/src/components/ObjectDetails/BaseObjectSettings.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/ObjectDetails/index.d.ts +2 -2
- package/dist/types/src/components/ObjectDetails/index.d.ts.map +1 -1
- package/dist/types/src/components/ObjectForm/ObjectForm.d.ts.map +1 -0
- package/dist/types/src/components/ObjectForm/index.d.ts +2 -0
- package/dist/types/src/components/ObjectForm/index.d.ts.map +1 -0
- package/dist/types/src/components/SyncStatus/index.d.ts +2 -2
- package/dist/types/src/components/SyncStatus/index.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +2 -23
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts +8 -0
- package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts.map +1 -0
- package/dist/types/src/containers/CollectionArticle/index.d.ts +3 -0
- package/dist/types/src/containers/CollectionArticle/index.d.ts.map +1 -0
- package/dist/types/src/containers/CollectionSection/CollectionSection.d.ts +5 -0
- package/dist/types/src/containers/CollectionSection/CollectionSection.d.ts.map +1 -0
- package/dist/types/src/containers/CollectionSection/index.d.ts +3 -0
- package/dist/types/src/containers/CollectionSection/index.d.ts.map +1 -0
- package/dist/types/src/{components/CreateDialog → containers/CreateObjectDialog}/CreateObjectDialog.d.ts +5 -3
- package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts.map +1 -0
- package/dist/types/src/containers/CreateObjectDialog/index.d.ts +3 -0
- package/dist/types/src/containers/CreateObjectDialog/index.d.ts.map +1 -0
- package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.d.ts.map +1 -0
- package/dist/types/src/containers/CreateSpaceDialog/index.d.ts +3 -0
- package/dist/types/src/containers/CreateSpaceDialog/index.d.ts.map +1 -0
- package/dist/types/src/containers/InlineSyncStatus/InlineSyncStatus.d.ts.map +1 -0
- package/dist/types/src/containers/InlineSyncStatus/index.d.ts +3 -0
- package/dist/types/src/containers/InlineSyncStatus/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers}/JoinDialog/JoinDialog.d.ts.map +1 -1
- package/dist/types/src/containers/JoinDialog/index.d.ts +3 -0
- package/dist/types/src/containers/JoinDialog/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers}/MembersContainer/MembersContainer.d.ts.map +1 -1
- package/dist/types/src/containers/MembersContainer/index.d.ts +3 -0
- package/dist/types/src/containers/MembersContainer/index.d.ts.map +1 -0
- package/dist/types/src/containers/MenuFooter/MenuFooter.d.ts.map +1 -0
- package/dist/types/src/containers/MenuFooter/index.d.ts +3 -0
- package/dist/types/src/containers/MenuFooter/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers}/ObjectCardStack/ObjectCardStack.d.ts +4 -1
- package/dist/types/src/containers/ObjectCardStack/ObjectCardStack.d.ts.map +1 -0
- package/dist/types/src/{components → containers}/ObjectCardStack/index.d.ts.map +1 -1
- package/dist/types/src/{components → containers}/ObjectDetails/ObjectDetails.d.ts +2 -1
- package/dist/types/src/containers/ObjectDetails/ObjectDetails.d.ts.map +1 -0
- package/dist/types/src/containers/ObjectDetails/index.d.ts +3 -0
- package/dist/types/src/containers/ObjectDetails/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers}/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -1
- package/dist/types/src/containers/ObjectRenamePopover/index.d.ts +3 -0
- package/dist/types/src/containers/ObjectRenamePopover/index.d.ts.map +1 -0
- package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts +4 -0
- package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts.map +1 -0
- package/dist/types/src/containers/RecordArticle/index.d.ts +3 -0
- package/dist/types/src/containers/RecordArticle/index.d.ts.map +1 -0
- package/dist/types/src/containers/SchemaContainer/SchemaContainer.d.ts.map +1 -0
- package/dist/types/src/containers/SchemaContainer/index.d.ts +3 -0
- package/dist/types/src/containers/SchemaContainer/index.d.ts.map +1 -0
- package/dist/types/src/containers/SmallPresenceLive/index.d.ts +2 -0
- package/dist/types/src/containers/SmallPresenceLive/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers/SpacePluginSettings}/SpacePluginSettings.d.ts +1 -1
- package/dist/types/src/containers/SpacePluginSettings/SpacePluginSettings.d.ts.map +1 -0
- package/dist/types/src/containers/SpacePluginSettings/index.d.ts +3 -0
- package/dist/types/src/containers/SpacePluginSettings/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.d.ts.map +1 -1
- package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.stories.d.ts +67 -13
- package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.stories.d.ts.map +1 -1
- package/dist/types/src/containers/SpacePresence/index.d.ts +3 -0
- package/dist/types/src/containers/SpacePresence/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers}/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -1
- package/dist/types/src/containers/SpaceRenamePopover/index.d.ts +3 -0
- package/dist/types/src/containers/SpaceRenamePopover/index.d.ts.map +1 -0
- package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts +10 -0
- package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts.map +1 -0
- package/dist/types/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.stories.d.ts +71 -14
- package/dist/types/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.stories.d.ts.map +1 -1
- package/dist/types/src/containers/SpaceSettingsContainer/index.d.ts +3 -0
- package/dist/types/src/containers/SpaceSettingsContainer/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.d.ts.map +1 -1
- package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.stories.d.ts +67 -13
- package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
- package/dist/types/src/containers/SyncStatus/index.d.ts +3 -0
- package/dist/types/src/containers/SyncStatus/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers/ViewEditor}/ViewEditor.d.ts +1 -1
- package/dist/types/src/containers/ViewEditor/ViewEditor.d.ts.map +1 -0
- package/dist/types/src/containers/ViewEditor/index.d.ts +3 -0
- package/dist/types/src/containers/ViewEditor/index.d.ts.map +1 -0
- package/dist/types/src/containers/index.d.ts +23 -0
- package/dist/types/src/containers/index.d.ts.map +1 -0
- package/dist/types/src/helpers/query.d.ts.map +1 -1
- package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -1
- package/dist/types/src/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/capabilities.d.ts +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 +0 -2
- package/dist/types/src/types/form.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +63 -124
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +6 -121
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +68 -66
- package/src/SpacePlugin.ts +83 -70
- package/src/capabilities/app-graph-builder/app-graph-builder.ts +17 -602
- 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 +432 -0
- package/src/capabilities/app-graph-serializer/app-graph-serializer.ts +6 -5
- package/src/capabilities/identity-created/identity-created.ts +4 -4
- package/src/capabilities/operation-resolver/operation-resolver.ts +97 -94
- package/src/capabilities/react-root/react-root.tsx +3 -3
- package/src/capabilities/react-surface/react-surface.tsx +79 -99
- package/src/capabilities/repair/repair.ts +3 -28
- package/src/capabilities/settings/settings.ts +3 -2
- package/src/capabilities/spaces-ready/spaces-ready.ts +8 -7
- package/src/capabilities/state/state.ts +7 -5
- package/src/cli/commands/database/add.ts +8 -10
- package/src/cli/commands/database/query/query.ts +1 -1
- package/src/cli/commands/database/remove.ts +2 -2
- package/src/cli/commands/database/stats.ts +1 -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 +34 -27
- package/src/components/{AwaitingObject.tsx → AwaitingObject/AwaitingObject.tsx} +6 -5
- package/src/components/AwaitingObject/index.ts +5 -0
- package/src/components/CreateDialog/CreateObjectPanel.tsx +90 -111
- package/src/components/CreateDialog/index.ts +1 -2
- package/src/components/ObjectDetails/BaseObjectSettings.stories.tsx +10 -10
- package/src/components/ObjectDetails/BaseObjectSettings.tsx +8 -8
- package/src/components/ObjectDetails/ForeignKeys.tsx +1 -1
- package/src/components/ObjectDetails/index.ts +2 -3
- package/src/components/{ObjectCardStack → ObjectForm}/ObjectForm.tsx +9 -7
- package/src/components/{JoinDialog → ObjectForm}/index.ts +1 -1
- package/src/components/SyncStatus/index.ts +2 -2
- package/src/components/index.ts +2 -18
- package/src/constants.ts +5 -5
- package/src/containers/CollectionArticle/CollectionArticle.tsx +139 -0
- package/src/containers/CollectionArticle/index.ts +7 -0
- package/src/{components → containers/CollectionSection}/CollectionSection.tsx +4 -4
- package/src/containers/CollectionSection/index.ts +7 -0
- package/src/{components/CreateDialog → containers/CreateObjectDialog}/CreateObjectDialog.tsx +62 -42
- package/src/containers/CreateObjectDialog/index.ts +6 -0
- package/src/{components/CreateDialog → containers/CreateSpaceDialog}/CreateSpaceDialog.tsx +6 -6
- package/src/containers/CreateSpaceDialog/index.ts +7 -0
- package/src/{components/SyncStatus → containers/InlineSyncStatus}/InlineSyncStatus.tsx +8 -19
- package/src/containers/InlineSyncStatus/index.ts +7 -0
- package/src/{components → containers}/JoinDialog/JoinDialog.tsx +10 -9
- package/src/containers/JoinDialog/index.ts +6 -0
- package/src/{components → containers}/MembersContainer/MembersContainer.tsx +50 -53
- package/src/containers/MembersContainer/index.ts +7 -0
- package/src/{components → containers/MenuFooter}/MenuFooter.tsx +5 -5
- package/src/containers/MenuFooter/index.ts +7 -0
- package/src/containers/ObjectCardStack/ObjectCardStack.tsx +82 -0
- package/src/containers/ObjectDetails/ObjectDetails.tsx +36 -0
- package/src/containers/ObjectDetails/index.ts +7 -0
- package/src/{components → containers}/ObjectRenamePopover/ObjectRenamePopover.tsx +4 -4
- package/src/containers/ObjectRenamePopover/index.ts +7 -0
- package/src/{components → containers/RecordArticle}/RecordArticle.tsx +55 -37
- package/src/containers/RecordArticle/index.ts +7 -0
- package/src/{components → containers/SchemaContainer}/SchemaContainer.tsx +22 -18
- package/src/containers/SchemaContainer/index.ts +7 -0
- package/src/containers/SmallPresenceLive/index.ts +5 -0
- package/src/containers/SpacePluginSettings/SpacePluginSettings.tsx +65 -0
- package/src/containers/SpacePluginSettings/index.ts +7 -0
- package/src/{components → containers}/SpacePresence/SpacePresence.stories.tsx +2 -2
- package/src/{components → containers}/SpacePresence/SpacePresence.tsx +11 -22
- package/src/containers/SpacePresence/index.ts +6 -0
- package/src/{components → containers}/SpaceRenamePopover/SpaceRenamePopover.tsx +4 -4
- package/src/containers/SpaceRenamePopover/index.ts +7 -0
- package/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.stories.tsx +3 -3
- package/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.tsx +202 -0
- package/src/containers/SpaceSettingsContainer/index.ts +7 -0
- package/src/{components → containers}/SyncStatus/SyncStatus.stories.tsx +2 -2
- package/src/{components → containers}/SyncStatus/SyncStatus.tsx +5 -7
- package/src/containers/SyncStatus/index.ts +7 -0
- package/src/{components → containers/ViewEditor}/ViewEditor.tsx +11 -10
- package/src/containers/ViewEditor/index.ts +7 -0
- package/src/containers/index.ts +28 -0
- package/src/helpers/query.test.ts +1 -1
- package/src/helpers/query.ts +20 -7
- package/src/hooks/useActiveSpace.ts +8 -7
- package/src/hooks/useInputSurfaceLookup.tsx +3 -3
- package/src/index.ts +2 -1
- package/src/meta.ts +1 -1
- package/src/translations.ts +30 -4
- package/src/types/capabilities.ts +8 -8
- package/src/types/events.ts +7 -6
- package/src/types/form.ts +1 -8
- package/src/types/types.ts +61 -76
- package/src/util.ts +82 -0
- package/dist/lib/browser/CollectionArticle-OQMUVFVV.mjs +0 -125
- package/dist/lib/browser/CollectionArticle-OQMUVFVV.mjs.map +0 -7
- package/dist/lib/browser/ObjectCardStack-TWHN6C2Y.mjs +0 -148
- package/dist/lib/browser/ObjectCardStack-TWHN6C2Y.mjs.map +0 -7
- package/dist/lib/browser/ObjectDetails-GEDIISKK.mjs +0 -142
- package/dist/lib/browser/ObjectDetails-GEDIISKK.mjs.map +0 -7
- package/dist/lib/browser/RecordArticle-W57QE7QV.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-SJHTZXZF.mjs +0 -523
- package/dist/lib/browser/app-graph-builder-SJHTZXZF.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-7AT7QMSK.mjs.map +0 -7
- package/dist/lib/browser/chunk-4WZUGLQQ.mjs.map +0 -7
- package/dist/lib/browser/chunk-ASV6DYFH.mjs +0 -19
- package/dist/lib/browser/chunk-CCRSHECL.mjs.map +0 -7
- package/dist/lib/browser/chunk-SUI34XSA.mjs +0 -772
- package/dist/lib/browser/chunk-SUI34XSA.mjs.map +0 -7
- package/dist/lib/browser/chunk-TWUMNPG4.mjs +0 -1898
- package/dist/lib/browser/chunk-TWUMNPG4.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZT2VPYRM.mjs.map +0 -7
- package/dist/lib/browser/identity-created-VCFYLSBB.mjs.map +0 -7
- package/dist/lib/browser/operation-resolver-SIRQT36Z.mjs.map +0 -7
- package/dist/lib/browser/react-root-3SPMM45V.mjs.map +0 -7
- package/dist/lib/browser/react-surface-UUS7NDHS.mjs.map +0 -7
- package/dist/lib/browser/repair-CJG26D52.mjs +0 -50
- package/dist/lib/browser/repair-CJG26D52.mjs.map +0 -7
- package/dist/lib/browser/settings-ZS2AQ73E.mjs.map +0 -7
- package/dist/lib/browser/spaces-ready-OQDGWUOS.mjs.map +0 -7
- package/dist/lib/browser/state-7YZQB2KY.mjs.map +0 -7
- package/dist/lib/node-esm/CollectionArticle-V5OOJVJJ.mjs.map +0 -7
- package/dist/lib/node-esm/ObjectCardStack-C5ZXRKP7.mjs +0 -149
- package/dist/lib/node-esm/ObjectCardStack-C5ZXRKP7.mjs.map +0 -7
- package/dist/lib/node-esm/ObjectDetails-6ZLDRKCO.mjs +0 -143
- package/dist/lib/node-esm/ObjectDetails-6ZLDRKCO.mjs.map +0 -7
- package/dist/lib/node-esm/RecordArticle-SSV74Z46.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-HZ3XXDFZ.mjs +0 -524
- package/dist/lib/node-esm/app-graph-builder-HZ3XXDFZ.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-WJ2TIQG6.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-2SW6S2BB.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-7KMYUWSR.mjs +0 -773
- package/dist/lib/node-esm/chunk-7KMYUWSR.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-CVXULIYC.mjs +0 -20
- package/dist/lib/node-esm/chunk-FYSBFBSD.mjs +0 -1899
- package/dist/lib/node-esm/chunk-FYSBFBSD.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-JOBIWCBC.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-MPL6NHQX.mjs.map +0 -7
- package/dist/lib/node-esm/identity-created-2SJABVJD.mjs.map +0 -7
- package/dist/lib/node-esm/operation-resolver-ZE3XJL5J.mjs.map +0 -7
- package/dist/lib/node-esm/react-root-Y6JTGDTW.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-SQ4SK3OK.mjs.map +0 -7
- package/dist/lib/node-esm/repair-G3ZW3VG3.mjs.map +0 -7
- package/dist/lib/node-esm/settings-PVI2VG56.mjs.map +0 -7
- package/dist/lib/node-esm/spaces-ready-R744OHQG.mjs.map +0 -7
- package/dist/lib/node-esm/state-XE5YGPHM.mjs.map +0 -7
- package/dist/types/src/components/AwaitingObject.d.ts.map +0 -1
- package/dist/types/src/components/CollectionArticle.d.ts +0 -9
- package/dist/types/src/components/CollectionArticle.d.ts.map +0 -1
- package/dist/types/src/components/CollectionSection.d.ts +0 -5
- package/dist/types/src/components/CollectionSection.d.ts.map +0 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +0 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +0 -1604
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +0 -1
- package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +0 -1
- package/dist/types/src/components/JoinDialog/index.d.ts +0 -2
- package/dist/types/src/components/JoinDialog/index.d.ts.map +0 -1
- package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +0 -1600
- package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts.map +0 -1
- package/dist/types/src/components/MembersContainer/index.d.ts +0 -2
- package/dist/types/src/components/MembersContainer/index.d.ts.map +0 -1
- package/dist/types/src/components/MenuFooter.d.ts.map +0 -1
- package/dist/types/src/components/ObjectCardStack/ObjectCardStack.d.ts.map +0 -1
- package/dist/types/src/components/ObjectCardStack/ObjectForm.d.ts.map +0 -1
- package/dist/types/src/components/ObjectDetails/ObjectDetails.d.ts.map +0 -1
- package/dist/types/src/components/ObjectRenamePopover/index.d.ts +0 -2
- package/dist/types/src/components/ObjectRenamePopover/index.d.ts.map +0 -1
- package/dist/types/src/components/RecordArticle.d.ts +0 -5
- package/dist/types/src/components/RecordArticle.d.ts.map +0 -1
- package/dist/types/src/components/RecordArticle.stories.d.ts +0 -1600
- package/dist/types/src/components/RecordArticle.stories.d.ts.map +0 -1
- package/dist/types/src/components/SchemaContainer.d.ts.map +0 -1
- package/dist/types/src/components/SpacePluginSettings.d.ts.map +0 -1
- package/dist/types/src/components/SpacePresence/index.d.ts +0 -2
- package/dist/types/src/components/SpacePresence/index.d.ts.map +0 -1
- package/dist/types/src/components/SpaceRenamePopover/index.d.ts +0 -2
- package/dist/types/src/components/SpaceRenamePopover/index.d.ts.map +0 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts +0 -7
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +0 -1
- package/dist/types/src/components/SpaceSettings/index.d.ts +0 -2
- package/dist/types/src/components/SpaceSettings/index.d.ts.map +0 -1
- package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +0 -1
- package/dist/types/src/components/ViewEditor.d.ts.map +0 -1
- package/src/components/CollectionArticle.tsx +0 -153
- package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +0 -91
- package/src/components/MembersContainer/MembersContainer.stories.tsx +0 -56
- package/src/components/MembersContainer/index.ts +0 -5
- package/src/components/ObjectCardStack/ObjectCardStack.tsx +0 -67
- package/src/components/ObjectDetails/ObjectDetails.tsx +0 -32
- package/src/components/ObjectRenamePopover/index.ts +0 -5
- package/src/components/RecordArticle.stories.tsx +0 -115
- package/src/components/SpacePluginSettings.tsx +0 -62
- package/src/components/SpacePresence/index.ts +0 -5
- package/src/components/SpaceRenamePopover/index.ts +0 -5
- package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +0 -220
- package/src/components/SpaceSettings/index.ts +0 -5
- package/src/util.tsx +0 -779
- /package/dist/lib/browser/{chunk-AWVAX26X.mjs.map → chunk-SSTUPFZ2.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-HREWB23G.mjs.map → chunk-XYLDAH5C.mjs.map} +0 -0
- /package/dist/types/src/components/{AwaitingObject.d.ts → AwaitingObject/AwaitingObject.d.ts} +0 -0
- /package/dist/types/src/components/{ObjectCardStack → ObjectForm}/ObjectForm.d.ts +0 -0
- /package/dist/types/src/{components/CreateDialog → containers/CreateSpaceDialog}/CreateSpaceDialog.d.ts +0 -0
- /package/dist/types/src/{components/SyncStatus → containers/InlineSyncStatus}/InlineSyncStatus.d.ts +0 -0
- /package/dist/types/src/{components → containers}/JoinDialog/JoinDialog.d.ts +0 -0
- /package/dist/types/src/{components → containers}/MembersContainer/MembersContainer.d.ts +0 -0
- /package/dist/types/src/{components → containers/MenuFooter}/MenuFooter.d.ts +0 -0
- /package/dist/types/src/{components → containers}/ObjectCardStack/index.d.ts +0 -0
- /package/dist/types/src/{components → containers}/ObjectRenamePopover/ObjectRenamePopover.d.ts +0 -0
- /package/dist/types/src/{components → containers/SchemaContainer}/SchemaContainer.d.ts +0 -0
- /package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.d.ts +0 -0
- /package/dist/types/src/{components → containers}/SpaceRenamePopover/SpaceRenamePopover.d.ts +0 -0
- /package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.d.ts +0 -0
- /package/src/{components → containers}/ObjectCardStack/index.ts +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/components/AwaitingObject.tsx", "../../../src/components/CreateDialog/CreateObjectDialog.tsx", "../../../src/components/CreateDialog/CreateObjectPanel.tsx", "../../../src/components/CreateDialog/CreateSpaceDialog.tsx", "../../../src/components/CollectionSection.tsx", "../../../src/components/JoinDialog/JoinDialog.tsx", "../../../src/components/MembersContainer/MembersContainer.tsx", "../../../src/components/MenuFooter.tsx", "../../../src/components/ObjectRenamePopover/ObjectRenamePopover.tsx", "../../../src/components/SchemaContainer.tsx", "../../../src/components/SpacePluginSettings.tsx", "../../../src/components/SpacePresence/SpacePresence.tsx", "../../../src/components/SpaceRenamePopover/SpaceRenamePopover.tsx", "../../../src/components/SpaceSettings/SpaceSettingsContainer.tsx", "../../../src/components/SyncStatus/InlineSyncStatus.tsx", "../../../src/components/SyncStatus/SyncStatus.tsx", "../../../src/components/SyncStatus/save-tracker.ts", "../../../src/components/SyncStatus/status.ts", "../../../src/helpers/query.ts", "../../../src/components/ViewEditor.tsx", "../../../src/components/index.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport { Common } from '@dxos/app-framework';\nimport { useLayout, useOperationInvoker } from '@dxos/app-framework/react';\nimport { Obj } from '@dxos/echo';\nimport { useClient } from '@dxos/react-client';\nimport { Filter, useQuery } from '@dxos/react-client/echo';\nimport { Button, Icon, Toast, useTranslation } from '@dxos/react-ui';\nimport { osTranslations } from '@dxos/ui-theme';\n\nimport { meta } from '../meta';\nimport { SpaceOperation } from '../types';\n\nconst WAIT_FOR_OBJECT_TIMEOUT = 3 * 60 * 1_000;\nconst TOAST_TIMEOUT = 4 * 60 * 1_000;\n\nexport const AwaitingObject = ({ id }: { id: string }) => {\n const { t } = useTranslation(meta.id);\n const { invokePromise } = useOperationInvoker();\n const [open, setOpen] = useState(true);\n const [waiting, setWaiting] = useState(true);\n const [found, setFound] = useState(false);\n const layout = useLayout();\n\n const client = useClient();\n const objects = useQuery(client.spaces, Filter.everything());\n\n useEffect(() => {\n if (!id) {\n return;\n }\n\n const timeout = setTimeout(() => setWaiting(false), WAIT_FOR_OBJECT_TIMEOUT);\n return () => clearTimeout(timeout);\n }, [id]);\n\n useEffect(() => {\n if (objects.findIndex((object) => Obj.getDXN(object).toString() === id) > -1) {\n setFound(true);\n if (layout.active.includes(id)) {\n setOpen(false);\n }\n }\n }, [id, objects, layout]);\n\n const handleClose = useCallback(\n async () => invokePromise(SpaceOperation.WaitForObject, { id: undefined }),\n [invokePromise],\n );\n\n const handleNavigate = useCallback(() => {\n void invokePromise(Common.LayoutOperation.Open, { subject: [id] });\n void handleClose();\n }, [id, handleClose, invokePromise]);\n\n return (\n <Toast.Root open={open} duration={TOAST_TIMEOUT} onOpenChange={setOpen}>\n <Toast.Body>\n <Toast.Title classNames='flex items-center gap-2'>\n {found ? (\n <>\n <Icon icon='ph--check-circle--regular' size={5} />\n <span>{t('found object label')}</span>\n </>\n ) : waiting ? (\n <>\n <Icon icon='ph--circle-notch--regular' size={5} classNames='animate-spin' />\n <span>{t('waiting for object label')}</span>\n </>\n ) : (\n <>\n <Icon icon='ph--circle-dashed--regular' size={5} />\n <span>{t('object not found label')}</span>\n </>\n )}\n </Toast.Title>\n <Toast.Description>\n {t(\n found\n ? 'found object description'\n : waiting\n ? 'waiting for object description'\n : 'object not found description',\n )}\n </Toast.Description>\n </Toast.Body>\n <Toast.Actions>\n {found ? (\n <>\n <Toast.Action altText={t('go to object alt')} asChild>\n <Button variant='primary' onClick={handleNavigate}>\n {t('go to object label')}\n </Button>\n </Toast.Action>\n <Toast.Close asChild>\n <Button onClick={handleClose}>{t('close label', { ns: osTranslations })}</Button>\n </Toast.Close>\n </>\n ) : (\n <Toast.Close asChild>\n <Button onClick={handleClose}>\n {t(waiting ? 'close label' : 'confirm label', { ns: osTranslations })}\n </Button>\n </Toast.Close>\n )}\n </Toast.Actions>\n </Toast.Root>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React, { useCallback, useMemo, useRef, useState } from 'react';\n\nimport { Capability, Common } from '@dxos/app-framework';\nimport { useOperationInvoker, usePluginManager } from '@dxos/app-framework/react';\nimport { Database, Obj, Type } from '@dxos/echo';\nimport { EntityKind, getTypeAnnotation } from '@dxos/echo/internal';\nimport { runAndForwardErrors } from '@dxos/effect';\nimport { invariant } from '@dxos/invariant';\nimport { Operation } from '@dxos/operation';\nimport { useClient } from '@dxos/react-client';\nimport { useSpaces } from '@dxos/react-client/echo';\nimport { Dialog, useTranslation } from '@dxos/react-ui';\nimport { type Collection } from '@dxos/schema';\n\nimport { meta } from '../../meta';\nimport { SpaceOperation } from '../../types';\n\nimport { CreateObjectPanel, type CreateObjectPanelProps, type Metadata } from './CreateObjectPanel';\n\nexport const CREATE_OBJECT_DIALOG = `${meta.id}/CreateObjectDialog`;\n\nexport type CreateObjectDialogProps = Pick<\n CreateObjectPanelProps,\n 'target' | 'views' | 'typename' | 'initialFormValues'\n> & {\n onCreateObject?: (object: Obj.Unknown) => void;\n shouldNavigate?: (object: Obj.Unknown) => boolean;\n};\n\nexport const CreateObjectDialog = ({\n target: initialTarget,\n typename: initialTypename,\n views,\n initialFormValues,\n onCreateObject,\n shouldNavigate: _shouldNavigate,\n}: CreateObjectDialogProps) => {\n const manager = usePluginManager();\n const { t } = useTranslation(meta.id);\n const operationInvoker = useOperationInvoker();\n const [target, setTarget] = useState<Database.Database | Collection.Collection | undefined>(initialTarget);\n const [typename, setTypename] = useState<string | undefined>(initialTypename);\n const client = useClient();\n const spaces = useSpaces();\n const closeRef = useRef<HTMLButtonElement | null>(null);\n\n const resolve = useCallback<NonNullable<CreateObjectPanelProps['resolve']>>(\n (typename) => {\n const metadata = manager.capabilities\n .getAll(Common.Capability.Metadata)\n .find(({ id }) => id === typename)?.metadata;\n return metadata?.createObject ? (metadata as Metadata) : undefined;\n },\n [manager],\n );\n\n const db = Database.isDatabase(target) ? target : target && Obj.getDatabase(target);\n // TODO(wittjosiah): Support database schemas.\n const schemas = db?.schemaRegistry.query({ location: ['runtime'], includeSystem: false }).runSync();\n const userSchemas = useMemo(\n () =>\n schemas\n ?.filter((schema) => getTypeAnnotation(schema)?.kind !== EntityKind.Relation)\n .filter((schema) => !!resolve(Type.getTypename(schema))) ?? [],\n [schemas],\n );\n\n const handleCreateObject = useCallback<NonNullable<CreateObjectPanelProps['onCreateObject']>>(\n ({ metadata, data = {} }) =>\n Effect.gen(function* () {\n if (!target) {\n // TODO(wittjosiah): UI feedback.\n return;\n }\n\n // NOTE: Must close before navigating or attention won't follow object.\n closeRef.current?.click();\n\n const db = Database.isDatabase(target) ? target : target && Obj.getDatabase(target);\n invariant(db, 'Missing database');\n const object = yield* metadata.createObject(data, { db });\n if (Obj.isObject(object) && !Obj.instanceOf(Type.PersistentType, object)) {\n // TODO(wittjosiah): Selection in navtree isn't working as expected when hidden typenames evals to true.\n const hidden = !metadata.addToCollectionOnCreate;\n yield* operationInvoker.invoke(SpaceOperation.AddObject, {\n target,\n object,\n hidden,\n });\n const shouldNavigate = _shouldNavigate ?? (() => true);\n if (shouldNavigate(object)) {\n yield* Effect.promise(() =>\n operationInvoker.invokePromise(Common.LayoutOperation.Open, {\n subject: [Obj.getDXN(object).toString()],\n }),\n );\n }\n\n onCreateObject?.(object);\n }\n }).pipe(\n Effect.provideService(Capability.Service, manager.capabilities),\n Effect.provideService(Operation.Service, operationInvoker),\n runAndForwardErrors,\n ),\n [target, _shouldNavigate, onCreateObject, manager.capabilities, operationInvoker],\n );\n\n return (\n <Dialog.Content>\n <Dialog.Header>\n <Dialog.Title>\n {t('create object dialog title', {\n object: t('typename label', {\n ns: typename,\n defaultValue: views ? 'View' : 'Object',\n }),\n })}\n </Dialog.Title>\n <Dialog.Close asChild>\n <Dialog.CloseIconButton ref={closeRef} />\n </Dialog.Close>\n </Dialog.Header>\n <CreateObjectPanel\n schemas={userSchemas}\n spaces={spaces}\n target={target}\n views={views}\n typename={typename}\n initialFormValues={initialFormValues}\n defaultSpaceId={client.spaces.default.id}\n resolve={resolve}\n onTargetChange={setTarget}\n onTypenameChange={setTypename}\n onCreateObject={handleCreateObject}\n />\n </Dialog.Content>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Option from 'effect/Option';\nimport type * as Schema from 'effect/Schema';\nimport React, { useCallback, useMemo } from 'react';\n\nimport { type Database, Obj } from '@dxos/echo';\nimport { type AnyProperties, type TypeAnnotation, getTypeAnnotation } from '@dxos/echo/internal';\nimport { type Space, type SpaceId } from '@dxos/react-client/echo';\nimport { toLocalizedString, useDefaultValue, useTranslation } from '@dxos/react-ui';\nimport { Form, omitId } from '@dxos/react-ui-form';\nimport { SearchList, useSearchListResults } from '@dxos/react-ui-searchlist';\nimport { type Collection, ViewAnnotation } from '@dxos/schema';\nimport { type MaybePromise, isNonNullable } from '@dxos/util';\n\nimport { useInputSurfaceLookup } from '../../hooks';\nimport { meta } from '../../meta';\nimport { type CreateObject } from '../../types';\nimport { getSpaceDisplayName } from '../../util';\n\nexport type Metadata = {\n createObject: CreateObject;\n inputSchema?: Schema.Schema.AnyNoContext;\n addToCollectionOnCreate?: boolean;\n icon?: string;\n};\n\nexport type CreateObjectPanelProps = {\n schemas: Schema.Schema.AnyNoContext[];\n spaces: Space[];\n typename?: string;\n target?: Database.Database | Collection.Collection;\n views?: boolean;\n initialFormValues?: Partial<AnyProperties>;\n defaultSpaceId?: SpaceId;\n resolve?: (typename: string) => Metadata | undefined;\n onTargetChange?: (target: Database.Database) => void;\n onTypenameChange?: (typename: string) => void;\n onCreateObject?: (params: { metadata: Metadata; data?: Record<string, any> }) => MaybePromise<void>;\n};\n\nexport const CreateObjectPanel = ({\n schemas,\n spaces,\n typename,\n target,\n views,\n initialFormValues: _initialFormValues,\n defaultSpaceId,\n resolve,\n onTargetChange,\n onTypenameChange,\n onCreateObject,\n}: CreateObjectPanelProps) => {\n const { t } = useTranslation(meta.id);\n const initialFormValues = useDefaultValue(_initialFormValues, () => ({}));\n const metadata = typename && resolve?.(typename);\n const options: TypeAnnotation[] = schemas\n .filter((schema) => {\n if (views == null) {\n return true;\n } else {\n return views === ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false));\n }\n })\n .map((schema) => getTypeAnnotation(schema))\n .filter(isNonNullable)\n .sort((a, b) => {\n const nameA = t('typename label', {\n ns: a.typename,\n defaultValue: a.typename,\n });\n const nameB = t('typename label', {\n ns: b.typename,\n defaultValue: b.typename,\n });\n return nameA.localeCompare(nameB);\n });\n\n const handleCreateObject = useCallback(\n async (props: Record<string, any>) => {\n if (!metadata) {\n return;\n }\n await onCreateObject?.({ metadata, data: props });\n },\n [onCreateObject, metadata],\n );\n\n const handleSetTypename = useCallback(\n async (typename: string) => {\n const metadata = resolve?.(typename);\n if (metadata && !metadata.inputSchema) {\n await onCreateObject?.({ metadata });\n } else {\n onTypenameChange?.(typename);\n }\n },\n [resolve, onCreateObject],\n );\n\n const inputSurfaceLookup = useInputSurfaceLookup({ target });\n\n // TODO(wittjosiah): These inputs should be rolled into a `Form` once it supports the necessary variants.\n return !metadata ? (\n <SelectSchema options={options} resolve={resolve} onChange={handleSetTypename} />\n ) : !target ? (\n <SelectSpace spaces={spaces} defaultSpaceId={defaultSpaceId} onChange={onTargetChange} />\n ) : metadata.inputSchema ? (\n <Form.Root\n testId='create-object-form'\n autoFocus\n schema={omitId(metadata.inputSchema)}\n values={initialFormValues}\n db={Obj.isObject(target) ? Obj.getDatabase(target) : target}\n fieldProvider={inputSurfaceLookup}\n onSave={handleCreateObject}\n >\n <Form.Viewport>\n <Form.Content>\n <Form.FieldSet />\n <Form.Submit />\n </Form.Content>\n </Form.Viewport>\n </Form.Root>\n ) : null;\n};\n\nconst SelectSpace = ({\n spaces,\n defaultSpaceId,\n onChange,\n}: { onChange?: (db: Database.Database) => void } & Pick<CreateObjectPanelProps, 'spaces' | 'defaultSpaceId'>) => {\n const { t } = useTranslation(meta.id);\n\n const sortedSpaces = useMemo(\n () =>\n [...spaces].sort((a, b) => {\n const labelA = toLocalizedString(\n getSpaceDisplayName(a, {\n personal: a.id === defaultSpaceId,\n }),\n t,\n );\n const labelB = toLocalizedString(\n getSpaceDisplayName(b, {\n personal: b.id === defaultSpaceId,\n }),\n t,\n );\n return labelA.localeCompare(labelB);\n }),\n [spaces, defaultSpaceId, t],\n );\n\n const { results, handleSearch } = useSearchListResults({\n items: sortedSpaces,\n extract: (space) =>\n toLocalizedString(\n getSpaceDisplayName(space, {\n personal: space.id === defaultSpaceId,\n }),\n t,\n ),\n });\n\n return (\n <SearchList.Root onSearch={handleSearch}>\n <div aria-label={t('space input label')} role='combobox' aria-expanded='true'>\n <SearchList.Input\n autoFocus\n data-testid='create-object-form.space-input'\n placeholder={t('space input placeholder')}\n />\n <SearchList.Content>\n <SearchList.Viewport>\n {results.map((space) => (\n <SearchList.Item\n key={space.id}\n value={space.id}\n label={toLocalizedString(\n getSpaceDisplayName(space, {\n personal: space.id === defaultSpaceId,\n }),\n t,\n )}\n onSelect={() => onChange?.(space.db)}\n classNames='flex items-center gap-2'\n />\n ))}\n </SearchList.Viewport>\n </SearchList.Content>\n </div>\n </SearchList.Root>\n );\n};\n\nconst SelectSchema = ({\n options,\n resolve,\n onChange,\n}: {\n options: TypeAnnotation[];\n onChange: (type: string) => void;\n} & Pick<CreateObjectPanelProps, 'resolve'>) => {\n const { t } = useTranslation(meta.id);\n\n const { results, handleSearch } = useSearchListResults({\n items: options,\n extract: (option) =>\n t('typename label', {\n ns: option.typename,\n defaultValue: option.typename,\n }),\n });\n\n return (\n <SearchList.Root onSearch={handleSearch}>\n <div aria-label={t('schema input label')} role='combobox' aria-expanded='true'>\n <SearchList.Input\n autoFocus\n data-testid='create-object-form.schema-input'\n placeholder={t('schema input placeholder')}\n />\n <SearchList.Content>\n <SearchList.Viewport>\n {results.map((option) => (\n <SearchList.Item\n key={option.typename}\n value={option.typename}\n label={t('typename label', {\n ns: option.typename,\n defaultValue: option.typename,\n })}\n icon={resolve?.(option.typename)?.icon ?? 'ph--placeholder--regular'}\n onSelect={() => onChange(option.typename)}\n classNames='flex items-center gap-2'\n />\n ))}\n </SearchList.Viewport>\n </SearchList.Content>\n </div>\n </SearchList.Root>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport type * as Schema from 'effect/Schema';\nimport React, { useCallback, useRef } from 'react';\n\nimport { Common } from '@dxos/app-framework';\nimport { useOperationInvoker } from '@dxos/app-framework/react';\nimport { runAndForwardErrors } from '@dxos/effect';\nimport { Dialog, useTranslation } from '@dxos/react-ui';\nimport { Form } from '@dxos/react-ui-form';\n\nimport { useInputSurfaceLookup } from '../../hooks';\nimport { meta } from '../../meta';\nimport { SpaceForm, SpaceOperation } from '../../types';\n\nexport const CREATE_SPACE_DIALOG = `${meta.id}/CreateSpaceDialog`;\n\ntype FormValues = Schema.Schema.Type<typeof SpaceForm>;\nconst initialValues: FormValues = { edgeReplication: true };\n\nexport const CreateSpaceDialog = () => {\n const closeRef = useRef<HTMLButtonElement | null>(null);\n const { t } = useTranslation(meta.id);\n const { invokePromise } = useOperationInvoker();\n\n const inputSurfaceLookup = useInputSurfaceLookup();\n\n const handleCreateSpace = useCallback(\n async (data: FormValues) => {\n const program = Effect.gen(function* () {\n const { data: result } = yield* Effect.promise(() => invokePromise(SpaceOperation.Create, data));\n if (result?.space) {\n yield* Effect.promise(() =>\n invokePromise(Common.LayoutOperation.SwitchWorkspace, { subject: result.space.id }),\n );\n yield* Effect.promise(() => invokePromise(Common.LayoutOperation.UpdateDialog, { state: false }));\n }\n });\n await runAndForwardErrors(program);\n },\n [invokePromise],\n );\n\n return (\n <Dialog.Content>\n <Dialog.Header>\n <Dialog.Title>{t('create space dialog title')}</Dialog.Title>\n <Dialog.Close asChild>\n <Dialog.CloseIconButton ref={closeRef} />\n </Dialog.Close>\n </Dialog.Header>\n <Form.Root\n testId='create-space-form'\n autoFocus\n schema={SpaceForm}\n values={initialValues}\n fieldProvider={inputSurfaceLookup}\n onSave={handleCreateSpace}\n >\n <Form.Viewport>\n <Form.Content>\n <Form.FieldSet />\n <Form.Submit />\n </Form.Content>\n </Form.Viewport>\n </Form.Root>\n </Dialog.Content>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type SurfaceComponentProps } from '@dxos/app-framework/react';\nimport { useTranslation } from '@dxos/react-ui';\nimport { type Collection } from '@dxos/schema';\n\nimport { meta } from '../meta';\n\nexport const CollectionSection = ({ role, subject }: SurfaceComponentProps<Collection.Collection>) => {\n const { t } = useTranslation(meta.id);\n\n // TODO(wittjosiah): Better placeholder.\n return (\n <div role={role} className='min-bs-[3.5rem] grid grid-rows-subgrid grid-cols-subgrid items-center'>\n <span className='truncate'>{subject.name ?? t('unnamed collection label')}</span>\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { Common } from '@dxos/app-framework';\nimport { useAppGraph, useOperationInvoker } from '@dxos/app-framework/react';\nimport { Trigger } from '@dxos/async';\nimport { Graph } from '@dxos/plugin-graph';\nimport { ObservabilityOperation } from '@dxos/plugin-observability/types';\nimport { useClient } from '@dxos/react-client';\nimport { type Space } from '@dxos/react-client/echo';\nimport { type InvitationResult } from '@dxos/react-client/invitations';\nimport { Dialog, useTranslation } from '@dxos/react-ui';\nimport { JoinPanel, type JoinPanelProps } from '@dxos/shell/react';\nimport { osTranslations } from '@dxos/ui-theme';\n\nimport { meta } from '../../meta';\n\nexport const JOIN_DIALOG = `${meta.id}/JoinDialog`;\n\nexport type JoinDialogProps = JoinPanelProps & {\n navigableCollections?: boolean;\n};\n\nexport const JoinDialog = ({ navigableCollections, onDone, ...props }: JoinDialogProps) => {\n const { invokePromise } = useOperationInvoker();\n const client = useClient();\n const { graph } = useAppGraph();\n const { t } = useTranslation(meta.id);\n\n const handleDone = useCallback(\n async (result: InvitationResult | null) => {\n const spaceKey = result?.spaceKey;\n if (!spaceKey) {\n return;\n }\n\n await Promise.all([\n invokePromise(Common.LayoutOperation.AddToast, {\n id: `${meta.id}/join-success`,\n duration: 5_000,\n title: ['join success label', { ns: meta.id }],\n closeLabel: ['dismiss label', { ns: meta.id }],\n }),\n invokePromise(Common.LayoutOperation.UpdateDialog, { state: false }),\n ]);\n\n let space = client.spaces.get(spaceKey);\n if (!space) {\n // TODO(wittjosiah): Add api to wait for a space.\n const trigger = new Trigger<Space>();\n client.spaces.subscribe(() => {\n const space = client.spaces.get(spaceKey);\n if (space) {\n trigger.wake(space);\n }\n });\n space = await trigger.wait();\n }\n\n await invokePromise(Common.LayoutOperation.SwitchWorkspace, { subject: space.id });\n\n // TODO(wittjosiah): If navigableCollections is false and there's no target,\n // should try to navigate to the first object of the space replicates.\n // Potentially this could also be done on the inviters side to ensure there's always a target.\n const target = result?.target || (navigableCollections ? space?.id : undefined);\n if (target) {\n // Wait before navigating to the target node.\n // If the target has not yet replicated, this will trigger a loading toast.\n await Graph.waitForPath(graph, { target }).catch(() => {});\n await Promise.all([\n invokePromise(Common.LayoutOperation.Open, { subject: [target] }),\n invokePromise(Common.LayoutOperation.Expose, { subject: target }),\n ]);\n }\n\n await onDone?.(result);\n\n if (space) {\n await invokePromise(ObservabilityOperation.SendEvent, {\n name: 'space.join',\n properties: {\n spaceId: space.id,\n },\n });\n }\n },\n [invokePromise, client, graph, navigableCollections, onDone],\n );\n\n return (\n <Dialog.Content>\n <Dialog.Title classNames='sr-only'>{t('join space label', { ns: osTranslations })}</Dialog.Title>\n <JoinPanel\n {...props}\n exitActionParent={<Dialog.Close asChild />}\n doneActionParent={<Dialog.Close asChild />}\n onDone={handleDone}\n />\n </Dialog.Content>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { type Dispatch, type SetStateAction, useCallback, useMemo, useState } from 'react';\nimport { QR } from 'react-qr-rounded';\n\nimport { useOperationInvoker } from '@dxos/app-framework/react';\nimport { Obj } from '@dxos/echo';\nimport { log } from '@dxos/log';\nimport { useConfig } from '@dxos/react-client';\nimport { type Space, useSpaceInvitations } from '@dxos/react-client/echo';\nimport { type CancellableInvitationObservable, Invitation, InvitationEncoder } from '@dxos/react-client/invitations';\nimport { Button, Clipboard, Icon, Input, useId, useTranslation } from '@dxos/react-ui';\nimport { ControlFrame, ControlFrameItem, ControlItemInput, ControlPage, ControlSection } from '@dxos/react-ui-form';\nimport { Layout } from '@dxos/react-ui-mosaic';\nimport { Collection } from '@dxos/schema';\nimport {\n type ActionMenuItem,\n AuthCode,\n BifurcatedAction,\n Centered,\n Emoji,\n InvitationList,\n SpaceMemberList,\n Viewport,\n translationKey as shellTranslationKey,\n} from '@dxos/shell/react';\nimport { hexToEmoji } from '@dxos/util';\n\nimport { meta } from '../../meta';\nimport { SpaceOperation } from '../../types';\nimport { COMPOSER_SPACE_LOCK } from '../../util';\n\n// TODO(wittjosiah): Copied from Shell.\nconst activeActionKey = 'dxos:react-shell/space-manager/active-action';\n\nconst handleInvitationEvent = (invitation: Invitation, subscription: ZenObservable.Subscription) => {\n const invitationCode = InvitationEncoder.encode(invitation);\n if (invitation.state === Invitation.State.CONNECTING) {\n log.info(JSON.stringify({ invitationCode, authCode: invitation.authCode }));\n subscription.unsubscribe();\n }\n};\n\nexport type MembersContainerProps = {\n space: Space;\n createInvitationUrl: (invitationCode: string) => string;\n};\n\nexport const MembersContainer = ({ space, createInvitationUrl }: MembersContainerProps) => {\n const { t } = useTranslation(meta.id);\n const config = useConfig();\n const { invokePromise } = useOperationInvoker();\n const invitations = useSpaceInvitations(space.key);\n const visibleInvitations = invitations?.filter(\n (invitation) => ![Invitation.State.CANCELLED].includes(invitation.get().state),\n );\n\n const [activeAction, setInternalActiveAction] = useState(localStorage.getItem(activeActionKey) ?? 'inviteMany');\n\n const setActiveAction = (nextAction: string) => {\n setInternalActiveAction(nextAction);\n localStorage.setItem(activeActionKey, nextAction);\n };\n\n // TODO(wittjosiah): Track which was the most recently viewed object.\n const target = space.properties[Collection.Collection.typename]?.target?.objects[0]?.target;\n\n const locked = space.properties[COMPOSER_SPACE_LOCK];\n const handleChangeLocked = useCallback(() => {\n Obj.change(space.properties, (p) => {\n p[COMPOSER_SPACE_LOCK] = !locked;\n });\n }, [locked, space]);\n\n const inviteActions = useMemo(\n (): Record<string, ActionMenuItem> => ({\n inviteOne: {\n label: t('invite one label', { ns: shellTranslationKey }),\n description: t('invite one description', { ns: shellTranslationKey }),\n icon: 'ph--user-plus--regular',\n testId: 'membersContainer.inviteOne',\n onClick: async () => {\n const { data: invitation } = await invokePromise(SpaceOperation.Share, {\n space,\n type: Invitation.Type.INTERACTIVE,\n authMethod: Invitation.AuthMethod.SHARED_SECRET,\n multiUse: false,\n target: target && Obj.getDXN(target).toString(),\n });\n if (invitation && config.values.runtime?.app?.env?.DX_ENVIRONMENT !== 'production') {\n const subscription: ZenObservable.Subscription = (invitation as CancellableInvitationObservable).subscribe(\n (invitation: Invitation) => handleInvitationEvent(invitation, subscription),\n );\n }\n },\n },\n inviteMany: {\n label: t('invite many label', { ns: shellTranslationKey }),\n description: t('invite many description', { ns: shellTranslationKey }),\n icon: 'ph--users-three--regular',\n testId: 'membersContainer.inviteMany',\n onClick: async () => {\n const { data: invitation } = await invokePromise(SpaceOperation.Share, {\n space,\n type: Invitation.Type.DELEGATED,\n authMethod: Invitation.AuthMethod.KNOWN_PUBLIC_KEY,\n multiUse: true,\n target: target && Obj.getDXN(target).toString(),\n });\n if (invitation && config.values.runtime?.app?.env?.DX_ENVIRONMENT !== 'production') {\n const subscription: ZenObservable.Subscription = (invitation as CancellableInvitationObservable).subscribe(\n (invitation: Invitation) => handleInvitationEvent(invitation, subscription),\n );\n }\n },\n },\n }),\n [t, space, target, invokePromise],\n );\n\n const [selectedInvitation, setSelectedInvitation] = useState<CancellableInvitationObservable | null>(null);\n const handleSend = (event: { type: 'selectInvitation'; invitation: CancellableInvitationObservable }) => {\n setSelectedInvitation(event.invitation);\n };\n const handleBack = () => {\n setSelectedInvitation(null);\n };\n\n return (\n <Clipboard.Provider>\n <Layout.Container scrollable>\n <ControlPage>\n <ControlSection title={t('members verbose label')} description={t('members description')}>\n <ControlFrame>\n <ControlFrameItem title={t('members label')}>\n <SpaceMemberList spaceKey={space.key} includeSelf />\n </ControlFrameItem>\n {locked && (\n <ControlFrameItem title={t('invitations label')}>\n <p className='text-description mbe-2'>{t('locked space description')}</p>\n </ControlFrameItem>\n )}\n {!locked && (\n <ControlFrameItem title={t('invitations label')}>\n {selectedInvitation && <InvitationSection {...selectedInvitation} onBack={handleBack} />}\n {!selectedInvitation && (\n <>\n <p className='text-description mbe-2'>{t('space invitation description')}</p>\n <InvitationList\n className='mb-2'\n send={handleSend}\n invitations={visibleInvitations ?? []}\n onClickRemove={(invitation) => invitation.cancel()}\n createInvitationUrl={createInvitationUrl}\n />\n <BifurcatedAction\n actions={inviteActions}\n activeAction={activeAction}\n onChangeActiveAction={setActiveAction as Dispatch<SetStateAction<string>>}\n data-testid='membersContainer.createInvitation'\n />\n </>\n )}\n </ControlFrameItem>\n )}\n </ControlFrame>\n {/* TODO(wittjosiah): Make ControlItemInput & ControlFrame compatible. */}\n <div className='justify-center p-0 mbs-4 container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content]'>\n <ControlItemInput title={t('space locked label')} description={t('space locked description')}>\n <Input.Switch checked={locked} onCheckedChange={handleChangeLocked} classNames='justify-self-end' />\n </ControlItemInput>\n </div>\n </ControlSection>\n </ControlPage>\n </Layout.Container>\n </Clipboard.Provider>\n );\n};\n\n// TODO(wittjosiah): Reconcile the below components with DevicesContainer in @dxos/plugin-client.\n\ntype InvitationComponentProps = Partial<\n Pick<Invitation, 'authCode' | 'invitationId'> & {\n state: Invitation.State;\n url: string;\n onBack: () => void;\n }\n>;\n\nconst InvitationSection = ({\n state = Invitation.State.INIT,\n authCode,\n invitationId = 'never',\n url = 'never',\n onBack,\n}: InvitationComponentProps) => {\n const activeView =\n state < 0\n ? 'init'\n : state >= Invitation.State.CANCELLED\n ? 'complete'\n : state >= Invitation.State.READY_FOR_AUTHENTICATION && authCode\n ? 'auth-code'\n : 'qr-code';\n return (\n <Viewport.Root activeView={activeView}>\n <Viewport.Views>\n <Viewport.View id='init'>\n {/* This view intentionally left blank while conditionally rendering the viewport. */}\n </Viewport.View>\n <Viewport.View id='complete'>\n <InvitationComplete statusValue={state} />\n </Viewport.View>\n <Viewport.View id='auth-code'>\n <InvitationAuthCode id={invitationId} code={authCode ?? 'never'} onCancel={onBack} />\n </Viewport.View>\n <Viewport.View id='qr-code'>\n <InvitationQR id={invitationId} url={url} onCancel={onBack} />\n </Viewport.View>\n </Viewport.Views>\n </Viewport.Root>\n );\n};\n\nconst InvitationQR = ({ id, url, onCancel }: { id: string; url: string; onCancel?: () => void }) => {\n const { t } = useTranslation(shellTranslationKey);\n const qrLabel = useId('members-container__qr-code');\n const emoji = hexToEmoji(id);\n return (\n <>\n <p className='text-description'>{t('qr code description', { ns: meta.id })}</p>\n <div role='group' className='grid grid-cols-[1fr_min-content] mlb-2 gap-2'>\n <div role='none' className='is-full aspect-square relative text-description'>\n <QR\n rounding={100}\n backgroundColor='transparent'\n color='currentColor'\n aria-labelledby={qrLabel}\n errorCorrectionLevel='Q'\n cutout={true}\n >\n {url ?? 'never'}\n </QR>\n <Centered>\n <Emoji text={emoji} />\n </Centered>\n </div>\n <span id={qrLabel} className='sr-only'>\n {t('qr label')}\n </span>\n <Clipboard.Button value={url ?? 'never'} />\n </div>\n <Button variant='ghost' onClick={onCancel}>\n {t('cancel label')}\n </Button>\n </>\n );\n};\n\nconst InvitationAuthCode = ({ id, code, onCancel }: { id: string; code: string; onCancel?: () => void }) => {\n const { t } = useTranslation(shellTranslationKey);\n const emoji = hexToEmoji(id);\n\n return (\n <>\n <p className='text-description'>{t('auth other device emoji message')}</p>\n {emoji && <Emoji text={emoji} className='mli-auto mlb-2 text-center' />}\n <p className='text-description'>{t('auth code message')}</p>\n <AuthCode code={code} large classNames='mli-auto mlb-2 text-center grow' />\n <Button variant='ghost' onClick={onCancel}>\n {t('cancel label')}\n </Button>\n </>\n );\n};\n\nconst InvitationComplete = ({ statusValue }: { statusValue: number }) => {\n return statusValue > 0 ? (\n <Icon icon='ph--check--regular' size={6} classNames='m-1.5' />\n ) : (\n <Icon icon='ph--x--regular' size={6} classNames='m-1.5' />\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { getSpace } from '@dxos/client/echo';\nimport { type Obj } from '@dxos/echo';\nimport { useClient } from '@dxos/react-client';\nimport { DropdownMenu, Icon, toLocalizedString, useTranslation } from '@dxos/react-ui';\n\nimport { meta } from '../meta';\nimport { getSpaceDisplayName } from '../util';\n\nexport const MenuFooter = ({ object }: { object: Obj.Unknown }) => {\n const { t } = useTranslation(meta.id);\n const client = useClient();\n const space = getSpace(object);\n const spaceName = space ? getSpaceDisplayName(space, { personal: client.spaces.default === space }) : '';\n return space ? (\n <>\n <DropdownMenu.Separator />\n <DropdownMenu.GroupLabel>{t('menu footer label')}</DropdownMenu.GroupLabel>\n <dl className='pis-2 mbe-2 text-xs grid grid-cols-[max-content_1fr] gap-2'>\n <dt className='uppercase text-[.75em] tracking-wide font-medium mbs-px self-start'>{t('location label')}</dt>\n <dd className='line-clamp-3'>\n <Icon icon='ph--planet--regular' classNames='inline-block mie-1' />\n {toLocalizedString(spaceName, t)}\n </dd>\n </dl>\n </>\n ) : null;\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useCallback, useRef, useState } from 'react';\n\nimport { Common } from '@dxos/app-framework';\nimport { useOperationInvoker } from '@dxos/app-framework/react';\nimport { Obj } from '@dxos/echo';\nimport { log } from '@dxos/log';\nimport { Button, Input, useTranslation } from '@dxos/react-ui';\nimport { osTranslations } from '@dxos/ui-theme';\n\nimport { meta } from '../../meta';\n\nexport const OBJECT_RENAME_POPOVER = `${meta.id}/ObjectRenamePopover`;\n\nexport const ObjectRenamePopover = ({ object }: { object: Obj.Unknown }) => {\n const { t } = useTranslation(meta.id);\n const doneButton = useRef<HTMLButtonElement>(null);\n const [name, setName] = useState(Obj.getLabel(object));\n const { invokePromise } = useOperationInvoker();\n\n const handleDone = useCallback(() => {\n try {\n name && Obj.change(object, () => Obj.setLabel(object, name));\n } catch (err) {\n log.error('Failed to rename object', { err });\n }\n void invokePromise(Common.LayoutOperation.UpdatePopover, { anchorId: '', state: false });\n }, [object, name, invokePromise]);\n\n return (\n <div role='none' className='p-2 flex gap-2'>\n <div role='none' className='flex-1'>\n <Input.Root>\n <Input.Label srOnly>{t('object name label')}</Input.Label>\n <Input.TextInput\n placeholder={t('object placeholder')}\n value={name}\n data-testid='spacePlugin.renameObject.input'\n onChange={({ target: { value } }) => setName(value)}\n onKeyDown={({ key }) => key === 'Enter' && doneButton.current?.click()}\n />\n </Input.Root>\n </div>\n <Button ref={doneButton} classNames='self-stretch' onClick={handleDone}>\n {t('done label', { ns: osTranslations })}\n </Button>\n </div>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useEffect, useState } from 'react';\n\nimport { type Type } from '@dxos/echo';\nimport { type Space } from '@dxos/react-client/echo';\nimport { useTranslation } from '@dxos/react-ui';\nimport { ControlPage, ControlSection, controlItemClasses } from '@dxos/react-ui-form';\nimport { Layout } from '@dxos/react-ui-mosaic';\n\nimport { meta } from '../meta';\n\ntype SchemaPanelProps = { space: Space };\n\nexport const SchemaContainer = ({ space }: SchemaPanelProps) => {\n const { t } = useTranslation(meta.id);\n const schemas = useQuerySpaceSchemas(space);\n\n // TODO(ZaymonFC): Support deleting Schema (DangerZone section).\n return (\n <Layout.Container scrollable>\n <ControlPage>\n <ControlSection title={t('schema verbose label')} description={t('schema description')}>\n <div role='none' className={controlItemClasses}>\n {schemas.length === 0 && <div className='text-center plb-4'>{t('no schemas found message')}</div>}\n {schemas.map((schema) => (\n <div role='none' key={schema.id}>\n {schema.typename}\n </div>\n ))}\n </div>\n </ControlSection>\n </ControlPage>\n </Layout.Container>\n );\n};\n\n/**\n * Subscribe to and retrieve all schemas from a space's schema registry.\n */\nexport const useQuerySpaceSchemas = (space: Space): Type.RuntimeType[] => {\n const [schemas, setSchemas] = useState<Type.RuntimeType[]>([]);\n\n useEffect(() => {\n const query = space.db.schemaRegistry.query();\n const initialResults = query.runSync();\n setSchemas(initialResults);\n\n const unsubscribe = query.subscribe(() => setSchemas(query.results));\n return () => unsubscribe();\n }, [space]);\n\n return schemas;\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { useOperationInvoker } from '@dxos/app-framework/react';\nimport { useClient } from '@dxos/react-client';\nimport { useSpaces } from '@dxos/react-client/echo';\nimport { IconButton, Input, List, ListItem, toLocalizedString, useTranslation } from '@dxos/react-ui';\nimport { ControlGroup, ControlItemInput, ControlPage, ControlSection, controlItemClasses } from '@dxos/react-ui-form';\n\nimport { meta } from '../meta';\nimport { SpaceOperation, type SpaceSettingsProps } from '../types';\nimport { getSpaceDisplayName } from '../util';\n\nexport type SpacePluginSettingsComponentProps = {\n settings: SpaceSettingsProps;\n onSettingsChange: (fn: (current: SpaceSettingsProps) => SpaceSettingsProps) => void;\n};\n\nexport const SpacePluginSettings = ({ settings, onSettingsChange }: SpacePluginSettingsComponentProps) => {\n const { t } = useTranslation(meta.id);\n const client = useClient();\n const spaces = useSpaces({ all: settings.showHidden });\n const { invokePromise } = useOperationInvoker();\n\n return (\n <ControlPage>\n <ControlSection title={t('space settings label')} description={t('space settings description')}>\n <ControlGroup>\n <ControlItemInput title={t('show hidden spaces label')}>\n <Input.Switch\n checked={settings.showHidden}\n onCheckedChange={(checked) => onSettingsChange((s) => ({ ...s, showHidden: !!checked }))}\n />\n </ControlItemInput>\n </ControlGroup>\n <List classNames={[controlItemClasses, 'flex flex-col gap-trimSm']}>\n {spaces.map((space) => (\n <ListItem.Root key={space.id} classNames='is-full items-center'>\n {/* TODO(burdon): Should auto center and truncate; NOTE truncate doesn't work with flex grow. */}\n <ListItem.Heading classNames='grow truncate !min-bs-0'>\n {toLocalizedString(\n getSpaceDisplayName(space, {\n personal: space === client.spaces.default,\n }),\n t,\n )}\n </ListItem.Heading>\n <IconButton\n icon='ph--faders--regular'\n onClick={() => invokePromise(SpaceOperation.OpenSettings, { space })}\n label={t('open space settings label')}\n />\n </ListItem.Root>\n ))}\n </List>\n </ControlSection>\n </ControlPage>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Option from 'effect/Option';\nimport React, { forwardRef, useCallback, useEffect, useState } from 'react';\n\nimport { useAppGraph, useAtomCapability } from '@dxos/app-framework/react';\nimport { generateName } from '@dxos/display-name';\nimport { type Key, Obj } from '@dxos/echo';\nimport { PublicKey } from '@dxos/react-client';\nimport { type SpaceMember, useMembers, useSpace } from '@dxos/react-client/echo';\nimport { type Identity, useIdentity } from '@dxos/react-client/halo';\nimport {\n Avatar,\n type AvatarContentProps,\n type DxAvatar,\n List,\n ListItem,\n Popover,\n type Size,\n type ThemedClassName,\n Tooltip,\n useDefaultValue,\n useTranslation,\n} from '@dxos/react-ui';\nimport { AttentionGlyph, type AttentionGlyphProps, useAttended, useAttention } from '@dxos/react-ui-attention';\nimport { ComplexMap, keyToFallback } from '@dxos/util';\n\nimport { usePath } from '../../hooks';\nimport { meta } from '../../meta';\nimport { type ObjectViewerProps, SpaceCapabilities } from '../../types';\n\n// TODO(thure): Get/derive these values from protocol\nconst REFRESH_INTERVAL = 5000;\nconst ACTIVITY_DURATION = 30_000;\n\n// TODO(thure): This is chiefly meant to satisfy TS & provide an empty map after `deepSignal` interactions.\nconst noViewers = new ComplexMap<PublicKey, ObjectViewerProps>(PublicKey.hash);\n\n// TODO(wittjosiah): Factor out?\nconst getName = (identity: Identity) => identity.profile?.displayName ?? generateName(identity.identityKey.toHex());\n\nexport type SpacePresenceProps = {\n object: Obj.Unknown;\n spaceId?: Key.SpaceId;\n};\n\nexport const SpacePresence = ({ object, spaceId }: SpacePresenceProps) => {\n const ephemeral = useAtomCapability(SpaceCapabilities.EphemeralState);\n const identity = useIdentity();\n const db = Obj.getDatabase(object);\n const space = useSpace(spaceId ?? db?.spaceId);\n const spaceMembers = useMembers(spaceId ?? db?.spaceId);\n\n const [_moment, setMoment] = useState(Date.now());\n\n // NOTE(thure): This is necessary so Presence updates without any underlying data updating.\n useEffect(() => {\n const interval = setInterval(() => setMoment(Date.now()), REFRESH_INTERVAL);\n return () => clearInterval(interval);\n }, []);\n\n const memberOnline = useCallback((member: SpaceMember) => member.presence === 1, []);\n const memberIsNotSelf = useCallback(\n (member: SpaceMember) => !identity?.identityKey.equals(member.identity.identityKey),\n [identity?.identityKey],\n );\n\n // TODO(thure): Could it be a smell to return early when there are interactions with `deepSignal` later, since it\n // prevents reactivity?\n if (!identity || !ephemeral || !space) {\n return null;\n }\n\n const currentObjectViewers = ephemeral.viewersByObject[Obj.getDXN(object).toString()] ?? noViewers;\n\n const membersForObject = spaceMembers\n .filter((member) => memberOnline(member) && memberIsNotSelf(member))\n .filter((member) => currentObjectViewers.has(member.identity.identityKey))\n .map((member) => {\n const objectView = currentObjectViewers.get(member.identity.identityKey);\n const lastSeen = objectView?.lastSeen ?? -Infinity;\n const currentlyAttended = objectView?.currentlyAttended ?? false;\n\n return {\n ...member,\n currentlyAttended,\n lastSeen,\n };\n })\n .toSorted((a, b) => a.lastSeen - b.lastSeen);\n\n return <FullPresence members={membersForObject} />;\n};\n\nexport type Member = SpaceMember & {\n /**\n * Last time a member was seen on this object.\n */\n lastSeen: number;\n currentlyAttended: boolean;\n};\n\nexport type MemberPresenceProps = ThemedClassName<{\n size?: Size;\n members?: Member[];\n showCount?: boolean;\n onMemberClick?: (member: Member) => void;\n}>;\n\nexport const FullPresence = (props: MemberPresenceProps) => {\n const { size = 9, onMemberClick } = props;\n const members = useDefaultValue(props.members, () => []);\n\n if (members.length === 0) {\n return null;\n }\n\n return (\n <div className='dx-avatar-group' data-testid='spacePlugin.presence'>\n {members.slice(0, 3).map((member, i) => (\n <Tooltip.Trigger\n key={member.identity.identityKey.toHex()}\n side='bottom'\n content={getName(member.identity)}\n className='grid focus:outline-none'\n >\n <PresenceAvatar\n identity={member.identity}\n match={member.currentlyAttended} // TODO(Zan): Match always true now we're showing 'members viewing current object'.\n index={members.length - i}\n onClick={() => onMemberClick?.(member)}\n size={size}\n />\n </Tooltip.Trigger>\n ))}\n\n {members.length > 3 && (\n <Popover.Root>\n <Popover.Trigger className='grid focus:outline-none'>\n <Avatar.Root>\n {/* TODO(wittjosiah): Make text fit. */}\n <Avatar.Content\n status='inactive'\n style={{ zIndex: members.length - 4 }}\n fallback={`+${members.length - 3}`}\n size={size}\n />\n </Avatar.Root>\n </Popover.Trigger>\n <Popover.Portal>\n <Popover.Content side='bottom'>\n <Popover.Arrow />\n <Popover.Viewport classNames='max-bs-56'>\n <List>\n {members.map((member) => (\n <ListItem.Root\n key={member.identity.identityKey.toHex()}\n classNames='flex gap-2 items-center cursor-pointer mbe-2'\n onClick={() => onMemberClick?.(member)}\n data-testid='identity-list-item'\n >\n {/* TODO(Zan): Match always true now we're showing 'members viewing current object'. */}\n <PresenceAvatar\n identity={member.identity}\n size={size}\n showName\n match={member.currentlyAttended}\n />\n </ListItem.Root>\n ))}\n </List>\n </Popover.Viewport>\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n )}\n </div>\n );\n};\n\ntype PresenceAvatarProps = Pick<AvatarContentProps, 'size'> & {\n identity: Identity;\n showName?: boolean;\n match?: boolean;\n index?: number;\n onClick?: () => void;\n};\n\nconst PresenceAvatar = forwardRef<DxAvatar, PresenceAvatarProps>(\n ({ identity, showName, match, index, onClick, size }, forwardedRef) => {\n const status = match ? 'current' : 'active';\n const fallbackValue = keyToFallback(identity.identityKey);\n return (\n <Avatar.Root>\n <Avatar.Content\n status={status}\n hue={identity.profile?.data?.hue || fallbackValue.hue}\n data-testid='spacePlugin.presence.member'\n data-status={status}\n size={size}\n {...(index ? { style: { zIndex: index } } : {})}\n onClick={onClick}\n fallback={identity.profile?.data?.emoji || fallbackValue.emoji}\n ref={forwardedRef}\n />\n <Avatar.Label classNames={showName ? 'text-sm truncate pli-2' : 'sr-only'}>{getName(identity)}</Avatar.Label>\n </Avatar.Root>\n );\n },\n);\n\nexport type SmallPresenceLiveProps = {\n id?: string;\n open?: boolean;\n viewers?: ComplexMap<PublicKey, ObjectViewerProps>;\n};\n\nexport const SmallPresenceLive = ({ id, open, viewers }: SmallPresenceLiveProps) => {\n const { hasAttention, isAncestor, isRelated } = useAttention(id);\n const isAttended = hasAttention || isAncestor || isRelated;\n\n // TODO(wittjosiah): If the attended node is deep in the graph and the graph is not fully loaded\n // this will result in an empty path until the graph is connected.\n // TODO(wittjosiah): Consider using this indicator for all open nodes instead of just attended.\n const { graph } = useAppGraph();\n const attended = useAttended();\n const startOfAttention = attended.at(-1);\n const path = usePath(graph, startOfAttention);\n const containsAttended = !open && !isAttended && id && Option.isSome(path) ? path.value.includes(id) : false;\n\n const getActiveViewers = (viewers: ComplexMap<PublicKey, ObjectViewerProps>): ObjectViewerProps[] => {\n const moment = Date.now();\n return Array.from<ObjectViewerProps>(viewers.values()).filter(\n (viewer) => moment - viewer.lastSeen < ACTIVITY_DURATION,\n );\n };\n\n const [activeViewers, setActiveViewers] = useState(viewers ? getActiveViewers(viewers) : []);\n\n useEffect(() => {\n if (viewers) {\n setActiveViewers(getActiveViewers(viewers));\n const interval = setInterval(() => {\n setActiveViewers(getActiveViewers(viewers));\n }, REFRESH_INTERVAL);\n return () => clearInterval(interval);\n }\n }, [viewers]);\n\n return <SmallPresence count={activeViewers.length} attended={isAttended} containsAttended={containsAttended} />;\n};\n\nexport type SmallPresenceProps = {\n count?: number;\n} & Pick<AttentionGlyphProps, 'attended' | 'containsAttended'>;\n\nexport const SmallPresence = ({ count = 0, attended, containsAttended }: SmallPresenceProps) => {\n const { t } = useTranslation(meta.id);\n\n return (\n <Tooltip.Trigger asChild content={t('presence label', { count })} side='bottom'>\n <AttentionGlyph\n attended={attended}\n containsAttended={containsAttended}\n presence={count > 1 ? 'many' : count === 1 ? 'one' : 'none'}\n classNames='self-center mie-1'\n />\n </Tooltip.Trigger>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useCallback, useRef, useState } from 'react';\n\nimport { Common } from '@dxos/app-framework';\nimport { useOperationInvoker } from '@dxos/app-framework/react';\nimport { type Space } from '@dxos/client/echo';\nimport { Obj } from '@dxos/echo';\nimport { Button, Input, Popover, useTranslation } from '@dxos/react-ui';\nimport { osTranslations } from '@dxos/ui-theme';\n\nimport { meta } from '../../meta';\n\nexport const SPACE_RENAME_POPOVER = `${meta.id}/SpaceRenamePopover`;\n\nexport const SpaceRenamePopover = ({ space }: { space: Space }) => {\n const { t } = useTranslation(meta.id);\n const doneButton = useRef<HTMLButtonElement>(null);\n const [name, setName] = useState(space.properties.name ?? '');\n const { invokePromise } = useOperationInvoker();\n\n const handleDone = useCallback(() => {\n Obj.change(space.properties, (p) => {\n p.name = name;\n });\n void invokePromise(Common.LayoutOperation.UpdatePopover, { anchorId: '', state: false });\n }, [space, name, invokePromise]);\n\n // TODO(thure): Why does the input value need to be uncontrolled to work?\n return (\n <div role='none' className='p-2 flex gap-2'>\n <div role='none' className='flex-1'>\n <Input.Root>\n <Input.Label srOnly>{t('space name label')}</Input.Label>\n <Input.TextInput\n defaultValue={space.properties.name ?? ''}\n placeholder={t('unnamed space label')}\n onChange={({ target: { value } }) => setName(value)}\n // TODO(wittjosiah): Ideally this should access the popover context to close the popover.\n // Currently this is not possible because Radix does not expose the popover context.\n onKeyDown={({ key }) => key === 'Enter' && doneButton.current?.click()}\n />\n </Input.Root>\n </div>\n <Popover.Close asChild>\n <Button ref={doneButton} classNames='self-stretch' onClick={handleDone}>\n {t('done label', { ns: osTranslations })}\n </Button>\n </Popover.Close>\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\nimport React, { type ChangeEvent, forwardRef, useCallback, useMemo, useState } from 'react';\n\nimport { Common } from '@dxos/app-framework';\nimport { useCapabilities, useOperationInvoker } from '@dxos/app-framework/react';\nimport { Obj } from '@dxos/echo';\nimport { log } from '@dxos/log';\nimport { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';\nimport { useClient } from '@dxos/react-client';\nimport { type Space, SpaceState } from '@dxos/react-client/echo';\nimport { Button, Input, useFileDownload, useMulticastObservable, useTranslation } from '@dxos/react-ui';\nimport {\n ControlItem,\n ControlItemInput,\n ControlPage,\n ControlSection,\n Form,\n type FormFieldMap,\n} from '@dxos/react-ui-form';\nimport { Layout } from '@dxos/react-ui-mosaic';\nimport { HuePicker, IconPicker } from '@dxos/react-ui-pickers';\n\nimport { meta } from '../../meta';\nimport { SpaceCapabilities, SpaceForm, SpaceOperation } from '../../types';\n\nconst SpaceFormSchema = SpaceForm.pipe(\n Schema.extend(\n Schema.Struct({\n archived: Schema.Boolean.annotations({ title: 'Archive Space' }),\n }),\n ),\n);\n\nexport type SpaceSettingsContainerProps = {\n space: Space;\n};\n\n// TODO(wittjosiah): Handle space migrations here?\nexport const SpaceSettingsContainer = forwardRef<HTMLDivElement, SpaceSettingsContainerProps>(\n ({ space }, forwardedRef) => {\n const { t } = useTranslation(meta.id);\n const { invokePromise } = useOperationInvoker();\n const client = useClient();\n const archived = useMulticastObservable(space.state) === SpaceState.SPACE_INACTIVE;\n const [edgeReplication, setEdgeReplication] = useState(\n space.internal.data.edgeReplication === EdgeReplicationSetting.ENABLED,\n );\n const toggleEdgeReplication = useCallback(\n async (next: boolean) => {\n setEdgeReplication(next);\n await space?.internal\n .setEdgeReplicationPreference(next ? EdgeReplicationSetting.ENABLED : EdgeReplicationSetting.DISABLED)\n .catch((err: unknown) => {\n log.catch(err);\n setEdgeReplication(!next);\n });\n },\n [space],\n );\n\n const handleSave = useCallback(\n (properties: Schema.Schema.Type<typeof SpaceFormSchema>) => {\n void toggleEdgeReplication(properties.edgeReplication ?? false);\n const nameChanged = properties.name !== space.properties.name;\n const iconChanged = properties.icon !== space.properties.icon;\n const hueChanged = properties.hue !== space.properties.hue;\n if (nameChanged || iconChanged || hueChanged) {\n Obj.change(space.properties, (p) => {\n if (nameChanged) {\n p.name = properties.name;\n }\n if (iconChanged) {\n p.icon = properties.icon;\n }\n if (hueChanged) {\n p.hue = properties.hue;\n }\n });\n }\n if (properties.archived && !archived) {\n void (async () => {\n await invokePromise(SpaceOperation.Close, { space });\n await invokePromise(Common.LayoutOperation.SwitchWorkspace, { subject: client.spaces.default.id });\n })();\n } else if (!properties.archived && archived) {\n void invokePromise(SpaceOperation.Open, { space });\n }\n },\n [space, toggleEdgeReplication, archived],\n );\n\n const values = useMemo(\n () => ({\n name: space.properties.name,\n icon: space.properties.icon,\n hue: space.properties.hue,\n edgeReplication,\n archived,\n }),\n [space.properties.name, space.properties.icon, space.properties.hue, edgeReplication, archived],\n );\n\n const fieldMap = useMemo<FormFieldMap>(\n () => ({\n name: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback(\n ({ target: { value } }: ChangeEvent<HTMLInputElement>) => onValueChange(type, value),\n [onValueChange, type],\n );\n return (\n <ControlItemInput title={label} description={t('display name description')}>\n <Input.TextInput\n value={getValue()}\n onChange={handleChange}\n placeholder={t('display name input placeholder')}\n classNames='min-is-64'\n />\n </ControlItemInput>\n );\n },\n icon: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback((icon: string) => onValueChange(type, icon), [onValueChange, type]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange, type]);\n return (\n <ControlItem title={label} description={t('icon description')}>\n <IconPicker\n value={getValue()}\n onChange={handleChange}\n onReset={handleReset}\n classNames='justify-self-end'\n />\n </ControlItem>\n );\n },\n hue: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback((nextHue: string) => onValueChange(type, nextHue), [onValueChange, type]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange, type]);\n return (\n <ControlItem title={label} description={t('hue description')}>\n <HuePicker\n value={getValue()}\n onChange={handleChange}\n onReset={handleReset}\n classNames='justify-self-end'\n />\n </ControlItem>\n );\n },\n edgeReplication: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback((checked: boolean) => onValueChange(type, checked), [onValueChange, type]);\n return (\n <ControlItemInput title={label} description={t('edge replication description')}>\n <Input.Switch checked={getValue()} onCheckedChange={handleChange} classNames='justify-self-end' />\n </ControlItemInput>\n );\n },\n archived: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback(() => onValueChange(type, !getValue()), [onValueChange, type, getValue]);\n return (\n <ControlItemInput title={label} description={t('archive space description')}>\n <Button\n disabled={space === client.spaces.default}\n variant={getValue() ? 'default' : 'destructive'}\n onClick={handleChange}\n >\n {getValue() ? t('unarchive space label') : t('archive space label')}\n </Button>\n </ControlItemInput>\n );\n },\n }),\n [t, space],\n );\n\n const download = useFileDownload();\n const handleBackup = useCallback(async () => {\n const archive = await space.internal.export();\n download(new Blob([archive.contents as Uint8Array<ArrayBuffer>]), archive.filename);\n }, [space, download]);\n\n const repairs = useCapabilities(SpaceCapabilities.Repair);\n const handleRepair = useCallback(async () => {\n await Promise.all(repairs.map((repair) => repair({ space, isDefault: client.spaces.default === space })));\n }, [client, space, repairs]);\n\n return (\n <Layout.Container scrollable ref={forwardedRef}>\n <ControlPage>\n <ControlSection\n title={t('space properties settings verbose label')}\n description={t('space properties settings description', {\n ns: meta.id,\n })}\n >\n <Form.Root fieldMap={fieldMap} schema={SpaceFormSchema} values={values} autoSave onSave={handleSave}>\n <Form.FieldSet />\n </Form.Root>\n </ControlSection>\n\n <ControlSection title={t('space controls title')} description={t('space controls description')}>\n <div role='none' className='container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content]'>\n <ControlItemInput title={t('backup space title')} description={t('backup space description')}>\n <Button onClick={handleBackup}>{t('download backup label')}</Button>\n </ControlItemInput>\n <ControlItemInput title={t('repair space title')} description={t('repair space description')}>\n <Button onClick={handleRepair}>{t('repair space label')}</Button>\n </ControlItemInput>\n </div>\n </ControlSection>\n </ControlPage>\n </Layout.Container>\n );\n },\n);\n\nSpaceSettingsContainer.displayName = 'SpaceSettingsContainer';\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Option from 'effect/Option';\nimport React, { useEffect, useState } from 'react';\n\nimport { useAppGraph } from '@dxos/app-framework/react';\nimport { EdgeStatus } from '@dxos/protocols/proto/dxos/client/services';\nimport { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';\nimport { useClient } from '@dxos/react-client';\nimport { type Space, useSpaceSyncState } from '@dxos/react-client/echo';\nimport { Tooltip, useTranslation } from '@dxos/react-ui';\nimport { AttentionGlyph, useAttended, useAttention } from '@dxos/react-ui-attention';\n\nimport { usePath } from '../../hooks';\nimport { meta } from '../../meta';\n\nconst useEdgeStatus = (): EdgeStatus.ConnectionState => {\n const [status, setStatus] = useState(EdgeStatus.ConnectionState.NOT_CONNECTED);\n const client = useClient();\n useEffect(() => {\n client.services.services.EdgeAgentService?.queryEdgeStatus().subscribe(({ status }) => {\n setStatus(status.state);\n });\n }, [client]);\n\n return status;\n};\n\nexport const InlineSyncStatus = ({ space, open }: { space: Space; open?: boolean }) => {\n const { t } = useTranslation(meta.id);\n const id = space.id;\n const { hasAttention, isAncestor, isRelated } = useAttention(id);\n const isAttended = hasAttention || isAncestor || isRelated;\n\n // TODO(wittjosiah): If the attended node is deep in the graph and the graph is not fully loaded\n // this will result in an empty path until the graph is connected.\n // TODO(wittjosiah): Consider using this indicator for all open nodes instead of just attended.\n const { graph } = useAppGraph();\n const attended = useAttended();\n const startOfAttention = attended.at(-1);\n const path = usePath(graph, startOfAttention);\n const containsAttended = !open && !isAttended && id && Option.isSome(path) ? path.value.includes(id) : false;\n\n const connectedToEdge = useEdgeStatus() === EdgeStatus.ConnectionState.CONNECTED;\n // TODO(wittjosiah): This is not reactive.\n const edgeSyncEnabled = space.internal.data.edgeReplication === EdgeReplicationSetting.ENABLED;\n const syncState = useSpaceSyncState(space);\n const syncing = connectedToEdge && edgeSyncEnabled && syncState && syncState.missingOnLocal > 0;\n\n return (\n <Tooltip.Trigger asChild content={t('syncing label')} side='bottom'>\n <AttentionGlyph\n syncing={syncing}\n attended={isAttended}\n containsAttended={containsAttended}\n classNames='self-center mie-1'\n />\n </Tooltip.Trigger>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useEffect, useState } from 'react';\n\nimport { StatusBar } from '@dxos/plugin-status-bar';\nimport { EdgeStatus } from '@dxos/protocols/proto/dxos/client/services';\nimport { type QueryEdgeStatusResponse } from '@dxos/protocols/proto/dxos/client/services';\nimport { useClient } from '@dxos/react-client';\nimport { useStream } from '@dxos/react-client/devtools';\nimport { type SpaceSyncStateMap, getSyncSummary, useSyncState } from '@dxos/react-client/echo';\nimport { Icon, Popover, useTranslation } from '@dxos/react-ui';\nimport { mx } from '@dxos/ui-theme';\nimport { Unit, type UnitFormat } from '@dxos/util';\n\nimport { meta } from '../../meta';\n\nimport { createClientSaveTracker } from './save-tracker';\nimport { getIcon, getStatus } from './status';\n\nconst SYNC_STALLED_TIMEOUT = 5_000;\n\nexport const SyncStatus = () => {\n const client = useClient();\n const state = useSyncState();\n const [saved, setSaved] = useState(true);\n useEffect(() => createClientSaveTracker(client, (state) => setSaved(state === 'saved')), []);\n\n return <SyncStatusIndicator state={state} saved={saved} />;\n};\n\nexport const SyncStatusIndicator = ({ state, saved }: { state: SpaceSyncStateMap; saved: boolean }) => {\n const { t } = useTranslation(meta.id);\n const summary = getSyncSummary(state);\n const offline = Object.values(state).length === 0;\n const needsToUpload = summary.differentDocuments > 0 || summary.missingOnRemote > 0;\n const needsToDownload = summary.differentDocuments > 0 || summary.missingOnLocal > 0;\n const status = getStatus({ offline, saved, needsToUpload, needsToDownload });\n\n const [classNames, setClassNames] = useState<string>();\n useEffect(() => {\n setClassNames(undefined);\n if (offline || (!needsToUpload && !needsToDownload)) {\n return;\n }\n\n const t = setTimeout(() => {\n // TODO(wittjosiah): Use semantic color tokens.\n setClassNames('text-orange-500');\n }, SYNC_STALLED_TIMEOUT);\n return () => clearTimeout(t);\n }, [offline, needsToUpload, needsToDownload]);\n\n const title = t(`${status} label`);\n const icon = <Icon icon={getIcon(status)} classNames={classNames} />;\n\n return (\n <Popover.Root>\n <Popover.Trigger asChild>\n <StatusBar.Item title={title}>{icon}</StatusBar.Item>\n </Popover.Trigger>\n <Popover.Portal>\n <Popover.Content>\n <EdgeConnectionPopover />\n <Popover.Arrow />\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n );\n};\n\nconst useEdgeStatus = (): EdgeStatus | undefined => {\n const client = useClient();\n const { status } = useStream(\n () => client.services.services.EdgeAgentService!.queryEdgeStatus(),\n {} as QueryEdgeStatusResponse,\n );\n return status;\n};\n\nconst EdgeConnectionPopover = () => {\n const status = useEdgeStatus();\n const { t } = useTranslation(meta.id);\n\n const isConnected = status?.state === EdgeStatus.ConnectionState.CONNECTED;\n\n return (\n <div className='min-is-[240px] p-2'>\n {/* Connection Status Header */}\n <div className='flex items-center gap-2 mbe-2'>\n <Icon\n icon={isConnected ? 'ph--check-circle--regular' : 'ph--warning-circle--regular'}\n classNames={mx(isConnected ? 'text-successText' : 'text-errorText animate-pulse')}\n />\n <span className='font-medium text-sm'>\n {isConnected ? t('sync edge connected label') : t('sync edge disconnected label')}\n </span>\n </div>\n\n {/* Connection Details */}\n {status?.state === EdgeStatus.ConnectionState.NOT_CONNECTED && (\n <div className='flex items-center gap-2 text-sm text-description'>\n <Icon icon='ph--cloud-x--regular' />\n <span>{t('sync no connection label')}</span>\n </div>\n )}\n\n {status?.state === EdgeStatus.ConnectionState.CONNECTED && (\n <div className='space-y-2'>\n {/* Latency */}\n <div className='flex items-center justify-between text-sm'>\n <div className='flex items-center gap-2 text-description'>\n <Icon icon='ph--timer--regular' />\n <span>{t('sync latency label')}</span>\n </div>\n <UnitValue value={status.rtt} format={Unit.Millisecond} />\n </div>\n\n {/* Upload Speed */}\n <div className='flex items-center justify-between text-sm'>\n <div className='flex items-center gap-2 text-description'>\n <Icon icon='ph--arrow-up--regular' />\n <span>{t('sync upload label')}</span>\n </div>\n <UnitValue value={status.rateBytesUp} format={Unit.Kilobyte} suffix='/s' />\n </div>\n\n {/* Download Speed */}\n <div className='flex items-center justify-between text-sm'>\n <div className='flex items-center gap-2 text-sm text-description'>\n <Icon icon='ph--arrow-down--regular' />\n <span>{t('sync download label')}</span>\n </div>\n <UnitValue value={status.rateBytesDown} format={Unit.Kilobyte} suffix='/s' />\n </div>\n </div>\n )}\n </div>\n );\n};\n\n// TODO(burdon): Factor out.\nconst UnitValue = ({ value: input, format, suffix }: { value: number; format: UnitFormat; suffix?: string }) => {\n const { formattedValue, unit } = format(input);\n return (\n <span className='font-mono'>\n {formattedValue}\n <span className='mis-1 text-subdued'>\n {unit.symbol}\n {suffix}\n </span>\n </span>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type CleanupFn } from '@dxos/async';\nimport { type Client } from '@dxos/client';\nimport { type Space, type SpaceId } from '@dxos/client/echo';\nimport { Context } from '@dxos/context';\n\nexport const createClientSaveTracker = (client: Client, cb: (state: 'saved' | 'saving') => void) => {\n const CleanupFns: Record<SpaceId, CleanupFn> = {};\n const state: Record<SpaceId, 'saved' | 'saving'> = {};\n\n const install = (spaces: Space[]) => {\n for (const space of spaces) {\n if (state[space.id]) {\n continue;\n }\n\n state[space.id] = 'saved';\n CleanupFns[space.id] = createSpaceSaveTracker(space, (s) => {\n state[space.id] = s;\n cb(Object.values(state).some((s) => s === 'saving') ? 'saving' : 'saved');\n });\n }\n };\n client.spaces.subscribe((spaces) => {\n install(spaces);\n });\n install(client.spaces.get());\n\n return () => {\n for (const unsubscribe of Object.values(CleanupFns)) {\n unsubscribe();\n }\n };\n};\n\nconst createSpaceSaveTracker = (space: Space, cb: (state: 'saved' | 'saving') => void): CleanupFn => {\n const ctx = new Context();\n\n void space.waitUntilReady().then(() => {\n if (ctx.disposed) {\n return;\n }\n\n let hasUnsavedChanges = false;\n let lastFlushPromise: Promise<void> | undefined;\n space.internal.db.saveStateChanged.on(ctx, ({ unsavedDocuments }) => {\n hasUnsavedChanges = unsavedDocuments.length > 0;\n });\n space.internal.db.saveStateChanged.debounce(500).on(ctx, () => {\n if (hasUnsavedChanges) {\n lastFlushPromise = undefined;\n cb('saving');\n } else {\n const flushPromise = space.db.flush();\n lastFlushPromise = flushPromise;\n void flushPromise.then(() => {\n if (lastFlushPromise === flushPromise) {\n cb('saved');\n }\n });\n }\n });\n });\n\n return () => {\n void ctx.dispose();\n };\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nexport type Status = 'saving locally' | 'downloading' | 'uploading' | 'offline persisted' | 'remote synced';\n\nexport const getStatus = ({\n offline,\n saved,\n needsToUpload,\n needsToDownload,\n}: {\n offline: boolean;\n saved: boolean;\n needsToUpload: boolean;\n needsToDownload: boolean;\n}): Status => {\n if (!saved) {\n return 'saving locally';\n } else if (!offline && needsToDownload) {\n return 'downloading';\n } else if (!offline && needsToUpload) {\n return 'uploading';\n } else if (offline && !needsToUpload && !needsToDownload) {\n return 'offline persisted';\n } else {\n return 'remote synced';\n }\n};\n\nexport const getIcon = (status: Status) => {\n switch (status) {\n case 'saving locally':\n return 'ph--download--regular';\n case 'downloading':\n return 'ph--cloud-arrow-down--regular';\n case 'uploading':\n return 'ph--cloud-arrow-up--regular';\n case 'offline persisted':\n return 'ph--check-circle--regular';\n case 'remote synced':\n return 'ph--cloud-check--regular';\n }\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Array from 'effect/Array';\nimport * as Effect from 'effect/Effect';\nimport * as EffectFunction from 'effect/Function';\nimport * as Match from 'effect/Match';\nimport * as Option from 'effect/Option';\nimport type * as Schema from 'effect/Schema';\nimport * as SchemaAST from 'effect/SchemaAST';\n\nimport { DXN, Filter, Query, type QueryAST, type SchemaRegistry } from '@dxos/echo';\nimport {\n ReferenceAnnotationId,\n type ReferenceAnnotationValue,\n getTypeAnnotation,\n unwrapOptional,\n} from '@dxos/echo/internal';\nimport { runAndForwardErrors } from '@dxos/effect';\nimport { log } from '@dxos/log';\nimport { type Space } from '@dxos/react-client/echo';\nimport { Person } from '@dxos/types';\n\n// TODO(wittjosiah): Factor out and add tests.\n// TODO(wittjosiah): Support arbitrary type imports.\nexport const evalQuery = (queryString: string): Query.Any => {\n const globals = { Query, Filter, Person };\n try {\n // eslint-disable-next-line @typescript-eslint/no-implied-eval\n return new Function(...Object.keys(globals), `return ${queryString}`)(...Object.values(globals));\n } catch (err) {\n log.catch(err);\n return Query.select(Filter.nothing());\n }\n};\n\nexport const resolveSchemaWithRegistry = (registry: SchemaRegistry.SchemaRegistry, query: QueryAST.Query) => {\n const resolve = Effect.fn(function* (dxn: string) {\n const typename = DXN.parse(dxn).asTypeDXN()?.type;\n if (!typename) {\n return Option.none();\n }\n\n const query = registry.query({ typename, location: ['database', 'runtime'] });\n const schemas = yield* Effect.promise(() => query.run());\n return Array.head(schemas);\n });\n\n return resolveSchema(query, resolve).pipe(\n Effect.map((schema) => Option.getOrUndefined(schema)),\n runAndForwardErrors,\n );\n};\n\nconst resolveSchema = (\n query: QueryAST.Query,\n resolve: (dxn: string) => Effect.Effect<Option.Option<Schema.Schema.AnyNoContext>>,\n): Effect.Effect<Option.Option<Schema.Schema.AnyNoContext>> => {\n return Match.value(query).pipe(\n Match.withReturnType<Effect.Effect<Option.Option<Schema.Schema.AnyNoContext>>>(),\n // TODO(wittjosiah): Reconcile with filter match?\n Match.when({ type: 'select' }, ({ filter }) =>\n typenameFromFilter(filter).pipe(\n Option.map((typename) => resolve(typename)),\n Option.getOrElse(() => Effect.succeed(Option.none<Schema.Schema.AnyNoContext>())),\n ),\n ),\n Match.when({ type: 'filter' }, ({ filter }) =>\n typenameFromFilter(filter).pipe(\n Option.map((typename) => resolve(typename)),\n Option.getOrElse(() => Effect.succeed(Option.none<Schema.Schema.AnyNoContext>())),\n ),\n ),\n Match.when({ type: 'reference-traversal' }, ({ anchor, property }) =>\n resolveSchema(anchor, resolve).pipe(\n Effect.map((base) =>\n base.pipe(\n Option.map((schema) => SchemaAST.getPropertySignatures(schema.ast)),\n Option.flatMap((properties) => Array.findFirst(properties, (p) => p.name === property)),\n Option.flatMap((property) =>\n SchemaAST.getAnnotation<ReferenceAnnotationValue>(ReferenceAnnotationId)(unwrapOptional(property)),\n ),\n Option.map((annotation) => annotation.typename),\n ),\n ),\n Effect.flatMap(\n Option.match({\n onNone: () => Effect.succeed(Option.none()),\n onSome: (typename) => resolve(DXN.fromTypename(typename).toString()),\n }),\n ),\n ),\n ),\n Match.when({ type: 'relation', filter: Match.defined }, ({ filter }) =>\n typenameFromFilter(filter).pipe(\n Option.map((typename) => resolve(typename)),\n Option.getOrElse(() => Effect.succeed(Option.none<Schema.Schema.AnyNoContext>())),\n ),\n ),\n Match.when({ type: 'relation-traversal' }, ({ anchor, direction }) =>\n resolveSchema(anchor, resolve).pipe(\n Effect.map((base) =>\n base.pipe(\n Option.map((schema) => getTypeAnnotation(schema)),\n Option.flatMap((annotation) =>\n Option.fromNullable(direction === 'source' ? annotation?.sourceSchema : annotation?.targetSchema),\n ),\n ),\n ),\n Effect.flatMap(\n Option.match({\n onNone: () => Effect.succeed(Option.none()),\n onSome: (typename) => resolve(typename),\n }),\n ),\n ),\n ),\n Match.when({ type: 'options' }, ({ query }) => resolveSchema(query, resolve)),\n Match.orElse((_q) => {\n // TODO(wittjosiah): Implement other cases.\n return Effect.succeed(Option.none());\n }),\n );\n};\n\nconst typenameFromFilter = (filter: QueryAST.Filter): Option.Option<string> =>\n Match.value(filter).pipe(\n Match.withReturnType<Option.Option<string>>(),\n Match.when({ type: 'object' }, ({ typename }) => Option.fromNullable(typename)),\n Match.when({ type: 'and' }, ({ filters }) =>\n EffectFunction.pipe(filters, Array.map(typenameFromFilter), Array.findFirst(Option.isSome), Option.flatten),\n ),\n Match.when({ type: 'or' }, ({ filters }) =>\n EffectFunction.pipe(filters, Array.map(typenameFromFilter), Array.findFirst(Option.isSome), Option.flatten),\n ),\n Match.orElse(() => Option.none()),\n );\n\n// TODO(wittjosiah): Currently assumes options is at the top-level of the ast.\nexport const getQueryTarget = (query: QueryAST.Query, space?: Space) => {\n return Match.value(query).pipe(\n Match.when({ type: 'options' }, ({ options }) => {\n return Option.fromNullable(options.queues).pipe(\n Option.flatMap((queues) => Array.head(queues)),\n Option.flatMap((queueDxn) => Option.fromNullable(DXN.tryParse(queueDxn))),\n Option.flatMap((queueDxn) => Option.fromNullable(space?.queues.get(queueDxn))),\n Option.getOrElse(() => space?.db),\n );\n }),\n Match.orElse(() => space?.db),\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\nimport React, { useCallback, useState } from 'react';\n\nimport { useOperationInvoker } from '@dxos/app-framework/react';\nimport { DXN, Filter, Obj, Query, type QueryAST, Tag, Type } from '@dxos/echo';\nimport { type Mutable } from '@dxos/echo/internal';\nimport { useClient } from '@dxos/react-client';\nimport { getSpace, useQuery } from '@dxos/react-client/echo';\nimport { useAsyncEffect } from '@dxos/react-ui';\nimport { ViewEditor as NaturalViewEditor } from '@dxos/react-ui-form';\nimport { View } from '@dxos/schema';\n\nimport { resolveSchemaWithRegistry } from '../helpers';\nimport { useTypeOptions } from '../hooks';\nimport { SpaceOperation } from '../types';\n\nexport type ViewEditorProps = { view: View.View };\n\nexport const ViewEditor = ({ view }: ViewEditorProps) => {\n const { invokePromise } = useOperationInvoker();\n const client = useClient();\n const space = getSpace(view);\n const [schema, setSchema] = useState<Schema.Schema.AnyNoContext>(() => Schema.Struct({}));\n const tags = useQuery(space?.db, Filter.type(Tag.Tag));\n const types = useTypeOptions({\n space,\n annotation: {\n location: ['database', 'runtime'],\n kind: ['user'],\n registered: ['registered'],\n },\n });\n\n useAsyncEffect(async () => {\n if (!view?.query || !space) {\n return;\n }\n\n const foundSchema = await resolveSchemaWithRegistry(space.db.schemaRegistry, view.query.ast);\n if (foundSchema && foundSchema !== schema) {\n setSchema(() => foundSchema);\n }\n }, [client, space, view, schema]);\n\n const handleQueryChanged = useCallback(\n async (newQuery: QueryAST.Query, target?: string) => {\n if (!view || !space) {\n return;\n }\n\n const queue = target && DXN.tryParse(target) ? target : undefined;\n const query = queue ? Query.fromAst(newQuery).options({ queues: [queue] }) : Query.fromAst(newQuery);\n Obj.change(view, (v) => {\n v.query.ast = query.ast as Mutable<typeof query.ast>;\n });\n const newSchema = await resolveSchemaWithRegistry(space.db.schemaRegistry, query.ast);\n if (!newSchema) {\n return;\n }\n\n const newView = View.make({\n query,\n jsonSchema: Type.toJsonSchema(newSchema),\n });\n Obj.change(view, (v) => {\n v.projection = Obj.getSnapshot(newView).projection as Mutable<typeof v.projection>;\n });\n\n setSchema(() => newSchema);\n },\n [view, schema],\n );\n\n const handleDelete = useCallback(\n (fieldId: string) => {\n void invokePromise(SpaceOperation.DeleteField, { view, fieldId });\n },\n [invokePromise, view],\n );\n\n if (!space || !schema) {\n return null;\n }\n\n return (\n <NaturalViewEditor\n registry={space.db.schemaRegistry}\n schema={schema}\n view={view}\n mode='tag'\n tags={tags}\n types={types}\n onQueryChanged={handleQueryChanged}\n onDelete={Type.isMutable(schema) ? handleDelete : undefined}\n />\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './AwaitingObject';\nexport * from './CreateDialog';\nexport * from './CollectionSection';\nexport * from './JoinDialog';\nexport * from './MembersContainer';\nexport * from './MenuFooter';\nexport * from './ObjectRenamePopover';\nexport * from './SchemaContainer';\nexport * from './SpacePluginSettings';\nexport * from './SpacePresence';\nexport * from './SpaceRenamePopover';\nexport * from './SpaceSettings';\nexport * from './SyncStatus';\nexport * from './ViewEditor';\n\nexport const CollectionArticle = lazy(() => import('./CollectionArticle'));\nexport const ObjectCardStack = lazy(() => import('./ObjectCardStack'));\nexport const ObjectDetails = lazy(() => import('./ObjectDetails'));\nexport const RecordArticle = lazy(() => import('./RecordArticle'));\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["React", "useCallback", "useEffect", "useState", "Common", "useLayout", "useOperationInvoker", "Obj", "useClient", "Filter", "useQuery", "Button", "Icon", "Toast", "useTranslation", "osTranslations", "WAIT_FOR_OBJECT_TIMEOUT", "TOAST_TIMEOUT", "AwaitingObject", "id", "t", "useTranslation", "meta", "invokePromise", "useOperationInvoker", "open", "setOpen", "useState", "waiting", "setWaiting", "found", "setFound", "layout", "useLayout", "client", "useClient", "objects", "useQuery", "spaces", "Filter", "everything", "useEffect", "timeout", "setTimeout", "clearTimeout", "findIndex", "object", "Obj", "getDXN", "toString", "active", "includes", "handleClose", "useCallback", "SpaceOperation", "WaitForObject", "undefined", "handleNavigate", "Common", "LayoutOperation", "Open", "subject", "Toast", "Root", "duration", "onOpenChange", "Body", "Title", "classNames", "Icon", "icon", "size", "span", "Description", "Actions", "Action", "altText", "asChild", "Button", "variant", "onClick", "Close", "ns", "osTranslations", "Effect", "React", "useCallback", "useMemo", "useRef", "useState", "Capability", "Common", "useOperationInvoker", "usePluginManager", "Database", "Obj", "Type", "EntityKind", "getTypeAnnotation", "runAndForwardErrors", "invariant", "Operation", "useClient", "useSpaces", "Dialog", "useTranslation", "Option", "React", "useCallback", "useMemo", "Obj", "getTypeAnnotation", "toLocalizedString", "useDefaultValue", "useTranslation", "Form", "omitId", "SearchList", "useSearchListResults", "ViewAnnotation", "isNonNullable", "CreateObjectPanel", "schemas", "spaces", "typename", "target", "views", "initialFormValues", "_initialFormValues", "defaultSpaceId", "resolve", "onTargetChange", "onTypenameChange", "onCreateObject", "t", "useTranslation", "meta", "id", "useDefaultValue", "metadata", "options", "filter", "schema", "ViewAnnotation", "get", "pipe", "getOrElse", "map", "getTypeAnnotation", "isNonNullable", "sort", "a", "b", "nameA", "ns", "defaultValue", "nameB", "localeCompare", "handleCreateObject", "useCallback", "props", "data", "handleSetTypename", "inputSchema", "inputSurfaceLookup", "useInputSurfaceLookup", "React", "SelectSchema", "onChange", "SelectSpace", "Form", "Root", "testId", "autoFocus", "omitId", "values", "db", "Obj", "isObject", "getDatabase", "fieldProvider", "onSave", "Viewport", "Content", "FieldSet", "Submit", "sortedSpaces", "useMemo", "labelA", "toLocalizedString", "getSpaceDisplayName", "personal", "labelB", "results", "handleSearch", "useSearchListResults", "items", "extract", "space", "SearchList", "onSearch", "div", "aria-label", "role", "aria-expanded", "Input", "data-testid", "placeholder", "Item", "key", "value", "label", "onSelect", "classNames", "option", "icon", "CREATE_OBJECT_DIALOG", "meta", "id", "CreateObjectDialog", "target", "initialTarget", "typename", "initialTypename", "views", "initialFormValues", "onCreateObject", "shouldNavigate", "_shouldNavigate", "manager", "usePluginManager", "t", "useTranslation", "operationInvoker", "useOperationInvoker", "setTarget", "useState", "setTypename", "client", "useClient", "spaces", "useSpaces", "closeRef", "useRef", "resolve", "useCallback", "metadata", "capabilities", "getAll", "Common", "Capability", "Metadata", "find", "createObject", "undefined", "db", "Database", "isDatabase", "Obj", "getDatabase", "schemas", "schemaRegistry", "query", "location", "includeSystem", "runSync", "userSchemas", "useMemo", "filter", "schema", "getTypeAnnotation", "kind", "EntityKind", "Relation", "Type", "getTypename", "handleCreateObject", "data", "gen", "current", "click", "invariant", "object", "isObject", "instanceOf", "PersistentType", "hidden", "addToCollectionOnCreate", "invoke", "SpaceOperation", "AddObject", "promise", "invokePromise", "LayoutOperation", "Open", "subject", "getDXN", "toString", "pipe", "provideService", "Service", "Operation", "runAndForwardErrors", "React", "Dialog", "Content", "Header", "Title", "ns", "defaultValue", "Close", "asChild", "CloseIconButton", "ref", "CreateObjectPanel", "defaultSpaceId", "default", "onTargetChange", "onTypenameChange", "Effect", "React", "useCallback", "useRef", "Common", "useOperationInvoker", "runAndForwardErrors", "Dialog", "useTranslation", "Form", "CREATE_SPACE_DIALOG", "meta", "id", "initialValues", "edgeReplication", "CreateSpaceDialog", "closeRef", "useRef", "t", "useTranslation", "invokePromise", "useOperationInvoker", "inputSurfaceLookup", "useInputSurfaceLookup", "handleCreateSpace", "useCallback", "data", "program", "gen", "result", "promise", "SpaceOperation", "Create", "space", "Common", "LayoutOperation", "SwitchWorkspace", "subject", "UpdateDialog", "state", "runAndForwardErrors", "React", "Dialog", "Content", "Header", "Title", "Close", "asChild", "CloseIconButton", "ref", "Form", "Root", "testId", "autoFocus", "schema", "SpaceForm", "values", "fieldProvider", "onSave", "Viewport", "FieldSet", "Submit", "React", "useTranslation", "CollectionSection", "role", "subject", "t", "useTranslation", "meta", "id", "React", "div", "className", "span", "name", "React", "useCallback", "Common", "useAppGraph", "useOperationInvoker", "Trigger", "Graph", "ObservabilityOperation", "useClient", "Dialog", "useTranslation", "JoinPanel", "osTranslations", "JOIN_DIALOG", "meta", "id", "JoinDialog", "navigableCollections", "onDone", "props", "invokePromise", "useOperationInvoker", "client", "useClient", "graph", "useAppGraph", "t", "useTranslation", "handleDone", "useCallback", "result", "spaceKey", "Promise", "all", "Common", "LayoutOperation", "AddToast", "duration", "title", "ns", "closeLabel", "UpdateDialog", "state", "space", "spaces", "get", "trigger", "Trigger", "subscribe", "wake", "wait", "SwitchWorkspace", "subject", "target", "undefined", "Graph", "waitForPath", "catch", "Open", "Expose", "ObservabilityOperation", "SendEvent", "name", "properties", "spaceId", "React", "Dialog", "Content", "Title", "classNames", "osTranslations", "JoinPanel", "exitActionParent", "Close", "asChild", "doneActionParent", "React", "useCallback", "useMemo", "useState", "QR", "useOperationInvoker", "Obj", "log", "useConfig", "useSpaceInvitations", "Invitation", "InvitationEncoder", "Button", "Clipboard", "Icon", "Input", "useId", "useTranslation", "ControlFrame", "ControlFrameItem", "ControlItemInput", "ControlPage", "ControlSection", "Layout", "Collection", "AuthCode", "BifurcatedAction", "Centered", "Emoji", "InvitationList", "SpaceMemberList", "Viewport", "translationKey", "shellTranslationKey", "hexToEmoji", "activeActionKey", "handleInvitationEvent", "invitation", "subscription", "invitationCode", "InvitationEncoder", "encode", "state", "Invitation", "State", "CONNECTING", "log", "info", "JSON", "stringify", "authCode", "unsubscribe", "MembersContainer", "space", "createInvitationUrl", "t", "useTranslation", "meta", "id", "config", "useConfig", "invokePromise", "useOperationInvoker", "invitations", "useSpaceInvitations", "key", "visibleInvitations", "filter", "CANCELLED", "includes", "get", "activeAction", "setInternalActiveAction", "useState", "localStorage", "getItem", "setActiveAction", "nextAction", "setItem", "target", "properties", "Collection", "typename", "objects", "locked", "COMPOSER_SPACE_LOCK", "handleChangeLocked", "useCallback", "Obj", "change", "p", "inviteActions", "useMemo", "inviteOne", "label", "ns", "shellTranslationKey", "description", "icon", "testId", "onClick", "data", "SpaceOperation", "Share", "type", "Type", "INTERACTIVE", "authMethod", "AuthMethod", "SHARED_SECRET", "multiUse", "getDXN", "toString", "values", "runtime", "app", "env", "DX_ENVIRONMENT", "subscribe", "inviteMany", "DELEGATED", "KNOWN_PUBLIC_KEY", "selectedInvitation", "setSelectedInvitation", "handleSend", "event", "handleBack", "React", "Clipboard", "Provider", "Layout", "Container", "scrollable", "ControlPage", "ControlSection", "title", "ControlFrame", "ControlFrameItem", "SpaceMemberList", "spaceKey", "includeSelf", "className", "InvitationSection", "onBack", "InvitationList", "send", "onClickRemove", "cancel", "BifurcatedAction", "actions", "onChangeActiveAction", "data-testid", "div", "ControlItemInput", "Input", "Switch", "checked", "onCheckedChange", "classNames", "INIT", "invitationId", "url", "activeView", "READY_FOR_AUTHENTICATION", "Viewport", "Root", "Views", "View", "InvitationComplete", "statusValue", "InvitationAuthCode", "code", "onCancel", "InvitationQR", "qrLabel", "useId", "emoji", "hexToEmoji", "role", "QR", "rounding", "backgroundColor", "color", "aria-labelledby", "errorCorrectionLevel", "cutout", "Centered", "Emoji", "text", "span", "Button", "value", "variant", "AuthCode", "large", "Icon", "size", "React", "getSpace", "useClient", "DropdownMenu", "Icon", "toLocalizedString", "useTranslation", "MenuFooter", "object", "t", "useTranslation", "meta", "id", "client", "useClient", "space", "getSpace", "spaceName", "getSpaceDisplayName", "personal", "spaces", "default", "React", "DropdownMenu", "Separator", "GroupLabel", "dl", "className", "dt", "dd", "Icon", "icon", "classNames", "toLocalizedString", "React", "useCallback", "useRef", "useState", "Common", "useOperationInvoker", "Obj", "log", "Button", "Input", "useTranslation", "osTranslations", "OBJECT_RENAME_POPOVER", "meta", "id", "ObjectRenamePopover", "object", "t", "useTranslation", "doneButton", "useRef", "name", "setName", "useState", "Obj", "getLabel", "invokePromise", "useOperationInvoker", "handleDone", "useCallback", "change", "setLabel", "err", "log", "error", "Common", "LayoutOperation", "UpdatePopover", "anchorId", "state", "React", "div", "role", "className", "Input", "Root", "Label", "srOnly", "TextInput", "placeholder", "value", "data-testid", "onChange", "target", "onKeyDown", "key", "current", "click", "Button", "ref", "classNames", "onClick", "ns", "osTranslations", "React", "useEffect", "useState", "useTranslation", "ControlPage", "ControlSection", "controlItemClasses", "Layout", "SchemaContainer", "space", "t", "useTranslation", "meta", "id", "schemas", "useQuerySpaceSchemas", "React", "Layout", "Container", "scrollable", "ControlPage", "ControlSection", "title", "description", "div", "role", "className", "controlItemClasses", "length", "map", "schema", "key", "typename", "setSchemas", "useState", "useEffect", "query", "db", "schemaRegistry", "initialResults", "runSync", "unsubscribe", "subscribe", "results", "React", "useOperationInvoker", "useClient", "useSpaces", "IconButton", "Input", "List", "ListItem", "toLocalizedString", "useTranslation", "ControlGroup", "ControlItemInput", "ControlPage", "ControlSection", "controlItemClasses", "SpacePluginSettings", "settings", "onSettingsChange", "t", "useTranslation", "meta", "id", "client", "useClient", "spaces", "useSpaces", "all", "showHidden", "invokePromise", "useOperationInvoker", "React", "ControlPage", "ControlSection", "title", "description", "ControlGroup", "ControlItemInput", "Input", "Switch", "checked", "onCheckedChange", "s", "List", "classNames", "controlItemClasses", "map", "space", "ListItem", "Root", "key", "Heading", "toLocalizedString", "getSpaceDisplayName", "personal", "default", "IconButton", "icon", "onClick", "SpaceOperation", "OpenSettings", "label", "Option", "React", "forwardRef", "useCallback", "useEffect", "useState", "useAppGraph", "useAtomCapability", "generateName", "Obj", "PublicKey", "useMembers", "useSpace", "useIdentity", "Avatar", "List", "ListItem", "Popover", "Tooltip", "useDefaultValue", "useTranslation", "AttentionGlyph", "useAttended", "useAttention", "ComplexMap", "keyToFallback", "REFRESH_INTERVAL", "ACTIVITY_DURATION", "noViewers", "ComplexMap", "PublicKey", "hash", "getName", "identity", "profile", "displayName", "generateName", "identityKey", "toHex", "SpacePresence", "object", "spaceId", "ephemeral", "useAtomCapability", "SpaceCapabilities", "EphemeralState", "useIdentity", "db", "Obj", "getDatabase", "space", "useSpace", "spaceMembers", "useMembers", "_moment", "setMoment", "useState", "Date", "now", "useEffect", "interval", "setInterval", "clearInterval", "memberOnline", "useCallback", "member", "presence", "memberIsNotSelf", "equals", "currentObjectViewers", "viewersByObject", "getDXN", "toString", "membersForObject", "filter", "has", "map", "objectView", "get", "lastSeen", "currentlyAttended", "toSorted", "a", "b", "React", "FullPresence", "members", "props", "size", "onMemberClick", "useDefaultValue", "length", "div", "className", "data-testid", "slice", "i", "Tooltip", "Trigger", "key", "side", "content", "PresenceAvatar", "match", "index", "onClick", "Popover", "Root", "Avatar", "Content", "status", "style", "zIndex", "fallback", "Portal", "Arrow", "Viewport", "classNames", "List", "ListItem", "showName", "forwardRef", "forwardedRef", "fallbackValue", "keyToFallback", "hue", "data", "data-status", "emoji", "ref", "Label", "SmallPresenceLive", "id", "open", "viewers", "hasAttention", "isAncestor", "isRelated", "useAttention", "isAttended", "graph", "useAppGraph", "attended", "useAttended", "startOfAttention", "at", "path", "usePath", "containsAttended", "isSome", "value", "includes", "getActiveViewers", "moment", "Array", "from", "values", "viewer", "activeViewers", "setActiveViewers", "SmallPresence", "count", "t", "useTranslation", "meta", "asChild", "AttentionGlyph", "React", "useCallback", "useRef", "useState", "Common", "useOperationInvoker", "Obj", "Button", "Input", "Popover", "useTranslation", "osTranslations", "SPACE_RENAME_POPOVER", "meta", "id", "SpaceRenamePopover", "space", "t", "useTranslation", "doneButton", "useRef", "name", "setName", "useState", "properties", "invokePromise", "useOperationInvoker", "handleDone", "useCallback", "Obj", "change", "p", "Common", "LayoutOperation", "UpdatePopover", "anchorId", "state", "React", "div", "role", "className", "Input", "Root", "Label", "srOnly", "TextInput", "defaultValue", "placeholder", "onChange", "target", "value", "onKeyDown", "key", "current", "click", "Popover", "Close", "asChild", "Button", "ref", "classNames", "onClick", "ns", "osTranslations", "Schema", "React", "forwardRef", "useCallback", "useMemo", "useState", "Common", "useCapabilities", "useOperationInvoker", "Obj", "log", "EdgeReplicationSetting", "useClient", "SpaceState", "Button", "Input", "useFileDownload", "useMulticastObservable", "useTranslation", "ControlItem", "ControlItemInput", "ControlPage", "ControlSection", "Form", "Layout", "HuePicker", "IconPicker", "SpaceFormSchema", "SpaceForm", "pipe", "extend", "Struct", "archived", "Boolean", "annotations", "title", "SpaceSettingsContainer", "forwardRef", "space", "forwardedRef", "t", "useTranslation", "meta", "id", "invokePromise", "useOperationInvoker", "client", "useClient", "useMulticastObservable", "state", "SpaceState", "SPACE_INACTIVE", "edgeReplication", "setEdgeReplication", "useState", "internal", "data", "EdgeReplicationSetting", "ENABLED", "toggleEdgeReplication", "useCallback", "next", "setEdgeReplicationPreference", "DISABLED", "catch", "err", "log", "handleSave", "properties", "nameChanged", "name", "iconChanged", "icon", "hueChanged", "hue", "Obj", "change", "p", "SpaceOperation", "Close", "Common", "LayoutOperation", "SwitchWorkspace", "subject", "spaces", "default", "Open", "values", "useMemo", "fieldMap", "type", "label", "getValue", "onValueChange", "handleChange", "target", "value", "React", "ControlItemInput", "description", "Input", "TextInput", "onChange", "placeholder", "classNames", "handleReset", "undefined", "ControlItem", "IconPicker", "onReset", "nextHue", "HuePicker", "checked", "Switch", "onCheckedChange", "Button", "disabled", "variant", "onClick", "download", "useFileDownload", "handleBackup", "archive", "export", "Blob", "contents", "filename", "repairs", "useCapabilities", "SpaceCapabilities", "Repair", "handleRepair", "Promise", "all", "map", "repair", "isDefault", "Layout", "Container", "scrollable", "ref", "ControlPage", "ControlSection", "ns", "Form", "Root", "schema", "autoSave", "onSave", "FieldSet", "div", "role", "className", "displayName", "Option", "React", "useEffect", "useState", "useAppGraph", "EdgeStatus", "EdgeReplicationSetting", "useClient", "useSpaceSyncState", "Tooltip", "useTranslation", "AttentionGlyph", "useAttended", "useAttention", "useEdgeStatus", "status", "setStatus", "useState", "EdgeStatus", "ConnectionState", "NOT_CONNECTED", "client", "useClient", "useEffect", "services", "EdgeAgentService", "queryEdgeStatus", "subscribe", "state", "InlineSyncStatus", "space", "open", "t", "useTranslation", "meta", "id", "hasAttention", "isAncestor", "isRelated", "useAttention", "isAttended", "graph", "useAppGraph", "attended", "useAttended", "startOfAttention", "at", "path", "usePath", "containsAttended", "isSome", "value", "includes", "connectedToEdge", "CONNECTED", "edgeSyncEnabled", "internal", "data", "edgeReplication", "EdgeReplicationSetting", "ENABLED", "syncState", "useSpaceSyncState", "syncing", "missingOnLocal", "React", "Tooltip", "Trigger", "asChild", "content", "side", "AttentionGlyph", "classNames", "React", "useEffect", "useState", "StatusBar", "EdgeStatus", "useClient", "useStream", "getSyncSummary", "useSyncState", "Icon", "Popover", "useTranslation", "mx", "Unit", "Context", "createClientSaveTracker", "client", "cb", "CleanupFns", "state", "install", "spaces", "space", "id", "createSpaceSaveTracker", "s", "Object", "values", "some", "subscribe", "get", "unsubscribe", "ctx", "waitUntilReady", "then", "disposed", "hasUnsavedChanges", "lastFlushPromise", "internal", "db", "saveStateChanged", "on", "unsavedDocuments", "length", "debounce", "undefined", "flushPromise", "flush", "dispose", "getStatus", "offline", "saved", "needsToUpload", "needsToDownload", "getIcon", "status", "SYNC_STALLED_TIMEOUT", "SyncStatus", "client", "useClient", "state", "useSyncState", "saved", "setSaved", "useState", "useEffect", "createClientSaveTracker", "React", "SyncStatusIndicator", "t", "useTranslation", "meta", "id", "summary", "getSyncSummary", "offline", "Object", "values", "length", "needsToUpload", "differentDocuments", "missingOnRemote", "needsToDownload", "missingOnLocal", "status", "getStatus", "classNames", "setClassNames", "undefined", "setTimeout", "clearTimeout", "title", "icon", "Icon", "getIcon", "Popover", "Root", "Trigger", "asChild", "StatusBar", "Item", "Portal", "Content", "EdgeConnectionPopover", "Arrow", "useEdgeStatus", "useStream", "services", "EdgeAgentService", "queryEdgeStatus", "isConnected", "EdgeStatus", "ConnectionState", "CONNECTED", "div", "className", "mx", "span", "NOT_CONNECTED", "UnitValue", "value", "rtt", "format", "Unit", "Millisecond", "rateBytesUp", "Kilobyte", "suffix", "rateBytesDown", "input", "formattedValue", "unit", "symbol", "Array", "Effect", "EffectFunction", "Match", "Option", "SchemaAST", "DXN", "Filter", "Query", "ReferenceAnnotationId", "getTypeAnnotation", "unwrapOptional", "runAndForwardErrors", "log", "Person", "evalQuery", "queryString", "globals", "Function", "Object", "keys", "values", "err", "catch", "select", "nothing", "resolveSchemaWithRegistry", "registry", "query", "resolve", "fn", "dxn", "typename", "parse", "asTypeDXN", "type", "none", "location", "schemas", "promise", "run", "head", "resolveSchema", "pipe", "map", "schema", "getOrUndefined", "value", "withReturnType", "when", "filter", "typenameFromFilter", "getOrElse", "succeed", "anchor", "property", "base", "getPropertySignatures", "ast", "flatMap", "properties", "findFirst", "p", "name", "getAnnotation", "annotation", "match", "onNone", "onSome", "fromTypename", "toString", "defined", "direction", "fromNullable", "sourceSchema", "targetSchema", "orElse", "_q", "filters", "isSome", "flatten", "getQueryTarget", "space", "options", "queues", "queueDxn", "tryParse", "get", "db", "Schema", "React", "useCallback", "useState", "useOperationInvoker", "DXN", "Filter", "Obj", "Query", "Tag", "Type", "useClient", "getSpace", "useQuery", "useAsyncEffect", "ViewEditor", "NaturalViewEditor", "View", "ViewEditor", "view", "invokePromise", "useOperationInvoker", "client", "useClient", "space", "getSpace", "schema", "setSchema", "useState", "Struct", "tags", "useQuery", "db", "Filter", "type", "Tag", "types", "useTypeOptions", "annotation", "location", "kind", "registered", "useAsyncEffect", "query", "foundSchema", "resolveSchemaWithRegistry", "schemaRegistry", "ast", "handleQueryChanged", "useCallback", "newQuery", "target", "queue", "DXN", "tryParse", "undefined", "Query", "fromAst", "options", "queues", "Obj", "change", "v", "newSchema", "newView", "View", "make", "jsonSchema", "Type", "toJsonSchema", "projection", "getSnapshot", "handleDelete", "fieldId", "SpaceOperation", "DeleteField", "React", "NaturalViewEditor", "registry", "mode", "onQueryChanged", "onDelete", "isMutable", "lazy", "CollectionArticle", "lazy", "ObjectCardStack", "ObjectDetails", "RecordArticle"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/hooks/useActiveSpace.ts", "../../../src/hooks/useInputSurfaceLookup.tsx", "../../../src/hooks/usePath.ts", "../../../src/hooks/useTypeOptions.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type CapabilityManager, Common } from '@dxos/app-framework';\nimport { useLayout } from '@dxos/app-framework/react';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { parseId, useSpace } from '@dxos/react-client/echo';\n\nexport const getActiveSpace = (capabilities: CapabilityManager.CapabilityManager) => {\n const client = capabilities.get(ClientCapabilities.Client);\n const registry = capabilities.get(Common.Capability.AtomRegistry);\n const layoutAtom = capabilities.get(Common.Capability.Layout);\n const layout = registry.get(layoutAtom);\n const { spaceId } = parseId(layout.workspace);\n return spaceId ? client.spaces.get(spaceId) : undefined;\n};\n\nexport const useActiveSpace = () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n return useSpace(spaceId);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { Surface, isSurfaceAvailable, usePluginManager } from '@dxos/app-framework/react';\nimport { type FormFieldProvider } from '@dxos/react-ui-form';\n\n/**\n * Creates a surface input component based on plugin context.\n * @param baseData Additional data that will be merged with form data and passed to the surface.\n * This allows providing more context to the surface than what's available from the form itself.\n */\n// TODO(burdon): Factor out?\nexport const useInputSurfaceLookup = (baseData?: Record<string, any>): FormFieldProvider => {\n const pluginManager = usePluginManager();\n return useCallback<FormFieldProvider>(\n ({ schema, prop, fieldProps }) => {\n const data = { prop, schema, ...baseData };\n if (isSurfaceAvailable(pluginManager.capabilities, { role: 'form-input', data })) {\n return <Surface role='form-input' data={data} {...fieldProps} />;\n }\n },\n [pluginManager, baseData],\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Option from 'effect/Option';\nimport { useEffect, useState } from 'react';\n\nimport { Graph } from '@dxos/plugin-graph';\n\n/**\n * React hook to get a path from the graph.\n *\n * @param graph Graph to find the node in.\n * @param id Id of the node to find a path to.\n * @param timeout Optional timeout in milliseconds to wait for the node to be found.\n * @returns Path if found, undefined otherwise.\n */\n// TODO(wittjosiah): Factor out.\nexport const usePath = (graph: Graph.ReadableGraph, id?: string, timeout?: number): Option.Option<string[]> => {\n const [pathState, setPathState] = useState<Option.Option<string[]>>(\n id ? Graph.getPath(graph, { target: id }) : Option.none(),\n );\n\n useEffect(() => {\n if (!id && pathState) {\n setPathState(Option.none());\n }\n\n if ((Option.isSome(pathState) && pathState.value.at(-1) === id) || !id) {\n return;\n }\n\n // Set timeout did not seem to effectively not block the UI thread.\n const frame = requestAnimationFrame(async () => {\n try {\n const path = await Graph.waitForPath(graph, { target: id }, { timeout });\n if (path) {\n setPathState(Option.some(path));\n }\n } catch {}\n });\n\n return () => cancelAnimationFrame(frame);\n }, [graph, id, timeout, pathState]);\n\n return pathState;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { type Space } from '@dxos/react-client/echo';\nimport { useTranslation } from '@dxos/react-ui';\n\nimport { type TypeInputOptions, getTypenames } from '../types';\n\nexport const useTypeOptions = ({ space, annotation }: { space?: Space; annotation: TypeInputOptions }) => {\n const { t } = useTranslation();\n const typenames = getTypenames({ annotation, space });\n return useMemo(\n () =>\n typenames\n .map((typename) => ({\n value: typename,\n label: t('typename label', { ns: typename, defaultValue: typename }),\n }))\n .toSorted((a, b) => a.label.localeCompare(b.label)),\n [t, typenames],\n );\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;AAIA,SAAiCA,cAAc;AAC/C,SAASC,iBAAiB;AAC1B,SAASC,0BAA0B;AACnC,SAASC,SAASC,gBAAgB;AAE3B,IAAMC,iBAAiB,CAACC,iBAAAA;AAC7B,QAAMC,SAASD,aAAaE,IAAIC,mBAAmBC,MAAM;AACzD,QAAMC,WAAWL,aAAaE,IAAII,OAAOC,WAAWC,YAAY;AAChE,QAAMC,aAAaT,aAAaE,IAAII,OAAOC,WAAWG,MAAM;AAC5D,QAAMC,SAASN,SAASH,IAAIO,UAAAA;AAC5B,QAAM,EAAEG,QAAO,IAAKC,QAAQF,OAAOG,SAAS;AAC5C,SAAOF,UAAUX,OAAOc,OAAOb,IAAIU,OAAAA,IAAWI;AAChD;AAEO,IAAMC,iBAAiB,MAAA;AAC5B,QAAMN,SAASO,UAAAA;AACf,QAAM,EAAEN,QAAO,IAAKC,QAAQF,OAAOG,SAAS;AAC5C,SAAOK,SAASP,OAAAA;AAClB;;;AClBA,OAAOQ,SAASC,mBAAmB;AAEnC,SAASC,SAASC,oBAAoBC,wBAAwB;AASvD,IAAMC,wBAAwB,CAACC,aAAAA;AACpC,QAAMC,gBAAgBC,iBAAAA;AACtB,SAAOC,YACL,CAAC,EAAEC,QAAQC,MAAMC,WAAU,MAAE;AAC3B,UAAMC,OAAO;MAAEF;MAAMD;MAAQ,GAAGJ;IAAS;AACzC,QAAIQ,mBAAmBP,cAAcQ,cAAc;MAAEC,MAAM;MAAcH;IAAK,CAAA,GAAI;AAChF,aAAO,sBAAA,cAACI,SAAAA;QAAQD,MAAK;QAAaH;QAAa,GAAGD;;IACpD;EACF,GACA;IAACL;IAAeD;GAAS;AAE7B;;;ACtBA,YAAYY,YAAY;AACxB,SAASC,WAAWC,gBAAgB;AAEpC,SAASC,aAAa;AAWf,IAAMC,UAAU,CAACC,OAA4BC,IAAaC,YAAAA;AAC/D,QAAM,CAACC,WAAWC,YAAAA,IAAgBC,SAChCJ,KAAKK,MAAMC,QAAQP,OAAO;IAAEQ,QAAQP;EAAG,CAAA,IAAYQ,YAAI,CAAA;AAGzDC,YAAU,MAAA;AACR,QAAI,CAACT,MAAME,WAAW;AACpBC,mBAAoBK,YAAI,CAAA;IAC1B;AAEA,QAAYE,cAAOR,SAAAA,KAAcA,UAAUS,MAAMC,GAAG,EAAC,MAAOZ,MAAO,CAACA,IAAI;AACtE;IACF;AAGA,UAAMa,QAAQC,sBAAsB,YAAA;AAClC,UAAI;AACF,cAAMC,OAAO,MAAMV,MAAMW,YAAYjB,OAAO;UAAEQ,QAAQP;QAAG,GAAG;UAAEC;QAAQ,CAAA;AACtE,YAAIc,MAAM;AACRZ,uBAAoBc,YAAKF,IAAAA,CAAAA;QAC3B;MACF,QAAQ;MAAC;IACX,CAAA;AAEA,WAAO,MAAMG,qBAAqBL,KAAAA;EACpC,GAAG;IAACd;IAAOC;IAAIC;IAASC;GAAU;AAElC,SAAOA;AACT;;;AC1CA,SAASiB,eAAe;AAGxB,SAASC,sBAAsB;AAIxB,IAAMC,iBAAiB,CAAC,EAAEC,OAAOC,WAAU,MAAmD;AACnG,QAAM,EAAEC,EAAC,IAAKC,eAAAA;AACd,QAAMC,YAAYC,aAAa;IAAEJ;IAAYD;EAAM,CAAA;AACnD,SAAOM,QACL,MACEF,UACGG,IAAI,CAACC,cAAc;IAClBC,OAAOD;IACPE,OAAOR,EAAE,kBAAkB;MAAES,IAAIH;MAAUI,cAAcJ;IAAS,CAAA;EACpE,EAAA,EACCK,SAAS,CAACC,GAAGC,MAAMD,EAAEJ,MAAMM,cAAcD,EAAEL,KAAK,CAAA,GACrD;IAACR;IAAGE;GAAU;AAElB;",
|
|
6
|
-
"names": ["Common", "useLayout", "ClientCapabilities", "parseId", "useSpace", "getActiveSpace", "capabilities", "client", "get", "ClientCapabilities", "Client", "registry", "Common", "Capability", "AtomRegistry", "layoutAtom", "Layout", "layout", "spaceId", "parseId", "workspace", "spaces", "undefined", "useActiveSpace", "useLayout", "useSpace", "React", "useCallback", "Surface", "isSurfaceAvailable", "usePluginManager", "useInputSurfaceLookup", "baseData", "pluginManager", "usePluginManager", "useCallback", "schema", "prop", "fieldProps", "data", "isSurfaceAvailable", "capabilities", "role", "Surface", "Option", "useEffect", "useState", "Graph", "usePath", "graph", "id", "timeout", "pathState", "setPathState", "useState", "Graph", "getPath", "target", "none", "useEffect", "isSome", "value", "at", "frame", "requestAnimationFrame", "path", "waitForPath", "some", "cancelAnimationFrame", "useMemo", "useTranslation", "useTypeOptions", "space", "annotation", "t", "useTranslation", "typenames", "getTypenames", "useMemo", "map", "typename", "value", "label", "ns", "defaultValue", "toSorted", "a", "b", "localeCompare"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/types/capabilities.ts", "../../../src/types/events.ts", "../../../src/types/form.ts", "../../../src/types/types.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Atom } from '@effect-atom/atom-react';\nimport type * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { type Space } from '@dxos/client/echo';\nimport { type Database } from '@dxos/echo';\nimport { type PublicKey } from '@dxos/keys';\nimport { type Operation } from '@dxos/operation';\nimport { type Collection } from '@dxos/schema';\nimport { type Label } from '@dxos/ui-types';\nimport { type ComplexMap, type Position } from '@dxos/util';\n\nimport { meta } from '../meta';\n\nimport { type ObjectViewerProps, type SpaceSettingsProps } from './types';\n\nexport namespace SpaceCapabilities {\n export const Settings = Capability.make<Atom.Writable<SpaceSettingsProps>>(`${meta.id}/capability/settings`);\n\n /** Schema for persisted space plugin state. */\n export const StateSchema = Schema.mutable(\n Schema.Struct({\n spaceNames: Schema.Record({ key: Schema.String, value: Schema.String }),\n enabledEdgeReplication: Schema.Boolean,\n }),\n );\n\n export type SpaceState = Schema.Schema.Type<typeof StateSchema>;\n\n /** Persisted state (stored in KVS/localStorage). */\n export const State = Capability.make<Atom.Writable<SpaceState>>(`${meta.id}/capability/state`);\n\n /** Ephemeral space plugin state (not persisted). */\n export type SpaceEphemeralState = {\n awaiting: string | undefined;\n sdkMigrationRunning: Record<string, boolean>;\n navigableCollections: boolean;\n viewersByObject: Record<string, ComplexMap<PublicKey, ObjectViewerProps>>;\n viewersByIdentity: ComplexMap<PublicKey, Set<string>>;\n };\n\n /** Transient/ephemeral state (not persisted). */\n export const EphemeralState = Capability.make<Atom.Writable<SpaceEphemeralState>>(\n `${meta.id}/capability/ephemeral-state`,\n );\n\n export type SettingsSection = { id: string; label: Label; position?: Position };\n export const SettingsSection = Capability.make<SettingsSection>(`${meta.id}/capability/settings-section`);\n\n export type OnCreateSpace = (params: {\n space: Space;\n isDefault: boolean;\n rootCollection: Collection.Collection;\n }) => Effect.Effect<void, Error, Operation.Service>;\n export const OnCreateSpace = Capability.make<OnCreateSpace>(`${meta.id}/capability/on-space-created`);\n\n export type OnSchemaAdded = (params: {\n db: Database.Database;\n schema: Schema.Schema.AnyNoContext;\n // TODO(wittjosiah): This is leaky.\n show?: boolean;\n }) => Effect.Effect<void, Error, Operation.Service>;\n export const OnSchemaAdded = Capability.make<OnSchemaAdded>(`${meta.id}/capability/on-schema-added`);\n\n // TODO(wittjosiah): Replace with migrations, this is not a sustainable solution.\n export type HandleRepair = (params: { space: Space; isDefault: boolean }) => Promise<void>;\n export const Repair = Capability.make<HandleRepair>(`${meta.id}/capability/repair`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { ActivationEvent, Common } from '@dxos/app-framework';\n\nimport { meta } from '../meta';\n\nexport namespace SpaceEvents {\n export const StateReady = Common.ActivationEvent.createStateEvent(`${meta.id}/event/state-ready`);\n export const SetupSettingsPanel = ActivationEvent.make(`${meta.id}/event/setup-settings-panel`);\n export const DefaultSpaceReady = ActivationEvent.make(`${meta.id}/event/default-space-ready`);\n export const SpaceCreated = ActivationEvent.make(`${meta.id}/event/space-created`);\n export const SchemaAdded = ActivationEvent.make(`${meta.id}/event/schema-added`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Option from 'effect/Option';\nimport * as Schema from 'effect/Schema';\n\nimport { type Space } from '@dxos/client/echo';\nimport { Type } from '@dxos/echo';\nimport { EntityKind, SystemTypeAnnotation, createAnnotationHelper, getTypeAnnotation } from '@dxos/echo/internal';\n\nexport const TypeInputOptions = Schema.Struct({\n location: Schema.Array(Schema.Literal('database', 'runtime')),\n kind: Schema.Array(Schema.Literal('system', 'user')),\n registered: Schema.Array(Schema.Literal('registered', 'unregistered')),\n});\n\nexport type TypeInputOptions = Schema.Schema.Type<typeof TypeInputOptions>;\n\n/**\n * Used in forms to identify the field representing an object's type and determine which types are shown as options.\n */\nexport const TypeInputOptionsAnnotationId = Symbol.for('@dxos/schema/annotation/TypeInputOptions');\nexport const TypeInputOptionsAnnotation = createAnnotationHelper<TypeInputOptions>(TypeInputOptionsAnnotationId);\n\n// TODO(wittjosiah): This is too complicated and needs to be simplified.\nexport const getTypenames = ({ annotation, space }: { annotation: TypeInputOptions; space?: Space }) => {\n const includeRuntime = annotation.location.includes('runtime');\n const includeDatabase = annotation.location.includes('database');\n const includeSystemType = annotation.kind.includes('system');\n const includeUserType = annotation.kind.includes('user');\n const includeRegistered = annotation.registered.includes('registered');\n const includeUnregistered = annotation.registered.includes('unregistered');\n\n const runtimeTypenames =\n includeRuntime && space\n ? space.db.schemaRegistry\n .query({ location: ['runtime'] })\n .runSync()\n .filter((schema) => {\n const relation = getTypeAnnotation(schema)?.kind === EntityKind.Relation;\n if (relation) {\n return includeSystemType;\n }\n\n const system = SystemTypeAnnotation.get(schema).pipe(Option.getOrElse(() => false));\n if (system) {\n return includeSystemType;\n }\n\n return includeUserType;\n })\n .filter((schema) => {\n const registered = space?.properties.staticRecords?.includes(Type.getTypename(schema));\n return registered ? includeRegistered : includeUnregistered;\n })\n .map((schema) => Type.getTypename(schema))\n : [];\n\n const databaseTypenames =\n includeDatabase && includeRegistered && space\n ? space.db.schemaRegistry\n .query({ location: ['database'] })\n .runSync()\n .map((schema) => Type.getTypename(schema))\n : [];\n\n return Array.from(new Set<string>([...runtimeTypenames, ...databaseTypenames])).sort();\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport type * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { Capability, Plugin } from '@dxos/app-framework';\nimport { type PublicKey } from '@dxos/client';\n// TODO(wittjosiah): This pulls in full client.\nimport { SpaceSchema } from '@dxos/client/echo';\nimport { CancellableInvitationObservable, Invitation } from '@dxos/client/invitations';\nimport { Database, type Obj, QueryAST, Type } from '@dxos/echo';\nimport { Operation } from '@dxos/operation';\nimport { Collection, FieldSchema, View } from '@dxos/schema';\nimport { type ComplexMap } from '@dxos/util';\n\nimport { meta } from '../meta';\n\nimport { TypeInputOptionsAnnotation } from './form';\n\nexport const SPACE_DIRECTORY_HANDLE = `${meta.id}/directory`;\n\nexport const SPACE_TYPE = 'dxos.org/type/Space';\n\nexport type SpacePluginOptions = {\n /**\n * Base URL for the invitation link.\n */\n invitationUrl?: string;\n\n /**\n * Query parameter for the invitation code.\n */\n invitationProp?: string;\n\n /**\n * Whether to send observability events.\n */\n observability?: boolean;\n};\n\nexport type ObjectViewerProps = {\n lastSeen: number;\n currentlyAttended: boolean;\n};\n\nexport type ObjectId = string;\n\nexport type PluginState = {\n /**\n * Which objects are currently being viewed by which peers.\n */\n viewersByObject: Record<ObjectId, ComplexMap<PublicKey, ObjectViewerProps>>;\n\n /**\n * Which peers are currently viewing which objects.\n */\n viewersByIdentity: ComplexMap<PublicKey, Set<ObjectId>>;\n\n /**\n * Object that was linked to directly but not found and is being awaited.\n */\n awaiting: string | undefined;\n\n /**\n * Cached space names, used when spaces are closed or loading.\n */\n spaceNames: Record<string, string>;\n\n /**\n * Which spaces have an SDK migration running currently.\n */\n // TODO(wittjosiah): Factor out to sdk. Migration running should probably be a space state.\n sdkMigrationRunning: Record<string, boolean>;\n\n /**\n * Whether or not the user can navigate to collections in the graph.\n * Determined by whether or not there is an available plugin that can render a collection.\n */\n navigableCollections: boolean;\n\n /**\n * Tracks whether setting edge replication as default has been run on spaces.\n */\n // TODO(wittjosiah): Systematic way to handle migrations of state outside of spaces.\n enabledEdgeReplication: boolean;\n};\n\nexport const SpaceSettingsSchema = Schema.mutable(\n Schema.Struct({\n /**\n * Show closed spaces.\n */\n showHidden: Schema.Boolean,\n }),\n);\n\nexport type SpaceSettingsProps = Schema.Schema.Type<typeof SpaceSettingsSchema>;\n\n// TODO(wittjosiah): Reconcile with graph export serializers.\n\nexport type SerializerMap = Record<string, TypedObjectSerializer>;\n\nexport interface TypedObjectSerializer<T extends Obj.Unknown = Obj.Unknown> {\n serialize(params: { object: T }): Promise<string>;\n\n /**\n * @param params.content\n * @param params.space Space to use for deserializing schema references.\n * @param params.newId Generate new ID for deserialized object.\n */\n deserialize(params: { content: string; db: Database.Database; newId?: boolean }): Promise<T>;\n}\n\n/**\n * Factory function that creates an object directly using Type.make().\n * Returns an Effect that resolves to the created object.\n *\n * Options include:\n * - `db`: The database to use for object creation.\n */\nexport type CreateObject = (\n props: any,\n options: { db: Database.Database },\n) => Effect.Effect<Obj.Unknown, Error, Capability.Service | Operation.Service>;\n\n// TODO(burdon): Move to FormatEnum or SDK.\nexport const IconAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Icon');\nexport const HueAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Hue');\n\n// TOOD(burdon): Use SpacePropertiesSchema.\nexport const SpaceForm = Schema.Struct({\n name: Schema.optional(Schema.String.annotations({ title: 'Name' })),\n icon: Schema.optional(Schema.String.annotations({ title: 'Icon', [IconAnnotationId]: true })),\n hue: Schema.optional(Schema.String.annotations({ title: 'Color', [HueAnnotationId]: true })),\n edgeReplication: Schema.optional(Schema.Boolean.annotations({ title: 'Enable EDGE Replication' })),\n});\n\nconst COLLECTION_OPERATION = 'dxos.org/plugin/collection/operation';\n\nexport namespace CollectionOperation {\n export const Create = Operation.make({\n meta: { key: `${COLLECTION_OPERATION}/create`, name: 'Create Collection' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: Collection.Collection,\n }),\n },\n });\n}\n\nconst SPACE_OPERATION = `${meta.id}/operation`;\n\n/**\n * Operations for the Space plugin.\n */\nexport namespace SpaceOperation {\n export const Create = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/create`,\n name: 'Create Space',\n description: 'Create a new space.',\n },\n services: [Capability.Service, Plugin.Service],\n schema: {\n input: SpaceForm,\n output: Schema.Struct({\n id: Schema.String,\n subject: Schema.Array(Schema.String),\n space: SpaceSchema,\n }),\n },\n });\n\n export const Join = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/join`,\n name: 'Join Space',\n description: 'Join a space via invitation.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n invitationCode: Schema.optional(Schema.String),\n onDone: Schema.optional(Schema.Any),\n }),\n output: Schema.Void,\n },\n });\n\n export const Open = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/open`,\n name: 'Open Space',\n description: 'Open a space.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n },\n });\n\n export const Close = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/close`,\n name: 'Close Space',\n description: 'Close a space.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n },\n });\n\n export const Share = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/share`,\n name: 'Share Space',\n description: 'Share a space.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n space: SpaceSchema,\n type: Schema.Enums(Invitation.Type),\n authMethod: Schema.Enums(Invitation.AuthMethod),\n multiUse: Schema.Boolean,\n target: Schema.optional(Schema.String),\n }),\n output: Schema.instanceOf(CancellableInvitationObservable),\n },\n });\n\n // TODO(wittjosiah): This appears to be unused.\n export const Lock = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/lock`,\n name: 'Lock Space',\n description: 'Lock a space to prevent modifications.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n },\n });\n\n // TODO(wittjosiah): This appears to be unused.\n export const Unlock = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/unlock`,\n name: 'Unlock Space',\n description: 'Unlock a space to allow modifications.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n },\n });\n\n export const OpenSettings = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/open-settings`,\n name: 'Open Space Settings',\n description: 'Open space settings.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n },\n });\n\n export const WaitForObject = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/wait-for-object`,\n name: 'Wait For Object',\n description: 'Wait for an object to be available.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n id: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n },\n });\n\n export const AddObject = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/add-object`,\n name: 'Add Object',\n description: 'Add an object to a space.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n object: Type.Obj.annotations({ description: 'The object to add.' }),\n target: Schema.Union(Database.Database, Collection.Collection).annotations({\n description: 'The database or collection to add to.',\n }),\n hidden: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Struct({\n id: Schema.String,\n subject: Schema.Array(Schema.String),\n object: Type.Obj,\n }),\n },\n });\n\n export const RemoveObjectsOutput = Schema.Struct({\n objects: Schema.Array(Type.Obj).annotations({ description: 'The removed objects.' }),\n parentCollection: Collection.Collection.annotations({ description: 'The collection removed from.' }),\n indices: Schema.Array(Schema.Number).annotations({ description: 'The indices the objects were at.' }),\n nestedObjectsList: Schema.Array(Schema.Array(Type.Obj)).annotations({\n description: 'Nested objects that were removed.',\n }),\n wasActive: Schema.Array(Schema.String).annotations({\n description: 'IDs of objects that were active before removal.',\n }),\n });\n\n export type RemoveObjectsOutput = Schema.Schema.Type<typeof RemoveObjectsOutput>;\n\n export const RemoveObjects = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/remove-objects`,\n name: 'Remove Objects',\n description: 'Remove objects from a space.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n objects: Schema.Array(Type.Obj).annotations({ description: 'The objects to remove.' }),\n target: Schema.optional(Collection.Collection).annotations({ description: 'The collection to remove from.' }),\n }),\n output: RemoveObjectsOutput,\n },\n });\n\n export const DeleteFieldOutput = Schema.Struct({\n field: FieldSchema.annotations({ description: 'The deleted field schema.' }),\n // TODO(wittjosiah): This creates a type error with PropertySchema.\n props: Schema.Any.annotations({ description: 'The deleted field properties.' }),\n index: Schema.Number.annotations({ description: 'The index the field was at.' }),\n });\n\n export type DeleteFieldOutput = Schema.Schema.Type<typeof DeleteFieldOutput>;\n\n export const DeleteField = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/delete-field`,\n name: 'Delete Field',\n description: 'Delete a field from a view.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n view: View.View.annotations({ description: 'The view to delete the field from.' }),\n fieldId: Schema.String,\n }),\n output: DeleteFieldOutput,\n },\n });\n\n export const OpenCreateObject = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/open-create-object`,\n name: 'Open Create Object Dialog',\n description: 'Open the create object dialog.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n target: Schema.Union(Database.Database, Collection.Collection).annotations({\n description: 'The database or collection to create in.',\n }),\n views: Schema.optional(Schema.Boolean),\n typename: Schema.optional(Schema.String),\n initialFormValues: Schema.optional(Schema.Any),\n navigable: Schema.optional(Schema.Boolean),\n // TODO(wittjosiah): This is a function, is there a better way to handle this?\n onCreateObject: Schema.optional(Schema.Any),\n }),\n output: Schema.Void,\n },\n });\n\n export const OpenCreateSpace = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/open-create-space`,\n name: 'Open Create Space Dialog',\n description: 'Open the create space dialog.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Void,\n output: Schema.Void,\n },\n });\n\n export const Migrate = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/migrate`,\n name: 'Migrate Space',\n description: 'Migrate a space to a new version.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n space: SpaceSchema,\n version: Schema.optional(Schema.String),\n }),\n output: Schema.Boolean,\n },\n });\n\n export const Snapshot = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/snapshot`,\n name: 'Create Snapshot',\n description: 'Create a snapshot of the space.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n db: Database.Database,\n query: QueryAST.Query.pipe(Schema.optional),\n }),\n output: Schema.Struct({\n snapshot: Schema.instanceOf(Blob),\n }),\n },\n });\n\n export const Rename = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/rename`,\n name: 'Rename Space',\n description: 'Rename a space.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n space: SpaceSchema,\n caller: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n },\n });\n\n export const RenameObject = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/rename-object`,\n name: 'Rename Object',\n description: 'Rename an object.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n object: Type.Obj,\n caller: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n },\n });\n\n export const OpenMembers = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/open-members`,\n name: 'Open Members',\n description: 'Open the members panel for a space.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n },\n });\n\n export const GetShareLink = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/get-share-link`,\n name: 'Get Share Link',\n description: 'Get a shareable link for a space.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n space: SpaceSchema,\n target: Schema.optional(Schema.String),\n copyToClipboard: Schema.optional(Schema.Boolean),\n }),\n output: Schema.String,\n },\n });\n\n export const StoredSchemaForm = Schema.Struct({\n name: Schema.optional(Schema.String),\n typename: Schema.String.pipe(\n Schema.annotations({ title: 'Select type (leave blank to create a new type)' }),\n TypeInputOptionsAnnotation.set({\n location: ['runtime'],\n kind: ['user'],\n registered: ['unregistered'],\n }),\n Schema.optional,\n ),\n });\n\n export const UseStaticSchema = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/use-static-schema`,\n name: 'Use Static Schema',\n description: 'Use a static schema in the space.',\n },\n services: [Capability.Service, Plugin.Service],\n schema: {\n input: Schema.Struct({\n db: Database.Database,\n typename: Schema.String,\n show: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Struct({}),\n },\n });\n\n export const AddSchema = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/add-schema`,\n name: 'Add Schema',\n description: 'Add a schema to the space.',\n },\n services: [Capability.Service, Plugin.Service],\n schema: {\n input: Schema.Struct({\n db: Database.Database,\n name: Schema.optional(Schema.String),\n typename: Schema.optional(Schema.String),\n version: Schema.optional(Schema.String),\n // TODO(wittjosiah): Schema for schema?\n schema: Schema.Any,\n show: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Struct({\n id: Schema.String,\n object: Type.PersistentType,\n schema: Schema.instanceOf(Type.RuntimeType),\n }),\n },\n });\n\n export const AddRelation = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/add-relation`,\n name: 'Add Relation',\n description: 'Add a relation between objects.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n db: Database.Database,\n // TODO(wittjosiah): Relation schema.\n schema: Schema.Any,\n source: Type.Obj,\n target: Type.Obj,\n // TODO(wittjosiah): Type based on relation schema.\n fields: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Any })),\n }),\n output: Schema.Struct({\n relation: Schema.Any,\n }),\n },\n });\n\n // TODO(wittjosiah): This appears to be unused.\n export const DuplicateObject = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/duplicate-object`,\n name: 'Duplicate Object',\n description: 'Duplicate an object.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n object: Type.Obj,\n target: Schema.Union(Database.Database, Collection.Collection),\n }),\n output: Schema.Void,\n },\n });\n\n /**\n * Restore a deleted field to a view (inverse of DeleteField).\n */\n export const RestoreField = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/restore-field`,\n name: 'Restore Field',\n description: 'Restore a deleted field to a view.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n view: View.View.annotations({ description: 'The view to restore the field to.' }),\n field: FieldSchema.annotations({ description: 'The field schema to restore.' }),\n // TODO(wittjosiah): This creates a type error with PropertySchema.\n props: Schema.Any.annotations({ description: 'The field properties to restore.' }),\n index: Schema.Number.annotations({ description: 'The index to restore the field at.' }),\n }),\n output: Schema.Void,\n },\n });\n\n /**\n * Restore deleted objects to a space (inverse of RemoveObjects).\n */\n export const RestoreObjects = Operation.make({\n meta: {\n key: `${SPACE_OPERATION}/restore-objects`,\n name: 'Restore Objects',\n description: 'Restore deleted objects to a space.',\n },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n objects: Schema.Array(Type.Obj).annotations({ description: 'The objects to restore.' }),\n parentCollection: Collection.Collection.annotations({ description: 'The collection to restore to.' }),\n indices: Schema.Array(Schema.Number).annotations({ description: 'The indices to restore at.' }),\n nestedObjectsList: Schema.Array(Schema.Array(Type.Obj)).annotations({\n description: 'Nested objects to restore.',\n }),\n wasActive: Schema.Array(Schema.String).annotations({\n description: 'IDs of objects that were active before deletion.',\n }),\n }),\n output: Schema.Void,\n },\n });\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["Schema", "Capability", "SpaceCapabilities", "Settings", "Capability", "make", "meta", "id", "StateSchema", "mutable", "Struct", "spaceNames", "Record", "key", "String", "value", "enabledEdgeReplication", "Boolean", "State", "EphemeralState", "SettingsSection", "OnCreateSpace", "OnSchemaAdded", "Repair", "ActivationEvent", "Common", "SpaceEvents", "StateReady", "Common", "ActivationEvent", "createStateEvent", "meta", "id", "SetupSettingsPanel", "make", "DefaultSpaceReady", "SpaceCreated", "SchemaAdded", "Option", "Schema", "Type", "EntityKind", "SystemTypeAnnotation", "createAnnotationHelper", "getTypeAnnotation", "TypeInputOptions", "Struct", "location", "Array", "Literal", "kind", "registered", "TypeInputOptionsAnnotationId", "Symbol", "for", "TypeInputOptionsAnnotation", "createAnnotationHelper", "getTypenames", "annotation", "space", "includeRuntime", "includes", "includeDatabase", "includeSystemType", "includeUserType", "includeRegistered", "includeUnregistered", "runtimeTypenames", "db", "schemaRegistry", "query", "runSync", "filter", "schema", "relation", "getTypeAnnotation", "EntityKind", "Relation", "system", "SystemTypeAnnotation", "get", "pipe", "getOrElse", "properties", "staticRecords", "Type", "getTypename", "map", "databaseTypenames", "from", "Set", "sort", "Schema", "Capability", "Plugin", "SpaceSchema", "CancellableInvitationObservable", "Invitation", "Database", "QueryAST", "Type", "Operation", "Collection", "FieldSchema", "View", "SPACE_DIRECTORY_HANDLE", "meta", "id", "SPACE_TYPE", "SpaceSettingsSchema", "mutable", "Struct", "showHidden", "Boolean", "IconAnnotationId", "Symbol", "for", "HueAnnotationId", "SpaceForm", "name", "optional", "String", "annotations", "title", "icon", "hue", "edgeReplication", "COLLECTION_OPERATION", "CollectionOperation", "Create", "Operation", "make", "key", "services", "Capability", "Service", "schema", "input", "output", "object", "Collection", "SPACE_OPERATION", "SpaceOperation", "description", "Plugin", "subject", "Array", "space", "SpaceSchema", "Join", "invitationCode", "onDone", "Any", "Void", "Open", "Close", "Share", "type", "Enums", "Invitation", "Type", "authMethod", "AuthMethod", "multiUse", "target", "instanceOf", "CancellableInvitationObservable", "Lock", "Unlock", "OpenSettings", "WaitForObject", "AddObject", "Obj", "Union", "Database", "hidden", "RemoveObjectsOutput", "objects", "parentCollection", "indices", "Number", "nestedObjectsList", "wasActive", "RemoveObjects", "DeleteFieldOutput", "field", "FieldSchema", "props", "index", "DeleteField", "view", "View", "fieldId", "OpenCreateObject", "views", "typename", "initialFormValues", "navigable", "onCreateObject", "OpenCreateSpace", "Migrate", "version", "Snapshot", "db", "query", "QueryAST", "Query", "pipe", "snapshot", "Blob", "Rename", "caller", "RenameObject", "OpenMembers", "GetShareLink", "copyToClipboard", "StoredSchemaForm", "TypeInputOptionsAnnotation", "set", "location", "kind", "registered", "UseStaticSchema", "show", "AddSchema", "PersistentType", "RuntimeType", "AddRelation", "source", "fields", "Record", "value", "relation", "DuplicateObject", "RestoreField", "RestoreObjects"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/identity-created/identity-created.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Obj, Ref } from '@dxos/echo';\nimport { Migrations } from '@dxos/migrations';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { Collection } from '@dxos/schema';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const client = yield* Capability.get(ClientCapabilities.Client);\n yield* Effect.tryPromise(() => client.spaces.waitUntilReady());\n\n const defaultSpace = client.spaces.default;\n yield* Effect.tryPromise(() => defaultSpace.waitUntilReady());\n\n // Create root collection structure.\n Obj.change(defaultSpace.properties, (p) => {\n p[Collection.Collection.typename] = Ref.make(Collection.make());\n if (Migrations.versionProperty) {\n p[Migrations.versionProperty] = Migrations.targetVersion;\n }\n });\n }),\n);\n"],
|
|
5
|
-
"mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,KAAKC,WAAW;AACzB,SAASC,kBAAkB;AAC3B,SAASC,0BAA0B;AACnC,SAASC,kBAAkB;AAE3B,IAAA,2BAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAChB,QAAMC,SAAS,OAAOH,WAAWI,IAAIC,mBAAmBC,MAAM;AAC9D,SAAcC,kBAAW,MAAMJ,OAAOK,OAAOC,eAAc,CAAA;AAE3D,QAAMC,eAAeP,OAAOK,OAAOG;AACnC,SAAcJ,kBAAW,MAAMG,aAAaD,eAAc,CAAA;AAG1DG,MAAIC,OAAOH,aAAaI,YAAY,CAACC,MAAAA;AACnCA,MAAEC,WAAWA,WAAWC,QAAQ,IAAIC,IAAIC,KAAKH,WAAWG,KAAI,CAAA;AAC5D,QAAIC,WAAWC,iBAAiB;AAC9BN,QAAEK,WAAWC,eAAe,IAAID,WAAWE;IAC7C;EACF,CAAA;AACF,CAAA,CAAA;",
|
|
6
|
-
"names": ["Effect", "Capability", "Obj", "Ref", "Migrations", "ClientCapabilities", "Collection", "Capability", "makeModule", "fnUntraced", "client", "get", "ClientCapabilities", "Client", "tryPromise", "spaces", "waitUntilReady", "defaultSpace", "default", "Obj", "change", "properties", "p", "Collection", "typename", "Ref", "make", "Migrations", "versionProperty", "targetVersion"]
|
|
7
|
-
}
|