@effect-auth/core 0.1.0-alpha.2 → 0.1.0-alpha.4

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 (149) hide show
  1. package/README.md +148 -13
  2. package/dist/ApiKey.d.ts +207 -0
  3. package/dist/ApiKey.d.ts.map +1 -0
  4. package/dist/ApiKey.js +275 -0
  5. package/dist/ApiKey.js.map +1 -0
  6. package/dist/AuditLog.d.ts +204 -1
  7. package/dist/AuditLog.d.ts.map +1 -1
  8. package/dist/AuditLog.js +170 -0
  9. package/dist/AuditLog.js.map +1 -1
  10. package/dist/AuthConfig.d.ts +0 -9
  11. package/dist/AuthConfig.d.ts.map +1 -1
  12. package/dist/AuthConfig.js +1 -14
  13. package/dist/AuthConfig.js.map +1 -1
  14. package/dist/AuthFlow.d.ts +220 -51
  15. package/dist/AuthFlow.d.ts.map +1 -1
  16. package/dist/AuthFlow.js +550 -22
  17. package/dist/AuthFlow.js.map +1 -1
  18. package/dist/AuthKernel.d.ts +1 -1
  19. package/dist/Challenge.d.ts +5 -1
  20. package/dist/Challenge.d.ts.map +1 -1
  21. package/dist/Challenge.js +58 -48
  22. package/dist/Challenge.js.map +1 -1
  23. package/dist/Client.d.ts +242 -1
  24. package/dist/Client.d.ts.map +1 -1
  25. package/dist/Client.js +489 -1
  26. package/dist/Client.js.map +1 -1
  27. package/dist/D1Kysely.d.ts +1 -1
  28. package/dist/D1Kysely.d.ts.map +1 -1
  29. package/dist/EffectQbSqliteStorage.d.ts +156 -41
  30. package/dist/EffectQbSqliteStorage.d.ts.map +1 -1
  31. package/dist/EffectQbSqliteStorage.js +336 -33
  32. package/dist/EffectQbSqliteStorage.js.map +1 -1
  33. package/dist/EmailOtp.d.ts +5 -2
  34. package/dist/EmailOtp.d.ts.map +1 -1
  35. package/dist/EmailOtp.js +11 -4
  36. package/dist/EmailOtp.js.map +1 -1
  37. package/dist/EmailVerification.d.ts +2 -2
  38. package/dist/EmailVerification.d.ts.map +1 -1
  39. package/dist/EmailVerification.js +2 -3
  40. package/dist/EmailVerification.js.map +1 -1
  41. package/dist/HttpApi/Api.d.ts +1161 -19
  42. package/dist/HttpApi/Api.d.ts.map +1 -1
  43. package/dist/HttpApi/Api.js +1433 -20
  44. package/dist/HttpApi/Api.js.map +1 -1
  45. package/dist/HttpApi/Endpoints.d.ts +611 -0
  46. package/dist/HttpApi/Endpoints.d.ts.map +1 -1
  47. package/dist/HttpApi/Endpoints.js +242 -1
  48. package/dist/HttpApi/Endpoints.js.map +1 -1
  49. package/dist/HttpApi/Schemas.d.ts +704 -0
  50. package/dist/HttpApi/Schemas.d.ts.map +1 -1
  51. package/dist/HttpApi/Schemas.js +435 -1
  52. package/dist/HttpApi/Schemas.js.map +1 -1
  53. package/dist/HttpApi/Security.d.ts +13 -1
  54. package/dist/HttpApi/Security.d.ts.map +1 -1
  55. package/dist/HttpApi/Security.js +107 -16
  56. package/dist/HttpApi/Security.js.map +1 -1
  57. package/dist/HttpApi/Transport.d.ts +36 -2
  58. package/dist/HttpApi/Transport.d.ts.map +1 -1
  59. package/dist/HttpApi/Transport.js +151 -9
  60. package/dist/HttpApi/Transport.js.map +1 -1
  61. package/dist/Jwt.d.ts +271 -0
  62. package/dist/Jwt.d.ts.map +1 -0
  63. package/dist/Jwt.js +512 -0
  64. package/dist/Jwt.js.map +1 -0
  65. package/dist/KyselyStorage.d.ts +134 -1
  66. package/dist/KyselyStorage.d.ts.map +1 -1
  67. package/dist/KyselyStorage.js +918 -4
  68. package/dist/KyselyStorage.js.map +1 -1
  69. package/dist/LoginApproval.d.ts +314 -0
  70. package/dist/LoginApproval.d.ts.map +1 -0
  71. package/dist/LoginApproval.js +551 -0
  72. package/dist/LoginApproval.js.map +1 -0
  73. package/dist/LoginNotification.d.ts +183 -0
  74. package/dist/LoginNotification.d.ts.map +1 -0
  75. package/dist/LoginNotification.js +329 -0
  76. package/dist/LoginNotification.js.map +1 -0
  77. package/dist/LoginRisk.d.ts +73 -0
  78. package/dist/LoginRisk.d.ts.map +1 -0
  79. package/dist/LoginRisk.js +57 -0
  80. package/dist/LoginRisk.js.map +1 -0
  81. package/dist/MagicLink.d.ts +85 -0
  82. package/dist/MagicLink.d.ts.map +1 -0
  83. package/dist/MagicLink.js +206 -0
  84. package/dist/MagicLink.js.map +1 -0
  85. package/dist/Mailer.d.ts +33 -2
  86. package/dist/Mailer.d.ts.map +1 -1
  87. package/dist/Mailer.js +107 -0
  88. package/dist/Mailer.js.map +1 -1
  89. package/dist/Passkey.d.ts +334 -0
  90. package/dist/Passkey.d.ts.map +1 -0
  91. package/dist/Passkey.js +422 -0
  92. package/dist/Passkey.js.map +1 -0
  93. package/dist/Password.d.ts +138 -8
  94. package/dist/Password.d.ts.map +1 -1
  95. package/dist/Password.js +397 -8
  96. package/dist/Password.js.map +1 -1
  97. package/dist/RecoveryCode.d.ts +169 -0
  98. package/dist/RecoveryCode.d.ts.map +1 -0
  99. package/dist/RecoveryCode.js +299 -0
  100. package/dist/RecoveryCode.js.map +1 -0
  101. package/dist/RefreshToken.d.ts +222 -0
  102. package/dist/RefreshToken.d.ts.map +1 -0
  103. package/dist/RefreshToken.js +342 -0
  104. package/dist/RefreshToken.js.map +1 -0
  105. package/dist/Sessions.d.ts +52 -2
  106. package/dist/Sessions.d.ts.map +1 -1
  107. package/dist/Sessions.js +123 -1
  108. package/dist/Sessions.js.map +1 -1
  109. package/dist/StepUp.d.ts +44 -0
  110. package/dist/StepUp.d.ts.map +1 -0
  111. package/dist/StepUp.js +82 -0
  112. package/dist/StepUp.js.map +1 -0
  113. package/dist/Storage.d.ts +14 -1
  114. package/dist/Storage.d.ts.map +1 -1
  115. package/dist/Storage.js.map +1 -1
  116. package/dist/StorageMigrations.d.ts +9 -1
  117. package/dist/StorageMigrations.d.ts.map +1 -1
  118. package/dist/StorageMigrations.js +159 -0
  119. package/dist/StorageMigrations.js.map +1 -1
  120. package/dist/Testing.d.ts +1 -1
  121. package/dist/Totp.d.ts +220 -0
  122. package/dist/Totp.d.ts.map +1 -0
  123. package/dist/Totp.js +477 -0
  124. package/dist/Totp.js.map +1 -0
  125. package/dist/TrustedDevice.d.ts +115 -0
  126. package/dist/TrustedDevice.d.ts.map +1 -0
  127. package/dist/TrustedDevice.js +222 -0
  128. package/dist/TrustedDevice.js.map +1 -0
  129. package/dist/alchemy/cloudflare/Email.d.ts +25 -0
  130. package/dist/alchemy/cloudflare/Email.d.ts.map +1 -0
  131. package/dist/alchemy/cloudflare/Email.js +117 -0
  132. package/dist/alchemy/cloudflare/Email.js.map +1 -0
  133. package/dist/cloudflare/Email.d.ts +25 -0
  134. package/dist/cloudflare/Email.d.ts.map +1 -0
  135. package/dist/cloudflare/Email.js +153 -0
  136. package/dist/cloudflare/Email.js.map +1 -0
  137. package/dist/index.d.ts +12 -0
  138. package/dist/index.d.ts.map +1 -1
  139. package/dist/index.js +12 -0
  140. package/dist/index.js.map +1 -1
  141. package/migrations/0003_auth_login_approval_review.sql +22 -0
  142. package/migrations/0004_auth_trusted_device.sql +12 -0
  143. package/migrations/0005_auth_passkey.sql +17 -0
  144. package/migrations/0006_auth_totp_factor.sql +17 -0
  145. package/migrations/0007_auth_recovery_code.sql +13 -0
  146. package/migrations/0008_auth_api_key.sql +17 -0
  147. package/migrations/0009_auth_refresh_token.sql +21 -0
  148. package/migrations/0010_auth_jwt_revocation.sql +8 -0
  149. package/package.json +57 -1
