@effect-auth/core 0.1.0-alpha.10 → 0.1.0-alpha.13

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 (93) hide show
  1. package/README.md +65 -4
  2. package/dist/AuditLog.d.ts +60 -0
  3. package/dist/AuditLog.d.ts.map +1 -1
  4. package/dist/AuditLog.js +105 -0
  5. package/dist/AuditLog.js.map +1 -1
  6. package/dist/AuthKernel.d.ts +1 -1
  7. package/dist/Client.d.ts +72 -1
  8. package/dist/Client.d.ts.map +1 -1
  9. package/dist/Client.js +218 -1
  10. package/dist/Client.js.map +1 -1
  11. package/dist/DomainVerification.d.ts +200 -0
  12. package/dist/DomainVerification.d.ts.map +1 -0
  13. package/dist/DomainVerification.js +304 -0
  14. package/dist/DomainVerification.js.map +1 -0
  15. package/dist/EffectQbSqliteStorage.d.ts +389 -4
  16. package/dist/EffectQbSqliteStorage.d.ts.map +1 -1
  17. package/dist/EffectQbSqliteStorage.js +1191 -4
  18. package/dist/EffectQbSqliteStorage.js.map +1 -1
  19. package/dist/EmailOtp.d.ts +2 -2
  20. package/dist/HttpApi/Api.d.ts +477 -23
  21. package/dist/HttpApi/Api.d.ts.map +1 -1
  22. package/dist/HttpApi/Api.js +705 -4
  23. package/dist/HttpApi/Api.js.map +1 -1
  24. package/dist/HttpApi/Endpoints.d.ts +133 -5
  25. package/dist/HttpApi/Endpoints.d.ts.map +1 -1
  26. package/dist/HttpApi/Endpoints.js +57 -2
  27. package/dist/HttpApi/Endpoints.js.map +1 -1
  28. package/dist/HttpApi/Errors.d.ts +32 -0
  29. package/dist/HttpApi/Errors.d.ts.map +1 -1
  30. package/dist/HttpApi/Errors.js +46 -0
  31. package/dist/HttpApi/Errors.js.map +1 -1
  32. package/dist/HttpApi/Schemas.d.ts +149 -8
  33. package/dist/HttpApi/Schemas.d.ts.map +1 -1
  34. package/dist/HttpApi/Schemas.js +128 -0
  35. package/dist/HttpApi/Schemas.js.map +1 -1
  36. package/dist/Identifiers.d.ts +3 -0
  37. package/dist/Identifiers.d.ts.map +1 -1
  38. package/dist/Identifiers.js +2 -0
  39. package/dist/Identifiers.js.map +1 -1
  40. package/dist/IncidentAction.d.ts +80 -0
  41. package/dist/IncidentAction.d.ts.map +1 -0
  42. package/dist/IncidentAction.js +158 -0
  43. package/dist/IncidentAction.js.map +1 -0
  44. package/dist/Jwt.d.ts +10 -0
  45. package/dist/Jwt.d.ts.map +1 -1
  46. package/dist/Jwt.js +209 -0
  47. package/dist/Jwt.js.map +1 -1
  48. package/dist/LoginNotification.d.ts +1 -1
  49. package/dist/LoginRisk.d.ts +272 -1
  50. package/dist/LoginRisk.d.ts.map +1 -1
  51. package/dist/LoginRisk.js +427 -0
  52. package/dist/LoginRisk.js.map +1 -1
  53. package/dist/MachineAuth.d.ts +73 -0
  54. package/dist/MachineAuth.d.ts.map +1 -0
  55. package/dist/MachineAuth.js +147 -0
  56. package/dist/MachineAuth.js.map +1 -0
  57. package/dist/MagicLink.d.ts +2 -2
  58. package/dist/OAuth.d.ts +957 -1
  59. package/dist/OAuth.d.ts.map +1 -1
  60. package/dist/OAuth.js +1403 -1
  61. package/dist/OAuth.js.map +1 -1
  62. package/dist/Password.d.ts +2 -2
  63. package/dist/Retention.d.ts +98 -0
  64. package/dist/Retention.d.ts.map +1 -0
  65. package/dist/Retention.js +204 -0
  66. package/dist/Retention.js.map +1 -0
  67. package/dist/SecurityTimeline.d.ts +8 -2
  68. package/dist/SecurityTimeline.d.ts.map +1 -1
  69. package/dist/SecurityTimeline.js +75 -0
  70. package/dist/SecurityTimeline.js.map +1 -1
  71. package/dist/StorageMigrations.d.ts +11 -1
  72. package/dist/StorageMigrations.d.ts.map +1 -1
  73. package/dist/StorageMigrations.js +206 -0
  74. package/dist/StorageMigrations.js.map +1 -1
  75. package/dist/Webhook.d.ts +310 -2
  76. package/dist/Webhook.d.ts.map +1 -1
  77. package/dist/Webhook.js +511 -1
  78. package/dist/Webhook.js.map +1 -1
  79. package/dist/index.d.ts +4 -0
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +4 -0
  82. package/dist/index.js.map +1 -1
  83. package/migrations/0014_auth_webhook_outbox.sql +16 -0
  84. package/migrations/0015_auth_webhook_replay.sql +7 -0
  85. package/migrations/0016_auth_login_risk_history.sql +23 -0
  86. package/migrations/0017_auth_audit_log.sql +17 -0
  87. package/migrations/0018_auth_domain_verification.sql +18 -0
  88. package/migrations/0019_auth_oauth_authorization_code.sql +17 -0
  89. package/migrations/0020_auth_oauth_provider_mode_token.sql +24 -0
  90. package/migrations/0021_auth_oauth_client_secret.sql +14 -0
  91. package/migrations/0022_auth_oauth_client.sql +15 -0
  92. package/migrations/0023_auth_oauth_consent.sql +15 -0
  93. package/package.json +17 -1
@@ -1,25 +1,26 @@
1
- import { Effect, Layer, Redacted } from "effect";
1
+ import { Context, Effect, Layer, Redacted } from "effect";
2
2
  import type { Duration, Schema } from "effect";
3
- import type { HttpServerRequest } from "effect/unstable/http";
4
- import { HttpServerResponse } from "effect/unstable/http";
3
+ import { HttpServerRequest, HttpServerResponse } from "effect/unstable/http";
5
4
  import { HttpApi, HttpApiGroup } from "effect/unstable/httpapi";
6
5
  import { ApiKeyId } from "../ApiKey.js";
7
6
  import type { ApiKeyCreateForUserInput, ApiKeyManagementRevokeInput, ApiKeyManagementService } from "../ApiKey.js";
8
- import type { JwtAudience, JwtIssueInput, JwtIssuerService, JwtRevokeJwtIdInput, JwtRevocationService, JwtVerifyInput } from "../Jwt.js";
7
+ import type { JwksDocument, JwksService, JwtAudience, JwtIssueInput, JwtIssuerService, JwtRevokeJwtIdInput, JwtRevocationService, JwtVerifyInput } from "../Jwt.js";
8
+ import { Jwks } from "../Jwt.js";
9
9
  import { AuthFlow, AuthFlowState, AuthResult } from "../AuthFlow.js";
10
10
  import type { AuthFlowService, AuthFlowStateService, LoginApprovalFinalizeService } from "../AuthFlow.js";
11
11
  import { EmailOtpLogin } from "../EmailOtp.js";
12
12
  import type { EmailOtpLoginService, EmailOtpStartInput, EmailOtpVerifyInput } from "../EmailOtp.js";
13
13
  import { EmailVerification, EmailVerificationFlow } from "../EmailVerification.js";
14
14
  import type { EmailVerificationFlowService, EmailVerificationService, EmailVerificationIssueInput, EmailVerificationVerifyInput } from "../EmailVerification.js";
15
- import type { Email, OAuthProviderId, UnixMillis, UserId } from "../Identifiers.js";
15
+ import type { Email, OAuthClientId, OAuthProviderId, SessionId, UnixMillis, UserId } from "../Identifiers.js";
16
16
  import { LoginApproval } from "../LoginApproval.js";
17
17
  import type { LoginApprovalReviewService, LoginApprovalService, LoginApprovalVerifyInput } from "../LoginApproval.js";
18
18
  import type { LoginRequestContext } from "../LoginRisk.js";
19
19
  import type { LoginNotificationReportInput, LoginNotificationService } from "../LoginNotification.js";
20
20
  import { MagicLinkLogin } from "../MagicLink.js";
21
21
  import type { MagicLinkLoginService, MagicLinkStartInput, MagicLinkVerifyInput } from "../MagicLink.js";
22
- import type { OAuthAccountUnlinkingResolution, OAuthAccountUnlinkingService, OAuthAuthorizationStartInput, OAuthCallbackInput, OAuthClientAuthentication, OAuthCodeVerifier, OAuthLinkConfirmationConfirmInput, OAuthLinkConfirmationInspectInput, OAuthLinkConfirmationService, OAuthLinkConfirmationStartInput, OAuthProviderConfig, OAuthProvidersService, OAuthStateService, ConfirmedOAuthLinkConfirmation, PendingOAuthLinkConfirmation, StartedOAuthAuthorization, StartedOAuthLinkConfirmation } from "../OAuth.js";
22
+ import type { OAuthAccountUnlinkingResolution, OAuthAccountUnlinkingService, OAuthAuthorizationCodeTokenGrantService, OAuthAuthorizationStartInput, OAuthCallbackInput, OAuthClientCredentialsGrantService, OAuthClientAuthentication, OAuthCodeVerifier, OAuthLinkConfirmationConfirmInput, OAuthLinkConfirmationInspectInput, OAuthLinkConfirmationService, OAuthLinkConfirmationStartInput, OAuthProviderAuthorizationService, OAuthProviderConfig, OAuthProvidersService, OAuthRefreshTokenGrantService, OAuthStateService, OAuthTokenIntrospectionService, OAuthTokenRevocationService, ConfirmedOAuthLinkConfirmation, PendingOAuthLinkConfirmation, StartedOAuthAuthorization, StartedOAuthLinkConfirmation } from "../OAuth.js";
23
+ import { OAuthAuthorizationCodeTokenGrant, OAuthProviderAuthorization } from "../OAuth.js";
23
24
  import { PasswordLogin, PasswordManagement, PasswordRegistration, PasswordReset } from "../Password.js";
24
25
  import { PasskeyCredentialId } from "../Passkey.js";
25
26
  import type { FinishedPasskeyAuthentication, PasskeyAttestation, PasskeyAuthenticationFinishInput, PasskeyAuthenticationStartInput, PasskeyAuthenticatorSelection, PasskeyCredentialManagementService, PasskeyOptionsService, PasskeyPublicKeyCredentialParameters, PasskeyRelyingParty, PasskeyUserVerification, PasskeyVerificationService } from "../Passkey.js";
