@dxos/plugin-client 0.10.0 → 0.11.1
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/ClientPlugin.mjs +65 -0
- package/dist/lib/ClientPlugin.mjs.map +1 -0
- package/dist/lib/ClientPlugin.node.mjs +904 -0
- package/dist/lib/ClientPlugin.node.mjs.map +1 -0
- package/dist/lib/ClientPlugin.workerd.mjs +10 -0
- package/dist/lib/ClientPlugin.workerd.mjs.map +1 -0
- package/dist/lib/capabilities/node.mjs +13 -0
- package/dist/lib/capabilities/node.mjs.map +1 -0
- package/dist/lib/capabilities.mjs +23 -0
- package/dist/lib/capabilities.mjs.map +1 -0
- package/dist/lib/chunk-AccountContainer.mjs +190 -0
- package/dist/lib/chunk-AccountContainer.mjs.map +1 -0
- package/dist/lib/chunk-DevicesContainer.mjs +275 -0
- package/dist/lib/chunk-DevicesContainer.mjs.map +1 -0
- package/dist/lib/chunk-InvitationsContainer.mjs +149 -0
- package/dist/lib/chunk-InvitationsContainer.mjs.map +1 -0
- package/dist/lib/chunk-JoinDialog.mjs +35 -0
- package/dist/lib/chunk-JoinDialog.mjs.map +1 -0
- package/dist/lib/chunk-ProfileContainer.mjs +145 -0
- package/dist/lib/chunk-ProfileContainer.mjs.map +1 -0
- package/dist/lib/chunk-RecoveryCodeDialog.mjs +72 -0
- package/dist/lib/chunk-RecoveryCodeDialog.mjs.map +1 -0
- package/dist/lib/chunk-RecoveryCredentialsContainer.mjs +65 -0
- package/dist/lib/chunk-RecoveryCredentialsContainer.mjs.map +1 -0
- package/dist/lib/chunk-ResetDialog.mjs +47 -0
- package/dist/lib/chunk-ResetDialog.mjs.map +1 -0
- package/dist/lib/chunk-UsageContainer.mjs +217 -0
- package/dist/lib/chunk-UsageContainer.mjs.map +1 -0
- package/dist/lib/{neutral/account-cache-YVQKLNV2.mjs → chunk-account-cache.mjs} +10 -12
- package/dist/lib/chunk-account-cache.mjs.map +1 -0
- package/dist/lib/chunk-app-graph-builder.mjs +111 -0
- package/dist/lib/chunk-app-graph-builder.mjs.map +1 -0
- package/dist/lib/chunk-client.mjs +90 -0
- package/dist/lib/chunk-client.mjs.map +1 -0
- package/dist/lib/{neutral/chunk-GSKMAS3S.mjs → chunk-constants.mjs} +5 -8
- package/dist/lib/chunk-constants.mjs.map +1 -0
- package/dist/lib/chunk-create-agent.mjs +23 -0
- package/dist/lib/chunk-create-agent.mjs.map +1 -0
- package/dist/lib/chunk-create-identity.mjs +28 -0
- package/dist/lib/chunk-create-identity.mjs.map +1 -0
- package/dist/lib/chunk-create-passkey.mjs +85 -0
- package/dist/lib/chunk-create-passkey.mjs.map +1 -0
- package/dist/lib/chunk-create-recovery-code.mjs +31 -0
- package/dist/lib/chunk-create-recovery-code.mjs.map +1 -0
- package/dist/lib/chunk-hooks.mjs +29 -0
- package/dist/lib/chunk-hooks.mjs.map +1 -0
- package/dist/lib/chunk-hub-http-client.mjs +14 -0
- package/dist/lib/chunk-hub-http-client.mjs.map +1 -0
- package/dist/lib/chunk-join-identity.mjs +20 -0
- package/dist/lib/chunk-join-identity.mjs.map +1 -0
- package/dist/lib/chunk-layer-specs.mjs +107 -0
- package/dist/lib/chunk-layer-specs.mjs.map +1 -0
- package/dist/lib/{neutral/chunk-6G4KZLBG.mjs → chunk-meta.mjs} +13 -20
- package/dist/lib/chunk-meta.mjs.map +1 -0
- package/dist/lib/chunk-migrations.mjs +29 -0
- package/dist/lib/chunk-migrations.mjs.map +1 -0
- package/dist/lib/chunk-navigation-handler.mjs +71 -0
- package/dist/lib/chunk-navigation-handler.mjs.map +1 -0
- package/dist/lib/chunk-navigation-target-loader.mjs +46 -0
- package/dist/lib/chunk-navigation-target-loader.mjs.map +1 -0
- package/dist/lib/chunk-open-usage.mjs +14 -0
- package/dist/lib/chunk-open-usage.mjs.map +1 -0
- package/dist/lib/chunk-operation-handler.mjs +11 -0
- package/dist/lib/chunk-operation-handler.mjs.map +1 -0
- package/dist/lib/chunk-operations.mjs +212 -0
- package/dist/lib/chunk-operations.mjs.map +1 -0
- package/dist/lib/chunk-progress.mjs +10 -0
- package/dist/lib/chunk-progress.mjs.map +1 -0
- package/dist/lib/chunk-react-context.mjs +30 -0
- package/dist/lib/chunk-react-context.mjs.map +1 -0
- package/dist/lib/chunk-react-surface.mjs +70 -0
- package/dist/lib/chunk-react-surface.mjs.map +1 -0
- package/dist/lib/chunk-recover-identity.mjs +17 -0
- package/dist/lib/chunk-recover-identity.mjs.map +1 -0
- package/dist/lib/chunk-redeem-passkey.mjs +72 -0
- package/dist/lib/chunk-redeem-passkey.mjs.map +1 -0
- package/dist/lib/chunk-redeem-token.mjs +24 -0
- package/dist/lib/chunk-redeem-token.mjs.map +1 -0
- package/dist/lib/chunk-remote-trace-monitor.mjs +37 -0
- package/dist/lib/chunk-remote-trace-monitor.mjs.map +1 -0
- package/dist/lib/chunk-reset-storage.mjs +17 -0
- package/dist/lib/chunk-reset-storage.mjs.map +1 -0
- package/dist/lib/chunk-resolve-navigation-targets.mjs +32 -0
- package/dist/lib/chunk-resolve-navigation-targets.mjs.map +1 -0
- package/dist/lib/chunk-schema-defs.mjs +53 -0
- package/dist/lib/chunk-schema-defs.mjs.map +1 -0
- package/dist/lib/chunk-share-identity.mjs +16 -0
- package/dist/lib/chunk-share-identity.mjs.map +1 -0
- package/dist/lib/chunk-space-replication-progress.mjs +94 -0
- package/dist/lib/chunk-space-replication-progress.mjs.map +1 -0
- package/dist/lib/chunk-trace-progress.mjs +69 -0
- package/dist/lib/chunk-trace-progress.mjs.map +1 -0
- package/dist/lib/chunk-update-profile.mjs +15 -0
- package/dist/lib/chunk-update-profile.mjs.map +1 -0
- package/dist/lib/components.mjs +0 -0
- package/dist/lib/containers.mjs +15 -0
- package/dist/lib/containers.mjs.map +1 -0
- package/dist/lib/index.mjs +27 -0
- package/dist/lib/index.mjs.map +1 -0
- package/dist/lib/meta.mjs +2 -0
- package/dist/lib/operations.mjs +2 -0
- package/dist/lib/plugin.mjs +9 -0
- package/dist/lib/plugin.mjs.map +1 -0
- package/dist/lib/testing.mjs +21 -0
- package/dist/lib/testing.mjs.map +1 -0
- package/dist/lib/translations.mjs +111 -0
- package/dist/lib/translations.mjs.map +1 -0
- package/dist/lib/types.mjs +139 -0
- package/dist/lib/types.mjs.map +1 -0
- package/dist/types/src/ClientPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/account-cache.d.ts +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
- package/dist/types/src/capabilities/client.d.ts +1 -1
- package/dist/types/src/capabilities/client.d.ts.map +1 -1
- package/dist/types/src/capabilities/hub-http-client.d.ts +1 -1
- package/dist/types/src/capabilities/index.d.ts +6 -1
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/layer-specs.d.ts +1 -1
- package/dist/types/src/capabilities/migrations.d.ts +1 -1
- package/dist/types/src/capabilities/navigation-handler/navigation-handler.d.ts +3 -1
- package/dist/types/src/capabilities/navigation-handler/navigation-handler.d.ts.map +1 -1
- package/dist/types/src/capabilities/navigation-target-loader.d.ts +11 -0
- package/dist/types/src/capabilities/navigation-target-loader.d.ts.map +1 -0
- package/dist/types/src/capabilities/node.d.ts +2 -1
- package/dist/types/src/capabilities/node.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
- package/dist/types/src/capabilities/react-context.d.ts +1 -1
- package/dist/types/src/capabilities/react-context.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/remote-trace-monitor.d.ts +15 -0
- package/dist/types/src/capabilities/remote-trace-monitor.d.ts.map +1 -0
- package/dist/types/src/capabilities/schema-defs.d.ts +1 -1
- package/dist/types/src/capabilities/space-replication-progress.d.ts +11 -0
- package/dist/types/src/capabilities/space-replication-progress.d.ts.map +1 -0
- package/dist/types/src/capabilities/trace-progress.d.ts +17 -0
- package/dist/types/src/capabilities/trace-progress.d.ts.map +1 -0
- package/dist/types/src/commands/account/login/login.d.ts +2 -1
- package/dist/types/src/commands/account/login/login.d.ts.map +1 -1
- package/dist/types/src/commands/account/logout/logout.d.ts +1 -1
- package/dist/types/src/commands/account/logout/logout.d.ts.map +1 -1
- package/dist/types/src/commands/halo/index.d.ts.map +1 -1
- package/dist/types/src/commands/halo/share/share.d.ts.map +1 -1
- package/dist/types/src/commands/profile/create.d.ts.map +1 -1
- package/dist/types/src/containers/AccountContainer/AccountContainer.d.ts +4 -1
- package/dist/types/src/containers/AccountContainer/AccountContainer.d.ts.map +1 -1
- package/dist/types/src/containers/AccountContainer/AccountContainer.stories.d.ts +4 -1
- package/dist/types/src/containers/AccountContainer/AccountContainer.stories.d.ts.map +1 -1
- package/dist/types/src/containers/DevicesContainer/DevicesContainer.d.ts +4 -1
- package/dist/types/src/containers/DevicesContainer/DevicesContainer.d.ts.map +1 -1
- package/dist/types/src/containers/DevicesContainer/DevicesContainer.stories.d.ts +4 -1
- package/dist/types/src/containers/DevicesContainer/DevicesContainer.stories.d.ts.map +1 -1
- package/dist/types/src/containers/InvitationsContainer/InvitationsContainer.d.ts +4 -1
- package/dist/types/src/containers/InvitationsContainer/InvitationsContainer.d.ts.map +1 -1
- package/dist/types/src/containers/InvitationsContainer/InvitationsContainer.stories.d.ts +4 -1
- package/dist/types/src/containers/InvitationsContainer/InvitationsContainer.stories.d.ts.map +1 -1
- package/dist/types/src/containers/JoinDialog/JoinDialog.d.ts +4 -1
- package/dist/types/src/containers/JoinDialog/JoinDialog.d.ts.map +1 -1
- package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts +4 -1
- package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts.map +1 -1
- package/dist/types/src/containers/ProfileContainer/ProfileContainer.d.ts +4 -1
- package/dist/types/src/containers/ProfileContainer/ProfileContainer.d.ts.map +1 -1
- package/dist/types/src/containers/ProfileContainer/ProfileContainer.stories.d.ts +4 -1
- package/dist/types/src/containers/ProfileContainer/ProfileContainer.stories.d.ts.map +1 -1
- package/dist/types/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.d.ts +4 -1
- package/dist/types/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.d.ts.map +1 -1
- package/dist/types/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.d.ts +4 -1
- package/dist/types/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.d.ts.map +1 -1
- package/dist/types/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.stories.d.ts +4 -1
- package/dist/types/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.stories.d.ts.map +1 -1
- package/dist/types/src/containers/ResetDialog/ResetDialog.d.ts +4 -1
- package/dist/types/src/containers/ResetDialog/ResetDialog.d.ts.map +1 -1
- package/dist/types/src/containers/ResetDialog/ResetDialog.stories.d.ts +4 -1
- package/dist/types/src/containers/ResetDialog/ResetDialog.stories.d.ts.map +1 -1
- package/dist/types/src/containers/UsageContainer/UsageContainer.d.ts +4 -5
- package/dist/types/src/containers/UsageContainer/UsageContainer.d.ts.map +1 -1
- package/dist/types/src/containers/UsageContainer/UsageView.d.ts +4 -7
- package/dist/types/src/containers/UsageContainer/UsageView.d.ts.map +1 -1
- package/dist/types/src/containers/UsageContainer/UsageView.stories.d.ts +4 -2
- package/dist/types/src/containers/UsageContainer/UsageView.stories.d.ts.map +1 -1
- package/dist/types/src/halo-services-layer.d.ts +19 -0
- package/dist/types/src/halo-services-layer.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +3 -0
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/operations/definitions.d.ts +9 -1
- package/dist/types/src/operations/definitions.d.ts.map +1 -1
- package/dist/types/src/operations/errors.d.ts +109 -0
- package/dist/types/src/operations/errors.d.ts.map +1 -0
- package/dist/types/src/operations/errors.test.d.ts +2 -0
- package/dist/types/src/operations/errors.test.d.ts.map +1 -0
- package/dist/types/src/operations/index.d.ts +1 -0
- package/dist/types/src/operations/index.d.ts.map +1 -1
- package/dist/types/src/operations/redeem-passkey.d.ts.map +1 -1
- package/dist/types/src/operations/resolve-navigation-targets.d.ts +5 -0
- package/dist/types/src/operations/resolve-navigation-targets.d.ts.map +1 -0
- package/dist/types/src/operations/update-profile.d.ts +5 -0
- package/dist/types/src/operations/update-profile.d.ts.map +1 -0
- package/dist/types/src/progress/index.d.ts +2 -0
- package/dist/types/src/progress/index.d.ts.map +1 -0
- package/dist/types/src/progress/progress-keys.d.ts +6 -0
- package/dist/types/src/progress/progress-keys.d.ts.map +1 -0
- package/dist/types/src/testing/initializeIdentity.d.ts +5 -1
- package/dist/types/src/testing/initializeIdentity.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/capabilities.d.ts +10 -1
- package/dist/types/src/types/capabilities.d.ts.map +1 -1
- package/dist/types/src/types/schema.d.ts +6 -0
- package/dist/types/src/types/schema.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +60 -55
- package/src/ClientPlugin.ts +25 -2
- package/src/capabilities/app-graph-builder.ts +1 -1
- package/src/capabilities/client.ts +26 -0
- package/src/capabilities/index.ts +10 -0
- package/src/capabilities/layer-specs.ts +64 -2
- package/src/capabilities/migrations.ts +9 -1
- package/src/capabilities/navigation-handler/navigation-handler.ts +20 -3
- package/src/capabilities/navigation-target-loader.ts +70 -0
- package/src/capabilities/react-context.tsx +20 -2
- package/src/capabilities/{react-surface.tsx → react-surface.ts} +14 -12
- package/src/capabilities/remote-trace-monitor.ts +62 -0
- package/src/capabilities/space-replication-progress.ts +143 -0
- package/src/capabilities/trace-progress.ts +84 -0
- package/src/commands/account/login/login.ts +48 -6
- package/src/commands/account/logout/logout.ts +4 -0
- package/src/commands/halo/index.ts +6 -2
- package/src/commands/halo/share/share.ts +16 -5
- package/src/commands/profile/create.ts +23 -40
- package/src/containers/AccountContainer/AccountContainer.tsx +6 -5
- package/src/containers/DevicesContainer/DevicesContainer.tsx +2 -0
- package/src/containers/InvitationsContainer/InvitationsContainer.tsx +2 -0
- package/src/containers/JoinDialog/JoinDialog.tsx +2 -0
- package/src/containers/ProfileContainer/ProfileContainer.tsx +19 -13
- package/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.tsx +2 -0
- package/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.tsx +7 -9
- package/src/containers/ResetDialog/ResetDialog.tsx +2 -0
- package/src/containers/UsageContainer/UsageContainer.tsx +10 -1
- package/src/containers/UsageContainer/UsageView.stories.tsx +0 -12
- package/src/containers/UsageContainer/UsageView.tsx +9 -10
- package/src/halo-services-layer.ts +29 -0
- package/src/index.ts +9 -0
- package/src/operations/definitions.ts +9 -1
- package/src/operations/errors.test.ts +27 -0
- package/src/operations/errors.ts +47 -0
- package/src/operations/index.ts +3 -0
- package/src/operations/open-usage.ts +3 -3
- package/src/operations/redeem-passkey.ts +85 -55
- package/src/operations/resolve-navigation-targets.ts +71 -0
- package/src/operations/share-identity.ts +3 -3
- package/src/operations/update-profile.ts +20 -0
- package/src/progress/index.ts +5 -0
- package/src/progress/progress-keys.ts +15 -0
- package/src/testing/initializeIdentity.ts +10 -2
- package/src/translations.ts +2 -0
- package/src/types/capabilities.ts +15 -1
- package/src/types/schema.ts +7 -0
- package/dist/lib/neutral/AccountContainer-7SF53UON.mjs +0 -186
- package/dist/lib/neutral/AccountContainer-7SF53UON.mjs.map +0 -7
- package/dist/lib/neutral/ClientPlugin.mjs +0 -72
- package/dist/lib/neutral/ClientPlugin.mjs.map +0 -7
- package/dist/lib/neutral/ClientPlugin.node.mjs +0 -1156
- package/dist/lib/neutral/ClientPlugin.node.mjs.map +0 -7
- package/dist/lib/neutral/ClientPlugin.workerd.mjs +0 -16
- package/dist/lib/neutral/ClientPlugin.workerd.mjs.map +0 -7
- package/dist/lib/neutral/DevicesContainer-PRWIN36N.mjs +0 -271
- package/dist/lib/neutral/DevicesContainer-PRWIN36N.mjs.map +0 -7
- package/dist/lib/neutral/InvitationsContainer-BI5RAWET.mjs +0 -143
- package/dist/lib/neutral/InvitationsContainer-BI5RAWET.mjs.map +0 -7
- package/dist/lib/neutral/JoinDialog-4BWV4CYB.mjs +0 -53
- package/dist/lib/neutral/JoinDialog-4BWV4CYB.mjs.map +0 -7
- package/dist/lib/neutral/ProfileContainer-YEAYOTX5.mjs +0 -169
- package/dist/lib/neutral/ProfileContainer-YEAYOTX5.mjs.map +0 -7
- package/dist/lib/neutral/RecoveryCodeDialog-7EPNKCLB.mjs +0 -59
- package/dist/lib/neutral/RecoveryCodeDialog-7EPNKCLB.mjs.map +0 -7
- package/dist/lib/neutral/RecoveryCredentialsContainer-6BZ2IWX7.mjs +0 -60
- package/dist/lib/neutral/RecoveryCredentialsContainer-6BZ2IWX7.mjs.map +0 -7
- package/dist/lib/neutral/ResetDialog-KUWX45JY.mjs +0 -57
- package/dist/lib/neutral/ResetDialog-KUWX45JY.mjs.map +0 -7
- package/dist/lib/neutral/UsageContainer-2DWCVVE4.mjs +0 -241
- package/dist/lib/neutral/UsageContainer-2DWCVVE4.mjs.map +0 -7
- package/dist/lib/neutral/account-cache-YVQKLNV2.mjs.map +0 -7
- package/dist/lib/neutral/app-graph-builder-RVXTD6OE.mjs +0 -159
- package/dist/lib/neutral/app-graph-builder-RVXTD6OE.mjs.map +0 -7
- package/dist/lib/neutral/capabilities/index.mjs +0 -34
- package/dist/lib/neutral/capabilities/index.mjs.map +0 -7
- package/dist/lib/neutral/capabilities/node.mjs +0 -21
- package/dist/lib/neutral/capabilities/node.mjs.map +0 -7
- package/dist/lib/neutral/chunk-6G4KZLBG.mjs.map +0 -7
- package/dist/lib/neutral/chunk-7DEIKHB7.mjs +0 -199
- package/dist/lib/neutral/chunk-7DEIKHB7.mjs.map +0 -7
- package/dist/lib/neutral/chunk-A7WDDIWY.mjs +0 -162
- package/dist/lib/neutral/chunk-A7WDDIWY.mjs.map +0 -7
- package/dist/lib/neutral/chunk-GSKMAS3S.mjs.map +0 -7
- package/dist/lib/neutral/chunk-J5LGTIGS.mjs +0 -10
- package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +0 -7
- package/dist/lib/neutral/chunk-JY35S2CN.mjs +0 -27
- package/dist/lib/neutral/chunk-JY35S2CN.mjs.map +0 -7
- package/dist/lib/neutral/chunk-ZFABGG2E.mjs +0 -8
- package/dist/lib/neutral/chunk-ZFABGG2E.mjs.map +0 -7
- package/dist/lib/neutral/client-7I5Y5SOA.mjs +0 -62
- package/dist/lib/neutral/client-7I5Y5SOA.mjs.map +0 -7
- package/dist/lib/neutral/components/index.mjs +0 -1
- package/dist/lib/neutral/components/index.mjs.map +0 -7
- package/dist/lib/neutral/containers/index.mjs +0 -25
- package/dist/lib/neutral/containers/index.mjs.map +0 -7
- package/dist/lib/neutral/create-agent-6UKJMZS5.mjs +0 -26
- package/dist/lib/neutral/create-agent-6UKJMZS5.mjs.map +0 -7
- package/dist/lib/neutral/create-identity-ULCRB3YH.mjs +0 -42
- package/dist/lib/neutral/create-identity-ULCRB3YH.mjs.map +0 -7
- package/dist/lib/neutral/create-passkey-I7VDS3AC.mjs +0 -81
- package/dist/lib/neutral/create-passkey-I7VDS3AC.mjs.map +0 -7
- package/dist/lib/neutral/create-recovery-code-DH2B6EGP.mjs +0 -36
- package/dist/lib/neutral/create-recovery-code-DH2B6EGP.mjs.map +0 -7
- package/dist/lib/neutral/hub-http-client-WOJUCDKV.mjs +0 -19
- package/dist/lib/neutral/hub-http-client-WOJUCDKV.mjs.map +0 -7
- package/dist/lib/neutral/index.mjs +0 -25
- package/dist/lib/neutral/index.mjs.map +0 -7
- package/dist/lib/neutral/join-identity-PJCHDNLH.mjs +0 -27
- package/dist/lib/neutral/join-identity-PJCHDNLH.mjs.map +0 -7
- package/dist/lib/neutral/layer-specs-YI7BVWKZ.mjs +0 -59
- package/dist/lib/neutral/layer-specs-YI7BVWKZ.mjs.map +0 -7
- package/dist/lib/neutral/meta.json +0 -1
- package/dist/lib/neutral/meta.mjs +0 -8
- package/dist/lib/neutral/meta.mjs.map +0 -7
- package/dist/lib/neutral/migrations-7FTW55ER.mjs +0 -23
- package/dist/lib/neutral/migrations-7FTW55ER.mjs.map +0 -7
- package/dist/lib/neutral/navigation-handler-MQ6MZXLX.mjs +0 -46
- package/dist/lib/neutral/navigation-handler-MQ6MZXLX.mjs.map +0 -7
- package/dist/lib/neutral/open-usage-OJVTPGOY.mjs +0 -27
- package/dist/lib/neutral/open-usage-OJVTPGOY.mjs.map +0 -7
- package/dist/lib/neutral/operation-handler-E3HB7E2T.mjs +0 -13
- package/dist/lib/neutral/operation-handler-E3HB7E2T.mjs.map +0 -7
- package/dist/lib/neutral/operations/index.mjs +0 -12
- package/dist/lib/neutral/operations/index.mjs.map +0 -7
- package/dist/lib/neutral/plugin.mjs +0 -17
- package/dist/lib/neutral/plugin.mjs.map +0 -7
- package/dist/lib/neutral/react-context-V74T6JOJ.mjs +0 -23
- package/dist/lib/neutral/react-context-V74T6JOJ.mjs.map +0 -7
- package/dist/lib/neutral/react-surface-HPXRA65U.mjs +0 -75
- package/dist/lib/neutral/react-surface-HPXRA65U.mjs.map +0 -7
- package/dist/lib/neutral/recover-identity-B7YM2BR4.mjs +0 -26
- package/dist/lib/neutral/recover-identity-B7YM2BR4.mjs.map +0 -7
- package/dist/lib/neutral/redeem-passkey-TYP4XLHO.mjs +0 -66
- package/dist/lib/neutral/redeem-passkey-TYP4XLHO.mjs.map +0 -7
- package/dist/lib/neutral/redeem-token-2J33R3PV.mjs +0 -29
- package/dist/lib/neutral/redeem-token-2J33R3PV.mjs.map +0 -7
- package/dist/lib/neutral/reset-storage-K47HZTGP.mjs +0 -26
- package/dist/lib/neutral/reset-storage-K47HZTGP.mjs.map +0 -7
- package/dist/lib/neutral/schema-defs-IHBCKTMM.mjs +0 -51
- package/dist/lib/neutral/schema-defs-IHBCKTMM.mjs.map +0 -7
- package/dist/lib/neutral/share-identity-TOROBLWL.mjs +0 -31
- package/dist/lib/neutral/share-identity-TOROBLWL.mjs.map +0 -7
- package/dist/lib/neutral/testing/index.mjs +0 -25
- package/dist/lib/neutral/testing/index.mjs.map +0 -7
- package/dist/lib/neutral/translations.mjs +0 -124
- package/dist/lib/neutral/translations.mjs.map +0 -7
- package/dist/lib/neutral/types/index.mjs +0 -16
- package/dist/lib/neutral/types/index.mjs.map +0 -7
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import * as Effect from 'effect/Effect';
|
|
6
6
|
|
|
7
|
-
import {
|
|
7
|
+
import { GraphPath, LayoutOperation } from '@dxos/app-toolkit';
|
|
8
8
|
import { Operation } from '@dxos/compute';
|
|
9
9
|
import { ObservabilityOperation } from '@dxos/plugin-observability';
|
|
10
10
|
|
|
@@ -14,9 +14,9 @@ import { ShareIdentity } from './definitions';
|
|
|
14
14
|
const handler: Operation.WithHandler<typeof ShareIdentity> = ShareIdentity.pipe(
|
|
15
15
|
Operation.withHandler(
|
|
16
16
|
Effect.fnUntraced(function* () {
|
|
17
|
-
yield* Operation.invoke(LayoutOperation.SwitchWorkspace, { subject:
|
|
17
|
+
yield* Operation.invoke(LayoutOperation.SwitchWorkspace, { subject: GraphPath.getSpacePath(Account.id) });
|
|
18
18
|
yield* Operation.invoke(LayoutOperation.Open, {
|
|
19
|
-
subject: [
|
|
19
|
+
subject: [GraphPath.getSpacePath(Account.id, Account.Profile)],
|
|
20
20
|
});
|
|
21
21
|
yield* Operation.schedule(ObservabilityOperation.SendEvent, { name: 'identity.share' });
|
|
22
22
|
}),
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2025 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import * as Effect from 'effect/Effect';
|
|
6
|
+
|
|
7
|
+
import { Operation } from '@dxos/compute';
|
|
8
|
+
import { Identity } from '@dxos/halo';
|
|
9
|
+
|
|
10
|
+
import { UpdateProfile } from './definitions';
|
|
11
|
+
|
|
12
|
+
const handler: Operation.WithHandler<typeof UpdateProfile> = UpdateProfile.pipe(
|
|
13
|
+
Operation.withHandler(
|
|
14
|
+
Effect.fnUntraced(function* (profile) {
|
|
15
|
+
yield* Identity.updateProfile({ displayName: profile.displayName, data: profile.data });
|
|
16
|
+
}),
|
|
17
|
+
),
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
export default handler;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2026 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { type SpaceId } from '@dxos/keys';
|
|
6
|
+
|
|
7
|
+
import { meta } from '#meta';
|
|
8
|
+
|
|
9
|
+
/** Stable progress-monitor key for automerge document replication in a space. */
|
|
10
|
+
export const createSpaceReplicationProgressKey = (spaceId: SpaceId): string =>
|
|
11
|
+
`${meta.profile.key}:space:${spaceId}#replication`;
|
|
12
|
+
|
|
13
|
+
/** Stable progress-monitor key for ECHO feed block replication in a space. */
|
|
14
|
+
export const createSpaceFeedReplicationProgressKey = (spaceId: SpaceId): string =>
|
|
15
|
+
`${meta.profile.key}:space:${spaceId}#feeds`;
|
|
@@ -15,13 +15,21 @@ export type InitializeIdentityResult = {
|
|
|
15
15
|
personalSpace: Space;
|
|
16
16
|
};
|
|
17
17
|
|
|
18
|
+
export type InitializeIdentityOptions = {
|
|
19
|
+
/** Profile display name for the generated identity, so stories show a real name (not a raw DID). */
|
|
20
|
+
displayName?: string;
|
|
21
|
+
};
|
|
22
|
+
|
|
18
23
|
/**
|
|
19
24
|
* Create an identity and a personal space.
|
|
20
25
|
* Returns the identity and space for further setup.
|
|
21
26
|
*/
|
|
22
|
-
export const initializeIdentity = (
|
|
27
|
+
export const initializeIdentity = (
|
|
28
|
+
client: Client,
|
|
29
|
+
{ displayName }: InitializeIdentityOptions = {},
|
|
30
|
+
): Effect.Effect<InitializeIdentityResult, never, never> =>
|
|
23
31
|
Effect.gen(function* () {
|
|
24
|
-
const identity = yield* Effect.promise(() => client.halo.createIdentity());
|
|
32
|
+
const identity = yield* Effect.promise(() => client.halo.createIdentity(displayName ? { displayName } : {}));
|
|
25
33
|
const personalSpace = yield* Effect.promise(() =>
|
|
26
34
|
client.spaces.create({}, { tags: [AppSpace.PERSONAL_SPACE_TAG] }),
|
|
27
35
|
);
|
package/src/translations.ts
CHANGED
|
@@ -131,6 +131,8 @@ const pluginTranslations = [
|
|
|
131
131
|
'reset-device.label': 'Reset storage',
|
|
132
132
|
'reset-dialog.description': 'Reset storage',
|
|
133
133
|
'reset-dialog.title': 'Reset storage',
|
|
134
|
+
'navigation-failed-toast.title': 'Link could not be processed',
|
|
135
|
+
'navigation-failed-toast.description': 'Something went wrong while handling this link. Please try again.',
|
|
134
136
|
},
|
|
135
137
|
},
|
|
136
138
|
},
|
|
@@ -2,13 +2,15 @@
|
|
|
2
2
|
// Copyright 2025 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import { type Atom } from '@effect-atom/atom
|
|
5
|
+
import { type Atom } from '@effect-atom/atom';
|
|
6
|
+
import type * as Context from 'effect/Context';
|
|
6
7
|
|
|
7
8
|
import { Capability } from '@dxos/app-framework';
|
|
8
9
|
import { type Client } from '@dxos/client';
|
|
9
10
|
import { type ObjectMigration } from '@dxos/client/echo';
|
|
10
11
|
import { type Type } from '@dxos/echo';
|
|
11
12
|
import { type HubHttpClient } from '@dxos/edge-client';
|
|
13
|
+
import { type Identity, type Space } from '@dxos/halo';
|
|
12
14
|
|
|
13
15
|
import { meta } from '#meta';
|
|
14
16
|
|
|
@@ -22,4 +24,16 @@ export namespace ClientCapabilities {
|
|
|
22
24
|
`${meta.profile.key}.capability.accountCache`,
|
|
23
25
|
);
|
|
24
26
|
export const HubHttpClient = Capability.make<HubHttpClient>(`${meta.profile.key}.capability.hubHttpClient`);
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* The HALO Identity service instance, for imperative (non-React, non-Effect-layer) consumers
|
|
30
|
+
* that need identity access without depending on `@dxos/client`.
|
|
31
|
+
*/
|
|
32
|
+
export const IdentityService: Capability.InterfaceDef<Context.Tag.Service<Identity.Service>> = Capability.make(
|
|
33
|
+
`${meta.profile.key}.capability.identityService`,
|
|
34
|
+
);
|
|
35
|
+
/** The HALO Space service instance, for imperative consumers. */
|
|
36
|
+
export const SpaceService: Capability.InterfaceDef<Context.Tag.Service<Space.Service>> = Capability.make(
|
|
37
|
+
`${meta.profile.key}.capability.spaceService`,
|
|
38
|
+
);
|
|
25
39
|
}
|
package/src/types/schema.ts
CHANGED
|
@@ -113,6 +113,13 @@ export type ClientPluginOptions = ClientOptions & {
|
|
|
113
113
|
*/
|
|
114
114
|
invitationProp?: string;
|
|
115
115
|
|
|
116
|
+
/**
|
|
117
|
+
* Whether the navigation handler consumes invitation codes from URL query params.
|
|
118
|
+
* Disable when another plugin (e.g. plugin-onboarding) owns the invitation URL flow.
|
|
119
|
+
* @default true
|
|
120
|
+
*/
|
|
121
|
+
invitationUrlHandler?: boolean;
|
|
122
|
+
|
|
116
123
|
/**
|
|
117
124
|
* Run after the client has been initialized.
|
|
118
125
|
* Plugin context is provided so capabilities are accessible.
|
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
useHubHttpClient
|
|
3
|
-
} from "./chunk-JY35S2CN.mjs";
|
|
4
|
-
import {
|
|
5
|
-
RESET_DIALOG
|
|
6
|
-
} from "./chunk-GSKMAS3S.mjs";
|
|
7
|
-
import "./chunk-J5LGTIGS.mjs";
|
|
8
|
-
|
|
9
|
-
// src/containers/AccountContainer/AccountContainer.tsx
|
|
10
|
-
import { useAtom, useAtomSet } from "@effect-atom/atom-react";
|
|
11
|
-
import React, { useCallback, useState } from "react";
|
|
12
|
-
import { useCapability, useOperationInvoker } from "@dxos/app-framework/ui";
|
|
13
|
-
import { LayoutOperation } from "@dxos/app-toolkit";
|
|
14
|
-
import { Context } from "@dxos/context";
|
|
15
|
-
import { createDidFromIdentityKey } from "@dxos/credentials";
|
|
16
|
-
import { useIdentity } from "@dxos/react-client/halo";
|
|
17
|
-
import { Button, Icon, IconButton, Input, Message, useAsyncEffect, useTranslation } from "@dxos/react-ui";
|
|
18
|
-
import { Form } from "@dxos/react-ui-form";
|
|
19
|
-
import { meta } from "#meta";
|
|
20
|
-
import { ClientCapabilities } from "#types";
|
|
21
|
-
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-client/src/containers/AccountContainer/AccountContainer.tsx";
|
|
22
|
-
var AccountContainer = () => {
|
|
23
|
-
const { t } = useTranslation(meta.profile.key);
|
|
24
|
-
const identity = useIdentity();
|
|
25
|
-
const { invokePromise } = useOperationInvoker();
|
|
26
|
-
const accountCacheAtom = useCapability(ClientCapabilities.AccountCache);
|
|
27
|
-
const [cache] = useAtom(accountCacheAtom);
|
|
28
|
-
const setCache = useAtomSet(accountCacheAtom);
|
|
29
|
-
const [resendStatus, setResendStatus] = useState(null);
|
|
30
|
-
const [accountState, setAccountState] = useState(cache.account ? "present" : "loading");
|
|
31
|
-
const [requestEmail, setRequestEmail] = useState("");
|
|
32
|
-
const [requestSubmitted, setRequestSubmitted] = useState(false);
|
|
33
|
-
const hubHttp = useHubHttpClient();
|
|
34
|
-
useAsyncEffect(async () => {
|
|
35
|
-
if (!hubHttp) {
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
try {
|
|
39
|
-
const account2 = await hubHttp.getAccount(new Context(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 36 }));
|
|
40
|
-
setCache((prev) => ({
|
|
41
|
-
...prev,
|
|
42
|
-
account: account2,
|
|
43
|
-
fetchedAt: Date.now()
|
|
44
|
-
}));
|
|
45
|
-
setAccountState("present");
|
|
46
|
-
} catch (err) {
|
|
47
|
-
if (err?.data?.type === "no_account") {
|
|
48
|
-
setCache((prev) => ({
|
|
49
|
-
...prev,
|
|
50
|
-
account: void 0,
|
|
51
|
-
fetchedAt: Date.now()
|
|
52
|
-
}));
|
|
53
|
-
setAccountState("missing");
|
|
54
|
-
} else {
|
|
55
|
-
setAccountState((prev) => prev === "present" ? "present" : "error");
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}, [
|
|
59
|
-
hubHttp,
|
|
60
|
-
setCache
|
|
61
|
-
]);
|
|
62
|
-
const handleResend = useCallback(async () => {
|
|
63
|
-
if (!hubHttp) {
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
try {
|
|
67
|
-
const result = await hubHttp.resendVerificationEmail(new Context(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 64 }));
|
|
68
|
-
if (result.sent) {
|
|
69
|
-
setResendStatus(t("verification-sent.message"));
|
|
70
|
-
} else if (result.cooldownSecondsRemaining) {
|
|
71
|
-
setResendStatus(t("verification-cooldown.message", {
|
|
72
|
-
seconds: result.cooldownSecondsRemaining
|
|
73
|
-
}));
|
|
74
|
-
} else {
|
|
75
|
-
setResendStatus(t("verification-failed.message"));
|
|
76
|
-
}
|
|
77
|
-
} catch {
|
|
78
|
-
setResendStatus(t("verification-failed.message"));
|
|
79
|
-
}
|
|
80
|
-
}, [
|
|
81
|
-
hubHttp,
|
|
82
|
-
t
|
|
83
|
-
]);
|
|
84
|
-
const handleRequestAccess = useCallback(async (event) => {
|
|
85
|
-
event.preventDefault();
|
|
86
|
-
const email = requestEmail.trim();
|
|
87
|
-
if (!email || !hubHttp) {
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
try {
|
|
91
|
-
const identityDid = identity ? await createDidFromIdentityKey(identity.identityKey) : void 0;
|
|
92
|
-
await hubHttp.requestAccess(new Context(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 89 }), {
|
|
93
|
-
email,
|
|
94
|
-
identityDid
|
|
95
|
-
});
|
|
96
|
-
} catch {
|
|
97
|
-
}
|
|
98
|
-
setRequestSubmitted(true);
|
|
99
|
-
}, [
|
|
100
|
-
hubHttp,
|
|
101
|
-
identity,
|
|
102
|
-
requestEmail
|
|
103
|
-
]);
|
|
104
|
-
const handleDeleteAccount = useCallback(() => {
|
|
105
|
-
if (!hubHttp) {
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
void invokePromise(LayoutOperation.UpdateDialog, {
|
|
109
|
-
subject: RESET_DIALOG,
|
|
110
|
-
blockAlign: "start",
|
|
111
|
-
props: {
|
|
112
|
-
mode: "reset-storage",
|
|
113
|
-
onBeforeReset: async () => {
|
|
114
|
-
await hubHttp.deleteAccount(new Context(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 115 }));
|
|
115
|
-
setCache(() => ({}));
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
}, [
|
|
120
|
-
hubHttp,
|
|
121
|
-
invokePromise,
|
|
122
|
-
setCache
|
|
123
|
-
]);
|
|
124
|
-
const account = cache.account;
|
|
125
|
-
return /* @__PURE__ */ React.createElement(Form.Root, {
|
|
126
|
-
variant: "settings"
|
|
127
|
-
}, /* @__PURE__ */ React.createElement(Form.Viewport, {
|
|
128
|
-
scroll: true
|
|
129
|
-
}, /* @__PURE__ */ React.createElement(Form.Content, null, /* @__PURE__ */ React.createElement(Form.Section, {
|
|
130
|
-
title: t("account-section.title"),
|
|
131
|
-
description: t("account-section.description")
|
|
132
|
-
}, accountState === "loading" ? null : accountState === "missing" ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Message.Root, {
|
|
133
|
-
valence: "warning"
|
|
134
|
-
}, /* @__PURE__ */ React.createElement(Message.Title, {
|
|
135
|
-
icon: "ph--warning--duotone"
|
|
136
|
-
}, t("no-edge-access.title")), /* @__PURE__ */ React.createElement(Message.Content, null, t("no-edge-access.description"))), /* @__PURE__ */ React.createElement(Form.Row, {
|
|
137
|
-
label: t("request-access.label"),
|
|
138
|
-
description: t("request-access.description")
|
|
139
|
-
}, requestSubmitted ? /* @__PURE__ */ React.createElement("span", {
|
|
140
|
-
className: "text-sm text-description"
|
|
141
|
-
}, t("access-request-submitted.message")) : /* @__PURE__ */ React.createElement("form", {
|
|
142
|
-
onSubmit: handleRequestAccess,
|
|
143
|
-
className: "flex gap-2 items-center justify-end"
|
|
144
|
-
}, /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.TextInput, {
|
|
145
|
-
type: "email",
|
|
146
|
-
required: true,
|
|
147
|
-
placeholder: t("access-request-email.placeholder"),
|
|
148
|
-
value: requestEmail,
|
|
149
|
-
onChange: (event) => setRequestEmail(event.target.value),
|
|
150
|
-
classNames: "min-w-64"
|
|
151
|
-
})), /* @__PURE__ */ React.createElement(Button, {
|
|
152
|
-
type: "submit",
|
|
153
|
-
density: "sm"
|
|
154
|
-
}, t("request-access.label"))))) : accountState === "error" && !account ? /* @__PURE__ */ React.createElement(Message.Root, {
|
|
155
|
-
valence: "error"
|
|
156
|
-
}, /* @__PURE__ */ React.createElement(Message.Title, {
|
|
157
|
-
icon: "ph--cloud-x--duotone"
|
|
158
|
-
}, t("account-offline.title")), /* @__PURE__ */ React.createElement(Message.Content, null, t("account-offline.description"))) : account ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Form.Row, {
|
|
159
|
-
label: t("email.label"),
|
|
160
|
-
description: account.email
|
|
161
|
-
}, account.emailVerified ? /* @__PURE__ */ React.createElement(Icon, {
|
|
162
|
-
icon: "ph--check-circle--duotone",
|
|
163
|
-
size: 5,
|
|
164
|
-
classNames: "text-success-text justify-self-end"
|
|
165
|
-
}) : /* @__PURE__ */ React.createElement("div", {
|
|
166
|
-
className: "flex flex-col gap-1 items-end"
|
|
167
|
-
}, /* @__PURE__ */ React.createElement(IconButton, {
|
|
168
|
-
icon: "ph--paper-plane-tilt--regular",
|
|
169
|
-
label: t("resend-verification.label"),
|
|
170
|
-
onClick: handleResend,
|
|
171
|
-
density: "sm"
|
|
172
|
-
}), resendStatus ? /* @__PURE__ */ React.createElement("span", {
|
|
173
|
-
className: "text-xs text-description"
|
|
174
|
-
}, resendStatus) : null)), /* @__PURE__ */ React.createElement(Form.Row, {
|
|
175
|
-
label: t("delete-account.label"),
|
|
176
|
-
description: t("delete-account.description")
|
|
177
|
-
}, /* @__PURE__ */ React.createElement(Button, {
|
|
178
|
-
variant: "destructive",
|
|
179
|
-
density: "sm",
|
|
180
|
-
onClick: handleDeleteAccount
|
|
181
|
-
}, t("delete-account.label")))) : null))));
|
|
182
|
-
};
|
|
183
|
-
export {
|
|
184
|
-
AccountContainer as default
|
|
185
|
-
};
|
|
186
|
-
//# sourceMappingURL=AccountContainer-7SF53UON.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/containers/AccountContainer/AccountContainer.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport { useAtom, useAtomSet } from '@effect-atom/atom-react';\nimport React, { type FormEvent, useCallback, useState } from 'react';\n\nimport { useCapability, useOperationInvoker } from '@dxos/app-framework/ui';\nimport { LayoutOperation } from '@dxos/app-toolkit';\nimport { Context } from '@dxos/context';\nimport { createDidFromIdentityKey } from '@dxos/credentials';\nimport { useIdentity } from '@dxos/react-client/halo';\nimport { Button, Icon, IconButton, Input, Message, useAsyncEffect, useTranslation } from '@dxos/react-ui';\nimport { Form } from '@dxos/react-ui-form';\n\nimport { meta } from '#meta';\nimport { ClientCapabilities } from '#types';\n\nimport { RESET_DIALOG } from '../../constants';\nimport { useHubHttpClient } from '../../hooks';\n\ntype AccountState = 'loading' | 'present' | 'missing' | 'error';\n\nexport const AccountContainer = () => {\n const { t } = useTranslation(meta.profile.key);\n const identity = useIdentity();\n const { invokePromise } = useOperationInvoker();\n const accountCacheAtom = useCapability(ClientCapabilities.AccountCache);\n const [cache] = useAtom(accountCacheAtom);\n const setCache = useAtomSet(accountCacheAtom);\n const [resendStatus, setResendStatus] = useState<string | null>(null);\n const [accountState, setAccountState] = useState<AccountState>(cache.account ? 'present' : 'loading');\n const [requestEmail, setRequestEmail] = useState('');\n const [requestSubmitted, setRequestSubmitted] = useState(false);\n\n // Single shared instance keeps the VP-auth handshake (request → 401 → signed\n // retry) at one round-trip per session instead of one per panel.\n const hubHttp = useHubHttpClient();\n\n useAsyncEffect(async () => {\n if (!hubHttp) {\n return;\n }\n try {\n const account = await hubHttp.getAccount(new Context());\n setCache((prev) => ({ ...prev, account, fetchedAt: Date.now() }));\n setAccountState('present');\n } catch (err: any) {\n if (err?.data?.type === 'no_account') {\n setCache((prev) => ({ ...prev, account: undefined, fetchedAt: Date.now() }));\n setAccountState('missing');\n } else {\n setAccountState((prev) => (prev === 'present' ? 'present' : 'error'));\n }\n }\n }, [hubHttp, setCache]);\n\n const handleResend = useCallback(async () => {\n if (!hubHttp) {\n return;\n }\n try {\n const result = await hubHttp.resendVerificationEmail(new Context());\n if (result.sent) {\n setResendStatus(t('verification-sent.message'));\n } else if (result.cooldownSecondsRemaining) {\n setResendStatus(t('verification-cooldown.message', { seconds: result.cooldownSecondsRemaining }));\n } else {\n setResendStatus(t('verification-failed.message'));\n }\n } catch {\n setResendStatus(t('verification-failed.message'));\n }\n }, [hubHttp, t]);\n\n const handleRequestAccess = useCallback(\n async (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n const email = requestEmail.trim();\n if (!email || !hubHttp) {\n return;\n }\n try {\n const identityDid = identity ? await createDidFromIdentityKey(identity.identityKey) : undefined;\n await hubHttp.requestAccess(new Context(), { email, identityDid });\n } catch {\n // Surface a generic confirmation; failure details would leak signal.\n }\n setRequestSubmitted(true);\n },\n [hubHttp, identity, requestEmail],\n );\n\n // Opens the standard reset confirmation dialog. The `onBeforeReset` hook\n // deletes the hub account first; if that fails the reset is aborted so the\n // local identity is not wiped while the server record remains.\n const handleDeleteAccount = useCallback(() => {\n if (!hubHttp) {\n return;\n }\n void invokePromise(LayoutOperation.UpdateDialog, {\n subject: RESET_DIALOG,\n blockAlign: 'start',\n props: {\n mode: 'reset-storage',\n onBeforeReset: async () => {\n await hubHttp.deleteAccount(new Context());\n setCache(() => ({}));\n },\n },\n });\n }, [hubHttp, invokePromise, setCache]);\n\n const account = cache.account;\n\n return (\n <Form.Root variant='settings'>\n <Form.Viewport scroll>\n <Form.Content>\n <Form.Section title={t('account-section.title')} description={t('account-section.description')}>\n {accountState === 'loading' ? null : accountState === 'missing' ? (\n <>\n <Message.Root valence='warning'>\n <Message.Title icon='ph--warning--duotone'>{t('no-edge-access.title')}</Message.Title>\n <Message.Content>{t('no-edge-access.description')}</Message.Content>\n </Message.Root>\n <Form.Row label={t('request-access.label')} description={t('request-access.description')}>\n {requestSubmitted ? (\n <span className='text-sm text-description'>{t('access-request-submitted.message')}</span>\n ) : (\n <form onSubmit={handleRequestAccess} className='flex gap-2 items-center justify-end'>\n <Input.Root>\n <Input.TextInput\n type='email'\n required\n placeholder={t('access-request-email.placeholder')}\n value={requestEmail}\n onChange={(event) => setRequestEmail(event.target.value)}\n classNames='min-w-64'\n />\n </Input.Root>\n <Button type='submit' density='sm'>\n {t('request-access.label')}\n </Button>\n </form>\n )}\n </Form.Row>\n </>\n ) : accountState === 'error' && !account ? (\n <Message.Root valence='error'>\n <Message.Title icon='ph--cloud-x--duotone'>{t('account-offline.title')}</Message.Title>\n <Message.Content>{t('account-offline.description')}</Message.Content>\n </Message.Root>\n ) : account ? (\n <>\n <Form.Row label={t('email.label')} description={account.email}>\n {account.emailVerified ? (\n <Icon icon='ph--check-circle--duotone' size={5} classNames='text-success-text justify-self-end' />\n ) : (\n <div className='flex flex-col gap-1 items-end'>\n <IconButton\n icon='ph--paper-plane-tilt--regular'\n label={t('resend-verification.label')}\n onClick={handleResend}\n density='sm'\n />\n {resendStatus ? <span className='text-xs text-description'>{resendStatus}</span> : null}\n </div>\n )}\n </Form.Row>\n <Form.Row label={t('delete-account.label')} description={t('delete-account.description')}>\n <Button variant='destructive' density='sm' onClick={handleDeleteAccount}>\n {t('delete-account.label')}\n </Button>\n </Form.Row>\n </>\n ) : null}\n </Form.Section>\n </Form.Content>\n </Form.Viewport>\n </Form.Root>\n );\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;AAIA,SAASA,SAASC,kBAAkB;AACpC,OAAOC,SAAyBC,aAAaC,gBAAgB;AAE7D,SAASC,eAAeC,2BAA2B;AACnD,SAASC,uBAAuB;AAChC,SAASC,eAAe;AACxB,SAASC,gCAAgC;AACzC,SAASC,mBAAmB;AAC5B,SAASC,QAAQC,MAAMC,YAAYC,OAAOC,SAASC,gBAAgBC,sBAAsB;AACzF,SAASC,YAAY;AAErB,SAASC,YAAY;AACrB,SAASC,0BAA0B;AAOnC,IAAA,eAAaC;AAEX,IAAMC,mBAAWC,MAAAA;AACjB,QAAM,EAAEC,EAAAA,IAAAA,eAAkBC,KAAAA,QAAAA,GAAAA;AAC1B,QAAMC,WAAAA,YAAmBC;AACzB,QAAM,EAACC,cAASC,IAAQH,oBAAAA;AACxB,QAAMI,mBAAWC,cAAWL,mBAAAA,YAAAA;AAC5B,QAAM,CAACM,KAAAA,IAAAA,QAAcC,gBAAmBC;AACxC,QAAM,WAACC,WAAcC,gBAAmBF;AACxC,QAAM,CAACG,cAAcC,eAAAA,IAAmBJ,SAAS,IAAA;AACjD,QAAM,CAACK,cAAAA,eAAkBC,IAAAA,SAAuBN,MAAAA,UAAS,YAAA,SAAA;AAEzD,QAAA,CAAA,cAAA,eAAA,IAAA,SAAA,EAAA;AACA,QAAA,CAAA,kBAAA,mBAAA,IAAA,SAAA,KAAA;QAIE,UAAKO,iBAAS;iBACZ,YAAA;AACF,QAAA,CAAA,SAAA;AACI;;QAEFX;uBAA6B,MAAA,QAAA,WAAA,IAAA,QAAA,QAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,GAAA,CAAA,CAAA;eAAEY,CAAAA,UAAAA;QAASC,GAAAA;QAAsB,SAAAD;QAC9DN,WAAgB,KAAA,IAAA;MAChB,EAAOQ;AACP,sBAAeC,SAAS;aACtBf,KAAAA;qBAAyBgB,SAAI,cAAA;iBAAEJ,CAAAA,UAASK;UAAWJ,GAAAA;UAAsB,SAAA;UACzEP,WAAgB,KAAA,IAAA;QACX,EAAA;AACLA,wBAAgB,SAAWU;MAC7B,OAAA;AACF,wBAAA,CAAA,SAAA,SAAA,YAAA,YAAA,OAAA;MACC;IAACL;;IAAkB;IAEtB;;uBAEI,YAAA,YAAA;AACF,QAAA,CAAA,SAAA;AACI;;QAEF;YACER,SAAAA,MAAgBe,QAAE,wBAAA,IAAA,QAAA,QAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,GAAA,CAAA,CAAA;AACpB,UAAA,OAAWC,MAAAA;AACThB,wBAAgBe,EAAE,2BAAA,CAAA;iBAAmCE,OAASD,0BAAOE;AAAyB,wBAAA,EAAA,iCAAA;UACzF,SAAA,OAAA;QACLlB,CAAAA,CAAAA;MACF,OAAA;AACA,wBAAM,EAAA,6BAAA,CAAA;MACNA;IACF,QAAA;AACC,sBAAA,EAAA,6BAAA,CAAA;IAACQ;;IAAW;IAEf;;QAGI,sBAAcJ,YAAiB,OAAA,UAAA;AAC/B,UAAKe,eAAUX;UACb,QAAA,aAAA,KAAA;AACF,QAAA,CAAA,SAAA,CAAA,SAAA;AACI;;QAEF;YAA6CW,cAAAA,WAAAA,MAAAA,yBAAAA,SAAAA,WAAAA,IAAAA;YAAOC,QAAAA,cAAAA,IAAAA,QAAAA,QAAAA,EAAAA,YAAAA,YAAAA,GAAAA,cAAAA,GAAAA,GAAAA,CAAAA,GAAAA;QAAY;QAChE;MACA,CAAA;IACF,QAAA;IAGF;AAACZ,wBAAAA,IAAAA;;IAAmBJ;IAAa;IAGnC;EACA,CAAA;8BAII,YAAA,MAAA;AACF,QAAA,CAAA,SAAA;AACA;;SAEEiB,cAAY,gBAAA,cAAA;MACZC,SAAO;kBACC;aACNC;cACE;uBACS,YAAQ;AACnB,gBAAA,QAAA,cAAA,IAAA,QAAA,QAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,CAAA,CAAA;AACF,mBAAA,OAAA,CAAA,EAAA;QACF;MACC;IAACf,CAAAA;;IAAwBX;IAAS;IAErC;EAEA,CAAA;QACa2B,UAAQ,MAAA;SACjB,sBAAA,cAACC,KAAKC,MAAQ;IAACC,SAAAA;KACb,sBAAA,cAACF,KAAKG,UAAO;IACGC,QAAOd;KAAyCA,sBAAE,cAAA,KAAA,SAAA,MAAA,sBAAA,cAAA,KAAA,SAAA;IAC7Db,OAAAA,EAAAA,uBAA6B;IAEZ4B,aAAQ,EAAA,6BAAA;sBACpB,YAAA,OAACC,iBAAa,YAAA,sBAAA,cAAA,MAAA,UAAA,MAAA,sBAAA,cAAA,QAAA,MAAA;IAACC,SAAK;KAA0B,sBAAA,cAAA,QAC9C,OAAA;IAEQC,MAAAA;OAAkCC,sBAAe,CAAA,GAAA,sBAAA,cAAA,QAAA,SAAA,MAAA,EAAA,4BAAA,CAAA,CAAA,GAAA,sBAAA,cAAA,KAAA,KAAA;IACxD5B,OAAAA,EAAAA,sBAAAA;IACO6B,aAAU,EAAA,4BAAA;KAA4BpB,mBAAE,sBAAA,cAAA,QAE9C;IAAMqB,WAAUC;OAAqBF,kCAAU,CAAA,IAAA,sBAAA,cAAA,QAAA;;IAGzCvB,WAAK;KACL0B,sBAAAA,cAAAA,MAAAA,MAAAA,MAAAA,sBAAAA,cAAAA,MAAAA,WAAAA;IACAC,MAAAA;IACAC,UAAOpC;IACPqC,aAAWC,EAAAA,kCAAuCF;IAClDG,OAAAA;yBAGJ,gBAACC,MAAAA,OAAAA,KAAAA;IAAOhC,YAAK;OAAiB,sBAAA,cAAA,QAAA;IAC3BG,MAAE;IAOCe,SAAQ;6BACpB,CAAA,CAAA,CAAA,CAAA,IAAA,iBAAc,WAAA,CAAA,UAAA,sBAAA,cAAA,QAAA,MAAA;IAACE,SAAK;KAA0B,sBAAA,cAAA,QAAA,OAC9C;IAIUC,MAAAA;OAAyBC,uBAAqBf,CAAAA,GAAK,sBAAA,cAAA,QAAA,SAAA,MAAA,EAAA,6BAAA,CAAA,CAAA,IAAA,UAAA,sBAAA,cAAA,MAAA,UAAA,MAAA,sBAAA,cAAA,KAAA,KAAA;IAC1DV,OAAQoC,EAAAA,aAAa;IACdb,aAAK,QAAA;aAAkC,gBAAA,sBAAA,cAAA,MAAA;IAAGW,MAAAA;;IAE3CR,YAAU;OACb,sBAAA,cAACW,OAAAA;IACCd,WAAK;KACI,sBAAA,cAAA,YAAA;IACTe,MAAAA;IACAC,OAAAA,EAAQ,2BAAA;IAETjD,SAAAA;IAAqBoC,SAAAA;MAAsCpC,eAAuB,sBAAA,cAIzF,QAAC0B;IAASQ,WAAS;iBAAyBC,IAAe,IAAA,CAAA,GAAA,sBAAA,cAAA,KAAA,KAAA;mCACzD;IAAQV,aAAQ,EAAA,4BAAA;KAAsB,sBAAA,cAAA,QAAA;IAAKuB,SAASE;IACjDlC,SAAE;IAUrB,SAAA;;;",
|
|
6
|
-
"names": ["useAtom", "useAtomSet", "React", "useCallback", "useState", "useCapability", "useOperationInvoker", "LayoutOperation", "Context", "createDidFromIdentityKey", "useIdentity", "Button", "Icon", "IconButton", "Input", "Message", "useAsyncEffect", "useTranslation", "Form", "meta", "ClientCapabilities", "AccountContainer", "identity", "useIdentity", "invokePromise", "useOperationInvoker", "accountCacheAtom", "useCapability", "cache", "useAtom", "setCache", "useAtomSet", "resendStatus", "setResendStatus", "useState", "accountState", "setAccountState", "requestEmail", "setRequestEmail", "requestSubmitted", "setRequestSubmitted", "hubHttp", "account", "fetchedAt", "err", "type", "prev", "undefined", "t", "result", "seconds", "cooldownSecondsRemaining", "email", "identityDid", "blockAlign", "props", "onBeforeReset", "variant", "Form", "Viewport", "scroll", "Content", "title", "valence", "Message", "icon", "label", "description", "className", "onSubmit", "handleRequestAccess", "required", "placeholder", "value", "onChange", "event", "classNames", "Button", "emailVerified", "IconButton", "onClick", "density", "handleDeleteAccount"]
|
|
7
|
-
}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
-
|
|
3
|
-
// src/ClientPlugin.ts
|
|
4
|
-
import { ActivationEvent, ActivationEvents, Capability, Plugin } from "@dxos/app-framework";
|
|
5
|
-
import { AppActivationEvents, AppPlugin } from "@dxos/app-toolkit";
|
|
6
|
-
import { AccountCache, AppGraphBuilder, Client, HubHttpClient, LayerSpecs, Migrations, NavigationHandler, OperationHandler, ReactContext, ReactSurface, SchemaDefs } from "#capabilities";
|
|
7
|
-
import { meta } from "#meta";
|
|
8
|
-
import { translations } from "#translations";
|
|
9
|
-
import { ClientEvents } from "#types";
|
|
10
|
-
var ClientPlugin = Plugin.define(meta).pipe(AppPlugin.addAppGraphModule({
|
|
11
|
-
activate: AppGraphBuilder
|
|
12
|
-
}), AppPlugin.addNavigationHandlerModule(({ invitationProp }) => ({
|
|
13
|
-
activate: () => NavigationHandler({
|
|
14
|
-
invitationProp
|
|
15
|
-
})
|
|
16
|
-
})), AppPlugin.addOperationHandlerModule({
|
|
17
|
-
activate: OperationHandler
|
|
18
|
-
}), AppPlugin.addReactContextModule({
|
|
19
|
-
activate: ReactContext
|
|
20
|
-
}), AppPlugin.addTranslationsModule({
|
|
21
|
-
translations
|
|
22
|
-
}), Plugin.addModule((options) => {
|
|
23
|
-
return {
|
|
24
|
-
id: Capability.getModuleTag(Client),
|
|
25
|
-
activatesOn: ActivationEvent.oneOf(ActivationEvents.Startup, AppActivationEvents.SetupAppGraph),
|
|
26
|
-
firesAfterActivation: [
|
|
27
|
-
ClientEvents.ClientReady
|
|
28
|
-
],
|
|
29
|
-
activate: () => Client(options)
|
|
30
|
-
};
|
|
31
|
-
}), Plugin.addModule({
|
|
32
|
-
activatesOn: ClientEvents.ClientReady,
|
|
33
|
-
activate: AccountCache
|
|
34
|
-
}), Plugin.addModule({
|
|
35
|
-
activatesOn: ClientEvents.ClientReady,
|
|
36
|
-
activate: HubHttpClient
|
|
37
|
-
}), Plugin.addModule({
|
|
38
|
-
activatesOn: ClientEvents.ClientReady,
|
|
39
|
-
firesBeforeActivation: [
|
|
40
|
-
AppActivationEvents.SetupSchema
|
|
41
|
-
],
|
|
42
|
-
activate: SchemaDefs
|
|
43
|
-
}), Plugin.addModule({
|
|
44
|
-
activatesOn: ClientEvents.ClientReady,
|
|
45
|
-
firesBeforeActivation: [
|
|
46
|
-
ClientEvents.SetupMigration
|
|
47
|
-
],
|
|
48
|
-
activate: Migrations
|
|
49
|
-
}), Plugin.addModule({
|
|
50
|
-
activatesOn: ActivationEvents.SetupProcessManager,
|
|
51
|
-
activate: LayerSpecs
|
|
52
|
-
}), Plugin.addModule(({ shareableLinkOrigin = typeof window !== "undefined" ? window.location.origin : "http://localhost", invitationPath = "/", invitationProp = "deviceInvitationCode", onReset }) => {
|
|
53
|
-
const createInvitationUrl = (invitationCode) => {
|
|
54
|
-
const baseUrl = new URL(invitationPath || "/", shareableLinkOrigin);
|
|
55
|
-
baseUrl.searchParams.set(invitationProp, invitationCode);
|
|
56
|
-
return baseUrl.toString();
|
|
57
|
-
};
|
|
58
|
-
return {
|
|
59
|
-
id: Capability.getModuleTag(ReactSurface),
|
|
60
|
-
activatesOn: ActivationEvents.SetupReactSurface,
|
|
61
|
-
activate: () => ReactSurface({
|
|
62
|
-
createInvitationUrl,
|
|
63
|
-
onReset
|
|
64
|
-
})
|
|
65
|
-
};
|
|
66
|
-
}), Plugin.make);
|
|
67
|
-
var ClientPlugin_default = ClientPlugin;
|
|
68
|
-
export {
|
|
69
|
-
ClientPlugin,
|
|
70
|
-
ClientPlugin_default as default
|
|
71
|
-
};
|
|
72
|
-
//# sourceMappingURL=ClientPlugin.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/ClientPlugin.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { ActivationEvent, ActivationEvents, Capability, Plugin } from '@dxos/app-framework';\nimport { AppActivationEvents, AppPlugin } from '@dxos/app-toolkit';\n\nimport {\n AccountCache,\n AppGraphBuilder,\n Client,\n HubHttpClient,\n LayerSpecs,\n Migrations,\n NavigationHandler,\n OperationHandler,\n ReactContext,\n ReactSurface,\n SchemaDefs,\n} from '#capabilities';\nimport { meta } from '#meta';\nimport { translations } from '#translations';\nimport { ClientEvents } from '#types';\nimport { type ClientPluginOptions } from '#types';\n\nexport const ClientPlugin = Plugin.define<ClientPluginOptions>(meta).pipe(\n AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),\n AppPlugin.addNavigationHandlerModule(({ invitationProp }) => ({\n activate: () => NavigationHandler({ invitationProp }),\n })),\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n AppPlugin.addReactContextModule({ activate: ReactContext }),\n AppPlugin.addTranslationsModule({ translations }),\n Plugin.addModule((options) => {\n return {\n id: Capability.getModuleTag(Client),\n activatesOn: ActivationEvent.oneOf(ActivationEvents.Startup, AppActivationEvents.SetupAppGraph),\n firesAfterActivation: [ClientEvents.ClientReady],\n activate: () => Client(options),\n };\n }),\n Plugin.addModule({\n activatesOn: ClientEvents.ClientReady,\n activate: AccountCache,\n }),\n Plugin.addModule({\n activatesOn: ClientEvents.ClientReady,\n activate: HubHttpClient,\n }),\n Plugin.addModule({\n activatesOn: ClientEvents.ClientReady,\n firesBeforeActivation: [AppActivationEvents.SetupSchema],\n activate: SchemaDefs,\n }),\n Plugin.addModule({\n activatesOn: ClientEvents.ClientReady,\n firesBeforeActivation: [ClientEvents.SetupMigration],\n activate: Migrations,\n }),\n Plugin.addModule({\n activatesOn: ActivationEvents.SetupProcessManager,\n activate: LayerSpecs,\n }),\n Plugin.addModule(\n ({\n shareableLinkOrigin = typeof window !== 'undefined' ? window.location.origin : 'http://localhost',\n invitationPath = '/',\n invitationProp = 'deviceInvitationCode',\n onReset,\n }) => {\n const createInvitationUrl = (invitationCode: string) => {\n const baseUrl = new URL(invitationPath || '/', shareableLinkOrigin);\n baseUrl.searchParams.set(invitationProp, invitationCode);\n return baseUrl.toString();\n };\n\n return {\n id: Capability.getModuleTag(ReactSurface),\n activatesOn: ActivationEvents.SetupReactSurface,\n activate: () => ReactSurface({ createInvitationUrl, onReset }),\n };\n },\n ),\n Plugin.make,\n);\n\nexport default ClientPlugin;\n"],
|
|
5
|
-
"mappings": ";;;AAIA,SAASA,iBAAiBC,kBAAkBC,YAAYC,cAAc;AACtE,SAASC,qBAAqBC,iBAAiB;AAE/C,SACEC,cACAC,iBACAC,QACAC,eACAC,YACAC,YACAC,mBACAC,kBACAC,cACAC,cACAC,kBACK;AACP,SAASC,YAAY;AACrB,SAASC,oBAAoB;AAC7B,SAASC,oBAAoB;AAGtB,IAAMC,eAAejB,OAAOkB,OAA4BJ,IAAAA,EAAMK,KACnEjB,UAAUkB,kBAAkB;EAAEC,UAAUjB;AAAgB,CAAA,GACxDF,UAAUoB,2BAA2B,CAAC,EAAEC,eAAc,OAAQ;EAC5DF,UAAU,MAAMZ,kBAAkB;IAAEc;EAAe,CAAA;AACrD,EAAA,GACArB,UAAUsB,0BAA0B;EAAEH,UAAUX;AAAiB,CAAA,GACjER,UAAUuB,sBAAsB;EAAEJ,UAAUV;AAAa,CAAA,GACzDT,UAAUwB,sBAAsB;EAAEX;AAAa,CAAA,GAC/Cf,OAAO2B,UAAU,CAACC,YAAAA;AAChB,SAAO;IACLC,IAAI9B,WAAW+B,aAAazB,MAAAA;IAC5B0B,aAAalC,gBAAgBmC,MAAMlC,iBAAiBmC,SAAShC,oBAAoBiC,aAAa;IAC9FC,sBAAsB;MAACnB,aAAaoB;;IACpCf,UAAU,MAAMhB,OAAOuB,OAAAA;EACzB;AACF,CAAA,GACA5B,OAAO2B,UAAU;EACfI,aAAaf,aAAaoB;EAC1Bf,UAAUlB;AACZ,CAAA,GACAH,OAAO2B,UAAU;EACfI,aAAaf,aAAaoB;EAC1Bf,UAAUf;AACZ,CAAA,GACAN,OAAO2B,UAAU;EACfI,aAAaf,aAAaoB;EAC1BC,uBAAuB;IAACpC,oBAAoBqC;;EAC5CjB,UAAUR;AACZ,CAAA,GACAb,OAAO2B,UAAU;EACfI,aAAaf,aAAaoB;EAC1BC,uBAAuB;IAACrB,aAAauB;;EACrClB,UAAUb;AACZ,CAAA,GACAR,OAAO2B,UAAU;EACfI,aAAajC,iBAAiB0C;EAC9BnB,UAAUd;AACZ,CAAA,GACAP,OAAO2B,UACL,CAAC,EACCc,sBAAsB,OAAOC,WAAW,cAAcA,OAAOC,SAASC,SAAS,oBAC/EC,iBAAiB,KACjBtB,iBAAiB,wBACjBuB,QAAO,MACR;AACC,QAAMC,sBAAsB,CAACC,mBAAAA;AAC3B,UAAMC,UAAU,IAAIC,IAAIL,kBAAkB,KAAKJ,mBAAAA;AAC/CQ,YAAQE,aAAaC,IAAI7B,gBAAgByB,cAAAA;AACzC,WAAOC,QAAQI,SAAQ;EACzB;AAEA,SAAO;IACLxB,IAAI9B,WAAW+B,aAAalB,YAAAA;IAC5BmB,aAAajC,iBAAiBwD;IAC9BjC,UAAU,MAAMT,aAAa;MAAEmC;MAAqBD;IAAQ,CAAA;EAC9D;AACF,CAAA,GAEF9C,OAAOuD,IAAI;AAGb,IAAA,uBAAetC;",
|
|
6
|
-
"names": ["ActivationEvent", "ActivationEvents", "Capability", "Plugin", "AppActivationEvents", "AppPlugin", "AccountCache", "AppGraphBuilder", "Client", "HubHttpClient", "LayerSpecs", "Migrations", "NavigationHandler", "OperationHandler", "ReactContext", "ReactSurface", "SchemaDefs", "meta", "translations", "ClientEvents", "ClientPlugin", "define", "pipe", "addAppGraphModule", "activate", "addNavigationHandlerModule", "invitationProp", "addOperationHandlerModule", "addReactContextModule", "addTranslationsModule", "addModule", "options", "id", "getModuleTag", "activatesOn", "oneOf", "Startup", "SetupAppGraph", "firesAfterActivation", "ClientReady", "firesBeforeActivation", "SetupSchema", "SetupMigration", "SetupProcessManager", "shareableLinkOrigin", "window", "location", "origin", "invitationPath", "onReset", "createInvitationUrl", "invitationCode", "baseUrl", "URL", "searchParams", "set", "toString", "SetupReactSurface", "make"]
|
|
7
|
-
}
|