@effect-auth/core 0.1.0-alpha.1 → 0.1.0-alpha.3

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 (143) hide show
  1. package/README.md +622 -61
  2. package/dist/AuditLog.d.ts.map +1 -1
  3. package/dist/AuditLog.js +1 -1
  4. package/dist/AuditLog.js.map +1 -1
  5. package/dist/AuthConfig.d.ts +51 -0
  6. package/dist/AuthConfig.d.ts.map +1 -0
  7. package/dist/AuthConfig.js +56 -0
  8. package/dist/AuthConfig.js.map +1 -0
  9. package/dist/AuthFlow.d.ts +292 -35
  10. package/dist/AuthFlow.d.ts.map +1 -1
  11. package/dist/AuthFlow.js +130 -6
  12. package/dist/AuthFlow.js.map +1 -1
  13. package/dist/AuthKernel.d.ts +3 -0
  14. package/dist/AuthKernel.d.ts.map +1 -0
  15. package/dist/AuthKernel.js +9 -0
  16. package/dist/AuthKernel.js.map +1 -0
  17. package/dist/Challenge.d.ts +19 -3
  18. package/dist/Challenge.d.ts.map +1 -1
  19. package/dist/Challenge.js +157 -1
  20. package/dist/Challenge.js.map +1 -1
  21. package/dist/Client.d.ts +36 -0
  22. package/dist/Client.d.ts.map +1 -0
  23. package/dist/Client.js +55 -0
  24. package/dist/Client.js.map +1 -0
  25. package/dist/Crypto.d.ts +6 -1
  26. package/dist/Crypto.d.ts.map +1 -1
  27. package/dist/Crypto.js +62 -1
  28. package/dist/Crypto.js.map +1 -1
  29. package/dist/D1Kysely.d.ts +6 -3
  30. package/dist/D1Kysely.d.ts.map +1 -1
  31. package/dist/D1Kysely.js +8 -5
  32. package/dist/D1Kysely.js.map +1 -1
  33. package/dist/EffectQbSqliteStorage.d.ts +186 -0
  34. package/dist/EffectQbSqliteStorage.d.ts.map +1 -0
  35. package/dist/EffectQbSqliteStorage.js +439 -0
  36. package/dist/EffectQbSqliteStorage.js.map +1 -0
  37. package/dist/EmailOtp.d.ts +117 -0
  38. package/dist/EmailOtp.d.ts.map +1 -0
  39. package/dist/EmailOtp.js +279 -0
  40. package/dist/EmailOtp.js.map +1 -0
  41. package/dist/EmailVerification.d.ts +121 -0
  42. package/dist/EmailVerification.d.ts.map +1 -0
  43. package/dist/EmailVerification.js +201 -0
  44. package/dist/EmailVerification.js.map +1 -0
  45. package/dist/HttpApi/Api.d.ts +175 -0
  46. package/dist/HttpApi/Api.d.ts.map +1 -0
  47. package/dist/HttpApi/Api.js +340 -0
  48. package/dist/HttpApi/Api.js.map +1 -0
  49. package/dist/HttpApi/Endpoints.d.ts +92 -0
  50. package/dist/HttpApi/Endpoints.d.ts.map +1 -0
  51. package/dist/HttpApi/Endpoints.js +48 -0
  52. package/dist/HttpApi/Endpoints.js.map +1 -0
  53. package/dist/HttpApi/Errors.d.ts +82 -0
  54. package/dist/HttpApi/Errors.d.ts.map +1 -0
  55. package/dist/HttpApi/Errors.js +184 -0
  56. package/dist/HttpApi/Errors.js.map +1 -0
  57. package/dist/HttpApi/Schemas.d.ts +86 -0
  58. package/dist/HttpApi/Schemas.d.ts.map +1 -0
  59. package/dist/HttpApi/Schemas.js +63 -0
  60. package/dist/HttpApi/Schemas.js.map +1 -0
  61. package/dist/HttpApi/Security.d.ts +147 -0
  62. package/dist/HttpApi/Security.d.ts.map +1 -0
  63. package/dist/HttpApi/Security.js +439 -0
  64. package/dist/HttpApi/Security.js.map +1 -0
  65. package/dist/HttpApi/Transport.d.ts +31 -0
  66. package/dist/HttpApi/Transport.d.ts.map +1 -0
  67. package/dist/HttpApi/Transport.js +169 -0
  68. package/dist/HttpApi/Transport.js.map +1 -0
  69. package/dist/HttpApi/index.d.ts +8 -0
  70. package/dist/HttpApi/index.d.ts.map +1 -0
  71. package/dist/HttpApi/index.js +7 -0
  72. package/dist/HttpApi/index.js.map +1 -0
  73. package/dist/HttpApi.d.ts +2 -0
  74. package/dist/HttpApi.d.ts.map +1 -0
  75. package/dist/HttpApi.js +2 -0
  76. package/dist/HttpApi.js.map +1 -0
  77. package/dist/Identifiers.d.ts.map +1 -1
  78. package/dist/Identifiers.js.map +1 -1
  79. package/dist/Internal.d.ts +7 -0
  80. package/dist/Internal.d.ts.map +1 -0
  81. package/dist/Internal.js +12 -0
  82. package/dist/Internal.js.map +1 -0
  83. package/dist/KyselyStorage.d.ts +28 -2
  84. package/dist/KyselyStorage.d.ts.map +1 -1
  85. package/dist/KyselyStorage.js +223 -33
  86. package/dist/KyselyStorage.js.map +1 -1
  87. package/dist/Mailer.d.ts +116 -0
  88. package/dist/Mailer.d.ts.map +1 -0
  89. package/dist/Mailer.js +101 -0
  90. package/dist/Mailer.js.map +1 -0
  91. package/dist/Password.d.ts +107 -0
  92. package/dist/Password.d.ts.map +1 -0
  93. package/dist/Password.js +252 -0
  94. package/dist/Password.js.map +1 -0
  95. package/dist/Policy.d.ts +7 -4
  96. package/dist/Policy.d.ts.map +1 -1
  97. package/dist/Policy.js +28 -5
  98. package/dist/Policy.js.map +1 -1
  99. package/dist/Privacy.d.ts +15 -0
  100. package/dist/Privacy.d.ts.map +1 -1
  101. package/dist/Privacy.js +58 -1
  102. package/dist/Privacy.js.map +1 -1
  103. package/dist/RateLimiter.d.ts +104 -0
  104. package/dist/RateLimiter.d.ts.map +1 -0
  105. package/dist/RateLimiter.js +118 -0
  106. package/dist/RateLimiter.js.map +1 -0
  107. package/dist/Sessions.d.ts +73 -11
  108. package/dist/Sessions.d.ts.map +1 -1
  109. package/dist/Sessions.js +412 -1
  110. package/dist/Sessions.js.map +1 -1
  111. package/dist/Storage.d.ts +60 -5
  112. package/dist/Storage.d.ts.map +1 -1
  113. package/dist/Storage.js +11 -1
  114. package/dist/Storage.js.map +1 -1
  115. package/dist/StorageMigrations.d.ts +2 -1
  116. package/dist/StorageMigrations.d.ts.map +1 -1
  117. package/dist/StorageMigrations.js +33 -2
  118. package/dist/StorageMigrations.js.map +1 -1
  119. package/dist/Testing.d.ts +9 -1
  120. package/dist/Testing.d.ts.map +1 -1
  121. package/dist/Testing.js +30 -2
  122. package/dist/Testing.js.map +1 -1
  123. package/dist/WaitUntil.d.ts.map +1 -1
  124. package/dist/WaitUntil.js +1 -1
  125. package/dist/WaitUntil.js.map +1 -1
  126. package/dist/alchemy/cloudflare/RateLimitDurableObject.d.ts +34 -0
  127. package/dist/alchemy/cloudflare/RateLimitDurableObject.d.ts.map +1 -0
  128. package/dist/alchemy/cloudflare/RateLimitDurableObject.js +30 -0
  129. package/dist/alchemy/cloudflare/RateLimitDurableObject.js.map +1 -0
  130. package/dist/cloudflare/RateLimitDurableObject.d.ts +50 -0
  131. package/dist/cloudflare/RateLimitDurableObject.d.ts.map +1 -0
  132. package/dist/cloudflare/RateLimitDurableObject.js +51 -0
  133. package/dist/cloudflare/RateLimitDurableObject.js.map +1 -0
  134. package/dist/index.d.ts +6 -0
  135. package/dist/index.d.ts.map +1 -1
  136. package/dist/index.js +6 -0
  137. package/dist/index.js.map +1 -1
  138. package/dist/internal/RateLimitDurableObject.d.ts +32 -0
  139. package/dist/internal/RateLimitDurableObject.d.ts.map +1 -0
  140. package/dist/internal/RateLimitDurableObject.js +80 -0
  141. package/dist/internal/RateLimitDurableObject.js.map +1 -0
  142. package/migrations/0002_auth_password.sql +25 -0
  143. package/package.json +76 -20
