@spfn/auth 0.3.0-beta.27 → 0.3.0-beta.28

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/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { P as PermissionConfig, R as RoleConfig, m as mainAuthRouter, L as LoginResult, S as SendVerificationCodeResult, a as RegisterResult, b as RequestSignupLinkResult, C as ConfirmSignupLinkResult, c as RequestPasswordResetResult, d as ConfirmPasswordResetResult, e as StartDeviceAuthResult, D as DeviceAuthInfoResult, F as FinishPasskeyEnrollmentResult, f as PasskeySummary, T as TotpEnrolmentResult, g as ConfirmTotpResult, M as MfaStatus, V as VerifyMfaChallengeResult, h as RotateKeyResult, K as KeySummary, i as RevokeAllKeysResult, j as SessionBindingResult, k as SessionRenewResult, I as IssueOneTimeTokenResult, O as OAuthStartResult, l as OAuthFinalizeResponse, n as OAuthNativeResult, U as UserProfile, o as ProfileInfo, p as OAuth2ConsentView, q as OAuth2AuthorizationCodeIssued, r as OAuth2GrantSummary } from './machine-principals-BvRw8b8t.js';
2
- export { A as AuthInitOptions, s as AuthSession, t as PERMISSION_CATEGORIES, u as PermissionCategory, v as VERIFICATION_PURPOSES, w as VERIFICATION_TARGET_TYPES, x as VerificationPurpose, y as VerificationTargetType } from './machine-principals-BvRw8b8t.js';
1
+ import { P as PermissionConfig, R as RoleConfig, m as mainAuthRouter, L as LoginResult, a as RegisterResult, S as SendVerificationCodeResult, b as StartDeviceAuthResult, D as DeviceAuthInfoResult, I as IssueDeviceLinkResult, c as RedeemDeviceLinkResult, d as DeviceLinkStatusResult, e as RotateKeyResult, K as KeySummary, f as RevokeAllKeysResult, g as IssueOneTimeTokenResult, U as UserProfile, h as ProfileInfo, O as OAuthStartResult, i as OAuthFinalizeResponse, j as OAuthNativeResult, k as RequestSignupLinkResult, C as ConfirmSignupLinkResult, l as RequestPasswordResetResult, n as ConfirmPasswordResetResult, F as FinishPasskeyEnrollmentResult, o as PasskeySummary, T as TotpEnrolmentResult, p as ConfirmTotpResult, M as MfaStatus, V as VerifyMfaChallengeResult, q as SessionBindingResult, r as SessionRenewResult, s as OAuth2ConsentView, t as OAuth2AuthorizationCodeIssued, u as OAuth2GrantSummary } from './machine-principals-B0bjs-0K.js';
2
+ export { A as AuthInitOptions, v as AuthSession, w as PERMISSION_CATEGORIES, x as PermissionCategory, y as VERIFICATION_PURPOSES, z as VERIFICATION_TARGET_TYPES, B as VerificationPurpose, E as VerificationTargetType } from './machine-principals-B0bjs-0K.js';
3
3
  import * as _simplewebauthn_server from '@simplewebauthn/server';
4
4
  import * as _spfn_core_nextjs from '@spfn/core/nextjs';
5
5
  import * as _spfn_core_route from '@spfn/core/route';
@@ -11,6 +11,31 @@ import '@spfn/core/event';
11
11
  import 'hono';
12
12
  import '@spfn/auth/server';
13
13
 
14
+ /**
15
+ * @spfn/auth - Built-in Roles and Permissions
16
+ *
17
+ * Core roles and permissions required by the auth package
18
+ * These cannot be deleted and are automatically created on initialization
19
+ */
20
+
21
+ /**
22
+ * Built-in roles (required by package)
23
+ * These roles are always created and cannot be deleted
24
+ */
25
+ declare const BUILTIN_ROLES: Record<string, RoleConfig>;
26
+ /**
27
+ * Built-in permissions (required by package)
28
+ * These permissions are always created and cannot be deleted
29
+ */
30
+ declare const BUILTIN_PERMISSIONS: Record<string, PermissionConfig>;
31
+ /**
32
+ * Built-in role-permission mappings
33
+ * Defines default permissions for each built-in role
34
+ */
35
+ declare const BUILTIN_ROLE_PERMISSIONS: Record<string, string[]>;
36
+ type BuiltinRoleName = keyof typeof BUILTIN_ROLE_PERMISSIONS;
37
+ type BuiltinPermissionName = typeof BUILTIN_PERMISSIONS[keyof typeof BUILTIN_PERMISSIONS]['name'];
38
+
14
39
  /**
15
40
  * Email regex pattern (RFC 5322 compliant)
16
41
  * Validates: local-part@domain.tld
@@ -38,31 +63,6 @@ declare const UUID_PATTERN = "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[
38
63
  */
39
64
  declare const BASE64_PATTERN = "^[A-Za-z0-9+/]+=*$";
40
65
 
