@effect-auth/core 0.1.0-alpha.7 → 0.1.0-alpha.9

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/README.md CHANGED
@@ -231,11 +231,11 @@ import {
231
231
  Pbkdf2PasswordHasherLive,
232
232
  } from "@effect-auth/core/Password";
233
233
  import { SessionCookieLive, SessionsLive } from "@effect-auth/core/Sessions";
234
- import { KyselyAuthStorageLive } from "@effect-auth/core/KyselyStorage";
234
+ import { EffectQbSqliteAuthStorageLive } from "@effect-auth/core/EffectQbSqliteStorage";
235
235
 
236
236
  const AuthLive = Layer.mergeAll(
237
237
  WebCryptoLive(),
238
- KyselyAuthStorageLive(db),
238
+ EffectQbSqliteAuthStorageLive(executor),
239
239
  Pbkdf2PasswordHasherLive(),
240
240
  SessionsLive({ secret: Redacted.make(env.AUTH_SESSION_SECRET) }),
241
241
  SessionCookieLive(),
@@ -514,7 +514,7 @@ export const createBrowserSession = (userId: UserId) =>
514
514
  });
515
515
  ```
516
516
 
517
- `SessionClaims` are a safe, transport-visible session summary. They currently include `emailVerified` and `requirements`, and are returned by password auth success, current-session, and refresh HTTP responses when present. Use `Sessions.updateClaims` to update an active session without rotating the opaque session token. Kysely storage persists claims in the existing `auth_session.metadata` column, so no additional storage migration is required.
517
+ `SessionClaims` are a safe, transport-visible session summary. They currently include `emailVerified` and `requirements`, and are returned by password auth success, current-session, and refresh HTTP responses when present. Use `Sessions.updateClaims` to update an active session without rotating the opaque session token. Effect-QB storage persists claims in the existing `auth_session.metadata` column, so no additional storage migration is required.
518
518
 
519
519
  Password auth passes the user's email verification state into `AuthFlow`, where `EmailVerificationSessionPolicy` decides whether unverified users get a normal session or a constrained session. The default mode is `allow-unverified` for compatibility. Use `limited-session` to issue sessions with an `email_verification` requirement. Per-login email approval is a separate `UserSecurityPolicy` / `LoginApprovalPolicy` concern, not an email verification session mode.
520
520
 
@@ -619,7 +619,7 @@ export const AppLoginApprovalLive = Layer.mergeAll(
619
619
 
620
620
  The default preset policy is `mode: "never"`. Passkeys or other high-assurance methods can bypass preset approval with `skipMethods` or `skipWhenAalAtLeast`. Approval `channel` and `reason` are open strings, so apps can model `admin`, `sms`, `push`, `manual-review`, or risk-specific reasons without extending core. `LoginApprovalDecision.emailCode`, `emailLink`, `sms`, `adminReview`, and `custom` set semantic `sessionBinding`; `sameDeviceRequired` remains available as the low-level legacy flag. `adminReview` uses `sessionBinding: "none"`, `LoginApprovalReview.approve` / `deny` record the out-of-band decision, and `LoginApprovalFinalize.complete` creates the session only for the originating device. Email is required only for the built-in email delivery path; non-email channels can omit it and use a custom `LoginApprovalDelivery`. `AuthFlow` always supplies policy with typed `device` and `risk`; the default risk engine returns `LoginRiskContext.make({ level: "unknown", signals: [] })`, and apps can provide `LoginRiskEngine` to calculate impossible travel, IP reputation, tenant policy, or other risk signals. `LoginRiskContext` and `LoginRiskSignal` are `Schema.Class` values, so custom engines should return `LoginRiskContext.make(...)`; policies can use helpers such as `input.risk.hasSignal(...)`, `input.risk.getSignal(...)`, and `input.risk.isAtLeast(...)`. `LoginRiskEngine` receives request context only when the primary-factor integration supplies it; core does not trust proxy or geo headers by default.
621
621
 
622
- `LoginApproval.inspect` validates a login approval challenge without consuming it. Use it for GET preview pages or admin panels that need to display pending approval details. For admin, push, or Slack approvals, configure `LoginApprovalReview` with a persistent store, let the out-of-band actor call `approve` or `deny`, then have the user's original browser poll review status and call `LoginApprovalFinalize.complete` with its pending-cookie secret. The built-in HTTP API exposes this originating-browser path as `POST /auth/login-approval/status` and `POST /auth/login-approval/finalize`, also available as `client.loginApproval.status(...)` and `client.loginApproval.finalize(...)`. `KyselyAuthStorageLive` and `EffectQbSqliteAuthStorageLive` provide durable `LoginApprovalReviewStore`; the included `LoginApprovalReviewStoreMemoryLive` is for tests and local composition.
622
+ `LoginApproval.inspect` validates a login approval challenge without consuming it. Use it for GET preview pages or admin panels that need to display pending approval details. For admin, push, or Slack approvals, configure `LoginApprovalReview` with a persistent store, let the out-of-band actor call `approve` or `deny`, then have the user's original browser poll review status and call `LoginApprovalFinalize.complete` with its pending-cookie secret. The built-in HTTP API exposes this originating-browser path as `POST /auth/login-approval/status` and `POST /auth/login-approval/finalize`, also available as `client.loginApproval.status(...)` and `client.loginApproval.finalize(...)`. `EffectQbSqliteAuthStorageLive` provides durable `LoginApprovalReviewStore`; the included `LoginApprovalReviewStoreMemoryLive` is for tests and local composition.
623
623
 
624
624
  `AuthFlowState` stores a short-lived, single-use pending primary-factor result in the existing challenge store. It is the bridge between “password/passkey/OTP verified” and “approval/MFA completed, now create a session”. The stored state contains `userId`, `method`, `amr`, `aal`, optional session claims, and app metadata such as `redirectTo`.
625
625
 
@@ -648,7 +648,7 @@ export const AppTrustedDeviceLive = Layer.mergeAll(
648
648
  );
649
649
  ```
