@dxos/plugin-client 0.8.4-main.422d1c7879 → 0.8.4-main.43cb759274
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/LICENSE +102 -5
- package/README.md +1 -1
- package/dist/lib/neutral/AccountContainer-FZ3IC6H4.mjs +182 -0
- package/dist/lib/neutral/AccountContainer-FZ3IC6H4.mjs.map +7 -0
- package/dist/lib/neutral/ClientPlugin.mjs +72 -0
- package/dist/lib/neutral/ClientPlugin.mjs.map +7 -0
- package/dist/lib/{browser/cli/index.mjs → neutral/ClientPlugin.node.mjs} +83 -93
- package/dist/lib/neutral/ClientPlugin.node.mjs.map +7 -0
- package/dist/lib/neutral/ClientPlugin.workerd.mjs +16 -0
- package/dist/lib/neutral/ClientPlugin.workerd.mjs.map +7 -0
- package/dist/lib/neutral/DevicesContainer-6MWNUC3I.mjs +262 -0
- package/dist/lib/neutral/DevicesContainer-6MWNUC3I.mjs.map +7 -0
- package/dist/lib/neutral/InvitationsContainer-ME722VKS.mjs +132 -0
- package/dist/lib/neutral/InvitationsContainer-ME722VKS.mjs.map +7 -0
- package/dist/lib/neutral/JoinDialog-2NXAKPLP.mjs +53 -0
- package/dist/lib/neutral/JoinDialog-2NXAKPLP.mjs.map +7 -0
- package/dist/lib/neutral/ProfileContainer-VPX3FPWG.mjs +168 -0
- package/dist/lib/neutral/ProfileContainer-VPX3FPWG.mjs.map +7 -0
- package/dist/lib/neutral/RecoveryCodeDialog-GBRH6ZSA.mjs +59 -0
- package/dist/lib/neutral/RecoveryCodeDialog-GBRH6ZSA.mjs.map +7 -0
- package/dist/lib/neutral/RecoveryCredentialsContainer-IPBGDMIA.mjs +51 -0
- package/dist/lib/neutral/RecoveryCredentialsContainer-IPBGDMIA.mjs.map +7 -0
- package/dist/lib/neutral/ResetDialog-HZ5OKKG4.mjs +57 -0
- package/dist/lib/neutral/ResetDialog-HZ5OKKG4.mjs.map +7 -0
- package/dist/lib/neutral/account-cache-4EKGEUJI.mjs +43 -0
- package/dist/lib/neutral/account-cache-4EKGEUJI.mjs.map +7 -0
- package/dist/lib/neutral/app-graph-builder-A74W7C36.mjs +145 -0
- package/dist/lib/neutral/app-graph-builder-A74W7C36.mjs.map +7 -0
- package/dist/lib/neutral/capabilities/index.mjs +34 -0
- package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
- package/dist/lib/neutral/capabilities/node.mjs +21 -0
- package/dist/lib/neutral/capabilities/node.mjs.map +7 -0
- package/dist/lib/{browser/chunk-M43LJQ5U.mjs → neutral/chunk-D6HPCLTS.mjs} +36 -26
- package/dist/lib/neutral/chunk-D6HPCLTS.mjs.map +7 -0
- package/dist/lib/neutral/chunk-FVESSI4C.mjs +8 -0
- package/dist/lib/neutral/chunk-FVESSI4C.mjs.map +7 -0
- package/dist/lib/neutral/chunk-JEF2FQGB.mjs +27 -0
- package/dist/lib/neutral/chunk-JEF2FQGB.mjs.map +7 -0
- package/dist/lib/neutral/chunk-JOCCVODY.mjs +21 -0
- package/dist/lib/neutral/chunk-JOCCVODY.mjs.map +7 -0
- package/dist/lib/{browser/chunk-WNJRYPGG.mjs → neutral/chunk-TUK3ELUU.mjs} +8 -4
- package/dist/lib/neutral/chunk-TUK3ELUU.mjs.map +7 -0
- package/dist/lib/neutral/chunk-WWCVZG3K.mjs +13 -0
- package/dist/lib/neutral/chunk-WWCVZG3K.mjs.map +7 -0
- package/dist/lib/neutral/client-MCFHLJEA.mjs +62 -0
- package/dist/lib/neutral/client-MCFHLJEA.mjs.map +7 -0
- package/dist/lib/neutral/components/index.mjs +1 -0
- package/dist/lib/neutral/containers/index.mjs +23 -0
- package/dist/lib/neutral/containers/index.mjs.map +7 -0
- package/dist/lib/{browser/create-agent-SS5SE35J.mjs → neutral/create-agent-6HLW4D3A.mjs} +5 -13
- package/dist/lib/neutral/create-agent-6HLW4D3A.mjs.map +7 -0
- package/dist/lib/{browser/create-identity-PBEUEIPN.mjs → neutral/create-identity-WV2CVZBS.mjs} +18 -6
- package/dist/lib/neutral/create-identity-WV2CVZBS.mjs.map +7 -0
- package/dist/lib/{browser/create-passkey-JN6I5WMM.mjs → neutral/create-passkey-FOXEMXGF.mjs} +7 -31
- package/dist/lib/neutral/create-passkey-FOXEMXGF.mjs.map +7 -0
- package/dist/lib/{browser/create-recovery-code-32I6IWZC.mjs → neutral/create-recovery-code-ZWDKLPH4.mjs} +6 -14
- package/dist/lib/neutral/create-recovery-code-ZWDKLPH4.mjs.map +7 -0
- package/dist/lib/neutral/hub-http-client-WOJUCDKV.mjs +19 -0
- package/dist/lib/neutral/hub-http-client-WOJUCDKV.mjs.map +7 -0
- package/dist/lib/neutral/index.mjs +23 -0
- package/dist/lib/{browser/join-identity-2BP4G2SD.mjs → neutral/join-identity-QEQFAE2S.mjs} +4 -4
- package/dist/lib/{browser/join-identity-2BP4G2SD.mjs.map → neutral/join-identity-QEQFAE2S.mjs.map} +1 -1
- package/dist/lib/neutral/layer-specs-FLXR263J.mjs +61 -0
- package/dist/lib/neutral/layer-specs-FLXR263J.mjs.map +7 -0
- package/dist/lib/neutral/meta.json +1 -0
- package/dist/lib/neutral/meta.mjs +8 -0
- package/dist/lib/neutral/migrations-7FTW55ER.mjs +23 -0
- package/dist/lib/neutral/migrations-7FTW55ER.mjs.map +7 -0
- package/dist/lib/neutral/navigation-handler-FWSGOXGG.mjs +46 -0
- package/dist/lib/neutral/navigation-handler-FWSGOXGG.mjs.map +7 -0
- package/dist/lib/neutral/operation-handler-E3HB7E2T.mjs +13 -0
- package/dist/lib/neutral/operation-handler-E3HB7E2T.mjs.map +7 -0
- package/dist/lib/neutral/operations/index.mjs +12 -0
- package/dist/lib/neutral/operations/index.mjs.map +7 -0
- package/dist/lib/neutral/plugin.mjs +17 -0
- package/dist/lib/neutral/plugin.mjs.map +7 -0
- package/dist/lib/neutral/react-context-B5LXMHVM.mjs +23 -0
- package/dist/lib/neutral/react-context-B5LXMHVM.mjs.map +7 -0
- package/dist/lib/neutral/react-surface-DEKGWTCD.mjs +70 -0
- package/dist/lib/neutral/react-surface-DEKGWTCD.mjs.map +7 -0
- package/dist/lib/{browser/recover-identity-LS6B5INB.mjs → neutral/recover-identity-JNFKLCUD.mjs} +4 -4
- package/dist/lib/{browser/recover-identity-LS6B5INB.mjs.map → neutral/recover-identity-JNFKLCUD.mjs.map} +1 -1
- package/dist/lib/{browser/redeem-passkey-OCIV6VCK.mjs → neutral/redeem-passkey-4SBAI4AG.mjs} +6 -22
- package/dist/lib/neutral/redeem-passkey-4SBAI4AG.mjs.map +7 -0
- package/dist/lib/{browser/redeem-token-6BCRGKV6.mjs → neutral/redeem-token-POBD6TMN.mjs} +5 -13
- package/dist/lib/neutral/redeem-token-POBD6TMN.mjs.map +7 -0
- package/dist/lib/{browser/reset-storage-QJLTL7J3.mjs → neutral/reset-storage-LQKUV5RA.mjs} +4 -4
- package/dist/lib/{browser/reset-storage-QJLTL7J3.mjs.map → neutral/reset-storage-LQKUV5RA.mjs.map} +1 -1
- package/dist/lib/neutral/schema-defs-IHBCKTMM.mjs +51 -0
- package/dist/lib/neutral/schema-defs-IHBCKTMM.mjs.map +7 -0
- package/dist/lib/{browser/share-identity-YJEBJTPA.mjs → neutral/share-identity-KNQ2XNXV.mjs} +5 -5
- package/dist/lib/{browser/share-identity-YJEBJTPA.mjs.map → neutral/share-identity-KNQ2XNXV.mjs.map} +1 -1
- package/dist/lib/{browser → neutral}/testing/index.mjs +3 -0
- package/dist/lib/neutral/testing/index.mjs.map +7 -0
- package/dist/lib/{browser/index.mjs → neutral/translations.mjs} +31 -73
- package/dist/lib/neutral/translations.mjs.map +7 -0
- package/dist/lib/{browser → neutral}/types/index.mjs +1 -1
- package/dist/lib/neutral/types/index.mjs.map +7 -0
- package/dist/types/src/ClientPlugin.d.ts +1 -0
- package/dist/types/src/ClientPlugin.d.ts.map +1 -1
- package/dist/types/src/{cli/plugin.d.ts → ClientPlugin.node.d.ts} +2 -1
- package/dist/types/src/ClientPlugin.node.d.ts.map +1 -0
- package/dist/types/src/ClientPlugin.test.d.ts +2 -0
- package/dist/types/src/ClientPlugin.test.d.ts.map +1 -0
- package/dist/types/src/ClientPlugin.workerd.d.ts +4 -0
- package/dist/types/src/ClientPlugin.workerd.d.ts.map +1 -0
- package/dist/types/src/capabilities/account-cache.d.ts +35 -0
- package/dist/types/src/capabilities/account-cache.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/client.d.ts +1 -1
- package/dist/types/src/capabilities/client.d.ts.map +1 -1
- package/dist/types/src/capabilities/hub-http-client.d.ts +6 -0
- package/dist/types/src/capabilities/hub-http-client.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +47 -14
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/layer-specs.d.ts +6 -0
- package/dist/types/src/capabilities/layer-specs.d.ts.map +1 -0
- package/dist/types/src/capabilities/migrations.d.ts.map +1 -1
- package/dist/types/src/capabilities/navigation-handler/navigation-handler.d.ts.map +1 -1
- package/dist/types/src/capabilities/node.d.ts +18 -13
- package/dist/types/src/capabilities/node.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
- package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-context.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -1
- package/dist/types/src/{cli/commands → commands}/config/index.d.ts +1 -1
- package/dist/types/src/commands/config/index.d.ts.map +1 -0
- package/dist/types/src/{cli/commands → commands}/config/view.d.ts +1 -1
- package/dist/types/src/commands/config/view.d.ts.map +1 -0
- package/dist/types/src/commands/device/index.d.ts.map +1 -0
- package/dist/types/src/commands/device/info/index.d.ts.map +1 -0
- package/dist/types/src/commands/device/info/info.d.ts.map +1 -0
- package/dist/types/src/commands/device/info/info.test.d.ts.map +1 -0
- package/dist/types/src/commands/device/list/index.d.ts.map +1 -0
- package/dist/types/src/commands/device/list/list.d.ts.map +1 -0
- package/dist/types/src/commands/device/list/list.test.d.ts.map +1 -0
- package/dist/types/src/commands/device/update/index.d.ts.map +1 -0
- package/dist/types/src/commands/device/update/update.d.ts.map +1 -0
- package/dist/types/src/commands/device/util.d.ts.map +1 -0
- package/dist/types/src/commands/edge/index.d.ts.map +1 -0
- package/dist/types/src/commands/edge/status.d.ts.map +1 -0
- package/dist/types/src/{cli/commands → commands}/halo/create/create.d.ts +2 -2
- package/dist/types/src/commands/halo/create/create.d.ts.map +1 -0
- package/dist/types/src/commands/halo/create/create.test.d.ts.map +1 -0
- package/dist/types/src/commands/halo/create/index.d.ts.map +1 -0
- package/dist/types/src/commands/halo/credential/add/add.d.ts.map +1 -0
- package/dist/types/src/commands/halo/credential/add/index.d.ts.map +1 -0
- package/dist/types/src/commands/halo/credential/index.d.ts.map +1 -0
- package/dist/types/src/commands/halo/credential/list/index.d.ts.map +1 -0
- package/dist/types/src/{cli/commands → commands}/halo/credential/list/list.d.ts +2 -2
- package/dist/types/src/commands/halo/credential/list/list.d.ts.map +1 -0
- package/dist/types/src/commands/halo/credential/list/list.test.d.ts.map +1 -0
- package/dist/types/src/commands/halo/identity/identity.d.ts.map +1 -0
- package/dist/types/src/commands/halo/identity/identity.test.d.ts.map +1 -0
- package/dist/types/src/commands/halo/identity/index.d.ts.map +1 -0
- package/dist/types/src/commands/halo/index.d.ts.map +1 -0
- package/dist/types/src/commands/halo/join/index.d.ts.map +1 -0
- package/dist/types/src/{cli/commands → commands}/halo/join/join.d.ts +1 -1
- package/dist/types/src/commands/halo/join/join.d.ts.map +1 -0
- package/dist/types/src/commands/halo/join/join.test.d.ts.map +1 -0
- package/dist/types/src/commands/halo/keys/index.d.ts.map +1 -0
- package/dist/types/src/commands/halo/keys/keys.d.ts.map +1 -0
- package/dist/types/src/commands/halo/keys/keys.test.d.ts.map +1 -0
- package/dist/types/src/commands/halo/recover/index.d.ts.map +1 -0
- package/dist/types/src/commands/halo/recover/recover.d.ts.map +1 -0
- package/dist/types/src/commands/halo/recover/recover.test.d.ts.map +1 -0
- package/dist/types/src/commands/halo/seed/index.d.ts.map +1 -0
- package/dist/types/src/commands/halo/seed/seed.d.ts.map +1 -0
- package/dist/types/src/commands/halo/share/index.d.ts.map +1 -0
- package/dist/types/src/commands/halo/share/share.d.ts.map +1 -0
- package/dist/types/src/commands/halo/update/index.d.ts.map +1 -0
- package/dist/types/src/commands/halo/update/update.d.ts.map +1 -0
- package/dist/types/src/commands/halo/update/update.test.d.ts.map +1 -0
- package/dist/types/src/{cli/commands → commands}/halo/util.d.ts +1 -4
- package/dist/types/src/commands/halo/util.d.ts.map +1 -0
- package/dist/types/src/commands/index.d.ts.map +1 -0
- package/dist/types/src/{cli/commands → commands}/profile/create.d.ts +1 -1
- package/dist/types/src/commands/profile/create.d.ts.map +1 -0
- package/dist/types/src/commands/profile/delete.d.ts.map +1 -0
- package/dist/types/src/{cli/commands → commands}/profile/import.d.ts +2 -2
- package/dist/types/src/commands/profile/import.d.ts.map +1 -0
- package/dist/types/src/{cli/commands → commands}/profile/index.d.ts +6 -6
- package/dist/types/src/commands/profile/index.d.ts.map +1 -0
- package/dist/types/src/commands/profile/inspect.d.ts.map +1 -0
- package/dist/types/src/commands/profile/list.d.ts.map +1 -0
- package/dist/types/src/{cli/commands → commands}/profile/reset.d.ts +1 -1
- package/dist/types/src/commands/profile/reset.d.ts.map +1 -0
- package/dist/types/src/commands/profile/util.d.ts.map +1 -0
- package/dist/types/src/constants.d.ts +4 -3
- package/dist/types/src/constants.d.ts.map +1 -1
- package/dist/types/src/containers/AccountContainer/AccountContainer.d.ts +3 -0
- package/dist/types/src/containers/AccountContainer/AccountContainer.d.ts.map +1 -0
- package/dist/types/src/containers/AccountContainer/index.d.ts +2 -0
- package/dist/types/src/containers/AccountContainer/index.d.ts.map +1 -0
- package/dist/types/src/containers/DevicesContainer/DevicesContainer.d.ts.map +1 -1
- package/dist/types/src/containers/DevicesContainer/DevicesContainer.stories.d.ts +165 -165
- package/dist/types/src/containers/DevicesContainer/DevicesContainer.stories.d.ts.map +1 -1
- package/dist/types/src/containers/InvitationsContainer/InvitationsContainer.d.ts +3 -0
- package/dist/types/src/containers/InvitationsContainer/InvitationsContainer.d.ts.map +1 -0
- package/dist/types/src/containers/InvitationsContainer/index.d.ts +2 -0
- package/dist/types/src/containers/InvitationsContainer/index.d.ts.map +1 -0
- package/dist/types/src/containers/JoinDialog/JoinDialog.d.ts.map +1 -1
- package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts.map +1 -1
- package/dist/types/src/containers/ProfileContainer/ProfileContainer.stories.d.ts.map +1 -1
- package/dist/types/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.d.ts.map +1 -1
- package/dist/types/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.stories.d.ts.map +1 -1
- package/dist/types/src/containers/RecoveryCodeDialog/index.d.ts.map +1 -1
- package/dist/types/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.stories.d.ts.map +1 -1
- package/dist/types/src/containers/ResetDialog/ResetDialog.d.ts +6 -1
- package/dist/types/src/containers/ResetDialog/ResetDialog.d.ts.map +1 -1
- package/dist/types/src/containers/ResetDialog/ResetDialog.stories.d.ts +2 -2
- package/dist/types/src/containers/ResetDialog/ResetDialog.stories.d.ts.map +1 -1
- package/dist/types/src/containers/ResetDialog/index.d.ts.map +1 -1
- package/dist/types/src/containers/index.d.ts +2 -0
- package/dist/types/src/containers/index.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +2 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +1 -1
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/operations/create-agent.d.ts +1 -1
- package/dist/types/src/operations/create-agent.d.ts.map +1 -1
- package/dist/types/src/operations/create-identity.d.ts +1 -1
- package/dist/types/src/operations/create-identity.d.ts.map +1 -1
- package/dist/types/src/operations/create-passkey.d.ts +1 -1
- package/dist/types/src/operations/create-passkey.d.ts.map +1 -1
- package/dist/types/src/operations/create-recovery-code.d.ts +1 -1
- package/dist/types/src/operations/create-recovery-code.d.ts.map +1 -1
- package/dist/types/src/operations/definitions.d.ts +4 -4
- package/dist/types/src/operations/definitions.d.ts.map +1 -1
- package/dist/types/src/operations/index.d.ts +1 -1
- package/dist/types/src/operations/index.d.ts.map +1 -1
- package/dist/types/src/operations/join-identity.d.ts +1 -1
- package/dist/types/src/operations/join-identity.d.ts.map +1 -1
- package/dist/types/src/operations/recover-identity.d.ts +1 -1
- package/dist/types/src/operations/recover-identity.d.ts.map +1 -1
- package/dist/types/src/operations/redeem-passkey.d.ts +1 -1
- package/dist/types/src/operations/redeem-passkey.d.ts.map +1 -1
- package/dist/types/src/operations/redeem-token.d.ts +1 -1
- package/dist/types/src/operations/redeem-token.d.ts.map +1 -1
- package/dist/types/src/operations/reset-storage.d.ts +1 -1
- package/dist/types/src/operations/reset-storage.d.ts.map +1 -1
- package/dist/types/src/operations/share-identity.d.ts +1 -1
- package/dist/types/src/operations/share-identity.d.ts.map +1 -1
- package/dist/types/src/plugin.d.ts +4 -0
- package/dist/types/src/plugin.d.ts.map +1 -0
- package/dist/types/src/state/account-cache.d.ts +42 -0
- package/dist/types/src/state/account-cache.d.ts.map +1 -0
- package/dist/types/src/state/use-hub-http.d.ts +8 -0
- package/dist/types/src/state/use-hub-http.d.ts.map +1 -0
- package/dist/types/src/testing/index.d.ts +1 -0
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/testing/initializeIdentity.d.ts +5 -4
- package/dist/types/src/testing/initializeIdentity.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/capabilities.d.ts +34 -0
- 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/schema.d.ts +20 -3
- package/dist/types/src/types/schema.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +112 -69
- package/src/{cli/plugin.ts → ClientPlugin.node.ts} +12 -1
- package/src/ClientPlugin.test.ts +29 -0
- package/src/ClientPlugin.ts +18 -2
- package/src/ClientPlugin.workerd.ts +16 -0
- package/src/capabilities/account-cache.ts +25 -0
- package/src/capabilities/app-graph-builder.ts +20 -2
- package/src/capabilities/client.ts +1 -0
- package/src/capabilities/hub-http-client.ts +21 -0
- package/src/capabilities/index.ts +4 -1
- package/src/capabilities/layer-specs.ts +92 -0
- package/src/capabilities/navigation-handler/navigation-handler.ts +1 -1
- package/src/capabilities/node.ts +9 -1
- package/src/capabilities/operation-handler.ts +1 -1
- package/src/capabilities/react-surface.tsx +12 -0
- package/src/capabilities/schema-defs.ts +29 -9
- package/src/{cli/commands → commands}/halo/create/create.test.ts +11 -9
- package/src/{cli/commands → commands}/halo/create/create.ts +1 -1
- package/src/{cli/commands → commands}/halo/identity/identity.test.ts +4 -4
- package/src/{cli/commands → commands}/halo/identity/identity.ts +2 -2
- package/src/{cli/commands → commands}/halo/join/join.ts +2 -2
- package/src/{cli/commands → commands}/halo/recover/recover.ts +2 -2
- package/src/{cli/commands → commands}/halo/update/update.test.ts +5 -5
- package/src/{cli/commands → commands}/halo/update/update.ts +2 -2
- package/src/{cli/commands → commands}/halo/util.ts +2 -5
- package/src/constants.ts +5 -3
- package/src/containers/AccountContainer/AccountContainer.tsx +179 -0
- package/src/containers/AccountContainer/index.ts +5 -0
- package/src/containers/DevicesContainer/DevicesContainer.stories.tsx +3 -4
- package/src/containers/DevicesContainer/DevicesContainer.tsx +1 -1
- package/src/containers/InvitationsContainer/InvitationsContainer.tsx +137 -0
- package/src/containers/InvitationsContainer/index.ts +5 -0
- package/src/containers/JoinDialog/JoinDialog.stories.tsx +2 -1
- package/src/containers/JoinDialog/JoinDialog.tsx +1 -1
- package/src/containers/ProfileContainer/ProfileContainer.stories.tsx +2 -1
- package/src/containers/ProfileContainer/ProfileContainer.tsx +1 -1
- package/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.stories.tsx +2 -1
- package/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.stories.tsx +3 -4
- package/src/containers/ResetDialog/ResetDialog.stories.tsx +4 -3
- package/src/containers/ResetDialog/ResetDialog.tsx +9 -1
- package/src/containers/index.ts +2 -0
- package/src/index.ts +2 -1
- package/src/meta.ts +7 -4
- package/src/operations/create-agent.ts +1 -1
- package/src/operations/create-identity.ts +11 -3
- package/src/operations/create-passkey.ts +1 -1
- package/src/operations/create-recovery-code.ts +1 -1
- package/src/operations/definitions.ts +23 -15
- package/src/operations/index.ts +1 -1
- package/src/operations/join-identity.ts +1 -1
- package/src/operations/recover-identity.ts +2 -2
- package/src/operations/redeem-passkey.ts +1 -1
- package/src/operations/redeem-token.ts +1 -1
- package/src/operations/reset-storage.ts +1 -1
- package/src/operations/share-identity.ts +2 -2
- package/src/plugin.ts +11 -0
- package/src/state/account-cache.ts +33 -0
- package/src/state/use-hub-http.ts +32 -0
- package/src/testing/index.ts +1 -0
- package/src/testing/initializeIdentity.ts +10 -4
- package/src/translations.ts +34 -3
- package/src/types/capabilities.ts +7 -0
- package/src/types/schema.ts +6 -3
- package/dist/lib/browser/chunk-ELAYKIQU.mjs +0 -12
- package/dist/lib/browser/chunk-ELAYKIQU.mjs.map +0 -7
- package/dist/lib/browser/chunk-M43LJQ5U.mjs.map +0 -7
- package/dist/lib/browser/chunk-WNJRYPGG.mjs.map +0 -7
- package/dist/lib/browser/cli/index.mjs.map +0 -7
- package/dist/lib/browser/create-agent-SS5SE35J.mjs.map +0 -7
- package/dist/lib/browser/create-identity-PBEUEIPN.mjs.map +0 -7
- package/dist/lib/browser/create-passkey-JN6I5WMM.mjs.map +0 -7
- package/dist/lib/browser/create-recovery-code-32I6IWZC.mjs.map +0 -7
- package/dist/lib/browser/index.mjs.map +0 -7
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/operations/index.mjs +0 -13
- package/dist/lib/browser/operations/index.mjs.map +0 -7
- package/dist/lib/browser/redeem-passkey-OCIV6VCK.mjs.map +0 -7
- package/dist/lib/browser/redeem-token-6BCRGKV6.mjs.map +0 -7
- package/dist/lib/browser/testing/index.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
- package/dist/lib/node-esm/chunk-IT5LAIV3.mjs +0 -133
- package/dist/lib/node-esm/chunk-IT5LAIV3.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-J5RWSQT6.mjs +0 -14
- package/dist/lib/node-esm/chunk-J5RWSQT6.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-SJ6FDER5.mjs +0 -176
- package/dist/lib/node-esm/chunk-SJ6FDER5.mjs.map +0 -7
- package/dist/lib/node-esm/cli/index.mjs +0 -1060
- package/dist/lib/node-esm/cli/index.mjs.map +0 -7
- package/dist/lib/node-esm/create-agent-QGEHMHBL.mjs +0 -35
- package/dist/lib/node-esm/create-agent-QGEHMHBL.mjs.map +0 -7
- package/dist/lib/node-esm/create-identity-EHRJQOO4.mjs +0 -31
- package/dist/lib/node-esm/create-identity-EHRJQOO4.mjs.map +0 -7
- package/dist/lib/node-esm/create-passkey-PFBHHBEQ.mjs +0 -106
- package/dist/lib/node-esm/create-passkey-PFBHHBEQ.mjs.map +0 -7
- package/dist/lib/node-esm/create-recovery-code-HBAM2A72.mjs +0 -45
- package/dist/lib/node-esm/create-recovery-code-HBAM2A72.mjs.map +0 -7
- package/dist/lib/node-esm/index.mjs +0 -144
- package/dist/lib/node-esm/index.mjs.map +0 -7
- package/dist/lib/node-esm/join-identity-75JCKQHM.mjs +0 -28
- package/dist/lib/node-esm/join-identity-75JCKQHM.mjs.map +0 -7
- package/dist/lib/node-esm/meta.json +0 -1
- package/dist/lib/node-esm/operations/index.mjs +0 -14
- package/dist/lib/node-esm/operations/index.mjs.map +0 -7
- package/dist/lib/node-esm/recover-identity-AKGNTUJI.mjs +0 -27
- package/dist/lib/node-esm/recover-identity-AKGNTUJI.mjs.map +0 -7
- package/dist/lib/node-esm/redeem-passkey-FZO3LZ57.mjs +0 -83
- package/dist/lib/node-esm/redeem-passkey-FZO3LZ57.mjs.map +0 -7
- package/dist/lib/node-esm/redeem-token-IHHIAIQ2.mjs +0 -38
- package/dist/lib/node-esm/redeem-token-IHHIAIQ2.mjs.map +0 -7
- package/dist/lib/node-esm/reset-storage-S5MJITI3.mjs +0 -27
- package/dist/lib/node-esm/reset-storage-S5MJITI3.mjs.map +0 -7
- package/dist/lib/node-esm/share-identity-QZLY3VHE.mjs +0 -32
- package/dist/lib/node-esm/share-identity-QZLY3VHE.mjs.map +0 -7
- package/dist/lib/node-esm/testing/index.mjs +0 -23
- package/dist/lib/node-esm/testing/index.mjs.map +0 -7
- package/dist/lib/node-esm/types/index.mjs +0 -15
- package/dist/types/src/cli/commands/config/index.d.ts.map +0 -1
- package/dist/types/src/cli/commands/config/view.d.ts.map +0 -1
- package/dist/types/src/cli/commands/device/index.d.ts.map +0 -1
- package/dist/types/src/cli/commands/device/info/index.d.ts.map +0 -1
- package/dist/types/src/cli/commands/device/info/info.d.ts.map +0 -1
- package/dist/types/src/cli/commands/device/info/info.test.d.ts.map +0 -1
- package/dist/types/src/cli/commands/device/list/index.d.ts.map +0 -1
- package/dist/types/src/cli/commands/device/list/list.d.ts.map +0 -1
- package/dist/types/src/cli/commands/device/list/list.test.d.ts.map +0 -1
- package/dist/types/src/cli/commands/device/update/index.d.ts.map +0 -1
- package/dist/types/src/cli/commands/device/update/update.d.ts.map +0 -1
- package/dist/types/src/cli/commands/device/util.d.ts.map +0 -1
- package/dist/types/src/cli/commands/edge/index.d.ts.map +0 -1
- package/dist/types/src/cli/commands/edge/status.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/create/create.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/create/create.test.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/create/index.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/credential/add/add.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/credential/add/index.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/credential/index.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/credential/list/index.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/credential/list/list.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/credential/list/list.test.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/identity/identity.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/identity/identity.test.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/identity/index.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/index.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/join/index.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/join/join.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/join/join.test.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/keys/index.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/keys/keys.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/keys/keys.test.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/recover/index.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/recover/recover.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/recover/recover.test.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/seed/index.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/seed/seed.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/share/index.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/share/share.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/update/index.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/update/update.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/update/update.test.d.ts.map +0 -1
- package/dist/types/src/cli/commands/halo/util.d.ts.map +0 -1
- package/dist/types/src/cli/commands/index.d.ts.map +0 -1
- package/dist/types/src/cli/commands/profile/create.d.ts.map +0 -1
- package/dist/types/src/cli/commands/profile/delete.d.ts.map +0 -1
- package/dist/types/src/cli/commands/profile/import.d.ts.map +0 -1
- package/dist/types/src/cli/commands/profile/index.d.ts.map +0 -1
- package/dist/types/src/cli/commands/profile/inspect.d.ts.map +0 -1
- package/dist/types/src/cli/commands/profile/list.d.ts.map +0 -1
- package/dist/types/src/cli/commands/profile/reset.d.ts.map +0 -1
- package/dist/types/src/cli/commands/profile/util.d.ts.map +0 -1
- package/dist/types/src/cli/index.d.ts +0 -2
- package/dist/types/src/cli/index.d.ts.map +0 -1
- package/dist/types/src/cli/plugin.d.ts.map +0 -1
- package/dist/types/src/cli/testing/test-console.d.ts +0 -37
- package/dist/types/src/cli/testing/test-console.d.ts.map +0 -1
- package/src/cli/index.ts +0 -5
- package/src/cli/testing/test-console.ts +0 -87
- /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
- /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs.map +0 -0
- /package/dist/lib/{browser/types → neutral/components}/index.mjs.map +0 -0
- /package/dist/lib/{node-esm/types → neutral}/index.mjs.map +0 -0
- /package/dist/lib/{node-esm/chunk-HSLMI22Q.mjs.map → neutral/meta.mjs.map} +0 -0
- /package/dist/types/src/{cli/commands → commands}/device/index.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/device/info/index.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/device/info/info.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/device/info/info.test.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/device/list/index.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/device/list/list.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/device/list/list.test.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/device/update/index.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/device/update/update.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/device/util.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/edge/index.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/edge/status.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/halo/create/create.test.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/halo/create/index.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/halo/credential/add/add.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/halo/credential/add/index.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/halo/credential/index.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/halo/credential/list/index.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/halo/credential/list/list.test.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/halo/identity/identity.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/halo/identity/identity.test.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/halo/identity/index.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/halo/index.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/halo/join/index.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/halo/join/join.test.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/halo/keys/index.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/halo/keys/keys.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/halo/keys/keys.test.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/halo/recover/index.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/halo/recover/recover.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/halo/recover/recover.test.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/halo/seed/index.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/halo/seed/seed.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/halo/share/index.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/halo/share/share.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/halo/update/index.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/halo/update/update.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/halo/update/update.test.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/index.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/profile/delete.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/profile/inspect.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/profile/list.d.ts +0 -0
- /package/dist/types/src/{cli/commands → commands}/profile/util.d.ts +0 -0
- /package/src/{cli/commands → commands}/config/index.ts +0 -0
- /package/src/{cli/commands → commands}/config/view.ts +0 -0
- /package/src/{cli/commands → commands}/device/index.ts +0 -0
- /package/src/{cli/commands → commands}/device/info/index.ts +0 -0
- /package/src/{cli/commands → commands}/device/info/info.test.ts +0 -0
- /package/src/{cli/commands → commands}/device/info/info.ts +0 -0
- /package/src/{cli/commands → commands}/device/list/index.ts +0 -0
- /package/src/{cli/commands → commands}/device/list/list.test.ts +0 -0
- /package/src/{cli/commands → commands}/device/list/list.ts +0 -0
- /package/src/{cli/commands → commands}/device/update/index.ts +0 -0
- /package/src/{cli/commands → commands}/device/update/update.ts +0 -0
- /package/src/{cli/commands → commands}/device/util.ts +0 -0
- /package/src/{cli/commands → commands}/edge/index.ts +0 -0
- /package/src/{cli/commands → commands}/edge/status.ts +0 -0
- /package/src/{cli/commands → commands}/halo/create/index.ts +0 -0
- /package/src/{cli/commands → commands}/halo/credential/add/add.ts +0 -0
- /package/src/{cli/commands → commands}/halo/credential/add/index.ts +0 -0
- /package/src/{cli/commands → commands}/halo/credential/index.ts +0 -0
- /package/src/{cli/commands → commands}/halo/credential/list/index.ts +0 -0
- /package/src/{cli/commands → commands}/halo/credential/list/list.test.ts +0 -0
- /package/src/{cli/commands → commands}/halo/credential/list/list.ts +0 -0
- /package/src/{cli/commands → commands}/halo/identity/index.ts +0 -0
- /package/src/{cli/commands → commands}/halo/index.ts +0 -0
- /package/src/{cli/commands → commands}/halo/join/index.ts +0 -0
- /package/src/{cli/commands → commands}/halo/join/join.test.ts +0 -0
- /package/src/{cli/commands → commands}/halo/keys/index.ts +0 -0
- /package/src/{cli/commands → commands}/halo/keys/keys.test.ts +0 -0
- /package/src/{cli/commands → commands}/halo/keys/keys.ts +0 -0
- /package/src/{cli/commands → commands}/halo/recover/index.ts +0 -0
- /package/src/{cli/commands → commands}/halo/recover/recover.test.ts +0 -0
- /package/src/{cli/commands → commands}/halo/seed/index.ts +0 -0
- /package/src/{cli/commands → commands}/halo/seed/seed.ts +0 -0
- /package/src/{cli/commands → commands}/halo/share/index.ts +0 -0
- /package/src/{cli/commands → commands}/halo/share/share.ts +0 -0
- /package/src/{cli/commands → commands}/halo/update/index.ts +0 -0
- /package/src/{cli/commands → commands}/index.ts +0 -0
- /package/src/{cli/commands → commands}/profile/create.ts +0 -0
- /package/src/{cli/commands → commands}/profile/delete.ts +0 -0
- /package/src/{cli/commands → commands}/profile/import.ts +0 -0
- /package/src/{cli/commands → commands}/profile/index.ts +0 -0
- /package/src/{cli/commands → commands}/profile/inspect.ts +0 -0
- /package/src/{cli/commands → commands}/profile/list.ts +0 -0
- /package/src/{cli/commands → commands}/profile/reset.ts +0 -0
- /package/src/{cli/commands → commands}/profile/util.ts +0 -0
|
@@ -9,8 +9,9 @@ import { withPluginManager } from '@dxos/app-framework/testing';
|
|
|
9
9
|
import { corePlugins } from '@dxos/plugin-testing';
|
|
10
10
|
import { Dialog } from '@dxos/react-ui';
|
|
11
11
|
|
|
12
|
+
import { translations } from '#translations';
|
|
13
|
+
|
|
12
14
|
import { ClientPlugin } from '../../ClientPlugin';
|
|
13
|
-
import { translations } from '../../translations';
|
|
14
15
|
import { JoinDialog } from './JoinDialog';
|
|
15
16
|
|
|
16
17
|
const DefaultStory = () => (
|
|
@@ -6,7 +6,7 @@ import React, { useCallback } from 'react';
|
|
|
6
6
|
|
|
7
7
|
import { useOperationInvoker } from '@dxos/app-framework/ui';
|
|
8
8
|
import { LayoutOperation } from '@dxos/app-toolkit';
|
|
9
|
-
import { ObservabilityOperation } from '@dxos/plugin-observability
|
|
9
|
+
import { ObservabilityOperation } from '@dxos/plugin-observability';
|
|
10
10
|
import { type InvitationResult } from '@dxos/react-client/invitations';
|
|
11
11
|
import { Dialog, useTranslation } from '@dxos/react-ui';
|
|
12
12
|
import { JoinPanel, type JoinPanelProps } from '@dxos/shell/react';
|
|
@@ -7,7 +7,8 @@ import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
|
7
7
|
import { withClientProvider } from '@dxos/react-client/testing';
|
|
8
8
|
import { withLayout, withTheme } from '@dxos/react-ui/testing';
|
|
9
9
|
|
|
10
|
-
import { translations } from '
|
|
10
|
+
import { translations } from '#translations';
|
|
11
|
+
|
|
11
12
|
import { ProfileContainer } from './ProfileContainer';
|
|
12
13
|
|
|
13
14
|
const meta = {
|
|
@@ -139,7 +139,7 @@ export const ProfileContainer = () => {
|
|
|
139
139
|
|
|
140
140
|
return (
|
|
141
141
|
<Settings.Item title={label} description={t('hue.description')}>
|
|
142
|
-
<div
|
|
142
|
+
<div className='flex justify-self-end'>
|
|
143
143
|
<HuePicker value={getValue()} onChange={handleChange} onReset={handleHueReset} />
|
|
144
144
|
</div>
|
|
145
145
|
</Settings.Item>
|
|
@@ -10,7 +10,8 @@ import { withClientProvider } from '@dxos/react-client/testing';
|
|
|
10
10
|
import { AlertDialog, useAsyncEffect } from '@dxos/react-ui';
|
|
11
11
|
import { withLayout, withTheme } from '@dxos/react-ui/testing';
|
|
12
12
|
|
|
13
|
-
import { translations } from '
|
|
13
|
+
import { translations } from '#translations';
|
|
14
|
+
|
|
14
15
|
import { RecoveryCodeDialog } from './RecoveryCodeDialog';
|
|
15
16
|
|
|
16
17
|
const DefaultStory = () => {
|
package/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.stories.tsx
CHANGED
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
6
6
|
import * as Effect from 'effect/Effect';
|
|
7
7
|
|
|
8
|
-
import {
|
|
8
|
+
import { ProcessManagerPlugin } from '@dxos/app-framework';
|
|
9
9
|
import { withPluginManager } from '@dxos/app-framework/testing';
|
|
10
10
|
import { withLayout, withTheme } from '@dxos/react-ui/testing';
|
|
11
11
|
|
|
12
12
|
import { initializeIdentity } from '#testing';
|
|
13
|
+
import { translations } from '#translations';
|
|
13
14
|
|
|
14
15
|
import { ClientPlugin } from '../../ClientPlugin';
|
|
15
|
-
import { translations } from '../../translations';
|
|
16
16
|
import { RecoveryCredentialsContainer } from './RecoveryCredentialsContainer';
|
|
17
17
|
|
|
18
18
|
const meta = {
|
|
@@ -29,8 +29,7 @@ const meta = {
|
|
|
29
29
|
yield* initializeIdentity(client);
|
|
30
30
|
}),
|
|
31
31
|
}),
|
|
32
|
-
|
|
33
|
-
RuntimePlugin(),
|
|
32
|
+
ProcessManagerPlugin(),
|
|
34
33
|
],
|
|
35
34
|
}),
|
|
36
35
|
],
|
|
@@ -6,14 +6,15 @@ import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
|
6
6
|
import * as Effect from 'effect/Effect';
|
|
7
7
|
import React from 'react';
|
|
8
8
|
|
|
9
|
-
import {
|
|
9
|
+
import { ProcessManagerPlugin } from '@dxos/app-framework';
|
|
10
10
|
import { withPluginManager } from '@dxos/app-framework/testing';
|
|
11
11
|
import { usePluginManager } from '@dxos/app-framework/ui';
|
|
12
12
|
import { Dialog } from '@dxos/react-ui';
|
|
13
13
|
import { withLayout, withTheme } from '@dxos/react-ui/testing';
|
|
14
14
|
|
|
15
|
+
import { translations } from '#translations';
|
|
16
|
+
|
|
15
17
|
import { ClientPlugin } from '../../ClientPlugin';
|
|
16
|
-
import { translations } from '../../translations';
|
|
17
18
|
import { ResetDialog, type ResetDialogProps } from './ResetDialog';
|
|
18
19
|
|
|
19
20
|
const DefaultStory = (props: Omit<ResetDialogProps, 'capabilityManager'>) => {
|
|
@@ -40,7 +41,7 @@ const meta = {
|
|
|
40
41
|
withTheme(),
|
|
41
42
|
withLayout({ layout: 'fullscreen' }),
|
|
42
43
|
withPluginManager({
|
|
43
|
-
plugins: [
|
|
44
|
+
plugins: [ProcessManagerPlugin(), ClientPlugin({})],
|
|
44
45
|
}),
|
|
45
46
|
],
|
|
46
47
|
parameters: {
|
|
@@ -18,14 +18,22 @@ import { type ClientPluginOptions } from '#types';
|
|
|
18
18
|
export type ResetDialogProps = Pick<ConfirmResetProps, 'mode'> &
|
|
19
19
|
Pick<ClientPluginOptions, 'onReset'> & {
|
|
20
20
|
capabilityManager: CapabilityManager.CapabilityManager;
|
|
21
|
+
/**
|
|
22
|
+
* Optional async action run before `client.reset()`. Throwing here aborts the
|
|
23
|
+
* reset so callers can surface errors without wiping local state.
|
|
24
|
+
*/
|
|
25
|
+
onBeforeReset?: () => Promise<void>;
|
|
21
26
|
};
|
|
22
27
|
|
|
23
|
-
export const ResetDialog = ({ mode, onReset, capabilityManager }: ResetDialogProps) => {
|
|
28
|
+
export const ResetDialog = ({ mode, onReset, onBeforeReset, capabilityManager }: ResetDialogProps) => {
|
|
24
29
|
const { t } = useTranslation(translationKey);
|
|
25
30
|
const { invokePromise } = useOperationInvoker();
|
|
26
31
|
const client = useClient();
|
|
27
32
|
|
|
28
33
|
const handleReset = useCallback(async () => {
|
|
34
|
+
if (onBeforeReset) {
|
|
35
|
+
await onBeforeReset();
|
|
36
|
+
}
|
|
29
37
|
await client.reset();
|
|
30
38
|
const target =
|
|
31
39
|
mode === 'join-new-identity' ? 'deviceInvitation' : mode === 'recover' ? 'recoverIdentity' : undefined;
|
package/src/containers/index.ts
CHANGED
|
@@ -7,7 +7,9 @@ import { type ComponentType, lazy } from 'react';
|
|
|
7
7
|
export { type RecoveryCodeDialogProps } from './RecoveryCodeDialog';
|
|
8
8
|
export { type ResetDialogProps } from './ResetDialog';
|
|
9
9
|
|
|
10
|
+
export const AccountContainer: ComponentType<any> = lazy(() => import('./AccountContainer'));
|
|
10
11
|
export const DevicesContainer: ComponentType<any> = lazy(() => import('./DevicesContainer'));
|
|
12
|
+
export const InvitationsContainer: ComponentType<any> = lazy(() => import('./InvitationsContainer'));
|
|
11
13
|
export const JoinDialog: ComponentType<any> = lazy(() => import('./JoinDialog'));
|
|
12
14
|
export const ProfileContainer: ComponentType<any> = lazy(() => import('./ProfileContainer'));
|
|
13
15
|
export const RecoveryCodeDialog: ComponentType<any> = lazy(() => import('./RecoveryCodeDialog'));
|
package/src/index.ts
CHANGED
package/src/meta.ts
CHANGED
|
@@ -2,14 +2,17 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { Plugin } from '@dxos/app-framework';
|
|
6
|
+
import { DXN } from '@dxos/keys';
|
|
6
7
|
import { trim } from '@dxos/util';
|
|
7
8
|
|
|
8
|
-
export const meta
|
|
9
|
-
|
|
9
|
+
export const meta = Plugin.makeMeta({
|
|
10
|
+
key: DXN.make('org.dxos.plugin.client'),
|
|
10
11
|
name: 'Client',
|
|
12
|
+
author: 'DXOS',
|
|
11
13
|
description: trim`
|
|
12
14
|
Core client connectivity and peer-to-peer networking infrastructure.
|
|
13
15
|
Manages identity, authentication, and real-time synchronization across devices.
|
|
14
16
|
`,
|
|
15
|
-
|
|
17
|
+
tags: ['system'],
|
|
18
|
+
});
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
import * as Effect from 'effect/Effect';
|
|
6
6
|
|
|
7
7
|
import { Capability } from '@dxos/app-framework';
|
|
8
|
+
import { Operation } from '@dxos/compute';
|
|
8
9
|
import { invariant } from '@dxos/invariant';
|
|
9
|
-
import { Operation } from '@dxos/operation';
|
|
10
10
|
|
|
11
11
|
import { ClientCapabilities } from '../types';
|
|
12
12
|
import { CreateAgent } from './definitions';
|
|
@@ -5,9 +5,11 @@
|
|
|
5
5
|
import * as Effect from 'effect/Effect';
|
|
6
6
|
|
|
7
7
|
import { Capabilities, Capability } from '@dxos/app-framework';
|
|
8
|
+
import { Operation } from '@dxos/compute';
|
|
9
|
+
import { createIdFromSpaceKey } from '@dxos/echo-protocol';
|
|
8
10
|
import { runAndForwardErrors } from '@dxos/effect';
|
|
9
|
-
import {
|
|
10
|
-
import { ObservabilityOperation } from '@dxos/plugin-observability
|
|
11
|
+
import { IdentityDid } from '@dxos/keys';
|
|
12
|
+
import { ObservabilityOperation } from '@dxos/plugin-observability';
|
|
11
13
|
|
|
12
14
|
import { ClientEvents } from '../types';
|
|
13
15
|
import { ClientCapabilities } from '../types';
|
|
@@ -19,9 +21,15 @@ const handler: Operation.WithHandler<typeof CreateIdentity> = CreateIdentity.pip
|
|
|
19
21
|
const manager = yield* Capability.get(Capabilities.PluginManager);
|
|
20
22
|
const client = yield* Capability.get(ClientCapabilities.Client);
|
|
21
23
|
const data = yield* Effect.promise(() => client.halo.createIdentity(profile));
|
|
24
|
+
const spaceKey = data.spaceKey;
|
|
25
|
+
const spaceId = spaceKey ? yield* Effect.promise(() => createIdFromSpaceKey(spaceKey)) : undefined;
|
|
22
26
|
yield* Effect.promise(() => runAndForwardErrors(manager.activate(ClientEvents.IdentityCreated)));
|
|
23
27
|
yield* Operation.schedule(ObservabilityOperation.SendEvent, { name: 'identity.create' });
|
|
24
|
-
return
|
|
28
|
+
return {
|
|
29
|
+
identityDid: IdentityDid.make(data.did),
|
|
30
|
+
...(spaceId !== undefined && { spaceId }),
|
|
31
|
+
...(data.profile !== undefined && { profile: data.profile }),
|
|
32
|
+
};
|
|
25
33
|
}),
|
|
26
34
|
),
|
|
27
35
|
);
|
|
@@ -8,8 +8,8 @@ import * as Match from 'effect/Match';
|
|
|
8
8
|
import { Capability } from '@dxos/app-framework';
|
|
9
9
|
import { supportsNativePasskeys, createNativePasskey, extractPublicKeyFromAttestation } from '@dxos/app-toolkit';
|
|
10
10
|
import { PublicKey } from '@dxos/client';
|
|
11
|
+
import { Operation } from '@dxos/compute';
|
|
11
12
|
import { invariant } from '@dxos/invariant';
|
|
12
|
-
import { Operation } from '@dxos/operation';
|
|
13
13
|
|
|
14
14
|
import { ClientCapabilities } from '../types';
|
|
15
15
|
import { CreatePasskey } from './definitions';
|
|
@@ -6,8 +6,8 @@ import * as Effect from 'effect/Effect';
|
|
|
6
6
|
|
|
7
7
|
import { Capability } from '@dxos/app-framework';
|
|
8
8
|
import { LayoutOperation } from '@dxos/app-toolkit';
|
|
9
|
+
import { Operation } from '@dxos/compute';
|
|
9
10
|
import { invariant } from '@dxos/invariant';
|
|
10
|
-
import { Operation } from '@dxos/operation';
|
|
11
11
|
|
|
12
12
|
import { RECOVERY_CODE_DIALOG } from '../constants';
|
|
13
13
|
import { ClientCapabilities } from '../types';
|
|
@@ -5,16 +5,16 @@
|
|
|
5
5
|
import * as Schema from 'effect/Schema';
|
|
6
6
|
|
|
7
7
|
import { Capability } from '@dxos/app-framework';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
8
|
+
import { Operation } from '@dxos/compute';
|
|
9
|
+
import { DXN, IdentityDid, SpaceId } from '@dxos/keys';
|
|
10
10
|
|
|
11
11
|
import { meta } from '#meta';
|
|
12
12
|
|
|
13
|
-
const
|
|
13
|
+
const makeKey = (name: string) => DXN.make(`${meta.id}.operation.${name}`);
|
|
14
14
|
|
|
15
15
|
const IdentitySchema = Schema.Struct({
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
identityDid: IdentityDid,
|
|
17
|
+
spaceId: Schema.optional(SpaceId),
|
|
18
18
|
profile: Schema.optional(
|
|
19
19
|
Schema.Struct({
|
|
20
20
|
displayName: Schema.optional(Schema.String),
|
|
@@ -31,14 +31,14 @@ const ProfileSchema = Schema.Struct({
|
|
|
31
31
|
});
|
|
32
32
|
|
|
33
33
|
export const CreateIdentity = Operation.make({
|
|
34
|
-
meta: { key:
|
|
34
|
+
meta: { key: makeKey('createIdentity'), name: 'Create Identity', icon: 'ph--user--regular' },
|
|
35
35
|
services: [Capability.Service],
|
|
36
36
|
input: ProfileSchema,
|
|
37
37
|
output: IdentitySchema,
|
|
38
38
|
});
|
|
39
39
|
|
|
40
40
|
export const JoinIdentity = Operation.make({
|
|
41
|
-
meta: { key:
|
|
41
|
+
meta: { key: makeKey('joinIdentity'), name: 'Join Identity', icon: 'ph--sign-in--regular' },
|
|
42
42
|
services: [Capability.Service],
|
|
43
43
|
input: Schema.Struct({
|
|
44
44
|
invitationCode: Schema.optional(Schema.String),
|
|
@@ -47,21 +47,25 @@ export const JoinIdentity = Operation.make({
|
|
|
47
47
|
});
|
|
48
48
|
|
|
49
49
|
export const ShareIdentity = Operation.make({
|
|
50
|
-
meta: {
|
|
50
|
+
meta: {
|
|
51
|
+
key: makeKey('shareIdentity'),
|
|
52
|
+
name: 'Share Identity',
|
|
53
|
+
icon: 'ph--share-network--regular',
|
|
54
|
+
},
|
|
51
55
|
services: [Capability.Service],
|
|
52
56
|
input: Schema.Void,
|
|
53
57
|
output: Schema.Void,
|
|
54
58
|
});
|
|
55
59
|
|
|
56
60
|
export const RecoverIdentity = Operation.make({
|
|
57
|
-
meta: { key:
|
|
61
|
+
meta: { key: makeKey('recoverIdentity'), name: 'Recover Identity', icon: 'ph--key--regular' },
|
|
58
62
|
services: [Capability.Service],
|
|
59
63
|
input: Schema.Void,
|
|
60
64
|
output: Schema.Void,
|
|
61
65
|
});
|
|
62
66
|
|
|
63
67
|
export const ResetStorage = Operation.make({
|
|
64
|
-
meta: { key:
|
|
68
|
+
meta: { key: makeKey('resetStorage'), name: 'Reset Storage', icon: 'ph--warning--regular' },
|
|
65
69
|
services: [Capability.Service],
|
|
66
70
|
input: Schema.Struct({
|
|
67
71
|
mode: Schema.optional(Schema.String),
|
|
@@ -70,35 +74,39 @@ export const ResetStorage = Operation.make({
|
|
|
70
74
|
});
|
|
71
75
|
|
|
72
76
|
export const CreateAgent = Operation.make({
|
|
73
|
-
meta: { key:
|
|
77
|
+
meta: { key: makeKey('createAgent'), name: 'Create Agent', icon: 'ph--brain--regular' },
|
|
74
78
|
services: [Capability.Service],
|
|
75
79
|
input: Schema.Void,
|
|
76
80
|
output: Schema.Void,
|
|
77
81
|
});
|
|
78
82
|
|
|
79
83
|
export const CreateRecoveryCode = Operation.make({
|
|
80
|
-
meta: {
|
|
84
|
+
meta: {
|
|
85
|
+
key: makeKey('createRecoveryCode'),
|
|
86
|
+
name: 'Create Recovery Code',
|
|
87
|
+
icon: 'ph--key--regular',
|
|
88
|
+
},
|
|
81
89
|
services: [Capability.Service],
|
|
82
90
|
input: Schema.Void,
|
|
83
91
|
output: Schema.Void,
|
|
84
92
|
});
|
|
85
93
|
|
|
86
94
|
export const CreatePasskey = Operation.make({
|
|
87
|
-
meta: { key:
|
|
95
|
+
meta: { key: makeKey('createPasskey'), name: 'Create Passkey', icon: 'ph--key--regular' },
|
|
88
96
|
services: [Capability.Service],
|
|
89
97
|
input: Schema.Void,
|
|
90
98
|
output: Schema.Void,
|
|
91
99
|
});
|
|
92
100
|
|
|
93
101
|
export const RedeemPasskey = Operation.make({
|
|
94
|
-
meta: { key:
|
|
102
|
+
meta: { key: makeKey('redeemPasskey'), name: 'Redeem Passkey', icon: 'ph--key--regular' },
|
|
95
103
|
services: [Capability.Service],
|
|
96
104
|
input: Schema.Void,
|
|
97
105
|
output: Schema.Void,
|
|
98
106
|
});
|
|
99
107
|
|
|
100
108
|
export const RedeemToken = Operation.make({
|
|
101
|
-
meta: { key:
|
|
109
|
+
meta: { key: makeKey('redeemToken'), name: 'Redeem Token', icon: 'ph--lock--regular' },
|
|
102
110
|
services: [Capability.Service],
|
|
103
111
|
input: Schema.Struct({
|
|
104
112
|
token: Schema.String,
|
package/src/operations/index.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import * as Effect from 'effect/Effect';
|
|
6
6
|
|
|
7
7
|
import { LayoutOperation } from '@dxos/app-toolkit';
|
|
8
|
-
import { Operation } from '@dxos/
|
|
8
|
+
import { Operation } from '@dxos/compute';
|
|
9
9
|
|
|
10
10
|
import { JOIN_DIALOG } from '../constants';
|
|
11
11
|
import { JoinIdentity } from './definitions';
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
import * as Effect from 'effect/Effect';
|
|
6
6
|
|
|
7
7
|
import { LayoutOperation } from '@dxos/app-toolkit';
|
|
8
|
-
import { Operation } from '@dxos/
|
|
9
|
-
import {
|
|
8
|
+
import { Operation } from '@dxos/compute';
|
|
9
|
+
import type { JoinPanelProps } from '@dxos/shell/react';
|
|
10
10
|
|
|
11
11
|
import { JOIN_DIALOG } from '../constants';
|
|
12
12
|
import { RecoverIdentity } from './definitions';
|
|
@@ -8,8 +8,8 @@ import * as Match from 'effect/Match';
|
|
|
8
8
|
import { Capability } from '@dxos/app-framework';
|
|
9
9
|
import { decodeUrlSafeBase64, supportsNativePasskeys, loginNativePasskey } from '@dxos/app-toolkit';
|
|
10
10
|
import { PublicKey } from '@dxos/client';
|
|
11
|
+
import { Operation } from '@dxos/compute';
|
|
11
12
|
import { invariant } from '@dxos/invariant';
|
|
12
|
-
import { Operation } from '@dxos/operation';
|
|
13
13
|
|
|
14
14
|
import { ClientCapabilities } from '../types';
|
|
15
15
|
import { RedeemPasskey } from './definitions';
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
import * as Effect from 'effect/Effect';
|
|
6
6
|
|
|
7
7
|
import { Capability } from '@dxos/app-framework';
|
|
8
|
+
import { Operation } from '@dxos/compute';
|
|
8
9
|
import { invariant } from '@dxos/invariant';
|
|
9
|
-
import { Operation } from '@dxos/operation';
|
|
10
10
|
|
|
11
11
|
import { ClientCapabilities } from '../types';
|
|
12
12
|
import { RedeemToken } from './definitions';
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import * as Effect from 'effect/Effect';
|
|
6
6
|
|
|
7
7
|
import { LayoutOperation } from '@dxos/app-toolkit';
|
|
8
|
-
import { Operation } from '@dxos/
|
|
8
|
+
import { Operation } from '@dxos/compute';
|
|
9
9
|
|
|
10
10
|
import { RESET_DIALOG } from '../constants';
|
|
11
11
|
import { ResetStorage } from './definitions';
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
import * as Effect from 'effect/Effect';
|
|
6
6
|
|
|
7
7
|
import { LayoutOperation, getSpacePath } from '@dxos/app-toolkit';
|
|
8
|
-
import { Operation } from '@dxos/
|
|
9
|
-
import { ObservabilityOperation } from '@dxos/plugin-observability
|
|
8
|
+
import { Operation } from '@dxos/compute';
|
|
9
|
+
import { ObservabilityOperation } from '@dxos/plugin-observability';
|
|
10
10
|
|
|
11
11
|
import { Account } from '../types';
|
|
12
12
|
import { ShareIdentity } from './definitions';
|
package/src/plugin.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2023 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { Plugin } from '@dxos/app-framework';
|
|
6
|
+
|
|
7
|
+
import { meta } from './meta';
|
|
8
|
+
|
|
9
|
+
export const ClientPlugin = Plugin.lazy(meta, () => import('#plugin'));
|
|
10
|
+
|
|
11
|
+
export { ClientOperationHandlerSet } from './operations';
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2026 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import * as Schema from 'effect/Schema';
|
|
6
|
+
|
|
7
|
+
const AccountCacheValue = Schema.Struct({
|
|
8
|
+
identityDid: Schema.String,
|
|
9
|
+
email: Schema.String,
|
|
10
|
+
emailVerified: Schema.Boolean,
|
|
11
|
+
/** ISO timestamp. */
|
|
12
|
+
createdAt: Schema.String,
|
|
13
|
+
invitationsRemaining: Schema.Number,
|
|
14
|
+
});
|
|
15
|
+
export type AccountCacheValue = Schema.Schema.Type<typeof AccountCacheValue>;
|
|
16
|
+
|
|
17
|
+
const AccountCacheInvitation = Schema.Struct({
|
|
18
|
+
code: Schema.String,
|
|
19
|
+
/** ISO timestamp. */
|
|
20
|
+
createdAt: Schema.String,
|
|
21
|
+
redeemedByIdentityDid: Schema.optional(Schema.String),
|
|
22
|
+
/** ISO timestamp. */
|
|
23
|
+
redeemedAt: Schema.optional(Schema.String),
|
|
24
|
+
});
|
|
25
|
+
export type AccountCacheInvitation = Schema.Schema.Type<typeof AccountCacheInvitation>;
|
|
26
|
+
|
|
27
|
+
export const AccountCache = Schema.Struct({
|
|
28
|
+
account: Schema.optional(AccountCacheValue),
|
|
29
|
+
invitations: Schema.optional(Schema.Array(AccountCacheInvitation)),
|
|
30
|
+
/** Epoch ms when the cache was last refreshed. */
|
|
31
|
+
fetchedAt: Schema.optional(Schema.Number),
|
|
32
|
+
});
|
|
33
|
+
export type AccountCache = Schema.Schema.Type<typeof AccountCache>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2026 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { useEffect } from 'react';
|
|
6
|
+
|
|
7
|
+
import { useCapabilities } from '@dxos/app-framework/ui';
|
|
8
|
+
import { createEdgeIdentity } from '@dxos/client/edge';
|
|
9
|
+
import { type HubHttpClient } from '@dxos/edge-client';
|
|
10
|
+
import { useClient } from '@dxos/react-client';
|
|
11
|
+
import { useIdentity } from '@dxos/react-client/halo';
|
|
12
|
+
|
|
13
|
+
import { ClientCapabilities } from '#types';
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Returns the shared `HubHttpClient` singleton for hub-service API calls.
|
|
17
|
+
* Updates the VP-auth identity whenever the signed-in user changes.
|
|
18
|
+
* Returns `undefined` when the hub URL is unconfigured (no HubHttpClient capability).
|
|
19
|
+
*/
|
|
20
|
+
export const useHubHttpClient = (): HubHttpClient | undefined => {
|
|
21
|
+
const client = useClient();
|
|
22
|
+
const identity = useIdentity();
|
|
23
|
+
const [hubHttpClient] = useCapabilities(ClientCapabilities.HubHttpClient);
|
|
24
|
+
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
if (hubHttpClient && identity) {
|
|
27
|
+
hubHttpClient.setIdentity(createEdgeIdentity(client));
|
|
28
|
+
}
|
|
29
|
+
}, [client, identity, hubHttpClient]);
|
|
30
|
+
|
|
31
|
+
return hubHttpClient ?? undefined;
|
|
32
|
+
};
|
package/src/testing/index.ts
CHANGED
|
@@ -9,16 +9,22 @@ import { type Client } from '@dxos/client';
|
|
|
9
9
|
import { type Space } from '@dxos/client-protocol';
|
|
10
10
|
import { type Identity } from '@dxos/protocols/proto/dxos/client/services';
|
|
11
11
|
|
|
12
|
+
export type InitializeIdentityResult = {
|
|
13
|
+
identity: Identity;
|
|
14
|
+
personalSpace: Space;
|
|
15
|
+
};
|
|
16
|
+
|
|
12
17
|
/**
|
|
13
18
|
* Create an identity and a personal space.
|
|
14
19
|
* Returns the identity and space for further setup.
|
|
15
20
|
*/
|
|
16
|
-
export const initializeIdentity = (
|
|
17
|
-
client: Client,
|
|
18
|
-
): Effect.Effect<{ identity: Identity; personalSpace: Space }, never, never> =>
|
|
21
|
+
export const initializeIdentity = (client: Client): Effect.Effect<InitializeIdentityResult, never, never> =>
|
|
19
22
|
Effect.gen(function* () {
|
|
20
23
|
const identity = yield* Effect.promise(() => client.halo.createIdentity());
|
|
21
24
|
const personalSpace = yield* Effect.promise(() => client.spaces.create({}, { tags: [PERSONAL_SPACE_TAG] }));
|
|
22
25
|
yield* Effect.promise(() => personalSpace.waitUntilReady());
|
|
23
|
-
return {
|
|
26
|
+
return {
|
|
27
|
+
identity,
|
|
28
|
+
personalSpace,
|
|
29
|
+
};
|
|
24
30
|
});
|
package/src/translations.ts
CHANGED
|
@@ -14,18 +14,49 @@ const pluginTranslations = [
|
|
|
14
14
|
[meta.id]: {
|
|
15
15
|
'account.label': 'User profile',
|
|
16
16
|
'profile.label': 'Profile',
|
|
17
|
-
'profile.description': '
|
|
17
|
+
'profile.description': 'User profile and account settings.',
|
|
18
18
|
'devices.label': 'Devices',
|
|
19
19
|
'add-device.label': 'Add device',
|
|
20
20
|
'devices-verbose.label': 'Manage devices',
|
|
21
21
|
'add-device.description':
|
|
22
22
|
'Authenticating another device is a two-step process. To get started, create a code using the button below.',
|
|
23
|
-
'devices.description':
|
|
24
|
-
'You can add and remove devices, configure your agent in the cloud, reset this device, or log in as a different identity here.',
|
|
23
|
+
'devices.description': 'Devices, cloud agents, and account access for this identity.',
|
|
25
24
|
'create-device-invitation.label': 'Create code',
|
|
26
25
|
'qr-code.description':
|
|
27
26
|
'Scan this QR code using the device you want to log in to, or copy the URL and share it with the new device.',
|
|
28
27
|
'security.label': 'Security',
|
|
28
|
+
'account-panel.label': 'Account',
|
|
29
|
+
'invitations-panel.label': 'Invitations',
|
|
30
|
+
'account-section.title': 'Account',
|
|
31
|
+
'account-section.description':
|
|
32
|
+
'Your identity on this device is bound to a DXOS account that gates access to edge services like sync, agents, and AI.',
|
|
33
|
+
'invitations-section.title': 'Invitations',
|
|
34
|
+
'invitations-section.description':
|
|
35
|
+
'Share an invitation with someone you’d like to bring onto DXOS. Each code grants one-time access to create an account.',
|
|
36
|
+
'no-edge-access.title': 'No edge access',
|
|
37
|
+
'no-edge-access.description':
|
|
38
|
+
'This identity is not bound to a DXOS account, so features that depend on edge services will not work. Request access below to be notified when an invitation is available.',
|
|
39
|
+
'access-request-email.placeholder': 'you@example.com',
|
|
40
|
+
'access-request-submitted.message': 'Thanks — we’ll be in touch.',
|
|
41
|
+
'request-access.label': 'Request access',
|
|
42
|
+
'request-access.description': 'Enter your email and we’ll add you to the waiting list.',
|
|
43
|
+
'account-offline.title': 'Couldn’t reach the server',
|
|
44
|
+
'account-offline.description':
|
|
45
|
+
'Account information could not be refreshed. Reconnect to update; cached values are shown until then.',
|
|
46
|
+
'email.label': 'Email',
|
|
47
|
+
'resend-verification.label': 'Resend verification email',
|
|
48
|
+
'verification-sent.message': 'Verification email sent.',
|
|
49
|
+
'verification-cooldown.message': 'Please wait {{seconds}}s before resending.',
|
|
50
|
+
'verification-failed.message': 'Could not send verification email.',
|
|
51
|
+
'delete-account.label': 'Delete account',
|
|
52
|
+
'delete-account.description':
|
|
53
|
+
'Permanently delete your account and all associated data. This will sign you out of this device.',
|
|
54
|
+
'generate-invitation.label': 'Generate invitation',
|
|
55
|
+
'generate-invitation.description_zero': 'You have no invitations left to generate.',
|
|
56
|
+
'generate-invitation.description_one': 'You have {{count}} invitation left to generate.',
|
|
57
|
+
'generate-invitation.description_other': 'You have {{count}} invitations left to generate.',
|
|
58
|
+
'available-invitations.title': 'Available invitations',
|
|
59
|
+
'redeemed-invitations.title': 'Redeemed invitations',
|
|
29
60
|
'reset-device.description': 'Log out from this device, erasing all the data on this device.',
|
|
30
61
|
'join-new-identity.description':
|
|
31
62
|
'Log out from this device, erasing all the data currently on this device, and use a QR code or URL to log in.',
|
|
@@ -2,15 +2,22 @@
|
|
|
2
2
|
// Copyright 2025 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
+
import { type Atom } from '@effect-atom/atom-react';
|
|
6
|
+
|
|
5
7
|
import { Capability } from '@dxos/app-framework';
|
|
6
8
|
import { type Client } from '@dxos/client';
|
|
7
9
|
import { type ObjectMigration } from '@dxos/client/echo';
|
|
8
10
|
import { type Type } from '@dxos/echo';
|
|
11
|
+
import { type HubHttpClient } from '@dxos/edge-client';
|
|
9
12
|
|
|
10
13
|
import { meta } from '#meta';
|
|
11
14
|
|
|
15
|
+
import { type AccountCache as AccountCacheType } from '../state/account-cache';
|
|
16
|
+
|
|
12
17
|
export namespace ClientCapabilities {
|
|
13
18
|
export const Client = Capability.make<Client>(`${meta.id}.capability.client`);
|
|
14
19
|
export const Schema = Capability.make<Type.AnyEntity[]>(`${meta.id}.capability.schema`);
|
|
15
20
|
export const Migration = Capability.make<ObjectMigration[]>(`${meta.id}.capability.migration`);
|
|
21
|
+
export const AccountCache = Capability.make<Atom.Writable<AccountCacheType>>(`${meta.id}.capability.accountCache`);
|
|
22
|
+
export const HubHttpClient = Capability.make<HubHttpClient>(`${meta.id}.capability.hubHttpClient`);
|
|
16
23
|
}
|