41
- /**
42
- * @spfn/auth - Built-in Roles and Permissions
43
- *
44
- * Core roles and permissions required by the auth package
45
- * These cannot be deleted and are automatically created on initialization
46
- */
47
-
48
- /**
49
- * Built-in roles (required by package)
50
- * These roles are always created and cannot be deleted
51
- */
52
- declare const BUILTIN_ROLES: Record<string, RoleConfig>;
53
- /**
54
- * Built-in permissions (required by package)
55
- * These permissions are always created and cannot be deleted
56
- */
57
- declare const BUILTIN_PERMISSIONS: Record<string, PermissionConfig>;
58
- /**
59
- * Built-in role-permission mappings
60
- * Defines default permissions for each built-in role
61
- */
62
- declare const BUILTIN_ROLE_PERMISSIONS: Record<string, string[]>;
63
- type BuiltinRoleName = keyof typeof BUILTIN_ROLE_PERMISSIONS;
64
- type BuiltinPermissionName = typeof BUILTIN_PERMISSIONS[keyof typeof BUILTIN_PERMISSIONS]['name'];
65
-
66
66
  /**
67
67
  * Route Map (Auto-generated)
68
68
  *
@@ -113,24 +113,6 @@ declare const authApi: {
113
113
  platform: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"ios" | "android" | "web" | "desktop">[]>>;
114
114
  }>;
115
115
  }, LoginResult>>;
116
- sendVerificationCode: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
117
- body: _sinclair_typebox.TObject<{
118
- target: _sinclair_typebox.TString;
119
- targetType: _sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"email">, _sinclair_typebox.TLiteral<"phone">]>;
120
- purpose: _sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"registration">, _sinclair_typebox.TLiteral<"login">, _sinclair_typebox.TLiteral<"password_reset">, _sinclair_typebox.TLiteral<"email_change">, _sinclair_typebox.TLiteral<"phone_change">, _sinclair_typebox.TLiteral<"account_deletion">]>;
121
- }>;
122
- }, {}, SendVerificationCodeResult>>;
123
- verifyCode: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
124
- body: _sinclair_typebox.TObject<{
125
- target: _sinclair_typebox.TString;
126
- targetType: _sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"email">, _sinclair_typebox.TLiteral<"phone">]>;
127
- code: _sinclair_typebox.TString;
128
- purpose: _sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"registration">, _sinclair_typebox.TLiteral<"login">, _sinclair_typebox.TLiteral<"password_reset">, _sinclair_typebox.TLiteral<"email_change">, _sinclair_typebox.TLiteral<"phone_change">, _sinclair_typebox.TLiteral<"account_deletion">]>;
129
- }>;
130
- }, {}, {
131
- valid: boolean;
132
- verificationToken: string;
133
- }>>;
134
116
  register: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
135
117
  body: _sinclair_typebox.TObject<{
136
118
  email: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
@@ -149,59 +131,24 @@ declare const authApi: {
149
131
  platform: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"ios" | "android" | "web" | "desktop">[]>>;
150
132
  }>;
151
133
  }, RegisterResult>>;
152
- requestSignupLink: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
153
- body: _sinclair_typebox.TObject<{
154
- email: _sinclair_typebox.TString;
155
- returnPath: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
156
- }>;
157
- }, {}, RequestSignupLinkResult>>;
158
- confirmSignupLink: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
159
- body: _sinclair_typebox.TObject<{
160
- token: _sinclair_typebox.TString;
161
- }>;
162
- }, {}, ConfirmSignupLinkResult>>;
163
- completeSignup: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
164
- body: _sinclair_typebox.TObject<{
165
- password: _sinclair_typebox.TString;
166
- metadata: _sinclair_typebox.TOptional<_sinclair_typebox.TRecord<_sinclair_typebox.TString, _sinclair_typebox.TUnknown>>;
167
- }>;
168
- }, {
169
- body: _sinclair_typebox.TObject<{
170
- setupSecret: _sinclair_typebox.TString;
171
- publicKey: _sinclair_typebox.TString;
172
- keyId: _sinclair_typebox.TString;
173
- fingerprint: _sinclair_typebox.TString;
174
- algorithm: _sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"ES256" | "RS256">[]>;
175
- deviceName: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
176
- platform: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"ios" | "android" | "web" | "desktop">[]>>;
177
- }>;
178
- }, RegisterResult>>;
179
- requestPasswordReset: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
180
- body: _sinclair_typebox.TObject<{
181
- email: _sinclair_typebox.TString;
182
- returnPath: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
183
- }>;
184
- }, {}, RequestPasswordResetResult>>;
185
- confirmPasswordReset: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
186
- body: _sinclair_typebox.TObject<{
187
- token: _sinclair_typebox.TString;
188
- }>;
189
- }, {}, ConfirmPasswordResetResult>>;
190
- completePasswordReset: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
134
+ sendVerificationCode: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
191
135
  body: _sinclair_typebox.TObject<{
192
- password: _sinclair_typebox.TString;
136
+ target: _sinclair_typebox.TString;
137
+ targetType: _sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"email">, _sinclair_typebox.TLiteral<"phone">]>;
138
+ purpose: _sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"registration">, _sinclair_typebox.TLiteral<"login">, _sinclair_typebox.TLiteral<"password_reset">, _sinclair_typebox.TLiteral<"email_change">, _sinclair_typebox.TLiteral<"phone_change">, _sinclair_typebox.TLiteral<"account_deletion">]>;
193
139
  }>;
194
- }, {
140
+ }, {}, SendVerificationCodeResult>>;
141
+ verifyCode: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
195
142
  body: _sinclair_typebox.TObject<{
196
- setupSecret: _sinclair_typebox.TString;
197
- publicKey: _sinclair_typebox.TString;
198
- keyId: _sinclair_typebox.TString;
199
- fingerprint: _sinclair_typebox.TString;
200
- algorithm: _sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"ES256" | "RS256">[]>;
201
- deviceName: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
202
- platform: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"ios" | "android" | "web" | "desktop">[]>>;
143
+ target: _sinclair_typebox.TString;
144
+ targetType: _sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"email">, _sinclair_typebox.TLiteral<"phone">]>;
145
+ code: _sinclair_typebox.TString;
146
+ purpose: _sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"registration">, _sinclair_typebox.TLiteral<"login">, _sinclair_typebox.TLiteral<"password_reset">, _sinclair_typebox.TLiteral<"email_change">, _sinclair_typebox.TLiteral<"phone_change">, _sinclair_typebox.TLiteral<"account_deletion">]>;
203
147
  }>;
204
- }, LoginResult>>;
148
+ }, {}, {
149
+ valid: boolean;
150
+ verificationToken: string;
151
+ }>>;
205
152
  startDeviceAuth: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
206
153
  body: _sinclair_typebox.TObject<{
207
154
  publicKey: _sinclair_typebox.TString;
@@ -246,103 +193,59 @@ declare const authApi: {
246
193
  userCode: _sinclair_typebox.TString;
247
194
  }>;
248
195
  }, {}, void>>;
249
- passkeyRegisterOptions: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
250
- body: _sinclair_typebox.TObject<{
251
- currentPassword: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
252
- }>;
253
- }, {}, _simplewebauthn_server.PublicKeyCredentialCreationOptionsJSON>>;
254
- passkeyRegisterVerify: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
255
- body: _sinclair_typebox.TObject<{
256
- response: _sinclair_typebox.TUnknown;
257
- label: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
258
- }>;
259
- }, {}, FinishPasskeyEnrollmentResult>>;
260
- passkeyLoginOptions: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
261
- body: _sinclair_typebox.TObject<{}>;
262
- }, {}, _simplewebauthn_server.PublicKeyCredentialRequestOptionsJSON>>;
263
- passkeyLoginVerify: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
264
- body: _sinclair_typebox.TObject<{
265
- response: _sinclair_typebox.TUnknown;
266
- }>;
267
- }, {
196
+ issueDeviceLink: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{}, {}, IssueDeviceLinkResult>>;
197
+ redeemDeviceLink: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
268
198
  body: _sinclair_typebox.TObject<{
199
+ userCode: _sinclair_typebox.TString;
269
200
  publicKey: _sinclair_typebox.TString;
270
201
  keyId: _sinclair_typebox.TString;
271
202
  fingerprint: _sinclair_typebox.TString;
272
- algorithm: _sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"ES256" | "RS256">[]>;
273
- oldKeyId: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
203
+ algorithm: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"ES256" | "RS256">[]>>;
274
204
  deviceName: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
275
205
  platform: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"ios" | "android" | "web" | "desktop">[]>>;
276
206
  }>;
277
- }, LoginResult>>;
278
- listPasskeys: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
279
- body: _sinclair_typebox.TObject<{}>;
280
- }, {}, {
281
- passkeys: PasskeySummary[];
282
- }>>;
283
- renamePasskey: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
284
- body: _sinclair_typebox.TObject<{
285
- passkeyId: _sinclair_typebox.TString;
286
- label: _sinclair_typebox.TString;
287
- }>;
288
- }, {}, {
289
- passkeyId: string;
290
- label: string;
291
- }>>;
292
- revokePasskey: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
293
- body: _sinclair_typebox.TObject<{
294
- passkeyId: _sinclair_typebox.TString;
295
- currentPassword: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
296
- }>;
297
- }, {}, {
298
- passkeyId: string;
299
- }>>;
300
- mfaTotpEnroll: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
301
- body: _sinclair_typebox.TObject<{}>;
302
- }, {}, TotpEnrolmentResult>>;
303
- mfaTotpConfirm: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
207
+ }, {}, RedeemDeviceLinkResult>>;
208
+ getDeviceLinkStatus: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
304
209
  body: _sinclair_typebox.TObject<{
305
- code: _sinclair_typebox.TString;
210
+ linkId: _sinclair_typebox.TString;
211
+ waitMillis: _sinclair_typebox.TOptional<_sinclair_typebox.TInteger>;
306
212
  }>;
307
- }, {}, ConfirmTotpResult>>;
308
- mfaDisable: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
309
- body: _sinclair_typebox.TObject<{}>;
310
- }, {}, void>>;
311
- mfaMarkPasskey: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
213
+ }, {}, DeviceLinkStatusResult>>;
214
+ confirmDeviceLink: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
312
215
  body: _sinclair_typebox.TObject<{
313
- passkeyId: _sinclair_typebox.TString;
314
- secondFactor: _sinclair_typebox.TBoolean;
216
+ linkId: _sinclair_typebox.TString;
217
+ choice: _sinclair_typebox.TInteger;
315
218
  }>;
316
- }, {}, MfaStatus>>;
317
- mfaRegenerateRecoveryCodes: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
318
- body: _sinclair_typebox.TObject<{}>;
319
- }, {}, {
320
- recoveryCodes: string[];
321
- }>>;
322
- mfaStatus: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{}, {}, MfaStatus>>;
323
- mfaStepUp: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
219
+ }, {}, DeviceLinkStatusResult>>;
220
+ denyDeviceLink: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
324
221
  body: _sinclair_typebox.TObject<{
325
- code: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
326
- recoveryCode: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
327
- response: _sinclair_typebox.TOptional<_sinclair_typebox.TUnknown>;
222
+ linkId: _sinclair_typebox.TString;
328
223
  }>;
329
- }, {}, void>>;
330
- mfaStepUpOptions: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
331
- body: _sinclair_typebox.TObject<{}>;
332
- }, {}, _simplewebauthn_server.PublicKeyCredentialRequestOptionsJSON>>;
333
- mfaVerify: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
224
+ }, {}, DeviceLinkStatusResult>>;
225
+ cancelDeviceLink: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
334
226
  body: _sinclair_typebox.TObject<{
335
- challenge: _sinclair_typebox.TString;
336
- code: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
337
- recoveryCode: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
338
- response: _sinclair_typebox.TOptional<_sinclair_typebox.TUnknown>;
227
+ linkId: _sinclair_typebox.TString;
339
228
  }>;
340
- }, {}, VerifyMfaChallengeResult>>;
341
- mfaVerifyOptions: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
229
+ }, {}, DeviceLinkStatusResult>>;
230
+ pollDeviceLink: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
342
231
  body: _sinclair_typebox.TObject<{
343
- challenge: _sinclair_typebox.TString;
232
+ deviceCode: _sinclair_typebox.TString;
233
+ waitMillis: _sinclair_typebox.TOptional<_sinclair_typebox.TInteger>;
344
234
  }>;
345
- }, {}, _simplewebauthn_server.PublicKeyCredentialRequestOptionsJSON>>;
235
+ }, {}, {
236
+ status: "pending";
237
+ intervalMillis: number;
238
+ } | {
239
+ email?: string | undefined;
240
+ phone?: string | undefined;
241
+ sessionBinding?: "none" | "passkey" | undefined;
242
+ keyExpiresAtMillis?: number | undefined;
243
+ status: "approved";
244
+ mfaRequired: boolean;
245
+ userId: string;
246
+ publicId: string;
247
+ passwordChangeRequired: boolean;
248
+ }>>;
346
249
  logout: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{}, {}, void>>;
347
250
  rotateKey: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{}, {
348
251
  body: _sinclair_typebox.TObject<{
@@ -374,21 +277,6 @@ declare const authApi: {
374
277
  includeCurrent: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
375
278
  }>;
376
279
  }, {}, RevokeAllKeysResult>>;
377
- confirmRevokeAllLink: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
378
- body: _sinclair_typebox.TObject<{
379
- token: _sinclair_typebox.TString;
380
- }>;
381
- }, {}, {
382
- expiresAt: string;
383
- activeKeyCount: number;
384
- }>>;
385
- consumeRevokeAllLink: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
386
- body: _sinclair_typebox.TObject<{
387
- token: _sinclair_typebox.TString;
388
- }>;
389
- }, {}, {
390
- revokedCount: number;
391
- }>>;
392
280
  changePassword: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
393
281
  body: _sinclair_typebox.TObject<{
394
282
  currentPassword: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
@@ -406,7 +294,7 @@ declare const authApi: {
406
294
  id: number;
407
295
  name: string;
408
296
  displayName: string;
409
- category: "auth" | "custom" | "user" | "rbac" | "system" | undefined;
297
+ category: "custom" | "user" | "auth" | "rbac" | "system" | undefined;
410
298
  }[];
411
299
  userId: number;
412
300
  publicId: string;
@@ -415,51 +303,166 @@ declare const authApi: {
415
303
  phoneVerified: boolean;
416
304
  hasPassword: boolean;
417
305
  }>>;
418
- setSessionBinding: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
419
- body: _sinclair_typebox.TObject<{
420
- mode: _sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"passkey">, _sinclair_typebox.TLiteral<"none">]>;
421
- response: _sinclair_typebox.TOptional<_sinclair_typebox.TUnknown>;
422
- currentPassword: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
306
+ issueOneTimeToken: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{}, {}, IssueOneTimeTokenResult>>;
307
+ getInvitation: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
308
+ params: _sinclair_typebox.TObject<{
309
+ token: _sinclair_typebox.TString;
423
310
  }>;
424
- }, {}, SessionBindingResult>>;
425
- getSessionBinding: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{}, {}, SessionBindingResult>>;
426
- sessionBindingDisableOptions: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
427
- body: _sinclair_typebox.TObject<{}>;
428
- }, {}, _simplewebauthn_server.PublicKeyCredentialRequestOptionsJSON>>;
429
- sessionRenewOptions: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
430
- body: _sinclair_typebox.TObject<{}>;
431
- }, {}, _simplewebauthn_server.PublicKeyCredentialRequestOptionsJSON>>;
432
- sessionRenewVerify: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
311
+ }, {}, {
312
+ email: string;
313
+ role: string;
314
+ roleDisplayName: string;
315
+ invitedBy: string;
316
+ expiresAt: string;
317
+ metadata: Record<string, any> | undefined;
318
+ }>>;
319
+ acceptInvitation: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
433
320
  body: _sinclair_typebox.TObject<{
434
- response: _sinclair_typebox.TUnknown;
321
+ token: _sinclair_typebox.TString;
322
+ password: _sinclair_typebox.TString;
435
323
  }>;
436
324
  }, {
437
325
  body: _sinclair_typebox.TObject<{
438
326
  publicKey: _sinclair_typebox.TString;
439
327
  keyId: _sinclair_typebox.TString;
440
328
  fingerprint: _sinclair_typebox.TString;
441
- algorithm: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"ES256" | "RS256">[]>>;
329
+ algorithm: _sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"ES256" | "RS256">[]>;
442
330
  }>;
443
- }, SessionRenewResult>>;
444
- issueOneTimeToken: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{}, {}, IssueOneTimeTokenResult>>;
445
- requestAccountDeletion: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
331
+ }, {
332
+ userId: number;
333
+ email: string;
334
+ role: string;
335
+ }>>;
336
+ createInvitation: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
446
337
  body: _sinclair_typebox.TObject<{
447
- password: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
448
- verificationToken: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
338
+ email: _sinclair_typebox.TString;
339
+ roleId: _sinclair_typebox.TNumber;
340
+ expiresInDays: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
341
+ expiresAt: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
342
+ metadata: _sinclair_typebox.TOptional<_sinclair_typebox.TAny>;
343
+ }>;
344
+ }, {}, {
345
+ id: number;
346
+ email: string;
347
+ token: string;
348
+ roleId: number;
349
+ expiresAt: string;
350
+ invitationUrl: string;
351
+ }>>;
352
+ listInvitations: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
353
+ query: _sinclair_typebox.TObject<{
354
+ status: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"pending" | "accepted" | "expired" | "cancelled">[]>>;
355
+ page: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
356
+ limit: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
357
+ }>;
358
+ }, {}, {
359
+ invitations: {
360
+ id: number;
361
+ email: string;
362
+ token: string;
363
+ roleId: number;
364
+ invitedBy: number;
365
+ status: "pending" | "accepted" | "expired" | "cancelled";
366
+ expiresAt: Date;
367
+ acceptedAt: Date | null;
368
+ cancelledAt: Date | null;
369
+ metadata: Record<string, any> | null;
370
+ createdAt: Date;
371
+ updatedAt: Date;
372
+ role: {
373
+ id: number;
374
+ name: string;
375
+ displayName: string;
376
+ };
377
+ inviter: {
378
+ id: number;
379
+ email: string | null;
380
+ };
381
+ }[];
382
+ total: number;
383
+ page: number;
384
+ limit: number;
385
+ totalPages: number;
386
+ }>>;
387
+ cancelInvitation: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
388
+ body: _sinclair_typebox.TObject<{
389
+ id: _sinclair_typebox.TNumber;
449
390
  reason: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
450
- immediate: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
451
391
  }>;
452
392
  }, {}, {
453
- purgeScheduledAt: string;
393
+ cancelledAt: string;
454
394
  }>>;
455
- cancelAccountDeletion: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
395
+ resendInvitation: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
456
396
  body: _sinclair_typebox.TObject<{
457
- email: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
458
- phone: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
459
- password: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
460
- verificationToken: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
397
+ id: _sinclair_typebox.TNumber;
398
+ expiresInDays: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
399
+ }>;
400
+ }, {}, {
401
+ expiresAt: string;
402
+ }>>;
403
+ deleteInvitation: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
404
+ body: _sinclair_typebox.TObject<{
405
+ id: _sinclair_typebox.TNumber;
461
406
  }>;
462
407
  }, {}, void>>;
408
+ getUserProfile: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{}, {}, UserProfile>>;
409
+ updateUserProfile: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
410
+ body: _sinclair_typebox.TObject<{
411
+ displayName: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
412
+ firstName: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
413
+ lastName: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
414
+ avatarUrl: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
415
+ bio: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
416
+ locale: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
417
+ timezone: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
418
+ dateOfBirth: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
419
+ gender: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
420
+ website: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
421
+ location: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
422
+ company: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
423
+ jobTitle: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
424
+ metadata: _sinclair_typebox.TOptional<_sinclair_typebox.TRecord<_sinclair_typebox.TString, _sinclair_typebox.TAny>>;
425
+ }>;
426
+ }, {}, ProfileInfo>>;
427
+ checkUsername: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
428
+ query: _sinclair_typebox.TObject<{
429
+ username: _sinclair_typebox.TString;
430
+ }>;
431
+ }, {}, {
432
+ available: boolean;
433
+ }>>;
434
+ updateUsername: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
435
+ body: _sinclair_typebox.TObject<{
436
+ username: _sinclair_typebox.TUnion<[_sinclair_typebox.TString, _sinclair_typebox.TNull]>;
437
+ }>;
438
+ }, {}, {
439
+ deletedAt: Date | null;
440
+ deletedBy: string | null;
441
+ createdAt: Date;
442
+ updatedAt: Date;
443
+ id: number;
444
+ publicId: string;
445
+ email: string | null;
446
+ phone: string | null;
447
+ username: string | null;
448
+ passwordHash: string | null;
449
+ passwordChangeRequired: boolean;
450
+ roleId: number;
451
+ status: "active" | "inactive" | "suspended" | "pending_deletion" | "deleted";
452
+ emailVerifiedAt: Date | null;
453
+ phoneVerifiedAt: Date | null;
454
+ keyEpoch: number;
455
+ sessionBinding: "none" | "passkey";
456
+ sessionBindingChangedAt: Date | null;
457
+ lastLoginAt: Date | null;
458
+ }>>;
459
+ updateLocale: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
460
+ body: _sinclair_typebox.TObject<{
461
+ locale: _sinclair_typebox.TString;
462
+ }>;
463
+ }, {}, {
464
+ locale: string;
465
+ }>>;
463
466
  oauthGoogleStart: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
464
467
  query: _sinclair_typebox.TObject<{
465
468
  state: _sinclair_typebox.TString;
@@ -565,165 +568,215 @@ declare const authApi: {
565
568
  provider: _sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"google" | "apple" | "github" | "kakao" | "naver" | "superself">[]>;
566
569
  }>;
567
570
  }, {}, void | Response>>;
568
- getInvitation: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
569
- params: _sinclair_typebox.TObject<{
570
- token: _sinclair_typebox.TString;
571
+ requestAccountDeletion: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
572
+ body: _sinclair_typebox.TObject<{
573
+ password: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
574
+ verificationToken: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
575
+ reason: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
576
+ immediate: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
571
577
  }>;
572
578
  }, {}, {
573
- email: string;
574
- role: string;
575
- roleDisplayName: string;
576
- invitedBy: string;
577
- expiresAt: string;
578
- metadata: Record<string, any> | undefined;
579
+ purgeScheduledAt: string;
579
580
  }>>;
580
- acceptInvitation: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
581
+ cancelAccountDeletion: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
582
+ body: _sinclair_typebox.TObject<{
583
+ email: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
584
+ phone: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
585
+ password: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
586
+ verificationToken: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
587
+ }>;
588
+ }, {}, void>>;
589
+ requestSignupLink: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
590
+ body: _sinclair_typebox.TObject<{
591
+ email: _sinclair_typebox.TString;
592
+ returnPath: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
593
+ }>;
594
+ }, {}, RequestSignupLinkResult>>;
595
+ confirmSignupLink: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
581
596
  body: _sinclair_typebox.TObject<{
582
597
  token: _sinclair_typebox.TString;
598
+ }>;
599
+ }, {}, ConfirmSignupLinkResult>>;
600
+ completeSignup: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
601
+ body: _sinclair_typebox.TObject<{
583
602
  password: _sinclair_typebox.TString;
603
+ metadata: _sinclair_typebox.TOptional<_sinclair_typebox.TRecord<_sinclair_typebox.TString, _sinclair_typebox.TUnknown>>;
584
604
  }>;
585
605
  }, {
586
606
  body: _sinclair_typebox.TObject<{
607
+ setupSecret: _sinclair_typebox.TString;
587
608
  publicKey: _sinclair_typebox.TString;
588
609
  keyId: _sinclair_typebox.TString;
589
610
  fingerprint: _sinclair_typebox.TString;
590
611
  algorithm: _sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"ES256" | "RS256">[]>;
612
+ deviceName: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
613
+ platform: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"ios" | "android" | "web" | "desktop">[]>>;
591
614
  }>;
592
- }, {
593
- userId: number;
594
- email: string;
595
- role: string;
596
- }>>;
597
- createInvitation: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
615
+ }, RegisterResult>>;
616
+ requestPasswordReset: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
598
617
  body: _sinclair_typebox.TObject<{
599
618
  email: _sinclair_typebox.TString;
600
- roleId: _sinclair_typebox.TNumber;
601
- expiresInDays: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
602
- expiresAt: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
603
- metadata: _sinclair_typebox.TOptional<_sinclair_typebox.TAny>;
619
+ returnPath: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
620
+ }>;
621
+ }, {}, RequestPasswordResetResult>>;
622
+ confirmPasswordReset: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
623
+ body: _sinclair_typebox.TObject<{
624
+ token: _sinclair_typebox.TString;
625
+ }>;
626
+ }, {}, ConfirmPasswordResetResult>>;
627
+ completePasswordReset: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
628
+ body: _sinclair_typebox.TObject<{
629
+ password: _sinclair_typebox.TString;
604
630
  }>;
631
+ }, {
632
+ body: _sinclair_typebox.TObject<{
633
+ setupSecret: _sinclair_typebox.TString;
634
+ publicKey: _sinclair_typebox.TString;
635
+ keyId: _sinclair_typebox.TString;
636
+ fingerprint: _sinclair_typebox.TString;
637
+ algorithm: _sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"ES256" | "RS256">[]>;
638
+ deviceName: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
639
+ platform: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"ios" | "android" | "web" | "desktop">[]>>;
640
+ }>;
641
+ }, LoginResult>>;
642
+ passkeyRegisterOptions: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
643
+ body: _sinclair_typebox.TObject<{
644
+ currentPassword: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
645
+ }>;
646
+ }, {}, _simplewebauthn_server.PublicKeyCredentialCreationOptionsJSON>>;
647
+ passkeyRegisterVerify: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
648
+ body: _sinclair_typebox.TObject<{
649
+ response: _sinclair_typebox.TUnknown;
650
+ label: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
651
+ }>;
652
+ }, {}, FinishPasskeyEnrollmentResult>>;
653
+ passkeyLoginOptions: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
654
+ body: _sinclair_typebox.TObject<{}>;
655
+ }, {}, _simplewebauthn_server.PublicKeyCredentialRequestOptionsJSON>>;
656
+ passkeyLoginVerify: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
657
+ body: _sinclair_typebox.TObject<{
658
+ response: _sinclair_typebox.TUnknown;
659
+ }>;
660
+ }, {
661
+ body: _sinclair_typebox.TObject<{
662
+ publicKey: _sinclair_typebox.TString;
663
+ keyId: _sinclair_typebox.TString;
664
+ fingerprint: _sinclair_typebox.TString;
665
+ algorithm: _sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"ES256" | "RS256">[]>;
666
+ oldKeyId: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
667
+ deviceName: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
668
+ platform: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"ios" | "android" | "web" | "desktop">[]>>;
669
+ }>;
670
+ }, LoginResult>>;
671
+ listPasskeys: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
672
+ body: _sinclair_typebox.TObject<{}>;
605
673
  }, {}, {
606
- id: number;
607
- email: string;
608
- token: string;
609
- roleId: number;
610
- expiresAt: string;
611
- invitationUrl: string;
674
+ passkeys: PasskeySummary[];
612
675
  }>>;
613
- listInvitations: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
614
- query: _sinclair_typebox.TObject<{
615
- status: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"pending" | "accepted" | "expired" | "cancelled">[]>>;
616
- page: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
617
- limit: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
676
+ renamePasskey: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
677
+ body: _sinclair_typebox.TObject<{
678
+ passkeyId: _sinclair_typebox.TString;
679
+ label: _sinclair_typebox.TString;
618
680
  }>;
619
681
  }, {}, {
620
- invitations: {
621
- id: number;
622
- email: string;
623
- token: string;
624
- roleId: number;
625
- invitedBy: number;
626
- status: "pending" | "accepted" | "expired" | "cancelled";
627
- expiresAt: Date;
628
- acceptedAt: Date | null;
629
- cancelledAt: Date | null;
630
- metadata: Record<string, any> | null;
631
- createdAt: Date;
632
- updatedAt: Date;
633
- role: {
634
- id: number;
635
- name: string;
636
- displayName: string;
637
- };
638
- inviter: {
639
- id: number;
640
- email: string | null;
641
- };
642
- }[];
643
- total: number;
644
- page: number;
645
- limit: number;
646
- totalPages: number;
682
+ passkeyId: string;
683
+ label: string;
647
684
  }>>;
648
- cancelInvitation: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
685
+ revokePasskey: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
649
686
  body: _sinclair_typebox.TObject<{
650
- id: _sinclair_typebox.TNumber;
651
- reason: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
687
+ passkeyId: _sinclair_typebox.TString;
688
+ currentPassword: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
652
689
  }>;
653
690
  }, {}, {
654
- cancelledAt: string;
691
+ passkeyId: string;
655
692
  }>>;
656
- resendInvitation: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
693
+ mfaTotpEnroll: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
694
+ body: _sinclair_typebox.TObject<{}>;
695
+ }, {}, TotpEnrolmentResult>>;
696
+ mfaTotpConfirm: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
657
697
  body: _sinclair_typebox.TObject<{
658
- id: _sinclair_typebox.TNumber;
659
- expiresInDays: _sinclair_typebox.TOptional<_sinclair_typebox.TNumber>;
698
+ code: _sinclair_typebox.TString;
699
+ }>;
700
+ }, {}, ConfirmTotpResult>>;
701
+ mfaDisable: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
702
+ body: _sinclair_typebox.TObject<{}>;
703
+ }, {}, void>>;
704
+ mfaMarkPasskey: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
705
+ body: _sinclair_typebox.TObject<{
706
+ passkeyId: _sinclair_typebox.TString;
707
+ secondFactor: _sinclair_typebox.TBoolean;
660
708
  }>;
709
+ }, {}, MfaStatus>>;
710
+ mfaRegenerateRecoveryCodes: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
711
+ body: _sinclair_typebox.TObject<{}>;
661
712
  }, {}, {
662
- expiresAt: string;
713
+ recoveryCodes: string[];
663
714
  }>>;
664
- deleteInvitation: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
715
+ mfaStatus: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{}, {}, MfaStatus>>;
716
+ mfaStepUp: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
665
717
  body: _sinclair_typebox.TObject<{
666
- id: _sinclair_typebox.TNumber;
718
+ code: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
719
+ recoveryCode: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
720
+ response: _sinclair_typebox.TOptional<_sinclair_typebox.TUnknown>;
667
721
  }>;
668
722
  }, {}, void>>;
669
- getUserProfile: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{}, {}, UserProfile>>;
670
- updateUserProfile: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
723
+ mfaStepUpOptions: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
724
+ body: _sinclair_typebox.TObject<{}>;
725
+ }, {}, _simplewebauthn_server.PublicKeyCredentialRequestOptionsJSON>>;
726
+ mfaVerify: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
671
727
  body: _sinclair_typebox.TObject<{
672
- displayName: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
673
- firstName: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
674
- lastName: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
675
- avatarUrl: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
676
- bio: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
677
- locale: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
678
- timezone: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
679
- dateOfBirth: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
680
- gender: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
681
- website: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
682
- location: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
683
- company: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
684
- jobTitle: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
685
- metadata: _sinclair_typebox.TOptional<_sinclair_typebox.TRecord<_sinclair_typebox.TString, _sinclair_typebox.TAny>>;
728
+ challenge: _sinclair_typebox.TString;
729
+ code: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
730
+ recoveryCode: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
731
+ response: _sinclair_typebox.TOptional<_sinclair_typebox.TUnknown>;
686
732
  }>;
687
- }, {}, ProfileInfo>>;
688
- checkUsername: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
689
- query: _sinclair_typebox.TObject<{
690
- username: _sinclair_typebox.TString;
733
+ }, {}, VerifyMfaChallengeResult>>;
734
+ mfaVerifyOptions: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
735
+ body: _sinclair_typebox.TObject<{
736
+ challenge: _sinclair_typebox.TString;
691
737
  }>;
692
- }, {}, {
693
- available: boolean;
694
- }>>;
695
- updateUsername: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
738
+ }, {}, _simplewebauthn_server.PublicKeyCredentialRequestOptionsJSON>>;
739
+ confirmRevokeAllLink: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
696
740
  body: _sinclair_typebox.TObject<{
697
- username: _sinclair_typebox.TUnion<[_sinclair_typebox.TString, _sinclair_typebox.TNull]>;
741
+ token: _sinclair_typebox.TString;
698
742
  }>;
699
743
  }, {}, {
700
- deletedAt: Date | null;
701
- deletedBy: string | null;
702
- createdAt: Date;
703
- updatedAt: Date;
704
- id: number;
705
- publicId: string;
706
- email: string | null;
707
- phone: string | null;
708
- username: string | null;
709
- passwordHash: string | null;
710
- passwordChangeRequired: boolean;
711
- roleId: number;
712
- status: "active" | "inactive" | "suspended" | "pending_deletion" | "deleted";
713
- emailVerifiedAt: Date | null;
714
- phoneVerifiedAt: Date | null;
715
- keyEpoch: number;
716
- sessionBinding: "none" | "passkey";
717
- sessionBindingChangedAt: Date | null;
718
- lastLoginAt: Date | null;
744
+ expiresAt: string;
745
+ activeKeyCount: number;
719
746
  }>>;
720
- updateLocale: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
747
+ consumeRevokeAllLink: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
721
748
  body: _sinclair_typebox.TObject<{
722
- locale: _sinclair_typebox.TString;
749
+ token: _sinclair_typebox.TString;
723
750
  }>;
724
751
  }, {}, {
725
- locale: string;
752
+ revokedCount: number;
726
753
  }>>;
754
+ setSessionBinding: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
755
+ body: _sinclair_typebox.TObject<{
756
+ mode: _sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"passkey">, _sinclair_typebox.TLiteral<"none">]>;
757
+ response: _sinclair_typebox.TOptional<_sinclair_typebox.TUnknown>;
758
+ currentPassword: _sinclair_typebox.TOptional<_sinclair_typebox.TString>;
759
+ }>;
760
+ }, {}, SessionBindingResult>>;
761
+ getSessionBinding: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{}, {}, SessionBindingResult>>;
762
+ sessionBindingDisableOptions: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
763
+ body: _sinclair_typebox.TObject<{}>;
764
+ }, {}, _simplewebauthn_server.PublicKeyCredentialRequestOptionsJSON>>;
765
+ sessionRenewOptions: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
766
+ body: _sinclair_typebox.TObject<{}>;
767
+ }, {}, _simplewebauthn_server.PublicKeyCredentialRequestOptionsJSON>>;
768
+ sessionRenewVerify: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
769
+ body: _sinclair_typebox.TObject<{
770
+ response: _sinclair_typebox.TUnknown;
771
+ }>;
772
+ }, {
773
+ body: _sinclair_typebox.TObject<{
774
+ publicKey: _sinclair_typebox.TString;
775
+ keyId: _sinclair_typebox.TString;
776
+ fingerprint: _sinclair_typebox.TString;
777
+ algorithm: _sinclair_typebox.TOptional<_sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"ES256" | "RS256">[]>>;
778
+ }>;
779
+ }, SessionRenewResult>>;
727
780
  listRoles: _spfn_core_nextjs.RouteClient<_spfn_core_route.RouteDef<{
728
781
  query: _sinclair_typebox.TObject<{
729
782
  includeInactive: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
@@ -731,8 +784,8 @@ declare const authApi: {
731
784
  }, {}, {
732
785
  roles: {
733
786
  description: string | null;
734
- name: string;
735
787
  id: number;
788
+ name: string;
736
789
  displayName: string;
737
790
  isBuiltin: boolean;
738
791
  isSystem: boolean;
@@ -753,8 +806,8 @@ declare const authApi: {
753
806
  }, {}, {
754
807
  role: {
755
808
  description: string | null;
756
- name: string;
757
809
  id: number;
810
+ name: string;
758
811
  displayName: string;
759
812
  isBuiltin: boolean;
760
813
  isSystem: boolean;
@@ -777,8 +830,8 @@ declare const authApi: {
777
830
  }, {}, {
778
831
  role: {
779
832
  description: string | null;
780
- name: string;
781
833
  id: number;
834
+ name: string;
782
835
  displayName: string;
783
836
  isBuiltin: boolean;
784
837
  isSystem: boolean;