650
650
 
651
- The built-in password sign-in, email OTP verify, and magic-link verify HTTP handlers read the HttpOnly `__Host-auth-device` cookie when `TrustedDeviceCookie` is provided and pass the trusted-device token into `AuthFlow`; `AuthFlow` resolves the device status centrally with `TrustedDevice`. `POST /auth/login-approval/approve` accepts `rememberDevice: true`; when `TrustedDevice` and `TrustedDeviceCookie` are provided it trusts the approved user/device and sets `__Host-auth-device` with the final session response. `KyselyAuthStorageLive` and `EffectQbSqliteAuthStorageLive` provide durable `TrustedDeviceStore`; the in-memory store is intended for tests and local composition.
651
+ The built-in password sign-in, email OTP verify, and magic-link verify HTTP handlers read the HttpOnly `__Host-auth-device` cookie when `TrustedDeviceCookie` is provided and pass the trusted-device token into `AuthFlow`; `AuthFlow` resolves the device status centrally with `TrustedDevice`. `POST /auth/login-approval/approve` accepts `rememberDevice: true`; when `TrustedDevice` and `TrustedDeviceCookie` are provided it trusts the approved user/device and sets `__Host-auth-device` with the final session response. `EffectQbSqliteAuthStorageLive` provides durable `TrustedDeviceStore`; the in-memory store is intended for tests and local composition.
652
652
 
653
653
  ## Challenge
654
654
 
@@ -724,7 +724,7 @@ export const verifyEmail = (challengeId: ChallengeId, code: string) =>
724
724
 
725
725
  ## Storage
726
726
 
727
- Storage is exposed as ORM-free ports. Core flows depend on store services, while Kysely, effect-qb, future Drizzle, or app-owned adapters provide the implementations.
727
+ Storage is exposed as ORM-free ports. Core flows depend on store services, while Effect-QB, future Drizzle, or app-owned adapters provide the implementations.
728
728
 
729
729
  ```ts
730
730
  import { Effect, Option } from "effect";
@@ -764,55 +764,13 @@ const VerificationStoreLive = VerificationStore.make({
764
764
  });
765
765
  ```
766
766
 
767
- The first storage adapter is Kysely-based. Applications own their Kysely instance and database dialect, while `@effect-auth/core/KyselyStorage` implements the auth store contracts:
768
-
769
- ```ts
770
- import { makeKyselyStorage } from "@effect-auth/core/KyselyStorage";
771
-
772
- const {
773
- userStore,
774
- credentialStore,
775
- sessionStore,
776
- verificationStore,
777
- loginApprovalReviewStore,
778
- trustedDeviceStore,
779
- } = makeKyselyStorage(db);
780
- ```
781
-
782
- For Cloudflare D1, use the first-party Kysely dialect instead of an external D1 dialect package:
783
-
784
- ```ts
785
- import { makeD1Kysely } from "@effect-auth/core/D1Kysely";
786
- import {
787
- KyselyAuthStorageLive,
788
- type KyselyAuthDatabase,
789
- } from "@effect-auth/core/KyselyStorage";
790
-
791
- interface DB extends KyselyAuthDatabase {
792
- // app tables live here too
793
- }
794
-
795
- const db = makeD1Kysely<DB>(env.DB);
796
- const StorageLive = KyselyAuthStorageLive(db);
797
- ```
798
-
799
- The default schema expects `auth_user`, `auth_credential`, `auth_session`, `auth_verification`, `auth_login_approval_review`, `auth_trusted_device`, and `auth_passkey_credential` tables in the Kysely database type:
800
-
801
- ```ts
802
- import type { KyselyAuthDatabase } from "@effect-auth/core/KyselyStorage";
803
-
804
- interface DB extends KyselyAuthDatabase {
805
- // app tables live here too
806
- }
807
- ```
808
-
809
- The default schema is also exported as SQL and as package assets:
767
+ The default schema is exported as SQL and as package assets:
810
768
 
811
769
  ```ts
812
770
  import { authStorageMigrations } from "@effect-auth/core/StorageMigrations";
813
771
  ```
814
772
 