@@ -1,7 +1,23 @@
1
1
  import { Layer } from "effect";
2
2
  import type { Kysely } from "kysely";
3
+ import { ApiKeyStore } from "./ApiKey.js";
4
+ import type { ApiKeyStoreService } from "./ApiKey.js";
5
+ import { JwtRevocationStore } from "./Jwt.js";
6
+ import type { JwtRevocationStoreService } from "./Jwt.js";
7
+ import { LoginApprovalReviewStore } from "./LoginApproval.js";
8
+ import type { LoginApprovalReviewStoreService } from "./LoginApproval.js";
9
+ import { PasskeyCredentialStore } from "./Passkey.js";
10
+ import type { PasskeyCredentialStoreService } from "./Passkey.js";
11
+ import { RecoveryCodeStore } from "./RecoveryCode.js";
12
+ import type { RecoveryCodeStoreService } from "./RecoveryCode.js";
13
+ import { RefreshTokenStore } from "./RefreshToken.js";
14
+ import type { RefreshTokenStoreService } from "./RefreshToken.js";
3
15
  import { CredentialStore, SessionStore, UserStore, VerificationStore } from "./Storage.js";
4
16
  import type { CredentialStoreService, SessionStoreService, UserStoreService, VerificationStoreService } from "./Storage.js";
