@dxos/plugin-client 0.8.3 → 0.8.4-main.1c7ec43d41
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/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/browser/chunk-M37DHX5L.mjs +131 -0
- package/dist/lib/browser/chunk-M37DHX5L.mjs.map +7 -0
- package/dist/lib/browser/chunk-RPMM5NKJ.mjs +175 -0
- package/dist/lib/browser/chunk-RPMM5NKJ.mjs.map +7 -0
- package/dist/lib/browser/chunk-VAIJSQYA.mjs +12 -0
- package/dist/lib/browser/chunk-VAIJSQYA.mjs.map +7 -0
- package/dist/lib/browser/create-agent-JV3EM3TV.mjs +26 -0
- package/dist/lib/browser/create-agent-JV3EM3TV.mjs.map +7 -0
- package/dist/lib/browser/create-identity-ZITQKEVZ.mjs +30 -0
- package/dist/lib/browser/create-identity-ZITQKEVZ.mjs.map +7 -0
- package/dist/lib/browser/create-passkey-NCP4XA7C.mjs +81 -0
- package/dist/lib/browser/create-passkey-NCP4XA7C.mjs.map +7 -0
- package/dist/lib/browser/create-recovery-code-L5LA3GAP.mjs +36 -0
- package/dist/lib/browser/create-recovery-code-L5LA3GAP.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +18 -144
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/join-identity-3W6PJLKN.mjs +27 -0
- package/dist/lib/browser/join-identity-3W6PJLKN.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/operations/index.mjs +13 -0
- package/dist/lib/browser/operations/index.mjs.map +7 -0
- package/dist/lib/browser/plugin.mjs +61 -0
- package/dist/lib/browser/plugin.mjs.map +7 -0
- package/dist/lib/browser/recover-identity-KL6QY4GI.mjs +26 -0
- package/dist/lib/browser/recover-identity-KL6QY4GI.mjs.map +7 -0
- package/dist/lib/browser/redeem-passkey-NDEWSJTM.mjs +66 -0
- package/dist/lib/browser/redeem-passkey-NDEWSJTM.mjs.map +7 -0
- package/dist/lib/browser/redeem-token-YLWAVFXD.mjs +29 -0
- package/dist/lib/browser/redeem-token-YLWAVFXD.mjs.map +7 -0
- package/dist/lib/browser/reset-storage-OBHEGA6Z.mjs +26 -0
- package/dist/lib/browser/reset-storage-OBHEGA6Z.mjs.map +7 -0
- package/dist/lib/browser/share-identity-FTFHFSZQ.mjs +31 -0
- package/dist/lib/browser/share-identity-FTFHFSZQ.mjs.map +7 -0
- package/dist/lib/browser/testing/index.mjs +22 -0
- package/dist/lib/browser/testing/index.mjs.map +7 -0
- package/dist/lib/browser/translations.mjs +74 -0
- package/dist/lib/browser/translations.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +14 -0
- package/dist/lib/node-esm/chunk-G77YYPR6.mjs +176 -0
- package/dist/lib/node-esm/chunk-G77YYPR6.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-OHKM7GJW.mjs +14 -0
- package/dist/lib/node-esm/chunk-OHKM7GJW.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-STGGUFV2.mjs → chunk-UBY7FBQ7.mjs} +39 -18
- package/dist/lib/node-esm/chunk-UBY7FBQ7.mjs.map +7 -0
- package/dist/lib/node-esm/create-agent-Y4BPVDV7.mjs +27 -0
- package/dist/lib/node-esm/create-agent-Y4BPVDV7.mjs.map +7 -0
- package/dist/lib/node-esm/create-identity-367SQSX6.mjs +31 -0
- package/dist/lib/node-esm/create-identity-367SQSX6.mjs.map +7 -0
- package/dist/lib/node-esm/create-passkey-WMWK2ETT.mjs +82 -0
- package/dist/lib/node-esm/create-passkey-WMWK2ETT.mjs.map +7 -0
- package/dist/lib/node-esm/create-recovery-code-VJGE5HJL.mjs +37 -0
- package/dist/lib/node-esm/create-recovery-code-VJGE5HJL.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +18 -144
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/join-identity-IRIRO2VT.mjs +28 -0
- package/dist/lib/node-esm/join-identity-IRIRO2VT.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/operations/index.mjs +14 -0
- package/dist/lib/node-esm/operations/index.mjs.map +7 -0
- package/dist/lib/node-esm/plugin.mjs +62 -0
- package/dist/lib/node-esm/plugin.mjs.map +7 -0
- package/dist/lib/node-esm/recover-identity-LJCY4BCJ.mjs +27 -0
- package/dist/lib/node-esm/recover-identity-LJCY4BCJ.mjs.map +7 -0
- package/dist/lib/node-esm/redeem-passkey-PT7QWFJE.mjs +67 -0
- package/dist/lib/node-esm/redeem-passkey-PT7QWFJE.mjs.map +7 -0
- package/dist/lib/node-esm/redeem-token-BHKHEXJM.mjs +30 -0
- package/dist/lib/node-esm/redeem-token-BHKHEXJM.mjs.map +7 -0
- package/dist/lib/node-esm/reset-storage-VPUZJOUV.mjs +27 -0
- package/dist/lib/node-esm/reset-storage-VPUZJOUV.mjs.map +7 -0
- package/dist/lib/node-esm/share-identity-SZ3REIRC.mjs +32 -0
- package/dist/lib/node-esm/share-identity-SZ3REIRC.mjs.map +7 -0
- package/dist/lib/node-esm/testing/index.mjs +23 -0
- package/dist/lib/node-esm/testing/index.mjs.map +7 -0
- package/dist/lib/node-esm/translations.mjs +75 -0
- package/dist/lib/node-esm/translations.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +15 -0
- package/dist/lib/node-esm/types/index.mjs.map +7 -0
- package/dist/types/src/ClientPlugin.d.ts +4 -2
- package/dist/types/src/ClientPlugin.d.ts.map +1 -1
- package/dist/types/src/ClientPlugin.node.d.ts +5 -0
- 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/capabilities/app-graph-builder.d.ts +4 -2
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/client.d.ts +6 -7
- package/dist/types/src/capabilities/client.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +28 -15
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/migrations.d.ts +3 -2
- package/dist/types/src/capabilities/migrations.d.ts.map +1 -1
- package/dist/types/src/capabilities/navigation-handler/index.d.ts +4 -0
- package/dist/types/src/capabilities/navigation-handler/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/navigation-handler/navigation-handler.d.ts +15 -0
- package/dist/types/src/capabilities/navigation-handler/navigation-handler.d.ts.map +1 -0
- package/dist/types/src/capabilities/node.d.ts +21 -0
- package/dist/types/src/capabilities/node.d.ts.map +1 -0
- package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
- package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-context.d.ts +4 -2
- package/dist/types/src/capabilities/react-context.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts +4 -3
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/schema-defs.d.ts +3 -2
- package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -1
- package/dist/types/src/commands/config/index.d.ts +5 -0
- package/dist/types/src/commands/config/index.d.ts.map +1 -0
- package/dist/types/src/commands/config/view.d.ts +5 -0
- package/dist/types/src/commands/config/view.d.ts.map +1 -0
- package/dist/types/src/commands/device/index.d.ts +7 -0
- package/dist/types/src/commands/device/index.d.ts.map +1 -0
- package/dist/types/src/commands/device/info/index.d.ts +2 -0
- package/dist/types/src/commands/device/info/index.d.ts.map +1 -0
- package/dist/types/src/commands/device/info/info.d.ts +7 -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 +2 -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 +2 -0
- package/dist/types/src/commands/device/list/index.d.ts.map +1 -0
- package/dist/types/src/commands/device/list/list.d.ts +7 -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 +2 -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 +2 -0
- package/dist/types/src/commands/device/update/index.d.ts.map +1 -0
- package/dist/types/src/commands/device/update/update.d.ts +11 -0
- package/dist/types/src/commands/device/update/update.d.ts.map +1 -0
- package/dist/types/src/commands/device/util.d.ts +16 -0
- package/dist/types/src/commands/device/util.d.ts.map +1 -0
- package/dist/types/src/commands/edge/index.d.ts +5 -0
- package/dist/types/src/commands/edge/index.d.ts.map +1 -0
- package/dist/types/src/commands/edge/status.d.ts +7 -0
- package/dist/types/src/commands/edge/status.d.ts.map +1 -0
- package/dist/types/src/commands/halo/create/create.d.ts +15 -0
- package/dist/types/src/commands/halo/create/create.d.ts.map +1 -0
- package/dist/types/src/commands/halo/create/create.test.d.ts +2 -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 +2 -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 +13 -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 +2 -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 +12 -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 +2 -0
- package/dist/types/src/commands/halo/credential/list/index.d.ts.map +1 -0
- package/dist/types/src/commands/halo/credential/list/list.d.ts +19 -0
- 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 +2 -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 +7 -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 +2 -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 +2 -0
- package/dist/types/src/commands/halo/identity/index.d.ts.map +1 -0
- package/dist/types/src/commands/halo/index.d.ts +3 -0
- package/dist/types/src/commands/halo/index.d.ts.map +1 -0
- package/dist/types/src/commands/halo/join/index.d.ts +2 -0
- package/dist/types/src/commands/halo/join/index.d.ts.map +1 -0
- package/dist/types/src/commands/halo/join/join.d.ts +8 -0
- package/dist/types/src/commands/halo/join/join.d.ts.map +1 -0
- package/dist/types/src/commands/halo/join/join.test.d.ts +2 -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 +2 -0
- package/dist/types/src/commands/halo/keys/index.d.ts.map +1 -0
- package/dist/types/src/commands/halo/keys/keys.d.ts +7 -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 +2 -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 +2 -0
- package/dist/types/src/commands/halo/recover/index.d.ts.map +1 -0
- package/dist/types/src/commands/halo/recover/recover.d.ts +7 -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 +2 -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 +2 -0
- package/dist/types/src/commands/halo/seed/index.d.ts.map +1 -0
- package/dist/types/src/commands/halo/seed/seed.d.ts +7 -0
- package/dist/types/src/commands/halo/seed/seed.d.ts.map +1 -0
- package/dist/types/src/commands/halo/share/index.d.ts +2 -0
- package/dist/types/src/commands/halo/share/index.d.ts.map +1 -0
- package/dist/types/src/commands/halo/share/share.d.ts +15 -0
- package/dist/types/src/commands/halo/share/share.d.ts.map +1 -0
- package/dist/types/src/commands/halo/update/index.d.ts +2 -0
- package/dist/types/src/commands/halo/update/index.d.ts.map +1 -0
- package/dist/types/src/commands/halo/update/update.d.ts +11 -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 +2 -0
- package/dist/types/src/commands/halo/update/update.test.d.ts.map +1 -0
- package/dist/types/src/commands/halo/util.d.ts +13 -0
- package/dist/types/src/commands/halo/util.d.ts.map +1 -0
- package/dist/types/src/commands/index.d.ts +6 -0
- package/dist/types/src/commands/index.d.ts.map +1 -0
- package/dist/types/src/commands/profile/create.d.ts +10 -0
- package/dist/types/src/commands/profile/create.d.ts.map +1 -0
- package/dist/types/src/commands/profile/delete.d.ts +8 -0
- package/dist/types/src/commands/profile/delete.d.ts.map +1 -0
- package/dist/types/src/commands/profile/import.d.ts +17 -0
- package/dist/types/src/commands/profile/import.d.ts.map +1 -0
- package/dist/types/src/commands/profile/index.d.ts +19 -0
- package/dist/types/src/commands/profile/index.d.ts.map +1 -0
- package/dist/types/src/commands/profile/inspect.d.ts +13 -0
- package/dist/types/src/commands/profile/inspect.d.ts.map +1 -0
- package/dist/types/src/commands/profile/list.d.ts +6 -0
- package/dist/types/src/commands/profile/list.d.ts.map +1 -0
- package/dist/types/src/commands/profile/reset.d.ts +8 -0
- package/dist/types/src/commands/profile/reset.d.ts.map +1 -0
- package/dist/types/src/commands/profile/util.d.ts +24 -0
- package/dist/types/src/commands/profile/util.d.ts.map +1 -0
- package/dist/types/src/components/index.d.ts +0 -6
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/constants.d.ts +4 -0
- package/dist/types/src/constants.d.ts.map +1 -0
- package/dist/types/src/containers/DevicesContainer/DevicesContainer.d.ts.map +1 -0
- package/dist/types/src/containers/DevicesContainer/DevicesContainer.stories.d.ts +184 -0
- package/dist/types/src/containers/DevicesContainer/DevicesContainer.stories.d.ts.map +1 -0
- package/dist/types/src/containers/DevicesContainer/index.d.ts +2 -0
- package/dist/types/src/containers/DevicesContainer/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers/JoinDialog}/JoinDialog.d.ts +0 -1
- package/dist/types/src/containers/JoinDialog/JoinDialog.d.ts.map +1 -0
- package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts +15 -0
- package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts.map +1 -0
- package/dist/types/src/containers/JoinDialog/index.d.ts +2 -0
- package/dist/types/src/containers/JoinDialog/index.d.ts.map +1 -0
- package/dist/types/src/containers/ProfileContainer/ProfileContainer.d.ts.map +1 -0
- package/dist/types/src/containers/ProfileContainer/ProfileContainer.stories.d.ts +14 -0
- package/dist/types/src/containers/ProfileContainer/ProfileContainer.stories.d.ts.map +1 -0
- package/dist/types/src/containers/ProfileContainer/index.d.ts +2 -0
- package/dist/types/src/containers/ProfileContainer/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers/RecoveryCodeDialog}/RecoveryCodeDialog.d.ts +0 -1
- package/dist/types/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.d.ts.map +1 -0
- package/dist/types/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.stories.d.ts +16 -0
- package/dist/types/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.stories.d.ts.map +1 -0
- package/dist/types/src/containers/RecoveryCodeDialog/index.d.ts +4 -0
- package/dist/types/src/containers/RecoveryCodeDialog/index.d.ts.map +1 -0
- package/dist/types/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.d.ts +4 -0
- package/dist/types/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.d.ts.map +1 -0
- package/dist/types/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.stories.d.ts +14 -0
- package/dist/types/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.stories.d.ts.map +1 -0
- package/dist/types/src/containers/RecoveryCredentialsContainer/index.d.ts +2 -0
- package/dist/types/src/containers/RecoveryCredentialsContainer/index.d.ts.map +1 -0
- package/dist/types/src/containers/ResetDialog/ResetDialog.d.ts +9 -0
- package/dist/types/src/containers/ResetDialog/ResetDialog.d.ts.map +1 -0
- package/dist/types/src/containers/ResetDialog/ResetDialog.stories.d.ts +19 -0
- package/dist/types/src/containers/ResetDialog/ResetDialog.stories.d.ts.map +1 -0
- package/dist/types/src/containers/ResetDialog/index.d.ts +4 -0
- package/dist/types/src/containers/ResetDialog/index.d.ts.map +1 -0
- package/dist/types/src/containers/index.d.ts +10 -0
- package/dist/types/src/containers/index.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +3 -4
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +2 -3
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/operations/create-agent.d.ts +5 -0
- package/dist/types/src/operations/create-agent.d.ts.map +1 -0
- package/dist/types/src/operations/create-identity.d.ts +5 -0
- package/dist/types/src/operations/create-identity.d.ts.map +1 -0
- package/dist/types/src/operations/create-passkey.d.ts +5 -0
- package/dist/types/src/operations/create-passkey.d.ts.map +1 -0
- package/dist/types/src/operations/create-recovery-code.d.ts +5 -0
- package/dist/types/src/operations/create-recovery-code.d.ts.map +1 -0
- package/dist/types/src/operations/definitions.d.ts +36 -0
- package/dist/types/src/operations/definitions.d.ts.map +1 -0
- package/dist/types/src/operations/index.d.ts +4 -0
- package/dist/types/src/operations/index.d.ts.map +1 -0
- package/dist/types/src/operations/join-identity.d.ts +5 -0
- package/dist/types/src/operations/join-identity.d.ts.map +1 -0
- package/dist/types/src/operations/recover-identity.d.ts +5 -0
- package/dist/types/src/operations/recover-identity.d.ts.map +1 -0
- package/dist/types/src/operations/redeem-passkey.d.ts +5 -0
- package/dist/types/src/operations/redeem-passkey.d.ts.map +1 -0
- package/dist/types/src/operations/redeem-token.d.ts +5 -0
- package/dist/types/src/operations/redeem-token.d.ts.map +1 -0
- package/dist/types/src/operations/reset-storage.d.ts +5 -0
- package/dist/types/src/operations/reset-storage.d.ts.map +1 -0
- package/dist/types/src/operations/share-identity.d.ts +5 -0
- package/dist/types/src/operations/share-identity.d.ts.map +1 -0
- package/dist/types/src/plugin.d.ts +2 -0
- package/dist/types/src/plugin.d.ts.map +1 -0
- package/dist/types/src/testing/index.d.ts +2 -0
- package/dist/types/src/testing/index.d.ts.map +1 -0
- package/dist/types/src/testing/initializeIdentity.d.ts +13 -0
- package/dist/types/src/testing/initializeIdentity.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +2 -48
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/capabilities.d.ts +9 -0
- package/dist/types/src/types/capabilities.d.ts.map +1 -0
- package/dist/types/src/types/events.d.ts +9 -0
- package/dist/types/src/types/events.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +4 -0
- package/dist/types/src/types/index.d.ts.map +1 -0
- package/dist/types/src/{types.d.ts → types/schema.d.ts} +42 -31
- package/dist/types/src/types/schema.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +100 -52
- package/src/ClientPlugin.node.ts +33 -0
- package/src/ClientPlugin.test.ts +29 -0
- package/src/ClientPlugin.ts +59 -65
- package/src/capabilities/app-graph-builder.ts +87 -103
- package/src/capabilities/client.ts +71 -33
- package/src/capabilities/index.ts +14 -10
- package/src/capabilities/migrations.ts +22 -17
- package/src/capabilities/navigation-handler/index.ts +9 -0
- package/src/capabilities/navigation-handler/navigation-handler.ts +64 -0
- package/src/capabilities/node.ts +13 -0
- package/src/capabilities/operation-handler.ts +16 -0
- package/src/capabilities/react-context.tsx +17 -12
- package/src/capabilities/react-surface.tsx +52 -49
- package/src/capabilities/schema-defs.ts +52 -25
- package/src/commands/config/index.ts +12 -0
- package/src/commands/config/view.ts +29 -0
- package/src/commands/device/index.ts +14 -0
- package/src/commands/device/info/index.ts +5 -0
- package/src/commands/device/info/info.test.ts +28 -0
- package/src/commands/device/info/info.ts +48 -0
- package/src/commands/device/list/index.ts +5 -0
- package/src/commands/device/list/list.test.ts +30 -0
- package/src/commands/device/list/list.ts +28 -0
- package/src/commands/device/update/index.ts +5 -0
- package/src/commands/device/update/update.ts +68 -0
- package/src/commands/device/util.ts +55 -0
- package/src/commands/edge/index.ts +12 -0
- package/src/commands/edge/status.ts +46 -0
- package/src/commands/halo/create/create.test.ts +56 -0
- package/src/commands/halo/create/create.ts +82 -0
- package/src/commands/halo/create/index.ts +5 -0
- package/src/commands/halo/credential/add/add.ts +97 -0
- package/src/commands/halo/credential/add/index.ts +5 -0
- package/src/commands/halo/credential/index.ts +13 -0
- package/src/commands/halo/credential/list/index.ts +5 -0
- package/src/commands/halo/credential/list/list.test.ts +27 -0
- package/src/commands/halo/credential/list/list.ts +115 -0
- package/src/commands/halo/identity/identity.test.ts +40 -0
- package/src/commands/halo/identity/identity.ts +45 -0
- package/src/commands/halo/identity/index.ts +5 -0
- package/src/commands/halo/index.ts +21 -0
- package/src/commands/halo/join/index.ts +5 -0
- package/src/commands/halo/join/join.test.ts +10 -0
- package/src/commands/halo/join/join.ts +87 -0
- package/src/commands/halo/keys/index.ts +5 -0
- package/src/commands/halo/keys/keys.test.ts +29 -0
- package/src/commands/halo/keys/keys.ts +40 -0
- package/src/commands/halo/recover/index.ts +5 -0
- package/src/commands/halo/recover/recover.test.ts +10 -0
- package/src/commands/halo/recover/recover.ts +44 -0
- package/src/commands/halo/seed/index.ts +5 -0
- package/src/commands/halo/seed/seed.ts +36 -0
- package/src/commands/halo/share/index.ts +5 -0
- package/src/commands/halo/share/share.ts +97 -0
- package/src/commands/halo/update/index.ts +5 -0
- package/src/commands/halo/update/update.test.ts +28 -0
- package/src/commands/halo/update/update.ts +67 -0
- package/src/commands/halo/util.ts +18 -0
- package/src/commands/index.ts +9 -0
- package/src/commands/profile/create.ts +90 -0
- package/src/commands/profile/delete.ts +36 -0
- package/src/commands/profile/import.ts +101 -0
- package/src/commands/profile/index.ts +17 -0
- package/src/commands/profile/inspect.ts +64 -0
- package/src/commands/profile/list.ts +55 -0
- package/src/commands/profile/reset.ts +45 -0
- package/src/commands/profile/util.ts +48 -0
- package/src/components/index.ts +0 -7
- package/src/constants.ts +9 -0
- package/src/containers/DevicesContainer/DevicesContainer.stories.tsx +52 -0
- package/src/{components → containers/DevicesContainer}/DevicesContainer.tsx +97 -114
- package/src/containers/DevicesContainer/index.ts +5 -0
- package/src/containers/JoinDialog/JoinDialog.stories.tsx +43 -0
- package/src/containers/JoinDialog/JoinDialog.tsx +56 -0
- package/src/containers/JoinDialog/index.ts +5 -0
- package/src/containers/ProfileContainer/ProfileContainer.stories.tsx +28 -0
- package/src/{components → containers/ProfileContainer}/ProfileContainer.tsx +70 -67
- package/src/containers/ProfileContainer/index.ts +5 -0
- package/src/{components → containers/RecoveryCodeDialog}/RecoveryCodeDialog.stories.tsx +11 -12
- package/src/{components → containers/RecoveryCodeDialog}/RecoveryCodeDialog.tsx +29 -28
- package/src/containers/RecoveryCodeDialog/index.ts +8 -0
- package/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.stories.tsx +47 -0
- package/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.tsx +66 -0
- package/src/containers/RecoveryCredentialsContainer/index.ts +5 -0
- package/src/containers/ResetDialog/ResetDialog.stories.tsx +73 -0
- package/src/containers/ResetDialog/ResetDialog.tsx +52 -0
- package/src/containers/ResetDialog/index.ts +8 -0
- package/src/containers/index.ts +15 -0
- package/src/index.ts +5 -4
- package/src/meta.ts +9 -5
- package/src/operations/create-agent.ts +26 -0
- package/src/operations/create-identity.ts +29 -0
- package/src/operations/create-passkey.ts +88 -0
- package/src/operations/create-recovery-code.ts +34 -0
- package/src/operations/definitions.ts +107 -0
- package/src/operations/index.ts +20 -0
- package/src/operations/join-identity.ts +28 -0
- package/src/operations/recover-identity.ts +28 -0
- package/src/operations/redeem-passkey.ts +85 -0
- package/src/operations/redeem-token.ts +31 -0
- package/src/operations/reset-storage.ts +27 -0
- package/src/operations/share-identity.ts +26 -0
- package/src/plugin.ts +7 -0
- package/src/testing/index.ts +5 -0
- package/src/testing/initializeIdentity.ts +24 -0
- package/src/translations.ts +61 -46
- package/src/types/capabilities.ts +16 -0
- package/src/types/events.ts +15 -0
- package/src/types/index.ts +7 -0
- package/src/{types.ts → types/schema.ts} +29 -22
- package/dist/lib/browser/app-graph-builder-CBRN2DMK.mjs +0 -123
- package/dist/lib/browser/app-graph-builder-CBRN2DMK.mjs.map +0 -7
- package/dist/lib/browser/chunk-5MC5HCIM.mjs +0 -693
- package/dist/lib/browser/chunk-5MC5HCIM.mjs.map +0 -7
- package/dist/lib/browser/chunk-IA3AVM4I.mjs +0 -111
- package/dist/lib/browser/chunk-IA3AVM4I.mjs.map +0 -7
- package/dist/lib/browser/chunk-MCEXD5XH.mjs +0 -12
- package/dist/lib/browser/chunk-MCEXD5XH.mjs.map +0 -7
- package/dist/lib/browser/chunk-PSSNS4C6.mjs +0 -18
- package/dist/lib/browser/chunk-PSSNS4C6.mjs.map +0 -7
- package/dist/lib/browser/chunk-UCVFWBKT.mjs +0 -19
- package/dist/lib/browser/chunk-UCVFWBKT.mjs.map +0 -7
- package/dist/lib/browser/client-NMS3MSFP.mjs +0 -37
- package/dist/lib/browser/client-NMS3MSFP.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-SLQZMO6I.mjs +0 -305
- package/dist/lib/browser/intent-resolver-SLQZMO6I.mjs.map +0 -7
- package/dist/lib/browser/migrations-QRQV6ZAM.mjs +0 -23
- package/dist/lib/browser/migrations-QRQV6ZAM.mjs.map +0 -7
- package/dist/lib/browser/react-context-IE2O2OYK.mjs +0 -24
- package/dist/lib/browser/react-context-IE2O2OYK.mjs.map +0 -7
- package/dist/lib/browser/react-surface-QFC2G27R.mjs +0 -66
- package/dist/lib/browser/react-surface-QFC2G27R.mjs.map +0 -7
- package/dist/lib/browser/schema-defs-DNRDVQQJ.mjs +0 -25
- package/dist/lib/browser/schema-defs-DNRDVQQJ.mjs.map +0 -7
- package/dist/lib/browser/types.mjs +0 -10
- package/dist/lib/node/app-graph-builder-BEEYM3A5.cjs +0 -134
- package/dist/lib/node/app-graph-builder-BEEYM3A5.cjs.map +0 -7
- package/dist/lib/node/chunk-BEJWU2NE.cjs +0 -718
- package/dist/lib/node/chunk-BEJWU2NE.cjs.map +0 -7
- package/dist/lib/node/chunk-BL6EBWOS.cjs +0 -131
- package/dist/lib/node/chunk-BL6EBWOS.cjs.map +0 -7
- package/dist/lib/node/chunk-CIYUKY3J.cjs +0 -37
- package/dist/lib/node/chunk-CIYUKY3J.cjs.map +0 -7
- package/dist/lib/node/chunk-DJKWB5L6.cjs +0 -35
- package/dist/lib/node/chunk-DJKWB5L6.cjs.map +0 -7
- package/dist/lib/node/chunk-DNKJCPU7.cjs +0 -38
- package/dist/lib/node/chunk-DNKJCPU7.cjs.map +0 -7
- package/dist/lib/node/client-Q3EQS4HA.cjs +0 -51
- package/dist/lib/node/client-Q3EQS4HA.cjs.map +0 -7
- package/dist/lib/node/index.cjs +0 -175
- package/dist/lib/node/index.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-QURURONO.cjs +0 -312
- package/dist/lib/node/intent-resolver-QURURONO.cjs.map +0 -7
- package/dist/lib/node/meta.json +0 -1
- package/dist/lib/node/migrations-6FEWMF7U.cjs +0 -39
- package/dist/lib/node/migrations-6FEWMF7U.cjs.map +0 -7
- package/dist/lib/node/react-context-JS7Y5ZOK.cjs +0 -48
- package/dist/lib/node/react-context-JS7Y5ZOK.cjs.map +0 -7
- package/dist/lib/node/react-surface-RGRHOPVK.cjs +0 -82
- package/dist/lib/node/react-surface-RGRHOPVK.cjs.map +0 -7
- package/dist/lib/node/schema-defs-TA52ARBO.cjs +0 -41
- package/dist/lib/node/schema-defs-TA52ARBO.cjs.map +0 -7
- package/dist/lib/node/types.cjs +0 -32
- package/dist/lib/node/types.cjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-OZEAAKNT.mjs +0 -124
- package/dist/lib/node-esm/app-graph-builder-OZEAAKNT.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-37E3EI46.mjs +0 -19
- package/dist/lib/node-esm/chunk-37E3EI46.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-FJYSQRBO.mjs +0 -20
- package/dist/lib/node-esm/chunk-FJYSQRBO.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HM7VB4ZV.mjs +0 -14
- package/dist/lib/node-esm/chunk-HM7VB4ZV.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-STGGUFV2.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-WHKQMAO5.mjs +0 -694
- package/dist/lib/node-esm/chunk-WHKQMAO5.mjs.map +0 -7
- package/dist/lib/node-esm/client-EBFQZRSF.mjs +0 -38
- package/dist/lib/node-esm/client-EBFQZRSF.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-MV55C5ED.mjs +0 -306
- package/dist/lib/node-esm/intent-resolver-MV55C5ED.mjs.map +0 -7
- package/dist/lib/node-esm/migrations-AK43ZE6G.mjs +0 -24
- package/dist/lib/node-esm/migrations-AK43ZE6G.mjs.map +0 -7
- package/dist/lib/node-esm/react-context-6N7NMUJE.mjs +0 -25
- package/dist/lib/node-esm/react-context-6N7NMUJE.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-JUYTGBEM.mjs +0 -67
- package/dist/lib/node-esm/react-surface-JUYTGBEM.mjs.map +0 -7
- package/dist/lib/node-esm/schema-defs-O2KQQXJH.mjs +0 -26
- package/dist/lib/node-esm/schema-defs-O2KQQXJH.mjs.map +0 -7
- package/dist/lib/node-esm/types.mjs +0 -11
- package/dist/types/src/capabilities/capabilities.d.ts +0 -10
- package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +0 -8
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
- package/dist/types/src/components/DevicesContainer.d.ts.map +0 -1
- package/dist/types/src/components/DevicesContainer.stories.d.ts +0 -8
- package/dist/types/src/components/DevicesContainer.stories.d.ts.map +0 -1
- package/dist/types/src/components/JoinDialog.d.ts.map +0 -1
- package/dist/types/src/components/ProfileContainer.d.ts.map +0 -1
- package/dist/types/src/components/ProfileContainer.stories.d.ts +0 -8
- package/dist/types/src/components/ProfileContainer.stories.d.ts.map +0 -1
- package/dist/types/src/components/RecoveryCodeDialog.d.ts.map +0 -1
- package/dist/types/src/components/RecoveryCodeDialog.stories.d.ts +0 -8
- package/dist/types/src/components/RecoveryCodeDialog.stories.d.ts.map +0 -1
- package/dist/types/src/components/RecoveryCredentialsContainer.d.ts +0 -4
- package/dist/types/src/components/RecoveryCredentialsContainer.d.ts.map +0 -1
- package/dist/types/src/components/RecoveryCredentialsContainer.stories.d.ts +0 -8
- package/dist/types/src/components/RecoveryCredentialsContainer.stories.d.ts.map +0 -1
- package/dist/types/src/components/ResetDialog.d.ts +0 -7
- package/dist/types/src/components/ResetDialog.d.ts.map +0 -1
- package/dist/types/src/components/ResetDialog.stories.d.ts +0 -10
- package/dist/types/src/components/ResetDialog.stories.d.ts.map +0 -1
- package/dist/types/src/events.d.ts +0 -8
- package/dist/types/src/events.d.ts.map +0 -1
- package/dist/types/src/types.d.ts.map +0 -1
- package/src/capabilities/capabilities.ts +0 -17
- package/src/capabilities/intent-resolver.ts +0 -250
- package/src/components/DevicesContainer.stories.tsx +0 -49
- package/src/components/JoinDialog.tsx +0 -53
- package/src/components/ProfileContainer.stories.tsx +0 -29
- package/src/components/RecoveryCredentialsContainer.stories.tsx +0 -44
- package/src/components/RecoveryCredentialsContainer.tsx +0 -73
- package/src/components/ResetDialog.stories.tsx +0 -53
- package/src/components/ResetDialog.tsx +0 -49
- package/src/events.ts +0 -15
- /package/dist/lib/browser/{types.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
- /package/dist/lib/{node-esm/types.mjs.map → browser/types/index.mjs.map} +0 -0
- /package/dist/types/src/{components → containers/DevicesContainer}/DevicesContainer.d.ts +0 -0
- /package/dist/types/src/{components → containers/ProfileContainer}/ProfileContainer.d.ts +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/components/DevicesContainer.tsx", "../../../src/components/JoinDialog.tsx", "../../../src/components/ProfileContainer.tsx", "../../../src/components/RecoveryCodeDialog.tsx", "../../../src/components/RecoveryCredentialsContainer.tsx", "../../../src/components/ResetDialog.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Check, X } from '@phosphor-icons/react';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { QR } from 'react-qr-rounded';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { log } from '@dxos/log';\nimport { useClient, useMulticastObservable } from '@dxos/react-client';\nimport { type Device, useDevices } from '@dxos/react-client/halo';\nimport { type CancellableInvitationObservable, Invitation, InvitationEncoder } from '@dxos/react-client/invitations';\nimport { useNetworkStatus } from '@dxos/react-client/mesh';\nimport { Button, Clipboard, IconButton, List, useId, useTranslation } from '@dxos/react-ui';\nimport {\n ControlFrame,\n ControlFrameItem,\n ControlGroup,\n ControlItem,\n ControlPage,\n ControlSection,\n} from '@dxos/react-ui-form';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { getSize, mx } from '@dxos/react-ui-theme';\nimport { AuthCode, Centered, DeviceListItem, Emoji, Viewport } from '@dxos/shell/react';\nimport { hexToEmoji } from '@dxos/util';\n\nimport { CLIENT_PLUGIN } from '../meta';\nimport { ClientAction } from '../types';\n\nexport type DevicesContainerProps = {\n createInvitationUrl?: (invitationCode: string) => string;\n};\n\nexport const DevicesContainer = ({ createInvitationUrl }: DevicesContainerProps) => {\n const { t } = useTranslation('os');\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const devices = useDevices();\n const { swarm: connectionState } = useNetworkStatus();\n\n const handleResetStorage = useCallback(() => dispatch(createIntent(ClientAction.ResetStorage)), [dispatch]);\n\n const handleRecover = useCallback(\n () => dispatch(createIntent(ClientAction.ResetStorage, { mode: 'recover' })),\n [dispatch],\n );\n\n const handleJoinNewIdentity = useCallback(\n () => dispatch(createIntent(ClientAction.ResetStorage, { mode: 'join new identity' })),\n [dispatch],\n );\n\n return (\n <Clipboard.Provider>\n <StackItem.Content classNames='block overflow-y-auto'>\n <ControlPage>\n <ControlSection\n title={t('devices verbose label', { ns: CLIENT_PLUGIN })}\n description={t('devices description', { ns: CLIENT_PLUGIN })}\n >\n <ControlFrame>\n <ControlFrameItem title={t('devices label', { ns: CLIENT_PLUGIN })}>\n <List>\n {devices.map((device: Device) => {\n return (\n <DeviceListItem\n key={device.deviceKey.toHex()}\n device={device}\n connectionState={connectionState}\n />\n );\n })}\n </List>\n </ControlFrameItem>\n {createInvitationUrl && (\n <ControlFrameItem title='Add device'>\n <DeviceInvitation createInvitationUrl={createInvitationUrl} />\n </ControlFrameItem>\n )}\n </ControlFrame>\n </ControlSection>\n <ControlSection\n title={t('danger zone title', { ns: CLIENT_PLUGIN })}\n description={t('danger zone description', { ns: CLIENT_PLUGIN })}\n >\n <ControlGroup>\n <ControlItem\n title={t('reset device label')}\n description={t('reset device description', { ns: CLIENT_PLUGIN })}\n >\n <Button variant='destructive' onClick={handleResetStorage} data-testid='devicesContainer.reset'>\n {t('reset device label')}\n </Button>\n </ControlItem>\n <ControlItem\n title={t('recover identity label')}\n description={t('recover identity description', { ns: CLIENT_PLUGIN })}\n >\n <Button variant='destructive' onClick={handleRecover} data-testid='devicesContainer.recover'>\n {t('recover identity label')}\n </Button>\n </ControlItem>\n <ControlItem\n title={t('join new identity label')}\n description={t('join new identity description', { ns: CLIENT_PLUGIN })}\n >\n <Button\n variant='destructive'\n onClick={handleJoinNewIdentity}\n data-testid='devicesContainer.joinExisting'\n >\n {t('join new identity label')}\n </Button>\n </ControlItem>\n </ControlGroup>\n </ControlSection>\n </ControlPage>\n </StackItem.Content>\n </Clipboard.Provider>\n );\n};\n\ntype DeviceInvitationProps = {\n invitation?: CancellableInvitationObservable;\n createInvitationUrl: (invitationCode: string) => string;\n onInvitationDone: () => void;\n onInvitationCreate: () => void;\n};\n\nconst DeviceInvitation = (props: Pick<DeviceInvitationProps, 'createInvitationUrl'>) => {\n const client = useClient();\n const [invitation, setInvitation] = useState<CancellableInvitationObservable>();\n\n const onInvitationCreate = useCallback(() => {\n const invitation = client.halo.share();\n if (client.config.values.runtime?.app?.env?.DX_ENVIRONMENT !== 'production') {\n const subscription = invitation.subscribe((invitation: Invitation) => {\n const invitationCode = InvitationEncoder.encode(invitation);\n if (invitation.state === Invitation.State.CONNECTING) {\n log.info(JSON.stringify({ invitationCode, authCode: invitation.authCode }));\n subscription.unsubscribe();\n }\n });\n }\n setInvitation(invitation);\n }, [client]);\n\n const onInvitationDone = useCallback(() => {\n setInvitation(undefined);\n }, []);\n\n if (invitation) {\n return <DeviceInvitationImpl {...props} {...{ invitation, onInvitationCreate, onInvitationDone }} />;\n } else {\n return <InvitationSection {...props} {...{ onInvitationCreate, onInvitationDone }} />;\n }\n};\n\nconst DeviceInvitationImpl = ({\n invitation: invitationObservable,\n createInvitationUrl,\n onInvitationDone,\n onInvitationCreate,\n}: DeviceInvitationProps) => {\n const invitation = useMulticastObservable(invitationObservable!);\n const url = createInvitationUrl(InvitationEncoder.encode(invitation));\n\n useEffect(() => {\n if (invitation.state >= Invitation.State.SUCCESS) {\n onInvitationDone();\n }\n }, [invitation.state]);\n\n return <InvitationSection {...invitation} {...{ url, onInvitationDone, onInvitationCreate }} />;\n};\n\ntype InvitationComponentProps = Partial<\n Pick<Invitation, 'authCode' | 'invitationId'> &\n Pick<DeviceInvitationProps, 'onInvitationDone' | 'onInvitationCreate'> & {\n state: number;\n url: string;\n }\n>;\n\nconst InvitationSection = ({\n state = -1,\n authCode,\n invitationId = 'never',\n url = 'never',\n onInvitationDone = () => {},\n onInvitationCreate = () => {},\n}: InvitationComponentProps) => {\n const { t } = useTranslation(CLIENT_PLUGIN);\n const activeView =\n state < 0\n ? 'init'\n : state >= Invitation.State.CANCELLED\n ? 'complete'\n : state >= Invitation.State.READY_FOR_AUTHENTICATION && authCode\n ? 'auth-code'\n : 'qr-code';\n return activeView === 'init' ? (\n <>\n <p className='text-description mbe-2'>{t('add device description')}</p>\n <IconButton\n icon='ph--plus--regular'\n label={t('create device invitation label')}\n disabled={state >= 0}\n classNames='is-full'\n data-testid='devicesContainer.createInvitation'\n onClick={onInvitationCreate}\n />\n </>\n ) : (\n <Viewport.Root activeView={activeView}>\n <Viewport.Views>\n <Viewport.View id='init'>\n {/* This view intentionally left blank while conditionally rendering the viewport. */}\n </Viewport.View>\n <Viewport.View id='complete'>\n <InvitationComplete statusValue={state} />\n </Viewport.View>\n <Viewport.View id='auth-code'>\n <InvitationAuthCode id={invitationId} code={authCode ?? 'never'} onCancel={onInvitationDone} />\n </Viewport.View>\n <Viewport.View id='qr-code'>\n <InvitationQR id={invitationId} url={url} onCancel={onInvitationDone} />\n </Viewport.View>\n </Viewport.Views>\n </Viewport.Root>\n );\n};\n\nconst InvitationQR = ({ id, url, onCancel }: { id: string; url: string; onCancel: () => void }) => {\n const { t } = useTranslation('os');\n const qrLabel = useId('devices-container__qr-code');\n const emoji = hexToEmoji(id);\n return (\n <>\n <p className='text-description'>{t('qr code description', { ns: CLIENT_PLUGIN })}</p>\n <div role='group' className='grid grid-cols-[1fr_min-content] mlb-2 gap-2'>\n <div role='none' className='is-full aspect-square relative text-description'>\n <QR\n rounding={100}\n backgroundColor='transparent'\n color='currentColor'\n aria-labelledby={qrLabel}\n errorCorrectionLevel='Q'\n cutout={true}\n >\n {url ?? 'never'}\n </QR>\n <Centered>\n <Emoji text={emoji} />\n </Centered>\n </div>\n <span id={qrLabel} className='sr-only'>\n {t('qr label')}\n </span>\n </div>\n {/* TODO(burdon): Factor out button bar */}\n <div className='flex justify-center'>\n <div className='flex gap-2'>\n <Clipboard.Button value={url ?? 'never'} />\n <Button variant='ghost' onClick={onCancel}>\n {t('cancel label')}\n </Button>\n </div>\n </div>\n </>\n );\n};\n\nconst InvitationAuthCode = ({ id, code, onCancel }: { id: string; code: string; onCancel: () => void }) => {\n const { t } = useTranslation('os');\n const emoji = hexToEmoji(id);\n\n return (\n <>\n <p className='text-description'>{t('auth other device emoji message')}</p>\n {emoji && <Emoji text={emoji} className='mli-auto mlb-2 text-center' />}\n <p className='text-description'>{t('auth code message')}</p>\n <AuthCode code={code} large classNames='mli-auto mlb-2 text-center grow' />\n <Button variant='ghost' onClick={onCancel}>\n {t('cancel label')}\n </Button>\n </>\n );\n};\n\nconst InvitationComplete = ({ statusValue }: { statusValue: number }) => {\n return statusValue > 0 ? <Check className={mx('m-1.5', getSize(6))} /> : <X className={mx('m-1.5', getSize(6))} />;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { createIntent, LayoutAction, useIntentDispatcher } from '@dxos/app-framework';\nimport { ObservabilityAction } from '@dxos/plugin-observability/types';\nimport { type InvitationResult } from '@dxos/react-client/invitations';\nimport { Dialog, useTranslation } from '@dxos/react-ui';\nimport { JoinPanel, type JoinPanelProps } from '@dxos/shell/react';\n\nimport { CLIENT_PLUGIN } from '../meta';\nimport { ClientAction } from '../types';\n\nexport const JOIN_DIALOG = `${CLIENT_PLUGIN}/JoinDialog`;\n\nexport const JoinDialog = (props: JoinPanelProps) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const { t } = useTranslation(CLIENT_PLUGIN);\n\n const handleCancelResetStorage = useCallback(() => dispatch(createIntent(ClientAction.ShareIdentity)), [dispatch]);\n\n const handleDone = useCallback(\n async (result: InvitationResult | null) => {\n if (result?.identityKey) {\n await Promise.all([\n dispatch(createIntent(LayoutAction.UpdateDialog, { part: 'dialog', options: { state: false } })),\n dispatch(\n createIntent(ObservabilityAction.SendEvent, {\n name: props.initialDisposition === 'recover-identity' ? 'identity.recover' : 'identity.join',\n }),\n ),\n ]);\n }\n },\n [dispatch],\n );\n\n return (\n <Dialog.Content>\n <Dialog.Title classNames='sr-only'>{t('join space label', { ns: 'os' })}</Dialog.Title>\n <JoinPanel\n mode='halo-only'\n {...props}\n exitActionParent={<Dialog.Close asChild />}\n doneActionParent={<Dialog.Close asChild />}\n onCancelResetStorage={handleCancelResetStorage}\n onDone={handleDone}\n />\n </Dialog.Content>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Schema } from 'effect';\nimport React, { type ChangeEvent, useCallback, useMemo, useState } from 'react';\n\nimport { debounce } from '@dxos/async';\nimport { useClient } from '@dxos/react-client';\nimport { type Identity, useIdentity } from '@dxos/react-client/halo';\nimport { ButtonGroup, Clipboard, Input, useTranslation } from '@dxos/react-ui';\nimport {\n Form,\n type InputComponent,\n ControlItem,\n ControlItemInput,\n ControlSection,\n ControlPage,\n} from '@dxos/react-ui-form';\nimport { EmojiPickerBlock, HuePicker } from '@dxos/react-ui-pickers';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { hexToHue, hexToEmoji } from '@dxos/util';\n\nimport { CLIENT_PLUGIN } from '../meta';\n\n// TODO(thure): Factor out?\nconst getDefaultHueValue = (identity: Identity | null) => hexToHue(identity?.identityKey.toHex() ?? '0');\nconst getDefaultEmojiValue = (identity: Identity | null) => hexToEmoji(identity?.identityKey.toHex() ?? '0');\nconst getHueValue = (identity: Identity | null) => identity?.profile?.data?.hue || getDefaultHueValue(identity);\nconst getEmojiValue = (identity: Identity | null) => identity?.profile?.data?.emoji || getDefaultEmojiValue(identity);\n\nexport const ProfileContainer = () => {\n const { t } = useTranslation(CLIENT_PLUGIN);\n const client = useClient();\n const identity = useIdentity();\n const [displayName, setDisplayNameDirectly] = useState(identity?.profile?.displayName ?? '');\n const [emoji, setEmojiDirectly] = useState<string>(getEmojiValue(identity));\n const [hue, setHueDirectly] = useState<string>(getHueValue(identity));\n\n const updateProfile = useMemo(\n () =>\n debounce(\n (profile: Partial<Profile>) =>\n client.halo.updateProfile({\n displayName: profile.displayName,\n data: {\n emoji: profile.emoji,\n hue: profile.hue,\n },\n }),\n 2_000,\n ),\n [],\n );\n\n const handleSave = useCallback(\n (profile: Profile) => {\n setDisplayNameDirectly(profile.displayName);\n setEmojiDirectly(profile.emoji);\n setHueDirectly(profile.hue);\n updateProfile(profile);\n },\n [identity],\n );\n\n const values = useMemo(\n () => ({\n displayName,\n emoji,\n hue,\n did: identity?.did,\n }),\n [identity, displayName, emoji, hue],\n );\n\n // TODO(wittjosiah): Integrate descriptions with the form schema.\n const customElements: Partial<Record<string, InputComponent>> = useMemo(\n () => ({\n displayName: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback(\n ({ target: { value } }: ChangeEvent<HTMLInputElement>) => onValueChange(type, value),\n [onValueChange, type],\n );\n return (\n <ControlItemInput title={label} description={t('display name description')}>\n <Input.TextInput\n value={getValue()}\n onChange={handleChange}\n placeholder={t('display name input placeholder')}\n classNames='min-is-64'\n />\n </ControlItemInput>\n );\n },\n emoji: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback((nextEmoji: string) => onValueChange(type, nextEmoji), [onValueChange, type]);\n const handleEmojiReset = useCallback(\n () => onValueChange(type, getDefaultEmojiValue(identity)),\n [onValueChange, type],\n );\n return (\n <ControlItem title={label} description={t('icon description')}>\n <EmojiPickerBlock\n triggerVariant='default'\n emoji={getValue()}\n onChangeEmoji={handleChange}\n onClickClear={handleEmojiReset}\n classNames='justify-self-end'\n />\n </ControlItem>\n );\n },\n hue: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback((nextHue: string) => onValueChange(type, nextHue), [onValueChange, type]);\n const handleHueReset = useCallback(\n () => onValueChange(type, getDefaultHueValue(identity)),\n [onValueChange, type],\n );\n return (\n <ControlItem title={label} description={t('hue description')}>\n <HuePicker\n value={getValue()}\n onChange={handleChange}\n onReset={handleHueReset}\n classNames='[--hue-preview-size:1.5rem] justify-self-end'\n />\n </ControlItem>\n );\n },\n // TODO(wittjosiah): We need text input annotations for disabled and copyable.\n did: ({ label, getValue }) => {\n return (\n <ControlItemInput title={label} description={t('did description')}>\n <ButtonGroup>\n <Input.TextInput value={getValue()} disabled classNames='min-is-64' />\n <Clipboard.IconButton value={getValue() ?? ''} />\n </ButtonGroup>\n </ControlItemInput>\n );\n },\n }),\n [t],\n );\n\n return (\n <StackItem.Content classNames='block overflow-y-auto'>\n <ControlPage>\n <Clipboard.Provider>\n <ControlSection title={t('profile label')} description={t('profile description')}>\n <Form\n schema={ProfileSchema}\n values={values}\n autoSave\n onSave={handleSave}\n Custom={customElements}\n classNames='container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content] gap-4'\n outerSpacing={false}\n />\n </ControlSection>\n </Clipboard.Provider>\n </ControlPage>\n </StackItem.Content>\n );\n};\n\n// TODO(wittjosiah): Integrate annotations with translations.\nconst ProfileSchema = Schema.Struct({\n displayName: Schema.String.annotations({ title: 'Display name' }),\n emoji: Schema.String.annotations({ title: 'Avatar' }),\n hue: Schema.String.annotations({ title: 'Color' }),\n did: Schema.String.annotations({ title: 'DID' }),\n});\ntype Profile = Schema.Schema.Type<typeof ProfileSchema>;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useState } from 'react';\n\nimport { AlertDialog, Button, Clipboard, Input, useTranslation } from '@dxos/react-ui';\n\nimport { CLIENT_PLUGIN } from '../meta';\n\nexport const RECOVERY_CODE_DIALOG = `${CLIENT_PLUGIN}/RecoveryCodeDialog`;\n\nexport type RecoveryCodeDialogProps = {\n code: string;\n};\n\nexport const RecoveryCodeDialog = ({ code }: RecoveryCodeDialogProps) => {\n const { t } = useTranslation(CLIENT_PLUGIN);\n const [confirmation, setConfirmation] = useState(false);\n\n const handleConfirmation = useCallback((checked: boolean) => setConfirmation(checked), []);\n\n return (\n <AlertDialog.Content classNames='bs-content min-bs-[15rem] max-bs-full md:max-is-[40rem] overflow-hidden'>\n <AlertDialog.Title>{t('recovery code dialog title')}</AlertDialog.Title>\n <p className='py-4'>{t('recovery code dialog description')}</p>\n <Clipboard.Provider>\n <Code code={code} />\n </Clipboard.Provider>\n <div className='flex flex-col py-4 gap-2'>\n <p>{t('recovery code dialog warning 1')}</p>\n <p>{t('recovery code dialog warning 2')}</p>\n </div>\n <div className='flex items-center gap-2 pbe-4'>\n <Input.Root>\n <Input.Checkbox\n data-testid='recoveryCode.confirm'\n checked={confirmation}\n onCheckedChange={handleConfirmation}\n />\n <Input.Label>{t('recovery code confirmation label')}</Input.Label>\n </Input.Root>\n </div>\n <div className='flex justify-end'>\n <AlertDialog.Action asChild>\n <Button data-testid='recoveryCode.continue' variant='primary' disabled={!confirmation}>\n {t('continue label')}\n </Button>\n </AlertDialog.Action>\n </div>\n </AlertDialog.Content>\n );\n};\n\nconst Code = ({ code }: { code: string }) => {\n const words = code.split(' ');\n return (\n <div className='relative p-2 border border-separator rounded group'>\n <Clipboard.IconButton value={code} classNames='absolute top-2 right-2 invisible group-hover:visible' />\n <div className='grid grid-cols-4'>\n {words.map((word, i) => (\n <div key={i} className='flex items-center p-2 gap-2'>\n <div className='w-4 text-xs text-center text-subdued'>{i + 1}</div>\n <div className='text-sm'>{word}</div>\n </div>\n ))}\n </div>\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { useCredentials } from '@dxos/react-client/halo';\nimport { Icon, IconButton, List, ListItem, useTranslation, Message } from '@dxos/react-ui';\nimport { ControlGroup, ControlItem, ControlPage, ControlSection } from '@dxos/react-ui-form';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { CLIENT_PLUGIN } from '../meta';\nimport { ClientAction } from '../types';\n\nexport const MANAGE_CREDENTIALS_DIALOG = `${CLIENT_PLUGIN}/ManageCredentialsDialog`;\n\nexport const RecoveryCredentialsContainer = () => {\n const { t } = useTranslation(CLIENT_PLUGIN);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const credentials = useCredentials();\n const recoveryCredentials = credentials.filter(\n (credential) => credential.subject.assertion['@type'] === 'dxos.halo.credentials.IdentityRecovery',\n );\n\n return (\n <StackItem.Content classNames='block overflow-y-auto'>\n <ControlPage>\n <ControlSection title={t('recovery setup dialog title')} description={t('recovery setup dialog description')}>\n <ControlGroup>\n <ControlItem title={t('create passkey label')} description={t('create passkey description')}>\n <IconButton\n label={t('create passkey label')}\n icon='ph--key--duotone'\n variant='primary'\n size={5}\n onClick={() => dispatch(createIntent(ClientAction.CreatePasskey))}\n />\n </ControlItem>\n <ControlItem title={t('create recovery code label')} description={t('create recovery code description')}>\n <IconButton\n label={t('create recovery code label')}\n icon='ph--receipt--duotone'\n variant='default'\n size={5}\n onClick={() => dispatch(createIntent(ClientAction.CreateRecoveryCode))}\n />\n </ControlItem>\n </ControlGroup>\n </ControlSection>\n <ControlSection title={t('credentials list label')}>\n {recoveryCredentials.length < 1 ? (\n <Message.Root valence='error' classNames='container-max-width'>\n <Message.Title icon='ph--shield-warning--duotone'>{t('no credentials title')}</Message.Title>\n <Message.Content>{t('no credentials message')}</Message.Content>\n </Message.Root>\n ) : (\n <List classNames='container-max-width pli-2'>\n {recoveryCredentials.map((credential) => (\n <ListItem.Root key={credential.id?.toHex()}>\n <ListItem.Endcap>\n <Icon icon='ph--key--regular' size={5} />\n </ListItem.Endcap>\n <ListItem.Heading>{credential.issuanceDate.toLocaleString()}</ListItem.Heading>\n </ListItem.Root>\n ))}\n </List>\n )}\n </ControlSection>\n </ControlPage>\n </StackItem.Content>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { createIntent, LayoutAction, useIntentDispatcher } from '@dxos/app-framework';\nimport { useClient } from '@dxos/react-client';\nimport { Dialog, useTranslation } from '@dxos/react-ui';\nimport { ConfirmReset, type ConfirmResetProps } from '@dxos/shell/react';\n\nimport { CLIENT_PLUGIN } from '../meta';\nimport { type ClientPluginOptions } from '../types';\n\nexport const RESET_DIALOG = `${CLIENT_PLUGIN}/ResetDialog`;\n\nexport type ResetDialogProps = Pick<ConfirmResetProps, 'mode'> & Pick<ClientPluginOptions, 'onReset'>;\n\nexport const ResetDialog = ({ mode, onReset }: ResetDialogProps) => {\n const { t } = useTranslation(CLIENT_PLUGIN);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const client = useClient();\n\n const handleReset = useCallback(async () => {\n await client.reset();\n const target =\n mode === 'join new identity' ? 'deviceInvitation' : mode === 'recover' ? 'recoverIdentity' : undefined;\n await onReset?.({ target });\n }, [dispatch, client, mode, onReset]);\n\n const handleCancel = useCallback(() => {\n void dispatch(\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n options: { state: false },\n }),\n );\n }, [dispatch]);\n\n // TODO(wittjosiah): Add the sr-only translations.\n // TODO(wittjosiah): Add missing descriptions to other dialogs.\n return (\n <Dialog.Content classNames='bs-content min-bs-[15rem] max-bs-full md:max-is-[40rem] overflow-hidden'>\n <Dialog.Title classNames='sr-only'>{t('reset dialog title')}</Dialog.Title>\n <Dialog.Description classNames='sr-only'>{t('reset dialog description')}</Dialog.Description>\n <ConfirmReset active mode={mode} onConfirm={handleReset} onCancel={handleCancel} />\n </Dialog.Content>\n );\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["import_react", "import_app_framework", "import_react_ui", "import_react_client", "import_halo", "import_react_ui_form", "import_react_ui_stack", "import_util", "DevicesContainer", "createInvitationUrl", "t", "useTranslation", "dispatchPromise", "dispatch", "useIntentDispatcher", "devices", "useDevices", "swarm", "connectionState", "useNetworkStatus", "handleResetStorage", "useCallback", "createIntent", "ClientAction", "ResetStorage", "handleRecover", "mode", "handleJoinNewIdentity", "React", "Clipboard", "Provider", "StackItem", "Content", "classNames", "ControlPage", "ControlSection", "title", "ns", "CLIENT_PLUGIN", "description", "ControlFrame", "ControlFrameItem", "List", "map", "device", "DeviceListItem", "key", "deviceKey", "toHex", "DeviceInvitation", "ControlGroup", "ControlItem", "Button", "variant", "onClick", "data-testid", "props", "client", "useClient", "invitation", "setInvitation", "useState", "onInvitationCreate", "halo", "share", "config", "values", "runtime", "app", "env", "DX_ENVIRONMENT", "subscription", "subscribe", "invitationCode", "InvitationEncoder", "encode", "state", "Invitation", "State", "CONNECTING", "log", "info", "JSON", "stringify", "authCode", "unsubscribe", "onInvitationDone", "undefined", "DeviceInvitationImpl", "InvitationSection", "invitationObservable", "useMulticastObservable", "url", "useEffect", "SUCCESS", "invitationId", "activeView", "CANCELLED", "READY_FOR_AUTHENTICATION", "p", "className", "IconButton", "icon", "label", "disabled", "Viewport", "Root", "Views", "View", "id", "InvitationComplete", "statusValue", "InvitationAuthCode", "code", "onCancel", "InvitationQR", "qrLabel", "useId", "emoji", "hexToEmoji", "div", "role", "QR", "rounding", "backgroundColor", "color", "aria-labelledby", "errorCorrectionLevel", "cutout", "Centered", "Emoji", "text", "span", "value", "AuthCode", "large", "Check", "mx", "getSize", "X", "JOIN_DIALOG", "JoinDialog", "handleCancelResetStorage", "ShareIdentity", "handleDone", "result", "identityKey", "Promise", "all", "LayoutAction", "UpdateDialog", "part", "options", "ObservabilityAction", "SendEvent", "name", "initialDisposition", "Dialog", "Title", "JoinPanel", "exitActionParent", "Close", "asChild", "doneActionParent", "onCancelResetStorage", "onDone", "getDefaultHueValue", "identity", "hexToHue", "getDefaultEmojiValue", "getHueValue", "profile", "data", "hue", "getEmojiValue", "ProfileContainer", "useIdentity", "displayName", "setDisplayNameDirectly", "setEmojiDirectly", "setHueDirectly", "updateProfile", "useMemo", "debounce", "handleSave", "did", "customElements", "type", "getValue", "onValueChange", "handleChange", "target", "ControlItemInput", "Input", "TextInput", "onChange", "placeholder", "nextEmoji", "handleEmojiReset", "EmojiPickerBlock", "triggerVariant", "onChangeEmoji", "onClickClear", "nextHue", "handleHueReset", "HuePicker", "onReset", "ButtonGroup", "Form", "schema", "ProfileSchema", "autoSave", "onSave", "Custom", "outerSpacing", "Schema", "Struct", "String", "annotations", "RECOVERY_CODE_DIALOG", "RecoveryCodeDialog", "confirmation", "setConfirmation", "handleConfirmation", "checked", "AlertDialog", "Code", "Checkbox", "onCheckedChange", "Label", "Action", "words", "split", "word", "i", "MANAGE_CREDENTIALS_DIALOG", "RecoveryCredentialsContainer", "credentials", "useCredentials", "recoveryCredentials", "filter", "credential", "subject", "assertion", "size", "CreatePasskey", "CreateRecoveryCode", "length", "Message", "valence", "ListItem", "Endcap", "Icon", "Heading", "issuanceDate", "toLocaleString", "RESET_DIALOG", "ResetDialog", "handleReset", "reset", "handleCancel", "Description", "ConfirmReset", "active", "onConfirm"]
|
|
7
|
-
}
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var chunk_BL6EBWOS_exports = {};
|
|
20
|
-
__export(chunk_BL6EBWOS_exports, {
|
|
21
|
-
Account: () => Account,
|
|
22
|
-
ClientAction: () => ClientAction
|
|
23
|
-
});
|
|
24
|
-
module.exports = __toCommonJS(chunk_BL6EBWOS_exports);
|
|
25
|
-
var import_chunk_DJKWB5L6 = require("./chunk-DJKWB5L6.cjs");
|
|
26
|
-
var import_effect = require("effect");
|
|
27
|
-
var import_react_client = require("@dxos/react-client");
|
|
28
|
-
var IdentitySchema = import_effect.Schema.Struct({
|
|
29
|
-
identityKey: import_effect.Schema.instanceOf(import_react_client.PublicKey),
|
|
30
|
-
spaceKey: import_effect.Schema.optional(import_effect.Schema.instanceOf(import_react_client.PublicKey)),
|
|
31
|
-
profile: import_effect.Schema.optional(import_effect.Schema.Struct({
|
|
32
|
-
displayName: import_effect.Schema.optional(import_effect.Schema.String),
|
|
33
|
-
avatarCid: import_effect.Schema.optional(import_effect.Schema.String),
|
|
34
|
-
data: import_effect.Schema.optional(import_effect.Schema.Record({
|
|
35
|
-
key: import_effect.Schema.String,
|
|
36
|
-
value: import_effect.Schema.Any
|
|
37
|
-
}))
|
|
38
|
-
}))
|
|
39
|
-
});
|
|
40
|
-
var CLIENT_ACTION = `${import_chunk_DJKWB5L6.CLIENT_PLUGIN}/action`;
|
|
41
|
-
(function(ClientAction2) {
|
|
42
|
-
const ProfileSchema = import_effect.Schema.Struct({
|
|
43
|
-
displayName: import_effect.Schema.optional(import_effect.Schema.String),
|
|
44
|
-
avatarCid: import_effect.Schema.optional(import_effect.Schema.String),
|
|
45
|
-
data: import_effect.Schema.optional(import_effect.Schema.Record({
|
|
46
|
-
key: import_effect.Schema.String,
|
|
47
|
-
value: import_effect.Schema.Any
|
|
48
|
-
}))
|
|
49
|
-
});
|
|
50
|
-
class CreateIdentity extends import_effect.Schema.TaggedClass()(`${CLIENT_ACTION}/create-identity`, {
|
|
51
|
-
input: ProfileSchema,
|
|
52
|
-
output: IdentitySchema
|
|
53
|
-
}) {
|
|
54
|
-
}
|
|
55
|
-
ClientAction2.CreateIdentity = CreateIdentity;
|
|
56
|
-
class JoinIdentity extends import_effect.Schema.TaggedClass()(`${CLIENT_ACTION}/join-identity`, {
|
|
57
|
-
input: import_effect.Schema.Struct({
|
|
58
|
-
invitationCode: import_effect.Schema.optional(import_effect.Schema.String)
|
|
59
|
-
}),
|
|
60
|
-
output: import_effect.Schema.Void
|
|
61
|
-
}) {
|
|
62
|
-
}
|
|
63
|
-
ClientAction2.JoinIdentity = JoinIdentity;
|
|
64
|
-
class ShareIdentity extends import_effect.Schema.TaggedClass()(`${CLIENT_ACTION}/share-identity`, {
|
|
65
|
-
input: import_effect.Schema.Void,
|
|
66
|
-
output: import_effect.Schema.Void
|
|
67
|
-
}) {
|
|
68
|
-
}
|
|
69
|
-
ClientAction2.ShareIdentity = ShareIdentity;
|
|
70
|
-
class RecoverIdentity extends import_effect.Schema.TaggedClass()(`${CLIENT_ACTION}/recover-identity`, {
|
|
71
|
-
input: import_effect.Schema.Void,
|
|
72
|
-
output: import_effect.Schema.Void
|
|
73
|
-
}) {
|
|
74
|
-
}
|
|
75
|
-
ClientAction2.RecoverIdentity = RecoverIdentity;
|
|
76
|
-
class ResetStorage extends import_effect.Schema.TaggedClass()(`${CLIENT_ACTION}/reset-storage`, {
|
|
77
|
-
input: import_effect.Schema.Struct({
|
|
78
|
-
mode: import_effect.Schema.optional(import_effect.Schema.String)
|
|
79
|
-
}),
|
|
80
|
-
output: import_effect.Schema.Void
|
|
81
|
-
}) {
|
|
82
|
-
}
|
|
83
|
-
ClientAction2.ResetStorage = ResetStorage;
|
|
84
|
-
class CreateAgent extends import_effect.Schema.TaggedClass()(`${CLIENT_ACTION}/create-agent`, {
|
|
85
|
-
input: import_effect.Schema.Void,
|
|
86
|
-
output: import_effect.Schema.Void
|
|
87
|
-
}) {
|
|
88
|
-
}
|
|
89
|
-
ClientAction2.CreateAgent = CreateAgent;
|
|
90
|
-
class CreateRecoveryCode extends import_effect.Schema.TaggedClass()(`${CLIENT_ACTION}/create-recovery-code`, {
|
|
91
|
-
input: import_effect.Schema.Void,
|
|
92
|
-
output: import_effect.Schema.Void
|
|
93
|
-
}) {
|
|
94
|
-
}
|
|
95
|
-
ClientAction2.CreateRecoveryCode = CreateRecoveryCode;
|
|
96
|
-
class CreatePasskey extends import_effect.Schema.TaggedClass()(`${CLIENT_ACTION}/create-passkey`, {
|
|
97
|
-
input: import_effect.Schema.Void,
|
|
98
|
-
output: import_effect.Schema.Void
|
|
99
|
-
}) {
|
|
100
|
-
}
|
|
101
|
-
ClientAction2.CreatePasskey = CreatePasskey;
|
|
102
|
-
class RedeemPasskey extends import_effect.Schema.TaggedClass()(`${CLIENT_ACTION}/redeem-passkey`, {
|
|
103
|
-
input: import_effect.Schema.Void,
|
|
104
|
-
output: import_effect.Schema.Void
|
|
105
|
-
}) {
|
|
106
|
-
}
|
|
107
|
-
ClientAction2.RedeemPasskey = RedeemPasskey;
|
|
108
|
-
class RedeemToken extends import_effect.Schema.TaggedClass()(`${CLIENT_ACTION}/redeem-token`, {
|
|
109
|
-
input: import_effect.Schema.Struct({
|
|
110
|
-
token: import_effect.Schema.String
|
|
111
|
-
}),
|
|
112
|
-
output: import_effect.Schema.Void
|
|
113
|
-
}) {
|
|
114
|
-
}
|
|
115
|
-
ClientAction2.RedeemToken = RedeemToken;
|
|
116
|
-
})(ClientAction || (ClientAction = {}));
|
|
117
|
-
(function(Account2) {
|
|
118
|
-
const _id = "dxos.org.plugin.client.account";
|
|
119
|
-
Account2.id = `!${_id}`;
|
|
120
|
-
Account2.Profile = `${_id}.profile`;
|
|
121
|
-
Account2.Devices = `${_id}.devices`;
|
|
122
|
-
Account2.Security = `${_id}.security`;
|
|
123
|
-
})(Account || (Account = {}));
|
|
124
|
-
var ClientAction;
|
|
125
|
-
var Account;
|
|
126
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
127
|
-
0 && (module.exports = {
|
|
128
|
-
Account,
|
|
129
|
-
ClientAction
|
|
130
|
-
});
|
|
131
|
-
//# sourceMappingURL=chunk-BL6EBWOS.cjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/types.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { type PluginContext } from '@dxos/app-framework';\nimport { type Client, PublicKey, type ClientOptions } from '@dxos/react-client';\nimport { type MaybePromise } from '@dxos/util';\n\nimport { CLIENT_PLUGIN } from './meta';\n\n// TODO(wittjosiah): Factor out. Generate?\nconst IdentitySchema = Schema.Struct({\n identityKey: Schema.instanceOf(PublicKey),\n spaceKey: Schema.optional(Schema.instanceOf(PublicKey)),\n profile: Schema.optional(\n Schema.Struct({\n displayName: Schema.optional(Schema.String),\n avatarCid: Schema.optional(Schema.String),\n data: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Any })),\n }),\n ),\n});\n\nconst CLIENT_ACTION = `${CLIENT_PLUGIN}/action`;\nexport namespace ClientAction {\n const ProfileSchema = Schema.Struct({\n displayName: Schema.optional(Schema.String),\n avatarCid: Schema.optional(Schema.String),\n data: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Any })),\n });\n\n export class CreateIdentity extends Schema.TaggedClass<CreateIdentity>()(`${CLIENT_ACTION}/create-identity`, {\n input: ProfileSchema,\n output: IdentitySchema,\n }) {}\n\n export class JoinIdentity extends Schema.TaggedClass<JoinIdentity>()(`${CLIENT_ACTION}/join-identity`, {\n input: Schema.Struct({\n invitationCode: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n\n export class ShareIdentity extends Schema.TaggedClass<ShareIdentity>()(`${CLIENT_ACTION}/share-identity`, {\n input: Schema.Void,\n output: Schema.Void,\n }) {}\n\n export class RecoverIdentity extends Schema.TaggedClass<RecoverIdentity>()(`${CLIENT_ACTION}/recover-identity`, {\n input: Schema.Void,\n output: Schema.Void,\n }) {}\n\n export class ResetStorage extends Schema.TaggedClass<ResetStorage>()(`${CLIENT_ACTION}/reset-storage`, {\n input: Schema.Struct({\n mode: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n\n export class CreateAgent extends Schema.TaggedClass<CreateAgent>()(`${CLIENT_ACTION}/create-agent`, {\n input: Schema.Void,\n output: Schema.Void,\n }) {}\n\n export class CreateRecoveryCode extends Schema.TaggedClass<CreateRecoveryCode>()(\n `${CLIENT_ACTION}/create-recovery-code`,\n {\n input: Schema.Void,\n output: Schema.Void,\n },\n ) {}\n\n export class CreatePasskey extends Schema.TaggedClass<CreatePasskey>()(`${CLIENT_ACTION}/create-passkey`, {\n input: Schema.Void,\n output: Schema.Void,\n }) {}\n\n export class RedeemPasskey extends Schema.TaggedClass<RedeemPasskey>()(`${CLIENT_ACTION}/redeem-passkey`, {\n input: Schema.Void,\n output: Schema.Void,\n }) {}\n\n export class RedeemToken extends Schema.TaggedClass<RedeemToken>()(`${CLIENT_ACTION}/redeem-token`, {\n input: Schema.Struct({\n token: Schema.String,\n }),\n output: Schema.Void,\n }) {}\n}\n\nexport type ClientPluginOptions = ClientOptions & {\n /**\n * Base URL for the invitation link.\n */\n invitationUrl?: string;\n\n /**\n * Query parameter for the invitation code.\n */\n invitationParam?: string;\n\n /**\n * Run after the client has been initialized.\n */\n onClientInitialized?: (context: PluginContext, client: Client) => MaybePromise<void>;\n\n /**\n * Called when spaces are ready.\n */\n onSpacesReady?: (context: PluginContext, client: Client) => MaybePromise<void>;\n\n /**\n * Called when the client is reset.\n */\n onReset?: (params: { target?: string }) => MaybePromise<void>;\n};\n\nexport namespace Account {\n // TODO(wittjosiah): Cannot use slashes in ids until we have a router which decouples ids from url paths.\n const _id = 'dxos.org.plugin.client.account';\n // TODO(wittjosiah): This is a hack to prevent the previous deck from being set for pinned items.\n // Ideally this should be worked into the data model in a generic way.\n export const id = `!${_id}`;\n\n export const Profile = `${_id}.profile`;\n export const Devices = `${_id}.devices`;\n export const Security = `${_id}.security`;\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["IdentitySchema", "Schema", "Struct", "identityKey", "instanceOf", "PublicKey", "spaceKey", "optional", "profile", "displayName", "String", "avatarCid", "data", "Record", "key", "value", "Any", "CLIENT_ACTION", "CLIENT_PLUGIN", "ClientAction", "ProfileSchema", "CreateIdentity", "TaggedClass", "input", "output", "JoinIdentity", "invitationCode", "Void", "ShareIdentity", "RecoverIdentity", "ResetStorage", "mode", "CreateAgent", "CreateRecoveryCode", "CreatePasskey", "RedeemPasskey", "RedeemToken", "token", "Account", "_id", "id", "Profile", "Devices", "Security"]
|
|
7
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var chunk_CIYUKY3J_exports = {};
|
|
20
|
-
__export(chunk_CIYUKY3J_exports, {
|
|
21
|
-
ClientCapabilities: () => ClientCapabilities
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(chunk_CIYUKY3J_exports);
|
|
24
|
-
var import_chunk_DJKWB5L6 = require("./chunk-DJKWB5L6.cjs");
|
|
25
|
-
var import_app_framework = require("@dxos/app-framework");
|
|
26
|
-
(function(ClientCapabilities2) {
|
|
27
|
-
ClientCapabilities2.Client = (0, import_app_framework.defineCapability)(`${import_chunk_DJKWB5L6.CLIENT_PLUGIN}/capability/client`);
|
|
28
|
-
ClientCapabilities2.Schema = (0, import_app_framework.defineCapability)(`${import_chunk_DJKWB5L6.CLIENT_PLUGIN}/capability/schema`);
|
|
29
|
-
ClientCapabilities2.SchemaWhiteList = (0, import_app_framework.defineCapability)(`${import_chunk_DJKWB5L6.CLIENT_PLUGIN}/capability/schema-whitelist`);
|
|
30
|
-
ClientCapabilities2.Migration = (0, import_app_framework.defineCapability)(`${import_chunk_DJKWB5L6.CLIENT_PLUGIN}/capability/migration`);
|
|
31
|
-
})(ClientCapabilities || (ClientCapabilities = {}));
|
|
32
|
-
var ClientCapabilities;
|
|
33
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
34
|
-
0 && (module.exports = {
|
|
35
|
-
ClientCapabilities
|
|
36
|
-
});
|
|
37
|
-
//# sourceMappingURL=chunk-CIYUKY3J.cjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/capabilities.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineCapability } from '@dxos/app-framework';\nimport { type Client } from '@dxos/client';\nimport { type ObjectMigration } from '@dxos/client/echo';\nimport { type TypedObject } from '@dxos/echo-schema';\n\nimport { CLIENT_PLUGIN } from '../meta';\n\nexport namespace ClientCapabilities {\n export const Client = defineCapability<Client>(`${CLIENT_PLUGIN}/capability/client`);\n export const Schema = defineCapability<TypedObject[]>(`${CLIENT_PLUGIN}/capability/schema`);\n export const SchemaWhiteList = defineCapability<TypedObject[]>(`${CLIENT_PLUGIN}/capability/schema-whitelist`);\n export const Migration = defineCapability<ObjectMigration[]>(`${CLIENT_PLUGIN}/capability/migration`);\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAAiC;UAOhBA,qBAAAA;sBACFC,aAASC,uCAAyB,GAAGC,mCAAAA,oBAAiC;sBACtEC,aAASF,uCAAgC,GAAGC,mCAAAA,oBAAiC;sBAC7EE,sBAAkBH,uCAAgC,GAAGC,mCAAAA,8BAA2C;sBAChGG,gBAAYJ,uCAAoC,GAAGC,mCAAAA,uBAAoC;AACtG,GALiBH,uBAAAA,qBAAAA,CAAAA,EAAAA;;",
|
|
6
|
-
"names": ["ClientCapabilities", "Client", "defineCapability", "CLIENT_PLUGIN", "Schema", "SchemaWhiteList", "Migration"]
|
|
7
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var chunk_DJKWB5L6_exports = {};
|
|
20
|
-
__export(chunk_DJKWB5L6_exports, {
|
|
21
|
-
CLIENT_PLUGIN: () => CLIENT_PLUGIN,
|
|
22
|
-
meta: () => meta
|
|
23
|
-
});
|
|
24
|
-
module.exports = __toCommonJS(chunk_DJKWB5L6_exports);
|
|
25
|
-
var CLIENT_PLUGIN = "dxos.org/plugin/client";
|
|
26
|
-
var meta = {
|
|
27
|
-
id: CLIENT_PLUGIN,
|
|
28
|
-
name: "Client"
|
|
29
|
-
};
|
|
30
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
31
|
-
0 && (module.exports = {
|
|
32
|
-
CLIENT_PLUGIN,
|
|
33
|
-
meta
|
|
34
|
-
});
|
|
35
|
-
//# sourceMappingURL=chunk-DJKWB5L6.cjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/meta.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const CLIENT_PLUGIN = 'dxos.org/plugin/client';\n\nexport const meta: PluginMeta = {\n id: CLIENT_PLUGIN,\n name: 'Client',\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAMO,IAAMA,gBAAgB;AAEtB,IAAMC,OAAmB;EAC9BC,IAAIF;EACJG,MAAM;AACR;",
|
|
6
|
-
"names": ["CLIENT_PLUGIN", "meta", "id", "name"]
|
|
7
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var chunk_DNKJCPU7_exports = {};
|
|
20
|
-
__export(chunk_DNKJCPU7_exports, {
|
|
21
|
-
ClientEvents: () => ClientEvents
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(chunk_DNKJCPU7_exports);
|
|
24
|
-
var import_chunk_DJKWB5L6 = require("./chunk-DJKWB5L6.cjs");
|
|
25
|
-
var import_app_framework = require("@dxos/app-framework");
|
|
26
|
-
(function(ClientEvents2) {
|
|
27
|
-
ClientEvents2.ClientReady = (0, import_app_framework.defineEvent)(`${import_chunk_DJKWB5L6.CLIENT_PLUGIN}/event/client-ready`);
|
|
28
|
-
ClientEvents2.SetupSchema = (0, import_app_framework.defineEvent)(`${import_chunk_DJKWB5L6.CLIENT_PLUGIN}/event/setup-schema`);
|
|
29
|
-
ClientEvents2.SetupMigration = (0, import_app_framework.defineEvent)(`${import_chunk_DJKWB5L6.CLIENT_PLUGIN}/event/setup-migration`);
|
|
30
|
-
ClientEvents2.IdentityCreated = (0, import_app_framework.defineEvent)(`${import_chunk_DJKWB5L6.CLIENT_PLUGIN}/event/identity-created`);
|
|
31
|
-
ClientEvents2.SpacesReady = (0, import_app_framework.defineEvent)(`${import_chunk_DJKWB5L6.CLIENT_PLUGIN}/event/spaces-ready`);
|
|
32
|
-
})(ClientEvents || (ClientEvents = {}));
|
|
33
|
-
var ClientEvents;
|
|
34
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
35
|
-
0 && (module.exports = {
|
|
36
|
-
ClientEvents
|
|
37
|
-
});
|
|
38
|
-
//# sourceMappingURL=chunk-DNKJCPU7.cjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/events.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent } from '@dxos/app-framework';\n\nimport { CLIENT_PLUGIN } from './meta';\n\nexport namespace ClientEvents {\n export const ClientReady = defineEvent(`${CLIENT_PLUGIN}/event/client-ready`);\n export const SetupSchema = defineEvent(`${CLIENT_PLUGIN}/event/setup-schema`);\n export const SetupMigration = defineEvent(`${CLIENT_PLUGIN}/event/setup-migration`);\n export const IdentityCreated = defineEvent(`${CLIENT_PLUGIN}/event/identity-created`);\n export const SpacesReady = defineEvent(`${CLIENT_PLUGIN}/event/spaces-ready`);\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAA4B;UAIXA,eAAAA;gBACFC,kBAAcC,kCAAY,GAAGC,mCAAAA,qBAAkC;gBAC/DC,kBAAcF,kCAAY,GAAGC,mCAAAA,qBAAkC;gBAC/DE,qBAAiBH,kCAAY,GAAGC,mCAAAA,wBAAqC;gBACrEG,sBAAkBJ,kCAAY,GAAGC,mCAAAA,yBAAsC;gBACvEI,kBAAcL,kCAAY,GAAGC,mCAAAA,qBAAkC;AAC9E,GANiBH,iBAAAA,eAAAA,CAAAA,EAAAA;;",
|
|
6
|
-
"names": ["ClientEvents", "ClientReady", "defineEvent", "CLIENT_PLUGIN", "SetupSchema", "SetupMigration", "IdentityCreated", "SpacesReady"]
|
|
7
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var client_Q3EQS4HA_exports = {};
|
|
20
|
-
__export(client_Q3EQS4HA_exports, {
|
|
21
|
-
default: () => client_default
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(client_Q3EQS4HA_exports);
|
|
24
|
-
var import_chunk_DNKJCPU7 = require("./chunk-DNKJCPU7.cjs");
|
|
25
|
-
var import_chunk_CIYUKY3J = require("./chunk-CIYUKY3J.cjs");
|
|
26
|
-
var import_chunk_DJKWB5L6 = require("./chunk-DJKWB5L6.cjs");
|
|
27
|
-
var import_app_framework = require("@dxos/app-framework");
|
|
28
|
-
var import_react_client = require("@dxos/react-client");
|
|
29
|
-
var client_default = async ({ context, onClientInitialized, onSpacesReady, ...options }) => {
|
|
30
|
-
const client = new import_react_client.Client(options);
|
|
31
|
-
await client.initialize();
|
|
32
|
-
await onClientInitialized?.(context, client);
|
|
33
|
-
client.reloaded.on(() => {
|
|
34
|
-
client.halo.identity.subscribe(async (identity) => {
|
|
35
|
-
if (identity) {
|
|
36
|
-
window.location.href = window.location.origin;
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
const subscription = client.spaces.isReady.subscribe(async (ready) => {
|
|
41
|
-
if (ready) {
|
|
42
|
-
await context.activatePromise(import_chunk_DNKJCPU7.ClientEvents.SpacesReady);
|
|
43
|
-
await onSpacesReady?.(context, client);
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
return (0, import_app_framework.contributes)(import_chunk_CIYUKY3J.ClientCapabilities.Client, client, async () => {
|
|
47
|
-
subscription.unsubscribe();
|
|
48
|
-
await client.destroy();
|
|
49
|
-
});
|
|
50
|
-
};
|
|
51
|
-
//# sourceMappingURL=client-Q3EQS4HA.cjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/client.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes, type PluginContext } from '@dxos/app-framework';\nimport { Client } from '@dxos/react-client';\n\nimport { ClientCapabilities } from './capabilities';\nimport { ClientEvents } from '../events';\nimport { type ClientPluginOptions } from '../types';\n\ntype ClientCapabilityOptions = Omit<ClientPluginOptions, 'appKey' | 'invitationUrl' | 'invitationParam' | 'onReset'> & {\n context: PluginContext;\n};\n\nexport default async ({ context, onClientInitialized, onSpacesReady, ...options }: ClientCapabilityOptions) => {\n const client = new Client(options);\n await client.initialize();\n await onClientInitialized?.(context, client);\n\n // TODO(wittjosiah): Remove. This is a hack to get the app to boot with the new identity after a reset.\n client.reloaded.on(() => {\n client.halo.identity.subscribe(async (identity) => {\n if (identity) {\n window.location.href = window.location.origin;\n }\n });\n });\n\n const subscription = client.spaces.isReady.subscribe(async (ready) => {\n if (ready) {\n await context.activatePromise(ClientEvents.SpacesReady);\n await onSpacesReady?.(context, client);\n }\n });\n\n return contributes(ClientCapabilities.Client, client, async () => {\n subscription.unsubscribe();\n await client.destroy();\n });\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAAgD;AAChD,0BAAuB;AAUvB,IAAA,iBAAe,OAAO,EAAEA,SAASC,qBAAqBC,eAAe,GAAGC,QAAAA,MAAkC;AACxG,QAAMC,SAAS,IAAIC,2BAAOF,OAAAA;AAC1B,QAAMC,OAAOE,WAAU;AACvB,QAAML,sBAAsBD,SAASI,MAAAA;AAGrCA,SAAOG,SAASC,GAAG,MAAA;AACjBJ,WAAOK,KAAKC,SAASC,UAAU,OAAOD,aAAAA;AACpC,UAAIA,UAAU;AACZE,eAAOC,SAASC,OAAOF,OAAOC,SAASE;MACzC;IACF,CAAA;EACF,CAAA;AAEA,QAAMC,eAAeZ,OAAOa,OAAOC,QAAQP,UAAU,OAAOQ,UAAAA;AAC1D,QAAIA,OAAO;AACT,YAAMnB,QAAQoB,gBAAgBC,mCAAaC,WAAW;AACtD,YAAMpB,gBAAgBF,SAASI,MAAAA;IACjC;EACF,CAAA;AAEA,aAAOmB,kCAAYC,yCAAmBnB,QAAQD,QAAQ,YAAA;AACpDY,iBAAaS,YAAW;AACxB,UAAMrB,OAAOsB,QAAO;EACtB,CAAA;AACF;",
|
|
6
|
-
"names": ["context", "onClientInitialized", "onSpacesReady", "options", "client", "Client", "initialize", "reloaded", "on", "halo", "identity", "subscribe", "window", "location", "href", "origin", "subscription", "spaces", "isReady", "ready", "activatePromise", "ClientEvents", "SpacesReady", "contributes", "ClientCapabilities", "unsubscribe", "destroy"]
|
|
7
|
-
}
|