815
- Effect-qb SQLite/D1 storage is also available. The default path uses the same auth schema and requires no table mapping:
773
+ Effect-QB SQLite/D1 storage is the first-party durable adapter. The default path uses the auth schema and requires no table mapping:
816
774
 
817
775
  ```ts
818
776
  import { EffectQbSqliteAuthStorageLive } from "@effect-auth/core/EffectQbSqliteStorage";
@@ -820,6 +778,8 @@ import { EffectQbSqliteAuthStorageLive } from "@effect-auth/core/EffectQbSqliteS
820
778
  const StorageLive = EffectQbSqliteAuthStorageLive(executor);
821
779
  ```
822
780
 
781
+ `EffectQbSqliteAuthStorageLive` provides all durable auth stores in the default schema, including the OAuth provider-token vault for already-encrypted provider token ciphertexts. Apps still own provider-token encryption and KMS/secrets-service policy before values reach storage.
782
+
823
783
  For Cloudflare D1, create an effect-qb SQLite executor from the D1 binding:
824
784
 
825
785
  ```ts
@@ -832,7 +792,7 @@ const executor = makeD1EffectQbSqliteExecutor(env.DB);
832
792
  const StorageLive = EffectQbSqliteAuthStorageLive(executor);
833
793
  ```
834
794
 
835
- Applications with their own effect-qb tables can map semantic auth fields to app-owned columns with `defineEffectQbAuthTables`:
795
+ Applications with their own Effect-QB tables can map semantic auth fields to app-owned columns with `defineEffectQbAuthTables`:
836
796
 