@@ -1 +1 @@
1
- {"version":3,"file":"Crypto.js","sourceRoot":"","sources":["../src/Crypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AASxD,MAAM,OAAO,WAAY,SAAQ,IAAI,CAAC,WAAW,CAAC,aAAa,CAI7D;CAAG;AA0BL,MAAM,OAAO,MAAO,SAAQ,OAAO,CAAC,OAAO,EAAyB,CAAC,aAAa,CAAC;CAAG;AAEtF,WAAiB,MAAM;IACR,WAAI,GAAG,CAAC,OAAsB,EAAiB,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;AACnF,CAAC,EAFgB,MAAM,KAAN,MAAM,QAEtB"}
1
+ {"version":3,"file":"Crypto.js","sourceRoot":"","sources":["../src/Crypto.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
- import { Kysely, SqliteAdapter, type DatabaseIntrospector, type Dialect, type Driver, type QueryCompiler } from "kysely";
1
+ import { Kysely, SqliteAdapter } from "kysely";
2
+ import type { DatabaseIntrospector, Dialect, Driver, QueryCompiler } from "kysely";
3
+ import type { KyselyAuthDatabase } from "./KyselyStorage.js";
2
4
  export interface D1Result<Row extends Readonly<Record<string, unknown>> = Readonly<Record<string, unknown>>> {
3
5
  readonly success?: boolean;
4
6
  readonly error?: string;
5
- readonly results?: ReadonlyArray<Row>;
7
+ readonly results?: readonly Row[];
6
8
  readonly meta?: {
7
9
  readonly changes?: number;
8
10
  readonly rows_written?: number;
@@ -10,7 +12,7 @@ export interface D1Result<Row extends Readonly<Record<string, unknown>> = Readon
10
12
  };
11
13
  }
12
14
  export interface D1PreparedStatementLike {
13
- readonly bind: (...values: ReadonlyArray<unknown>) => D1PreparedStatementLike;
15
+ readonly bind: (...values: readonly unknown[]) => D1PreparedStatementLike;
14
16
  readonly all: <Row extends Readonly<Record<string, unknown>> = Readonly<Record<string, unknown>>>() => Promise<D1Result<Row>>;
15
17
  }
16
18
  export interface D1DatabaseLike {
@@ -36,5 +38,6 @@ export declare class D1KyselyDialect implements Dialect {
36
38
  createIntrospector(db: Kysely<unknown>): DatabaseIntrospector;
37
39
  }
38
40
  export declare const makeD1Kysely: <DB>(database: D1DatabaseLike) => Kysely<DB>;
41
+ export declare const D1AuthStorageLive: <DB extends KyselyAuthDatabase = KyselyAuthDatabase>(database: D1DatabaseLike) => import("effect/Layer").Layer<import("./Storage.js").VerificationStore | import("./Storage.js").UserStore | import("./Storage.js").CredentialStore | import("./Storage.js").SessionStore, never, never>;
39
42
  export {};
40
43
  //# sourceMappingURL=D1Kysely.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"D1Kysely.d.ts","sourceRoot":"","sources":["../src/D1Kysely.ts"],"names":[],"mappings":"AACA,OAAO,EACL,MAAM,EACN,aAAa,EAKb,KAAK,oBAAoB,EACzB,KAAK,OAAO,EACZ,KAAK,MAAM,EACX,KAAK,aAAa,EAGnB,MAAM,QAAQ,CAAA;AAEf,MAAM,WAAW,QAAQ,CAAC,GAAG,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzG,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAA;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACd,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;QAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KACrC,CAAA;CACF;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,uBAAuB,CAAA;IAC7E,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;CAC9H;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,uBAAuB,CAAA;CAC3D;;;;AAED,qBAAa,aAAc,SAAQ,mBAAkC;IACnE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CACzB,CAAC;CAAG;AAEL,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAA;CAClC;AAED,qBAAa,eAAgB,YAAW,OAAO;;gBAGjC,OAAO,EAAE,sBAAsB;IAI3C,aAAa;IAIb,YAAY,IAAI,MAAM;IAItB,mBAAmB,IAAI,aAAa;IAIpC,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,oBAAoB;CAG9D;AAmED,eAAO,MAAM,YAAY,GAAI,EAAE,EAAE,UAAU,cAAc,KAAG,MAAM,CAAC,EAAE,CAGjE,CAAA"}
1
+ {"version":3,"file":"D1Kysely.d.ts","sourceRoot":"","sources":["../src/D1Kysely.ts"],"names":[],"mappings":"AACA,OAAO,EACL,MAAM,EACN,aAAa,EAGd,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAGV,oBAAoB,EACpB,OAAO,EACP,MAAM,EACN,aAAa,EAGd,MAAM,QAAQ,CAAC;AAGhB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,WAAW,QAAQ,CACvB,GAAG,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,QAAQ,CACtD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACxB;IAED,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACd,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACtC,CAAC;CACH;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,SAAS,OAAO,EAAE,KAAK,uBAAuB,CAAC;IAC1E,QAAQ,CAAC,GAAG,EAAE,CACZ,GAAG,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,QAAQ,CACtD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACxB,OACI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,uBAAuB,CAAC;CAC5D;;;;AAED,qBAAa,aAAc,SAAQ,mBAAkC;IACnE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;CAAG;AAEL,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;CACnC;AAED,qBAAa,eAAgB,YAAW,OAAO;;gBAGjC,OAAO,EAAE,sBAAsB;IAI3C,aAAa;IAIb,YAAY,IAAI,MAAM;IAItB,mBAAmB,IAAI,aAAa;IAIpC,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,oBAAoB;CAG9D;AA6ED,eAAO,MAAM,YAAY,GAAI,EAAE,EAAE,UAAU,cAAc,KAAG,MAAM,CAAC,EAAE,CAGjE,CAAC;AAEL,eAAO,MAAM,iBAAiB,GAC5B,EAAE,SAAS,kBAAkB,GAAG,kBAAkB,EAElD,UAAU,cAAc,2MAC4B,CAAC"}
package/dist/D1Kysely.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { Data } from "effect";
2
- import { Kysely, SqliteAdapter, SqliteIntrospector, SqliteQueryCompiler } from "kysely";
2
+ import { Kysely, SqliteAdapter, SqliteIntrospector, SqliteQueryCompiler, } from "kysely";
3
+ import { KyselyAuthStorageLive } from "./KyselyStorage.js";
3
4
  export class D1KyselyError extends Data.TaggedError("D1KyselyError") {
4
5
  }
5
6
  export class D1KyselyDialect {
@@ -53,16 +54,17 @@ class D1KyselyConnection {
53
54
  .all();
54
55
  if (result.success === false || result.error !== undefined) {
55
56
  throw new D1KyselyError({
56
- message: result.error ?? "D1 query failed"
57
+ message: result.error ?? "D1 query failed",
57
58
  });
58
59
  }
59
60
  const rowsAffected = result.meta?.changes ?? result.meta?.rows_written ?? 0;
60
61
  return {
61
- insertId: result.meta?.last_row_id === undefined || result.meta.last_row_id === null
62
+ insertId: result.meta?.last_row_id === undefined ||
63
+ result.meta.last_row_id === null
62
64
  ? undefined
63
65
  : BigInt(result.meta.last_row_id),
64
66
  numAffectedRows: BigInt(rowsAffected),
65
- rows: [...(result.results ?? [])]
67
+ rows: [...(result.results ?? [])],
66
68
  };
67
69
  }
68
70
  async *streamQuery(_compiledQuery, _chunkSize) {
@@ -70,6 +72,7 @@ class D1KyselyConnection {
70
72
  }
71
73
  }
72
74
  export const makeD1Kysely = (database) => new Kysely({
73
- dialect: new D1KyselyDialect({ database })
75
+ dialect: new D1KyselyDialect({ database }),
74
76
  });
77
+ export const D1AuthStorageLive = (database) => KyselyAuthStorageLive(makeD1Kysely(database));
75
78
  //# sourceMappingURL=D1Kysely.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"D1Kysely.js","sourceRoot":"","sources":["../src/D1Kysely.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"D1Kysely.js","sourceRoot":"","sources":["../src/D1Kysely.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,186 @@
1
+ import { Layer } from "effect";
2
+ import { Executor, Query, Scalar, Table } from "effect-qb/sqlite";
3
+ import type { AuthMethodReference } from "./Sessions.js";
4
+ import { CredentialStore, SessionStore, UserStore, VerificationStore } from "./Storage.js";
5
+ import type { CredentialStoreService, NewPasswordCredentialRow, NewSessionRow, NewUserRow, NewVerificationRow, PasswordCredentialRow, SessionRefreshStoreInput, SessionRevokeAllForUserStoreInput, SessionRevokeStoreInput, SessionRotateStoreInput, SessionRow, SessionStoreService, SessionUpdateClaimsStoreInput, UserMarkEmailVerifiedInput, UserRow, UserStoreService, VerificationConsumeInput, VerificationRow, VerificationStoreService } from "./Storage.js";
6
+ export interface D1EffectQbResult<Row extends Readonly<Record<string, unknown>> = Readonly<Record<string, unknown>>> {
7
+ readonly success?: boolean;
8
+ readonly error?: string;
9
+ readonly results?: readonly Row[];
10
+ }
11
+ export interface D1EffectQbPreparedStatementLike {
12
+ readonly bind: (...values: readonly unknown[]) => D1EffectQbPreparedStatementLike;
13
+ readonly all: <Row extends Readonly<Record<string, unknown>> = Readonly<Record<string, unknown>>>() => Promise<D1EffectQbResult<Row>>;
14
+ }
15
+ export interface D1EffectQbDatabaseLike {
16
+ readonly prepare: (sql: string) => D1EffectQbPreparedStatementLike;
17
+ }
18
+ declare const D1EffectQbError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
19
+ readonly _tag: "D1EffectQbError";
20
+ } & Readonly<A>;
21
+ export declare class D1EffectQbError extends D1EffectQbError_base<{
22
+ readonly message: string;
23
+ readonly cause?: unknown;
24
+ }> {
25
+ }
26
+ export interface EffectQbAuthUserSelectedRow {
27
+ readonly id: string;
28
+ readonly email: string;
29
+ readonly emailVerified: boolean | number | string | null;
30
+ readonly createdAt: number;
31
+ readonly updatedAt: number;
32
+ readonly disabledAt: number | null;
33
+ readonly metadata: unknown;
34
+ }
35
+ export interface EffectQbAuthCredentialSelectedRow {
36
+ readonly id: string;
37
+ readonly userId: string;
38
+ readonly type: string;
39
+ readonly passwordHash: string | null;
40
+ readonly createdAt: number;
41
+ readonly updatedAt: number;
42
+ readonly revokedAt: number | null;
43
+ readonly metadata: unknown;
44
+ }
45
+ export interface EffectQbAuthSessionSelectedRow {
46
+ readonly id: string;
47
+ readonly userId: string;
48
+ readonly secretHash: string;
49
+ readonly createdAt: number;
50
+ readonly expiresAt: number;
51
+ readonly authTime: number;
52
+ readonly aal: string;
53
+ readonly amr: string | readonly AuthMethodReference[];
54
+ readonly mfaVerifiedAt: number | null;
55
+ readonly metadata: unknown;
56
+ readonly revokedAt: number | null;
57
+ readonly lastSeenAt: number | null;
58
+ readonly rotatedAt: number | null;
59
+ }
60
+ export interface EffectQbAuthVerificationSelectedRow {
61
+ readonly id: string;
62
+ readonly type: string;
63
+ readonly subject: string;
64
+ readonly secretHash: string | null;
65
+ readonly createdAt: number;
66
+ readonly expiresAt: number;
67
+ readonly metadata: unknown;
68
+ readonly consumedAt: number | null;
69
+ }
70
+ declare const authSqliteTablesTypeId: unique symbol;
71
+ export interface AuthSqliteTableNames {
72
+ readonly user?: string;
73
+ readonly credential?: string;
74
+ readonly session?: string;
75
+ readonly verification?: string;
76
+ }
77
+ type EffectQbSqliteTable = Table.AnyTable;
78
+ type EffectQbInsertInput<TableValue extends EffectQbSqliteTable> = Query.MutationInputOf<Table.InsertOf<TableValue>>;
79
+ type EffectQbUpdateInput<TableValue extends EffectQbSqliteTable> = Query.MutationInputOf<Table.UpdateOf<TableValue>>;
80
+ type EffectQbSqliteExpression = Scalar.Scalar<unknown, Scalar.DbType.Any & {
81
+ readonly dialect: "sqlite";
82
+ }, Scalar.Nullability, "sqlite", Scalar.ScalarKind, Scalar.BindingId, string>;
83
+ type EffectQbSelection = Readonly<Record<string, EffectQbSqliteExpression>>;
84
+ export interface EffectQbAuthUserTable<TableValue extends EffectQbSqliteTable = EffectQbSqliteTable> {
85
+ readonly table: TableValue;
86
+ readonly select: EffectQbSelection & {
87
+ readonly id: EffectQbSqliteExpression;
88
+ readonly email: EffectQbSqliteExpression;
89
+ readonly emailVerified: EffectQbSqliteExpression;
90
+ readonly createdAt: EffectQbSqliteExpression;
91
+ readonly updatedAt: EffectQbSqliteExpression;
92
+ readonly disabledAt: EffectQbSqliteExpression;
93
+ readonly metadata: EffectQbSqliteExpression;
94
+ };
95
+ readonly insert: (row: NewUserRow) => EffectQbInsertInput<TableValue>;
96
+ readonly markEmailVerified: (input: UserMarkEmailVerifiedInput) => EffectQbUpdateInput<TableValue>;
97
+ readonly decode?: (row: EffectQbAuthUserSelectedRow) => UserRow;
98
+ }
99
+ export interface EffectQbAuthCredentialTable<TableValue extends EffectQbSqliteTable = EffectQbSqliteTable> {
100
+ readonly table: TableValue;
101
+ readonly select: EffectQbSelection & {
102
+ readonly id: EffectQbSqliteExpression;
103
+ readonly userId: EffectQbSqliteExpression;
104
+ readonly type: EffectQbSqliteExpression;
105
+ readonly passwordHash: EffectQbSqliteExpression;
106
+ readonly createdAt: EffectQbSqliteExpression;
107
+ readonly updatedAt: EffectQbSqliteExpression;
108
+ readonly revokedAt: EffectQbSqliteExpression;
109
+ readonly metadata: EffectQbSqliteExpression;
110
+ };
111
+ readonly insertPassword: (row: NewPasswordCredentialRow) => EffectQbInsertInput<TableValue>;
112
+ readonly decodePassword?: (row: EffectQbAuthCredentialSelectedRow) => PasswordCredentialRow;
113
+ }
114
+ export type EffectQbSessionRevokeInput = SessionRevokeStoreInput | SessionRevokeAllForUserStoreInput;
115
+ export interface EffectQbAuthSessionTable<TableValue extends EffectQbSqliteTable = EffectQbSqliteTable> {
116
+ readonly table: TableValue;
117
+ readonly select: EffectQbSelection & {
118
+ readonly id: EffectQbSqliteExpression;
119
+ readonly userId: EffectQbSqliteExpression;
120
+ readonly secretHash: EffectQbSqliteExpression;
121
+ readonly createdAt: EffectQbSqliteExpression;
122
+ readonly expiresAt: EffectQbSqliteExpression;
123
+ readonly authTime: EffectQbSqliteExpression;
124
+ readonly aal: EffectQbSqliteExpression;
125
+ readonly amr: EffectQbSqliteExpression;
126
+ readonly mfaVerifiedAt: EffectQbSqliteExpression;
127
+ readonly metadata: EffectQbSqliteExpression;
128
+ readonly revokedAt: EffectQbSqliteExpression;
129
+ readonly lastSeenAt: EffectQbSqliteExpression;
130
+ readonly rotatedAt: EffectQbSqliteExpression;
131
+ };
132
+ readonly insert: (row: NewSessionRow) => EffectQbInsertInput<TableValue>;
133
+ readonly refresh: (input: SessionRefreshStoreInput) => EffectQbUpdateInput<TableValue>;
134
+ readonly rotate: (input: SessionRotateStoreInput) => EffectQbUpdateInput<TableValue>;
135
+ readonly updateClaims: (row: SessionRow, input: SessionUpdateClaimsStoreInput) => EffectQbUpdateInput<TableValue>;
136
+ readonly revoke: (input: EffectQbSessionRevokeInput) => EffectQbUpdateInput<TableValue>;
137
+ readonly decode?: (row: EffectQbAuthSessionSelectedRow) => SessionRow;
138
+ }
139
+ export interface EffectQbAuthVerificationTable<TableValue extends EffectQbSqliteTable = EffectQbSqliteTable> {
140
+ readonly table: TableValue;
141
+ readonly select: EffectQbSelection & {
142
+ readonly id: EffectQbSqliteExpression;
143
+ readonly type: EffectQbSqliteExpression;
144
+ readonly subject: EffectQbSqliteExpression;
145
+ readonly secretHash: EffectQbSqliteExpression;
146
+ readonly createdAt: EffectQbSqliteExpression;
147
+ readonly expiresAt: EffectQbSqliteExpression;
148
+ readonly metadata: EffectQbSqliteExpression;
149
+ readonly consumedAt: EffectQbSqliteExpression;
150
+ };
151
+ readonly insert: (row: NewVerificationRow) => EffectQbInsertInput<TableValue>;
152
+ readonly consume: (input: VerificationConsumeInput) => EffectQbUpdateInput<TableValue>;
153
+ readonly decode?: (row: EffectQbAuthVerificationSelectedRow) => VerificationRow;
154
+ }
155
+ export interface EffectQbAuthTablesInput {
156
+ readonly user: EffectQbAuthUserTable;
157
+ readonly credential: EffectQbAuthCredentialTable;
158
+ readonly session: EffectQbAuthSessionTable;
159
+ readonly verification: EffectQbAuthVerificationTable;
160
+ }
161
+ export interface AuthSqliteTables extends EffectQbAuthTablesInput {
162
+ readonly [authSqliteTablesTypeId]: typeof authSqliteTablesTypeId;
163
+ }
164
+ export interface EffectQbSqliteAuthStorageOptions {
165
+ readonly tables?: AuthSqliteTables;
166
+ }
167
+ export interface EffectQbSqliteStorageStores {
168
+ readonly userStore: UserStoreService;
169
+ readonly credentialStore: CredentialStoreService;
170
+ readonly sessionStore: SessionStoreService;
171
+ readonly verificationStore: VerificationStoreService;
172
+ }
173
+ type EffectQbSqliteExecutor = Executor.QueryExecutor<never>;
174
+ export declare const defineEffectQbAuthTables: <const Tables extends EffectQbAuthTablesInput>(tables: Tables) => AuthSqliteTables & Tables;
175
+ export declare const makeAuthSqliteTables: (names?: AuthSqliteTableNames) => AuthSqliteTables;
176
+ export declare const authSqliteTables: AuthSqliteTables;
177
+ export declare const makeEffectQbSqliteUserStore: (executor: EffectQbSqliteExecutor, options?: EffectQbSqliteAuthStorageOptions) => UserStoreService;
178
+ export declare const makeEffectQbSqliteCredentialStore: (executor: EffectQbSqliteExecutor, options?: EffectQbSqliteAuthStorageOptions) => CredentialStoreService;
179
+ export declare const makeEffectQbSqliteSessionStore: (executor: EffectQbSqliteExecutor, options?: EffectQbSqliteAuthStorageOptions) => SessionStoreService;
180
+ export declare const makeEffectQbSqliteVerificationStore: (executor: EffectQbSqliteExecutor, options?: EffectQbSqliteAuthStorageOptions) => VerificationStoreService;
181
+ export declare const makeEffectQbSqliteStorage: (executor: EffectQbSqliteExecutor, options?: EffectQbSqliteAuthStorageOptions) => EffectQbSqliteStorageStores;
182
+ export declare const EffectQbSqliteAuthStorageLive: (executor: EffectQbSqliteExecutor, options?: EffectQbSqliteAuthStorageOptions) => Layer.Layer<VerificationStore | UserStore | CredentialStore | SessionStore, never, never>;
183
+ export declare const makeD1EffectQbSqliteExecutor: (database: D1EffectQbDatabaseLike) => EffectQbSqliteExecutor;
184
+ export declare const D1EffectQbSqliteAuthStorageLive: (database: D1EffectQbDatabaseLike, options?: EffectQbSqliteAuthStorageOptions) => Layer.Layer<VerificationStore | UserStore | CredentialStore | SessionStore, never, never>;
185
+ export {};
186
+ //# sourceMappingURL=EffectQbSqliteStorage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EffectQbSqliteStorage.d.ts","sourceRoot":"","sources":["../src/EffectQbSqliteStorage.ts"],"names":[],"mappings":"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"}