@@ -27,7 +28,7 @@ import type { PasswordChangeInput, PasswordManagementService, PasswordLoginServi
27
28
  import type { RecoveryCodeGenerateForUserInput, RecoveryCodeManagementRevokeInput, RecoveryCodeManagementService, RecoveryCodeVerifyForUserInput } from "../RecoveryCode.js";
28
29
  import type { RefreshTokenInfo, RefreshTokenManagementService, RefreshTokenRotateInput } from "../RefreshToken.js";
29
30
  import { SessionCookie, Sessions } from "../Sessions.js";
30
- import type { AuthMethodReference, CurrentSessionShape, SessionClaims, SessionCookieService, SessionCreateInput, SessionsService, ValidatedSession } from "../Sessions.js";
31
+ import type { AuthMethodReference, CurrentSessionShape, SessionClaims, SessionCookieService, SessionCreateInput, SessionInfoShape, SessionsService, ValidatedSession } from "../Sessions.js";
31
32
  import { SecurityTimelineStore } from "../SecurityTimeline.js";
32
33
  import type { SecurityTimelineEvent, SecurityTimelineStoreService } from "../SecurityTimeline.js";
33
34
  import { UserStore } from "../Storage.js";
@@ -35,8 +36,9 @@ import type { UserStoreService } from "../Storage.js";
35
36
  import type { TotpAlgorithm, TotpEnrollmentConfirmInput, TotpEnrollmentStartInput, TotpFactorManagementService, TotpFactorManagementRevokeInput, TotpVerifyForUserInput } from "../Totp.js";
36
37
  import { TrustedDeviceStore } from "../TrustedDevice.js";
37
38
  import type { TrustedDeviceRecord, TrustedDeviceCookieService, TrustedDeviceService, TrustedDeviceStoreService } from "../TrustedDevice.js";
38
- import { AuthBadRequestError, AuthEmailAlreadyRegisteredError, AuthInternalError, AuthInvalidCredentialsError, AuthPolicyDeniedError, AuthRateLimitedError, AuthSchemaErrorMiddleware, AuthUnauthenticatedError } from "./Errors.js";
39
- import type { ApiKeyCreateBody, ApiKeyRevokeBody, EmailOtpStartBody, EmailOtpVerifyBody, EmailVerificationStartBody, EmailVerificationVerifyBody, LoginApprovalApproveBody, LoginApprovalFinalizeBody, LoginNotificationReportBody, LoginApprovalReviewStatusBody, JwtIntrospectBody, JwtRevokeBody, MagicLinkStartBody, MagicLinkVerifyBody, MfaOptionsBody, OAuthAccountUnlinkBody, OAuthAccountUnlinkResolutionBody, OAuthAuthorizationCallbackBody, OAuthAuthorizationStartBody, OAuthLinkConfirmationConfirmBody, OAuthLinkConfirmationConfirmedBody, OAuthLinkConfirmationInspectBody, OAuthLinkConfirmationPendingBody, OAuthLinkConfirmationStartBody, OAuthLinkConfirmationStartedBody, PasskeyAuthenticationFinishBody, PasskeyAuthenticationStartBody, PasskeyCredentialRevokeBody, PasskeyMfaStartBody, PasskeyMfaVerifyBody, PasskeyRegistrationFinishBody, PasskeyRegistrationStartBody, PasswordChangeBody, PasswordResetStartBody, PasswordResetVerifyBody, PasswordSetBody, SessionRevokeBody, PasswordSignInBody, PasswordSignUpBody, RecoveryCodeGenerateBody, RecoveryCodeMfaVerifyBody, RecoveryCodeMfaVerifyForFlowBody, RefreshTokenRefreshBody, RecoveryCodeRevokeBody, RecoveryCodeVerifyBody, SecurityTimelineListQuery, StepUpPasskeyStartBody, StepUpPasskeyVerifyBody, StepUpRecoveryCodeVerifyBody, StepUpTotpVerifyBody, TrustedDeviceRevokeBody, TotpEnrollmentConfirmBody, TotpEnrollmentStartBody, TotpFactorRevokeBody, TotpMfaVerifyBody, TotpMfaVerifyForFlowBody, TotpVerifyBody } from "./Schemas.js";
39
+ import { AuthBadRequestError, AuthEmailAlreadyRegisteredError, AuthInternalError, AuthInvalidCredentialsError, AuthPolicyDeniedError, AuthRateLimitedError, AuthSchemaErrorMiddleware, AuthUnauthenticatedError, OAuthAuthorizationEndpointError, OAuthTokenEndpointError, OAuthTokenIntrospectionEndpointError, OAuthTokenRevocationEndpointError } from "./Errors.js";
40
+ import { OAuthProviderAuthorizationQuery } from "./Schemas.js";
41
+ import type { AdminSecurityTimelineListQuery, AdminSessionListQuery, AdminSessionRevokeAllBody, AdminSessionRevokeBody, AdminTrustedDeviceListQuery, AdminTrustedDeviceRevokeBody, ApiKeyCreateBody, ApiKeyRevokeBody, EmailOtpStartBody, EmailOtpVerifyBody, EmailVerificationStartBody, EmailVerificationVerifyBody, LoginApprovalApproveBody, LoginApprovalFinalizeBody, LoginNotificationReportBody, LoginApprovalReviewStatusBody, JwtIntrospectBody, JwtJwksBody, JwtRevokeBody, MagicLinkStartBody, MagicLinkVerifyBody, MfaOptionsBody, OAuthAccountUnlinkBody, OAuthAccountUnlinkResolutionBody, OAuthAuthorizationCallbackBody, OAuthAuthorizationStartBody, OAuthLinkConfirmationConfirmBody, OAuthLinkConfirmationConfirmedBody, OAuthLinkConfirmationInspectBody, OAuthLinkConfirmationPendingBody, OAuthLinkConfirmationStartBody, OAuthLinkConfirmationStartedBody, OidcDiscoveryMetadataBody, PasskeyAuthenticationFinishBody, PasskeyAuthenticationStartBody, PasskeyCredentialRevokeBody, PasskeyMfaStartBody, PasskeyMfaVerifyBody, PasskeyRegistrationFinishBody, PasskeyRegistrationStartBody, PasswordChangeBody, PasswordResetStartBody, PasswordResetVerifyBody, PasswordSetBody, SessionRevokeBody, PasswordSignInBody, PasswordSignUpBody, RecoveryCodeGenerateBody, RecoveryCodeMfaVerifyBody, RecoveryCodeMfaVerifyForFlowBody, RefreshTokenRefreshBody, RecoveryCodeRevokeBody, RecoveryCodeVerifyBody, SecurityTimelineListQuery, StepUpPasskeyStartBody, StepUpPasskeyVerifyBody, StepUpRecoveryCodeVerifyBody, StepUpTotpVerifyBody, TrustedDeviceRevokeBody, TotpEnrollmentConfirmBody, TotpEnrollmentStartBody, TotpFactorRevokeBody, TotpMfaVerifyBody, TotpMfaVerifyForFlowBody, TotpVerifyBody } from "./Schemas.js";
40
42
  import { AuthApiRateLimit, AuthOriginCheckMiddleware, AuthRateLimitMiddleware } from "./Security.js";
41
43
  import type { AuthApiRateLimitService } from "./Security.js";
42
44
  import { AuthHttp } from "./Transport.js";
@@ -68,6 +70,21 @@ export interface OAuthAuthorizationCallbackHttpOptions {
68
70
  readonly clientAuthentication?: OAuthClientAuthentication;
69
71
  readonly tokenParams?: Readonly<Record<string, string>>;
70
72
  }
73
+ export interface OAuthTokenClientAuthenticationInput {
74
+ readonly clientId: OAuthClientId;
75
+ readonly method: "client_secret_basic" | "client_secret_post";
76
+ readonly clientSecret: Redacted.Redacted<string>;
77
+ readonly request: HttpServerRequest.HttpServerRequest;
78
+ }
79
+ export interface OAuthTokenClientAuthenticationHttpOptions {
80
+ readonly authenticateClient?: (input: OAuthTokenClientAuthenticationInput) => Effect.Effect<boolean, unknown>;
81
+ }
82
+ export interface OAuthAuthorizationCodeTokenHttpOptions extends OAuthTokenClientAuthenticationHttpOptions {
83
+ }
84
+ export interface OAuthTokenRevocationHttpOptions extends OAuthTokenClientAuthenticationHttpOptions {
85
+ }
86
+ export interface OAuthTokenIntrospectionHttpOptions extends OAuthTokenClientAuthenticationHttpOptions {
87
+ }
71
88
  export type OAuthAuthorizationCallbackFieldValue = string | readonly string[] | null | undefined;
72
89
  export interface OAuthAuthorizationCallbackSearchParams {
73
90
  readonly get: (name: string) => string | null;
@@ -295,6 +312,7 @@ export interface JwtIntrospectionHttpOptions {
295
312
  }
296
313
  export declare const jwtIntrospectInput: (payload: Schema.Schema.Type<typeof JwtIntrospectBody>, options?: JwtIntrospectionHttpOptions) => JwtVerifyInput;
297
314
  export declare const jwtRevokeInput: (payload: Schema.Schema.Type<typeof JwtRevokeBody>) => JwtRevokeJwtIdInput;
315
+ export declare const jwtJwksHttpBody: (document: JwksDocument) => Schema.Schema.Type<typeof JwtJwksBody>;
298
316
  export declare const totpMfaVerifyInput: (payload: Schema.Schema.Type<typeof TotpMfaVerifyBody>, options?: TotpCodeHttpOptions) => TotpVerifyForUserInput;
299
317
  export declare const totpMfaVerifyForFlowInput: (userId: UserId, payload: Schema.Schema.Type<typeof TotpMfaVerifyForFlowBody>, options?: TotpCodeHttpOptions) => TotpVerifyForUserInput;
300
318
  export declare const recoveryCodeMfaVerifyInput: (payload: Schema.Schema.Type<typeof RecoveryCodeMfaVerifyBody>) => RecoveryCodeVerifyForUserInput;
@@ -321,6 +339,24 @@ export interface LoginApprovalFinalizeHttpInput {
321
339
  }
322
340
  export declare const loginApprovalFinalizeInput: (payload: Schema.Schema.Type<typeof LoginApprovalFinalizeBody>) => LoginApprovalFinalizeHttpInput;
323
341
  export declare const loginNotificationReportInput: (payload: Schema.Schema.Type<typeof LoginNotificationReportBody>) => LoginNotificationReportInput;
342
+ export declare const adminSessionHttpBody: (session: SessionInfoShape) => {
343
+ longitude?: number | undefined;
344
+ latitude?: number | undefined;
345
+ city?: string | undefined;
346
+ region?: string | undefined;
347
+ country?: string | undefined;
348
+ userAgent?: string | undefined;
349
+ ip?: string | undefined;
350
+ mfaVerifiedAt?: UnixMillis | undefined;
351
+ expiresAt: UnixMillis;
352
+ aal: import("../Sessions.js").AuthAssuranceLevel;
353
+ amr: readonly AuthMethodReference[];
354
+ lastSeenAt?: UnixMillis | undefined;
355
+ sessionId: SessionId;
356
+ userId: UserId;
357
+ createdAt: UnixMillis;
358
+ authTime: UnixMillis;
359
+ };
324
360
  export declare const stepUpAuthenticatedHttpBody: (session: CurrentSessionShape) => {
325
361
  mfaVerifiedAt?: UnixMillis | undefined;
326
362
  type: "authenticated";
@@ -364,6 +400,35 @@ export type SessionRevokeHandlerRequest = {
364
400
  readonly payload: Schema.Schema.Type<typeof SessionRevokeBody>;
365
401
  readonly request: HttpServerRequest.HttpServerRequest;
366
402
  };
403
+ export type AdminSessionListHandlerRequest = {
404
+ readonly query: Schema.Schema.Type<typeof AdminSessionListQuery>;
405
+ readonly request: HttpServerRequest.HttpServerRequest;
406
+ };
407
+ export type AdminSessionRevokeHandlerRequest = {
408
+ readonly payload: Schema.Schema.Type<typeof AdminSessionRevokeBody>;
409
+ readonly request: HttpServerRequest.HttpServerRequest;
410
+ };
411
+ export type AdminSessionRevokeAllHandlerRequest = {
412
+ readonly payload: Schema.Schema.Type<typeof AdminSessionRevokeAllBody>;
413
+ readonly request: HttpServerRequest.HttpServerRequest;
414
+ };
415
+ export type AdminSessionAuthorizationAction = "list" | "revoke" | "revoke_all";
416
+ export interface AdminSessionAuthorizationInput {
417
+ readonly currentSession: CurrentSessionShape;
418
+ readonly targetUserId: UserId;
419
+ readonly action: AdminSessionAuthorizationAction;
420
+ readonly request: HttpServerRequest.HttpServerRequest;
421
+ readonly sessionId?: SessionId;
422
+ }
423
+ export interface AdminSessionAuthorizationService {
424
+ readonly authorize: (input: AdminSessionAuthorizationInput) => Effect.Effect<void, AuthPolicyDeniedError | AuthInternalError>;
425
+ }
426
+ declare const AdminSessionAuthorization_base: Context.ServiceClass<AdminSessionAuthorization, "auth/AdminSessionAuthorization", AdminSessionAuthorizationService>;
427
+ export declare class AdminSessionAuthorization extends AdminSessionAuthorization_base {
428
+ }
429
+ export declare namespace AdminSessionAuthorization {
430
+ const make: (service: AdminSessionAuthorizationService) => AdminSessionAuthorizationService;
431
+ }
367
432
  export type LoginNotificationReportHandlerRequest = {
368
433
  readonly payload: Schema.Schema.Type<typeof LoginNotificationReportBody>;
369
434
  };
@@ -371,6 +436,24 @@ export type SecurityTimelineListHandlerRequest = {
371
436
  readonly query: Schema.Schema.Type<typeof SecurityTimelineListQuery>;
372
437
  readonly request: HttpServerRequest.HttpServerRequest;
373
438
  };
439
+ export type AdminSecurityTimelineListHandlerRequest = {
440
+ readonly query: Schema.Schema.Type<typeof AdminSecurityTimelineListQuery>;
441
+ readonly request: HttpServerRequest.HttpServerRequest;
442
+ };
443
+ export interface AdminSecurityTimelineAuthorizationInput {
444
+ readonly currentSession: CurrentSessionShape;
445
+ readonly targetUserId: UserId;
446
+ readonly request: HttpServerRequest.HttpServerRequest;
447
+ }
448
+ export interface AdminSecurityTimelineAuthorizationService {
449
+ readonly authorize: (input: AdminSecurityTimelineAuthorizationInput) => Effect.Effect<void, AuthPolicyDeniedError | AuthInternalError>;
450
+ }
451
+ declare const AdminSecurityTimelineAuthorization_base: Context.ServiceClass<AdminSecurityTimelineAuthorization, "auth/AdminSecurityTimelineAuthorization", AdminSecurityTimelineAuthorizationService>;
452
+ export declare class AdminSecurityTimelineAuthorization extends AdminSecurityTimelineAuthorization_base {
453
+ }
454
+ export declare namespace AdminSecurityTimelineAuthorization {
455
+ const make: (service: AdminSecurityTimelineAuthorizationService) => AdminSecurityTimelineAuthorizationService;
456
+ }
374
457
  export type TrustedDeviceListHandlerRequest = {
375
458
  readonly request: HttpServerRequest.HttpServerRequest;
376
459
  };
@@ -378,6 +461,31 @@ export type TrustedDeviceRevokeHandlerRequest = {
378
461
  readonly payload: Schema.Schema.Type<typeof TrustedDeviceRevokeBody>;
379
462
  readonly request: HttpServerRequest.HttpServerRequest;
380
463
  };
464
+ export type AdminTrustedDeviceListHandlerRequest = {
465
+ readonly query: Schema.Schema.Type<typeof AdminTrustedDeviceListQuery>;
466
+ readonly request: HttpServerRequest.HttpServerRequest;
467
+ };
468
+ export type AdminTrustedDeviceRevokeHandlerRequest = {
469
+ readonly payload: Schema.Schema.Type<typeof AdminTrustedDeviceRevokeBody>;
470
+ readonly request: HttpServerRequest.HttpServerRequest;
471
+ };
472
+ export type AdminTrustedDeviceAuthorizationAction = "list" | "revoke";
473
+ export interface AdminTrustedDeviceAuthorizationInput {
474
+ readonly currentSession: CurrentSessionShape;
475
+ readonly targetUserId: UserId;
476
+ readonly action: AdminTrustedDeviceAuthorizationAction;
477
+ readonly request: HttpServerRequest.HttpServerRequest;
478
+ readonly deviceId?: string;
479
+ }
480
+ export interface AdminTrustedDeviceAuthorizationService {
481
+ readonly authorize: (input: AdminTrustedDeviceAuthorizationInput) => Effect.Effect<void, AuthPolicyDeniedError | AuthInternalError>;
482
+ }
483
+ declare const AdminTrustedDeviceAuthorization_base: Context.ServiceClass<AdminTrustedDeviceAuthorization, "auth/AdminTrustedDeviceAuthorization", AdminTrustedDeviceAuthorizationService>;
484
+ export declare class AdminTrustedDeviceAuthorization extends AdminTrustedDeviceAuthorization_base {
485
+ }
486
+ export declare namespace AdminTrustedDeviceAuthorization {
487
+ const make: (service: AdminTrustedDeviceAuthorizationService) => AdminTrustedDeviceAuthorizationService;
488
+ }
381
489
  export type EmailVerificationStartHandlerRequest = {
382
490
  readonly payload: Schema.Schema.Type<typeof EmailVerificationStartBody>;
383
491
  };
@@ -402,6 +510,18 @@ export type MagicLinkVerifyHandlerRequest = {
402
510
  export type OAuthAuthorizationStartHandlerRequest = {
403
511
  readonly payload: Schema.Schema.Type<typeof OAuthAuthorizationStartBody>;
404
512
  };
513
+ export type OAuthProviderAuthorizationHandlerRequest = {
514
+ readonly query: Schema.Schema.Type<typeof OAuthProviderAuthorizationQuery>;
515
+ };
516
+ export type OAuthTokenHandlerRequest = {
517
+ readonly request: HttpServerRequest.HttpServerRequest;
518
+ };
519
+ export type OAuthTokenRevocationHandlerRequest = {
520
+ readonly request: HttpServerRequest.HttpServerRequest;
521
+ };
522
+ export type OAuthTokenIntrospectionHandlerRequest = {
523
+ readonly request: HttpServerRequest.HttpServerRequest;
524
+ };
405
525
  export type OAuthAccountUnlinkHandlerRequest = {
406
526
  readonly payload: Schema.Schema.Type<typeof OAuthAccountUnlinkBody>;
407
527
  readonly request: HttpServerRequest.HttpServerRequest;
@@ -491,6 +611,19 @@ export type JwtIntrospectHandlerRequest = {
491
611
  export type JwtRevokeHandlerRequest = {
492
612
  readonly payload: Schema.Schema.Type<typeof JwtRevokeBody>;
493
613
  };
614
+ export type JwtJwksHandlerRequest = Record<never, never>;
615
+ export type OidcDiscoveryMetadataHandlerRequest = Record<never, never>;
616
+ export type OidcDiscoveryMetadataShape = Schema.Schema.Type<typeof OidcDiscoveryMetadataBody>;
617
+ export interface OidcDiscoveryMetadataService {
618
+ readonly load: () => Effect.Effect<OidcDiscoveryMetadataShape, unknown>;
619
+ }
620
+ declare const OidcDiscoveryMetadata_base: Context.ServiceClass<OidcDiscoveryMetadata, "auth/OidcDiscoveryMetadata", OidcDiscoveryMetadataService>;
621
+ export declare class OidcDiscoveryMetadata extends OidcDiscoveryMetadata_base {
622
+ }
623
+ export declare namespace OidcDiscoveryMetadata {
624
+ const make: (service: OidcDiscoveryMetadataService) => OidcDiscoveryMetadataService;
625
+ }
626
+ export declare const OidcDiscoveryMetadataLive: (metadata: OidcDiscoveryMetadataShape) => Layer.Layer<OidcDiscoveryMetadata, never, never>;
494
627
  export type TotpMfaVerifyHandlerRequest = {
495
628
  readonly payload: Schema.Schema.Type<typeof TotpMfaVerifyBody>;
496
629
  };
@@ -612,7 +745,7 @@ export declare const makeListSessionsHandler: (dependencies: {
612
745
  aal: import("../Sessions.js").AuthAssuranceLevel;
613
746
  amr: readonly AuthMethodReference[];
614
747
  lastSeenAt?: UnixMillis | undefined;
615
- sessionId: import("../Identifiers.js").SessionId;
748
+ sessionId: SessionId;
616
749
  userId: UserId;
617
750
  createdAt: UnixMillis;
618
751
  authTime: UnixMillis;
@@ -627,6 +760,40 @@ export declare const makeRevokeOtherSessionsHandler: (dependencies: {
627
760
  readonly sessions: SessionsService;
628
761
  readonly sessionCookie: SessionCookieService;
629
762
  }) => (args_0: SessionHandlerRequest) => Effect.Effect<HttpServerResponse.HttpServerResponse, AuthUnauthenticatedError | AuthInternalError, never>;
763
+ export declare const makeAdminSessionListHandler: (dependencies: {
764
+ readonly sessions: SessionsService;
765
+ readonly sessionCookie: SessionCookieService;
766
+ readonly authorization: AdminSessionAuthorizationService;
767
+ }) => (args_0: AdminSessionListHandlerRequest) => Effect.Effect<{
768
+ sessions: {
769
+ longitude?: number | undefined;
770
+ latitude?: number | undefined;
771
+ city?: string | undefined;
772
+ region?: string | undefined;
773
+ country?: string | undefined;
774
+ userAgent?: string | undefined;
775
+ ip?: string | undefined;
776
+ mfaVerifiedAt?: UnixMillis | undefined;
777
+ expiresAt: UnixMillis;
778
+ aal: import("../Sessions.js").AuthAssuranceLevel;
779
+ amr: readonly AuthMethodReference[];
780
+ lastSeenAt?: UnixMillis | undefined;
781
+ sessionId: SessionId;
782
+ userId: UserId;
783
+ createdAt: UnixMillis;
784
+ authTime: UnixMillis;
785
+ }[];
786
+ }, AuthUnauthenticatedError | AuthPolicyDeniedError | AuthInternalError, never>;
787
+ export declare const makeAdminSessionRevokeHandler: (dependencies: {
788
+ readonly sessions: SessionsService;
789
+ readonly sessionCookie: SessionCookieService;
790
+ readonly authorization: AdminSessionAuthorizationService;
791
+ }) => (args_0: AdminSessionRevokeHandlerRequest) => Effect.Effect<HttpServerResponse.HttpServerResponse, AuthUnauthenticatedError | AuthPolicyDeniedError | AuthInternalError, never>;
792
+ export declare const makeAdminSessionRevokeAllHandler: (dependencies: {
793
+ readonly sessions: SessionsService;
794
+ readonly sessionCookie: SessionCookieService;
795
+ readonly authorization: AdminSessionAuthorizationService;
796
+ }) => (args_0: AdminSessionRevokeAllHandlerRequest) => Effect.Effect<HttpServerResponse.HttpServerResponse, AuthUnauthenticatedError | AuthPolicyDeniedError | AuthInternalError, never>;
630
797
  export declare const makeLoginNotificationReportHandler: (dependencies: {
631
798
  readonly loginNotification?: LoginNotificationService;
632
799
  }) => (args_0: LoginNotificationReportHandlerRequest) => Effect.Effect<HttpServerResponse.HttpServerResponse, AuthBadRequestError | AuthPolicyDeniedError | AuthInternalError, never>;
@@ -639,11 +806,11 @@ export declare const securityTimelineEventHttpBody: (event: SecurityTimelineEven
639
806
  actor?: {
640
807
  type: "anonymous";
641
808
  } | {
642
- sessionId?: import("../Identifiers.js").SessionId | undefined;
809
+ sessionId?: SessionId | undefined;
643
810
  type: "user";
644
811
  } | undefined;
645
812
  eventId: import("../SecurityTimeline.js").SecurityTimelineEventId;
646
- type: "auth.login.succeeded" | "auth.login.failed" | "auth.session.revoked" | "auth.policy.denied" | "auth.oauth.account.linked" | "auth.oauth.account.unlinked" | "auth.oauth.link_confirmation.started" | "auth.oauth.link_confirmation.confirmed" | "auth.oauth.provider_token.refreshed" | "auth.oauth.provider_token.revoked" | "auth.passkey.credential.revoked" | "auth.totp.enrollment.started" | "auth.totp.factor.confirmed" | "auth.totp.factor.verified" | "auth.totp.factor.revoked" | "auth.recovery_code.generated" | "auth.recovery_code.verified" | "auth.recovery_code.revoked" | "auth.api_key.created" | "auth.api_key.verified" | "auth.api_key.revoked" | "auth.api_key.verification_failed" | "auth.refresh_token.issued" | "auth.refresh_token.rotated" | "auth.refresh_token.reuse_detected" | "auth.refresh_token.revoked" | "auth.jwt.introspected" | "auth.jwt.revoked";
813
+ type: "auth.login.succeeded" | "auth.login.failed" | "auth.session.revoked" | "auth.risk.assessed" | "auth.policy.denied" | "auth.oauth.account.linked" | "auth.oauth.account.unlinked" | "auth.oauth.link_confirmation.started" | "auth.oauth.link_confirmation.confirmed" | "auth.oauth.provider_token.refreshed" | "auth.oauth.provider_token.revoked" | "auth.passkey.credential.revoked" | "auth.totp.enrollment.started" | "auth.totp.factor.confirmed" | "auth.totp.factor.verified" | "auth.totp.factor.revoked" | "auth.recovery_code.generated" | "auth.recovery_code.verified" | "auth.recovery_code.revoked" | "auth.api_key.created" | "auth.api_key.verified" | "auth.api_key.revoked" | "auth.api_key.verification_failed" | "auth.refresh_token.issued" | "auth.refresh_token.rotated" | "auth.refresh_token.reuse_detected" | "auth.refresh_token.revoked" | "auth.incident_action.executed" | "auth.jwt.introspected" | "auth.jwt.revoked";
647
814
  category: import("../SecurityTimeline.js").SecurityTimelineEventCategory;
648
815
  severity: import("../SecurityTimeline.js").SecurityTimelineEventSeverity;
649
816
  occurredAt: UnixMillis;
@@ -663,17 +830,43 @@ export declare const makeSecurityTimelineListHandler: (dependencies: {
663
830
  actor?: {
664
831
  type: "anonymous";
665
832
  } | {
666
- sessionId?: import("../Identifiers.js").SessionId | undefined;
833
+ sessionId?: SessionId | undefined;
667
834
  type: "user";
668
835
  } | undefined;
669
836
  eventId: import("../SecurityTimeline.js").SecurityTimelineEventId;
670
- type: "auth.login.succeeded" | "auth.login.failed" | "auth.session.revoked" | "auth.policy.denied" | "auth.oauth.account.linked" | "auth.oauth.account.unlinked" | "auth.oauth.link_confirmation.started" | "auth.oauth.link_confirmation.confirmed" | "auth.oauth.provider_token.refreshed" | "auth.oauth.provider_token.revoked" | "auth.passkey.credential.revoked" | "auth.totp.enrollment.started" | "auth.totp.factor.confirmed" | "auth.totp.factor.verified" | "auth.totp.factor.revoked" | "auth.recovery_code.generated" | "auth.recovery_code.verified" | "auth.recovery_code.revoked" | "auth.api_key.created" | "auth.api_key.verified" | "auth.api_key.revoked" | "auth.api_key.verification_failed" | "auth.refresh_token.issued" | "auth.refresh_token.rotated" | "auth.refresh_token.reuse_detected" | "auth.refresh_token.revoked" | "auth.jwt.introspected" | "auth.jwt.revoked";
837
+ type: "auth.login.succeeded" | "auth.login.failed" | "auth.session.revoked" | "auth.risk.assessed" | "auth.policy.denied" | "auth.oauth.account.linked" | "auth.oauth.account.unlinked" | "auth.oauth.link_confirmation.started" | "auth.oauth.link_confirmation.confirmed" | "auth.oauth.provider_token.refreshed" | "auth.oauth.provider_token.revoked" | "auth.passkey.credential.revoked" | "auth.totp.enrollment.started" | "auth.totp.factor.confirmed" | "auth.totp.factor.verified" | "auth.totp.factor.revoked" | "auth.recovery_code.generated" | "auth.recovery_code.verified" | "auth.recovery_code.revoked" | "auth.api_key.created" | "auth.api_key.verified" | "auth.api_key.revoked" | "auth.api_key.verification_failed" | "auth.refresh_token.issued" | "auth.refresh_token.rotated" | "auth.refresh_token.reuse_detected" | "auth.refresh_token.revoked" | "auth.incident_action.executed" | "auth.jwt.introspected" | "auth.jwt.revoked";
671
838
  category: import("../SecurityTimeline.js").SecurityTimelineEventCategory;
672
839
  severity: import("../SecurityTimeline.js").SecurityTimelineEventSeverity;
673
840
  occurredAt: UnixMillis;
674
841
  summary: string;
675
842
  }[];
676
843
  }, AuthUnauthenticatedError | AuthInternalError, never>;
844
+ export declare const makeAdminSecurityTimelineListHandler: (dependencies: {
845
+ readonly sessions: SessionsService;
846
+ readonly sessionCookie: SessionCookieService;
847
+ readonly securityTimeline: SecurityTimelineStoreService;
848
+ readonly authorization: AdminSecurityTimelineAuthorizationService;
849
+ }) => (args_0: AdminSecurityTimelineListHandlerRequest) => Effect.Effect<{
850
+ events: {
851
+ metadata?: Readonly<Record<string, unknown>> | undefined;
852
+ request?: {
853
+ userAgentHash?: import("../Identifiers.js").UserAgentHash | undefined;
854
+ ipHash?: import("../Identifiers.js").IpHash | undefined;
855
+ } | undefined;
856
+ actor?: {
857
+ type: "anonymous";
858
+ } | {
859
+ sessionId?: SessionId | undefined;
860
+ type: "user";
861
+ } | undefined;
862
+ eventId: import("../SecurityTimeline.js").SecurityTimelineEventId;
863
+ type: "auth.login.succeeded" | "auth.login.failed" | "auth.session.revoked" | "auth.risk.assessed" | "auth.policy.denied" | "auth.oauth.account.linked" | "auth.oauth.account.unlinked" | "auth.oauth.link_confirmation.started" | "auth.oauth.link_confirmation.confirmed" | "auth.oauth.provider_token.refreshed" | "auth.oauth.provider_token.revoked" | "auth.passkey.credential.revoked" | "auth.totp.enrollment.started" | "auth.totp.factor.confirmed" | "auth.totp.factor.verified" | "auth.totp.factor.revoked" | "auth.recovery_code.generated" | "auth.recovery_code.verified" | "auth.recovery_code.revoked" | "auth.api_key.created" | "auth.api_key.verified" | "auth.api_key.revoked" | "auth.api_key.verification_failed" | "auth.refresh_token.issued" | "auth.refresh_token.rotated" | "auth.refresh_token.reuse_detected" | "auth.refresh_token.revoked" | "auth.incident_action.executed" | "auth.jwt.introspected" | "auth.jwt.revoked";
864
+ category: import("../SecurityTimeline.js").SecurityTimelineEventCategory;
865
+ severity: import("../SecurityTimeline.js").SecurityTimelineEventSeverity;
866
+ occurredAt: UnixMillis;
867
+ summary: string;
868
+ }[];
869
+ }, AuthUnauthenticatedError | AuthPolicyDeniedError | AuthInternalError, never>;
677
870
  export declare const trustedDeviceHttpBody: (device: TrustedDeviceRecord) => {
678
871
  metadata?: Readonly<Record<string, unknown>> | undefined;
679
872
  deviceId: string;
@@ -699,6 +892,26 @@ export declare const makeTrustedDeviceRevokeHandler: (dependencies: {
699
892
  readonly sessionCookie: SessionCookieService;
700
893
  readonly trustedDevices: TrustedDeviceStoreService;
701
894
  }) => (args_0: TrustedDeviceRevokeHandlerRequest) => Effect.Effect<HttpServerResponse.HttpServerResponse, AuthUnauthenticatedError | AuthInternalError, never>;
895
+ export declare const makeAdminTrustedDeviceListHandler: (dependencies: {
896
+ readonly sessions: SessionsService;
897
+ readonly sessionCookie: SessionCookieService;
898
+ readonly trustedDevices: TrustedDeviceStoreService;
899
+ readonly authorization: AdminTrustedDeviceAuthorizationService;
900
+ }) => (args_0: AdminTrustedDeviceListHandlerRequest) => Effect.Effect<{
901
+ devices: {
902
+ metadata?: Readonly<Record<string, unknown>> | undefined;
903
+ deviceId: string;
904
+ createdAt: UnixMillis;
905
+ lastSeenAt: UnixMillis;
906
+ expiresAt: UnixMillis;
907
+ }[];
908
+ }, AuthUnauthenticatedError | AuthPolicyDeniedError | AuthInternalError, never>;
909
+ export declare const makeAdminTrustedDeviceRevokeHandler: (dependencies: {
910
+ readonly sessions: SessionsService;
911
+ readonly sessionCookie: SessionCookieService;
912
+ readonly trustedDevices: TrustedDeviceStoreService;
913
+ readonly authorization: AdminTrustedDeviceAuthorizationService;
914
+ }) => (args_0: AdminTrustedDeviceRevokeHandlerRequest) => Effect.Effect<HttpServerResponse.HttpServerResponse, AuthUnauthenticatedError | AuthPolicyDeniedError | AuthInternalError, never>;
702
915
  export declare const makeEmailVerificationStartHandler: (dependencies: {
703
916
  readonly emailVerificationFlow: EmailVerificationFlowService;
704
917
  readonly authApiRateLimit?: AuthApiRateLimitService;
@@ -744,6 +957,46 @@ export declare const makeOAuthAuthorizationStartHandler: (dependencies: {
744
957
  codeChallenge: import("../OAuth.js").OAuthCodeChallenge;
745
958
  codeChallengeMethod: "S256";
746
959
  }, AuthBadRequestError | AuthInternalError, never>;
960
+ export declare const makeOAuthProviderAuthorizationHandler: (dependencies: {
961
+ readonly authorization: OAuthProviderAuthorizationService;
962
+ }) => (args_0: OAuthProviderAuthorizationHandlerRequest) => Effect.Effect<HttpServerResponse.HttpServerResponse, AuthInternalError | OAuthAuthorizationEndpointError, never>;
963
+ export declare const makeOAuthAuthorizationCodeTokenHandler: (dependencies: {
964
+ readonly tokenGrant: OAuthAuthorizationCodeTokenGrantService;
965
+ readonly refreshTokenGrant?: OAuthRefreshTokenGrantService;
966
+ readonly clientCredentialsGrant?: OAuthClientCredentialsGrantService;
967
+ } & OAuthAuthorizationCodeTokenHttpOptions) => (args_0: OAuthTokenHandlerRequest) => Effect.Effect<{
968
+ readonly access_token: string;
969
+ readonly token_type: string;
970
+ readonly expires_in?: number | undefined;
971
+ readonly refresh_token?: string | undefined;
972
+ readonly id_token?: string | undefined;
973
+ readonly scope?: string | undefined;
974
+ readonly extra?: {
975
+ readonly [x: string]: unknown;
976
+ } | undefined;
977
+ }, AuthInternalError | OAuthTokenEndpointError, never>;
978
+ export declare const makeOAuthTokenRevocationHandler: (dependencies: {
979
+ readonly tokenRevocation: OAuthTokenRevocationService;
980
+ } & OAuthTokenRevocationHttpOptions) => (args_0: OAuthTokenRevocationHandlerRequest) => Effect.Effect<HttpServerResponse.HttpServerResponse, AuthInternalError | OAuthTokenRevocationEndpointError, never>;
981
+ export declare const makeOAuthTokenIntrospectionHandler: (dependencies: {
982
+ readonly tokenIntrospection: OAuthTokenIntrospectionService;
983
+ } & OAuthTokenIntrospectionHttpOptions) => (args_0: OAuthTokenIntrospectionHandlerRequest) => Effect.Effect<{
984
+ readonly active: boolean;
985
+ readonly scope?: string | undefined;
986
+ readonly client_id?: string | undefined;
987
+ readonly username?: string | undefined;
988
+ readonly token_type?: string | undefined;
989
+ readonly exp?: number | undefined;
990
+ readonly iat?: number | undefined;
991
+ readonly nbf?: number | undefined;
992
+ readonly sub?: string | undefined;
993
+ readonly aud?: string | readonly string[] | undefined;
994
+ readonly iss?: string | undefined;
995
+ readonly jti?: string | undefined;
996
+ readonly extra?: {
997
+ readonly [x: string]: unknown;
998
+ } | undefined;
999
+ }, AuthInternalError | OAuthTokenIntrospectionEndpointError, never>;
747
1000
  export declare const makeOAuthAccountUnlinkHandler: (dependencies: {
748
1001
  readonly oauthAccountUnlinking: OAuthAccountUnlinkingService;
749
1002
  readonly sessions: SessionsService;
@@ -1093,6 +1346,35 @@ export declare const makeJwtIntrospectHandler: (dependencies: {
1093
1346
  export declare const makeJwtRevokeHandler: (dependencies: {
1094
1347
  readonly jwtRevocation: JwtRevocationService;
1095
1348
  }) => (args_0: JwtRevokeHandlerRequest) => Effect.Effect<HttpServerResponse.HttpServerResponse, AuthBadRequestError | AuthInternalError, never>;
1349
+ export declare const makeJwtJwksHandler: (dependencies: {
1350
+ readonly jwks: JwksService;
1351
+ }) => (_: JwtJwksHandlerRequest) => Effect.Effect<{
1352
+ readonly keys: readonly {
1353
+ readonly [x: string]: unknown;
1354
+ }[];
1355
+ }, AuthInternalError, never>;
1356
+ export declare const makeOidcDiscoveryMetadataHandler: (dependencies: {
1357
+ readonly metadata: OidcDiscoveryMetadataService;
1358
+ }) => (_: OidcDiscoveryMetadataHandlerRequest) => Effect.Effect<{
1359
+ readonly issuer: string;
1360
+ readonly authorization_endpoint: string;
1361
+ readonly token_endpoint: string;
1362
+ readonly jwks_uri: string;
1363
+ readonly response_types_supported: readonly string[];
1364
+ readonly subject_types_supported: readonly string[];
1365
+ readonly id_token_signing_alg_values_supported: readonly string[];
1366
+ readonly scopes_supported?: readonly string[] | undefined;
1367
+ readonly claims_supported?: readonly string[] | undefined;
1368
+ readonly grant_types_supported?: readonly string[] | undefined;
1369
+ readonly token_endpoint_auth_methods_supported?: readonly string[] | undefined;
1370
+ readonly introspection_endpoint_auth_methods_supported?: readonly string[] | undefined;
1371
+ readonly code_challenge_methods_supported?: readonly string[] | undefined;
1372
+ readonly userinfo_endpoint?: string | undefined;
1373
+ readonly end_session_endpoint?: string | undefined;
1374
+ readonly introspection_endpoint?: string | undefined;
1375
+ readonly revocation_endpoint?: string | undefined;
1376
+ readonly revocation_endpoint_auth_methods_supported?: readonly string[] | undefined;
1377
+ }, AuthInternalError, never>;
1096
1378
  export declare const makeMfaOptionsHandler: (dependencies: {
1097
1379
  readonly authFlowState: AuthFlowStateService;
1098
1380
  readonly totpFactorManagement?: TotpFactorManagementService;
@@ -1196,7 +1478,7 @@ export declare const makeLoginApprovalApproveHandler: (dependencies: {
1196
1478
  export declare const makeLoginApprovalStatusHandler: (dependencies: {
1197
1479
  readonly loginApprovalReview?: LoginApprovalReviewService;
1198
1480
  }) => (args_0: LoginApprovalStatusHandlerRequest) => Effect.Effect<{
1199
- status: import("../LoginApproval.js").LoginApprovalReviewStatus | "expired";
1481
+ status: "expired" | import("../LoginApproval.js").LoginApprovalReviewStatus;
1200
1482
  expiresAt: UnixMillis;
1201
1483
  }, AuthBadRequestError | AuthPolicyDeniedError | AuthInternalError, never>;
1202
1484
  export declare const makeLoginApprovalFinalizeHandler: (dependencies: {
@@ -1348,6 +1630,38 @@ declare const SessionApi_base: HttpApiGroup.HttpApiGroup<"session", import("effe
1348
1630
  }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/unstable/httpapi/HttpApiSchema").NoContent>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof AuthUnauthenticatedError | typeof AuthInternalError>, AuthOriginCheckMiddleware, never> | import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"revokeOthers", "POST", "/auth/sessions/revoke-others", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/unstable/httpapi/HttpApiSchema").NoContent>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof AuthUnauthenticatedError | typeof AuthInternalError>, AuthOriginCheckMiddleware, never>, false>;
1349
1631
  export declare class SessionApi extends SessionApi_base {
1350
1632
  }
1633
+ declare const AdminSessionApi_base: HttpApiGroup.HttpApiGroup<"adminSession", import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"list", "GET", "/auth/admin/sessions/", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<Schema.Struct<{
1634
+ readonly userId: Schema.brand<Schema.String, "auth/UserId">;
1635
+ }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<Schema.Struct<{
1636
+ readonly sessions: Schema.$Array<Schema.Struct<{
1637
+ readonly sessionId: Schema.brand<Schema.String, "auth/SessionId">;
1638
+ readonly userId: Schema.brand<Schema.String, "auth/UserId">;
1639
+ readonly createdAt: Schema.brand<Schema.Number, "auth/UnixMillis">;
1640
+ readonly authTime: Schema.brand<Schema.Number, "auth/UnixMillis">;
1641
+ readonly lastSeenAt: Schema.optional<Schema.brand<Schema.Number, "auth/UnixMillis">>;
1642
+ readonly expiresAt: Schema.brand<Schema.Number, "auth/UnixMillis">;
1643
+ readonly aal: Schema.Literals<readonly ["aal1", "aal2", "aal3"]>;
1644
+ readonly amr: Schema.$Array<Schema.String>;
1645
+ readonly mfaVerifiedAt: Schema.optional<Schema.brand<Schema.Number, "auth/UnixMillis">>;
1646
+ readonly ip: Schema.optional<Schema.String>;
1647
+ readonly userAgent: Schema.optional<Schema.String>;
1648
+ readonly country: Schema.optional<Schema.String>;
1649
+ readonly region: Schema.optional<Schema.String>;
1650
+ readonly city: Schema.optional<Schema.String>;
1651
+ readonly latitude: Schema.optional<Schema.Number>;
1652
+ readonly longitude: Schema.optional<Schema.Number>;
1653
+ }>>;
1654
+ }>>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof AuthUnauthenticatedError | typeof AuthPolicyDeniedError | typeof AuthInternalError>, AuthSchemaErrorMiddleware | AuthOriginCheckMiddleware, never> | import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"revoke", "POST", "/auth/admin/sessions/revoke", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<Schema.Struct<{
1655
+ readonly userId: Schema.brand<Schema.String, "auth/UserId">;
1656
+ readonly sessionId: Schema.brand<Schema.String, "auth/SessionId">;
1657
+ }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/unstable/httpapi/HttpApiSchema").NoContent>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof AuthUnauthenticatedError | typeof AuthPolicyDeniedError | typeof AuthInternalError>, AuthSchemaErrorMiddleware | AuthOriginCheckMiddleware, never> | import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"revokeAll", "POST", "/auth/admin/sessions/revoke-all", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<Schema.Struct<{
1658
+ readonly userId: Schema.brand<Schema.String, "auth/UserId">;
1659
+ }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/unstable/httpapi/HttpApiSchema").NoContent>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof AuthUnauthenticatedError | typeof AuthPolicyDeniedError | typeof AuthInternalError>, AuthSchemaErrorMiddleware | AuthOriginCheckMiddleware, never>, false>;
1660
+ export declare class AdminSessionApi extends AdminSessionApi_base {
1661
+ }
1662
+ declare const AdminSessionHttpApi_base: HttpApi.HttpApi<"AdminSessionHttpApi", typeof AdminSessionApi>;
1663
+ export declare class AdminSessionHttpApi extends AdminSessionHttpApi_base {
1664
+ }
1351
1665
  declare const EmailVerificationApi_base: HttpApiGroup.HttpApiGroup<"emailVerification", import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"verify", "POST", "/auth/email-verification/verify", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<Schema.Struct<{
1352
1666
  readonly challengeId: Schema.brand<Schema.String, "auth/ChallengeId">;
1353
1667
  readonly secret: Schema.optional<Schema.String>;
@@ -1578,6 +1892,48 @@ declare const OAuthApi_base: HttpApiGroup.HttpApiGroup<"oauth", import("effect/u
1578
1892
  }>>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof AuthBadRequestError | typeof AuthUnauthenticatedError | typeof AuthInternalError>, AuthSchemaErrorMiddleware | AuthOriginCheckMiddleware, never>, false>;
1579
1893
  export declare class OAuthApi extends OAuthApi_base {
1580
1894
  }
1895
+ declare const OAuthTokenApi_base: HttpApiGroup.HttpApiGroup<"oauthToken", import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"token", "POST", "/auth/oauth/token", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<Schema.Struct<{
1896
+ readonly access_token: Schema.String;
1897
+ readonly token_type: Schema.String;
1898
+ readonly expires_in: Schema.optional<Schema.Number>;
1899
+ readonly refresh_token: Schema.optional<Schema.String>;
1900
+ readonly id_token: Schema.optional<Schema.String>;
1901
+ readonly scope: Schema.optional<Schema.String>;
1902
+ readonly extra: Schema.optional<Schema.$Record<Schema.String, Schema.Unknown>>;
1903
+ }>>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof AuthInternalError | typeof OAuthTokenEndpointError>, AuthSchemaErrorMiddleware, never> | import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"introspect", "POST", "/auth/oauth/introspect", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<Schema.Struct<{
1904
+ readonly active: Schema.Boolean;
1905
+ readonly scope: Schema.optional<Schema.String>;
1906
+ readonly client_id: Schema.optional<Schema.String>;
1907
+ readonly username: Schema.optional<Schema.String>;
1908
+ readonly token_type: Schema.optional<Schema.String>;
1909
+ readonly exp: Schema.optional<Schema.Number>;
1910
+ readonly iat: Schema.optional<Schema.Number>;
1911
+ readonly nbf: Schema.optional<Schema.Number>;
1912
+ readonly sub: Schema.optional<Schema.String>;
1913
+ readonly aud: Schema.optional<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
1914
+ readonly iss: Schema.optional<Schema.String>;
1915
+ readonly jti: Schema.optional<Schema.String>;
1916
+ readonly extra: Schema.optional<Schema.$Record<Schema.String, Schema.Unknown>>;
1917
+ }>>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof AuthInternalError | typeof OAuthTokenIntrospectionEndpointError>, AuthSchemaErrorMiddleware, never> | import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"revoke", "POST", "/auth/oauth/revoke", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/unstable/httpapi/HttpApiSchema").NoContent>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof AuthInternalError | typeof OAuthTokenRevocationEndpointError>, AuthSchemaErrorMiddleware, never>, false>;
1918
+ export declare class OAuthTokenApi extends OAuthTokenApi_base {
1919
+ }
1920
+ declare const OAuthTokenHttpApi_base: HttpApi.HttpApi<"OAuthTokenHttpApi", typeof OAuthTokenApi>;
1921
+ export declare class OAuthTokenHttpApi extends OAuthTokenHttpApi_base {
1922
+ }
1923
+ declare const OAuthProviderAuthorizationApi_base: HttpApiGroup.HttpApiGroup<"oauthProviderAuthorization", import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"authorize", "GET", "/auth/oauth/authorize", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<Schema.Struct<{
1924
+ readonly response_type: Schema.String;
1925
+ readonly client_id: Schema.optional<Schema.String>;
1926
+ readonly redirect_uri: Schema.optional<Schema.String>;
1927
+ readonly scope: Schema.optional<Schema.String>;
1928
+ readonly state: Schema.optional<Schema.String>;
1929
+ readonly code_challenge: Schema.optional<Schema.String>;
1930
+ readonly code_challenge_method: Schema.optional<Schema.String>;
1931
+ }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/unstable/httpapi/HttpApiSchema").NoContent>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof AuthInternalError | typeof OAuthAuthorizationEndpointError>, AuthSchemaErrorMiddleware, never>, false>;
1932
+ export declare class OAuthProviderAuthorizationApi extends OAuthProviderAuthorizationApi_base {
1933
+ }
1934
+ declare const OAuthProviderAuthorizationHttpApi_base: HttpApi.HttpApi<"OAuthProviderAuthorizationHttpApi", typeof OAuthProviderAuthorizationApi>;
1935
+ export declare class OAuthProviderAuthorizationHttpApi extends OAuthProviderAuthorizationHttpApi_base {
1936
+ }
1581
1937
  declare const LoginApprovalApi_base: HttpApiGroup.HttpApiGroup<"loginApproval", import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"approve", "POST", "/auth/login-approval/approve", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<Schema.Struct<{
1582
1938
  readonly flowId: Schema.brand<Schema.String, "auth/AuthFlowId">;
1583
1939
  readonly approvalChallengeId: Schema.brand<Schema.String, "auth/ChallengeId">;
@@ -1883,6 +2239,39 @@ declare const JwtApi_base: HttpApiGroup.HttpApiGroup<"jwt", import("effect/unsta
1883
2239
  }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/unstable/httpapi/HttpApiSchema").NoContent>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof AuthBadRequestError | typeof AuthInternalError>, AuthSchemaErrorMiddleware, never>, false>;
1884
2240
  export declare class JwtApi extends JwtApi_base {
1885
2241
  }
2242
+ declare const JwtDiscoveryApi_base: HttpApiGroup.HttpApiGroup<"jwtDiscovery", import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"jwks", "GET", "/.well-known/jwks.json", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<Schema.Struct<{
2243
+ readonly keys: Schema.$Array<Schema.$Record<Schema.String, Schema.Unknown>>;
2244
+ }>>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof AuthInternalError>, AuthSchemaErrorMiddleware, never>, false>;
2245
+ export declare class JwtDiscoveryApi extends JwtDiscoveryApi_base {
2246
+ }
2247
+ declare const JwtDiscoveryHttpApi_base: HttpApi.HttpApi<"JwtDiscoveryHttpApi", typeof JwtDiscoveryApi>;
2248
+ export declare class JwtDiscoveryHttpApi extends JwtDiscoveryHttpApi_base {
2249
+ }
2250
+ declare const OidcDiscoveryApi_base: HttpApiGroup.HttpApiGroup<"oidcDiscovery", import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"openidConfiguration", "GET", "/.well-known/openid-configuration", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<Schema.Struct<{
2251
+ readonly issuer: Schema.String;
2252
+ readonly authorization_endpoint: Schema.String;
2253
+ readonly token_endpoint: Schema.String;
2254
+ readonly jwks_uri: Schema.String;
2255
+ readonly response_types_supported: Schema.$Array<Schema.String>;
2256
+ readonly subject_types_supported: Schema.$Array<Schema.String>;
2257
+ readonly id_token_signing_alg_values_supported: Schema.$Array<Schema.String>;
2258
+ readonly scopes_supported: Schema.optional<Schema.$Array<Schema.String>>;
2259
+ readonly claims_supported: Schema.optional<Schema.$Array<Schema.String>>;
2260
+ readonly grant_types_supported: Schema.optional<Schema.$Array<Schema.String>>;
2261
+ readonly token_endpoint_auth_methods_supported: Schema.optional<Schema.$Array<Schema.String>>;
2262
+ readonly introspection_endpoint_auth_methods_supported: Schema.optional<Schema.$Array<Schema.String>>;
2263
+ readonly code_challenge_methods_supported: Schema.optional<Schema.$Array<Schema.String>>;
2264
+ readonly userinfo_endpoint: Schema.optional<Schema.String>;
2265
+ readonly end_session_endpoint: Schema.optional<Schema.String>;
2266
+ readonly introspection_endpoint: Schema.optional<Schema.String>;
2267
+ readonly revocation_endpoint: Schema.optional<Schema.String>;
2268
+ readonly revocation_endpoint_auth_methods_supported: Schema.optional<Schema.$Array<Schema.String>>;
2269
+ }>>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof AuthInternalError>, AuthSchemaErrorMiddleware, never>, false>;
2270
+ export declare class OidcDiscoveryApi extends OidcDiscoveryApi_base {
2271
+ }
2272
+ declare const OidcDiscoveryHttpApi_base: HttpApi.HttpApi<"OidcDiscoveryHttpApi", typeof OidcDiscoveryApi>;
2273
+ export declare class OidcDiscoveryHttpApi extends OidcDiscoveryHttpApi_base {
2274
+ }
1886
2275
  declare const SecurityApi_base: HttpApiGroup.HttpApiGroup<"security", import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"reportLogin", "POST", "/auth/security/login/report", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<Schema.Struct<{
1887
2276
  readonly challengeId: Schema.brand<Schema.String, "auth/ChallengeId">;
1888
2277
  readonly secret: Schema.String;
@@ -1892,13 +2281,13 @@ export declare class SecurityApi extends SecurityApi_base {
1892
2281
  declare const SecurityTimelineApi_base: HttpApiGroup.HttpApiGroup<"securityTimeline", import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"list", "GET", "/auth/security/timeline", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<Schema.Struct<{
1893
2282
  readonly limit: Schema.optional<Schema.Number>;
1894
2283
  readonly beforeOccurredAt: Schema.optional<Schema.brand<Schema.Number, "auth/UnixMillis">>;
1895
- readonly types: Schema.optional<Schema.$Array<Schema.Literals<readonly ["auth.login.succeeded", "auth.login.failed", "auth.session.revoked", "auth.policy.denied", "auth.oauth.account.linked", "auth.oauth.account.unlinked", "auth.oauth.link_confirmation.started", "auth.oauth.link_confirmation.confirmed", "auth.oauth.provider_token.refreshed", "auth.oauth.provider_token.revoked", "auth.passkey.credential.revoked", "auth.totp.enrollment.started", "auth.totp.factor.confirmed", "auth.totp.factor.verified", "auth.totp.factor.revoked", "auth.recovery_code.generated", "auth.recovery_code.verified", "auth.recovery_code.revoked", "auth.api_key.created", "auth.api_key.verified", "auth.api_key.revoked", "auth.api_key.verification_failed", "auth.refresh_token.issued", "auth.refresh_token.rotated", "auth.refresh_token.reuse_detected", "auth.refresh_token.revoked", "auth.jwt.introspected", "auth.jwt.revoked"]>>>;
1896
- readonly categories: Schema.optional<Schema.$Array<Schema.Literals<readonly ["api_key", "auth", "jwt", "mfa", "oauth", "policy", "refresh_token", "session"]>>>;
2284
+ readonly types: Schema.optional<Schema.$Array<Schema.Literals<readonly ["auth.login.succeeded", "auth.login.failed", "auth.session.revoked", "auth.risk.assessed", "auth.policy.denied", "auth.oauth.account.linked", "auth.oauth.account.unlinked", "auth.oauth.link_confirmation.started", "auth.oauth.link_confirmation.confirmed", "auth.oauth.provider_token.refreshed", "auth.oauth.provider_token.revoked", "auth.passkey.credential.revoked", "auth.totp.enrollment.started", "auth.totp.factor.confirmed", "auth.totp.factor.verified", "auth.totp.factor.revoked", "auth.recovery_code.generated", "auth.recovery_code.verified", "auth.recovery_code.revoked", "auth.api_key.created", "auth.api_key.verified", "auth.api_key.revoked", "auth.api_key.verification_failed", "auth.refresh_token.issued", "auth.refresh_token.rotated", "auth.refresh_token.reuse_detected", "auth.refresh_token.revoked", "auth.incident_action.executed", "auth.jwt.introspected", "auth.jwt.revoked"]>>>;
2285
+ readonly categories: Schema.optional<Schema.$Array<Schema.Literals<readonly ["api_key", "auth", "incident", "jwt", "mfa", "oauth", "policy", "refresh_token", "risk", "session"]>>>;
1897
2286
  }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<Schema.Struct<{
1898
2287
  readonly events: Schema.$Array<Schema.Struct<{
1899
2288
  readonly eventId: Schema.String;
1900
- readonly type: Schema.Literals<readonly ["auth.login.succeeded", "auth.login.failed", "auth.session.revoked", "auth.policy.denied", "auth.oauth.account.linked", "auth.oauth.account.unlinked", "auth.oauth.link_confirmation.started", "auth.oauth.link_confirmation.confirmed", "auth.oauth.provider_token.refreshed", "auth.oauth.provider_token.revoked", "auth.passkey.credential.revoked", "auth.totp.enrollment.started", "auth.totp.factor.confirmed", "auth.totp.factor.verified", "auth.totp.factor.revoked", "auth.recovery_code.generated", "auth.recovery_code.verified", "auth.recovery_code.revoked", "auth.api_key.created", "auth.api_key.verified", "auth.api_key.revoked", "auth.api_key.verification_failed", "auth.refresh_token.issued", "auth.refresh_token.rotated", "auth.refresh_token.reuse_detected", "auth.refresh_token.revoked", "auth.jwt.introspected", "auth.jwt.revoked"]>;
1901
- readonly category: Schema.Literals<readonly ["api_key", "auth", "jwt", "mfa", "oauth", "policy", "refresh_token", "session"]>;
2289
+ readonly type: Schema.Literals<readonly ["auth.login.succeeded", "auth.login.failed", "auth.session.revoked", "auth.risk.assessed", "auth.policy.denied", "auth.oauth.account.linked", "auth.oauth.account.unlinked", "auth.oauth.link_confirmation.started", "auth.oauth.link_confirmation.confirmed", "auth.oauth.provider_token.refreshed", "auth.oauth.provider_token.revoked", "auth.passkey.credential.revoked", "auth.totp.enrollment.started", "auth.totp.factor.confirmed", "auth.totp.factor.verified", "auth.totp.factor.revoked", "auth.recovery_code.generated", "auth.recovery_code.verified", "auth.recovery_code.revoked", "auth.api_key.created", "auth.api_key.verified", "auth.api_key.revoked", "auth.api_key.verification_failed", "auth.refresh_token.issued", "auth.refresh_token.rotated", "auth.refresh_token.reuse_detected", "auth.refresh_token.revoked", "auth.incident_action.executed", "auth.jwt.introspected", "auth.jwt.revoked"]>;
2290
+ readonly category: Schema.Literals<readonly ["api_key", "auth", "incident", "jwt", "mfa", "oauth", "policy", "refresh_token", "risk", "session"]>;
1902
2291
  readonly severity: Schema.Literals<readonly ["info", "warning", "critical"]>;
1903
2292
  readonly occurredAt: Schema.brand<Schema.Number, "auth/UnixMillis">;
1904
2293
  readonly summary: Schema.String;
@@ -1920,6 +2309,38 @@ export declare class SecurityTimelineApi extends SecurityTimelineApi_base {
1920
2309
  declare const SecurityTimelineHttpApi_base: HttpApi.HttpApi<"SecurityTimelineHttpApi", typeof SecurityTimelineApi>;
1921
2310
  export declare class SecurityTimelineHttpApi extends SecurityTimelineHttpApi_base {
1922
2311
  }
2312
+ declare const AdminSecurityTimelineApi_base: HttpApiGroup.HttpApiGroup<"adminSecurityTimeline", import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"list", "GET", "/auth/admin/security/timeline", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<Schema.Struct<{
2313
+ readonly userId: Schema.brand<Schema.String, "auth/UserId">;
2314
+ readonly limit: Schema.optional<Schema.Number>;
2315
+ readonly beforeOccurredAt: Schema.optional<Schema.brand<Schema.Number, "auth/UnixMillis">>;
2316
+ readonly types: Schema.optional<Schema.$Array<Schema.Literals<readonly ["auth.login.succeeded", "auth.login.failed", "auth.session.revoked", "auth.risk.assessed", "auth.policy.denied", "auth.oauth.account.linked", "auth.oauth.account.unlinked", "auth.oauth.link_confirmation.started", "auth.oauth.link_confirmation.confirmed", "auth.oauth.provider_token.refreshed", "auth.oauth.provider_token.revoked", "auth.passkey.credential.revoked", "auth.totp.enrollment.started", "auth.totp.factor.confirmed", "auth.totp.factor.verified", "auth.totp.factor.revoked", "auth.recovery_code.generated", "auth.recovery_code.verified", "auth.recovery_code.revoked", "auth.api_key.created", "auth.api_key.verified", "auth.api_key.revoked", "auth.api_key.verification_failed", "auth.refresh_token.issued", "auth.refresh_token.rotated", "auth.refresh_token.reuse_detected", "auth.refresh_token.revoked", "auth.incident_action.executed", "auth.jwt.introspected", "auth.jwt.revoked"]>>>;
2317
+ readonly categories: Schema.optional<Schema.$Array<Schema.Literals<readonly ["api_key", "auth", "incident", "jwt", "mfa", "oauth", "policy", "refresh_token", "risk", "session"]>>>;
2318
+ }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<Schema.Struct<{
2319
+ readonly events: Schema.$Array<Schema.Struct<{
2320
+ readonly eventId: Schema.String;
2321
+ readonly type: Schema.Literals<readonly ["auth.login.succeeded", "auth.login.failed", "auth.session.revoked", "auth.risk.assessed", "auth.policy.denied", "auth.oauth.account.linked", "auth.oauth.account.unlinked", "auth.oauth.link_confirmation.started", "auth.oauth.link_confirmation.confirmed", "auth.oauth.provider_token.refreshed", "auth.oauth.provider_token.revoked", "auth.passkey.credential.revoked", "auth.totp.enrollment.started", "auth.totp.factor.confirmed", "auth.totp.factor.verified", "auth.totp.factor.revoked", "auth.recovery_code.generated", "auth.recovery_code.verified", "auth.recovery_code.revoked", "auth.api_key.created", "auth.api_key.verified", "auth.api_key.revoked", "auth.api_key.verification_failed", "auth.refresh_token.issued", "auth.refresh_token.rotated", "auth.refresh_token.reuse_detected", "auth.refresh_token.revoked", "auth.incident_action.executed", "auth.jwt.introspected", "auth.jwt.revoked"]>;
2322
+ readonly category: Schema.Literals<readonly ["api_key", "auth", "incident", "jwt", "mfa", "oauth", "policy", "refresh_token", "risk", "session"]>;
2323
+ readonly severity: Schema.Literals<readonly ["info", "warning", "critical"]>;
2324
+ readonly occurredAt: Schema.brand<Schema.Number, "auth/UnixMillis">;
2325
+ readonly summary: Schema.String;
2326
+ readonly actor: Schema.optional<Schema.Union<readonly [Schema.Struct<{
2327
+ readonly type: Schema.Literal<"anonymous">;
2328
+ }>, Schema.Struct<{
2329
+ readonly type: Schema.Literal<"user">;
2330
+ readonly sessionId: Schema.optional<Schema.brand<Schema.String, "auth/SessionId">>;
2331
+ }>]>>;
2332
+ readonly request: Schema.optional<Schema.Struct<{
2333
+ readonly ipHash: Schema.optional<Schema.String>;
2334
+ readonly userAgentHash: Schema.optional<Schema.String>;
2335
+ }>>;
2336
+ readonly metadata: Schema.optional<Schema.$Record<Schema.String, Schema.Unknown>>;
2337
+ }>>;
2338
+ }>>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof AuthUnauthenticatedError | typeof AuthPolicyDeniedError | typeof AuthInternalError>, AuthSchemaErrorMiddleware | AuthOriginCheckMiddleware, never>, false>;
2339
+ export declare class AdminSecurityTimelineApi extends AdminSecurityTimelineApi_base {
2340
+ }
2341
+ declare const AdminSecurityTimelineHttpApi_base: HttpApi.HttpApi<"AdminSecurityTimelineHttpApi", typeof AdminSecurityTimelineApi>;
2342
+ export declare class AdminSecurityTimelineHttpApi extends AdminSecurityTimelineHttpApi_base {
2343
+ }
1923
2344
  declare const TrustedDeviceApi_base: HttpApiGroup.HttpApiGroup<"trustedDevice", import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"list", "GET", "/auth/trusted-devices/", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<Schema.Struct<{
1924
2345
  readonly devices: Schema.$Array<Schema.Struct<{
1925
2346
  readonly deviceId: Schema.String;
@@ -1936,11 +2357,32 @@ export declare class TrustedDeviceApi extends TrustedDeviceApi_base {
1936
2357
  declare const TrustedDeviceHttpApi_base: HttpApi.HttpApi<"TrustedDeviceHttpApi", typeof TrustedDeviceApi>;
1937
2358
  export declare class TrustedDeviceHttpApi extends TrustedDeviceHttpApi_base {
1938
2359
  }
2360
+ declare const AdminTrustedDeviceApi_base: HttpApiGroup.HttpApiGroup<"adminTrustedDevice", import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"list", "GET", "/auth/admin/trusted-devices/", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<Schema.Struct<{
2361
+ readonly userId: Schema.brand<Schema.String, "auth/UserId">;
2362
+ }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<Schema.Struct<{
2363
+ readonly devices: Schema.$Array<Schema.Struct<{
2364
+ readonly deviceId: Schema.String;
2365
+ readonly createdAt: Schema.brand<Schema.Number, "auth/UnixMillis">;
2366
+ readonly lastSeenAt: Schema.brand<Schema.Number, "auth/UnixMillis">;
2367
+ readonly expiresAt: Schema.brand<Schema.Number, "auth/UnixMillis">;
2368
+ readonly metadata: Schema.optional<Schema.$Record<Schema.String, Schema.Unknown>>;
2369
+ }>>;
2370
+ }>>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof AuthUnauthenticatedError | typeof AuthPolicyDeniedError | typeof AuthInternalError>, AuthSchemaErrorMiddleware | AuthOriginCheckMiddleware, never> | import("effect/unstable/httpapi/HttpApiEndpoint").HttpApiEndpoint<"revoke", "POST", "/auth/admin/trusted-devices/revoke", import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<Schema.Struct<{
2371
+ readonly userId: Schema.brand<Schema.String, "auth/UserId">;
2372
+ readonly deviceId: Schema.String;
2373
+ }>>, import("effect/unstable/httpapi/HttpApiEndpoint").StringTree<never>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<import("effect/unstable/httpapi/HttpApiSchema").NoContent>, import("effect/unstable/httpapi/HttpApiEndpoint").Json<typeof AuthUnauthenticatedError | typeof AuthPolicyDeniedError | typeof AuthInternalError>, AuthSchemaErrorMiddleware | AuthOriginCheckMiddleware, never>, false>;
2374
+ export declare class AdminTrustedDeviceApi extends AdminTrustedDeviceApi_base {
2375
+ }
2376
+ declare const AdminTrustedDeviceHttpApi_base: HttpApi.HttpApi<"AdminTrustedDeviceHttpApi", typeof AdminTrustedDeviceApi>;
2377
+ export declare class AdminTrustedDeviceHttpApi extends AdminTrustedDeviceHttpApi_base {
2378
+ }
1939
2379
  declare const AuthApi_base: HttpApi.HttpApi<"AuthApi", typeof PasswordApi | typeof SessionApi | typeof EmailVerificationApi | typeof EmailOtpApi | typeof MagicLinkApi | typeof LoginApprovalApi | typeof SecurityApi>;
1940
2380
  export declare class AuthApi extends AuthApi_base {
1941
2381
  }
1942
2382
  export declare const PasswordApiLive: Layer.Layer<HttpApiGroup.ApiGroup<"AuthApi", "password">, never, Sessions | SessionCookie | PasswordLogin | PasswordRegistration | PasswordReset | PasswordManagement | AuthSchemaErrorMiddleware | AuthHttp | EmailVerificationFlow | AuthApiRateLimit | AuthOriginCheckMiddleware | AuthRateLimitMiddleware>;
1943
2383
  export declare const SessionApiLive: Layer.Layer<HttpApiGroup.ApiGroup<"AuthApi", "session">, never, Sessions | SessionCookie | AuthHttp | AuthOriginCheckMiddleware>;
2384
+ export declare const AdminSessionApiLive: Layer.Layer<HttpApiGroup.ApiGroup<"AdminSessionHttpApi", "adminSession">, never, Sessions | SessionCookie | AuthSchemaErrorMiddleware | AuthOriginCheckMiddleware | AdminSessionAuthorization>;
2385
+ export declare const AdminSessionHttpApiLive: Layer.Layer<never, never, Sessions | SessionCookie | import("effect/FileSystem").FileSystem | import("effect/Path").Path | AdminSessionAuthorization | import("effect/unstable/http/Etag").Generator | import("effect/unstable/http/HttpRouter").HttpRouter | import("effect/unstable/http/HttpPlatform").HttpPlatform>;
1944
2386
  export declare const EmailVerificationApiLive: Layer.Layer<HttpApiGroup.ApiGroup<"AuthApi", "emailVerification">, never, Sessions | SessionCookie | AuthSchemaErrorMiddleware | EmailVerificationFlow | EmailVerification | AuthApiRateLimit | AuthOriginCheckMiddleware | AuthRateLimitMiddleware>;
1945
2387
  export declare const EmailOtpApiLive: Layer.Layer<HttpApiGroup.ApiGroup<"AuthApi", "emailOtp">, never, EmailOtpLogin | AuthSchemaErrorMiddleware | AuthHttp | AuthApiRateLimit | AuthOriginCheckMiddleware | AuthRateLimitMiddleware>;
1946
2388
  export declare const MagicLinkApiLive: Layer.Layer<HttpApiGroup.ApiGroup<"AuthApi", "magicLink">, never, MagicLinkLogin | AuthSchemaErrorMiddleware | AuthHttp | AuthApiRateLimit | AuthOriginCheckMiddleware | AuthRateLimitMiddleware>;
@@ -1948,9 +2390,21 @@ export declare const LoginApprovalApiLive: Layer.Layer<HttpApiGroup.ApiGroup<"Au
1948
2390
  export declare const SecurityApiLive: Layer.Layer<HttpApiGroup.ApiGroup<"AuthApi", "security">, never, AuthSchemaErrorMiddleware | AuthOriginCheckMiddleware>;
1949
2391
  export declare const SecurityTimelineApiLive: Layer.Layer<HttpApiGroup.ApiGroup<"SecurityTimelineHttpApi", "securityTimeline">, never, Sessions | SessionCookie | AuthSchemaErrorMiddleware | SecurityTimelineStore | AuthOriginCheckMiddleware>;
1950
2392
  export declare const SecurityTimelineHttpApiLive: Layer.Layer<never, never, Sessions | SessionCookie | SecurityTimelineStore | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("effect/unstable/http/Etag").Generator | import("effect/unstable/http/HttpRouter").HttpRouter | import("effect/unstable/http/HttpPlatform").HttpPlatform>;
1951
- export declare const TrustedDeviceApiLive: Layer.Layer<HttpApiGroup.ApiGroup<"TrustedDeviceHttpApi", "trustedDevice">, never, Sessions | SessionCookie | TrustedDeviceStore | AuthSchemaErrorMiddleware | AuthOriginCheckMiddleware>;
1952
- export declare const TrustedDeviceHttpApiLive: Layer.Layer<never, never, Sessions | SessionCookie | TrustedDeviceStore | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("effect/unstable/http/Etag").Generator | import("effect/unstable/http/HttpRouter").HttpRouter | import("effect/unstable/http/HttpPlatform").HttpPlatform>;
1953
- export declare const AuthHttpApiBareLive: Layer.Layer<never, never, UserStore | Sessions | SessionCookie | LoginApproval | AuthFlowState | AuthFlow | EmailOtpLogin | MagicLinkLogin | PasswordLogin | PasswordRegistration | PasswordReset | PasswordManagement | AuthHttp | EmailVerificationFlow | EmailVerification | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("effect/unstable/http/Etag").Generator | import("effect/unstable/http/HttpRouter").HttpRouter | import("effect/unstable/http/HttpPlatform").HttpPlatform>;
1954
- export declare const AuthHttpApiLive: Layer.Layer<never, never, UserStore | Sessions | SessionCookie | LoginApproval | AuthFlowState | AuthFlow | import("../Privacy.js").Privacy | EmailOtpLogin | MagicLinkLogin | PasswordLogin | PasswordRegistration | PasswordReset | PasswordManagement | AuthHttp | EmailVerificationFlow | EmailVerification | import("../RateLimiter.js").RateLimiter | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("effect/unstable/http/Etag").Generator | import("effect/unstable/http/HttpRouter").HttpRouter | import("effect/unstable/http/HttpPlatform").HttpPlatform>;
2393
+ export declare const OAuthProviderAuthorizationApiLive: Layer.Layer<HttpApiGroup.ApiGroup<"OAuthProviderAuthorizationHttpApi", "oauthProviderAuthorization">, never, AuthSchemaErrorMiddleware | OAuthProviderAuthorization>;
2394
+ export declare const OAuthProviderAuthorizationHttpApiLive: Layer.Layer<never, never, OAuthProviderAuthorization | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("effect/unstable/http/Etag").Generator | import("effect/unstable/http/HttpRouter").HttpRouter | import("effect/unstable/http/HttpPlatform").HttpPlatform>;
2395
+ export declare const OAuthTokenApiLive: Layer.Layer<HttpApiGroup.ApiGroup<"OAuthTokenHttpApi", "oauthToken">, never, AuthSchemaErrorMiddleware | OAuthAuthorizationCodeTokenGrant>;
2396
+ export declare const OAuthTokenHttpApiLive: Layer.Layer<never, never, OAuthAuthorizationCodeTokenGrant | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("effect/unstable/http/Etag").Generator | import("effect/unstable/http/HttpRouter").HttpRouter | import("effect/unstable/http/HttpPlatform").HttpPlatform>;
2397
+ export declare const JwtDiscoveryApiLive: Layer.Layer<HttpApiGroup.ApiGroup<"JwtDiscoveryHttpApi", "jwtDiscovery">, never, AuthSchemaErrorMiddleware | Jwks>;
2398
+ export declare const JwtDiscoveryHttpApiLive: Layer.Layer<never, never, Jwks | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("effect/unstable/http/Etag").Generator | import("effect/unstable/http/HttpRouter").HttpRouter | import("effect/unstable/http/HttpPlatform").HttpPlatform>;
2399
+ export declare const OidcDiscoveryApiLive: Layer.Layer<HttpApiGroup.ApiGroup<"OidcDiscoveryHttpApi", "oidcDiscovery">, never, AuthSchemaErrorMiddleware | OidcDiscoveryMetadata>;
2400
+ export declare const OidcDiscoveryHttpApiLive: Layer.Layer<never, never, import("effect/FileSystem").FileSystem | import("effect/Path").Path | OidcDiscoveryMetadata | import("effect/unstable/http/Etag").Generator | import("effect/unstable/http/HttpRouter").HttpRouter | import("effect/unstable/http/HttpPlatform").HttpPlatform>;
2401
+ export declare const AdminSecurityTimelineApiLive: Layer.Layer<HttpApiGroup.ApiGroup<"AdminSecurityTimelineHttpApi", "adminSecurityTimeline">, never, Sessions | SessionCookie | AuthSchemaErrorMiddleware | SecurityTimelineStore | AuthOriginCheckMiddleware | AdminSecurityTimelineAuthorization>;
2402
+ export declare const AdminSecurityTimelineHttpApiLive: Layer.Layer<never, never, Sessions | SessionCookie | SecurityTimelineStore | import("effect/FileSystem").FileSystem | import("effect/Path").Path | AdminSecurityTimelineAuthorization | import("effect/unstable/http/Etag").Generator | import("effect/unstable/http/HttpRouter").HttpRouter | import("effect/unstable/http/HttpPlatform").HttpPlatform>;
2403
+ export declare const TrustedDeviceApiLive: Layer.Layer<HttpApiGroup.ApiGroup<"TrustedDeviceHttpApi", "trustedDevice">, never, Sessions | TrustedDeviceStore | SessionCookie | AuthSchemaErrorMiddleware | AuthOriginCheckMiddleware>;
2404
+ export declare const TrustedDeviceHttpApiLive: Layer.Layer<never, never, Sessions | TrustedDeviceStore | SessionCookie | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("effect/unstable/http/Etag").Generator | import("effect/unstable/http/HttpRouter").HttpRouter | import("effect/unstable/http/HttpPlatform").HttpPlatform>;
2405
+ export declare const AdminTrustedDeviceApiLive: Layer.Layer<HttpApiGroup.ApiGroup<"AdminTrustedDeviceHttpApi", "adminTrustedDevice">, never, Sessions | TrustedDeviceStore | SessionCookie | AuthSchemaErrorMiddleware | AuthOriginCheckMiddleware | AdminTrustedDeviceAuthorization>;
2406
+ export declare const AdminTrustedDeviceHttpApiLive: Layer.Layer<never, never, Sessions | TrustedDeviceStore | SessionCookie | import("effect/FileSystem").FileSystem | import("effect/Path").Path | AdminTrustedDeviceAuthorization | import("effect/unstable/http/Etag").Generator | import("effect/unstable/http/HttpRouter").HttpRouter | import("effect/unstable/http/HttpPlatform").HttpPlatform>;
2407
+ export declare const AuthHttpApiBareLive: Layer.Layer<never, never, UserStore | LoginApproval | Sessions | AuthFlowState | AuthFlow | SessionCookie | EmailOtpLogin | MagicLinkLogin | PasswordLogin | PasswordRegistration | PasswordReset | PasswordManagement | AuthHttp | EmailVerificationFlow | EmailVerification | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("effect/unstable/http/Etag").Generator | import("effect/unstable/http/HttpRouter").HttpRouter | import("effect/unstable/http/HttpPlatform").HttpPlatform>;
2408
+ export declare const AuthHttpApiLive: Layer.Layer<never, never, UserStore | LoginApproval | Sessions | AuthFlowState | AuthFlow | import("../Privacy.js").Privacy | SessionCookie | EmailOtpLogin | MagicLinkLogin | PasswordLogin | PasswordRegistration | PasswordReset | PasswordManagement | AuthHttp | EmailVerificationFlow | EmailVerification | import("../RateLimiter.js").RateLimiter | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("effect/unstable/http/Etag").Generator | import("effect/unstable/http/HttpRouter").HttpRouter | import("effect/unstable/http/HttpPlatform").HttpPlatform>;
1955
2409
  export { AuthResult };
1956
2410
  //# sourceMappingURL=Api.d.ts.map