837
797
  ```ts
838
798
  import { Column, Query, Table } from "effect-qb/sqlite";
@@ -882,7 +842,7 @@ const authTables = defineEffectQbAuthTables({
882
842
  }) satisfies Query.MutationInputOf<Table.UpdateOf<typeof users>>,
883
843
  },
884
844
 
885
- // credential/session/verification/review/trusted-device mappings follow the same pattern.
845
+ // credential/session/verification/review/trusted-device/passkey/TOTP/recovery-code/API-key/refresh-token/OAuth-account/provider-token-vault mappings follow the same pattern.
886
846
  });
887
847
 
888
848
  const StorageLive = EffectQbSqliteAuthStorageLive(executor, {
@@ -1,13 +1,25 @@
1
1
  import { Layer } from "effect";
2
2
  import { Executor, Query, Scalar, Table } from "effect-qb/sqlite";
3
+ import { ApiKeyStore } from "./ApiKey.js";
4
+ import type { ApiKeyMarkUsedInput, ApiKeyRecord, ApiKeyRevokeInput, ApiKeyStoreService } from "./ApiKey.js";
3
5
  import { UnixMillis } from "./Identifiers.js";
4
6
  import { JwtRevocationStore } from "./Jwt.js";
5
7
  import type { JwtRevocationRecord, JwtRevocationStoreService } from "./Jwt.js";
6
8
  import { LoginApprovalReviewStore } from "./LoginApproval.js";
7
9
  import type { LoginApprovalReviewRecord, LoginApprovalReviewStoreService, LoginApprovalReviewerId } from "./LoginApproval.js";
10
+ import { OAuthAccountStore, OAuthProviderTokenVault } from "./OAuth.js";
11
+ import type { OAuthAccountRecord, OAuthAccountStoreService, OAuthAccountUnlinkInput, OAuthProviderTokenVaultMarkRevokedInput, OAuthProviderTokenVaultRecord, OAuthProviderTokenVaultService } from "./OAuth.js";
12
+ import { PasskeyCredentialStore } from "./Passkey.js";
13
+ import type { PasskeyCredentialRecord, PasskeyCredentialRevokeInput, PasskeyCredentialStoreService, PasskeyCredentialUpdateSignCountInput } from "./Passkey.js";
14
+ import { RecoveryCodeStore } from "./RecoveryCode.js";
15
+ import type { RecoveryCodeMarkUsedInput, RecoveryCodeRecord, RecoveryCodeRevokeInput, RecoveryCodeStoreService } from "./RecoveryCode.js";
16
+ import { RefreshTokenStore } from "./RefreshToken.js";
17
+ import type { RefreshTokenMarkReuseDetectedInput, RefreshTokenRecord, RefreshTokenRevokeFamilyInput, RefreshTokenRevokeInput, RefreshTokenRotateStoreInput, RefreshTokenStoreService } from "./RefreshToken.js";
8
18
  import type { AuthMethodReference } from "./Sessions.js";
9
19
  import { CredentialStore, SessionStore, UserStore, VerificationStore } from "./Storage.js";
10
20
  import type { CredentialStoreService, NewPasswordCredentialRow, NewSessionRow, NewUserRow, NewVerificationRow, PasswordCredentialRow, PasswordCredentialUpdatePasswordInput, SessionRefreshStoreInput, SessionRevokeAllForUserStoreInput, SessionRevokeStoreInput, SessionRotateStoreInput, SessionRow, SessionStoreService, SessionUpdateClaimsStoreInput, UserMarkEmailVerifiedInput, UserRow, UserStoreService, VerificationConsumeInput, VerificationRow, VerificationStoreService } from "./Storage.js";
21
+ import { TotpFactorStore } from "./Totp.js";
22
+ import type { TotpFactorConfirmInput, TotpFactorMarkUsedInput, TotpFactorRecord, TotpFactorRevokeInput, TotpFactorStoreService } from "./Totp.js";
11
23
  import { TrustedDeviceStore } from "./TrustedDevice.js";
12
24
  import type { TrustedDeviceRecord, TrustedDeviceStoreService, TrustedDeviceStoreUpsertInput } from "./TrustedDevice.js";
13
25
  export interface D1EffectQbResult<Row extends Readonly<Record<string, unknown>> = Readonly<Record<string, unknown>>> {
@@ -100,12 +112,100 @@ export interface EffectQbAuthTrustedDeviceSelectedRow {
100
112
  readonly expiresAt: number;
101
113
  readonly metadata: unknown;
102
114
  }
115
+ export interface EffectQbAuthPasskeyCredentialSelectedRow {
116
+ readonly id: string;
117
+ readonly userId: string;
118
+ readonly credentialId: string;
119
+ readonly publicKey: string;
120
+ readonly signCount: number;
121
+ readonly transports: unknown;
122
+ readonly backedUp: boolean | number | string | null;
123
+ readonly createdAt: number;
124
+ readonly lastUsedAt: number | null;
125
+ readonly revokedAt: number | null;
126
+ readonly metadata: unknown;
127
+ }
128
+ export interface EffectQbAuthTotpFactorSelectedRow {
129
+ readonly id: string;
130
+ readonly userId: string;
131
+ readonly secret: string;
132
+ readonly algorithm: string;
133
+ readonly digits: number;
134
+ readonly period: number;
135
+ readonly createdAt: number;
136
+ readonly confirmedAt: number | null;
137
+ readonly lastUsedAt: number | null;
138
+ readonly revokedAt: number | null;
139
+ readonly metadata: unknown;
140
+ }
141
+ export interface EffectQbAuthRecoveryCodeSelectedRow {
142
+ readonly id: string;
143
+ readonly userId: string;
144
+ readonly codeHash: string;
145
+ readonly createdAt: number;
146
+ readonly usedAt: number | null;
147
+ readonly revokedAt: number | null;
148
+ readonly metadata: unknown;
149
+ }
150
+ export interface EffectQbAuthApiKeySelectedRow {
151
+ readonly id: string;
152
+ readonly userId: string;
153
+ readonly prefix: string;
154
+ readonly secretHash: string;
155
+ readonly scopes: unknown;
156
+ readonly createdAt: number;
157
+ readonly expiresAt: number | null;
158
+ readonly lastUsedAt: number | null;
159
+ readonly revokedAt: number | null;
160
+ readonly metadata: unknown;
161
+ }
162
+ export interface EffectQbAuthRefreshTokenSelectedRow {
163
+ readonly id: string;
164
+ readonly familyId: string;
165
+ readonly userId: string;
166
+ readonly secretHash: string;
167
+ readonly createdAt: number;
168
+ readonly expiresAt: number;
169
+ readonly lastUsedAt: number | null;
170
+ readonly rotatedAt: number | null;
171
+ readonly replacedById: string | null;
172
+ readonly revokedAt: number | null;
173
+ readonly reuseDetectedAt: number | null;
174
+ readonly metadata: unknown;
175
+ }
103
176
  export interface EffectQbAuthJwtRevocationSelectedRow {
104
177
  readonly jwtId: string;
105
178
  readonly revokedAt: number;
106
179
  readonly expiresAt: number | null;
107
180
  readonly reason: string | null;
108
181
  }
182
+ export interface EffectQbAuthOAuthAccountSelectedRow {
183
+ readonly id: string;
184
+ readonly providerId: string;
185
+ readonly providerAccountId: string;
186
+ readonly userId: string;
187
+ readonly email: string | null;
188
+ readonly emailVerified: boolean | number | string | null;
189
+ readonly createdAt: number;
190
+ readonly updatedAt: number;
191
+ readonly unlinkedAt: number | null;
192
+ readonly metadata: unknown;
193
+ }
194
+ export interface EffectQbAuthOAuthProviderTokenVaultSelectedRow {
195
+ readonly accountId: string;
196
+ readonly userId: string;
197
+ readonly providerId: string;
198
+ readonly providerAccountId: string;
199
+ readonly accessTokenCiphertext: string;
200
+ readonly refreshTokenCiphertext: string | null;
201
+ readonly idTokenCiphertext: string | null;
202
+ readonly tokenType: string;
203
+ readonly scopes: unknown;
204
+ readonly expiresAt: number | null;
205
+ readonly updatedAt: number;
206
+ readonly revokedAt: number | null;
207
+ readonly revocationReason: string | null;
208
+ }
109
209
  declare const authSqliteTablesTypeId: unique symbol;
110
210
  export interface AuthSqliteTableNames {
111
211
  readonly user?: string;
@@ -114,7 +214,14 @@ export interface AuthSqliteTableNames {
114
214
  readonly verification?: string;
115
215
  readonly loginApprovalReview?: string;
116
216
  readonly trustedDevice?: string;
217
+ readonly passkeyCredential?: string;
218
+ readonly totpFactor?: string;
219
+ readonly recoveryCode?: string;
220
+ readonly apiKey?: string;
221
+ readonly refreshToken?: string;
117
222
  readonly jwtRevocation?: string;
223
+ readonly oauthAccount?: string;
224
+ readonly oauthProviderTokenVault?: string;
118
225
  }
119
226
  type EffectQbSqliteTable = Table.AnyTable;
120
227
  type EffectQbInsertInput<TableValue extends EffectQbSqliteTable> = Query.MutationInputOf<Table.InsertOf<TableValue>>;
@@ -243,6 +350,105 @@ export interface EffectQbAuthTrustedDeviceTable<TableValue extends EffectQbSqlit
243
350
  readonly update: (input: TrustedDeviceStoreUpsertInput, existing: TrustedDeviceRecord) => EffectQbUpdateInput<TableValue>;
244
351
  readonly decode?: (row: EffectQbAuthTrustedDeviceSelectedRow) => TrustedDeviceRecord;
245
352
  }
353
+ export interface EffectQbAuthPasskeyCredentialTable<TableValue extends EffectQbSqliteTable = EffectQbSqliteTable> {
354
+ readonly table: TableValue;
355
+ readonly select: EffectQbSelection & {
356
+ readonly id: EffectQbSqliteExpression;
357
+ readonly userId: EffectQbSqliteExpression;
358
+ readonly credentialId: EffectQbSqliteExpression;
359
+ readonly publicKey: EffectQbSqliteExpression;
360
+ readonly signCount: EffectQbSqliteExpression;
361
+ readonly transports: EffectQbSqliteExpression;
362
+ readonly backedUp: EffectQbSqliteExpression;
363
+ readonly createdAt: EffectQbSqliteExpression;
364
+ readonly lastUsedAt: EffectQbSqliteExpression;
365
+ readonly revokedAt: EffectQbSqliteExpression;
366
+ readonly metadata: EffectQbSqliteExpression;
367
+ };
368
+ readonly insert: (row: PasskeyCredentialRecord) => EffectQbInsertInput<TableValue>;
369
+ readonly updateSignCount: (input: PasskeyCredentialUpdateSignCountInput) => EffectQbUpdateInput<TableValue>;
370
+ readonly revoke: (input: PasskeyCredentialRevokeInput, row: PasskeyCredentialRecord) => EffectQbUpdateInput<TableValue>;
371
+ readonly decode?: (row: EffectQbAuthPasskeyCredentialSelectedRow) => PasskeyCredentialRecord;
372
+ }
373
+ export interface EffectQbAuthTotpFactorTable<TableValue extends EffectQbSqliteTable = EffectQbSqliteTable> {
374
+ readonly table: TableValue;
375
+ readonly select: EffectQbSelection & {
376
+ readonly id: EffectQbSqliteExpression;
377
+ readonly userId: EffectQbSqliteExpression;
378
+ readonly secret: EffectQbSqliteExpression;
379
+ readonly algorithm: EffectQbSqliteExpression;
380
+ readonly digits: EffectQbSqliteExpression;
381
+ readonly period: EffectQbSqliteExpression;
382
+ readonly createdAt: EffectQbSqliteExpression;
383
+ readonly confirmedAt: EffectQbSqliteExpression;
384
+ readonly lastUsedAt: EffectQbSqliteExpression;
385
+ readonly revokedAt: EffectQbSqliteExpression;
386
+ readonly metadata: EffectQbSqliteExpression;
387
+ };
388
+ readonly insert: (row: TotpFactorRecord) => EffectQbInsertInput<TableValue>;
389
+ readonly confirm: (input: TotpFactorConfirmInput) => EffectQbUpdateInput<TableValue>;
390
+ readonly markUsed: (input: TotpFactorMarkUsedInput) => EffectQbUpdateInput<TableValue>;
391
+ readonly revoke: (input: TotpFactorRevokeInput, row: TotpFactorRecord) => EffectQbUpdateInput<TableValue>;
392
+ readonly decode?: (row: EffectQbAuthTotpFactorSelectedRow) => TotpFactorRecord;
393
+ }
394
+ export interface EffectQbAuthRecoveryCodeTable<TableValue extends EffectQbSqliteTable = EffectQbSqliteTable> {
395
+ readonly table: TableValue;
396
+ readonly select: EffectQbSelection & {
397
+ readonly id: EffectQbSqliteExpression;
398
+ readonly userId: EffectQbSqliteExpression;
399
+ readonly codeHash: EffectQbSqliteExpression;
400
+ readonly createdAt: EffectQbSqliteExpression;
401
+ readonly usedAt: EffectQbSqliteExpression;
402
+ readonly revokedAt: EffectQbSqliteExpression;
403
+ readonly metadata: EffectQbSqliteExpression;
404
+ };
405
+ readonly insert: (row: RecoveryCodeRecord) => EffectQbInsertInput<TableValue>;
406
+ readonly markUsed: (input: RecoveryCodeMarkUsedInput) => EffectQbUpdateInput<TableValue>;
407
+ readonly revoke: (input: RecoveryCodeRevokeInput, row: RecoveryCodeRecord) => EffectQbUpdateInput<TableValue>;
408
+ readonly decode?: (row: EffectQbAuthRecoveryCodeSelectedRow) => RecoveryCodeRecord;
409
+ }
410
+ export interface EffectQbAuthApiKeyTable<TableValue extends EffectQbSqliteTable = EffectQbSqliteTable> {
411
+ readonly table: TableValue;
412
+ readonly select: EffectQbSelection & {
413
+ readonly id: EffectQbSqliteExpression;
414
+ readonly userId: EffectQbSqliteExpression;
415
+ readonly prefix: EffectQbSqliteExpression;
416
+ readonly secretHash: EffectQbSqliteExpression;
417
+ readonly scopes: EffectQbSqliteExpression;
418
+ readonly createdAt: EffectQbSqliteExpression;
419
+ readonly expiresAt: EffectQbSqliteExpression;
420
+ readonly lastUsedAt: EffectQbSqliteExpression;
421
+ readonly revokedAt: EffectQbSqliteExpression;
422
+ readonly metadata: EffectQbSqliteExpression;
423
+ };
424
+ readonly insert: (row: ApiKeyRecord) => EffectQbInsertInput<TableValue>;
425
+ readonly markUsed: (input: ApiKeyMarkUsedInput) => EffectQbUpdateInput<TableValue>;
426
+ readonly revoke: (input: ApiKeyRevokeInput, row: ApiKeyRecord) => EffectQbUpdateInput<TableValue>;
427
+ readonly decode?: (row: EffectQbAuthApiKeySelectedRow) => ApiKeyRecord;
428
+ }
429
+ export interface EffectQbAuthRefreshTokenTable<TableValue extends EffectQbSqliteTable = EffectQbSqliteTable> {
430
+ readonly table: TableValue;
431
+ readonly select: EffectQbSelection & {
432
+ readonly id: EffectQbSqliteExpression;
433
+ readonly familyId: EffectQbSqliteExpression;
434
+ readonly userId: EffectQbSqliteExpression;
435
+ readonly secretHash: EffectQbSqliteExpression;
436
+ readonly createdAt: EffectQbSqliteExpression;
437
+ readonly expiresAt: EffectQbSqliteExpression;
438
+ readonly lastUsedAt: EffectQbSqliteExpression;
439
+ readonly rotatedAt: EffectQbSqliteExpression;
440
+ readonly replacedById: EffectQbSqliteExpression;
441
+ readonly revokedAt: EffectQbSqliteExpression;
442
+ readonly reuseDetectedAt: EffectQbSqliteExpression;
443
+ readonly metadata: EffectQbSqliteExpression;
444
+ };
445
+ readonly insert: (row: RefreshTokenRecord) => EffectQbInsertInput<TableValue>;
446
+ readonly rotate: (input: RefreshTokenRotateStoreInput) => EffectQbUpdateInput<TableValue>;
447
+ readonly markReuseDetected: (input: RefreshTokenMarkReuseDetectedInput) => EffectQbUpdateInput<TableValue>;
448
+ readonly revoke: (input: RefreshTokenRevokeInput, row: RefreshTokenRecord) => EffectQbUpdateInput<TableValue>;
449
+ readonly revokeFamily: (input: RefreshTokenRevokeFamilyInput, row: RefreshTokenRecord) => EffectQbUpdateInput<TableValue>;
450
+ readonly decode?: (row: EffectQbAuthRefreshTokenSelectedRow) => RefreshTokenRecord;
451
+ }
246
452
  export interface EffectQbAuthJwtRevocationTable<TableValue extends EffectQbSqliteTable = EffectQbSqliteTable> {
247
453
  readonly table: TableValue;
248
454
  readonly select: EffectQbSelection & {
@@ -255,6 +461,46 @@ export interface EffectQbAuthJwtRevocationTable<TableValue extends EffectQbSqlit
255
461
  readonly update: (record: JwtRevocationRecord) => EffectQbUpdateInput<TableValue>;
256
462
  readonly decode?: (row: EffectQbAuthJwtRevocationSelectedRow) => JwtRevocationRecord;
257
463
  }
464
+ export interface EffectQbAuthOAuthAccountTable<TableValue extends EffectQbSqliteTable = EffectQbSqliteTable> {
465
+ readonly table: TableValue;
466
+ readonly select: EffectQbSelection & {
467
+ readonly id: EffectQbSqliteExpression;
468
+ readonly providerId: EffectQbSqliteExpression;
469
+ readonly providerAccountId: EffectQbSqliteExpression;
470
+ readonly userId: EffectQbSqliteExpression;
471
+ readonly email: EffectQbSqliteExpression;
472
+ readonly emailVerified: EffectQbSqliteExpression;
473
+ readonly createdAt: EffectQbSqliteExpression;
474
+ readonly updatedAt: EffectQbSqliteExpression;
475
+ readonly unlinkedAt: EffectQbSqliteExpression;
476
+ readonly metadata: EffectQbSqliteExpression;
477
+ };
478
+ readonly insert: (row: OAuthAccountRecord) => EffectQbInsertInput<TableValue>;
479
+ readonly unlink: (input: OAuthAccountUnlinkInput, row: OAuthAccountRecord) => EffectQbUpdateInput<TableValue>;
480
+ readonly decode?: (row: EffectQbAuthOAuthAccountSelectedRow) => OAuthAccountRecord;
481
+ }
482
+ export interface EffectQbAuthOAuthProviderTokenVaultTable<TableValue extends EffectQbSqliteTable = EffectQbSqliteTable> {
483
+ readonly table: TableValue;
484
+ readonly select: EffectQbSelection & {
485
+ readonly accountId: EffectQbSqliteExpression;
486
+ readonly userId: EffectQbSqliteExpression;
487
+ readonly providerId: EffectQbSqliteExpression;
488
+ readonly providerAccountId: EffectQbSqliteExpression;
489
+ readonly accessTokenCiphertext: EffectQbSqliteExpression;
490
+ readonly refreshTokenCiphertext: EffectQbSqliteExpression;
491
+ readonly idTokenCiphertext: EffectQbSqliteExpression;
492
+ readonly tokenType: EffectQbSqliteExpression;
493
+ readonly scopes: EffectQbSqliteExpression;
494
+ readonly expiresAt: EffectQbSqliteExpression;
495
+ readonly updatedAt: EffectQbSqliteExpression;
496
+ readonly revokedAt: EffectQbSqliteExpression;
497
+ readonly revocationReason: EffectQbSqliteExpression;
498
+ };
499
+ readonly insert: (row: OAuthProviderTokenVaultRecord) => EffectQbInsertInput<TableValue>;
500
+ readonly update: (row: OAuthProviderTokenVaultRecord) => EffectQbUpdateInput<TableValue>;
501
+ readonly markRevoked: (input: OAuthProviderTokenVaultMarkRevokedInput) => EffectQbUpdateInput<TableValue>;
502
+ readonly decode?: (row: EffectQbAuthOAuthProviderTokenVaultSelectedRow) => OAuthProviderTokenVaultRecord;
503
+ }
258
504
  export interface EffectQbAuthTablesInput {
259
505
  readonly user: EffectQbAuthUserTable;
260
506
  readonly credential: EffectQbAuthCredentialTable;
@@ -262,7 +508,14 @@ export interface EffectQbAuthTablesInput {
262
508
  readonly verification: EffectQbAuthVerificationTable;
263
509
  readonly loginApprovalReview: EffectQbAuthLoginApprovalReviewTable;
264
510
  readonly trustedDevice: EffectQbAuthTrustedDeviceTable;
511
+ readonly passkeyCredential: EffectQbAuthPasskeyCredentialTable;
512
+ readonly totpFactor: EffectQbAuthTotpFactorTable;
513
+ readonly recoveryCode: EffectQbAuthRecoveryCodeTable;
514
+ readonly apiKey: EffectQbAuthApiKeyTable;
515
+ readonly refreshToken: EffectQbAuthRefreshTokenTable;
265
516
  readonly jwtRevocation: EffectQbAuthJwtRevocationTable;
517
+ readonly oauthAccount: EffectQbAuthOAuthAccountTable;
518
+ readonly oauthProviderTokenVault: EffectQbAuthOAuthProviderTokenVaultTable;
266
519
  }
267
520
  export interface AuthSqliteTables extends EffectQbAuthTablesInput {
268
521
  readonly [authSqliteTablesTypeId]: typeof authSqliteTablesTypeId;
@@ -277,7 +530,14 @@ export interface EffectQbSqliteStorageStores {
277
530
  readonly verificationStore: VerificationStoreService;
278
531
  readonly loginApprovalReviewStore: LoginApprovalReviewStoreService;
279
532
  readonly trustedDeviceStore: TrustedDeviceStoreService;
533
+ readonly passkeyCredentialStore: PasskeyCredentialStoreService;
534
+ readonly totpFactorStore: TotpFactorStoreService;
535
+ readonly recoveryCodeStore: RecoveryCodeStoreService;
536
+ readonly apiKeyStore: ApiKeyStoreService;
537
+ readonly refreshTokenStore: RefreshTokenStoreService;
280
538
  readonly jwtRevocationStore: JwtRevocationStoreService;
539
+ readonly oauthAccountStore: OAuthAccountStoreService;
540
+ readonly oauthProviderTokenVault: OAuthProviderTokenVaultService;
281
541
  }
282
542
  type EffectQbSqliteExecutor = Executor.QueryExecutor<never>;
283
543
  export declare const defineEffectQbAuthTables: <const Tables extends EffectQbAuthTablesInput>(tables: Tables) => AuthSqliteTables & Tables;
@@ -289,10 +549,17 @@ export declare const makeEffectQbSqliteSessionStore: (executor: EffectQbSqliteEx
289
549
  export declare const makeEffectQbSqliteVerificationStore: (executor: EffectQbSqliteExecutor, options?: EffectQbSqliteAuthStorageOptions) => VerificationStoreService;
290
550
  export declare const makeEffectQbSqliteLoginApprovalReviewStore: (executor: EffectQbSqliteExecutor, options?: EffectQbSqliteAuthStorageOptions) => LoginApprovalReviewStoreService;
291
551
  export declare const makeEffectQbSqliteTrustedDeviceStore: (executor: EffectQbSqliteExecutor, options?: EffectQbSqliteAuthStorageOptions) => TrustedDeviceStoreService;
552
+ export declare const makeEffectQbSqlitePasskeyCredentialStore: (executor: EffectQbSqliteExecutor, options?: EffectQbSqliteAuthStorageOptions) => PasskeyCredentialStoreService;
553
+ export declare const makeEffectQbSqliteTotpFactorStore: (executor: EffectQbSqliteExecutor, options?: EffectQbSqliteAuthStorageOptions) => TotpFactorStoreService;
554
+ export declare const makeEffectQbSqliteRecoveryCodeStore: (executor: EffectQbSqliteExecutor, options?: EffectQbSqliteAuthStorageOptions) => RecoveryCodeStoreService;
555
+ export declare const makeEffectQbSqliteApiKeyStore: (executor: EffectQbSqliteExecutor, options?: EffectQbSqliteAuthStorageOptions) => ApiKeyStoreService;
556
+ export declare const makeEffectQbSqliteRefreshTokenStore: (executor: EffectQbSqliteExecutor, options?: EffectQbSqliteAuthStorageOptions) => RefreshTokenStoreService;
292
557
  export declare const makeEffectQbSqliteJwtRevocationStore: (executor: EffectQbSqliteExecutor, options?: EffectQbSqliteAuthStorageOptions) => JwtRevocationStoreService;
558
+ export declare const makeEffectQbSqliteOAuthAccountStore: (executor: EffectQbSqliteExecutor, options?: EffectQbSqliteAuthStorageOptions) => OAuthAccountStoreService;
559
+ export declare const makeEffectQbSqliteOAuthProviderTokenVault: (executor: EffectQbSqliteExecutor, options?: EffectQbSqliteAuthStorageOptions) => OAuthProviderTokenVaultService;
293
560
  export declare const makeEffectQbSqliteStorage: (executor: EffectQbSqliteExecutor, options?: EffectQbSqliteAuthStorageOptions) => EffectQbSqliteStorageStores;
294
- export declare const EffectQbSqliteAuthStorageLive: (executor: EffectQbSqliteExecutor, options?: EffectQbSqliteAuthStorageOptions) => Layer.Layer<UserStore | CredentialStore | SessionStore | VerificationStore | LoginApprovalReviewStore | TrustedDeviceStore | JwtRevocationStore, never, never>;
561
+ export declare const EffectQbSqliteAuthStorageLive: (executor: EffectQbSqliteExecutor, options?: EffectQbSqliteAuthStorageOptions) => Layer.Layer<ApiKeyStore | UserStore | CredentialStore | SessionStore | VerificationStore | LoginApprovalReviewStore | TrustedDeviceStore | PasskeyCredentialStore | RefreshTokenStore | JwtRevocationStore | OAuthProviderTokenVault | OAuthAccountStore | RecoveryCodeStore | TotpFactorStore, never, never>;
295
562
  export declare const makeD1EffectQbSqliteExecutor: (database: D1EffectQbDatabaseLike) => EffectQbSqliteExecutor;
296
- export declare const D1EffectQbSqliteAuthStorageLive: (database: D1EffectQbDatabaseLike, options?: EffectQbSqliteAuthStorageOptions) => Layer.Layer<UserStore | CredentialStore | SessionStore | VerificationStore | LoginApprovalReviewStore | TrustedDeviceStore | JwtRevocationStore, never, never>;
563
+ export declare const D1EffectQbSqliteAuthStorageLive: (database: D1EffectQbDatabaseLike, options?: EffectQbSqliteAuthStorageOptions) => Layer.Layer<ApiKeyStore | UserStore | CredentialStore | SessionStore | VerificationStore | LoginApprovalReviewStore | TrustedDeviceStore | PasskeyCredentialStore | RefreshTokenStore | JwtRevocationStore | OAuthProviderTokenVault | OAuthAccountStore | RecoveryCodeStore | TotpFactorStore, never, never>;
297
564
  export {};
298
565
  //# sourceMappingURL=EffectQbSqliteStorage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EffectQbSqliteStorage.d.ts","sourceRoot":"","sources":["../src/EffectQbSqliteStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EffectQbSqliteStorage.d.ts","sourceRoot":"","sources":["../src/EffectQbSqliteStorage.ts"],"names":[],"mappings":"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"}