@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
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/app-graph-builder/app-graph-builder.ts", "../../../src/capabilities/app-graph-builder/extensions/spaces.ts", "../../../src/capabilities/app-graph-builder/extensions/shared.ts", "../../../src/capabilities/app-graph-builder/extensions/types.ts", "../../../src/capabilities/app-graph-builder/extensions/collections.ts", "../../../src/capabilities/app-graph-builder/extensions/companions.ts", "../../../src/capabilities/app-graph-builder/extensions/settings.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\n\nimport { type SpacePluginOptions } from '../../types';\n\nimport {\n createCollectionExtensions,\n createCompanionExtensions,\n createSettingsExtensions,\n createSpaceExtensions,\n createTypeExtensions,\n} from './extensions';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* ({ shareableLinkOrigin = window.location.origin }: SpacePluginOptions = {}) {\n const extensions = yield* Effect.all([\n createSpaceExtensions(),\n createTypeExtensions(),\n createCollectionExtensions({ shareableLinkOrigin }),\n createCompanionExtensions(),\n createSettingsExtensions(),\n ]);\n\n return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions.flat());\n }),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities, COMPANION_PREFIX } from '@dxos/app-toolkit';\nimport { type Space, SpaceState } from '@dxos/client/echo';\nimport { Filter, Obj } from '@dxos/echo';\nimport { AtomObj, AtomQuery } from '@dxos/echo-atom';\nimport { Migrations } from '@dxos/migrations';\nimport { Operation } from '@dxos/operation';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { CreateAtom, Graph, GraphBuilder, Node, NodeMatcher } from '@dxos/plugin-graph';\nimport { Expando } from '@dxos/schema';\n\nimport { getActiveSpace } from '../../../hooks';\nimport { meta } from '../../../meta';\nimport { SPACE_TYPE, SpaceCapabilities, SpaceOperation } from '../../../types';\nimport { SHARED, getSpaceDisplayName } from '../../../util';\n\nimport {\n CACHEABLE_PROPS,\n CAN_DROP_SPACE,\n CREATE_OBJECT_IN_SPACE_LABEL,\n MIGRATE_SPACE_LABEL,\n RENAME_SPACE_LABEL,\n SETTINGS_PANEL_LABEL,\n checkPendingMigration,\n spaceActionsCache,\n spaceRearrangeCache,\n whenSpace,\n} from './shared';\n\n//\n// Extension Factory\n//\n\n/** Creates space-related extensions: primary actions, space nodes, and space actions. */\nexport const createSpaceExtensions = Effect.fnUntraced(function* () {\n const capabilities = yield* Capability.Service;\n\n return yield* Effect.all([\n GraphBuilder.createExtension({\n id: `${meta.id}.primary-actions`,\n position: 'hoist',\n match: NodeMatcher.whenRoot,\n actions: () =>\n Effect.succeed([\n {\n id: SpaceOperation.OpenCreateSpace.meta.key,\n data: () => Operation.invoke(SpaceOperation.OpenCreateSpace),\n properties: {\n label: ['create space label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n testId: 'spacePlugin.createSpace',\n disposition: 'menu',\n },\n },\n {\n id: SpaceOperation.Join.meta.key,\n data: () => Operation.invoke(SpaceOperation.Join, {}),\n properties: {\n label: ['join space label', { ns: meta.id }],\n icon: 'ph--sign-in--regular',\n testId: 'spacePlugin.joinSpace',\n disposition: 'menu',\n },\n },\n {\n id: SpaceOperation.OpenMembers.meta.key,\n data: Effect.fnUntraced(function* () {\n const client = yield* Capability.get(ClientCapabilities.Client);\n const space = getActiveSpace(capabilities) ?? client.spaces.default;\n yield* Operation.invoke(SpaceOperation.OpenMembers, { space });\n }),\n properties: {\n label: ['share space label', { ns: meta.id }],\n icon: 'ph--users--regular',\n testId: 'spacePlugin.shareSpace',\n keyBinding: {\n macos: 'meta+.',\n windows: 'alt+.',\n },\n },\n },\n {\n id: SpaceOperation.OpenSettings.meta.key,\n data: Effect.fnUntraced(function* () {\n const client = yield* Capability.get(ClientCapabilities.Client);\n const space = getActiveSpace(capabilities) ?? client.spaces.default;\n yield* Operation.invoke(SpaceOperation.OpenSettings, { space });\n }),\n properties: {\n label: ['open current space settings label', { ns: meta.id }],\n icon: 'ph--faders--regular',\n keyBinding: {\n macos: 'meta+shift+,',\n windows: 'ctrl+shift+,',\n },\n },\n },\n ]),\n }),\n\n GraphBuilder.createExtension({\n id: `${meta.id}.spaces`,\n match: NodeMatcher.whenRoot,\n connector: (_node, get) => {\n const client = capabilities.get(ClientCapabilities.Client);\n const stateAtom = capabilities.get(SpaceCapabilities.State);\n const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);\n const spacesAtom = CreateAtom.fromObservable(client.spaces);\n const isReadyAtom = CreateAtom.fromObservable(client.spaces.isReady);\n\n const spaces = get(spacesAtom);\n const isReady = get(isReadyAtom);\n\n if (!spaces || !isReady) {\n return Effect.succeed([]);\n }\n\n const settingsAtom = capabilities.get(SpaceCapabilities.Settings);\n const settings = get(settingsAtom);\n const state = get(stateAtom);\n const ephemeralState = get(ephemeralAtom);\n\n try {\n const [spacesOrder] = get(\n AtomQuery.make(client.spaces.default.db, Filter.type(Expando.Expando, { key: SHARED })),\n );\n const { graph } = capabilities.get(AppCapabilities.AppGraph);\n\n const spacesOrderSnapshot = spacesOrder ? get(AtomObj.make(spacesOrder)) : undefined;\n const order: string[] = (spacesOrderSnapshot as any)?.order ?? [];\n const orderMap = new Map(order.map((id, index) => [id, index]));\n\n const spaceStates = spaces.map((space) => get(CreateAtom.fromObservable(space.state)));\n\n spaces.forEach((space) => {\n if (space.state.get() === SpaceState.SPACE_READY) {\n get(AtomObj.make(space.properties));\n }\n });\n\n return Effect.succeed(\n [\n ...spaces\n .filter((space) => orderMap.has(space.id))\n .sort((sortA, sortB) => orderMap.get(sortA.id)! - orderMap.get(sortB.id)!),\n ...spaces.filter((space) => !orderMap.has(space.id)),\n ]\n .filter((space, idx) => (settings?.showHidden ? true : spaceStates[idx] !== SpaceState.SPACE_INACTIVE))\n .map((space) =>\n constructSpaceNode({\n space,\n navigable: ephemeralState.navigableCollections,\n personal: space === client.spaces.default,\n namesCache: state.spaceNames,\n graph,\n spacesOrder,\n }),\n ),\n );\n } catch {\n return Effect.succeed([]);\n }\n },\n // TODO(graph-path-ids): Resolver temporarily disabled; redesign needed for path-based IDs.\n // resolver: (id, get) => { ... },\n }),\n\n GraphBuilder.createExtension({\n id: `${meta.id}.actions`,\n match: whenSpace,\n actions: (space, get) => {\n const [client] = get(capabilities.atom(ClientCapabilities.Client));\n const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);\n const ephemeralState = get(ephemeralAtom);\n\n if (!client) {\n return Effect.succeed([]);\n }\n\n return Effect.succeed(\n constructSpaceActions({\n space,\n migrating: ephemeralState.sdkMigrationRunning[space.id],\n }),\n );\n },\n }),\n ]);\n});\n\n//\n// Helpers\n//\n\n/** Builds an app-graph node for a space, including settings children and optional rearrange handler. */\nconst constructSpaceNode = ({\n space,\n navigable = false,\n personal,\n namesCache,\n graph,\n spacesOrder,\n}: {\n space: Space;\n navigable?: boolean;\n personal?: boolean;\n namesCache?: Record<string, string>;\n graph?: Graph.ExpandableGraph;\n spacesOrder?: Obj.Any;\n}) => {\n const hasPendingMigration = checkPendingMigration(space);\n\n let onRearrange: ((nextOrder: Space[]) => void) | undefined;\n if (graph && spacesOrder) {\n onRearrange = spaceRearrangeCache.get(space.id);\n if (!onRearrange) {\n onRearrange = (nextOrder: Space[]) => {\n Graph.sortEdges(\n graph,\n Node.RootId,\n 'outbound',\n nextOrder.map(({ id }) => id),\n );\n\n Obj.change(spacesOrder, (mutableOrder: any) => {\n mutableOrder.order = nextOrder.map(({ id }) => id);\n });\n };\n spaceRearrangeCache.set(space.id, onRearrange);\n }\n }\n\n return {\n id: space.id,\n type: SPACE_TYPE,\n cacheable: CACHEABLE_PROPS,\n data: space,\n properties: {\n label: getSpaceDisplayName(space, { personal, namesCache }),\n description: space.state.get() === SpaceState.SPACE_READY && space.properties.description,\n hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,\n icon:\n space.state.get() === SpaceState.SPACE_READY && space.properties.icon\n ? `ph--${space.properties.icon}--regular`\n : undefined,\n iconHue: space.state.get() === SpaceState.SPACE_READY && space.properties.iconHue,\n disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,\n disposition: 'workspace',\n testId: 'spacePlugin.space',\n onRearrange,\n canDrop: CAN_DROP_SPACE,\n },\n nodes: [\n {\n id: 'settings',\n type: `${meta.id}.settings`,\n data: null,\n properties: {\n label: SETTINGS_PANEL_LABEL,\n icon: 'ph--faders--regular',\n disposition: 'alternate-tree',\n },\n },\n ],\n };\n};\n\n/** Builds the action list for a space node (migrate, create object, rename). */\nconst constructSpaceActions = ({ space, migrating }: { space: Space; migrating?: boolean }) => {\n const state = space.state.get();\n const hasPendingMigration = checkPendingMigration(space);\n const isMigrating = migrating || Migrations.running(space);\n\n const cached = spaceActionsCache.get(space.id);\n if (\n cached &&\n cached.state === state &&\n cached.hasPendingMigration === hasPendingMigration &&\n cached.migrating === isMigrating\n ) {\n return cached.actions;\n }\n\n const actions: Node.NodeArg<Node.ActionData<Operation.Service>>[] = [];\n\n if (hasPendingMigration) {\n actions.push({\n id: SpaceOperation.Migrate.meta.key,\n type: Node.ActionGroupType,\n data: () => Operation.invoke(SpaceOperation.Migrate, { space }),\n properties: {\n label: MIGRATE_SPACE_LABEL,\n icon: 'ph--database--regular',\n disposition: 'list-item-primary',\n disabled: isMigrating,\n },\n });\n }\n\n if (state === SpaceState.SPACE_READY && !hasPendingMigration) {\n actions.push(\n {\n id: SpaceOperation.OpenCreateObject.meta.key,\n type: Node.ActionType,\n data: () => Operation.invoke(SpaceOperation.OpenCreateObject, { target: space.db }),\n properties: {\n label: CREATE_OBJECT_IN_SPACE_LABEL,\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n {\n id: SpaceOperation.Rename.meta.key,\n type: Node.ActionType,\n data: (params?: Node.InvokeProps) =>\n Operation.invoke(SpaceOperation.Rename, { space, caller: `${params?.caller}:${params?.parent?.id}` }),\n properties: {\n label: RENAME_SPACE_LABEL,\n icon: 'ph--pencil-simple-line--regular',\n keyBinding: {\n macos: 'shift+F6',\n windows: 'shift+F6',\n },\n },\n },\n );\n }\n\n spaceActionsCache.set(space.id, { state, hasPendingMigration, migrating: isMigrating, actions });\n return actions;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Atom } from '@effect-atom/atom-react';\nimport * as Option from 'effect/Option';\n\nimport { type Space, SpaceState, isSpace } from '@dxos/client/echo';\nimport { Filter, Obj, type Type } from '@dxos/echo';\nimport { AtomObj, AtomQuery } from '@dxos/echo-atom';\nimport { Migrations } from '@dxos/migrations';\nimport { type Operation } from '@dxos/operation';\nimport { type Node } from '@dxos/plugin-graph';\nimport { type TreeData } from '@dxos/react-ui-list';\nimport { ViewAnnotation, getTypenameFromQuery } from '@dxos/schema';\nimport { type Label } from '@dxos/ui-types';\n\nimport { meta } from '../../../meta';\nimport { SPACE_TYPE } from '../../../types';\n\nexport {\n type MetadataResolver,\n ACCEPT_ECHO_CLASS,\n CACHEABLE_PROPS,\n CAN_DROP_OBJECT,\n blockInstructionCache,\n buildCollectionPartials,\n collectionPartialsCache,\n createFactory,\n createObjectNode,\n getAcceptPersistenceKey,\n getCollectionGraphNodePartials,\n getDynamicLabel,\n rearrangeCache,\n} from '@dxos/app-toolkit';\n\n//\n// Virtual Node Types\n//\n\nexport const TYPES_SECTION_TYPE = `${meta.id}.types`;\nexport const COLLECTIONS_SECTION_TYPE = `${meta.id}.collections`;\nexport const TYPE_COLLECTION_TYPE = `${meta.id}.type-collection`;\nexport const STATIC_SCHEMA_TYPE = `${meta.id}.static-schema`;\n\n//\n// Constants\n//\n\n/** Shared translation namespace descriptor. */\nexport const META_NS: { ns: string } = { ns: meta.id };\n\n//\n// Stable Callbacks\n//\n\nexport const BLOCK_REORDER_ABOVE = (_source: TreeData, instruction: any) => instruction.type === 'reorder-above';\nexport const CAN_DROP_SPACE = (source: TreeData) => Obj.isObject(source.item.data) || isSpace(source.item.data);\n\n//\n// Matchers\n//\n\n/** Match space nodes and return the Space object. */\nexport const whenSpace = (node: Node.Node): Option.Option<Space> =>\n node.type === SPACE_TYPE && isSpace(node.data) ? Option.some(node.data) : Option.none();\n\n//\n// Caches (space-specific, not moved to app-toolkit)\n//\n\nexport const spaceActionsCache = new Map<\n string,\n {\n state: SpaceState;\n hasPendingMigration: boolean;\n migrating: boolean;\n actions: Node.NodeArg<Node.ActionData<Operation.Service>>[];\n }\n>();\nexport const spaceRearrangeCache = new Map<string, (nextOrder: Space[]) => void>();\n\n//\n// Static Labels\n//\n\nexport const ADD_VIEW_TO_SCHEMA_LABEL: Label = ['add view to schema label', META_NS];\nexport const COPY_LINK_LABEL: Label = ['copy link label', META_NS];\nexport const CREATE_OBJECT_IN_COLLECTION_LABEL: Label = ['create object in collection label', META_NS];\nexport const CREATE_OBJECT_IN_SPACE_LABEL: Label = ['create object in space label', META_NS];\nexport const EXPOSE_OBJECT_LABEL: Label = ['expose object label', META_NS];\nexport const MIGRATE_SPACE_LABEL: Label = ['migrate space label', META_NS];\nexport const NEW_TYPE_LABEL: Label = ['new type label', META_NS];\nexport const REMOVE_FROM_COLLECTION_LABEL: Label = ['remove from collection label', META_NS];\nexport const RENAME_SPACE_LABEL: Label = ['rename space label', META_NS];\nexport const SETTINGS_PANEL_LABEL: Label = ['settings panel label', META_NS];\nexport const SNAPSHOT_BY_SCHEMA_LABEL: Label = ['snapshot by schema label', META_NS];\n\n//\n// Helpers\n//\n\nexport const checkPendingMigration = (space: Space) => {\n return (\n space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION ||\n (space.state.get() === SpaceState.SPACE_READY &&\n !!Migrations.versionProperty &&\n space.properties[Migrations.versionProperty] !== Migrations.targetVersion)\n );\n};\n\nexport const downloadBlob = async (blob: Blob, filename: string) => {\n const url = URL.createObjectURL(blob);\n const anchor = document.createElement('a');\n anchor.href = url;\n anchor.download = filename;\n\n document.body.appendChild(anchor);\n anchor.click();\n\n document.body.removeChild(anchor);\n URL.revokeObjectURL(url);\n};\n\n//\n// View Index\n//\n\n/**\n * Index of view objects grouped by their target typename.\n */\nexport type ViewIndex = {\n /** Typenames that have at least one straightforward view targeting them. */\n typenamesWithViews: Set<string>;\n /** View objects targeting a specific typename. */\n getViewsForTypename: (typename: string) => Obj.Any[];\n};\n\n/**\n * Builds an index of view objects by scanning view-annotated schemas and resolving the target\n * typename from each view's query AST. Only straightforward views whose query resolves to a\n * simple typename via getTypenameFromQuery are included.\n */\n// TODO(wittjosiah): Make reactive to schema registry changes (currently only object/view mutations trigger updates).\nexport const buildViewIndex = (get: Atom.Context, space: Space, schemas: Type.AnyEntity[]): ViewIndex => {\n const viewSchemas = schemas.filter((schema) => ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false)));\n\n const viewsByTypename = new Map<string, Obj.Any[]>();\n\n if (viewSchemas.length > 0) {\n const filter = Filter.or(...viewSchemas.map((schema) => Filter.type(schema)));\n const viewObjects = get(AtomQuery.make(space.db, filter));\n\n for (const viewObject of viewObjects) {\n const viewSnapshot = get(AtomObj.make(viewObject));\n const viewRef = viewSnapshot.view;\n const viewTarget = viewRef ? get(AtomObj.make(viewRef)) : undefined;\n const typename = getTypenameFromQuery(viewTarget?.query?.ast);\n if (typename) {\n const existing = viewsByTypename.get(typename) ?? [];\n existing.push(viewObject);\n viewsByTypename.set(typename, existing);\n }\n }\n }\n\n return {\n typenamesWithViews: new Set(viewsByTypename.keys()),\n getViewsForTypename: (typename) => viewsByTypename.get(typename) ?? [],\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Atom } from '@effect-atom/atom-react';\nimport * as Effect from 'effect/Effect';\nimport * as Match from 'effect/Match';\nimport * as Option from 'effect/Option';\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities, LayoutOperation, Segments } from '@dxos/app-toolkit';\nimport { type Space, SpaceState, isSpace } from '@dxos/client/echo';\nimport { Collection, Filter, Obj, Query, Type } from '@dxos/echo';\nimport { EntityKind, SystemTypeAnnotation, getTypeAnnotation } from '@dxos/echo/internal';\nimport { AtomObj, AtomQuery } from '@dxos/echo-atom';\nimport { Operation } from '@dxos/operation';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { CreateAtom, GraphBuilder, Node } from '@dxos/plugin-graph';\nimport { ViewAnnotation } from '@dxos/schema';\nimport { createFilename, isNonNullable } from '@dxos/util';\n\nimport { meta } from '../../../meta';\nimport { SpaceOperation } from '../../../types';\n\nimport {\n ADD_VIEW_TO_SCHEMA_LABEL,\n BLOCK_REORDER_ABOVE,\n type MetadataResolver,\n SNAPSHOT_BY_SCHEMA_LABEL,\n STATIC_SCHEMA_TYPE,\n TYPES_SECTION_TYPE,\n TYPE_COLLECTION_TYPE,\n buildViewIndex,\n createObjectNode,\n downloadBlob,\n getDynamicLabel,\n whenSpace,\n} from './shared';\n\n//\n// Extension Factory\n//\n\n/** Creates type-related extensions: types section, schema nodes, schema children, and schema actions. */\nexport const createTypeExtensions = Effect.fnUntraced(function* () {\n const capabilities = yield* Capability.Service;\n\n const resolve = (_get: any) => (typename: string) =>\n capabilities.getAll(AppCapabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};\n\n return yield* Effect.all([\n // Types section virtual node under each space.\n GraphBuilder.createExtension({\n id: `${meta.id}.types-section`,\n match: whenSpace,\n connector: (space, get) => {\n const spaceState = get(CreateAtom.fromObservable(space.state));\n if (spaceState !== SpaceState.SPACE_READY) {\n return Effect.succeed([]);\n }\n\n return Effect.succeed([\n {\n id: Segments.types,\n type: TYPES_SECTION_TYPE,\n data: null,\n properties: {\n label: ['types section label', { ns: meta.id }],\n icon: 'ph--shapes--regular',\n iconHue: 'neutral',\n role: 'branch',\n testId: 'spacePlugin.typesSection',\n draggable: false,\n droppable: false,\n space,\n },\n },\n ]);\n },\n }),\n\n // Schema nodes under the Types virtual node.\n GraphBuilder.createExtension({\n id: `${meta.id}.types`,\n match: (node) => {\n const space = isSpace(node.properties.space) ? node.properties.space : undefined;\n return node.type === TYPES_SECTION_TYPE && space ? Option.some(space) : Option.none();\n },\n connector: (space, get) => {\n const allSchemas = get(\n AtomQuery.fromQuery(space.db.schemaRegistry.query({ location: ['database', 'runtime'] })),\n );\n\n const userSchemas = allSchemas.filter((schema) => {\n if (getTypeAnnotation(schema)?.kind === EntityKind.Relation) {\n return false;\n }\n if (SystemTypeAnnotation.get(schema).pipe(Option.getOrElse(() => false))) {\n return false;\n }\n if (ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false))) {\n return false;\n }\n if (Type.getTypename(schema) === Collection.Collection.typename) {\n return false;\n }\n return true;\n });\n\n const viewIndex = buildViewIndex(get, space, allSchemas);\n\n const visibleSchemas = userSchemas.filter((schema) => {\n if (Type.isMutable(schema)) {\n return true;\n }\n const typename = Type.getTypename(schema);\n const objects = get(AtomQuery.make(space.db, Filter.typename(typename)));\n return objects.length > 0 || viewIndex.typenamesWithViews.has(typename);\n });\n\n return Effect.succeed(\n visibleSchemas.map((schema) => createSchemaNode({ schema, space, resolve: resolve(get), get })),\n );\n },\n }),\n\n // {All} virtual node + view objects under each schema node.\n GraphBuilder.createExtension({\n id: `${meta.id}.schema-children`,\n match: (node) => {\n const space = isSpace(node.properties.space) ? node.properties.space : undefined;\n return space && (Obj.instanceOf(Type.PersistentType, node.data) || Schema.isSchema(node.data))\n ? Option.some({ space, schema: node.data })\n : Option.none();\n },\n connector: ({ space, schema }, get) => {\n const client = get(capabilities.atom(ClientCapabilities.Client)).at(0);\n const schemas = client\n ? get(AtomQuery.fromQuery(client.graph.schemaRegistry.query({ location: ['runtime'] })))\n : [];\n\n const typename = Schema.isSchema(schema) ? Type.getTypename(schema as Type.AnyObj) : schema.typename;\n\n // {All} virtual node.\n const allNode = {\n id: 'all',\n type: TYPE_COLLECTION_TYPE,\n data: { space, typename },\n properties: {\n label: ['type collection all label', { ns: meta.id }],\n icon: 'ph--list--regular',\n iconHue: 'neutral',\n role: 'branch',\n testId: `spacePlugin.typeCollectionAll.${typename}`,\n selectable: false,\n draggable: false,\n droppable: false,\n childrenDroppable: false,\n blockInstruction: BLOCK_REORDER_ABOVE,\n },\n };\n\n // View objects for this schema.\n const viewIndex = buildViewIndex(get, space, schemas);\n const viewNodes = viewIndex\n .getViewsForTypename(typename)\n .map((object: Obj.Unknown) =>\n createObjectNode({\n db: space.db,\n object,\n resolve: resolve(get),\n droppable: false,\n }),\n )\n .filter(isNonNullable);\n\n return Effect.succeed([allNode, ...viewNodes]);\n },\n }),\n\n // Objects of the schema type under the {All} node.\n GraphBuilder.createExtension({\n id: `${meta.id}.type-collection-objects`,\n match: (node) => {\n if (node.type !== TYPE_COLLECTION_TYPE || !node.data?.space || !node.data?.typename) {\n return Option.none();\n }\n return Option.some({ space: node.data.space as Space, typename: node.data.typename as string });\n },\n connector: ({ space, typename }, get) => {\n const objects = get(AtomQuery.make(space.db, Filter.typename(typename)));\n\n return Effect.succeed(\n objects\n .map((object: Obj.Unknown) => {\n get(AtomObj.make(object));\n return createObjectNode({\n db: space.db,\n object,\n resolve: resolve(get),\n droppable: false,\n });\n })\n .filter(isNonNullable),\n );\n },\n }),\n\n // Actions for schema nodes.\n GraphBuilder.createExtension({\n id: `${meta.id}.schema-actions`,\n match: (node) => {\n const space = isSpace(node.properties.space) ? node.properties.space : undefined;\n return space && Schema.isSchema(node.data) ? Option.some({ space, schema: node.data }) : Option.none();\n },\n actions: ({ space, schema }, get) => {\n const client = get(capabilities.atom(ClientCapabilities.Client)).at(0);\n const schemas = client\n ? get(AtomQuery.fromQuery(client.graph.schemaRegistry.query({ location: ['runtime'] })))\n : [];\n\n const targetTypename = Type.getTypename(schema as Type.AnyObj);\n const viewIndex = buildViewIndex(get, space, schemas);\n const deletable =\n Type.isMutable(schema as Type.AnyObj) && viewIndex.getViewsForTypename(targetTypename).length === 0;\n\n return Effect.succeed(\n createSchemaActions({\n schema: schema as Type.AnyObj,\n space,\n deletable,\n resolve: resolve(get),\n }),\n );\n },\n }),\n ]);\n});\n\n//\n// Helpers\n//\n\n/** Returns schemas keyed uniquely by typename, preferring later entries. */\nconst uniqueSchemasByTypename = <TSchema extends Type.AnyEntity>(schemas: TSchema[]): TSchema[] => {\n const uniqueSchemas = new Map<string, TSchema>();\n for (const schema of schemas) {\n uniqueSchemas.set(Type.getTypename(schema), schema);\n }\n\n return [...uniqueSchemas.values()];\n};\n\n/** Builds a graph node for a schema in the Types subtree. */\nconst createSchemaNode = ({\n schema,\n space,\n resolve,\n get,\n}: {\n schema: Type.AnyEntity;\n space: Space;\n resolve: MetadataResolver;\n get: Atom.Context;\n}): Node.Node => {\n const typename = Type.getTypename(schema);\n const metadata = resolve(typename);\n const { label, nodeId } = Match.value(schema).pipe(\n Match.when(Type.isMutable, (mutableSchema) => {\n const persistentSchema = mutableSchema.persistentSchema;\n const snapshot = get(AtomObj.make(persistentSchema));\n return {\n label: snapshot.name || ['object name placeholder', { ns: Type.PersistentType.typename }],\n nodeId: typename,\n };\n }),\n Match.orElse(() => ({\n label: getDynamicLabel('typename label', typename, { count: 2, default: typename }),\n nodeId: typename,\n })),\n );\n const icon = Type.isMutable(schema) ? 'ph--cube--regular' : (metadata.icon ?? 'ph--placeholder--regular');\n const iconHue = Type.isMutable(schema) ? 'neutral' : metadata.iconHue;\n return {\n id: nodeId,\n type: STATIC_SCHEMA_TYPE,\n data: schema,\n properties: {\n label,\n icon,\n iconHue,\n role: 'branch',\n testId: `spacePlugin.schemaNode.${typename}`,\n selectable: false,\n draggable: false,\n droppable: false,\n childrenDroppable: false,\n space,\n },\n };\n};\n\n/** Builds schema actions (add view, rename, delete, snapshot). */\nconst createSchemaActions = ({\n schema,\n space,\n deletable,\n resolve,\n}: {\n schema: Type.AnyObj;\n space: Space;\n deletable: boolean;\n resolve: MetadataResolver;\n}) => {\n const typename = Type.getTypename(schema);\n const metadata = resolve(typename);\n const createObjectFn = metadata.createObject;\n const inputSchema = metadata.inputSchema;\n\n const actions: Node.NodeArg<Node.ActionData<Operation.Service>>[] = [\n ...(createObjectFn\n ? [\n {\n id: SpaceOperation.OpenCreateObject.meta.key,\n type: Node.ActionType,\n data: Effect.fnUntraced(function* () {\n if (inputSchema) {\n yield* Operation.invoke(SpaceOperation.OpenCreateObject, {\n target: space.db,\n typename,\n });\n } else {\n const createdObject = yield* createObjectFn({}, { db: space.db }) as Effect.Effect<\n Obj.Unknown,\n Error,\n never\n >;\n const addResult = yield* Operation.invoke(SpaceOperation.AddObject, {\n target: space.db,\n hidden: true,\n object: createdObject,\n });\n if (addResult.subject) {\n yield* Operation.invoke(LayoutOperation.Open, { subject: addResult.subject });\n }\n }\n }),\n properties: {\n label: getDynamicLabel('add object label', typename),\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n {\n id: `${SpaceOperation.AddObject.meta.key}-view`,\n type: Node.ActionType,\n data: () =>\n Operation.invoke(SpaceOperation.OpenCreateObject, {\n target: space.db,\n views: true,\n initialFormValues: { typename: Type.getTypename(schema) },\n }),\n properties: {\n label: ADD_VIEW_TO_SCHEMA_LABEL,\n icon: 'ph--circles-three-plus--regular',\n disposition: 'list-item',\n testId: 'spacePlugin.addViewToSchema',\n },\n },\n {\n id: SpaceOperation.RenameObject.meta.key,\n type: Node.ActionType,\n data: (params?: Node.InvokeProps) =>\n Type.isMutable(schema)\n ? Operation.invoke(SpaceOperation.RenameObject, {\n object: (schema as Type.RuntimeType).persistentSchema as any,\n caller: `${params?.caller}:${params?.parent?.id}`,\n })\n : Effect.fail(new Error('Cannot rename immutable schema')),\n properties: {\n label: getDynamicLabel('rename object label', Type.getTypename(Type.PersistentType)),\n icon: 'ph--pencil-simple-line--regular',\n disabled: !Type.isMutable(schema),\n disposition: 'list-item',\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: SpaceOperation.RemoveObjects.meta.key,\n type: Node.ActionType,\n data: () =>\n Type.isMutable(schema)\n ? Operation.invoke(SpaceOperation.RemoveObjects, {\n objects: [(schema as Type.RuntimeType).persistentSchema as Obj.Unknown],\n })\n : Effect.succeed(undefined),\n properties: {\n label: getDynamicLabel('delete object label', Type.getTypename(Type.PersistentType)),\n icon: 'ph--trash--regular',\n disposition: 'list-item',\n disabled: !deletable,\n testId: 'spacePlugin.deleteObject',\n },\n },\n {\n id: SpaceOperation.Snapshot.meta.key,\n type: Node.ActionType,\n data: Effect.fnUntraced(function* () {\n const result = yield* Operation.invoke(SpaceOperation.Snapshot, {\n db: space.db,\n query: Query.select(Filter.type(schema)).ast,\n });\n if (result.snapshot) {\n yield* Effect.tryPromise(() =>\n downloadBlob(result.snapshot, createFilename({ parts: [space.id, Type.getTypename(schema)], ext: 'json' })),\n );\n }\n }),\n properties: {\n label: SNAPSHOT_BY_SCHEMA_LABEL,\n icon: 'ph--camera--regular',\n disposition: 'list-item',\n },\n },\n ];\n\n return actions;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { AppCapabilities, LayoutOperation, Segments, getObjectPathFromObject } from '@dxos/app-toolkit';\nimport { SpaceState, getSpace, isSpace } from '@dxos/client/echo';\nimport { Collection, Obj, Type } from '@dxos/echo';\nimport { AtomObj } from '@dxos/echo-atom';\nimport { invariant } from '@dxos/invariant';\nimport { Operation } from '@dxos/operation';\nimport { CreateAtom, Graph, GraphBuilder, Node } from '@dxos/plugin-graph';\nimport { isNonNullable } from '@dxos/util';\n\nimport { meta } from '../../../meta';\nimport { SpaceCapabilities, SpaceOperation } from '../../../types';\n\nimport {\n COLLECTIONS_SECTION_TYPE,\n COPY_LINK_LABEL,\n CREATE_OBJECT_IN_COLLECTION_LABEL,\n EXPOSE_OBJECT_LABEL,\n type MetadataResolver,\n REMOVE_FROM_COLLECTION_LABEL,\n createObjectNode,\n getCollectionGraphNodePartials,\n getDynamicLabel,\n whenSpace,\n} from './shared';\n\n//\n// Extension Factory\n//\n\n/** Creates collection-related extensions: collections section, collections, objects, and object actions. */\nexport const createCollectionExtensions = Effect.fnUntraced(function* ({\n shareableLinkOrigin,\n}: {\n shareableLinkOrigin: string;\n}) {\n const capabilities = yield* Capability.Service;\n\n const resolve = (get: any) => (typename: string) =>\n capabilities.getAll(AppCapabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};\n\n return yield* Effect.all([\n // Collections section virtual node under each space.\n GraphBuilder.createExtension({\n id: `${meta.id}.collections-section`,\n match: whenSpace,\n connector: (space, get) => {\n const spaceState = get(CreateAtom.fromObservable(space.state));\n if (spaceState !== SpaceState.SPACE_READY) {\n return Effect.succeed([]);\n }\n\n const propertiesSnapshot = get(AtomObj.make(space.properties));\n const collectionRef = propertiesSnapshot[Collection.Collection.typename] as any;\n if (collectionRef) {\n get(AtomObj.make(collectionRef));\n }\n const rootCollection = collectionRef?.target;\n const collectionPartials = rootCollection\n ? getCollectionGraphNodePartials({ collection: rootCollection, db: space.db, resolve: resolve(get) })\n : undefined;\n\n return Effect.succeed([\n {\n id: Segments.collections,\n type: COLLECTIONS_SECTION_TYPE,\n data: null,\n properties: {\n label: ['collections section label', { ns: meta.id }],\n icon: 'ph--folder--regular',\n iconHue: 'neutral',\n role: 'branch',\n position: 'hoist',\n testId: 'spacePlugin.collectionsSection',\n draggable: false,\n droppable: false,\n space,\n ...collectionPartials,\n },\n },\n ]);\n },\n }),\n\n // Root collection objects under the Collections virtual node.\n GraphBuilder.createExtension({\n id: `${meta.id}.collections`,\n match: (node) => {\n const space = isSpace(node.properties.space) ? node.properties.space : undefined;\n return node.type === COLLECTIONS_SECTION_TYPE && space ? Option.some(space) : Option.none();\n },\n connector: (space, get) => {\n const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);\n const ephemeralState = get(ephemeralAtom);\n\n const propertiesSnapshot = get(AtomObj.make(space.properties));\n const collectionRef = propertiesSnapshot[Collection.Collection.typename] as any;\n const collection = collectionRef ? get(AtomObj.make(collectionRef)) : undefined;\n if (!collection) {\n return Effect.succeed([]);\n }\n\n const rawRefs = collection.objects ?? [];\n\n const objects = rawRefs\n .map((ref: any) => {\n get(AtomObj.make(ref));\n return ref.target;\n })\n .filter(isNonNullable);\n\n return Effect.succeed(\n objects\n .map((object: Obj.Unknown) =>\n createObjectNode({\n db: space.db,\n object,\n resolve: resolve(get),\n navigable: ephemeralState.navigableCollections,\n parentCollection: collectionRef?.target,\n }),\n )\n .filter(isNonNullable),\n );\n },\n }),\n\n // Children of Collection.Collection nodes.\n GraphBuilder.createExtension({\n id: `${meta.id}.objects`,\n match: (node) => (Obj.instanceOf(Collection.Collection, node.data) ? Option.some(node.data) : Option.none()),\n connector: (collection, get) => {\n const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);\n const ephemeralState = get(ephemeralAtom);\n const space = getSpace(collection);\n\n const collectionSnapshot = get(AtomObj.make(collection));\n const refs = collectionSnapshot.objects ?? [];\n\n const objects = refs\n .map((ref: any) => {\n get(AtomObj.make(ref));\n return ref.target;\n })\n .filter(isNonNullable);\n\n return Effect.succeed(\n objects\n .map(\n (object: Obj.Unknown) =>\n space &&\n createObjectNode({\n object,\n db: space.db,\n resolve: resolve(get),\n navigable: ephemeralState.navigableCollections,\n parentCollection: collection,\n }),\n )\n .filter(isNonNullable),\n );\n },\n // TODO(graph-path-ids): Resolver temporarily disabled; redesign needed for path-based IDs.\n // resolver: (id, get) => { ... },\n }),\n\n // Object actions.\n GraphBuilder.createExtension({\n id: `${meta.id}.object-actions`,\n match: (node) => {\n const space = getSpace(node.data);\n return space && Obj.isObject(node.data) && Obj.getTypename(node.data) === node.type\n ? Option.some({ space, object: node.data, nodeId: node.id })\n : Option.none();\n },\n actions: ({ space, object, nodeId }, get) => {\n const deletable = !Obj.instanceOf(Type.PersistentType, object);\n\n const [appGraph] = get(capabilities.atom(AppCapabilities.AppGraph));\n const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);\n const ephemeralState = get(ephemeralAtom);\n\n if (!appGraph) {\n return Effect.succeed([]);\n }\n\n const parentId = nodeId.substring(0, nodeId.lastIndexOf('/'));\n const parentNode = Option.getOrUndefined(Graph.getNode(appGraph.graph, parentId));\n const parentCollection =\n parentNode && Obj.instanceOf(Collection.Collection, parentNode.data) ? parentNode.data : undefined;\n\n return Effect.succeed(\n constructObjectActions({\n object,\n nodeId,\n resolve: resolve(get),\n deletable,\n navigable: ephemeralState.navigableCollections,\n shareableLinkOrigin,\n parentCollection,\n }),\n );\n },\n }),\n ]);\n});\n\n//\n// Helpers\n//\n\n/** Builds the action list for an ECHO object node. */\nconst constructObjectActions = ({\n object,\n nodeId,\n resolve,\n deletable = true,\n navigable = false,\n shareableLinkOrigin,\n parentCollection,\n}: {\n object: Obj.Unknown;\n nodeId: string;\n resolve: MetadataResolver;\n shareableLinkOrigin: string;\n deletable?: boolean;\n navigable?: boolean;\n parentCollection?: Collection.Collection;\n}) => {\n const db = Obj.getDatabase(object);\n invariant(db, 'Database not found');\n const typename = Obj.getTypename(object);\n invariant(typename, 'Object has no typename');\n\n const actions: Node.NodeArg<Node.ActionData<Operation.Service | Capability.Service>>[] = [\n ...(Obj.instanceOf(Collection.Collection, object)\n ? [\n {\n id: SpaceOperation.OpenCreateObject.meta.key,\n type: Node.ActionType,\n data: () => Operation.invoke(SpaceOperation.OpenCreateObject, { target: object, targetNodeId: nodeId }),\n properties: {\n label: CREATE_OBJECT_IN_COLLECTION_LABEL,\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n {\n id: SpaceOperation.RenameObject.meta.key,\n type: Node.ActionType,\n data: (params?: Node.InvokeProps) =>\n Operation.invoke(SpaceOperation.RenameObject, { object, caller: `${params?.caller}:${params?.parent?.id}` }),\n properties: {\n label: getDynamicLabel('rename object label', typename, { defaultValue: 'Rename' }),\n icon: 'ph--pencil-simple-line--regular',\n disposition: 'list-item',\n testId: 'spacePlugin.renameObject',\n },\n },\n ...(parentCollection && !Obj.instanceOf(Collection.Collection, object)\n ? [\n {\n id: 'remove-from-collection',\n type: Node.ActionType,\n data: () =>\n Effect.gen(function* () {\n const index = parentCollection.objects.findIndex((ref: any) => ref.target === object);\n if (index !== -1) {\n const layout = yield* Capabilities.getAtomValue(AppCapabilities.Layout);\n const isActive = layout.active.includes(nodeId);\n\n Obj.change(parentCollection, (mutable) => {\n mutable.objects.splice(index, 1);\n });\n\n if (isActive) {\n yield* Operation.invoke(LayoutOperation.Open, {\n subject: [getObjectPathFromObject(object)],\n });\n }\n }\n }),\n properties: {\n label: REMOVE_FROM_COLLECTION_LABEL,\n icon: 'ph--minus-circle--regular',\n disposition: 'list-item',\n testId: 'spacePlugin.removeFromCollection',\n },\n },\n ]\n : []),\n {\n id: SpaceOperation.RemoveObjects.meta.key,\n type: Node.ActionType,\n data: () =>\n Operation.invoke(SpaceOperation.RemoveObjects, {\n objects: [object],\n target: parentCollection,\n }),\n properties: {\n label: getDynamicLabel('delete object label', typename, { defaultValue: 'Delete' }),\n icon: 'ph--trash--regular',\n disposition: 'list-item',\n disabled: !deletable,\n testId: 'spacePlugin.deleteObject',\n },\n },\n ...(navigable || !Obj.instanceOf(Collection.Collection, object)\n ? [\n {\n id: 'copy-link',\n type: Node.ActionType,\n data: () =>\n Effect.promise(async () => {\n const url = `${shareableLinkOrigin}/${db.spaceId}/${Obj.getDXN(object).toString()}`;\n await navigator.clipboard.writeText(url);\n }),\n properties: {\n label: COPY_LINK_LABEL,\n icon: 'ph--link--regular',\n disposition: 'list-item',\n testId: 'spacePlugin.copyLink',\n },\n },\n ]\n : []),\n {\n id: LayoutOperation.Expose.meta.key,\n type: Node.ActionType,\n data: () => Operation.invoke(LayoutOperation.Expose, { subject: getObjectPathFromObject(object) }),\n properties: {\n label: EXPOSE_OBJECT_LABEL,\n icon: 'ph--eye--regular',\n disposition: 'heading-list-item',\n testId: 'spacePlugin.exposeObject',\n },\n },\n ];\n\n return actions;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { COMPANION_PREFIX } from '@dxos/app-toolkit';\nimport { Obj } from '@dxos/echo';\nimport { PLANK_COMPANION_TYPE } from '@dxos/plugin-deck/types';\nimport { GraphBuilder, NodeMatcher } from '@dxos/plugin-graph';\n// TODO(wittjosiah): This is currently necessary for type portability.\n// eslint-disable-next-line unused-imports/no-unused-imports\nimport type { Node } from '@dxos/plugin-graph';\nimport { ViewAnnotation } from '@dxos/schema';\n\nimport { meta } from '../../../meta';\n\n//\n// Extension Factory\n//\n\n/** Creates companion panel extensions: object settings and selected-objects. */\nexport const createCompanionExtensions = Effect.fnUntraced(function* () {\n return yield* Effect.all([\n // Object settings plank companion.\n GraphBuilder.createExtension({\n id: `${meta.id}.settings`,\n match: NodeMatcher.whenEchoObjectMatches,\n connector: (node) =>\n Effect.succeed([\n {\n id: `${COMPANION_PREFIX}settings`,\n type: PLANK_COMPANION_TYPE,\n data: 'settings',\n properties: {\n label: ['object settings label', { ns: meta.id }],\n icon: 'ph--sliders--regular',\n disposition: 'hidden',\n position: 'fallback',\n },\n },\n ]),\n }),\n\n // View selected objects companion.\n GraphBuilder.createExtension({\n id: `${meta.id}.selected-objects`,\n match: (node) => {\n if (!Obj.isObject(node.data)) {\n return Option.none();\n }\n\n const schema = Obj.getSchema(node.data);\n const isView = Option.fromNullable(schema).pipe(\n Option.flatMap((candidate) => ViewAnnotation.get(candidate)),\n Option.getOrElse(() => false),\n );\n if (!isView) {\n return Option.none();\n }\n\n return Option.some(node);\n },\n connector: (node) =>\n Effect.succeed([\n {\n id: `${COMPANION_PREFIX}selected-objects`,\n type: PLANK_COMPANION_TYPE,\n data: 'selected-objects',\n properties: {\n label: ['companion selected objects label', { ns: meta.id }],\n icon: 'ph--tree-view--regular',\n disposition: 'hidden',\n },\n },\n ]),\n }),\n ]);\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { GraphBuilder, NodeMatcher } from '@dxos/plugin-graph';\n// TODO(wittjosiah): This is currently necessary for type portability.\n// eslint-disable-next-line unused-imports/no-unused-imports\nimport type { Node } from '@dxos/plugin-graph';\n\nimport { meta } from '../../../meta';\n\n//\n// Extension Factory\n//\n\n/** Creates the settings-sections extension for space settings panel. */\nexport const createSettingsExtensions = Effect.fnUntraced(function* () {\n const extension = yield* GraphBuilder.createExtension({\n id: `${meta.id}.settings-sections`,\n match: NodeMatcher.whenNodeType(`${meta.id}.settings`),\n connector: (node) =>\n Effect.succeed([\n {\n id: `${meta.id}.general`,\n type: `${meta.id}.general`,\n data: `${meta.id}.general`,\n properties: {\n label: ['space settings properties label', { ns: meta.id }],\n icon: 'ph--sliders--regular',\n position: 'hoist',\n testId: 'spacePlugin.general',\n },\n },\n {\n id: `${meta.id}.members`,\n type: `${meta.id}.members`,\n data: `${meta.id}.members`,\n properties: {\n label: ['members panel label', { ns: meta.id }],\n icon: 'ph--users--regular',\n position: 'hoist',\n testId: 'spacePlugin.members',\n },\n },\n {\n id: `${meta.id}.schema`,\n type: `${meta.id}.schema`,\n data: `${meta.id}.schema`,\n properties: {\n label: ['space settings schema label', { ns: meta.id }],\n icon: 'ph--shapes--regular',\n testId: 'spacePlugin.schema',\n },\n },\n ]),\n });\n return [extension];\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Effect", "Capability", "AppCapabilities", "Effect", "Capability", "AppCapabilities", "SpaceState", "Filter", "Obj", "AtomObj", "AtomQuery", "Migrations", "Operation", "ClientCapabilities", "CreateAtom", "Graph", "GraphBuilder", "Node", "NodeMatcher", "Expando", "Option", "SpaceState", "isSpace", "Filter", "Obj", "AtomObj", "AtomQuery", "Migrations", "ViewAnnotation", "getTypenameFromQuery", "ACCEPT_ECHO_CLASS", "CACHEABLE_PROPS", "CAN_DROP_OBJECT", "blockInstructionCache", "buildCollectionPartials", "collectionPartialsCache", "createFactory", "createObjectNode", "getAcceptPersistenceKey", "getCollectionGraphNodePartials", "getDynamicLabel", "rearrangeCache", "TYPES_SECTION_TYPE", "meta", "id", "COLLECTIONS_SECTION_TYPE", "TYPE_COLLECTION_TYPE", "STATIC_SCHEMA_TYPE", "META_NS", "ns", "BLOCK_REORDER_ABOVE", "_source", "instruction", "type", "CAN_DROP_SPACE", "source", "Obj", "isObject", "item", "data", "isSpace", "whenSpace", "node", "SPACE_TYPE", "some", "none", "spaceActionsCache", "Map", "spaceRearrangeCache", "ADD_VIEW_TO_SCHEMA_LABEL", "COPY_LINK_LABEL", "CREATE_OBJECT_IN_COLLECTION_LABEL", "CREATE_OBJECT_IN_SPACE_LABEL", "EXPOSE_OBJECT_LABEL", "MIGRATE_SPACE_LABEL", "REMOVE_FROM_COLLECTION_LABEL", "META_NS", "RENAME_SPACE_LABEL", "SETTINGS_PANEL_LABEL", "SNAPSHOT_BY_SCHEMA_LABEL", "checkPendingMigration", "space", "state", "get", "SpaceState", "SPACE_REQUIRES_MIGRATION", "SPACE_READY", "Migrations", "versionProperty", "properties", "targetVersion", "downloadBlob", "blob", "filename", "url", "URL", "createObjectURL", "anchor", "document", "createElement", "href", "download", "body", "appendChild", "click", "removeChild", "revokeObjectURL", "buildViewIndex", "schemas", "viewSchemas", "filter", "schema", "ViewAnnotation", "pipe", "getOrElse", "viewsByTypename", "Map", "length", "Filter", "or", "map", "type", "viewObjects", "AtomQuery", "make", "db", "viewObject", "viewSnapshot", "AtomObj", "viewRef", "view", "viewTarget", "undefined", "typename", "getTypenameFromQuery", "query", "ast", "existing", "push", "set", "typenamesWithViews", "Set", "keys", "getViewsForTypename", "createSpaceExtensions", "fnUntraced", "capabilities", "Capability", "Service", "all", "GraphBuilder", "createExtension", "id", "meta", "position", "match", "NodeMatcher", "whenRoot", "actions", "succeed", "SpaceOperation", "OpenCreateSpace", "key", "data", "Operation", "invoke", "properties", "label", "ns", "icon", "testId", "disposition", "Join", "OpenMembers", "client", "get", "ClientCapabilities", "Client", "space", "getActiveSpace", "spaces", "default", "keyBinding", "macos", "windows", "OpenSettings", "connector", "_node", "stateAtom", "SpaceCapabilities", "State", "ephemeralAtom", "EphemeralState", "spacesAtom", "CreateAtom", "fromObservable", "isReadyAtom", "isReady", "settingsAtom", "Settings", "settings", "state", "ephemeralState", "spacesOrder", "AtomQuery", "make", "db", "Filter", "type", "Expando", "SHARED", "graph", "AppCapabilities", "AppGraph", "spacesOrderSnapshot", "AtomObj", "undefined", "order", "orderMap", "Map", "map", "index", "spaceStates", "forEach", "SpaceState", "SPACE_READY", "filter", "has", "sort", "sortA", "sortB", "idx", "showHidden", "SPACE_INACTIVE", "constructSpaceNode", "navigable", "navigableCollections", "personal", "namesCache", "spaceNames", "whenSpace", "atom", "constructSpaceActions", "migrating", "sdkMigrationRunning", "hasPendingMigration", "checkPendingMigration", "onRearrange", "spaceRearrangeCache", "nextOrder", "Graph", "sortEdges", "Node", "RootId", "Obj", "change", "mutableOrder", "set", "SPACE_TYPE", "cacheable", "CACHEABLE_PROPS", "getSpaceDisplayName", "description", "hue", "iconHue", "disabled", "canDrop", "CAN_DROP_SPACE", "nodes", "SETTINGS_PANEL_LABEL", "isMigrating", "Migrations", "running", "cached", "spaceActionsCache", "push", "Migrate", "ActionGroupType", "MIGRATE_SPACE_LABEL", "OpenCreateObject", "ActionType", "target", "CREATE_OBJECT_IN_SPACE_LABEL", "Rename", "params", "caller", "parent", "RENAME_SPACE_LABEL", "Effect", "Match", "Option", "Schema", "Capability", "AppCapabilities", "LayoutOperation", "Segments", "SpaceState", "isSpace", "Collection", "Filter", "Obj", "Query", "Type", "EntityKind", "SystemTypeAnnotation", "getTypeAnnotation", "AtomObj", "AtomQuery", "Operation", "ClientCapabilities", "CreateAtom", "GraphBuilder", "Node", "ViewAnnotation", "createFilename", "isNonNullable", "createTypeExtensions", "fnUntraced", "capabilities", "Capability", "Service", "resolve", "_get", "typename", "getAll", "AppCapabilities", "Metadata", "find", "id", "metadata", "all", "GraphBuilder", "createExtension", "meta", "match", "whenSpace", "connector", "space", "get", "spaceState", "CreateAtom", "fromObservable", "state", "SpaceState", "SPACE_READY", "succeed", "Segments", "types", "type", "TYPES_SECTION_TYPE", "data", "properties", "label", "ns", "icon", "iconHue", "role", "testId", "draggable", "droppable", "node", "isSpace", "undefined", "some", "none", "allSchemas", "AtomQuery", "fromQuery", "db", "schemaRegistry", "query", "location", "userSchemas", "filter", "schema", "getTypeAnnotation", "kind", "EntityKind", "Relation", "SystemTypeAnnotation", "pipe", "getOrElse", "ViewAnnotation", "Type", "getTypename", "Collection", "viewIndex", "buildViewIndex", "visibleSchemas", "isMutable", "objects", "make", "Filter", "length", "typenamesWithViews", "has", "map", "createSchemaNode", "Obj", "instanceOf", "PersistentType", "isSchema", "client", "atom", "ClientCapabilities", "Client", "at", "schemas", "graph", "allNode", "TYPE_COLLECTION_TYPE", "selectable", "childrenDroppable", "blockInstruction", "BLOCK_REORDER_ABOVE", "viewNodes", "getViewsForTypename", "object", "createObjectNode", "isNonNullable", "AtomObj", "actions", "targetTypename", "deletable", "createSchemaActions", "createSchemaNode", "schema", "space", "resolve", "get", "typename", "Type", "getTypename", "metadata", "label", "nodeId", "value", "pipe", "when", "isMutable", "mutableSchema", "persistentSchema", "snapshot", "AtomObj", "make", "name", "ns", "PersistentType", "orElse", "getDynamicLabel", "count", "default", "icon", "iconHue", "id", "type", "STATIC_SCHEMA_TYPE", "data", "properties", "role", "testId", "selectable", "draggable", "droppable", "childrenDroppable", "createSchemaActions", "deletable", "createObjectFn", "createObject", "inputSchema", "actions", "SpaceOperation", "OpenCreateObject", "meta", "key", "Node", "ActionType", "fnUntraced", "Operation", "invoke", "target", "db", "createdObject", "addResult", "AddObject", "hidden", "object", "subject", "LayoutOperation", "Open", "disposition", "views", "initialFormValues", "ADD_VIEW_TO_SCHEMA_LABEL", "RenameObject", "params", "caller", "parent", "fail", "Error", "disabled", "RemoveObjects", "objects", "succeed", "undefined", "Snapshot", "result", "query", "Query", "select", "Filter", "ast", "tryPromise", "downloadBlob", "createFilename", "parts", "ext", "SNAPSHOT_BY_SCHEMA_LABEL", "Effect", "Option", "Capabilities", "Capability", "AppCapabilities", "LayoutOperation", "Segments", "getObjectPathFromObject", "SpaceState", "getSpace", "isSpace", "Collection", "Obj", "Type", "AtomObj", "invariant", "Operation", "CreateAtom", "Graph", "GraphBuilder", "Node", "isNonNullable", "createCollectionExtensions", "fnUntraced", "shareableLinkOrigin", "capabilities", "Capability", "Service", "resolve", "get", "typename", "getAll", "AppCapabilities", "Metadata", "find", "id", "metadata", "all", "GraphBuilder", "createExtension", "meta", "match", "whenSpace", "connector", "space", "spaceState", "CreateAtom", "fromObservable", "state", "SpaceState", "SPACE_READY", "succeed", "propertiesSnapshot", "AtomObj", "make", "properties", "collectionRef", "Collection", "rootCollection", "target", "collectionPartials", "getCollectionGraphNodePartials", "collection", "db", "undefined", "Segments", "collections", "type", "COLLECTIONS_SECTION_TYPE", "data", "label", "ns", "icon", "iconHue", "role", "position", "testId", "draggable", "droppable", "node", "isSpace", "some", "none", "ephemeralAtom", "SpaceCapabilities", "EphemeralState", "ephemeralState", "rawRefs", "objects", "map", "ref", "filter", "isNonNullable", "object", "createObjectNode", "navigable", "navigableCollections", "parentCollection", "Obj", "instanceOf", "getSpace", "collectionSnapshot", "refs", "isObject", "getTypename", "nodeId", "actions", "deletable", "Type", "PersistentType", "appGraph", "atom", "AppGraph", "parentId", "substring", "lastIndexOf", "parentNode", "getOrUndefined", "Graph", "getNode", "graph", "constructObjectActions", "getDatabase", "invariant", "SpaceOperation", "OpenCreateObject", "key", "Node", "ActionType", "Operation", "invoke", "targetNodeId", "CREATE_OBJECT_IN_COLLECTION_LABEL", "disposition", "RenameObject", "params", "caller", "parent", "getDynamicLabel", "defaultValue", "gen", "index", "findIndex", "layout", "Capabilities", "getAtomValue", "Layout", "isActive", "active", "includes", "change", "mutable", "splice", "LayoutOperation", "Open", "subject", "getObjectPathFromObject", "REMOVE_FROM_COLLECTION_LABEL", "RemoveObjects", "disabled", "promise", "url", "spaceId", "getDXN", "toString", "navigator", "clipboard", "writeText", "COPY_LINK_LABEL", "Expose", "EXPOSE_OBJECT_LABEL", "Effect", "Option", "COMPANION_PREFIX", "Obj", "PLANK_COMPANION_TYPE", "GraphBuilder", "NodeMatcher", "ViewAnnotation", "createCompanionExtensions", "fnUntraced", "all", "GraphBuilder", "createExtension", "id", "meta", "match", "NodeMatcher", "whenEchoObjectMatches", "connector", "node", "succeed", "COMPANION_PREFIX", "type", "PLANK_COMPANION_TYPE", "data", "properties", "label", "ns", "icon", "disposition", "position", "Obj", "isObject", "none", "schema", "getSchema", "isView", "fromNullable", "pipe", "flatMap", "candidate", "ViewAnnotation", "get", "getOrElse", "some", "Effect", "GraphBuilder", "NodeMatcher", "createSettingsExtensions", "fnUntraced", "extension", "GraphBuilder", "createExtension", "id", "meta", "match", "NodeMatcher", "whenNodeType", "connector", "node", "succeed", "type", "data", "properties", "label", "ns", "icon", "position", "testId", "Capability", "makeModule", "fnUntraced", "shareableLinkOrigin", "window", "location", "origin", "extensions", "all", "createSpaceExtensions", "createTypeExtensions", "createCollectionExtensions", "createCompanionExtensions", "createSettingsExtensions", "contributes", "AppCapabilities", "AppGraphBuilder", "flat"]
|
|
7
|
+
}
|
package/dist/lib/browser/{app-graph-serializer-7AT7QMSK.mjs → app-graph-serializer-UZWWGLGY.mjs}
RENAMED
|
@@ -1,28 +1,29 @@
|
|
|
1
1
|
import {
|
|
2
2
|
translations
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-AUX3RRLY.mjs";
|
|
4
4
|
import {
|
|
5
5
|
SPACES
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-6OA75CWN.mjs";
|
|
7
7
|
import {
|
|
8
8
|
SPACE_TYPE,
|
|
9
9
|
SpaceOperation
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-6IT5IBB5.mjs";
|
|
11
11
|
import {
|
|
12
12
|
meta
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-CBWGVOJE.mjs";
|
|
14
14
|
|
|
15
15
|
// src/capabilities/app-graph-serializer/app-graph-serializer.ts
|
|
16
16
|
import * as Effect from "effect/Effect";
|
|
17
|
-
import {
|
|
17
|
+
import { Capabilities, Capability } from "@dxos/app-framework";
|
|
18
|
+
import { AppCapabilities } from "@dxos/app-toolkit";
|
|
18
19
|
import { isSpace } from "@dxos/client/echo";
|
|
19
20
|
import { Obj } from "@dxos/echo";
|
|
20
|
-
import { Collection } from "@dxos/
|
|
21
|
+
import { Collection } from "@dxos/echo";
|
|
21
22
|
var COLLECTION_TYPE = Collection.Collection.typename;
|
|
22
23
|
var DIRECTORY_TYPE = "text/directory";
|
|
23
24
|
var app_graph_serializer_default = Capability.makeModule(Effect.fnUntraced(function* () {
|
|
24
25
|
const capabilities = yield* Capability.Service;
|
|
25
|
-
return Capability.contributes(
|
|
26
|
+
return Capability.contributes(AppCapabilities.AppGraphSerializer, [
|
|
26
27
|
{
|
|
27
28
|
inputType: SPACES,
|
|
28
29
|
outputType: DIRECTORY_TYPE,
|
|
@@ -43,7 +44,7 @@ var app_graph_serializer_default = Capability.makeModule(Effect.fnUntraced(funct
|
|
|
43
44
|
type: DIRECTORY_TYPE
|
|
44
45
|
}),
|
|
45
46
|
deserialize: async (data) => {
|
|
46
|
-
const { invokePromise } = capabilities.get(
|
|
47
|
+
const { invokePromise } = capabilities.get(Capabilities.OperationInvoker);
|
|
47
48
|
const result = await invokePromise(SpaceOperation.Create, {
|
|
48
49
|
name: data.name,
|
|
49
50
|
edgeReplication: true
|
|
@@ -65,7 +66,7 @@ var app_graph_serializer_default = Capability.makeModule(Effect.fnUntraced(funct
|
|
|
65
66
|
if (!space || !collection) {
|
|
66
67
|
return;
|
|
67
68
|
}
|
|
68
|
-
const { invokePromise } = capabilities.get(
|
|
69
|
+
const { invokePromise } = capabilities.get(Capabilities.OperationInvoker);
|
|
69
70
|
const result = await invokePromise(SpaceOperation.AddObject, {
|
|
70
71
|
target: collection,
|
|
71
72
|
object: Obj.make(Collection.Collection, {
|
|
@@ -81,4 +82,4 @@ var app_graph_serializer_default = Capability.makeModule(Effect.fnUntraced(funct
|
|
|
81
82
|
export {
|
|
82
83
|
app_graph_serializer_default as default
|
|
83
84
|
};
|
|
84
|
-
//# sourceMappingURL=app-graph-serializer-
|
|
85
|
+
//# sourceMappingURL=app-graph-serializer-UZWWGLGY.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/app-graph-serializer/app-graph-serializer.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { isSpace } from '@dxos/client/echo';\nimport { Obj } from '@dxos/echo';\nimport { Collection } from '@dxos/echo';\n\nimport { meta } from '../../meta';\nimport { translations } from '../../translations';\nimport { SPACE_TYPE, SpaceOperation } from '../../types';\nimport { SPACES } from '../../util';\n\nconst COLLECTION_TYPE = Collection.Collection.typename;\n\n// https://stackoverflow.com/a/19016910\nconst DIRECTORY_TYPE = 'text/directory';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n // Get context for lazy capability access in callbacks.\n const capabilities = yield* Capability.Service;\n\n return Capability.contributes(AppCapabilities.AppGraphSerializer, [\n {\n inputType: SPACES,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: translations[0]['en-US'][meta.id]['spaces label'] ?? 'Spaces',\n data: translations[0]['en-US'][meta.id]['spaces label'] ?? 'Spaces',\n type: DIRECTORY_TYPE,\n }),\n deserialize: () => {\n // No-op.\n },\n },\n {\n inputType: SPACE_TYPE,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: node.data.properties.name ?? translations[0]['en-US'][meta.id]['unnamed space label'],\n data: node.data.properties.name ?? translations[0]['en-US'][meta.id]['unnamed space label'],\n type: DIRECTORY_TYPE,\n }),\n deserialize: async (data) => {\n const { invokePromise } = capabilities.get(Capabilities.OperationInvoker);\n const result = await invokePromise(SpaceOperation.Create, { name: data.name, edgeReplication: true });\n return result.data?.space;\n },\n },\n {\n inputType: COLLECTION_TYPE,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: node.data.name ?? translations[0]['en-US'][meta.id]['object name placeholder'],\n data: node.data.name ?? translations[0]['en-US'][meta.id]['object name placeholder'],\n type: DIRECTORY_TYPE,\n }),\n deserialize: async (data, ancestors) => {\n const space = ancestors.find(isSpace);\n const collection =\n ancestors.findLast((ancestor) => Obj.instanceOf(Collection.Collection, ancestor)) ??\n space?.properties[COLLECTION_TYPE]?.target;\n if (!space || !collection) {\n return;\n }\n\n const { invokePromise } = capabilities.get(Capabilities.OperationInvoker);\n const result = await invokePromise(SpaceOperation.AddObject, {\n target: collection,\n object: Obj.make(Collection.Collection, { name: data.name, objects: [] }),\n });\n\n return result.data?.object;\n },\n },\n ]);\n }),\n);\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,uBAAuB;AAChC,SAASC,eAAe;AACxB,SAASC,WAAW;AACpB,SAASC,kBAAkB;AAO3B,IAAMC,kBAAkBC,WAAWA,WAAWC;AAG9C,IAAMC,iBAAiB;AAEvB,IAAA,+BAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAEhB,QAAMC,eAAe,OAAOH,WAAWI;AAEvC,SAAOJ,WAAWK,YAAYC,gBAAgBC,oBAAoB;IAChE;MACEC,WAAWC;MACXC,YAAYX;MACZY,WAAW,CAACC,UAAU;QACpBC,MAAMC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,cAAA,KAAmB;QAC3DC,MAAMH,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,cAAA,KAAmB;QAC3DE,MAAMnB;MACR;MACAoB,aAAa,MAAA;MAEb;IACF;IACA;MACEX,WAAWY;MACXV,YAAYX;MACZY,WAAW,CAACC,UAAU;QACpBC,MAAMD,KAAKK,KAAKI,WAAWR,QAAQC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,qBAAA;QACrEC,MAAML,KAAKK,KAAKI,WAAWR,QAAQC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,qBAAA;QACrEE,MAAMnB;MACR;MACAoB,aAAa,OAAOF,SAAAA;AAClB,cAAM,EAAEK,cAAa,IAAKnB,aAAaoB,IAAIC,aAAaC,gBAAgB;AACxE,cAAMC,SAAS,MAAMJ,cAAcK,eAAeC,QAAQ;UAAEf,MAAMI,KAAKJ;UAAMgB,iBAAiB;QAAK,CAAA;AACnG,eAAOH,OAAOT,MAAMa;MACtB;IACF;IACA;MACEtB,WAAWZ;MACXc,YAAYX;MACZY,WAAW,CAACC,UAAU;QACpBC,MAAMD,KAAKK,KAAKJ,QAAQC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,yBAAA;QAC1DC,MAAML,KAAKK,KAAKJ,QAAQC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,yBAAA;QAC1DE,MAAMnB;MACR;MACAoB,aAAa,OAAOF,MAAMc,cAAAA;AACxB,cAAMD,QAAQC,UAAUC,KAAKC,OAAAA;AAC7B,cAAMC,aACJH,UAAUI,SAAS,CAACC,aAAaC,IAAIC,WAAWzC,WAAWA,YAAYuC,QAAAA,CAAAA,KACvEN,OAAOT,WAAWzB,eAAAA,GAAkB2C;AACtC,YAAI,CAACT,SAAS,CAACI,YAAY;AACzB;QACF;AAEA,cAAM,EAAEZ,cAAa,IAAKnB,aAAaoB,IAAIC,aAAaC,gBAAgB;AACxE,cAAMC,SAAS,MAAMJ,cAAcK,eAAea,WAAW;UAC3DD,QAAQL;UACRO,QAAQJ,IAAIK,KAAK7C,WAAWA,YAAY;YAAEgB,MAAMI,KAAKJ;YAAM8B,SAAS,CAAA;UAAG,CAAA;QACzE,CAAA;AAEA,eAAOjB,OAAOT,MAAMwB;MACtB;IACF;GACD;AACH,CAAA,CAAA;",
|
|
6
|
+
"names": ["Effect", "Capabilities", "Capability", "AppCapabilities", "isSpace", "Obj", "Collection", "COLLECTION_TYPE", "Collection", "typename", "DIRECTORY_TYPE", "Capability", "makeModule", "fnUntraced", "capabilities", "Service", "contributes", "AppCapabilities", "AppGraphSerializer", "inputType", "SPACES", "outputType", "serialize", "node", "name", "translations", "meta", "id", "data", "type", "deserialize", "SPACE_TYPE", "properties", "invokePromise", "get", "Capabilities", "OperationInvoker", "result", "SpaceOperation", "Create", "edgeReplication", "space", "ancestors", "find", "isSpace", "collection", "findLast", "ancestor", "Obj", "instanceOf", "target", "AddObject", "object", "make", "objects"]
|
|
7
|
+
}
|