@structured-id/ui-core 0.1.5

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.
Files changed (156) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +47 -0
  3. package/dist/browser-vp/index.cjs +349 -0
  4. package/dist/browser-vp/index.d.cts +287 -0
  5. package/dist/browser-vp/index.d.ts +287 -0
  6. package/dist/browser-vp/index.js +349 -0
  7. package/dist/chunk-C3Q766CY.cjs +125 -0
  8. package/dist/chunk-J5YXRXB5.js +125 -0
  9. package/dist/index.cjs +19360 -0
  10. package/dist/index.d.cts +9536 -0
  11. package/dist/index.d.ts +9536 -0
  12. package/dist/index.js +19360 -0
  13. package/dist/storage-4CB2JTLW.cjs +22 -0
  14. package/dist/storage-THRWREZP.js +22 -0
  15. package/package.json +93 -0
  16. package/src/browser-vp/crypto.ts +254 -0
  17. package/src/browser-vp/index.test.ts +10 -0
  18. package/src/browser-vp/index.ts +118 -0
  19. package/src/browser-vp/prf.ts +181 -0
  20. package/src/browser-vp/storage.test.ts +9 -0
  21. package/src/browser-vp/storage.ts +165 -0
  22. package/src/browser-vp/types.ts +97 -0
  23. package/src/browser-vp/vp.test.ts +43 -0
  24. package/src/browser-vp/vp.ts +113 -0
  25. package/src/components/SidAvatar.vue +106 -0
  26. package/src/components/SidConfirmDialog.vue +125 -0
  27. package/src/components/SidStatusBadge.vue +71 -0
  28. package/src/components/index.ts +5 -0
  29. package/src/composables/index.ts +10 -0
  30. package/src/composables/useAuth.ts +40 -0
  31. package/src/composables/useBffAuth.ts +147 -0
  32. package/src/composables/useGrpc.test.ts +196 -0
  33. package/src/composables/useGrpc.ts +120 -0
  34. package/src/composables/useSession.ts +80 -0
  35. package/src/generated/google/api/http.ts +687 -0
  36. package/src/generated/google/protobuf/descriptor.ts +4865 -0
  37. package/src/generated/google/protobuf/duration.ts +230 -0
  38. package/src/generated/google/protobuf/empty.ts +94 -0
  39. package/src/generated/google/protobuf/struct.ts +484 -0
  40. package/src/generated/google/protobuf/timestamp.ts +287 -0
  41. package/src/generated/sid/v1/account/account.client.ts +527 -0
  42. package/src/generated/sid/v1/account/account.ts +3261 -0
  43. package/src/generated/sid/v1/admin/admin.client.ts +136 -0
  44. package/src/generated/sid/v1/admin/admin.ts +846 -0
  45. package/src/generated/sid/v1/admin/admin_roles.client.ts +181 -0
  46. package/src/generated/sid/v1/admin/admin_roles.ts +1606 -0
  47. package/src/generated/sid/v1/admin/analytics.client.ts +106 -0
  48. package/src/generated/sid/v1/admin/analytics.ts +1017 -0
  49. package/src/generated/sid/v1/admin/branding.client.ts +166 -0
  50. package/src/generated/sid/v1/admin/branding.ts +1906 -0
  51. package/src/generated/sid/v1/admin/enrollment.client.ts +165 -0
  52. package/src/generated/sid/v1/admin/enrollment.ts +1704 -0
  53. package/src/generated/sid/v1/admin/events.client.ts +195 -0
  54. package/src/generated/sid/v1/admin/events.ts +1900 -0
  55. package/src/generated/sid/v1/admin/flow.client.ts +183 -0
  56. package/src/generated/sid/v1/admin/flow.ts +1552 -0
  57. package/src/generated/sid/v1/admin/keys.client.ts +107 -0
  58. package/src/generated/sid/v1/admin/keys.ts +931 -0
  59. package/src/generated/sid/v1/admin/login_experience.client.ts +160 -0
  60. package/src/generated/sid/v1/admin/login_experience.ts +1061 -0
  61. package/src/generated/sid/v1/admin/migration.client.ts +127 -0
  62. package/src/generated/sid/v1/admin/migration.ts +1948 -0
  63. package/src/generated/sid/v1/admin/notifications.client.ts +128 -0
  64. package/src/generated/sid/v1/admin/notifications.ts +1332 -0
  65. package/src/generated/sid/v1/admin/operations.client.ts +241 -0
  66. package/src/generated/sid/v1/admin/operations.ts +2648 -0
  67. package/src/generated/sid/v1/admin/organizations.client.ts +57 -0
  68. package/src/generated/sid/v1/admin/organizations.ts +349 -0
  69. package/src/generated/sid/v1/admin/scopes.client.ts +171 -0
  70. package/src/generated/sid/v1/admin/scopes.ts +1324 -0
  71. package/src/generated/sid/v1/admin/security.client.ts +412 -0
  72. package/src/generated/sid/v1/admin/security.ts +4086 -0
  73. package/src/generated/sid/v1/admin/sessions.client.ts +114 -0
  74. package/src/generated/sid/v1/admin/sessions.ts +923 -0
  75. package/src/generated/sid/v1/admin/settings.client.ts +340 -0
  76. package/src/generated/sid/v1/admin/settings.ts +2395 -0
  77. package/src/generated/sid/v1/admin/user_profile.client.ts +57 -0
  78. package/src/generated/sid/v1/admin/user_profile.ts +730 -0
  79. package/src/generated/sid/v1/admin/webhooks.client.ts +269 -0
  80. package/src/generated/sid/v1/admin/webhooks.ts +2804 -0
  81. package/src/generated/sid/v1/attestation/attestation.client.ts +115 -0
  82. package/src/generated/sid/v1/attestation/attestation.ts +813 -0
  83. package/src/generated/sid/v1/authn/auth.client.ts +900 -0
  84. package/src/generated/sid/v1/authn/auth.ts +9287 -0
  85. package/src/generated/sid/v1/authn/flows.client.ts +413 -0
  86. package/src/generated/sid/v1/authn/flows.ts +3217 -0
  87. package/src/generated/sid/v1/authz/authz.client.ts +459 -0
  88. package/src/generated/sid/v1/authz/authz.ts +5343 -0
  89. package/src/generated/sid/v1/authz/governance.client.ts +102 -0
  90. package/src/generated/sid/v1/authz/governance.ts +818 -0
  91. package/src/generated/sid/v1/common/errors.ts +184 -0
  92. package/src/generated/sid/v1/common/pagination.ts +152 -0
  93. package/src/generated/sid/v1/common/transport.ts +227 -0
  94. package/src/generated/sid/v1/common/types.ts +151 -0
  95. package/src/generated/sid/v1/events/event_stream.client.ts +67 -0
  96. package/src/generated/sid/v1/events/event_stream.ts +374 -0
  97. package/src/generated/sid/v1/federation/upstream.client.ts +142 -0
  98. package/src/generated/sid/v1/federation/upstream.ts +1736 -0
  99. package/src/generated/sid/v1/identity/identity.client.ts +467 -0
  100. package/src/generated/sid/v1/identity/identity.ts +5613 -0
  101. package/src/generated/sid/v1/machine/machine_user.client.ts +219 -0
  102. package/src/generated/sid/v1/machine/machine_user.ts +2400 -0
  103. package/src/generated/sid/v1/machine/pat.client.ts +147 -0
  104. package/src/generated/sid/v1/machine/pat.ts +1268 -0
  105. package/src/generated/sid/v1/projects/projects.client.ts +286 -0
  106. package/src/generated/sid/v1/projects/projects.ts +2714 -0
  107. package/src/generated/sid/v1/scim/scim.client.ts +274 -0
  108. package/src/generated/sid/v1/scim/scim.ts +3043 -0
  109. package/src/generated/sid/v1/test/test.client.ts +232 -0
  110. package/src/generated/sid/v1/test/test.ts +1136 -0
  111. package/src/i18n/index.ts +40 -0
  112. package/src/index.ts +157 -0
  113. package/src/profile/auth.ts +15 -0
  114. package/src/profile/components/ConsentManager.vue +88 -0
  115. package/src/profile/components/ProfileEditor.vue +146 -0
  116. package/src/profile/components/SecuritySettings.vue +170 -0
  117. package/src/profile/components/SessionList.vue +100 -0
  118. package/src/profile/components/SidLoginForm.test.ts +80 -0
  119. package/src/profile/components/SidLoginForm.vue +230 -0
  120. package/src/profile/components/SidMfaChallenge.test.ts +127 -0
  121. package/src/profile/components/SidMfaChallenge.vue +243 -0
  122. package/src/profile/components/SidRegistrationForm.test.ts +79 -0
  123. package/src/profile/components/SidRegistrationForm.vue +317 -0
  124. package/src/profile/components/index.ts +11 -0
  125. package/src/profile/composables/index.ts +6 -0
  126. package/src/profile/composables/useAccountApi.ts +203 -0
  127. package/src/profile/composables/useAuthApi.opaque.test.ts +140 -0
  128. package/src/profile/composables/useAuthApi.ts +617 -0
  129. package/src/profile/composables/useIdentityApi.ts +123 -0
  130. package/src/profile/composables/useLoginSuccess.test.ts +112 -0
  131. package/src/profile/composables/useLoginSuccess.ts +65 -0
  132. package/src/profile/composables/useOpaqueAuth.test.ts +290 -0
  133. package/src/profile/composables/useOpaqueAuth.ts +191 -0
  134. package/src/profile/composables/useSecurityLevel.test.ts +198 -0
  135. package/src/profile/composables/useSecurityLevel.ts +324 -0
  136. package/src/profile/index.ts +18 -0
  137. package/src/quasar/SidPrincipalInput.vue +209 -0
  138. package/src/quasar/index.ts +8 -0
  139. package/src/stores/auth.test.ts +83 -0
  140. package/src/stores/auth.ts +92 -0
  141. package/src/stores/index.ts +1 -0
  142. package/src/transport/adaptive.test.ts +728 -0
  143. package/src/transport/adaptive.ts +308 -0
  144. package/src/transport/framing.test.ts +227 -0
  145. package/src/transport/framing.ts +98 -0
  146. package/src/transport/webtransport.test.ts +728 -0
  147. package/src/transport/webtransport.ts +323 -0
  148. package/src/types/auth.ts +58 -0
  149. package/src/types/index.ts +1 -0
  150. package/src/utils/formatters.test.ts +26 -0
  151. package/src/utils/formatters.ts +69 -0
  152. package/src/utils/index.ts +16 -0
  153. package/src/utils/normalizePrincipal.test.ts +188 -0
  154. package/src/utils/normalizePrincipal.ts +159 -0
  155. package/src/utils/validators.test.ts +75 -0
  156. package/src/utils/validators.ts +36 -0