17
+ import { TotpFactorStore } from "./Totp.js";
18
+ import type { TotpFactorStoreService } from "./Totp.js";
19
+ import { TrustedDeviceStore } from "./TrustedDevice.js";
20
+ import type { TrustedDeviceStoreService } from "./TrustedDevice.js";
5
21
  export interface KyselyAuthUserTable {
6
22
  id: string;
7
23
  email: string;
@@ -46,22 +62,139 @@ export interface KyselyAuthVerificationTable {
46
62
  metadata: string | null;
47
63
  consumed_at: number | null;
48
64
  }
65
+ export interface KyselyAuthLoginApprovalReviewTable {
66
+ approval_challenge_id: string;
67
+ flow_id: string;
68
+ user_id: string;
69
+ channel: string;
70
+ reason: string;
71
+ session_binding: string;
72
+ same_device_required: number;
73
+ status: string;
74
+ created_at: number;
75
+ expires_at: number;
76
+ reviewed_at: number | null;
77
+ reviewed_by: string | null;
78
+ denied_reason: string | null;
79
+ risk: string | null;
80
+ metadata: string | null;
81
+ review_metadata: string | null;
82
+ }
83
+ export interface KyselyAuthTrustedDeviceTable {
84
+ user_id: string;
85
+ token_hash: string;
86
+ created_at: number;
87
+ last_seen_at: number;
88
+ expires_at: number;
89
+ metadata: string | null;
90
+ }
91
+ export interface KyselyAuthPasskeyCredentialTable {
92
+ id: string;
93
+ user_id: string;
94
+ credential_id: string;
95
+ public_key: string;
96
+ sign_count: number;
97
+ transports: string | null;
98
+ backed_up: number | null;
99
+ created_at: number;
100
+ last_used_at: number | null;
101
+ revoked_at: number | null;
102
+ metadata: string | null;
103
+ }
104
+ export interface KyselyAuthTotpFactorTable {
105
+ id: string;
106
+ user_id: string;
107
+ secret: string;
108
+ algorithm: string;
109
+ digits: number;
110
+ period: number;
111
+ created_at: number;
112
+ confirmed_at: number | null;
113
+ last_used_at: number | null;
114
+ revoked_at: number | null;
115
+ metadata: string | null;
116
+ }
117
+ export interface KyselyAuthRecoveryCodeTable {
118
+ id: string;
119
+ user_id: string;
120
+ code_hash: string;
121
+ created_at: number;
122
+ used_at: number | null;
123
+ revoked_at: number | null;
124
+ metadata: string | null;
125
+ }
126
+ export interface KyselyAuthApiKeyTable {
127
+ id: string;
128
+ user_id: string;
129
+ prefix: string;
130
+ secret_hash: string;
131
+ scopes: string;
132
+ created_at: number;
133
+ expires_at: number | null;
134
+ last_used_at: number | null;
135
+ revoked_at: number | null;
136
+ metadata: string | null;
137
+ }
138
+ export interface KyselyAuthRefreshTokenTable {
139
+ id: string;
140
+ family_id: string;
141
+ user_id: string;
142
+ secret_hash: string;
143
+ created_at: number;
144
+ expires_at: number;
145
+ last_used_at: number | null;
146
+ rotated_at: number | null;
147
+ replaced_by_id: string | null;
148
+ revoked_at: number | null;
149
+ reuse_detected_at: number | null;
150
+ metadata: string | null;
151
+ }
152
+ export interface KyselyAuthJwtRevocationTable {
153
+ jwt_id: string;
154
+ revoked_at: number;
155
+ expires_at: number | null;
156
+ reason: string | null;
157
+ }
49
158
  export interface KyselyAuthDatabase {
50
159
  readonly auth_user: KyselyAuthUserTable;
51
160
  readonly auth_credential: KyselyAuthCredentialTable;
52
161
  readonly auth_session: KyselyAuthSessionTable;
53
162
  readonly auth_verification: KyselyAuthVerificationTable;
163
+ readonly auth_login_approval_review: KyselyAuthLoginApprovalReviewTable;
164
+ readonly auth_trusted_device: KyselyAuthTrustedDeviceTable;
165
+ readonly auth_passkey_credential: KyselyAuthPasskeyCredentialTable;
166
+ readonly auth_totp_factor: KyselyAuthTotpFactorTable;
167
+ readonly auth_recovery_code: KyselyAuthRecoveryCodeTable;
168
+ readonly auth_api_key: KyselyAuthApiKeyTable;
169
+ readonly auth_refresh_token: KyselyAuthRefreshTokenTable;
170
+ readonly auth_jwt_revocation: KyselyAuthJwtRevocationTable;
54
171
  }
55
172
  export interface KyselyStorageStores {
56
173
  readonly userStore: UserStoreService;
57
174
  readonly credentialStore: CredentialStoreService;
58
175
  readonly sessionStore: SessionStoreService;
59
176
  readonly verificationStore: VerificationStoreService;
177
+ readonly loginApprovalReviewStore: LoginApprovalReviewStoreService;
178
+ readonly trustedDeviceStore: TrustedDeviceStoreService;
179
+ readonly passkeyCredentialStore: PasskeyCredentialStoreService;
180
+ readonly totpFactorStore: TotpFactorStoreService;
181
+ readonly recoveryCodeStore: RecoveryCodeStoreService;
182
+ readonly apiKeyStore: ApiKeyStoreService;
183
+ readonly refreshTokenStore: RefreshTokenStoreService;
184
+ readonly jwtRevocationStore: JwtRevocationStoreService;
60
185
  }
61
186
  export declare const makeKyselyUserStore: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => UserStoreService;
62
187
  export declare const makeKyselyCredentialStore: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => CredentialStoreService;
63
188
  export declare const makeKyselySessionStore: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => SessionStoreService;
64
189
  export declare const makeKyselyVerificationStore: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => VerificationStoreService;
190
+ export declare const makeKyselyLoginApprovalReviewStore: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => LoginApprovalReviewStoreService;
191
+ export declare const makeKyselyTrustedDeviceStore: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => TrustedDeviceStoreService;
192
+ export declare const makeKyselyPasskeyCredentialStore: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => PasskeyCredentialStoreService;
193
+ export declare const makeKyselyTotpFactorStore: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => TotpFactorStoreService;
194
+ export declare const makeKyselyRecoveryCodeStore: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => RecoveryCodeStoreService;
195
+ export declare const makeKyselyApiKeyStore: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => ApiKeyStoreService;
196
+ export declare const makeKyselyRefreshTokenStore: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => RefreshTokenStoreService;
197
+ export declare const makeKyselyJwtRevocationStore: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => JwtRevocationStoreService;
65
198
  export declare const makeKyselyStorage: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => KyselyStorageStores;
66
- export declare const KyselyAuthStorageLive: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => Layer.Layer<VerificationStore | UserStore | CredentialStore | SessionStore, never, never>;
199
+ export declare const KyselyAuthStorageLive: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => Layer.Layer<ApiKeyStore | UserStore | CredentialStore | SessionStore | VerificationStore | LoginApprovalReviewStore | TrustedDeviceStore | PasskeyCredentialStore | RefreshTokenStore | JwtRevocationStore | RecoveryCodeStore | TotpFactorStore, never, never>;
67
200
  //# sourceMappingURL=KyselyStorage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KyselyStorage.d.ts","sourceRoot":"","sources":["../src/KyselyStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KyselyStorage.d.ts","sourceRoot":"","sources":["../src/KyselyStorage.ts"],"names":[],"mappings":"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"}