@dxos/plugin-client 0.8.4-main.ae835ea → 0.8.4-main.bc674ce
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/app-graph-builder-3FGBMLTF.mjs +118 -0
- package/dist/lib/browser/app-graph-builder-3FGBMLTF.mjs.map +7 -0
- package/dist/lib/browser/chunk-4BZGRIFS.mjs +293 -0
- package/dist/lib/browser/chunk-4BZGRIFS.mjs.map +7 -0
- package/dist/lib/browser/chunk-F7H2Y3Z2.mjs +18 -0
- package/dist/lib/browser/chunk-F7H2Y3Z2.mjs.map +7 -0
- package/dist/lib/browser/chunk-G7C3S2BE.mjs +15 -0
- package/dist/lib/browser/chunk-G7C3S2BE.mjs.map +7 -0
- package/dist/lib/browser/cli/index.mjs +1048 -0
- package/dist/lib/browser/cli/index.mjs.map +7 -0
- package/dist/lib/browser/client-IX5LMWV4.mjs +86 -0
- package/dist/lib/browser/client-IX5LMWV4.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +73 -83
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/migrations-3EBTAW3N.mjs +24 -0
- package/dist/lib/browser/migrations-3EBTAW3N.mjs.map +7 -0
- package/dist/lib/browser/operation-resolver-2NT3ISVP.mjs +298 -0
- package/dist/lib/browser/operation-resolver-2NT3ISVP.mjs.map +7 -0
- package/dist/lib/browser/react-context-4UABG3GP.mjs +24 -0
- package/dist/lib/browser/react-context-4UABG3GP.mjs.map +7 -0
- package/dist/lib/browser/react-surface-RSQ74XCT.mjs +675 -0
- package/dist/lib/browser/react-surface-RSQ74XCT.mjs.map +7 -0
- package/dist/lib/browser/schema-defs-O7VLP745.mjs +26 -0
- package/dist/lib/browser/schema-defs-O7VLP745.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +9 -4
- package/dist/lib/node-esm/app-graph-builder-2PIYVUNC.mjs +119 -0
- package/dist/lib/node-esm/app-graph-builder-2PIYVUNC.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-BCELGXRI.mjs +20 -0
- package/dist/lib/node-esm/chunk-BCELGXRI.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-JAF64TFQ.mjs +295 -0
- package/dist/lib/node-esm/chunk-JAF64TFQ.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-PRAFFO54.mjs +16 -0
- package/dist/lib/node-esm/chunk-PRAFFO54.mjs.map +7 -0
- package/dist/lib/node-esm/cli/index.mjs +1049 -0
- package/dist/lib/node-esm/cli/index.mjs.map +7 -0
- package/dist/lib/node-esm/client-FFPK5UFP.mjs +87 -0
- package/dist/lib/node-esm/client-FFPK5UFP.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +73 -83
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/migrations-WSZSFGDK.mjs +25 -0
- package/dist/lib/node-esm/migrations-WSZSFGDK.mjs.map +7 -0
- package/dist/lib/node-esm/operation-resolver-VW5R2BE4.mjs +299 -0
- package/dist/lib/node-esm/operation-resolver-VW5R2BE4.mjs.map +7 -0
- package/dist/lib/node-esm/react-context-UVXMGPW4.mjs +25 -0
- package/dist/lib/node-esm/react-context-UVXMGPW4.mjs.map +7 -0
- package/dist/lib/node-esm/react-surface-KBHANGGC.mjs +676 -0
- package/dist/lib/node-esm/react-surface-KBHANGGC.mjs.map +7 -0
- package/dist/lib/node-esm/schema-defs-QLRGBIKY.mjs +27 -0
- package/dist/lib/node-esm/schema-defs-QLRGBIKY.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +9 -4
- package/dist/types/src/ClientPlugin.d.ts +2 -1
- package/dist/types/src/ClientPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/client/client.d.ts +8 -0
- package/dist/types/src/capabilities/client/client.d.ts.map +1 -0
- package/dist/types/src/capabilities/client/index.d.ts +17 -0
- package/dist/types/src/capabilities/client/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +7 -19
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/migrations/index.d.ts +3 -0
- package/dist/types/src/capabilities/migrations/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/migrations/migrations.d.ts +5 -0
- package/dist/types/src/capabilities/migrations/migrations.d.ts.map +1 -0
- package/dist/types/src/capabilities/operation-resolver/index.d.ts +5 -0
- package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +8 -0
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-context/index.d.ts +7 -0
- package/dist/types/src/capabilities/react-context/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-context/react-context.d.ts +10 -0
- package/dist/types/src/capabilities/react-context/react-context.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts +5 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +9 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
- package/dist/types/src/capabilities/schema-defs/index.d.ts +3 -0
- package/dist/types/src/capabilities/schema-defs/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/schema-defs/schema-defs.d.ts +5 -0
- package/dist/types/src/capabilities/schema-defs/schema-defs.d.ts.map +1 -0
- package/dist/types/src/cli/commands/config/index.d.ts +5 -0
- package/dist/types/src/cli/commands/config/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/config/view.d.ts +5 -0
- package/dist/types/src/cli/commands/config/view.d.ts.map +1 -0
- package/dist/types/src/cli/commands/device/index.d.ts +7 -0
- package/dist/types/src/cli/commands/device/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/device/info/index.d.ts +2 -0
- package/dist/types/src/cli/commands/device/info/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/device/info/info.d.ts +7 -0
- package/dist/types/src/cli/commands/device/info/info.d.ts.map +1 -0
- package/dist/types/src/cli/commands/device/info/info.test.d.ts +2 -0
- package/dist/types/src/cli/commands/device/info/info.test.d.ts.map +1 -0
- package/dist/types/src/cli/commands/device/list/index.d.ts +2 -0
- package/dist/types/src/cli/commands/device/list/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/device/list/list.d.ts +7 -0
- package/dist/types/src/cli/commands/device/list/list.d.ts.map +1 -0
- package/dist/types/src/cli/commands/device/list/list.test.d.ts +2 -0
- package/dist/types/src/cli/commands/device/list/list.test.d.ts.map +1 -0
- package/dist/types/src/cli/commands/device/update/index.d.ts +2 -0
- package/dist/types/src/cli/commands/device/update/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/device/update/update.d.ts +11 -0
- package/dist/types/src/cli/commands/device/update/update.d.ts.map +1 -0
- package/dist/types/src/cli/commands/device/util.d.ts +16 -0
- package/dist/types/src/cli/commands/device/util.d.ts.map +1 -0
- package/dist/types/src/cli/commands/edge/index.d.ts +5 -0
- package/dist/types/src/cli/commands/edge/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/edge/status.d.ts +7 -0
- package/dist/types/src/cli/commands/edge/status.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/create/create.d.ts +15 -0
- package/dist/types/src/cli/commands/halo/create/create.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/create/create.test.d.ts +2 -0
- package/dist/types/src/cli/commands/halo/create/create.test.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/create/index.d.ts +2 -0
- package/dist/types/src/cli/commands/halo/create/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/credential/add/add.d.ts +13 -0
- package/dist/types/src/cli/commands/halo/credential/add/add.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/credential/add/index.d.ts +2 -0
- package/dist/types/src/cli/commands/halo/credential/add/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/credential/index.d.ts +12 -0
- package/dist/types/src/cli/commands/halo/credential/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/credential/list/index.d.ts +2 -0
- package/dist/types/src/cli/commands/halo/credential/list/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/credential/list/list.d.ts +19 -0
- package/dist/types/src/cli/commands/halo/credential/list/list.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/credential/list/list.test.d.ts +2 -0
- package/dist/types/src/cli/commands/halo/credential/list/list.test.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/identity/identity.d.ts +7 -0
- package/dist/types/src/cli/commands/halo/identity/identity.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/identity/identity.test.d.ts +2 -0
- package/dist/types/src/cli/commands/halo/identity/identity.test.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/identity/index.d.ts +2 -0
- package/dist/types/src/cli/commands/halo/identity/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/index.d.ts +3 -0
- package/dist/types/src/cli/commands/halo/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/join/index.d.ts +2 -0
- package/dist/types/src/cli/commands/halo/join/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/join/join.d.ts +8 -0
- package/dist/types/src/cli/commands/halo/join/join.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/join/join.test.d.ts +2 -0
- package/dist/types/src/cli/commands/halo/join/join.test.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/keys/index.d.ts +2 -0
- package/dist/types/src/cli/commands/halo/keys/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/keys/keys.d.ts +7 -0
- package/dist/types/src/cli/commands/halo/keys/keys.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/keys/keys.test.d.ts +2 -0
- package/dist/types/src/cli/commands/halo/keys/keys.test.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/recover/index.d.ts +2 -0
- package/dist/types/src/cli/commands/halo/recover/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/recover/recover.d.ts +7 -0
- package/dist/types/src/cli/commands/halo/recover/recover.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/recover/recover.test.d.ts +2 -0
- package/dist/types/src/cli/commands/halo/recover/recover.test.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/seed/index.d.ts +2 -0
- package/dist/types/src/cli/commands/halo/seed/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/seed/seed.d.ts +7 -0
- package/dist/types/src/cli/commands/halo/seed/seed.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/share/index.d.ts +2 -0
- package/dist/types/src/cli/commands/halo/share/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/share/share.d.ts +15 -0
- package/dist/types/src/cli/commands/halo/share/share.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/update/index.d.ts +2 -0
- package/dist/types/src/cli/commands/halo/update/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/update/update.d.ts +11 -0
- package/dist/types/src/cli/commands/halo/update/update.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/update/update.test.d.ts +2 -0
- package/dist/types/src/cli/commands/halo/update/update.test.d.ts.map +1 -0
- package/dist/types/src/cli/commands/halo/util.d.ts +13 -0
- package/dist/types/src/cli/commands/halo/util.d.ts.map +1 -0
- package/dist/types/src/cli/commands/index.d.ts +6 -0
- package/dist/types/src/cli/commands/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/profile/create.d.ts +9 -0
- package/dist/types/src/cli/commands/profile/create.d.ts.map +1 -0
- package/dist/types/src/cli/commands/profile/delete.d.ts +8 -0
- package/dist/types/src/cli/commands/profile/delete.d.ts.map +1 -0
- package/dist/types/src/cli/commands/profile/import.d.ts +17 -0
- package/dist/types/src/cli/commands/profile/import.d.ts.map +1 -0
- package/dist/types/src/cli/commands/profile/index.d.ts +19 -0
- package/dist/types/src/cli/commands/profile/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/profile/inspect.d.ts +13 -0
- package/dist/types/src/cli/commands/profile/inspect.d.ts.map +1 -0
- package/dist/types/src/cli/commands/profile/list.d.ts +6 -0
- package/dist/types/src/cli/commands/profile/list.d.ts.map +1 -0
- package/dist/types/src/cli/commands/profile/reset.d.ts +8 -0
- package/dist/types/src/cli/commands/profile/reset.d.ts.map +1 -0
- package/dist/types/src/cli/commands/profile/util.d.ts +24 -0
- package/dist/types/src/cli/commands/profile/util.d.ts.map +1 -0
- package/dist/types/src/cli/index.d.ts +2 -0
- package/dist/types/src/cli/index.d.ts.map +1 -0
- package/dist/types/src/cli/plugin.d.ts +4 -0
- package/dist/types/src/cli/plugin.d.ts.map +1 -0
- package/dist/types/src/cli/testing/test-console.d.ts +37 -0
- package/dist/types/src/cli/testing/test-console.d.ts.map +1 -0
- package/dist/types/src/components/DevicesContainer.d.ts.map +1 -1
- package/dist/types/src/components/DevicesContainer.stories.d.ts +2 -48
- package/dist/types/src/components/DevicesContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/JoinDialog.d.ts +0 -1
- package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
- package/dist/types/src/components/ProfileContainer.d.ts.map +1 -1
- package/dist/types/src/components/ProfileContainer.stories.d.ts +1 -47
- package/dist/types/src/components/ProfileContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/RecoveryCodeDialog.d.ts +0 -1
- package/dist/types/src/components/RecoveryCodeDialog.d.ts.map +1 -1
- package/dist/types/src/components/RecoveryCodeDialog.stories.d.ts +1 -47
- package/dist/types/src/components/RecoveryCodeDialog.stories.d.ts.map +1 -1
- package/dist/types/src/components/RecoveryCredentialsContainer.d.ts.map +1 -1
- package/dist/types/src/components/RecoveryCredentialsContainer.stories.d.ts +1 -47
- package/dist/types/src/components/RecoveryCredentialsContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/ResetDialog.d.ts +5 -3
- package/dist/types/src/components/ResetDialog.d.ts.map +1 -1
- package/dist/types/src/components/ResetDialog.stories.d.ts +3 -49
- package/dist/types/src/components/ResetDialog.stories.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/index.d.ts +1 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +2 -2
- package/dist/types/src/meta.d.ts.map +1 -1
- 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 +10 -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 +2 -0
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/schema.d.ts +163 -9
- package/dist/types/src/types/schema.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +52 -37
- package/src/ClientPlugin.ts +35 -53
- package/src/capabilities/app-graph-builder/app-graph-builder.ts +95 -0
- package/src/capabilities/app-graph-builder/index.ts +7 -0
- package/src/capabilities/client/client.ts +75 -0
- package/src/capabilities/client/index.ts +7 -0
- package/src/capabilities/index.ts +7 -11
- package/src/capabilities/migrations/index.ts +7 -0
- package/src/capabilities/migrations/migrations.ts +30 -0
- package/src/capabilities/operation-resolver/index.ts +7 -0
- package/src/capabilities/operation-resolver/operation-resolver.ts +248 -0
- package/src/capabilities/react-context/index.ts +7 -0
- package/src/capabilities/react-context/react-context.tsx +25 -0
- package/src/capabilities/react-surface/index.ts +7 -0
- package/src/capabilities/react-surface/react-surface.tsx +74 -0
- package/src/capabilities/schema-defs/index.ts +7 -0
- package/src/capabilities/schema-defs/schema-defs.ts +35 -0
- package/src/cli/commands/config/index.ts +12 -0
- package/src/cli/commands/config/view.ts +26 -0
- package/src/cli/commands/device/index.ts +14 -0
- package/src/cli/commands/device/info/index.ts +5 -0
- package/src/cli/commands/device/info/info.test.ts +29 -0
- package/src/cli/commands/device/info/info.ts +50 -0
- package/src/cli/commands/device/list/index.ts +5 -0
- package/src/cli/commands/device/list/list.test.ts +31 -0
- package/src/cli/commands/device/list/list.ts +30 -0
- package/src/cli/commands/device/update/index.ts +5 -0
- package/src/cli/commands/device/update/update.ts +70 -0
- package/src/cli/commands/device/util.ts +55 -0
- package/src/cli/commands/edge/index.ts +12 -0
- package/src/cli/commands/edge/status.ts +45 -0
- package/src/cli/commands/halo/create/create.test.ts +52 -0
- package/src/cli/commands/halo/create/create.ts +75 -0
- package/src/cli/commands/halo/create/index.ts +5 -0
- package/src/cli/commands/halo/credential/add/add.ts +97 -0
- package/src/cli/commands/halo/credential/add/index.ts +5 -0
- package/src/cli/commands/halo/credential/index.ts +13 -0
- package/src/cli/commands/halo/credential/list/index.ts +5 -0
- package/src/cli/commands/halo/credential/list/list.test.ts +28 -0
- package/src/cli/commands/halo/credential/list/list.ts +118 -0
- package/src/cli/commands/halo/identity/identity.test.ts +40 -0
- package/src/cli/commands/halo/identity/identity.ts +46 -0
- package/src/cli/commands/halo/identity/index.ts +5 -0
- package/src/cli/commands/halo/index.ts +21 -0
- package/src/cli/commands/halo/join/index.ts +5 -0
- package/src/cli/commands/halo/join/join.test.ts +10 -0
- package/src/cli/commands/halo/join/join.ts +87 -0
- package/src/cli/commands/halo/keys/index.ts +5 -0
- package/src/cli/commands/halo/keys/keys.test.ts +29 -0
- package/src/cli/commands/halo/keys/keys.ts +42 -0
- package/src/cli/commands/halo/recover/index.ts +5 -0
- package/src/cli/commands/halo/recover/recover.test.ts +10 -0
- package/src/cli/commands/halo/recover/recover.ts +44 -0
- package/src/cli/commands/halo/seed/index.ts +5 -0
- package/src/cli/commands/halo/seed/seed.ts +38 -0
- package/src/cli/commands/halo/share/index.ts +5 -0
- package/src/cli/commands/halo/share/share.ts +97 -0
- package/src/cli/commands/halo/update/index.ts +5 -0
- package/src/cli/commands/halo/update/update.test.ts +29 -0
- package/src/cli/commands/halo/update/update.ts +69 -0
- package/src/cli/commands/halo/util.ts +18 -0
- package/src/cli/commands/index.ts +9 -0
- package/src/cli/commands/profile/create.ts +87 -0
- package/src/cli/commands/profile/delete.ts +33 -0
- package/src/cli/commands/profile/import.ts +101 -0
- package/src/cli/commands/profile/index.ts +17 -0
- package/src/cli/commands/profile/inspect.ts +64 -0
- package/src/cli/commands/profile/list.ts +54 -0
- package/src/cli/commands/profile/reset.ts +45 -0
- package/src/cli/commands/profile/util.ts +48 -0
- package/src/cli/index.ts +5 -0
- package/src/cli/plugin.ts +33 -0
- package/src/cli/testing/test-console.ts +88 -0
- package/src/components/DevicesContainer.stories.tsx +7 -5
- package/src/components/DevicesContainer.tsx +13 -11
- package/src/components/JoinDialog.tsx +13 -15
- package/src/components/ProfileContainer.tsx +48 -34
- package/src/components/RecoveryCodeDialog.tsx +3 -5
- package/src/components/RecoveryCredentialsContainer.stories.tsx +7 -5
- package/src/components/RecoveryCredentialsContainer.tsx +6 -8
- package/src/components/ResetDialog.stories.tsx +17 -9
- package/src/components/ResetDialog.tsx +17 -16
- package/src/constants.ts +9 -0
- package/src/index.ts +1 -2
- package/src/meta.ts +2 -2
- package/src/translations.ts +5 -2
- package/src/types/capabilities.ts +16 -0
- package/src/types/events.ts +15 -0
- package/src/types/index.ts +2 -0
- package/src/types/schema.ts +120 -7
- package/dist/lib/browser/app-graph-builder-KCCH45OW.mjs +0 -124
- package/dist/lib/browser/app-graph-builder-KCCH45OW.mjs.map +0 -7
- package/dist/lib/browser/chunk-4LRO3Y2O.mjs +0 -19
- package/dist/lib/browser/chunk-4LRO3Y2O.mjs.map +0 -7
- package/dist/lib/browser/chunk-N5UR2HOE.mjs +0 -18
- package/dist/lib/browser/chunk-N5UR2HOE.mjs.map +0 -7
- package/dist/lib/browser/chunk-RDIG75CA.mjs +0 -110
- package/dist/lib/browser/chunk-RDIG75CA.mjs.map +0 -7
- package/dist/lib/browser/chunk-SCNW6KMG.mjs +0 -686
- package/dist/lib/browser/chunk-SCNW6KMG.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZRVMXLDR.mjs +0 -15
- package/dist/lib/browser/chunk-ZRVMXLDR.mjs.map +0 -7
- package/dist/lib/browser/client-O7U3MQ6J.mjs +0 -43
- package/dist/lib/browser/client-O7U3MQ6J.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-SPZU2X4O.mjs +0 -305
- package/dist/lib/browser/intent-resolver-SPZU2X4O.mjs.map +0 -7
- package/dist/lib/browser/migrations-FQYDKKYO.mjs +0 -23
- package/dist/lib/browser/migrations-FQYDKKYO.mjs.map +0 -7
- package/dist/lib/browser/react-context-QCKETSRF.mjs +0 -24
- package/dist/lib/browser/react-context-QCKETSRF.mjs.map +0 -7
- package/dist/lib/browser/react-surface-SLGNIGL6.mjs +0 -66
- package/dist/lib/browser/react-surface-SLGNIGL6.mjs.map +0 -7
- package/dist/lib/browser/schema-defs-SPPWTZRH.mjs +0 -25
- package/dist/lib/browser/schema-defs-SPPWTZRH.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-B5IOYV4W.mjs +0 -125
- package/dist/lib/node-esm/app-graph-builder-B5IOYV4W.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-6ANOJ7ZM.mjs +0 -19
- package/dist/lib/node-esm/chunk-6ANOJ7ZM.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-7M7VWQJW.mjs +0 -20
- package/dist/lib/node-esm/chunk-7M7VWQJW.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-QT3EQXDU.mjs +0 -17
- package/dist/lib/node-esm/chunk-QT3EQXDU.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-RHMYXMKB.mjs +0 -687
- package/dist/lib/node-esm/chunk-RHMYXMKB.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-VENKFPBC.mjs +0 -111
- package/dist/lib/node-esm/chunk-VENKFPBC.mjs.map +0 -7
- package/dist/lib/node-esm/client-6MTNT7M6.mjs +0 -44
- package/dist/lib/node-esm/client-6MTNT7M6.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-4HEQTR5X.mjs +0 -306
- package/dist/lib/node-esm/intent-resolver-4HEQTR5X.mjs.map +0 -7
- package/dist/lib/node-esm/migrations-2D5ENOAB.mjs +0 -24
- package/dist/lib/node-esm/migrations-2D5ENOAB.mjs.map +0 -7
- package/dist/lib/node-esm/react-context-ZVUDFBCH.mjs +0 -25
- package/dist/lib/node-esm/react-context-ZVUDFBCH.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-FFOAE7HL.mjs +0 -67
- package/dist/lib/node-esm/react-surface-FFOAE7HL.mjs.map +0 -7
- package/dist/lib/node-esm/schema-defs-FIV7SETB.mjs +0 -26
- package/dist/lib/node-esm/schema-defs-FIV7SETB.mjs.map +0 -7
- package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
- package/dist/types/src/capabilities/capabilities.d.ts +0 -9
- package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
- package/dist/types/src/capabilities/client.d.ts +0 -9
- package/dist/types/src/capabilities/client.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/capabilities/migrations.d.ts +0 -4
- package/dist/types/src/capabilities/migrations.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-context.d.ts +0 -8
- package/dist/types/src/capabilities/react-context.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-surface.d.ts +0 -8
- package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
- package/dist/types/src/capabilities/schema-defs.d.ts +0 -4
- package/dist/types/src/capabilities/schema-defs.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/src/capabilities/app-graph-builder.ts +0 -115
- package/src/capabilities/capabilities.ts +0 -18
- package/src/capabilities/client.ts +0 -43
- package/src/capabilities/intent-resolver.ts +0 -251
- package/src/capabilities/migrations.ts +0 -25
- package/src/capabilities/react-context.tsx +0 -21
- package/src/capabilities/react-surface.tsx +0 -67
- package/src/capabilities/schema-defs.ts +0 -29
- package/src/events.ts +0 -15
|
@@ -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 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, Icon, 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 { AuthCode, Centered, DeviceListItem, Emoji, Viewport } from '@dxos/shell/react';\nimport { hexToEmoji } from '@dxos/util';\n\nimport { meta } 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 <ControlPage>\n <ControlSection\n title={t('devices verbose label', { ns: meta.id })}\n description={t('devices description', { ns: meta.id })}\n >\n <ControlFrame>\n <ControlFrameItem title={t('devices label', { ns: meta.id })}>\n <List>\n {devices.map((device: Device) => {\n return (\n <DeviceListItem key={device.deviceKey.toHex()} device={device} connectionState={connectionState} />\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: meta.id })}\n description={t('danger zone description', { ns: meta.id })}\n >\n <ControlGroup>\n <ControlItem title={t('reset device label')} description={t('reset device description', { ns: meta.id })}>\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: meta.id })}\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: meta.id })}\n >\n <Button variant='destructive' onClick={handleJoinNewIdentity} data-testid='devicesContainer.joinExisting'>\n {t('join new identity label')}\n </Button>\n </ControlItem>\n </ControlGroup>\n </ControlSection>\n </ControlPage>\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(meta.id);\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: meta.id })}</p>\n <div role='group' className='grid grid-cols-[1fr_min-content] mlb-2 gap-2'>\n <div role='none' className='is-full aspect-square relative text-description'>\n <QR\n rounding={100}\n backgroundColor='transparent'\n color='currentColor'\n aria-labelledby={qrLabel}\n errorCorrectionLevel='Q'\n cutout={true}\n >\n {url ?? 'never'}\n </QR>\n <Centered>\n <Emoji text={emoji} />\n </Centered>\n </div>\n <span id={qrLabel} className='sr-only'>\n {t('qr label')}\n </span>\n </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 ? (\n <Icon icon='ph--check--regular' size={6} classNames='m-1.5' />\n ) : (\n <Icon icon='ph--x--regular' size={6} classNames='m-1.5' />\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { LayoutAction, createIntent, 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 { meta } from '../meta';\nimport { ClientAction } from '../types';\n\nexport const JOIN_DIALOG = `${meta.id}/JoinDialog`;\n\nexport const JoinDialog = (props: JoinPanelProps) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const { t } = useTranslation(meta.id);\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 * as Schema from 'effect/Schema';\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 ControlItem,\n ControlItemInput,\n ControlPage,\n ControlSection,\n Form,\n type InputComponent,\n} from '@dxos/react-ui-form';\nimport { EmojiPickerBlock, HuePicker } from '@dxos/react-ui-pickers';\nimport { hexToEmoji, hexToHue } from '@dxos/util';\n\nimport { meta } 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(meta.id);\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 void 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 <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]'\n outerSpacing={false}\n />\n </ControlSection>\n </Clipboard.Provider>\n </ControlPage>\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 { meta } from '../meta';\n\nexport const RECOVERY_CODE_DIALOG = `${meta.id}/RecoveryCodeDialog`;\n\nexport type RecoveryCodeDialogProps = {\n code: string;\n};\n\nexport const RecoveryCodeDialog = ({ code }: RecoveryCodeDialogProps) => {\n const { t } = useTranslation(meta.id);\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, Message, useTranslation } from '@dxos/react-ui';\nimport { ControlGroup, ControlItem, ControlPage, ControlSection } from '@dxos/react-ui-form';\n\nimport { meta } from '../meta';\nimport { ClientAction } from '../types';\n\nexport const MANAGE_CREDENTIALS_DIALOG = `${meta.id}/ManageCredentialsDialog`;\n\nexport const RecoveryCredentialsContainer = () => {\n const { t } = useTranslation(meta.id);\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 <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 );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { LayoutAction, createIntent, 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 { meta } from '../meta';\nimport { type ClientPluginOptions } from '../types';\n\nexport const RESET_DIALOG = `${meta.id}/ResetDialog`;\n\nexport type ResetDialogProps = Pick<ConfirmResetProps, 'mode'> & Pick<ClientPluginOptions, 'onReset'>;\n\nexport const ResetDialog = ({ mode, onReset }: ResetDialogProps) => {\n const { t } = useTranslation(meta.id);\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": ["React", "useCallback", "useEffect", "useState", "QR", "createIntent", "useIntentDispatcher", "log", "useClient", "useMulticastObservable", "useDevices", "Invitation", "InvitationEncoder", "useNetworkStatus", "Button", "Clipboard", "Icon", "IconButton", "List", "useId", "useTranslation", "ControlFrame", "ControlFrameItem", "ControlGroup", "ControlItem", "ControlPage", "ControlSection", "AuthCode", "Centered", "DeviceListItem", "Emoji", "Viewport", "hexToEmoji", "DevicesContainer", "createInvitationUrl", "t", "useTranslation", "dispatchPromise", "dispatch", "useIntentDispatcher", "devices", "useDevices", "swarm", "connectionState", "useNetworkStatus", "handleResetStorage", "useCallback", "createIntent", "ClientAction", "ResetStorage", "handleRecover", "mode", "handleJoinNewIdentity", "Clipboard", "Provider", "ControlPage", "ControlSection", "title", "ns", "meta", "id", "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", "classNames", "Viewport", "Root", "Views", "View", "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", "Icon", "size", "React", "useCallback", "LayoutAction", "createIntent", "useIntentDispatcher", "ObservabilityAction", "Dialog", "useTranslation", "JoinPanel", "JOIN_DIALOG", "meta", "id", "JoinDialog", "props", "dispatchPromise", "dispatch", "useIntentDispatcher", "t", "useTranslation", "handleCancelResetStorage", "useCallback", "createIntent", "ClientAction", "ShareIdentity", "handleDone", "result", "identityKey", "Promise", "all", "LayoutAction", "UpdateDialog", "part", "options", "state", "ObservabilityAction", "SendEvent", "name", "initialDisposition", "React", "Dialog", "Content", "Title", "classNames", "ns", "JoinPanel", "mode", "exitActionParent", "Close", "asChild", "doneActionParent", "onCancelResetStorage", "onDone", "Schema", "React", "useCallback", "useMemo", "useState", "debounce", "useClient", "useIdentity", "ButtonGroup", "Clipboard", "Input", "useTranslation", "ControlItem", "ControlItemInput", "ControlPage", "ControlSection", "Form", "EmojiPickerBlock", "HuePicker", "hexToEmoji", "hexToHue", "getDefaultHueValue", "identity", "hexToHue", "identityKey", "toHex", "getDefaultEmojiValue", "hexToEmoji", "getHueValue", "profile", "data", "hue", "getEmojiValue", "emoji", "ProfileContainer", "t", "useTranslation", "meta", "id", "client", "useClient", "useIdentity", "displayName", "setDisplayNameDirectly", "useState", "setEmojiDirectly", "setHueDirectly", "updateProfile", "useMemo", "debounce", "halo", "handleSave", "useCallback", "values", "did", "customElements", "type", "label", "getValue", "onValueChange", "handleChange", "target", "value", "React", "ControlItemInput", "title", "description", "Input", "TextInput", "onChange", "placeholder", "classNames", "nextEmoji", "handleEmojiReset", "ControlItem", "EmojiPickerBlock", "triggerVariant", "onChangeEmoji", "onClickClear", "nextHue", "handleHueReset", "HuePicker", "onReset", "ButtonGroup", "disabled", "Clipboard", "IconButton", "ControlPage", "Provider", "ControlSection", "Form", "schema", "ProfileSchema", "autoSave", "onSave", "Custom", "outerSpacing", "Struct", "String", "annotations", "React", "useCallback", "useState", "AlertDialog", "Button", "Clipboard", "Input", "useTranslation", "RECOVERY_CODE_DIALOG", "meta", "id", "RecoveryCodeDialog", "code", "t", "useTranslation", "confirmation", "setConfirmation", "useState", "handleConfirmation", "useCallback", "checked", "React", "AlertDialog", "Content", "classNames", "Title", "p", "className", "Clipboard", "Provider", "Code", "div", "Input", "Root", "Checkbox", "data-testid", "onCheckedChange", "Label", "Action", "asChild", "Button", "variant", "disabled", "words", "split", "IconButton", "value", "map", "word", "i", "key", "React", "createIntent", "useIntentDispatcher", "useCredentials", "Icon", "IconButton", "List", "ListItem", "Message", "useTranslation", "ControlGroup", "ControlItem", "ControlPage", "ControlSection", "MANAGE_CREDENTIALS_DIALOG", "meta", "id", "RecoveryCredentialsContainer", "t", "useTranslation", "dispatchPromise", "dispatch", "useIntentDispatcher", "credentials", "useCredentials", "recoveryCredentials", "filter", "credential", "subject", "assertion", "React", "ControlPage", "ControlSection", "title", "description", "ControlGroup", "ControlItem", "IconButton", "label", "icon", "variant", "size", "onClick", "createIntent", "ClientAction", "CreatePasskey", "CreateRecoveryCode", "length", "Message", "Root", "valence", "classNames", "Title", "Content", "List", "map", "ListItem", "key", "toHex", "Endcap", "Icon", "Heading", "issuanceDate", "toLocaleString", "React", "useCallback", "LayoutAction", "createIntent", "useIntentDispatcher", "useClient", "Dialog", "useTranslation", "ConfirmReset", "RESET_DIALOG", "meta", "id", "ResetDialog", "mode", "onReset", "t", "useTranslation", "dispatchPromise", "dispatch", "useIntentDispatcher", "client", "useClient", "handleReset", "useCallback", "reset", "target", "undefined", "handleCancel", "createIntent", "LayoutAction", "UpdateDialog", "part", "options", "state", "React", "Dialog", "Content", "classNames", "Title", "Description", "ConfirmReset", "active", "onConfirm", "onCancel"]
|
|
7
|
-
}
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
meta
|
|
4
|
-
} from "./chunk-QT3EQXDU.mjs";
|
|
5
|
-
|
|
6
|
-
// src/types/schema.ts
|
|
7
|
-
import * as Schema from "effect/Schema";
|
|
8
|
-
import { PublicKey } from "@dxos/react-client";
|
|
9
|
-
var IdentitySchema = Schema.Struct({
|
|
10
|
-
identityKey: Schema.instanceOf(PublicKey),
|
|
11
|
-
spaceKey: Schema.optional(Schema.instanceOf(PublicKey)),
|
|
12
|
-
profile: Schema.optional(Schema.Struct({
|
|
13
|
-
displayName: Schema.optional(Schema.String),
|
|
14
|
-
avatarCid: Schema.optional(Schema.String),
|
|
15
|
-
data: Schema.optional(Schema.Record({
|
|
16
|
-
key: Schema.String,
|
|
17
|
-
value: Schema.Any
|
|
18
|
-
}))
|
|
19
|
-
}))
|
|
20
|
-
});
|
|
21
|
-
(function(ClientAction2) {
|
|
22
|
-
const ProfileSchema = Schema.Struct({
|
|
23
|
-
displayName: Schema.optional(Schema.String),
|
|
24
|
-
avatarCid: Schema.optional(Schema.String),
|
|
25
|
-
data: Schema.optional(Schema.Record({
|
|
26
|
-
key: Schema.String,
|
|
27
|
-
value: Schema.Any
|
|
28
|
-
}))
|
|
29
|
-
});
|
|
30
|
-
class CreateIdentity extends Schema.TaggedClass()(`${meta.id}/action/create-identity`, {
|
|
31
|
-
input: ProfileSchema,
|
|
32
|
-
output: IdentitySchema
|
|
33
|
-
}) {
|
|
34
|
-
}
|
|
35
|
-
ClientAction2.CreateIdentity = CreateIdentity;
|
|
36
|
-
class JoinIdentity extends Schema.TaggedClass()(`${meta.id}/action/join-identity`, {
|
|
37
|
-
input: Schema.Struct({
|
|
38
|
-
invitationCode: Schema.optional(Schema.String)
|
|
39
|
-
}),
|
|
40
|
-
output: Schema.Void
|
|
41
|
-
}) {
|
|
42
|
-
}
|
|
43
|
-
ClientAction2.JoinIdentity = JoinIdentity;
|
|
44
|
-
class ShareIdentity extends Schema.TaggedClass()(`${meta.id}/action/share-identity`, {
|
|
45
|
-
input: Schema.Void,
|
|
46
|
-
output: Schema.Void
|
|
47
|
-
}) {
|
|
48
|
-
}
|
|
49
|
-
ClientAction2.ShareIdentity = ShareIdentity;
|
|
50
|
-
class RecoverIdentity extends Schema.TaggedClass()(`${meta.id}/action/recover-identity`, {
|
|
51
|
-
input: Schema.Void,
|
|
52
|
-
output: Schema.Void
|
|
53
|
-
}) {
|
|
54
|
-
}
|
|
55
|
-
ClientAction2.RecoverIdentity = RecoverIdentity;
|
|
56
|
-
class ResetStorage extends Schema.TaggedClass()(`${meta.id}/action/reset-storage`, {
|
|
57
|
-
input: Schema.Struct({
|
|
58
|
-
mode: Schema.optional(Schema.String)
|
|
59
|
-
}),
|
|
60
|
-
output: Schema.Void
|
|
61
|
-
}) {
|
|
62
|
-
}
|
|
63
|
-
ClientAction2.ResetStorage = ResetStorage;
|
|
64
|
-
class CreateAgent extends Schema.TaggedClass()(`${meta.id}/action/create-agent`, {
|
|
65
|
-
input: Schema.Void,
|
|
66
|
-
output: Schema.Void
|
|
67
|
-
}) {
|
|
68
|
-
}
|
|
69
|
-
ClientAction2.CreateAgent = CreateAgent;
|
|
70
|
-
class CreateRecoveryCode extends Schema.TaggedClass()(`${meta.id}/action/create-recovery-code`, {
|
|
71
|
-
input: Schema.Void,
|
|
72
|
-
output: Schema.Void
|
|
73
|
-
}) {
|
|
74
|
-
}
|
|
75
|
-
ClientAction2.CreateRecoveryCode = CreateRecoveryCode;
|
|
76
|
-
class CreatePasskey extends Schema.TaggedClass()(`${meta.id}/action/create-passkey`, {
|
|
77
|
-
input: Schema.Void,
|
|
78
|
-
output: Schema.Void
|
|
79
|
-
}) {
|
|
80
|
-
}
|
|
81
|
-
ClientAction2.CreatePasskey = CreatePasskey;
|
|
82
|
-
class RedeemPasskey extends Schema.TaggedClass()(`${meta.id}/action/redeem-passkey`, {
|
|
83
|
-
input: Schema.Void,
|
|
84
|
-
output: Schema.Void
|
|
85
|
-
}) {
|
|
86
|
-
}
|
|
87
|
-
ClientAction2.RedeemPasskey = RedeemPasskey;
|
|
88
|
-
class RedeemToken extends Schema.TaggedClass()(`${meta.id}/action/redeem-token`, {
|
|
89
|
-
input: Schema.Struct({
|
|
90
|
-
token: Schema.String
|
|
91
|
-
}),
|
|
92
|
-
output: Schema.Void
|
|
93
|
-
}) {
|
|
94
|
-
}
|
|
95
|
-
ClientAction2.RedeemToken = RedeemToken;
|
|
96
|
-
})(ClientAction || (ClientAction = {}));
|
|
97
|
-
(function(Account2) {
|
|
98
|
-
const _id = "dxos.org.plugin.client.account";
|
|
99
|
-
Account2.id = `!${_id}`;
|
|
100
|
-
Account2.Profile = `${_id}.profile`;
|
|
101
|
-
Account2.Devices = `${_id}.devices`;
|
|
102
|
-
Account2.Security = `${_id}.security`;
|
|
103
|
-
})(Account || (Account = {}));
|
|
104
|
-
var ClientAction;
|
|
105
|
-
var Account;
|
|
106
|
-
|
|
107
|
-
export {
|
|
108
|
-
ClientAction,
|
|
109
|
-
Account
|
|
110
|
-
};
|
|
111
|
-
//# sourceMappingURL=chunk-VENKFPBC.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/types/schema.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { type PluginContext } from '@dxos/app-framework';\nimport { type Client, type ClientOptions, PublicKey } from '@dxos/react-client';\nimport { type MaybePromise } from '@dxos/util';\n\nimport { meta } 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\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>()(`${meta.id}/action/create-identity`, {\n input: ProfileSchema,\n output: IdentitySchema,\n }) {}\n\n export class JoinIdentity extends Schema.TaggedClass<JoinIdentity>()(`${meta.id}/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>()(`${meta.id}/action/share-identity`, {\n input: Schema.Void,\n output: Schema.Void,\n }) {}\n\n export class RecoverIdentity extends Schema.TaggedClass<RecoverIdentity>()(`${meta.id}/action/recover-identity`, {\n input: Schema.Void,\n output: Schema.Void,\n }) {}\n\n export class ResetStorage extends Schema.TaggedClass<ResetStorage>()(`${meta.id}/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>()(`${meta.id}/action/create-agent`, {\n input: Schema.Void,\n output: Schema.Void,\n }) {}\n\n export class CreateRecoveryCode extends Schema.TaggedClass<CreateRecoveryCode>()(\n `${meta.id}/action/create-recovery-code`,\n {\n input: Schema.Void,\n output: Schema.Void,\n },\n ) {}\n\n export class CreatePasskey extends Schema.TaggedClass<CreatePasskey>()(`${meta.id}/action/create-passkey`, {\n input: Schema.Void,\n output: Schema.Void,\n }) {}\n\n export class RedeemPasskey extends Schema.TaggedClass<RedeemPasskey>()(`${meta.id}/action/redeem-passkey`, {\n input: Schema.Void,\n output: Schema.Void,\n }) {}\n\n export class RedeemToken extends Schema.TaggedClass<RedeemToken>()(`${meta.id}/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?: (params: { context: PluginContext; client: Client }) => MaybePromise<void>;\n\n /**\n * Called when spaces are ready.\n */\n onSpacesReady?: (params: { 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": ";;;;;;AAIA,YAAYA,YAAY;AAGxB,SAA0CC,iBAAiB;AAM3D,IAAMC,iBAAwBC,cAAO;EACnCC,aAAoBC,kBAAWC,SAAAA;EAC/BC,UAAiBC,gBAAgBH,kBAAWC,SAAAA,CAAAA;EAC5CG,SAAgBD,gBACPL,cAAO;IACZO,aAAoBF,gBAAgBG,aAAM;IAC1CC,WAAkBJ,gBAAgBG,aAAM;IACxCE,MAAaL,gBAAgBM,cAAO;MAAEC,KAAYJ;MAAQK,OAAcC;IAAI,CAAA,CAAA;EAC9E,CAAA,CAAA;AAEJ,CAAA;UAEiBC,eAAAA;AACf,QAAMC,gBAAuBhB,cAAO;IAClCO,aAAoBF,gBAAgBG,aAAM;IAC1CC,WAAkBJ,gBAAgBG,aAAM;IACxCE,MAAaL,gBAAgBM,cAAO;MAAEC,KAAYJ;MAAQK,OAAcC;IAAI,CAAA,CAAA;EAC9E,CAAA;EAEO,MAAMG,uBAA8BC,mBAAW,EAAmB,GAAGC,KAAKC,EAAE,2BAA2B;IAC5GC,OAAOL;IACPM,QAAQvB;EACV,CAAA,EAAA;EAAI;gBAHSkB,iBAAAA;EAKN,MAAMM,qBAA4BL,mBAAW,EAAiB,GAAGC,KAAKC,EAAE,yBAAyB;IACtGC,OAAcrB,cAAO;MACnBwB,gBAAuBnB,gBAAgBG,aAAM;IAC/C,CAAA;IACAc,QAAeG;EACjB,CAAA,EAAA;EAAI;gBALSF,eAAAA;EAON,MAAMG,sBAA6BR,mBAAW,EAAkB,GAAGC,KAAKC,EAAE,0BAA0B;IACzGC,OAAcI;IACdH,QAAeG;EACjB,CAAA,EAAA;EAAI;gBAHSC,gBAAAA;EAKN,MAAMC,wBAA+BT,mBAAW,EAAoB,GAAGC,KAAKC,EAAE,4BAA4B;IAC/GC,OAAcI;IACdH,QAAeG;EACjB,CAAA,EAAA;EAAI;gBAHSE,kBAAAA;EAKN,MAAMC,qBAA4BV,mBAAW,EAAiB,GAAGC,KAAKC,EAAE,yBAAyB;IACtGC,OAAcrB,cAAO;MACnB6B,MAAaxB,gBAAgBG,aAAM;IACrC,CAAA;IACAc,QAAeG;EACjB,CAAA,EAAA;EAAI;gBALSG,eAAAA;EAON,MAAME,oBAA2BZ,mBAAW,EAAgB,GAAGC,KAAKC,EAAE,wBAAwB;IACnGC,OAAcI;IACdH,QAAeG;EACjB,CAAA,EAAA;EAAI;gBAHSK,cAAAA;EAKN,MAAMC,2BAAkCb,mBAAW,EACxD,GAAGC,KAAKC,EAAE,gCACV;IACEC,OAAcI;IACdH,QAAeG;EACjB,CAAA,EAAA;EACC;gBANUM,qBAAAA;EAQN,MAAMC,sBAA6Bd,mBAAW,EAAkB,GAAGC,KAAKC,EAAE,0BAA0B;IACzGC,OAAcI;IACdH,QAAeG;EACjB,CAAA,EAAA;EAAI;gBAHSO,gBAAAA;EAKN,MAAMC,sBAA6Bf,mBAAW,EAAkB,GAAGC,KAAKC,EAAE,0BAA0B;IACzGC,OAAcI;IACdH,QAAeG;EACjB,CAAA,EAAA;EAAI;gBAHSQ,gBAAAA;EAKN,MAAMC,oBAA2BhB,mBAAW,EAAgB,GAAGC,KAAKC,EAAE,wBAAwB;IACnGC,OAAcrB,cAAO;MACnBmC,OAAc3B;IAChB,CAAA;IACAc,QAAeG;EACjB,CAAA,EAAA;EAAI;gBALSS,cAAAA;AAMf,GAjEiBnB,iBAAAA,eAAAA,CAAAA,EAAAA;UA8FAqB,UAAAA;AAEf,QAAMC,MAAM;WAGCjB,KAAK,IAAIiB,GAAAA;WAETC,UAAU,GAAGD,GAAAA;WACbE,UAAU,GAAGF,GAAAA;WACbG,WAAW,GAAGH,GAAAA;AAC7B,GAViBD,YAAAA,UAAAA,CAAAA,EAAAA;;;",
|
|
6
|
-
"names": ["Schema", "PublicKey", "IdentitySchema", "Struct", "identityKey", "instanceOf", "PublicKey", "spaceKey", "optional", "profile", "displayName", "String", "avatarCid", "data", "Record", "key", "value", "Any", "ClientAction", "ProfileSchema", "CreateIdentity", "TaggedClass", "meta", "id", "input", "output", "JoinIdentity", "invitationCode", "Void", "ShareIdentity", "RecoverIdentity", "ResetStorage", "mode", "CreateAgent", "CreateRecoveryCode", "CreatePasskey", "RedeemPasskey", "RedeemToken", "token", "Account", "_id", "Profile", "Devices", "Security"]
|
|
7
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
ClientEvents
|
|
4
|
-
} from "./chunk-7M7VWQJW.mjs";
|
|
5
|
-
import {
|
|
6
|
-
ClientCapabilities
|
|
7
|
-
} from "./chunk-6ANOJ7ZM.mjs";
|
|
8
|
-
import "./chunk-QT3EQXDU.mjs";
|
|
9
|
-
|
|
10
|
-
// src/capabilities/client.ts
|
|
11
|
-
import { contributes } from "@dxos/app-framework";
|
|
12
|
-
import { Client } from "@dxos/react-client";
|
|
13
|
-
var client_default = (async ({ context, onClientInitialized, onSpacesReady, ...options }) => {
|
|
14
|
-
const client = new Client(options);
|
|
15
|
-
await client.initialize();
|
|
16
|
-
await onClientInitialized?.({
|
|
17
|
-
context,
|
|
18
|
-
client
|
|
19
|
-
});
|
|
20
|
-
client.reloaded.on(() => {
|
|
21
|
-
client.halo.identity.subscribe(async (identity) => {
|
|
22
|
-
if (identity) {
|
|
23
|
-
window.location.href = window.location.origin;
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
const subscription = client.spaces.isReady.subscribe(async (ready) => {
|
|
28
|
-
if (ready) {
|
|
29
|
-
await context.activatePromise(ClientEvents.SpacesReady);
|
|
30
|
-
await onSpacesReady?.({
|
|
31
|
-
context,
|
|
32
|
-
client
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
return contributes(ClientCapabilities.Client, client, async () => {
|
|
37
|
-
subscription.unsubscribe();
|
|
38
|
-
await client.destroy();
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
export {
|
|
42
|
-
client_default as default
|
|
43
|
-
};
|
|
44
|
-
//# sourceMappingURL=client-6MTNT7M6.mjs.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 { type PluginContext, contributes } from '@dxos/app-framework';\nimport { Client } from '@dxos/react-client';\n\nimport { ClientEvents } from '../events';\nimport { type ClientPluginOptions } from '../types';\n\nimport { ClientCapabilities } from './capabilities';\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 // TODO(burdon): The callback isn't called?\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,SAA6BA,mBAAmB;AAChD,SAASC,cAAc;AAWvB,IAAA,kBAAe,OAAO,EAAEC,SAASC,qBAAqBC,eAAe,GAAGC,QAAAA,MAAkC;AACxG,QAAMC,SAAS,IAAIC,OAAOF,OAAAA;AAC1B,QAAMC,OAAOE,WAAU;AACvB,QAAML,sBAAsB;IAAED;IAASI;EAAO,CAAA;AAG9CA,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;AAGA,QAAMC,eAAeZ,OAAOa,OAAOC,QAAQP,UAAU,OAAOQ,UAAAA;AAC1D,QAAIA,OAAO;AACT,YAAMnB,QAAQoB,gBAAgBC,aAAaC,WAAW;AACtD,YAAMpB,gBAAgB;QAAEF;QAASI;MAAO,CAAA;IAC1C;EACF,CAAA;AAEA,SAAOmB,YAAYC,mBAAmBnB,QAAQD,QAAQ,YAAA;AACpDY,iBAAaS,YAAW;AACxB,UAAMrB,OAAOsB,QAAO;EACtB,CAAA;AACF;",
|
|
6
|
-
"names": ["contributes", "Client", "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
|
-
}
|
|
@@ -1,306 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
ClientEvents
|
|
4
|
-
} from "./chunk-7M7VWQJW.mjs";
|
|
5
|
-
import {
|
|
6
|
-
ClientCapabilities
|
|
7
|
-
} from "./chunk-6ANOJ7ZM.mjs";
|
|
8
|
-
import {
|
|
9
|
-
JOIN_DIALOG,
|
|
10
|
-
RECOVERY_CODE_DIALOG,
|
|
11
|
-
RESET_DIALOG
|
|
12
|
-
} from "./chunk-RHMYXMKB.mjs";
|
|
13
|
-
import {
|
|
14
|
-
Account,
|
|
15
|
-
ClientAction
|
|
16
|
-
} from "./chunk-VENKFPBC.mjs";
|
|
17
|
-
import "./chunk-QT3EQXDU.mjs";
|
|
18
|
-
|
|
19
|
-
// src/capabilities/intent-resolver.ts
|
|
20
|
-
import * as Function from "effect/Function";
|
|
21
|
-
import { Capabilities, LayoutAction, chain, contributes, createIntent, createResolver } from "@dxos/app-framework";
|
|
22
|
-
import { invariant } from "@dxos/invariant";
|
|
23
|
-
import { ObservabilityAction } from "@dxos/plugin-observability/types";
|
|
24
|
-
import { PublicKey } from "@dxos/react-client";
|
|
25
|
-
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-client/src/capabilities/intent-resolver.ts";
|
|
26
|
-
var RECOVER_IDENTITY_RPC_TIMEOUT = 2e4;
|
|
27
|
-
var intent_resolver_default = (({ context, appName = "Composer" }) => contributes(Capabilities.IntentResolver, [
|
|
28
|
-
createResolver({
|
|
29
|
-
intent: ClientAction.CreateIdentity,
|
|
30
|
-
resolve: async (profile) => {
|
|
31
|
-
const manager = context.getCapability(Capabilities.PluginManager);
|
|
32
|
-
const client = context.getCapability(ClientCapabilities.Client);
|
|
33
|
-
const data = await client.halo.createIdentity(profile);
|
|
34
|
-
await manager.activate(ClientEvents.IdentityCreated);
|
|
35
|
-
return {
|
|
36
|
-
data,
|
|
37
|
-
intents: [
|
|
38
|
-
createIntent(ObservabilityAction.SendEvent, {
|
|
39
|
-
name: "identity.create"
|
|
40
|
-
})
|
|
41
|
-
]
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
}),
|
|
45
|
-
createResolver({
|
|
46
|
-
intent: ClientAction.JoinIdentity,
|
|
47
|
-
resolve: async (data) => {
|
|
48
|
-
return {
|
|
49
|
-
intents: [
|
|
50
|
-
createIntent(LayoutAction.UpdateDialog, {
|
|
51
|
-
part: "dialog",
|
|
52
|
-
subject: JOIN_DIALOG,
|
|
53
|
-
options: {
|
|
54
|
-
blockAlign: "start",
|
|
55
|
-
props: {
|
|
56
|
-
initialInvitationCode: data.invitationCode,
|
|
57
|
-
initialDisposition: "accept-halo-invitation"
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
})
|
|
61
|
-
]
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
}),
|
|
65
|
-
createResolver({
|
|
66
|
-
intent: ClientAction.ShareIdentity,
|
|
67
|
-
resolve: async () => {
|
|
68
|
-
return {
|
|
69
|
-
intents: [
|
|
70
|
-
Function.pipe(createIntent(LayoutAction.SwitchWorkspace, {
|
|
71
|
-
part: "workspace",
|
|
72
|
-
subject: Account.id
|
|
73
|
-
}), chain(LayoutAction.Open, {
|
|
74
|
-
part: "main",
|
|
75
|
-
subject: [
|
|
76
|
-
Account.Profile
|
|
77
|
-
]
|
|
78
|
-
})),
|
|
79
|
-
createIntent(ObservabilityAction.SendEvent, {
|
|
80
|
-
name: "identity.share"
|
|
81
|
-
})
|
|
82
|
-
]
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
}),
|
|
86
|
-
createResolver({
|
|
87
|
-
intent: ClientAction.RecoverIdentity,
|
|
88
|
-
resolve: async () => {
|
|
89
|
-
return {
|
|
90
|
-
intents: [
|
|
91
|
-
createIntent(LayoutAction.UpdateDialog, {
|
|
92
|
-
part: "dialog",
|
|
93
|
-
subject: JOIN_DIALOG,
|
|
94
|
-
options: {
|
|
95
|
-
blockAlign: "start",
|
|
96
|
-
props: {
|
|
97
|
-
initialDisposition: "recover-identity"
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
})
|
|
101
|
-
]
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
}),
|
|
105
|
-
createResolver({
|
|
106
|
-
intent: ClientAction.ResetStorage,
|
|
107
|
-
resolve: async (data) => {
|
|
108
|
-
return {
|
|
109
|
-
intents: [
|
|
110
|
-
createIntent(LayoutAction.UpdateDialog, {
|
|
111
|
-
part: "dialog",
|
|
112
|
-
subject: RESET_DIALOG,
|
|
113
|
-
options: {
|
|
114
|
-
blockAlign: "start",
|
|
115
|
-
props: {
|
|
116
|
-
mode: data.mode ?? "reset storage"
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
})
|
|
120
|
-
]
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
}),
|
|
124
|
-
createResolver({
|
|
125
|
-
intent: ClientAction.CreateAgent,
|
|
126
|
-
resolve: async () => {
|
|
127
|
-
const client = context.getCapability(ClientCapabilities.Client);
|
|
128
|
-
invariant(client.services.services.EdgeAgentService, "Missing EdgeAgentService", {
|
|
129
|
-
F: __dxlog_file,
|
|
130
|
-
L: 137,
|
|
131
|
-
S: void 0,
|
|
132
|
-
A: [
|
|
133
|
-
"client.services.services.EdgeAgentService",
|
|
134
|
-
"'Missing EdgeAgentService'"
|
|
135
|
-
]
|
|
136
|
-
});
|
|
137
|
-
await client.services.services.EdgeAgentService.createAgent(null, {
|
|
138
|
-
timeout: 1e4
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
}),
|
|
142
|
-
createResolver({
|
|
143
|
-
intent: ClientAction.CreateRecoveryCode,
|
|
144
|
-
resolve: async () => {
|
|
145
|
-
const client = context.getCapability(ClientCapabilities.Client);
|
|
146
|
-
invariant(client.services.services.IdentityService, "IdentityService not available", {
|
|
147
|
-
F: __dxlog_file,
|
|
148
|
-
L: 145,
|
|
149
|
-
S: void 0,
|
|
150
|
-
A: [
|
|
151
|
-
"client.services.services.IdentityService",
|
|
152
|
-
"'IdentityService not available'"
|
|
153
|
-
]
|
|
154
|
-
});
|
|
155
|
-
const { recoveryCode } = await client.services.services.IdentityService.createRecoveryCredential({});
|
|
156
|
-
return {
|
|
157
|
-
intents: [
|
|
158
|
-
createIntent(LayoutAction.UpdateDialog, {
|
|
159
|
-
part: "dialog",
|
|
160
|
-
subject: RECOVERY_CODE_DIALOG,
|
|
161
|
-
options: {
|
|
162
|
-
blockAlign: "start",
|
|
163
|
-
type: "alert",
|
|
164
|
-
props: {
|
|
165
|
-
code: recoveryCode
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
})
|
|
169
|
-
]
|
|
170
|
-
};
|
|
171
|
-
}
|
|
172
|
-
}),
|
|
173
|
-
createResolver({
|
|
174
|
-
intent: ClientAction.CreatePasskey,
|
|
175
|
-
resolve: async () => {
|
|
176
|
-
const client = context.getCapability(ClientCapabilities.Client);
|
|
177
|
-
const identity = client.halo.identity.get();
|
|
178
|
-
invariant(identity, "Identity not available", {
|
|
179
|
-
F: __dxlog_file,
|
|
180
|
-
L: 168,
|
|
181
|
-
S: void 0,
|
|
182
|
-
A: [
|
|
183
|
-
"identity",
|
|
184
|
-
"'Identity not available'"
|
|
185
|
-
]
|
|
186
|
-
});
|
|
187
|
-
const lookupKey = PublicKey.random();
|
|
188
|
-
const credential = await navigator.credentials.create({
|
|
189
|
-
publicKey: {
|
|
190
|
-
challenge: new Uint8Array(),
|
|
191
|
-
rp: {
|
|
192
|
-
id: location.hostname,
|
|
193
|
-
name: appName
|
|
194
|
-
},
|
|
195
|
-
user: {
|
|
196
|
-
id: lookupKey.asUint8Array(),
|
|
197
|
-
name: identity.did,
|
|
198
|
-
displayName: identity.profile?.displayName ?? ""
|
|
199
|
-
},
|
|
200
|
-
pubKeyCredParams: [
|
|
201
|
-
{
|
|
202
|
-
type: "public-key",
|
|
203
|
-
alg: -8
|
|
204
|
-
},
|
|
205
|
-
{
|
|
206
|
-
type: "public-key",
|
|
207
|
-
alg: -7
|
|
208
|
-
}
|
|
209
|
-
],
|
|
210
|
-
// https://web.dev/articles/webauthn-discoverable-credentials#resident-key
|
|
211
|
-
authenticatorSelection: {
|
|
212
|
-
residentKey: "required",
|
|
213
|
-
requireResidentKey: true
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
});
|
|
217
|
-
invariant(credential, "Credential not available", {
|
|
218
|
-
F: __dxlog_file,
|
|
219
|
-
L: 193,
|
|
220
|
-
S: void 0,
|
|
221
|
-
A: [
|
|
222
|
-
"credential",
|
|
223
|
-
"'Credential not available'"
|
|
224
|
-
]
|
|
225
|
-
});
|
|
226
|
-
const recoveryKey = PublicKey.from(new Uint8Array(credential.response.getPublicKey()));
|
|
227
|
-
const algorithm = credential.response.getPublicKeyAlgorithm() === -7 ? "ES256" : "ED25519";
|
|
228
|
-
invariant(client.services.services.IdentityService, "IdentityService not available", {
|
|
229
|
-
F: __dxlog_file,
|
|
230
|
-
L: 198,
|
|
231
|
-
S: void 0,
|
|
232
|
-
A: [
|
|
233
|
-
"client.services.services.IdentityService",
|
|
234
|
-
"'IdentityService not available'"
|
|
235
|
-
]
|
|
236
|
-
});
|
|
237
|
-
await client.services.services.IdentityService.createRecoveryCredential({
|
|
238
|
-
data: {
|
|
239
|
-
recoveryKey,
|
|
240
|
-
algorithm,
|
|
241
|
-
lookupKey
|
|
242
|
-
}
|
|
243
|
-
});
|
|
244
|
-
}
|
|
245
|
-
}),
|
|
246
|
-
createResolver({
|
|
247
|
-
intent: ClientAction.RedeemPasskey,
|
|
248
|
-
resolve: async () => {
|
|
249
|
-
const client = context.getCapability(ClientCapabilities.Client);
|
|
250
|
-
invariant(client.services.services.IdentityService, "IdentityService not available", {
|
|
251
|
-
F: __dxlog_file,
|
|
252
|
-
L: 213,
|
|
253
|
-
S: void 0,
|
|
254
|
-
A: [
|
|
255
|
-
"client.services.services.IdentityService",
|
|
256
|
-
"'IdentityService not available'"
|
|
257
|
-
]
|
|
258
|
-
});
|
|
259
|
-
const { deviceKey, controlFeedKey, challenge } = await client.services.services.IdentityService.requestRecoveryChallenge();
|
|
260
|
-
const credential = await navigator.credentials.get({
|
|
261
|
-
publicKey: {
|
|
262
|
-
challenge: Buffer.from(challenge, "base64"),
|
|
263
|
-
rpId: location.hostname,
|
|
264
|
-
userVerification: "required"
|
|
265
|
-
}
|
|
266
|
-
});
|
|
267
|
-
const lookupKey = PublicKey.from(new Uint8Array(credential.response.userHandle));
|
|
268
|
-
await client.services.services.IdentityService.recoverIdentity({
|
|
269
|
-
external: {
|
|
270
|
-
lookupKey,
|
|
271
|
-
deviceKey,
|
|
272
|
-
controlFeedKey,
|
|
273
|
-
signature: Buffer.from(credential.response.signature),
|
|
274
|
-
clientDataJson: Buffer.from(credential.response.clientDataJSON),
|
|
275
|
-
authenticatorData: Buffer.from(credential.response.authenticatorData)
|
|
276
|
-
}
|
|
277
|
-
}, {
|
|
278
|
-
timeout: RECOVER_IDENTITY_RPC_TIMEOUT
|
|
279
|
-
});
|
|
280
|
-
}
|
|
281
|
-
}),
|
|
282
|
-
createResolver({
|
|
283
|
-
intent: ClientAction.RedeemToken,
|
|
284
|
-
resolve: async (data) => {
|
|
285
|
-
const client = context.getCapability(ClientCapabilities.Client);
|
|
286
|
-
invariant(client.services.services.IdentityService, "IdentityService not available", {
|
|
287
|
-
F: __dxlog_file,
|
|
288
|
-
L: 244,
|
|
289
|
-
S: void 0,
|
|
290
|
-
A: [
|
|
291
|
-
"client.services.services.IdentityService",
|
|
292
|
-
"'IdentityService not available'"
|
|
293
|
-
]
|
|
294
|
-
});
|
|
295
|
-
await client.services.services.IdentityService.recoverIdentity({
|
|
296
|
-
token: data.token
|
|
297
|
-
}, {
|
|
298
|
-
timeout: RECOVER_IDENTITY_RPC_TIMEOUT
|
|
299
|
-
});
|
|
300
|
-
}
|
|
301
|
-
})
|
|
302
|
-
]));
|
|
303
|
-
export {
|
|
304
|
-
intent_resolver_default as default
|
|
305
|
-
};
|
|
306
|
-
//# sourceMappingURL=intent-resolver-4HEQTR5X.mjs.map
|