@@ -0,0 +1,900 @@
1
+ // @generated by protobuf-ts 2.11.1 with parameter client_generic,generate_dependencies
2
+ // @generated from protobuf file "sid/v1/authn/auth.proto" (package "sid.v1.authn", syntax proto3)
3
+ // tslint:disable
4
+ import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
5
+ import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
6
+ import { AuthService } from "./auth";
7
+ import type { CompletePasswordResetResponse } from "./auth";
8
+ import type { CompletePasswordResetRequest } from "./auth";
9
+ import type { VerifyPasswordResetResponse } from "./auth";
10
+ import type { VerifyPasswordResetRequest } from "./auth";
11
+ import type { RequestPasswordResetResponse } from "./auth";
12
+ import type { RequestPasswordResetRequest } from "./auth";
13
+ import type { ConfirmAccountDeletionResponse } from "./auth";
14
+ import type { ConfirmAccountDeletionRequest } from "./auth";
15
+ import type { DeleteMfaCredentialResponse } from "./auth";
16
+ import type { DeleteMfaCredentialRequest } from "./auth";
17
+ import type { CompleteStepUpResponse } from "./auth";
18
+ import type { CompleteStepUpRequest } from "./auth";
19
+ import type { StepUpChallenge } from "./auth";
20
+ import type { RequestStepUpRequest } from "./auth";
21
+ import type { SubmitDynamicPromptResponse } from "./auth";
22
+ import type { SubmitDynamicPromptRequest } from "./auth";
23
+ import type { DynamicPrompt } from "./auth";
24
+ import type { GetDynamicPromptRequest } from "./auth";
25
+ import type { VerifyCaptchaResponse } from "./auth";
26
+ import type { VerifyCaptchaRequest } from "./auth";
27
+ import type { DenyCibaRequest } from "./auth";
28
+ import type { CibaConsentResponse } from "./auth";
29
+ import type { ApproveCibaRequest } from "./auth";
30
+ import type { AcceptTermsResponse } from "./auth";
31
+ import type { AcceptTermsRequest } from "./auth";
32
+ import type { GetTermsResponse } from "./auth";
33
+ import type { GetTermsRequest } from "./auth";
34
+ import type { SelectOrganizationResponse } from "./auth";
35
+ import type { SelectOrganizationRequest } from "./auth";
36
+ import type { ListUserOrganizationsResponse } from "./auth";
37
+ import type { ListUserOrganizationsRequest } from "./auth";
38
+ import type { ConfirmIdpLinkResponse } from "./auth";
39
+ import type { ConfirmIdpLinkRequest } from "./auth";
40
+ import type { ResendPhoneVerificationResponse } from "./auth";
41
+ import type { ResendPhoneVerificationRequest } from "./auth";
42
+ import type { VerifyPhoneResponse } from "./auth";
43
+ import type { VerifyPhoneRequest } from "./auth";
44
+ import type { ResendEmailVerificationResponse } from "./auth";
45
+ import type { ResendEmailVerificationRequest } from "./auth";
46
+ import type { ResendOtpResponse } from "./auth";
47
+ import type { ResendOtpRequest } from "./auth";
48
+ import type { VerifyOtpResponse } from "./auth";
49
+ import type { VerifyOtpRequest } from "./auth";
50
+ import type { RequestOtpResponse } from "./auth";
51
+ import type { RequestOtpRequest } from "./auth";
52
+ import type { VerifyRecoveryCodeRequest } from "./auth";
53
+ import type { GenerateRecoveryCodesResponse } from "./auth";
54
+ import type { GenerateRecoveryCodesRequest } from "./auth";
55
+ import type { ResendSmsMfaResponse } from "./auth";
56
+ import type { ResendSmsMfaRequest } from "./auth";
57
+ import type { VerifySmsMfaRequest } from "./auth";
58
+ import type { MfaVerifyResponse } from "./auth";
59
+ import type { VerifyTotpRequest } from "./auth";
60
+ import type { FinishTotpEnrollmentResponse } from "./auth";
61
+ import type { FinishTotpEnrollmentRequest } from "./auth";
62
+ import type { TotpEnrollmentChallenge } from "./auth";
63
+ import type { StartTotpEnrollmentRequest } from "./auth";
64
+ import type { SubmitDeferredZkProofResponse } from "./auth";
65
+ import type { SubmitDeferredZkProofRequest } from "./auth";
66
+ import type { GetZkppPolicyResponse } from "./auth";
67
+ import type { GetZkppPolicyRequest } from "./auth";
68
+ import type { ResolvePrincipalResponse } from "./auth";
69
+ import type { ResolvePrincipalRequest } from "./auth";
70
+ import type { ValidateSessionResponse } from "./auth";
71
+ import type { ValidateSessionRequest } from "./auth";
72
+ import type { LegacyMigrateFinishResponse } from "./auth";
73
+ import type { LegacyMigrateFinishRequest } from "./auth";
74
+ import type { LegacyMigrateStartResponse } from "./auth";
75
+ import type { LegacyMigrateStartRequest } from "./auth";
76
+ import type { VerifyMagicLinkResponse } from "./auth";
77
+ import type { VerifyMagicLinkRequest } from "./auth";
78
+ import type { RequestMagicLinkResponse } from "./auth";
79
+ import type { RequestMagicLinkRequest } from "./auth";
80
+ import type { SubmitDeviceUserCodeResponse } from "./auth";
81
+ import type { SubmitDeviceUserCodeRequest } from "./auth";
82
+ import type { PollDeviceTokenRequest } from "./auth";
83
+ import type { DeviceAuthorizationResponse } from "./auth";
84
+ import type { DeviceAuthorizationRequest } from "./auth";
85
+ import type { OAuth2RevokeResponse } from "./auth";
86
+ import type { OAuth2RevokeRequest } from "./auth";
87
+ import type { OAuth2IntrospectResponse } from "./auth";
88
+ import type { OAuth2IntrospectRequest } from "./auth";
89
+ import type { OAuth2TokenResponse } from "./auth";
90
+ import type { OAuth2TokenRequest } from "./auth";
91
+ import type { OAuth2AuthorizeResponse } from "./auth";
92
+ import type { OAuth2AuthorizeRequest } from "./auth";
93
+ import type { WebAuthnAuthenticationFinishResponse } from "./auth";
94
+ import type { WebAuthnAuthenticationFinishRequest } from "./auth";
95
+ import type { WebAuthnAuthenticationStartResponse } from "./auth";
96
+ import type { WebAuthnAuthenticationStartRequest } from "./auth";
97
+ import type { WebAuthnRegistrationFinishResponse } from "./auth";
98
+ import type { WebAuthnRegistrationFinishRequest } from "./auth";
99
+ import type { WebAuthnRegistrationStartResponse } from "./auth";
100
+ import type { WebAuthnRegistrationStartRequest } from "./auth";
101
+ import type { PasswordChangeFinishResponse } from "./auth";
102
+ import type { PasswordChangeFinishRequest } from "./auth";
103
+ import type { PasswordChangeExecuteResponse } from "./auth";
104
+ import type { PasswordChangeExecuteRequest } from "./auth";
105
+ import type { PasswordChangeChallengeResponse } from "./auth";
106
+ import type { PasswordChangeChallengeRequest } from "./auth";
107
+ import type { OpaqueZkppRegistrationFinishResponse } from "./auth";
108
+ import type { OpaqueZkppRegistrationFinishRequest } from "./auth";
109
+ import type { OpaqueZkppRegistrationStartResponse } from "./auth";
110
+ import type { OpaqueZkppRegistrationStartRequest } from "./auth";
111
+ import type { OpaqueLoginFinishResponse } from "./auth";
112
+ import type { OpaqueLoginFinishRequest } from "./auth";
113
+ import type { OpaqueLoginStartResponse } from "./auth";
114
+ import type { OpaqueLoginStartRequest } from "./auth";
115
+ import type { OpaqueRegistrationFinishResponse } from "./auth";
116
+ import type { OpaqueRegistrationFinishRequest } from "./auth";
117
+ import { stackIntercept } from "@protobuf-ts/runtime-rpc";
118
+ import type { OpaqueRegistrationStartResponse } from "./auth";
119
+ import type { OpaqueRegistrationStartRequest } from "./auth";
120
+ import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
121
+ import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
122
+ /**
123
+ * AuthService handles authentication flows.
124
+ *
125
+ * @generated from protobuf service sid.v1.authn.AuthService
126
+ */
127
+ export interface IAuthServiceClient {
128
+ /**
129
+ * OPAQUE password authentication (RFC 9807).
130
+ *
131
+ * @generated from protobuf rpc: OpaqueRegistrationStart
132
+ */
133
+ opaqueRegistrationStart(input: OpaqueRegistrationStartRequest, options?: RpcOptions): UnaryCall<OpaqueRegistrationStartRequest, OpaqueRegistrationStartResponse>;
134
+ /**
135
+ * @generated from protobuf rpc: OpaqueRegistrationFinish
136
+ */
137
+ opaqueRegistrationFinish(input: OpaqueRegistrationFinishRequest, options?: RpcOptions): UnaryCall<OpaqueRegistrationFinishRequest, OpaqueRegistrationFinishResponse>;
138
+ /**
139
+ * @generated from protobuf rpc: OpaqueLoginStart
140
+ */
141
+ opaqueLoginStart(input: OpaqueLoginStartRequest, options?: RpcOptions): UnaryCall<OpaqueLoginStartRequest, OpaqueLoginStartResponse>;
142
+ /**
143
+ * @generated from protobuf rpc: OpaqueLoginFinish
144
+ */
145
+ opaqueLoginFinish(input: OpaqueLoginFinishRequest, options?: RpcOptions): UnaryCall<OpaqueLoginFinishRequest, OpaqueLoginFinishResponse>;
146
+ /**
147
+ * OPAQUE-ZKPP: OPAQUE with zero-knowledge password policy proof (Pallas curve).
148
+ *
149
+ * @generated from protobuf rpc: OpaqueZkppRegistrationStart
150
+ */
151
+ opaqueZkppRegistrationStart(input: OpaqueZkppRegistrationStartRequest, options?: RpcOptions): UnaryCall<OpaqueZkppRegistrationStartRequest, OpaqueZkppRegistrationStartResponse>;
152
+ /**
153
+ * @generated from protobuf rpc: OpaqueZkppRegistrationFinish
154
+ */
155
+ opaqueZkppRegistrationFinish(input: OpaqueZkppRegistrationFinishRequest, options?: RpcOptions): UnaryCall<OpaqueZkppRegistrationFinishRequest, OpaqueZkppRegistrationFinishResponse>;
156
+ /**
157
+ * @generated from protobuf rpc: PasswordChangeChallenge
158
+ */
159
+ passwordChangeChallenge(input: PasswordChangeChallengeRequest, options?: RpcOptions): UnaryCall<PasswordChangeChallengeRequest, PasswordChangeChallengeResponse>;
160
+ /**
161
+ * @generated from protobuf rpc: PasswordChangeExecute
162
+ */
163
+ passwordChangeExecute(input: PasswordChangeExecuteRequest, options?: RpcOptions): UnaryCall<PasswordChangeExecuteRequest, PasswordChangeExecuteResponse>;
164
+ /**
165
+ * @generated from protobuf rpc: PasswordChangeFinish
166
+ */
167
+ passwordChangeFinish(input: PasswordChangeFinishRequest, options?: RpcOptions): UnaryCall<PasswordChangeFinishRequest, PasswordChangeFinishResponse>;
168
+ /**
169
+ * WebAuthn (passkeys).
170
+ *
171
+ * @generated from protobuf rpc: WebAuthnRegistrationStart
172
+ */
173
+ webAuthnRegistrationStart(input: WebAuthnRegistrationStartRequest, options?: RpcOptions): UnaryCall<WebAuthnRegistrationStartRequest, WebAuthnRegistrationStartResponse>;
174
+ /**
175
+ * @generated from protobuf rpc: WebAuthnRegistrationFinish
176
+ */
177
+ webAuthnRegistrationFinish(input: WebAuthnRegistrationFinishRequest, options?: RpcOptions): UnaryCall<WebAuthnRegistrationFinishRequest, WebAuthnRegistrationFinishResponse>;
178
+ /**
179
+ * @generated from protobuf rpc: WebAuthnAuthenticationStart
180
+ */
181
+ webAuthnAuthenticationStart(input: WebAuthnAuthenticationStartRequest, options?: RpcOptions): UnaryCall<WebAuthnAuthenticationStartRequest, WebAuthnAuthenticationStartResponse>;
182
+ /**
183
+ * @generated from protobuf rpc: WebAuthnAuthenticationFinish
184
+ */
185
+ webAuthnAuthenticationFinish(input: WebAuthnAuthenticationFinishRequest, options?: RpcOptions): UnaryCall<WebAuthnAuthenticationFinishRequest, WebAuthnAuthenticationFinishResponse>;
186
+ /**
187
+ * OAuth2 / OIDC flows.
188
+ *
189
+ * @generated from protobuf rpc: OAuth2Authorize
190
+ */
191
+ oAuth2Authorize(input: OAuth2AuthorizeRequest, options?: RpcOptions): UnaryCall<OAuth2AuthorizeRequest, OAuth2AuthorizeResponse>;
192
+ /**
193
+ * @generated from protobuf rpc: OAuth2Token
194
+ */
195
+ oAuth2Token(input: OAuth2TokenRequest, options?: RpcOptions): UnaryCall<OAuth2TokenRequest, OAuth2TokenResponse>;
196
+ /**
197
+ * @generated from protobuf rpc: OAuth2Introspect
198
+ */
199
+ oAuth2Introspect(input: OAuth2IntrospectRequest, options?: RpcOptions): UnaryCall<OAuth2IntrospectRequest, OAuth2IntrospectResponse>;
200
+ /**
201
+ * @generated from protobuf rpc: OAuth2Revoke
202
+ */
203
+ oAuth2Revoke(input: OAuth2RevokeRequest, options?: RpcOptions): UnaryCall<OAuth2RevokeRequest, OAuth2RevokeResponse>;
204
+ /**
205
+ * Device Authorization Grant (RFC 8628).
206
+ *
207
+ * @generated from protobuf rpc: StartDeviceAuthorization
208
+ */
209
+ startDeviceAuthorization(input: DeviceAuthorizationRequest, options?: RpcOptions): UnaryCall<DeviceAuthorizationRequest, DeviceAuthorizationResponse>;
210
+ /**
211
+ * @generated from protobuf rpc: PollDeviceToken
212
+ */
213
+ pollDeviceToken(input: PollDeviceTokenRequest, options?: RpcOptions): UnaryCall<PollDeviceTokenRequest, OAuth2TokenResponse>;
214
+ /**
215
+ * @generated from protobuf rpc: SubmitDeviceUserCode
216
+ */
217
+ submitDeviceUserCode(input: SubmitDeviceUserCodeRequest, options?: RpcOptions): UnaryCall<SubmitDeviceUserCodeRequest, SubmitDeviceUserCodeResponse>;
218
+ // ── Magic Link (passwordless, corporate profiles) ──
219
+
220
+ /**
221
+ * @generated from protobuf rpc: RequestMagicLink
222
+ */
223
+ requestMagicLink(input: RequestMagicLinkRequest, options?: RpcOptions): UnaryCall<RequestMagicLinkRequest, RequestMagicLinkResponse>;
224
+ /**
225
+ * @generated from protobuf rpc: VerifyMagicLink
226
+ */
227
+ verifyMagicLink(input: VerifyMagicLinkRequest, options?: RpcOptions): UnaryCall<VerifyMagicLinkRequest, VerifyMagicLinkResponse>;
228
+ /**
229
+ * Legacy password migration (on-login OPAQUE re-registration).
230
+ *
231
+ * @generated from protobuf rpc: LegacyMigrateStart
232
+ */
233
+ legacyMigrateStart(input: LegacyMigrateStartRequest, options?: RpcOptions): UnaryCall<LegacyMigrateStartRequest, LegacyMigrateStartResponse>;
234
+ /**
235
+ * @generated from protobuf rpc: LegacyMigrateFinish
236
+ */
237
+ legacyMigrateFinish(input: LegacyMigrateFinishRequest, options?: RpcOptions): UnaryCall<LegacyMigrateFinishRequest, LegacyMigrateFinishResponse>;
238
+ /**
239
+ * Session validation.
240
+ *
241
+ * @generated from protobuf rpc: ValidateSession
242
+ */
243
+ validateSession(input: ValidateSessionRequest, options?: RpcOptions): UnaryCall<ValidateSessionRequest, ValidateSessionResponse>;
244
+ /**
245
+ * Unified login flow: resolve principal → available auth methods.
246
+ *
247
+ * @generated from protobuf rpc: ResolvePrincipal
248
+ */
249
+ resolvePrincipal(input: ResolvePrincipalRequest, options?: RpcOptions): UnaryCall<ResolvePrincipalRequest, ResolvePrincipalResponse>;
250
+ /**
251
+ * ZKPP password policy: current policy version and parameters.
252
+ *
253
+ * @generated from protobuf rpc: GetZkppPolicy
254
+ */
255
+ getZkppPolicy(input: GetZkppPolicyRequest, options?: RpcOptions): UnaryCall<GetZkppPolicyRequest, GetZkppPolicyResponse>;
256
+ /**
257
+ * Submit a deferred ZK proof for a credential registered without WASM.
258
+ * Must be called within 24h of registration from a WASM-capable device.
259
+ *
260
+ * @generated from protobuf rpc: SubmitDeferredZkProof
261
+ */
262
+ submitDeferredZkProof(input: SubmitDeferredZkProofRequest, options?: RpcOptions): UnaryCall<SubmitDeferredZkProofRequest, SubmitDeferredZkProofResponse>;
263
+ // ── MFA TOTP ──
264
+
265
+ /**
266
+ * @generated from protobuf rpc: StartTotpEnrollment
267
+ */
268
+ startTotpEnrollment(input: StartTotpEnrollmentRequest, options?: RpcOptions): UnaryCall<StartTotpEnrollmentRequest, TotpEnrollmentChallenge>;
269
+ /**
270
+ * @generated from protobuf rpc: FinishTotpEnrollment
271
+ */
272
+ finishTotpEnrollment(input: FinishTotpEnrollmentRequest, options?: RpcOptions): UnaryCall<FinishTotpEnrollmentRequest, FinishTotpEnrollmentResponse>;
273
+ /**
274
+ * @generated from protobuf rpc: VerifyTotp
275
+ */
276
+ verifyTotp(input: VerifyTotpRequest, options?: RpcOptions): UnaryCall<VerifyTotpRequest, MfaVerifyResponse>;
277
+ // ── MFA SMS ──
278
+
279
+ /**
280
+ * @generated from protobuf rpc: VerifySmsMfa
281
+ */
282
+ verifySmsMfa(input: VerifySmsMfaRequest, options?: RpcOptions): UnaryCall<VerifySmsMfaRequest, MfaVerifyResponse>;
283
+ /**
284
+ * @generated from protobuf rpc: ResendSmsMfa
285
+ */
286
+ resendSmsMfa(input: ResendSmsMfaRequest, options?: RpcOptions): UnaryCall<ResendSmsMfaRequest, ResendSmsMfaResponse>;
287
+ // ── MFA Recovery Codes ──
288
+
289
+ /**
290
+ * @generated from protobuf rpc: GenerateRecoveryCodes
291
+ */
292
+ generateRecoveryCodes(input: GenerateRecoveryCodesRequest, options?: RpcOptions): UnaryCall<GenerateRecoveryCodesRequest, GenerateRecoveryCodesResponse>;
293
+ /**
294
+ * @generated from protobuf rpc: VerifyRecoveryCode
295
+ */
296
+ verifyRecoveryCode(input: VerifyRecoveryCodeRequest, options?: RpcOptions): UnaryCall<VerifyRecoveryCodeRequest, MfaVerifyResponse>;
297
+ // ── OTP verification (email/phone, non-MFA) ──
298
+
299
+ /**
300
+ * @generated from protobuf rpc: RequestOtp
301
+ */
302
+ requestOtp(input: RequestOtpRequest, options?: RpcOptions): UnaryCall<RequestOtpRequest, RequestOtpResponse>;
303
+ /**
304
+ * @generated from protobuf rpc: VerifyOtp
305
+ */
306
+ verifyOtp(input: VerifyOtpRequest, options?: RpcOptions): UnaryCall<VerifyOtpRequest, VerifyOtpResponse>;
307
+ /**
308
+ * @generated from protobuf rpc: ResendOtp
309
+ */
310
+ resendOtp(input: ResendOtpRequest, options?: RpcOptions): UnaryCall<ResendOtpRequest, ResendOtpResponse>;
311
+ // ── Email/Phone verification ──
312
+
313
+ /**
314
+ * @generated from protobuf rpc: ResendEmailVerification
315
+ */
316
+ resendEmailVerification(input: ResendEmailVerificationRequest, options?: RpcOptions): UnaryCall<ResendEmailVerificationRequest, ResendEmailVerificationResponse>;
317
+ /**
318
+ * @generated from protobuf rpc: VerifyPhone
319
+ */
320
+ verifyPhone(input: VerifyPhoneRequest, options?: RpcOptions): UnaryCall<VerifyPhoneRequest, VerifyPhoneResponse>;
321
+ /**
322
+ * @generated from protobuf rpc: ResendPhoneVerification
323
+ */
324
+ resendPhoneVerification(input: ResendPhoneVerificationRequest, options?: RpcOptions): UnaryCall<ResendPhoneVerificationRequest, ResendPhoneVerificationResponse>;
325
+ // ── IdP linking ──
326
+
327
+ /**
328
+ * @generated from protobuf rpc: ConfirmIdpLink
329
+ */
330
+ confirmIdpLink(input: ConfirmIdpLinkRequest, options?: RpcOptions): UnaryCall<ConfirmIdpLinkRequest, ConfirmIdpLinkResponse>;
331
+ // ── Organization selector (multi-org login) ──
332
+
333
+ /**
334
+ * @generated from protobuf rpc: ListUserOrganizations
335
+ */
336
+ listUserOrganizations(input: ListUserOrganizationsRequest, options?: RpcOptions): UnaryCall<ListUserOrganizationsRequest, ListUserOrganizationsResponse>;
337
+ /**
338
+ * @generated from protobuf rpc: SelectOrganization
339
+ */
340
+ selectOrganization(input: SelectOrganizationRequest, options?: RpcOptions): UnaryCall<SelectOrganizationRequest, SelectOrganizationResponse>;
341
+ // ── Terms acceptance ──
342
+
343
+ /**
344
+ * @generated from protobuf rpc: GetTerms
345
+ */
346
+ getTerms(input: GetTermsRequest, options?: RpcOptions): UnaryCall<GetTermsRequest, GetTermsResponse>;
347
+ /**
348
+ * @generated from protobuf rpc: AcceptTerms
349
+ */
350
+ acceptTerms(input: AcceptTermsRequest, options?: RpcOptions): UnaryCall<AcceptTermsRequest, AcceptTermsResponse>;
351
+ // ── CIBA consent (EE) ──
352
+
353
+ /**
354
+ * @generated from protobuf rpc: ApproveCiba
355
+ */
356
+ approveCiba(input: ApproveCibaRequest, options?: RpcOptions): UnaryCall<ApproveCibaRequest, CibaConsentResponse>;
357
+ /**
358
+ * @generated from protobuf rpc: DenyCiba
359
+ */
360
+ denyCiba(input: DenyCibaRequest, options?: RpcOptions): UnaryCall<DenyCibaRequest, CibaConsentResponse>;
361
+ // ── Captcha ──
362
+
363
+ /**
364
+ * @generated from protobuf rpc: VerifyCaptcha
365
+ */
366
+ verifyCaptcha(input: VerifyCaptchaRequest, options?: RpcOptions): UnaryCall<VerifyCaptchaRequest, VerifyCaptchaResponse>;
367
+ // ── Dynamic prompt (EE custom auth steps) ──
368
+
369
+ /**
370
+ * @generated from protobuf rpc: GetDynamicPrompt
371
+ */
372
+ getDynamicPrompt(input: GetDynamicPromptRequest, options?: RpcOptions): UnaryCall<GetDynamicPromptRequest, DynamicPrompt>;
373
+ /**
374
+ * @generated from protobuf rpc: SubmitDynamicPrompt
375
+ */
376
+ submitDynamicPrompt(input: SubmitDynamicPromptRequest, options?: RpcOptions): UnaryCall<SubmitDynamicPromptRequest, SubmitDynamicPromptResponse>;
377
+ // ── Step-up authentication ──
378
+
379
+ /**
380
+ * Generic step-up Phase 1: request challenge (WebAuthn). Skip for TOTP/recovery.
381
+ *
382
+ * @generated from protobuf rpc: RequestStepUp
383
+ */
384
+ requestStepUp(input: RequestStepUpRequest, options?: RpcOptions): UnaryCall<RequestStepUpRequest, StepUpChallenge>;
385
+ /**
386
+ * Generic step-up Phase 2: submit proof → elevate session → rotate token.
387
+ *
388
+ * @generated from protobuf rpc: CompleteStepUp
389
+ */
390
+ completeStepUp(input: CompleteStepUpRequest, options?: RpcOptions): UnaryCall<CompleteStepUpRequest, CompleteStepUpResponse>;
391
+ // ── MFA credential management ──
392
+
393
+ /**
394
+ * Delete an MFA credential (TOTP, WebAuthn, Recovery).
395
+ * Requires elevated session (step-up auth) before calling.
396
+ *
397
+ * @generated from protobuf rpc: DeleteMfaCredential
398
+ */
399
+ deleteMfaCredential(input: DeleteMfaCredentialRequest, options?: RpcOptions): UnaryCall<DeleteMfaCredentialRequest, DeleteMfaCredentialResponse>;
400
+ // ── Account deletion confirmation ──
401
+
402
+ /**
403
+ * @generated from protobuf rpc: ConfirmAccountDeletion
404
+ */
405
+ confirmAccountDeletion(input: ConfirmAccountDeletionRequest, options?: RpcOptions): UnaryCall<ConfirmAccountDeletionRequest, ConfirmAccountDeletionResponse>;
406
+ /**
407
+ * Password reset flow (magic link → new OPAQUE credential).
408
+ * SaaS extends this with key recovery (Shamir shards, DownloadRecoveryShard) in proto-ee.
409
+ *
410
+ * @generated from protobuf rpc: RequestPasswordReset
411
+ */
412
+ requestPasswordReset(input: RequestPasswordResetRequest, options?: RpcOptions): UnaryCall<RequestPasswordResetRequest, RequestPasswordResetResponse>;
413
+ /**
414
+ * @generated from protobuf rpc: VerifyPasswordReset
415
+ */
416
+ verifyPasswordReset(input: VerifyPasswordResetRequest, options?: RpcOptions): UnaryCall<VerifyPasswordResetRequest, VerifyPasswordResetResponse>;
417
+ /**
418
+ * @generated from protobuf rpc: CompletePasswordReset
419
+ */
420
+ completePasswordReset(input: CompletePasswordResetRequest, options?: RpcOptions): UnaryCall<CompletePasswordResetRequest, CompletePasswordResetResponse>;
421
+ }
422
+ /**
423
+ * AuthService handles authentication flows.
424
+ *
425
+ * @generated from protobuf service sid.v1.authn.AuthService
426
+ */
427
+ export class AuthServiceClient implements IAuthServiceClient, ServiceInfo {
428
+ typeName = AuthService.typeName;
429
+ methods = AuthService.methods;
430
+ options = AuthService.options;
431
+ constructor(private readonly _transport: RpcTransport) {
432
+ }
433
+ /**
434
+ * OPAQUE password authentication (RFC 9807).
435
+ *
436
+ * @generated from protobuf rpc: OpaqueRegistrationStart
437
+ */
438
+ opaqueRegistrationStart(input: OpaqueRegistrationStartRequest, options?: RpcOptions): UnaryCall<OpaqueRegistrationStartRequest, OpaqueRegistrationStartResponse> {
439
+ const method = this.methods[0], opt = this._transport.mergeOptions(options);
440
+ return stackIntercept<OpaqueRegistrationStartRequest, OpaqueRegistrationStartResponse>("unary", this._transport, method, opt, input);
441
+ }
442
+ /**
443
+ * @generated from protobuf rpc: OpaqueRegistrationFinish
444
+ */
445
+ opaqueRegistrationFinish(input: OpaqueRegistrationFinishRequest, options?: RpcOptions): UnaryCall<OpaqueRegistrationFinishRequest, OpaqueRegistrationFinishResponse> {
446
+ const method = this.methods[1], opt = this._transport.mergeOptions(options);
447
+ return stackIntercept<OpaqueRegistrationFinishRequest, OpaqueRegistrationFinishResponse>("unary", this._transport, method, opt, input);
448
+ }
449
+ /**
450
+ * @generated from protobuf rpc: OpaqueLoginStart
451
+ */
452
+ opaqueLoginStart(input: OpaqueLoginStartRequest, options?: RpcOptions): UnaryCall<OpaqueLoginStartRequest, OpaqueLoginStartResponse> {
453
+ const method = this.methods[2], opt = this._transport.mergeOptions(options);
454
+ return stackIntercept<OpaqueLoginStartRequest, OpaqueLoginStartResponse>("unary", this._transport, method, opt, input);
455
+ }
456
+ /**
457
+ * @generated from protobuf rpc: OpaqueLoginFinish
458
+ */
459
+ opaqueLoginFinish(input: OpaqueLoginFinishRequest, options?: RpcOptions): UnaryCall<OpaqueLoginFinishRequest, OpaqueLoginFinishResponse> {
460
+ const method = this.methods[3], opt = this._transport.mergeOptions(options);
461
+ return stackIntercept<OpaqueLoginFinishRequest, OpaqueLoginFinishResponse>("unary", this._transport, method, opt, input);
462
+ }
463
+ /**
464
+ * OPAQUE-ZKPP: OPAQUE with zero-knowledge password policy proof (Pallas curve).
465
+ *
466
+ * @generated from protobuf rpc: OpaqueZkppRegistrationStart
467
+ */
468
+ opaqueZkppRegistrationStart(input: OpaqueZkppRegistrationStartRequest, options?: RpcOptions): UnaryCall<OpaqueZkppRegistrationStartRequest, OpaqueZkppRegistrationStartResponse> {
469
+ const method = this.methods[4], opt = this._transport.mergeOptions(options);
470
+ return stackIntercept<OpaqueZkppRegistrationStartRequest, OpaqueZkppRegistrationStartResponse>("unary", this._transport, method, opt, input);
471
+ }
472
+ /**
473
+ * @generated from protobuf rpc: OpaqueZkppRegistrationFinish
474
+ */
475
+ opaqueZkppRegistrationFinish(input: OpaqueZkppRegistrationFinishRequest, options?: RpcOptions): UnaryCall<OpaqueZkppRegistrationFinishRequest, OpaqueZkppRegistrationFinishResponse> {
476
+ const method = this.methods[5], opt = this._transport.mergeOptions(options);
477
+ return stackIntercept<OpaqueZkppRegistrationFinishRequest, OpaqueZkppRegistrationFinishResponse>("unary", this._transport, method, opt, input);
478
+ }
479
+ /**
480
+ * @generated from protobuf rpc: PasswordChangeChallenge
481
+ */
482
+ passwordChangeChallenge(input: PasswordChangeChallengeRequest, options?: RpcOptions): UnaryCall<PasswordChangeChallengeRequest, PasswordChangeChallengeResponse> {
483
+ const method = this.methods[6], opt = this._transport.mergeOptions(options);
484
+ return stackIntercept<PasswordChangeChallengeRequest, PasswordChangeChallengeResponse>("unary", this._transport, method, opt, input);
485
+ }
486
+ /**
487
+ * @generated from protobuf rpc: PasswordChangeExecute
488
+ */
489
+ passwordChangeExecute(input: PasswordChangeExecuteRequest, options?: RpcOptions): UnaryCall<PasswordChangeExecuteRequest, PasswordChangeExecuteResponse> {
490
+ const method = this.methods[7], opt = this._transport.mergeOptions(options);
491
+ return stackIntercept<PasswordChangeExecuteRequest, PasswordChangeExecuteResponse>("unary", this._transport, method, opt, input);
492
+ }
493
+ /**
494
+ * @generated from protobuf rpc: PasswordChangeFinish
495
+ */
496
+ passwordChangeFinish(input: PasswordChangeFinishRequest, options?: RpcOptions): UnaryCall<PasswordChangeFinishRequest, PasswordChangeFinishResponse> {
497
+ const method = this.methods[8], opt = this._transport.mergeOptions(options);
498
+ return stackIntercept<PasswordChangeFinishRequest, PasswordChangeFinishResponse>("unary", this._transport, method, opt, input);
499
+ }
500
+ /**
501
+ * WebAuthn (passkeys).
502
+ *
503
+ * @generated from protobuf rpc: WebAuthnRegistrationStart
504
+ */
505
+ webAuthnRegistrationStart(input: WebAuthnRegistrationStartRequest, options?: RpcOptions): UnaryCall<WebAuthnRegistrationStartRequest, WebAuthnRegistrationStartResponse> {
506
+ const method = this.methods[9], opt = this._transport.mergeOptions(options);
507
+ return stackIntercept<WebAuthnRegistrationStartRequest, WebAuthnRegistrationStartResponse>("unary", this._transport, method, opt, input);
508
+ }
509
+ /**
510
+ * @generated from protobuf rpc: WebAuthnRegistrationFinish
511
+ */
512
+ webAuthnRegistrationFinish(input: WebAuthnRegistrationFinishRequest, options?: RpcOptions): UnaryCall<WebAuthnRegistrationFinishRequest, WebAuthnRegistrationFinishResponse> {
513
+ const method = this.methods[10], opt = this._transport.mergeOptions(options);
514
+ return stackIntercept<WebAuthnRegistrationFinishRequest, WebAuthnRegistrationFinishResponse>("unary", this._transport, method, opt, input);
515
+ }
516
+ /**
517
+ * @generated from protobuf rpc: WebAuthnAuthenticationStart
518
+ */
519
+ webAuthnAuthenticationStart(input: WebAuthnAuthenticationStartRequest, options?: RpcOptions): UnaryCall<WebAuthnAuthenticationStartRequest, WebAuthnAuthenticationStartResponse> {
520
+ const method = this.methods[11], opt = this._transport.mergeOptions(options);
521
+ return stackIntercept<WebAuthnAuthenticationStartRequest, WebAuthnAuthenticationStartResponse>("unary", this._transport, method, opt, input);
522
+ }
523
+ /**
524
+ * @generated from protobuf rpc: WebAuthnAuthenticationFinish
525
+ */
526
+ webAuthnAuthenticationFinish(input: WebAuthnAuthenticationFinishRequest, options?: RpcOptions): UnaryCall<WebAuthnAuthenticationFinishRequest, WebAuthnAuthenticationFinishResponse> {
527
+ const method = this.methods[12], opt = this._transport.mergeOptions(options);
528
+ return stackIntercept<WebAuthnAuthenticationFinishRequest, WebAuthnAuthenticationFinishResponse>("unary", this._transport, method, opt, input);
529
+ }
530
+ /**
531
+ * OAuth2 / OIDC flows.
532
+ *
533
+ * @generated from protobuf rpc: OAuth2Authorize
534
+ */
535
+ oAuth2Authorize(input: OAuth2AuthorizeRequest, options?: RpcOptions): UnaryCall<OAuth2AuthorizeRequest, OAuth2AuthorizeResponse> {
536
+ const method = this.methods[13], opt = this._transport.mergeOptions(options);
537
+ return stackIntercept<OAuth2AuthorizeRequest, OAuth2AuthorizeResponse>("unary", this._transport, method, opt, input);
538
+ }
539
+ /**
540
+ * @generated from protobuf rpc: OAuth2Token
541
+ */
542
+ oAuth2Token(input: OAuth2TokenRequest, options?: RpcOptions): UnaryCall<OAuth2TokenRequest, OAuth2TokenResponse> {
543
+ const method = this.methods[14], opt = this._transport.mergeOptions(options);
544
+ return stackIntercept<OAuth2TokenRequest, OAuth2TokenResponse>("unary", this._transport, method, opt, input);
545
+ }
546
+ /**
547
+ * @generated from protobuf rpc: OAuth2Introspect
548
+ */
549
+ oAuth2Introspect(input: OAuth2IntrospectRequest, options?: RpcOptions): UnaryCall<OAuth2IntrospectRequest, OAuth2IntrospectResponse> {
550
+ const method = this.methods[15], opt = this._transport.mergeOptions(options);
551
+ return stackIntercept<OAuth2IntrospectRequest, OAuth2IntrospectResponse>("unary", this._transport, method, opt, input);
552
+ }
553
+ /**
554
+ * @generated from protobuf rpc: OAuth2Revoke
555
+ */
556
+ oAuth2Revoke(input: OAuth2RevokeRequest, options?: RpcOptions): UnaryCall<OAuth2RevokeRequest, OAuth2RevokeResponse> {
557
+ const method = this.methods[16], opt = this._transport.mergeOptions(options);
558
+ return stackIntercept<OAuth2RevokeRequest, OAuth2RevokeResponse>("unary", this._transport, method, opt, input);
559
+ }
560
+ /**
561
+ * Device Authorization Grant (RFC 8628).
562
+ *
563
+ * @generated from protobuf rpc: StartDeviceAuthorization
564
+ */
565
+ startDeviceAuthorization(input: DeviceAuthorizationRequest, options?: RpcOptions): UnaryCall<DeviceAuthorizationRequest, DeviceAuthorizationResponse> {
566
+ const method = this.methods[17], opt = this._transport.mergeOptions(options);
567
+ return stackIntercept<DeviceAuthorizationRequest, DeviceAuthorizationResponse>("unary", this._transport, method, opt, input);
568
+ }
569
+ /**
570
+ * @generated from protobuf rpc: PollDeviceToken
571
+ */
572
+ pollDeviceToken(input: PollDeviceTokenRequest, options?: RpcOptions): UnaryCall<PollDeviceTokenRequest, OAuth2TokenResponse> {
573
+ const method = this.methods[18], opt = this._transport.mergeOptions(options);
574
+ return stackIntercept<PollDeviceTokenRequest, OAuth2TokenResponse>("unary", this._transport, method, opt, input);
575
+ }
576
+ /**
577
+ * @generated from protobuf rpc: SubmitDeviceUserCode
578
+ */
579
+ submitDeviceUserCode(input: SubmitDeviceUserCodeRequest, options?: RpcOptions): UnaryCall<SubmitDeviceUserCodeRequest, SubmitDeviceUserCodeResponse> {
580
+ const method = this.methods[19], opt = this._transport.mergeOptions(options);
581
+ return stackIntercept<SubmitDeviceUserCodeRequest, SubmitDeviceUserCodeResponse>("unary", this._transport, method, opt, input);
582
+ }
583
+ // ── Magic Link (passwordless, corporate profiles) ──
584
+
585
+ /**
586
+ * @generated from protobuf rpc: RequestMagicLink
587
+ */
588
+ requestMagicLink(input: RequestMagicLinkRequest, options?: RpcOptions): UnaryCall<RequestMagicLinkRequest, RequestMagicLinkResponse> {
589
+ const method = this.methods[20], opt = this._transport.mergeOptions(options);
590
+ return stackIntercept<RequestMagicLinkRequest, RequestMagicLinkResponse>("unary", this._transport, method, opt, input);
591
+ }
592
+ /**
593
+ * @generated from protobuf rpc: VerifyMagicLink
594
+ */
595
+ verifyMagicLink(input: VerifyMagicLinkRequest, options?: RpcOptions): UnaryCall<VerifyMagicLinkRequest, VerifyMagicLinkResponse> {
596
+ const method = this.methods[21], opt = this._transport.mergeOptions(options);
597
+ return stackIntercept<VerifyMagicLinkRequest, VerifyMagicLinkResponse>("unary", this._transport, method, opt, input);
598
+ }
599
+ /**
600
+ * Legacy password migration (on-login OPAQUE re-registration).
601
+ *
602
+ * @generated from protobuf rpc: LegacyMigrateStart
603
+ */
604
+ legacyMigrateStart(input: LegacyMigrateStartRequest, options?: RpcOptions): UnaryCall<LegacyMigrateStartRequest, LegacyMigrateStartResponse> {
605
+ const method = this.methods[22], opt = this._transport.mergeOptions(options);
606
+ return stackIntercept<LegacyMigrateStartRequest, LegacyMigrateStartResponse>("unary", this._transport, method, opt, input);
607
+ }
608
+ /**
609
+ * @generated from protobuf rpc: LegacyMigrateFinish
610
+ */
611
+ legacyMigrateFinish(input: LegacyMigrateFinishRequest, options?: RpcOptions): UnaryCall<LegacyMigrateFinishRequest, LegacyMigrateFinishResponse> {
612
+ const method = this.methods[23], opt = this._transport.mergeOptions(options);
613
+ return stackIntercept<LegacyMigrateFinishRequest, LegacyMigrateFinishResponse>("unary", this._transport, method, opt, input);
614
+ }
615
+ /**
616
+ * Session validation.
617
+ *
618
+ * @generated from protobuf rpc: ValidateSession
619
+ */
620
+ validateSession(input: ValidateSessionRequest, options?: RpcOptions): UnaryCall<ValidateSessionRequest, ValidateSessionResponse> {
621
+ const method = this.methods[24], opt = this._transport.mergeOptions(options);
622
+ return stackIntercept<ValidateSessionRequest, ValidateSessionResponse>("unary", this._transport, method, opt, input);
623
+ }
624
+ /**
625
+ * Unified login flow: resolve principal → available auth methods.
626
+ *
627
+ * @generated from protobuf rpc: ResolvePrincipal
628
+ */
629
+ resolvePrincipal(input: ResolvePrincipalRequest, options?: RpcOptions): UnaryCall<ResolvePrincipalRequest, ResolvePrincipalResponse> {
630
+ const method = this.methods[25], opt = this._transport.mergeOptions(options);
631
+ return stackIntercept<ResolvePrincipalRequest, ResolvePrincipalResponse>("unary", this._transport, method, opt, input);
632
+ }
633
+ /**
634
+ * ZKPP password policy: current policy version and parameters.
635
+ *
636
+ * @generated from protobuf rpc: GetZkppPolicy
637
+ */
638
+ getZkppPolicy(input: GetZkppPolicyRequest, options?: RpcOptions): UnaryCall<GetZkppPolicyRequest, GetZkppPolicyResponse> {
639
+ const method = this.methods[26], opt = this._transport.mergeOptions(options);
640
+ return stackIntercept<GetZkppPolicyRequest, GetZkppPolicyResponse>("unary", this._transport, method, opt, input);
641
+ }
642
+ /**
643
+ * Submit a deferred ZK proof for a credential registered without WASM.
644
+ * Must be called within 24h of registration from a WASM-capable device.
645
+ *
646
+ * @generated from protobuf rpc: SubmitDeferredZkProof
647
+ */
648
+ submitDeferredZkProof(input: SubmitDeferredZkProofRequest, options?: RpcOptions): UnaryCall<SubmitDeferredZkProofRequest, SubmitDeferredZkProofResponse> {
649
+ const method = this.methods[27], opt = this._transport.mergeOptions(options);
650
+ return stackIntercept<SubmitDeferredZkProofRequest, SubmitDeferredZkProofResponse>("unary", this._transport, method, opt, input);
651
+ }
652
+ // ── MFA TOTP ──
653
+
654
+ /**
655
+ * @generated from protobuf rpc: StartTotpEnrollment
656
+ */
657
+ startTotpEnrollment(input: StartTotpEnrollmentRequest, options?: RpcOptions): UnaryCall<StartTotpEnrollmentRequest, TotpEnrollmentChallenge> {
658
+ const method = this.methods[28], opt = this._transport.mergeOptions(options);
659
+ return stackIntercept<StartTotpEnrollmentRequest, TotpEnrollmentChallenge>("unary", this._transport, method, opt, input);
660
+ }
661
+ /**
662
+ * @generated from protobuf rpc: FinishTotpEnrollment
663
+ */
664
+ finishTotpEnrollment(input: FinishTotpEnrollmentRequest, options?: RpcOptions): UnaryCall<FinishTotpEnrollmentRequest, FinishTotpEnrollmentResponse> {
665
+ const method = this.methods[29], opt = this._transport.mergeOptions(options);
666
+ return stackIntercept<FinishTotpEnrollmentRequest, FinishTotpEnrollmentResponse>("unary", this._transport, method, opt, input);
667
+ }
668
+ /**
669
+ * @generated from protobuf rpc: VerifyTotp
670
+ */
671
+ verifyTotp(input: VerifyTotpRequest, options?: RpcOptions): UnaryCall<VerifyTotpRequest, MfaVerifyResponse> {
672
+ const method = this.methods[30], opt = this._transport.mergeOptions(options);
673
+ return stackIntercept<VerifyTotpRequest, MfaVerifyResponse>("unary", this._transport, method, opt, input);
674
+ }
675
+ // ── MFA SMS ──
676
+
677
+ /**
678
+ * @generated from protobuf rpc: VerifySmsMfa
679
+ */
680
+ verifySmsMfa(input: VerifySmsMfaRequest, options?: RpcOptions): UnaryCall<VerifySmsMfaRequest, MfaVerifyResponse> {
681
+ const method = this.methods[31], opt = this._transport.mergeOptions(options);
682
+ return stackIntercept<VerifySmsMfaRequest, MfaVerifyResponse>("unary", this._transport, method, opt, input);
683
+ }
684
+ /**
685
+ * @generated from protobuf rpc: ResendSmsMfa
686
+ */
687
+ resendSmsMfa(input: ResendSmsMfaRequest, options?: RpcOptions): UnaryCall<ResendSmsMfaRequest, ResendSmsMfaResponse> {
688
+ const method = this.methods[32], opt = this._transport.mergeOptions(options);
689
+ return stackIntercept<ResendSmsMfaRequest, ResendSmsMfaResponse>("unary", this._transport, method, opt, input);
690
+ }
691
+ // ── MFA Recovery Codes ──
692
+
693
+ /**
694
+ * @generated from protobuf rpc: GenerateRecoveryCodes
695
+ */
696
+ generateRecoveryCodes(input: GenerateRecoveryCodesRequest, options?: RpcOptions): UnaryCall<GenerateRecoveryCodesRequest, GenerateRecoveryCodesResponse> {
697
+ const method = this.methods[33], opt = this._transport.mergeOptions(options);
698
+ return stackIntercept<GenerateRecoveryCodesRequest, GenerateRecoveryCodesResponse>("unary", this._transport, method, opt, input);
699
+ }
700
+ /**
701
+ * @generated from protobuf rpc: VerifyRecoveryCode
702
+ */
703
+ verifyRecoveryCode(input: VerifyRecoveryCodeRequest, options?: RpcOptions): UnaryCall<VerifyRecoveryCodeRequest, MfaVerifyResponse> {
704
+ const method = this.methods[34], opt = this._transport.mergeOptions(options);
705
+ return stackIntercept<VerifyRecoveryCodeRequest, MfaVerifyResponse>("unary", this._transport, method, opt, input);
706
+ }
707
+ // ── OTP verification (email/phone, non-MFA) ──
708
+
709
+ /**
710
+ * @generated from protobuf rpc: RequestOtp
711
+ */
712
+ requestOtp(input: RequestOtpRequest, options?: RpcOptions): UnaryCall<RequestOtpRequest, RequestOtpResponse> {
713
+ const method = this.methods[35], opt = this._transport.mergeOptions(options);
714
+ return stackIntercept<RequestOtpRequest, RequestOtpResponse>("unary", this._transport, method, opt, input);
715
+ }
716
+ /**
717
+ * @generated from protobuf rpc: VerifyOtp
718
+ */
719
+ verifyOtp(input: VerifyOtpRequest, options?: RpcOptions): UnaryCall<VerifyOtpRequest, VerifyOtpResponse> {
720
+ const method = this.methods[36], opt = this._transport.mergeOptions(options);
721
+ return stackIntercept<VerifyOtpRequest, VerifyOtpResponse>("unary", this._transport, method, opt, input);
722
+ }
723
+ /**
724
+ * @generated from protobuf rpc: ResendOtp
725
+ */
726
+ resendOtp(input: ResendOtpRequest, options?: RpcOptions): UnaryCall<ResendOtpRequest, ResendOtpResponse> {
727
+ const method = this.methods[37], opt = this._transport.mergeOptions(options);
728
+ return stackIntercept<ResendOtpRequest, ResendOtpResponse>("unary", this._transport, method, opt, input);
729
+ }
730
+ // ── Email/Phone verification ──
731
+
732
+ /**
733
+ * @generated from protobuf rpc: ResendEmailVerification
734
+ */
735
+ resendEmailVerification(input: ResendEmailVerificationRequest, options?: RpcOptions): UnaryCall<ResendEmailVerificationRequest, ResendEmailVerificationResponse> {
736
+ const method = this.methods[38], opt = this._transport.mergeOptions(options);
737
+ return stackIntercept<ResendEmailVerificationRequest, ResendEmailVerificationResponse>("unary", this._transport, method, opt, input);
738
+ }
739
+ /**
740
+ * @generated from protobuf rpc: VerifyPhone
741
+ */
742
+ verifyPhone(input: VerifyPhoneRequest, options?: RpcOptions): UnaryCall<VerifyPhoneRequest, VerifyPhoneResponse> {
743
+ const method = this.methods[39], opt = this._transport.mergeOptions(options);
744
+ return stackIntercept<VerifyPhoneRequest, VerifyPhoneResponse>("unary", this._transport, method, opt, input);
745
+ }
746
+ /**
747
+ * @generated from protobuf rpc: ResendPhoneVerification
748
+ */
749
+ resendPhoneVerification(input: ResendPhoneVerificationRequest, options?: RpcOptions): UnaryCall<ResendPhoneVerificationRequest, ResendPhoneVerificationResponse> {
750
+ const method = this.methods[40], opt = this._transport.mergeOptions(options);
751
+ return stackIntercept<ResendPhoneVerificationRequest, ResendPhoneVerificationResponse>("unary", this._transport, method, opt, input);
752
+ }
753
+ // ── IdP linking ──
754
+
755
+ /**
756
+ * @generated from protobuf rpc: ConfirmIdpLink
757
+ */
758
+ confirmIdpLink(input: ConfirmIdpLinkRequest, options?: RpcOptions): UnaryCall<ConfirmIdpLinkRequest, ConfirmIdpLinkResponse> {
759
+ const method = this.methods[41], opt = this._transport.mergeOptions(options);
760
+ return stackIntercept<ConfirmIdpLinkRequest, ConfirmIdpLinkResponse>("unary", this._transport, method, opt, input);
761
+ }
762
+ // ── Organization selector (multi-org login) ──
763
+
764
+ /**
765
+ * @generated from protobuf rpc: ListUserOrganizations
766
+ */
767
+ listUserOrganizations(input: ListUserOrganizationsRequest, options?: RpcOptions): UnaryCall<ListUserOrganizationsRequest, ListUserOrganizationsResponse> {
768
+ const method = this.methods[42], opt = this._transport.mergeOptions(options);
769
+ return stackIntercept<ListUserOrganizationsRequest, ListUserOrganizationsResponse>("unary", this._transport, method, opt, input);
770
+ }
771
+ /**
772
+ * @generated from protobuf rpc: SelectOrganization
773
+ */
774
+ selectOrganization(input: SelectOrganizationRequest, options?: RpcOptions): UnaryCall<SelectOrganizationRequest, SelectOrganizationResponse> {
775
+ const method = this.methods[43], opt = this._transport.mergeOptions(options);
776
+ return stackIntercept<SelectOrganizationRequest, SelectOrganizationResponse>("unary", this._transport, method, opt, input);
777
+ }
778
+ // ── Terms acceptance ──
779
+
780
+ /**
781
+ * @generated from protobuf rpc: GetTerms
782
+ */
783
+ getTerms(input: GetTermsRequest, options?: RpcOptions): UnaryCall<GetTermsRequest, GetTermsResponse> {
784
+ const method = this.methods[44], opt = this._transport.mergeOptions(options);
785
+ return stackIntercept<GetTermsRequest, GetTermsResponse>("unary", this._transport, method, opt, input);
786
+ }
787
+ /**
788
+ * @generated from protobuf rpc: AcceptTerms
789
+ */
790
+ acceptTerms(input: AcceptTermsRequest, options?: RpcOptions): UnaryCall<AcceptTermsRequest, AcceptTermsResponse> {
791
+ const method = this.methods[45], opt = this._transport.mergeOptions(options);
792
+ return stackIntercept<AcceptTermsRequest, AcceptTermsResponse>("unary", this._transport, method, opt, input);
793
+ }
794
+ // ── CIBA consent (EE) ──
795
+
796
+ /**
797
+ * @generated from protobuf rpc: ApproveCiba
798
+ */
799
+ approveCiba(input: ApproveCibaRequest, options?: RpcOptions): UnaryCall<ApproveCibaRequest, CibaConsentResponse> {
800
+ const method = this.methods[46], opt = this._transport.mergeOptions(options);
801
+ return stackIntercept<ApproveCibaRequest, CibaConsentResponse>("unary", this._transport, method, opt, input);
802
+ }
803
+ /**
804
+ * @generated from protobuf rpc: DenyCiba
805
+ */
806
+ denyCiba(input: DenyCibaRequest, options?: RpcOptions): UnaryCall<DenyCibaRequest, CibaConsentResponse> {
807
+ const method = this.methods[47], opt = this._transport.mergeOptions(options);
808
+ return stackIntercept<DenyCibaRequest, CibaConsentResponse>("unary", this._transport, method, opt, input);
809
+ }
810
+ // ── Captcha ──
811
+
812
+ /**
813
+ * @generated from protobuf rpc: VerifyCaptcha
814
+ */
815
+ verifyCaptcha(input: VerifyCaptchaRequest, options?: RpcOptions): UnaryCall<VerifyCaptchaRequest, VerifyCaptchaResponse> {
816
+ const method = this.methods[48], opt = this._transport.mergeOptions(options);
817
+ return stackIntercept<VerifyCaptchaRequest, VerifyCaptchaResponse>("unary", this._transport, method, opt, input);
818
+ }
819
+ // ── Dynamic prompt (EE custom auth steps) ──
820
+
821
+ /**
822
+ * @generated from protobuf rpc: GetDynamicPrompt
823
+ */
824
+ getDynamicPrompt(input: GetDynamicPromptRequest, options?: RpcOptions): UnaryCall<GetDynamicPromptRequest, DynamicPrompt> {
825
+ const method = this.methods[49], opt = this._transport.mergeOptions(options);
826
+ return stackIntercept<GetDynamicPromptRequest, DynamicPrompt>("unary", this._transport, method, opt, input);
827
+ }
828
+ /**
829
+ * @generated from protobuf rpc: SubmitDynamicPrompt
830
+ */
831
+ submitDynamicPrompt(input: SubmitDynamicPromptRequest, options?: RpcOptions): UnaryCall<SubmitDynamicPromptRequest, SubmitDynamicPromptResponse> {
832
+ const method = this.methods[50], opt = this._transport.mergeOptions(options);
833
+ return stackIntercept<SubmitDynamicPromptRequest, SubmitDynamicPromptResponse>("unary", this._transport, method, opt, input);
834
+ }
835
+ // ── Step-up authentication ──
836
+
837
+ /**
838
+ * Generic step-up Phase 1: request challenge (WebAuthn). Skip for TOTP/recovery.
839
+ *
840
+ * @generated from protobuf rpc: RequestStepUp
841
+ */
842
+ requestStepUp(input: RequestStepUpRequest, options?: RpcOptions): UnaryCall<RequestStepUpRequest, StepUpChallenge> {
843
+ const method = this.methods[51], opt = this._transport.mergeOptions(options);
844
+ return stackIntercept<RequestStepUpRequest, StepUpChallenge>("unary", this._transport, method, opt, input);
845
+ }
846
+ /**
847
+ * Generic step-up Phase 2: submit proof → elevate session → rotate token.
848
+ *
849
+ * @generated from protobuf rpc: CompleteStepUp
850
+ */
851
+ completeStepUp(input: CompleteStepUpRequest, options?: RpcOptions): UnaryCall<CompleteStepUpRequest, CompleteStepUpResponse> {
852
+ const method = this.methods[52], opt = this._transport.mergeOptions(options);
853
+ return stackIntercept<CompleteStepUpRequest, CompleteStepUpResponse>("unary", this._transport, method, opt, input);
854
+ }
855
+ // ── MFA credential management ──
856
+
857
+ /**
858
+ * Delete an MFA credential (TOTP, WebAuthn, Recovery).
859
+ * Requires elevated session (step-up auth) before calling.
860
+ *
861
+ * @generated from protobuf rpc: DeleteMfaCredential
862
+ */
863
+ deleteMfaCredential(input: DeleteMfaCredentialRequest, options?: RpcOptions): UnaryCall<DeleteMfaCredentialRequest, DeleteMfaCredentialResponse> {
864
+ const method = this.methods[53], opt = this._transport.mergeOptions(options);
865
+ return stackIntercept<DeleteMfaCredentialRequest, DeleteMfaCredentialResponse>("unary", this._transport, method, opt, input);
866
+ }
867
+ // ── Account deletion confirmation ──
868
+
869
+ /**
870
+ * @generated from protobuf rpc: ConfirmAccountDeletion
871
+ */
872
+ confirmAccountDeletion(input: ConfirmAccountDeletionRequest, options?: RpcOptions): UnaryCall<ConfirmAccountDeletionRequest, ConfirmAccountDeletionResponse> {
873
+ const method = this.methods[54], opt = this._transport.mergeOptions(options);
874
+ return stackIntercept<ConfirmAccountDeletionRequest, ConfirmAccountDeletionResponse>("unary", this._transport, method, opt, input);
875
+ }
876
+ /**
877
+ * Password reset flow (magic link → new OPAQUE credential).
878
+ * SaaS extends this with key recovery (Shamir shards, DownloadRecoveryShard) in proto-ee.
879
+ *
880
+ * @generated from protobuf rpc: RequestPasswordReset
881
+ */
882
+ requestPasswordReset(input: RequestPasswordResetRequest, options?: RpcOptions): UnaryCall<RequestPasswordResetRequest, RequestPasswordResetResponse> {
883
+ const method = this.methods[55], opt = this._transport.mergeOptions(options);
884
+ return stackIntercept<RequestPasswordResetRequest, RequestPasswordResetResponse>("unary", this._transport, method, opt, input);
885
+ }
886
+ /**
887
+ * @generated from protobuf rpc: VerifyPasswordReset
888
+ */
889
+ verifyPasswordReset(input: VerifyPasswordResetRequest, options?: RpcOptions): UnaryCall<VerifyPasswordResetRequest, VerifyPasswordResetResponse> {
890
+ const method = this.methods[56], opt = this._transport.mergeOptions(options);
891
+ return stackIntercept<VerifyPasswordResetRequest, VerifyPasswordResetResponse>("unary", this._transport, method, opt, input);
892
+ }
893
+ /**
894
+ * @generated from protobuf rpc: CompletePasswordReset
895
+ */
896
+ completePasswordReset(input: CompletePasswordResetRequest, options?: RpcOptions): UnaryCall<CompletePasswordResetRequest, CompletePasswordResetResponse> {
897
+ const method = this.methods[57], opt = this._transport.mergeOptions(options);
898
+ return stackIntercept<CompletePasswordResetRequest, CompletePasswordResetResponse>("unary", this._transport, method, opt, input);
899
+ }
900
+ }