@effect-auth/core 0.1.0-alpha.0 → 0.1.0-alpha.1
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 +82 -0
- package/dist/AuditLog.d.ts +3 -0
- package/dist/AuditLog.d.ts.map +1 -1
- package/dist/AuditLog.js +5 -2
- package/dist/AuditLog.js.map +1 -1
- package/dist/AuthFlow.d.ts +3 -0
- package/dist/AuthFlow.d.ts.map +1 -1
- package/dist/AuthFlow.js +3 -0
- package/dist/AuthFlow.js.map +1 -1
- package/dist/Challenge.d.ts +3 -0
- package/dist/Challenge.d.ts.map +1 -1
- package/dist/Challenge.js +3 -0
- package/dist/Challenge.js.map +1 -1
- package/dist/Crypto.d.ts +3 -0
- package/dist/Crypto.d.ts.map +1 -1
- package/dist/Crypto.js +3 -0
- package/dist/Crypto.js.map +1 -1
- package/dist/D1Kysely.d.ts +40 -0
- package/dist/D1Kysely.d.ts.map +1 -0
- package/dist/D1Kysely.js +75 -0
- package/dist/D1Kysely.js.map +1 -0
- package/dist/KyselyStorage.d.ts +41 -0
- package/dist/KyselyStorage.d.ts.map +1 -0
- package/dist/KyselyStorage.js +176 -0
- package/dist/KyselyStorage.js.map +1 -0
- package/dist/Privacy.d.ts +3 -0
- package/dist/Privacy.d.ts.map +1 -1
- package/dist/Privacy.js +5 -2
- package/dist/Privacy.js.map +1 -1
- package/dist/Sessions.d.ts +12 -0
- package/dist/Sessions.d.ts.map +1 -1
- package/dist/Sessions.js +12 -0
- package/dist/Sessions.js.map +1 -1
- package/dist/Storage.d.ts +107 -0
- package/dist/Storage.d.ts.map +1 -0
- package/dist/Storage.js +17 -0
- package/dist/Storage.js.map +1 -0
- package/dist/StorageMigrations.d.ts +7 -0
- package/dist/StorageMigrations.d.ts.map +1 -0
- package/dist/StorageMigrations.js +37 -0
- package/dist/StorageMigrations.js.map +1 -0
- package/dist/WaitUntil.d.ts +3 -0
- package/dist/WaitUntil.d.ts.map +1 -1
- package/dist/WaitUntil.js +5 -2
- package/dist/WaitUntil.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/migrations/0001_auth_storage.sql +32 -0
- package/package.json +31 -6
- package/LICENSE +0 -21
package/README.md
CHANGED
|
@@ -64,6 +64,25 @@ export const completePassword = (userId: UserId) =>
|
|
|
64
64
|
})
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
+
Service contracts expose small `make` factories for typed layer wiring:
|
|
68
|
+
|
|
69
|
+
```ts
|
|
70
|
+
import { Effect, Layer } from "effect"
|
|
71
|
+
import { AuthFlow, denied } from "@effect-auth/core/AuthFlow"
|
|
72
|
+
|
|
73
|
+
const AuthFlowLive = Layer.succeed(
|
|
74
|
+
AuthFlow,
|
|
75
|
+
AuthFlow.make({
|
|
76
|
+
startPrimaryFactor: () => Effect.succeed(denied("policy-denied")),
|
|
77
|
+
completePrimaryFactor: () => Effect.succeed(denied("policy-denied")),
|
|
78
|
+
completeMfa: () => Effect.succeed(denied("policy-denied")),
|
|
79
|
+
complete: () => Effect.succeed(denied("policy-denied"))
|
|
80
|
+
})
|
|
81
|
+
)
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
The same pattern is available on core services such as `AuditLog.make`, `Sessions.make`, `SessionCookie.make`, `Challenge.make`, `Crypto.make`, `Privacy.make`, and `WaitUntil.make`.
|
|
85
|
+
|
|
67
86
|
## Sessions
|
|
68
87
|
|
|
69
88
|
`Sessions` is the server-side session authority. Transports such as cookies are separate services so browser, API, and custom transports can share the same session strategy.
|
|
@@ -111,3 +130,66 @@ export const issueEmailOtp = (email: string, code: string) =>
|
|
|
111
130
|
})
|
|
112
131
|
})
|
|
113
132
|
```
|
|
133
|
+
|
|
134
|
+
## Storage
|
|
135
|
+
|
|
136
|
+
Storage is exposed as ORM-free ports. Core flows depend on store services, while Kysely, future Drizzle/effect-qb, or app-owned adapters provide the implementations.
|
|
137
|
+
|
|
138
|
+
```ts
|
|
139
|
+
import { Effect, Option } from "effect"
|
|
140
|
+
import { SessionStore, VerificationStore } from "@effect-auth/core/Storage"
|
|
141
|
+
|
|
142
|
+
const SessionStoreLive = SessionStore.make({
|
|
143
|
+
findById: () => Effect.succeed(Option.none()),
|
|
144
|
+
insert: () => Effect.void,
|
|
145
|
+
refresh: () => Effect.succeed(Option.none()),
|
|
146
|
+
rotate: () => Effect.succeed(Option.none()),
|
|
147
|
+
revoke: () => Effect.void,
|
|
148
|
+
revokeAllForUser: () => Effect.void
|
|
149
|
+
})
|
|
150
|
+
|
|
151
|
+
const VerificationStoreLive = VerificationStore.make({
|
|
152
|
+
findById: () => Effect.succeed(Option.none()),
|
|
153
|
+
insert: () => Effect.void,
|
|
154
|
+
consume: () => Effect.succeed(Option.none()),
|
|
155
|
+
deleteExpired: () => Effect.succeed(0)
|
|
156
|
+
})
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
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:
|
|
160
|
+
|
|
161
|
+
```ts
|
|
162
|
+
import { makeKyselyStorage } from "@effect-auth/core/KyselyStorage"
|
|
163
|
+
|
|
164
|
+
const { sessionStore, verificationStore } = makeKyselyStorage(db)
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
For Cloudflare D1, use the first-party Kysely dialect instead of an external D1 dialect package:
|
|
168
|
+
|
|
169
|
+
```ts
|
|
170
|
+
import { makeD1Kysely } from "@effect-auth/core/D1Kysely"
|
|
171
|
+
import { KyselyAuthStorageLive, type KyselyAuthDatabase } from "@effect-auth/core/KyselyStorage"
|
|
172
|
+
|
|
173
|
+
interface DB extends KyselyAuthDatabase {
|
|
174
|
+
// app tables live here too
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
const db = makeD1Kysely<DB>(env.DB)
|
|
178
|
+
const StorageLive = KyselyAuthStorageLive(db)
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
The default schema expects `auth_session` and `auth_verification` tables in the Kysely database type:
|
|
182
|
+
|
|
183
|
+
```ts
|
|
184
|
+
import type { KyselyAuthDatabase } from "@effect-auth/core/KyselyStorage"
|
|
185
|
+
|
|
186
|
+
interface DB extends KyselyAuthDatabase {
|
|
187
|
+
// app tables live here too
|
|
188
|
+
}
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
The default schema is also exported as SQL and as package assets:
|
|
192
|
+
|
|
193
|
+
```ts
|
|
194
|
+
import { authStorageMigrations } from "@effect-auth/core/StorageMigrations"
|
|
195
|
+
```
|
package/dist/AuditLog.d.ts
CHANGED
|
@@ -66,6 +66,9 @@ export interface AuditLogService {
|
|
|
66
66
|
declare const AuditLog_base: Context.ServiceClass<AuditLog, "auth/AuditLog", AuditLogService>;
|
|
67
67
|
export declare class AuditLog extends AuditLog_base {
|
|
68
68
|
}
|
|
69
|
+
export declare namespace AuditLog {
|
|
70
|
+
const make: (service: AuditLogService) => AuditLogService;
|
|
71
|
+
}
|
|
69
72
|
export declare const AuditLogNoopLive: Layer.Layer<AuditLog, never, never>;
|
|
70
73
|
export {};
|
|
71
74
|
//# sourceMappingURL=AuditLog.d.ts.map
|
package/dist/AuditLog.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuditLog.d.ts","sourceRoot":"","sources":["../src/AuditLog.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AuditLog.d.ts","sourceRoot":"","sources":["../src/AuditLog.ts"],"names":[],"mappings":"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"}
|
package/dist/AuditLog.js
CHANGED
|
@@ -3,7 +3,10 @@ export class AuditLogError extends Data.TaggedError("AuditLogError") {
|
|
|
3
3
|
}
|
|
4
4
|
export class AuditLog extends Context.Service()("auth/AuditLog") {
|
|
5
5
|
}
|
|
6
|
-
|
|
6
|
+
(function (AuditLog) {
|
|
7
|
+
AuditLog.make = (service) => AuditLog.of(service);
|
|
8
|
+
})(AuditLog || (AuditLog = {}));
|
|
9
|
+
export const AuditLogNoopLive = Layer.succeed(AuditLog)(AuditLog.make({
|
|
7
10
|
emit: () => Effect.void
|
|
8
|
-
});
|
|
11
|
+
}));
|
|
9
12
|
//# sourceMappingURL=AuditLog.js.map
|
package/dist/AuditLog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuditLog.js","sourceRoot":"","sources":["../src/AuditLog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAIrD,MAAM,OAAO,aAAc,SAAQ,IAAI,CAAC,WAAW,CAAC,eAAe,CAGjE;CAAG;AAyDL,MAAM,OAAO,QAAS,SAAQ,OAAO,CAAC,OAAO,EAA6B,CAAC,eAAe,CAAC;CAAG;AAE9F,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"AuditLog.js","sourceRoot":"","sources":["../src/AuditLog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAIrD,MAAM,OAAO,aAAc,SAAQ,IAAI,CAAC,WAAW,CAAC,eAAe,CAGjE;CAAG;AAyDL,MAAM,OAAO,QAAS,SAAQ,OAAO,CAAC,OAAO,EAA6B,CAAC,eAAe,CAAC;CAAG;AAE9F,WAAiB,QAAQ;IACV,aAAI,GAAG,CAAC,OAAwB,EAAmB,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;AACzF,CAAC,EAFgB,QAAQ,KAAR,QAAQ,QAExB;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;IACpE,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI;CACxB,CAAC,CAAC,CAAA"}
|
package/dist/AuthFlow.d.ts
CHANGED
|
@@ -58,6 +58,9 @@ export interface AuthFlowService {
|
|
|
58
58
|
declare const AuthFlow_base: Context.ServiceClass<AuthFlow, "auth/AuthFlow", AuthFlowService>;
|
|
59
59
|
export declare class AuthFlow extends AuthFlow_base {
|
|
60
60
|
}
|
|
61
|
+
export declare namespace AuthFlow {
|
|
62
|
+
const make: (service: AuthFlowService) => AuthFlowService;
|
|
63
|
+
}
|
|
61
64
|
export declare const denied: (reason: AuthDenyReason) => AuthResult;
|
|
62
65
|
export {};
|
|
63
66
|
//# sourceMappingURL=AuthFlow.d.ts.map
|
package/dist/AuthFlow.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthFlow.d.ts","sourceRoot":"","sources":["../src/AuthFlow.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AuthFlow.d.ts","sourceRoot":"","sources":["../src/AuthFlow.ts"],"names":[],"mappings":"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"}
|
package/dist/AuthFlow.js
CHANGED
|
@@ -3,6 +3,9 @@ export class AuthFlowError extends Data.TaggedError("AuthFlowError") {
|
|
|
3
3
|
}
|
|
4
4
|
export class AuthFlow extends Context.Service()("auth/AuthFlow") {
|
|
5
5
|
}
|
|
6
|
+
(function (AuthFlow) {
|
|
7
|
+
AuthFlow.make = (service) => AuthFlow.of(service);
|
|
8
|
+
})(AuthFlow || (AuthFlow = {}));
|
|
6
9
|
export const denied = (reason) => ({
|
|
7
10
|
type: "denied",
|
|
8
11
|
reason
|
package/dist/AuthFlow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthFlow.js","sourceRoot":"","sources":["../src/AuthFlow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAuD9C,MAAM,OAAO,aAAc,SAAQ,IAAI,CAAC,WAAW,CAAC,eAAe,CAGjE;CAAG;AASL,MAAM,OAAO,QAAS,SAAQ,OAAO,CAAC,OAAO,EAA6B,CAAC,eAAe,CAAC;CAAG;AAE9F,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,MAAsB,EAAc,EAAE,CAAC,CAAC;IAC7D,IAAI,EAAE,QAAQ;IACd,MAAM;CACP,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"AuthFlow.js","sourceRoot":"","sources":["../src/AuthFlow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAuD9C,MAAM,OAAO,aAAc,SAAQ,IAAI,CAAC,WAAW,CAAC,eAAe,CAGjE;CAAG;AASL,MAAM,OAAO,QAAS,SAAQ,OAAO,CAAC,OAAO,EAA6B,CAAC,eAAe,CAAC;CAAG;AAE9F,WAAiB,QAAQ;IACV,aAAI,GAAG,CAAC,OAAwB,EAAmB,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;AACzF,CAAC,EAFgB,QAAQ,KAAR,QAAQ,QAExB;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,MAAsB,EAAc,EAAE,CAAC,CAAC;IAC7D,IAAI,EAAE,QAAQ;IACd,MAAM;CACP,CAAC,CAAA"}
|
package/dist/Challenge.d.ts
CHANGED
|
@@ -60,5 +60,8 @@ export interface ChallengeService {
|
|
|
60
60
|
declare const Challenge_base: Context.ServiceClass<Challenge, "auth/Challenge", ChallengeService>;
|
|
61
61
|
export declare class Challenge extends Challenge_base {
|
|
62
62
|
}
|
|
63
|
+
export declare namespace Challenge {
|
|
64
|
+
const make: (service: ChallengeService) => ChallengeService;
|
|
65
|
+
}
|
|
63
66
|
export {};
|
|
64
67
|
//# sourceMappingURL=Challenge.d.ts.map
|
package/dist/Challenge.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Challenge.d.ts","sourceRoot":"","sources":["../src/Challenge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Challenge.d.ts","sourceRoot":"","sources":["../src/Challenge.ts"],"names":[],"mappings":"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"}
|
package/dist/Challenge.js
CHANGED
|
@@ -7,4 +7,7 @@ export class ChallengeConsumeError extends Data.TaggedError("ChallengeConsumeErr
|
|
|
7
7
|
}
|
|
8
8
|
export class Challenge extends Context.Service()("auth/Challenge") {
|
|
9
9
|
}
|
|
10
|
+
(function (Challenge) {
|
|
11
|
+
Challenge.make = (service) => Challenge.of(service);
|
|
12
|
+
})(Challenge || (Challenge = {}));
|
|
10
13
|
//# sourceMappingURL=Challenge.js.map
|
package/dist/Challenge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Challenge.js","sourceRoot":"","sources":["../src/Challenge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AA4CxD,MAAM,OAAO,mBAAoB,SAAQ,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAG7E;CAAG;AAEL,MAAM,OAAO,oBAAqB,SAAQ,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAG/E;CAAG;AAEL,MAAM,OAAO,qBAAsB,SAAQ,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAGjF;CAAG;AAUL,MAAM,OAAO,SAAU,SAAQ,OAAO,CAAC,OAAO,EAA+B,CAAC,gBAAgB,CAAC;CAAG"}
|
|
1
|
+
{"version":3,"file":"Challenge.js","sourceRoot":"","sources":["../src/Challenge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AA4CxD,MAAM,OAAO,mBAAoB,SAAQ,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAG7E;CAAG;AAEL,MAAM,OAAO,oBAAqB,SAAQ,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAG/E;CAAG;AAEL,MAAM,OAAO,qBAAsB,SAAQ,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAGjF;CAAG;AAUL,MAAM,OAAO,SAAU,SAAQ,OAAO,CAAC,OAAO,EAA+B,CAAC,gBAAgB,CAAC;CAAG;AAElG,WAAiB,SAAS;IACX,cAAI,GAAG,CAAC,OAAyB,EAAoB,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;AAC5F,CAAC,EAFgB,SAAS,KAAT,SAAS,QAEzB"}
|
package/dist/Crypto.d.ts
CHANGED
|
@@ -31,5 +31,8 @@ export interface CryptoService {
|
|
|
31
31
|
declare const Crypto_base: Context.ServiceClass<Crypto, "auth/Crypto", CryptoService>;
|
|
32
32
|
export declare class Crypto extends Crypto_base {
|
|
33
33
|
}
|
|
34
|
+
export declare namespace Crypto {
|
|
35
|
+
const make: (service: CryptoService) => CryptoService;
|
|
36
|
+
}
|
|
34
37
|
export {};
|
|
35
38
|
//# sourceMappingURL=Crypto.d.ts.map
|
package/dist/Crypto.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Crypto.d.ts","sourceRoot":"","sources":["../src/Crypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAQ,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAExD,MAAM,MAAM,eAAe,GACvB,cAAc,GACd,cAAc,GACd,QAAQ,GACR,aAAa,GACb,mBAAmB,CAAA;;;;AAEvB,qBAAa,WAAY,SAAQ,iBAAgC;IAC/D,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CACzB,CAAC;CAAG;AAEL,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,UAAU,CAAA;AAE9D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;CACnC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;CACnC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;IACpF,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACjF,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACjF,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACnF,QAAQ,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;CAC/F;;AAED,qBAAa,MAAO,SAAQ,WAAuD;CAAG"}
|
|
1
|
+
{"version":3,"file":"Crypto.d.ts","sourceRoot":"","sources":["../src/Crypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAQ,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAExD,MAAM,MAAM,eAAe,GACvB,cAAc,GACd,cAAc,GACd,QAAQ,GACR,aAAa,GACb,mBAAmB,CAAA;;;;AAEvB,qBAAa,WAAY,SAAQ,iBAAgC;IAC/D,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CACzB,CAAC;CAAG;AAEL,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,UAAU,CAAA;AAE9D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;CACnC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;CACnC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;IACpF,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACjF,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACjF,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACnF,QAAQ,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;CAC/F;;AAED,qBAAa,MAAO,SAAQ,WAAuD;CAAG;AAEtF,yBAAiB,MAAM,CAAC;IACf,MAAM,IAAI,GAAI,SAAS,aAAa,KAAG,aAAmC,CAAA;CAClF"}
|
package/dist/Crypto.js
CHANGED
|
@@ -3,4 +3,7 @@ export class CryptoError extends Data.TaggedError("CryptoError") {
|
|
|
3
3
|
}
|
|
4
4
|
export class Crypto extends Context.Service()("auth/Crypto") {
|
|
5
5
|
}
|
|
6
|
+
(function (Crypto) {
|
|
7
|
+
Crypto.make = (service) => Crypto.of(service);
|
|
8
|
+
})(Crypto || (Crypto = {}));
|
|
6
9
|
//# sourceMappingURL=Crypto.js.map
|
package/dist/Crypto.js.map
CHANGED
|
@@ -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"}
|
|
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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Kysely, SqliteAdapter, type DatabaseIntrospector, type Dialect, type Driver, type QueryCompiler } from "kysely";
|
|
2
|
+
export interface D1Result<Row extends Readonly<Record<string, unknown>> = Readonly<Record<string, unknown>>> {
|
|
3
|
+
readonly success?: boolean;
|
|
4
|
+
readonly error?: string;
|
|
5
|
+
readonly results?: ReadonlyArray<Row>;
|
|
6
|
+
readonly meta?: {
|
|
7
|
+
readonly changes?: number;
|
|
8
|
+
readonly rows_written?: number;
|
|
9
|
+
readonly last_row_id?: number | null;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export interface D1PreparedStatementLike {
|
|
13
|
+
readonly bind: (...values: ReadonlyArray<unknown>) => D1PreparedStatementLike;
|
|
14
|
+
readonly all: <Row extends Readonly<Record<string, unknown>> = Readonly<Record<string, unknown>>>() => Promise<D1Result<Row>>;
|
|
15
|
+
}
|
|
16
|
+
export interface D1DatabaseLike {
|
|
17
|
+
readonly prepare: (sql: string) => D1PreparedStatementLike;
|
|
18
|
+
}
|
|
19
|
+
declare const D1KyselyError_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 & {
|
|
20
|
+
readonly _tag: "D1KyselyError";
|
|
21
|
+
} & Readonly<A>;
|
|
22
|
+
export declare class D1KyselyError extends D1KyselyError_base<{
|
|
23
|
+
readonly message: string;
|
|
24
|
+
readonly cause?: unknown;
|
|
25
|
+
}> {
|
|
26
|
+
}
|
|
27
|
+
export interface D1KyselyDialectOptions {
|
|
28
|
+
readonly database: D1DatabaseLike;
|
|
29
|
+
}
|
|
30
|
+
export declare class D1KyselyDialect implements Dialect {
|
|
31
|
+
#private;
|
|
32
|
+
constructor(options: D1KyselyDialectOptions);
|
|
33
|
+
createAdapter(): SqliteAdapter;
|
|
34
|
+
createDriver(): Driver;
|
|
35
|
+
createQueryCompiler(): QueryCompiler;
|
|
36
|
+
createIntrospector(db: Kysely<unknown>): DatabaseIntrospector;
|
|
37
|
+
}
|
|
38
|
+
export declare const makeD1Kysely: <DB>(database: D1DatabaseLike) => Kysely<DB>;
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=D1Kysely.d.ts.map
|
|
@@ -0,0 +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"}
|
package/dist/D1Kysely.js
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Data } from "effect";
|
|
2
|
+
import { Kysely, SqliteAdapter, SqliteIntrospector, SqliteQueryCompiler } from "kysely";
|
|
3
|
+
export class D1KyselyError extends Data.TaggedError("D1KyselyError") {
|
|
4
|
+
}
|
|
5
|
+
export class D1KyselyDialect {
|
|
6
|
+
#database;
|
|
7
|
+
constructor(options) {
|
|
8
|
+
this.#database = options.database;
|
|
9
|
+
}
|
|
10
|
+
createAdapter() {
|
|
11
|
+
return new SqliteAdapter();
|
|
12
|
+
}
|
|
13
|
+
createDriver() {
|
|
14
|
+
return new D1KyselyDriver(this.#database);
|
|
15
|
+
}
|
|
16
|
+
createQueryCompiler() {
|
|
17
|
+
return new SqliteQueryCompiler();
|
|
18
|
+
}
|
|
19
|
+
createIntrospector(db) {
|
|
20
|
+
return new SqliteIntrospector(db);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
class D1KyselyDriver {
|
|
24
|
+
#database;
|
|
25
|
+
constructor(database) {
|
|
26
|
+
this.#database = database;
|
|
27
|
+
}
|
|
28
|
+
async init() { }
|
|
29
|
+
async acquireConnection() {
|
|
30
|
+
return new D1KyselyConnection(this.#database);
|
|
31
|
+
}
|
|
32
|
+
async beginTransaction(_connection, _settings) {
|
|
33
|
+
throw new D1KyselyError({ message: "D1 transactions are not supported" });
|
|
34
|
+
}
|
|
35
|
+
async commitTransaction(_connection) {
|
|
36
|
+
throw new D1KyselyError({ message: "D1 transactions are not supported" });
|
|
37
|
+
}
|
|
38
|
+
async rollbackTransaction(_connection) {
|
|
39
|
+
throw new D1KyselyError({ message: "D1 transactions are not supported" });
|
|
40
|
+
}
|
|
41
|
+
async releaseConnection(_connection) { }
|
|
42
|
+
async destroy() { }
|
|
43
|
+
}
|
|
44
|
+
class D1KyselyConnection {
|
|
45
|
+
#database;
|
|
46
|
+
constructor(database) {
|
|
47
|
+
this.#database = database;
|
|
48
|
+
}
|
|
49
|
+
async executeQuery(compiledQuery) {
|
|
50
|
+
const result = await this.#database
|
|
51
|
+
.prepare(compiledQuery.sql)
|
|
52
|
+
.bind(...compiledQuery.parameters)
|
|
53
|
+
.all();
|
|
54
|
+
if (result.success === false || result.error !== undefined) {
|
|
55
|
+
throw new D1KyselyError({
|
|
56
|
+
message: result.error ?? "D1 query failed"
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
const rowsAffected = result.meta?.changes ?? result.meta?.rows_written ?? 0;
|
|
60
|
+
return {
|
|
61
|
+
insertId: result.meta?.last_row_id === undefined || result.meta.last_row_id === null
|
|
62
|
+
? undefined
|
|
63
|
+
: BigInt(result.meta.last_row_id),
|
|
64
|
+
numAffectedRows: BigInt(rowsAffected),
|
|
65
|
+
rows: [...(result.results ?? [])]
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
async *streamQuery(_compiledQuery, _chunkSize) {
|
|
69
|
+
throw new D1KyselyError({ message: "D1 streaming is not supported" });
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
export const makeD1Kysely = (database) => new Kysely({
|
|
73
|
+
dialect: new D1KyselyDialect({ database })
|
|
74
|
+
});
|
|
75
|
+
//# sourceMappingURL=D1Kysely.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"D1Kysely.js","sourceRoot":"","sources":["../src/D1Kysely.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Layer } from "effect";
|
|
2
|
+
import type { Kysely } from "kysely";
|
|
3
|
+
import { SessionStore, VerificationStore, type SessionStoreService, type VerificationStoreService } from "./Storage.js";
|
|
4
|
+
export interface KyselyAuthSessionTable {
|
|
5
|
+
id: string;
|
|
6
|
+
user_id: string;
|
|
7
|
+
secret_hash: string;
|
|
8
|
+
created_at: number;
|
|
9
|
+
expires_at: number;
|
|
10
|
+
auth_time: number;
|
|
11
|
+
aal: string;
|
|
12
|
+
amr: string;
|
|
13
|
+
mfa_verified_at: number | null;
|
|
14
|
+
metadata: string | null;
|
|
15
|
+
revoked_at: number | null;
|
|
16
|
+
last_seen_at: number | null;
|
|
17
|
+
rotated_at: number | null;
|
|
18
|
+
}
|
|
19
|
+
export interface KyselyAuthVerificationTable {
|
|
20
|
+
id: string;
|
|
21
|
+
type: string;
|
|
22
|
+
subject: string;
|
|
23
|
+
secret_hash: string | null;
|
|
24
|
+
created_at: number;
|
|
25
|
+
expires_at: number;
|
|
26
|
+
metadata: string | null;
|
|
27
|
+
consumed_at: number | null;
|
|
28
|
+
}
|
|
29
|
+
export interface KyselyAuthDatabase {
|
|
30
|
+
readonly auth_session: KyselyAuthSessionTable;
|
|
31
|
+
readonly auth_verification: KyselyAuthVerificationTable;
|
|
32
|
+
}
|
|
33
|
+
export interface KyselyStorageStores {
|
|
34
|
+
readonly sessionStore: SessionStoreService;
|
|
35
|
+
readonly verificationStore: VerificationStoreService;
|
|
36
|
+
}
|
|
37
|
+
export declare const makeKyselySessionStore: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => SessionStoreService;
|
|
38
|
+
export declare const makeKyselyVerificationStore: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => VerificationStoreService;
|
|
39
|
+
export declare const makeKyselyStorage: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => KyselyStorageStores;
|
|
40
|
+
export declare const KyselyAuthStorageLive: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => Layer.Layer<SessionStore | VerificationStore, never, never>;
|
|
41
|
+
//# sourceMappingURL=KyselyStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KyselyStorage.d.ts","sourceRoot":"","sources":["../src/KyselyStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,EAAU,MAAM,QAAQ,CAAA;AAC9C,OAAO,KAAK,EAAc,MAAM,EAAc,MAAM,QAAQ,CAAA;AAG5D,OAAO,EACL,YAAY,EAEZ,iBAAiB,EAQjB,KAAK,mBAAmB,EAIxB,KAAK,wBAAwB,EAC9B,MAAM,cAAc,CAAA;AAIrB,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B;AAED,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAA;IAC7C,QAAQ,CAAC,iBAAiB,EAAE,2BAA2B,CAAA;CACxD;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAA;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,wBAAwB,CAAA;CACrD;AA8GD,eAAO,MAAM,sBAAsB,GAAI,EAAE,SAAS,kBAAkB,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,KAAG,mBAiEtF,CAAA;AAED,eAAO,MAAM,2BAA2B,GAAI,EAAE,SAAS,kBAAkB,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,KAAG,wBA2D3F,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,EAAE,SAAS,kBAAkB,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,KAAG,mBAGhF,CAAA;AAEF,eAAO,MAAM,qBAAqB,GAAI,EAAE,SAAS,kBAAkB,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,gEAIhF,CAAA"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { Effect, Layer, Option } from "effect";
|
|
2
|
+
import { ChallengeId, SessionId, UnixMillis, UserId } from "./Identifiers.js";
|
|
3
|
+
import { SessionStore, StorageError, VerificationStore } from "./Storage.js";
|
|
4
|
+
const jsonEncode = (value) => (value === undefined ? null : JSON.stringify(value));
|
|
5
|
+
const jsonDecode = (value) => value === null ? undefined : JSON.parse(value);
|
|
6
|
+
const optionalUnixMillis = (value) => value === null ? undefined : UnixMillis(Number(value));
|
|
7
|
+
const decodeAmr = (value) => JSON.parse(value);
|
|
8
|
+
const omitUndefined = (record) => Object.fromEntries(Object.entries(record).filter(([, value]) => value !== undefined));
|
|
9
|
+
const decodeSessionRow = (row) => omitUndefined({
|
|
10
|
+
id: SessionId(row.id),
|
|
11
|
+
userId: UserId(row.user_id),
|
|
12
|
+
secretHash: row.secret_hash,
|
|
13
|
+
createdAt: UnixMillis(Number(row.created_at)),
|
|
14
|
+
expiresAt: UnixMillis(Number(row.expires_at)),
|
|
15
|
+
authTime: UnixMillis(Number(row.auth_time)),
|
|
16
|
+
aal: row.aal,
|
|
17
|
+
amr: decodeAmr(row.amr),
|
|
18
|
+
mfaVerifiedAt: optionalUnixMillis(row.mfa_verified_at),
|
|
19
|
+
metadata: jsonDecode(row.metadata),
|
|
20
|
+
revokedAt: optionalUnixMillis(row.revoked_at),
|
|
21
|
+
lastSeenAt: optionalUnixMillis(row.last_seen_at),
|
|
22
|
+
rotatedAt: optionalUnixMillis(row.rotated_at)
|
|
23
|
+
});
|
|
24
|
+
const decodeVerificationRow = (row) => omitUndefined({
|
|
25
|
+
id: ChallengeId(row.id),
|
|
26
|
+
type: row.type,
|
|
27
|
+
subject: row.subject,
|
|
28
|
+
secretHash: row.secret_hash === null ? undefined : row.secret_hash,
|
|
29
|
+
createdAt: UnixMillis(Number(row.created_at)),
|
|
30
|
+
expiresAt: UnixMillis(Number(row.expires_at)),
|
|
31
|
+
metadata: jsonDecode(row.metadata),
|
|
32
|
+
consumedAt: optionalUnixMillis(row.consumed_at)
|
|
33
|
+
});
|
|
34
|
+
const sessionInsert = (row) => ({
|
|
35
|
+
id: row.id,
|
|
36
|
+
user_id: row.userId,
|
|
37
|
+
secret_hash: row.secretHash,
|
|
38
|
+
created_at: Number(row.createdAt),
|
|
39
|
+
expires_at: Number(row.expiresAt),
|
|
40
|
+
auth_time: Number(row.authTime),
|
|
41
|
+
aal: row.aal,
|
|
42
|
+
amr: JSON.stringify(row.amr),
|
|
43
|
+
mfa_verified_at: row.mfaVerifiedAt === undefined ? null : Number(row.mfaVerifiedAt),
|
|
44
|
+
metadata: jsonEncode(row.metadata),
|
|
45
|
+
revoked_at: null,
|
|
46
|
+
last_seen_at: null,
|
|
47
|
+
rotated_at: null
|
|
48
|
+
});
|
|
49
|
+
const verificationInsert = (row) => ({
|
|
50
|
+
id: row.id,
|
|
51
|
+
type: row.type,
|
|
52
|
+
subject: row.subject,
|
|
53
|
+
secret_hash: row.secretHash ?? null,
|
|
54
|
+
created_at: Number(row.createdAt),
|
|
55
|
+
expires_at: Number(row.expiresAt),
|
|
56
|
+
metadata: jsonEncode(row.metadata),
|
|
57
|
+
consumed_at: null
|
|
58
|
+
});
|
|
59
|
+
const kyselyError = (entity, operation, cause) => StorageError.fromUnknown(entity, operation, cause);
|
|
60
|
+
const runKysely = (entity, operation, evaluate) => Effect.tryPromise({
|
|
61
|
+
try: evaluate,
|
|
62
|
+
catch: (cause) => kyselyError(entity, operation, cause)
|
|
63
|
+
});
|
|
64
|
+
const asAuthDb = (db) => db;
|
|
65
|
+
const findSessionById = (db, id, operation = "find") => {
|
|
66
|
+
const authDb = asAuthDb(db);
|
|
67
|
+
return runKysely("session", operation, async () => {
|
|
68
|
+
const row = await authDb.selectFrom("auth_session").selectAll().where("id", "=", id).executeTakeFirst();
|
|
69
|
+
return row === undefined ? Option.none() : Option.some(decodeSessionRow(row));
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
const findVerificationById = (db, id, operation = "find") => {
|
|
73
|
+
const authDb = asAuthDb(db);
|
|
74
|
+
return runKysely("verification", operation, async () => {
|
|
75
|
+
const row = await authDb.selectFrom("auth_verification").selectAll().where("id", "=", id).executeTakeFirst();
|
|
76
|
+
return row === undefined ? Option.none() : Option.some(decodeVerificationRow(row));
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
export const makeKyselySessionStore = (db) => {
|
|
80
|
+
const authDb = asAuthDb(db);
|
|
81
|
+
return SessionStore.make({
|
|
82
|
+
findById: (id) => findSessionById(db, id),
|
|
83
|
+
insert: (row) => runKysely("session", "insert", async () => {
|
|
84
|
+
await authDb.insertInto("auth_session").values(sessionInsert(row)).executeTakeFirst();
|
|
85
|
+
}),
|
|
86
|
+
refresh: (input) => {
|
|
87
|
+
const update = {
|
|
88
|
+
expires_at: Number(input.expiresAt)
|
|
89
|
+
};
|
|
90
|
+
if (input.lastSeenAt !== undefined) {
|
|
91
|
+
update.last_seen_at = Number(input.lastSeenAt);
|
|
92
|
+
}
|
|
93
|
+
return runKysely("session", "refresh", () => authDb.updateTable("auth_session").set(update).where("id", "=", input.sessionId).executeTakeFirst()).pipe(Effect.flatMap((result) => Number(result.numUpdatedRows) > 0
|
|
94
|
+
? findSessionById(db, input.sessionId, "refresh")
|
|
95
|
+
: Effect.succeed(Option.none())));
|
|
96
|
+
},
|
|
97
|
+
rotate: (input) => {
|
|
98
|
+
const update = {
|
|
99
|
+
secret_hash: input.secretHash,
|
|
100
|
+
rotated_at: Number(input.rotatedAt)
|
|
101
|
+
};
|
|
102
|
+
if (input.expiresAt !== undefined) {
|
|
103
|
+
update.expires_at = Number(input.expiresAt);
|
|
104
|
+
}
|
|
105
|
+
return runKysely("session", "rotate", () => authDb.updateTable("auth_session").set(update).where("id", "=", input.sessionId).executeTakeFirst()).pipe(Effect.flatMap((result) => Number(result.numUpdatedRows) > 0
|
|
106
|
+
? findSessionById(db, input.sessionId, "rotate")
|
|
107
|
+
: Effect.succeed(Option.none())));
|
|
108
|
+
},
|
|
109
|
+
revoke: (input) => runKysely("session", "revoke", async () => {
|
|
110
|
+
await authDb
|
|
111
|
+
.updateTable("auth_session")
|
|
112
|
+
.set({ revoked_at: Number(input.revokedAt) })
|
|
113
|
+
.where("id", "=", input.sessionId)
|
|
114
|
+
.executeTakeFirst();
|
|
115
|
+
}),
|
|
116
|
+
revokeAllForUser: (input) => runKysely("session", "revokeAllForUser", async () => {
|
|
117
|
+
await authDb
|
|
118
|
+
.updateTable("auth_session")
|
|
119
|
+
.set({ revoked_at: Number(input.revokedAt) })
|
|
120
|
+
.where("user_id", "=", input.userId)
|
|
121
|
+
.executeTakeFirst();
|
|
122
|
+
})
|
|
123
|
+
});
|
|
124
|
+
};
|
|
125
|
+
export const makeKyselyVerificationStore = (db) => {
|
|
126
|
+
const authDb = asAuthDb(db);
|
|
127
|
+
return VerificationStore.make({
|
|
128
|
+
findById: (id) => findVerificationById(db, id),
|
|
129
|
+
insert: (row) => runKysely("verification", "insert", async () => {
|
|
130
|
+
await authDb.insertInto("auth_verification").values(verificationInsert(row)).executeTakeFirst();
|
|
131
|
+
}),
|
|
132
|
+
consume: (input) => {
|
|
133
|
+
let query = authDb
|
|
134
|
+
.updateTable("auth_verification")
|
|
135
|
+
.set({ consumed_at: Number(input.consumedAt) })
|
|
136
|
+
.where("id", "=", input.id)
|
|
137
|
+
.where("consumed_at", "is", null)
|
|
138
|
+
.where("expires_at", ">", Number(input.consumedAt));
|
|
139
|
+
if (input.type !== undefined) {
|
|
140
|
+
query = query.where("type", "=", input.type);
|
|
141
|
+
}
|
|
142
|
+
return runKysely("verification", "consume", () => query.executeTakeFirst()).pipe(Effect.flatMap((result) => Number(result.numUpdatedRows) > 0
|
|
143
|
+
? findVerificationById(db, input.id, "consume")
|
|
144
|
+
: Effect.succeed(Option.none())));
|
|
145
|
+
},
|
|
146
|
+
deleteExpired: (input) => runKysely("verification", "deleteExpired", async () => {
|
|
147
|
+
if (input.limit === undefined) {
|
|
148
|
+
const result = await authDb
|
|
149
|
+
.deleteFrom("auth_verification")
|
|
150
|
+
.where("expires_at", "<=", Number(input.now))
|
|
151
|
+
.executeTakeFirst();
|
|
152
|
+
return Number(result.numDeletedRows);
|
|
153
|
+
}
|
|
154
|
+
const rows = await authDb
|
|
155
|
+
.selectFrom("auth_verification")
|
|
156
|
+
.select("id")
|
|
157
|
+
.where("expires_at", "<=", Number(input.now))
|
|
158
|
+
.limit(input.limit)
|
|
159
|
+
.execute();
|
|
160
|
+
if (rows.length === 0) {
|
|
161
|
+
return 0;
|
|
162
|
+
}
|
|
163
|
+
const result = await authDb
|
|
164
|
+
.deleteFrom("auth_verification")
|
|
165
|
+
.where("id", "in", rows.map((row) => row.id))
|
|
166
|
+
.executeTakeFirst();
|
|
167
|
+
return Number(result.numDeletedRows);
|
|
168
|
+
})
|
|
169
|
+
});
|
|
170
|
+
};
|
|
171
|
+
export const makeKyselyStorage = (db) => ({
|
|
172
|
+
sessionStore: makeKyselySessionStore(db),
|
|
173
|
+
verificationStore: makeKyselyVerificationStore(db)
|
|
174
|
+
});
|
|
175
|
+
export const KyselyAuthStorageLive = (db) => Layer.mergeAll(Layer.succeed(SessionStore)(makeKyselySessionStore(db)), Layer.succeed(VerificationStore)(makeKyselyVerificationStore(db)));
|
|
176
|
+
//# sourceMappingURL=KyselyStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KyselyStorage.js","sourceRoot":"","sources":["../src/KyselyStorage.ts"],"names":[],"mappings":"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"}
|
package/dist/Privacy.d.ts
CHANGED
|
@@ -19,6 +19,9 @@ export interface PrivacyService {
|
|
|
19
19
|
declare const Privacy_base: Context.ServiceClass<Privacy, "auth/Privacy", PrivacyService>;
|
|
20
20
|
export declare class Privacy extends Privacy_base {
|
|
21
21
|
}
|
|
22
|
+
export declare namespace Privacy {
|
|
23
|
+
const make: (service: PrivacyService) => PrivacyService;
|
|
24
|
+
}
|
|
22
25
|
export declare const PrivacyTestLive: Layer.Layer<Privacy, never, never>;
|
|
23
26
|
export {};
|
|
24
27
|
//# sourceMappingURL=Privacy.d.ts.map
|
package/dist/Privacy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Privacy.d.ts","sourceRoot":"","sources":["../src/Privacy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAQ,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAExD,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,SAAS,GAAG,iBAAiB,CAAA;;;;AAE3E,qBAAa,YAAa,SAAQ,kBAAiC;IACjE,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAA;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CACzB,CAAC;CAAG;AAEL,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IAC5E,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACvE,QAAQ,CAAC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,CAAA;CAC1F;;AAED,qBAAa,OAAQ,SAAQ,YAA0D;CAAG;AAE1F,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"Privacy.d.ts","sourceRoot":"","sources":["../src/Privacy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAQ,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAExD,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,SAAS,GAAG,iBAAiB,CAAA;;;;AAE3E,qBAAa,YAAa,SAAQ,kBAAiC;IACjE,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAA;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CACzB,CAAC;CAAG;AAEL,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IAC5E,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACvE,QAAQ,CAAC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,CAAA;CAC1F;;AAED,qBAAa,OAAQ,SAAQ,YAA0D;CAAG;AAE1F,yBAAiB,OAAO,CAAC;IAChB,MAAM,IAAI,GAAI,SAAS,cAAc,KAAG,cAAqC,CAAA;CACrF;AAED,eAAO,MAAM,eAAe,oCAIzB,CAAA"}
|
package/dist/Privacy.js
CHANGED
|
@@ -4,9 +4,12 @@ export class PrivacyError extends Data.TaggedError("PrivacyError") {
|
|
|
4
4
|
}
|
|
5
5
|
export class Privacy extends Context.Service()("auth/Privacy") {
|
|
6
6
|
}
|
|
7
|
-
|
|
7
|
+
(function (Privacy) {
|
|
8
|
+
Privacy.make = (service) => Privacy.of(service);
|
|
9
|
+
})(Privacy || (Privacy = {}));
|
|
10
|
+
export const PrivacyTestLive = Layer.succeed(Privacy)(Privacy.make({
|
|
8
11
|
emailHash: (email) => Effect.succeed(EmailHash(`test:email:${email}`)),
|
|
9
12
|
ipHash: (ip) => Effect.succeed(IpHash(`test:ip:${ip}`)),
|
|
10
13
|
userAgentHash: (userAgent) => Effect.succeed(UserAgentHash(`test:user-agent:${userAgent}`))
|
|
11
|
-
});
|
|
14
|
+
}));
|
|
12
15
|
//# sourceMappingURL=Privacy.js.map
|
package/dist/Privacy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Privacy.js","sourceRoot":"","sources":["../src/Privacy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAKnE,MAAM,OAAO,YAAa,SAAQ,IAAI,CAAC,WAAW,CAAC,cAAc,CAI/D;CAAG;AAQL,MAAM,OAAO,OAAQ,SAAQ,OAAO,CAAC,OAAO,EAA2B,CAAC,cAAc,CAAC;CAAG;AAE1F,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Privacy.js","sourceRoot":"","sources":["../src/Privacy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAKnE,MAAM,OAAO,YAAa,SAAQ,IAAI,CAAC,WAAW,CAAC,cAAc,CAI/D;CAAG;AAQL,MAAM,OAAO,OAAQ,SAAQ,OAAO,CAAC,OAAO,EAA2B,CAAC,cAAc,CAAC;CAAG;AAE1F,WAAiB,OAAO;IACT,YAAI,GAAG,CAAC,OAAuB,EAAkB,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;AACtF,CAAC,EAFgB,OAAO,KAAP,OAAO,QAEvB;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACjE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,KAAK,EAAE,CAAC,CAAC;IACtE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACvD,aAAa,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,mBAAmB,SAAS,EAAE,CAAC,CAAC;CAC5F,CAAC,CAAC,CAAA"}
|
package/dist/Sessions.d.ts
CHANGED
|
@@ -103,6 +103,9 @@ export interface SessionsService {
|
|
|
103
103
|
declare const Sessions_base: Context.ServiceClass<Sessions, "auth/Sessions", SessionsService>;
|
|
104
104
|
export declare class Sessions extends Sessions_base {
|
|
105
105
|
}
|
|
106
|
+
export declare namespace Sessions {
|
|
107
|
+
const make: (service: SessionsService) => SessionsService;
|
|
108
|
+
}
|
|
106
109
|
export interface SessionCookieService {
|
|
107
110
|
readonly read: (request: Request) => Effect.Effect<Option.Option<SessionToken>, SessionValidateError>;
|
|
108
111
|
readonly commit: (issued: IssuedSession) => Effect.Effect<string, SessionCreateError>;
|
|
@@ -111,11 +114,20 @@ export interface SessionCookieService {
|
|
|
111
114
|
declare const SessionCookie_base: Context.ServiceClass<SessionCookie, "auth/SessionCookie", SessionCookieService>;
|
|
112
115
|
export declare class SessionCookie extends SessionCookie_base {
|
|
113
116
|
}
|
|
117
|
+
export declare namespace SessionCookie {
|
|
118
|
+
const make: (service: SessionCookieService) => SessionCookieService;
|
|
119
|
+
}
|
|
114
120
|
declare const CurrentSession_base: Context.ServiceClass<CurrentSession, "auth/CurrentSession", CurrentSessionShape>;
|
|
115
121
|
export declare class CurrentSession extends CurrentSession_base {
|
|
116
122
|
}
|
|
123
|
+
export declare namespace CurrentSession {
|
|
124
|
+
const make: (service: CurrentSessionShape) => CurrentSessionShape;
|
|
125
|
+
}
|
|
117
126
|
declare const CurrentActor_base: Context.ServiceClass<CurrentActor, "auth/CurrentActor", CurrentActorShape>;
|
|
118
127
|
export declare class CurrentActor extends CurrentActor_base {
|
|
119
128
|
}
|
|
129
|
+
export declare namespace CurrentActor {
|
|
130
|
+
const make: (service: CurrentActorShape) => CurrentActorShape;
|
|
131
|
+
}
|
|
120
132
|
export {};
|
|
121
133
|
//# sourceMappingURL=Sessions.d.ts.map
|
package/dist/Sessions.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sessions.d.ts","sourceRoot":"","sources":["../src/Sessions.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Sessions.d.ts","sourceRoot":"","sources":["../src/Sessions.ts"],"names":[],"mappings":"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"}
|
package/dist/Sessions.js
CHANGED
|
@@ -11,10 +11,22 @@ export class SessionRevokeError extends Data.TaggedError("SessionRevokeError") {
|
|
|
11
11
|
}
|
|
12
12
|
export class Sessions extends Context.Service()("auth/Sessions") {
|
|
13
13
|
}
|
|
14
|
+
(function (Sessions) {
|
|
15
|
+
Sessions.make = (service) => Sessions.of(service);
|
|
16
|
+
})(Sessions || (Sessions = {}));
|
|
14
17
|
export class SessionCookie extends Context.Service()("auth/SessionCookie") {
|
|
15
18
|
}
|
|
19
|
+
(function (SessionCookie) {
|
|
20
|
+
SessionCookie.make = (service) => SessionCookie.of(service);
|
|
21
|
+
})(SessionCookie || (SessionCookie = {}));
|
|
16
22
|
export class CurrentSession extends Context.Service()("auth/CurrentSession") {
|
|
17
23
|
}
|
|
24
|
+
(function (CurrentSession) {
|
|
25
|
+
CurrentSession.make = (service) => CurrentSession.of(service);
|
|
26
|
+
})(CurrentSession || (CurrentSession = {}));
|
|
18
27
|
export class CurrentActor extends Context.Service()("auth/CurrentActor") {
|
|
19
28
|
}
|
|
29
|
+
(function (CurrentActor) {
|
|
30
|
+
CurrentActor.make = (service) => CurrentActor.of(service);
|
|
31
|
+
})(CurrentActor || (CurrentActor = {}));
|
|
20
32
|
//# sourceMappingURL=Sessions.js.map
|
package/dist/Sessions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sessions.js","sourceRoot":"","sources":["../src/Sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AA0E9C,MAAM,OAAO,kBAAmB,SAAQ,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAG3E;CAAG;AAEL,MAAM,OAAO,oBAAqB,SAAQ,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAG/E;CAAG;AAEL,MAAM,OAAO,mBAAoB,SAAQ,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAG7E;CAAG;AAEL,MAAM,OAAO,kBAAmB,SAAQ,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAG3E;CAAG;AAEL,MAAM,OAAO,kBAAmB,SAAQ,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAG3E;CAAG;AAkBL,MAAM,OAAO,QAAS,SAAQ,OAAO,CAAC,OAAO,EAA6B,CAAC,eAAe,CAAC;CAAG;
|
|
1
|
+
{"version":3,"file":"Sessions.js","sourceRoot":"","sources":["../src/Sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AA0E9C,MAAM,OAAO,kBAAmB,SAAQ,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAG3E;CAAG;AAEL,MAAM,OAAO,oBAAqB,SAAQ,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAG/E;CAAG;AAEL,MAAM,OAAO,mBAAoB,SAAQ,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAG7E;CAAG;AAEL,MAAM,OAAO,kBAAmB,SAAQ,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAG3E;CAAG;AAEL,MAAM,OAAO,kBAAmB,SAAQ,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAG3E;CAAG;AAkBL,MAAM,OAAO,QAAS,SAAQ,OAAO,CAAC,OAAO,EAA6B,CAAC,eAAe,CAAC;CAAG;AAE9F,WAAiB,QAAQ;IACV,aAAI,GAAG,CAAC,OAAwB,EAAmB,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;AACzF,CAAC,EAFgB,QAAQ,KAAR,QAAQ,QAExB;AAQD,MAAM,OAAO,aAAc,SAAQ,OAAO,CAAC,OAAO,EAAuC,CAAC,oBAAoB,CAAC;CAAG;AAElH,WAAiB,aAAa;IACf,kBAAI,GAAG,CAAC,OAA6B,EAAwB,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;AACxG,CAAC,EAFgB,aAAa,KAAb,aAAa,QAE7B;AAED,MAAM,OAAO,cAAe,SAAQ,OAAO,CAAC,OAAO,EAAuC,CAAC,qBAAqB,CAAC;CAAG;AAEpH,WAAiB,cAAc;IAChB,mBAAI,GAAG,CAAC,OAA4B,EAAuB,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;AACvG,CAAC,EAFgB,cAAc,KAAd,cAAc,QAE9B;AAED,MAAM,OAAO,YAAa,SAAQ,OAAO,CAAC,OAAO,EAAmC,CAAC,mBAAmB,CAAC;CAAG;AAE5G,WAAiB,YAAY;IACd,iBAAI,GAAG,CAAC,OAA0B,EAAqB,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;AACjG,CAAC,EAFgB,YAAY,KAAZ,YAAY,QAE5B"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { Context, Effect } from "effect";
|
|
2
|
+
import type * as Option from "effect/Option";
|
|
3
|
+
import type { ChallengeType } from "./Challenge.js";
|
|
4
|
+
import type { ChallengeId, SessionId, UnixMillis, UserId } from "./Identifiers.js";
|
|
5
|
+
import type { AuthAssuranceLevel, AuthMethodReference } from "./Sessions.js";
|
|
6
|
+
export type StorageEntity = "session" | "verification" | (string & {});
|
|
7
|
+
export type StorageOperation = "find" | "insert" | "update" | "delete" | "consume" | (string & {});
|
|
8
|
+
declare const StorageError_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 & {
|
|
9
|
+
readonly _tag: "StorageError";
|
|
10
|
+
} & Readonly<A>;
|
|
11
|
+
export declare class StorageError extends StorageError_base<{
|
|
12
|
+
readonly entity: StorageEntity;
|
|
13
|
+
readonly operation: StorageOperation;
|
|
14
|
+
readonly message: string;
|
|
15
|
+
readonly cause?: unknown;
|
|
16
|
+
}> {
|
|
17
|
+
}
|
|
18
|
+
export declare namespace StorageError {
|
|
19
|
+
const fromUnknown: (entity: StorageEntity, operation: StorageOperation, cause: unknown, message?: string) => StorageError;
|
|
20
|
+
}
|
|
21
|
+
export interface NewSessionRow {
|
|
22
|
+
readonly id: SessionId;
|
|
23
|
+
readonly userId: UserId;
|
|
24
|
+
readonly secretHash: string;
|
|
25
|
+
readonly createdAt: UnixMillis;
|
|
26
|
+
readonly expiresAt: UnixMillis;
|
|
27
|
+
readonly authTime: UnixMillis;
|
|
28
|
+
readonly aal: AuthAssuranceLevel;
|
|
29
|
+
readonly amr: ReadonlyArray<AuthMethodReference>;
|
|
30
|
+
readonly mfaVerifiedAt?: UnixMillis;
|
|
31
|
+
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
32
|
+
}
|
|
33
|
+
export interface SessionRow extends NewSessionRow {
|
|
34
|
+
readonly revokedAt?: UnixMillis;
|
|
35
|
+
readonly lastSeenAt?: UnixMillis;
|
|
36
|
+
readonly rotatedAt?: UnixMillis;
|
|
37
|
+
}
|
|
38
|
+
export interface SessionRefreshStoreInput {
|
|
39
|
+
readonly sessionId: SessionId;
|
|
40
|
+
readonly expiresAt: UnixMillis;
|
|
41
|
+
readonly lastSeenAt?: UnixMillis;
|
|
42
|
+
}
|
|
43
|
+
export interface SessionRotateStoreInput {
|
|
44
|
+
readonly sessionId: SessionId;
|
|
45
|
+
readonly secretHash: string;
|
|
46
|
+
readonly rotatedAt: UnixMillis;
|
|
47
|
+
readonly expiresAt?: UnixMillis;
|
|
48
|
+
}
|
|
49
|
+
export interface SessionRevokeStoreInput {
|
|
50
|
+
readonly sessionId: SessionId;
|
|
51
|
+
readonly revokedAt: UnixMillis;
|
|
52
|
+
readonly reason?: string;
|
|
53
|
+
}
|
|
54
|
+
export interface SessionRevokeAllForUserStoreInput {
|
|
55
|
+
readonly userId: UserId;
|
|
56
|
+
readonly revokedAt: UnixMillis;
|
|
57
|
+
readonly reason?: string;
|
|
58
|
+
}
|
|
59
|
+
export interface SessionStoreService {
|
|
60
|
+
readonly findById: (id: SessionId) => Effect.Effect<Option.Option<SessionRow>, StorageError>;
|
|
61
|
+
readonly insert: (row: NewSessionRow) => Effect.Effect<void, StorageError>;
|
|
62
|
+
readonly refresh: (input: SessionRefreshStoreInput) => Effect.Effect<Option.Option<SessionRow>, StorageError>;
|
|
63
|
+
readonly rotate: (input: SessionRotateStoreInput) => Effect.Effect<Option.Option<SessionRow>, StorageError>;
|
|
64
|
+
readonly revoke: (input: SessionRevokeStoreInput) => Effect.Effect<void, StorageError>;
|
|
65
|
+
readonly revokeAllForUser: (input: SessionRevokeAllForUserStoreInput) => Effect.Effect<void, StorageError>;
|
|
66
|
+
}
|
|
67
|
+
declare const SessionStore_base: Context.ServiceClass<SessionStore, "auth/SessionStore", SessionStoreService>;
|
|
68
|
+
export declare class SessionStore extends SessionStore_base {
|
|
69
|
+
}
|
|
70
|
+
export declare namespace SessionStore {
|
|
71
|
+
const make: (service: SessionStoreService) => SessionStoreService;
|
|
72
|
+
}
|
|
73
|
+
export interface NewVerificationRow {
|
|
74
|
+
readonly id: ChallengeId;
|
|
75
|
+
readonly type: ChallengeType;
|
|
76
|
+
readonly subject: string;
|
|
77
|
+
readonly secretHash?: string;
|
|
78
|
+
readonly createdAt: UnixMillis;
|
|
79
|
+
readonly expiresAt: UnixMillis;
|
|
80
|
+
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
81
|
+
}
|
|
82
|
+
export interface VerificationRow extends NewVerificationRow {
|
|
83
|
+
readonly consumedAt?: UnixMillis;
|
|
84
|
+
}
|
|
85
|
+
export interface VerificationConsumeInput {
|
|
86
|
+
readonly id: ChallengeId;
|
|
87
|
+
readonly type?: ChallengeType;
|
|
88
|
+
readonly consumedAt: UnixMillis;
|
|
89
|
+
}
|
|
90
|
+
export interface VerificationDeleteExpiredInput {
|
|
91
|
+
readonly now: UnixMillis;
|
|
92
|
+
readonly limit?: number;
|
|
93
|
+
}
|
|
94
|
+
export interface VerificationStoreService {
|
|
95
|
+
readonly findById: (id: ChallengeId) => Effect.Effect<Option.Option<VerificationRow>, StorageError>;
|
|
96
|
+
readonly insert: (row: NewVerificationRow) => Effect.Effect<void, StorageError>;
|
|
97
|
+
readonly consume: (input: VerificationConsumeInput) => Effect.Effect<Option.Option<VerificationRow>, StorageError>;
|
|
98
|
+
readonly deleteExpired: (input: VerificationDeleteExpiredInput) => Effect.Effect<number, StorageError>;
|
|
99
|
+
}
|
|
100
|
+
declare const VerificationStore_base: Context.ServiceClass<VerificationStore, "auth/VerificationStore", VerificationStoreService>;
|
|
101
|
+
export declare class VerificationStore extends VerificationStore_base {
|
|
102
|
+
}
|
|
103
|
+
export declare namespace VerificationStore {
|
|
104
|
+
const make: (service: VerificationStoreService) => VerificationStoreService;
|
|
105
|
+
}
|
|
106
|
+
export {};
|
|
107
|
+
//# sourceMappingURL=Storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Storage.d.ts","sourceRoot":"","sources":["../src/Storage.ts"],"names":[],"mappings":"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"}
|
package/dist/Storage.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Context, Data, Effect } from "effect";
|
|
2
|
+
export class StorageError extends Data.TaggedError("StorageError") {
|
|
3
|
+
}
|
|
4
|
+
(function (StorageError) {
|
|
5
|
+
StorageError.fromUnknown = (entity, operation, cause, message = `${entity} ${operation} failed`) => new StorageError({ entity, operation, message, cause });
|
|
6
|
+
})(StorageError || (StorageError = {}));
|
|
7
|
+
export class SessionStore extends Context.Service()("auth/SessionStore") {
|
|
8
|
+
}
|
|
9
|
+
(function (SessionStore) {
|
|
10
|
+
SessionStore.make = (service) => SessionStore.of(service);
|
|
11
|
+
})(SessionStore || (SessionStore = {}));
|
|
12
|
+
export class VerificationStore extends Context.Service()("auth/VerificationStore") {
|
|
13
|
+
}
|
|
14
|
+
(function (VerificationStore) {
|
|
15
|
+
VerificationStore.make = (service) => VerificationStore.of(service);
|
|
16
|
+
})(VerificationStore || (VerificationStore = {}));
|
|
17
|
+
//# sourceMappingURL=Storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Storage.js","sourceRoot":"","sources":["../src/Storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAW9C,MAAM,OAAO,YAAa,SAAQ,IAAI,CAAC,WAAW,CAAC,cAAc,CAK/D;CAAG;AAEL,WAAiB,YAAY;IACd,wBAAW,GAAG,CACzB,MAAqB,EACrB,SAA2B,EAC3B,KAAc,EACd,OAAO,GAAG,GAAG,MAAM,IAAI,SAAS,SAAS,EAC3B,EAAE,CAAC,IAAI,YAAY,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;AAC5E,CAAC,EAPgB,YAAY,KAAZ,YAAY,QAO5B;AAuDD,MAAM,OAAO,YAAa,SAAQ,OAAO,CAAC,OAAO,EAAqC,CAAC,mBAAmB,CAAC;CAAG;AAE9G,WAAiB,YAAY;IACd,iBAAI,GAAG,CAAC,OAA4B,EAAuB,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;AACrG,CAAC,EAFgB,YAAY,KAAZ,YAAY,QAE5B;AAkCD,MAAM,OAAO,iBAAkB,SAAQ,OAAO,CAAC,OAAO,EAA+C,CACnG,wBAAwB,CACzB;CAAG;AAEJ,WAAiB,iBAAiB;IACnB,sBAAI,GAAG,CAAC,OAAiC,EAA4B,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;AACpH,CAAC,EAFgB,iBAAiB,KAAjB,iBAAiB,QAEjC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface AuthStorageMigration {
|
|
2
|
+
readonly id: string;
|
|
3
|
+
readonly sql: string;
|
|
4
|
+
}
|
|
5
|
+
export declare const authStorageMigration001: AuthStorageMigration;
|
|
6
|
+
export declare const authStorageMigrations: readonly [AuthStorageMigration];
|
|
7
|
+
//# sourceMappingURL=StorageMigrations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageMigrations.d.ts","sourceRoot":"","sources":["../src/StorageMigrations.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB;AAED,eAAO,MAAM,uBAAuB,EAAE,oBAkCrC,CAAA;AAED,eAAO,MAAM,qBAAqB,iCAAqC,CAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export const authStorageMigration001 = {
|
|
2
|
+
id: "0001_auth_storage",
|
|
3
|
+
sql: `create table if not exists auth_session (
|
|
4
|
+
id text primary key,
|
|
5
|
+
user_id text not null,
|
|
6
|
+
secret_hash text not null,
|
|
7
|
+
created_at integer not null,
|
|
8
|
+
expires_at integer not null,
|
|
9
|
+
auth_time integer not null,
|
|
10
|
+
aal text not null,
|
|
11
|
+
amr text not null,
|
|
12
|
+
mfa_verified_at integer,
|
|
13
|
+
metadata text,
|
|
14
|
+
revoked_at integer,
|
|
15
|
+
last_seen_at integer,
|
|
16
|
+
rotated_at integer
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
create index if not exists auth_session_user_id_idx on auth_session (user_id);
|
|
20
|
+
create index if not exists auth_session_expires_at_idx on auth_session (expires_at);
|
|
21
|
+
|
|
22
|
+
create table if not exists auth_verification (
|
|
23
|
+
id text primary key,
|
|
24
|
+
type text not null,
|
|
25
|
+
subject text not null,
|
|
26
|
+
secret_hash text,
|
|
27
|
+
created_at integer not null,
|
|
28
|
+
expires_at integer not null,
|
|
29
|
+
metadata text,
|
|
30
|
+
consumed_at integer
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
create index if not exists auth_verification_type_subject_idx on auth_verification (type, subject);
|
|
34
|
+
create index if not exists auth_verification_expires_at_idx on auth_verification (expires_at);`
|
|
35
|
+
};
|
|
36
|
+
export const authStorageMigrations = [authStorageMigration001];
|
|
37
|
+
//# sourceMappingURL=StorageMigrations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageMigrations.js","sourceRoot":"","sources":["../src/StorageMigrations.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,uBAAuB,GAAyB;IAC3D,EAAE,EAAE,mBAAmB;IACvB,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+FA+BwF;CAC9F,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,uBAAuB,CAAU,CAAA"}
|
package/dist/WaitUntil.d.ts
CHANGED
|
@@ -13,6 +13,9 @@ export interface WaitUntilService {
|
|
|
13
13
|
declare const WaitUntil_base: Context.ServiceClass<WaitUntil, "runtime/WaitUntil", WaitUntilService>;
|
|
14
14
|
export declare class WaitUntil extends WaitUntil_base {
|
|
15
15
|
}
|
|
16
|
+
export declare namespace WaitUntil {
|
|
17
|
+
const make: (service: WaitUntilService) => WaitUntilService;
|
|
18
|
+
}
|
|
16
19
|
export declare const WaitUntilNoopLive: Layer.Layer<WaitUntil, never, never>;
|
|
17
20
|
export {};
|
|
18
21
|
//# sourceMappingURL=WaitUntil.d.ts.map
|
package/dist/WaitUntil.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WaitUntil.d.ts","sourceRoot":"","sources":["../src/WaitUntil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAQ,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;;;;AAErD,qBAAa,cAAe,SAAQ,oBAAmC;IACrE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CACzB,CAAC;CAAG;AAEL,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAA;CACxG;;AAED,qBAAa,SAAU,SAAQ,cAAmE;CAAG;AAErG,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"WaitUntil.d.ts","sourceRoot":"","sources":["../src/WaitUntil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAQ,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;;;;AAErD,qBAAa,cAAe,SAAQ,oBAAmC;IACrE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CACzB,CAAC;CAAG;AAEL,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAA;CACxG;;AAED,qBAAa,SAAU,SAAQ,cAAmE;CAAG;AAErG,yBAAiB,SAAS,CAAC;IAClB,MAAM,IAAI,GAAI,SAAS,gBAAgB,KAAG,gBAAyC,CAAA;CAC3F;AAED,eAAO,MAAM,iBAAiB,sCAE3B,CAAA"}
|
package/dist/WaitUntil.js
CHANGED
|
@@ -3,7 +3,10 @@ export class WaitUntilError extends Data.TaggedError("WaitUntilError") {
|
|
|
3
3
|
}
|
|
4
4
|
export class WaitUntil extends Context.Service()("runtime/WaitUntil") {
|
|
5
5
|
}
|
|
6
|
-
|
|
6
|
+
(function (WaitUntil) {
|
|
7
|
+
WaitUntil.make = (service) => WaitUntil.of(service);
|
|
8
|
+
})(WaitUntil || (WaitUntil = {}));
|
|
9
|
+
export const WaitUntilNoopLive = Layer.succeed(WaitUntil)(WaitUntil.make({
|
|
7
10
|
waitUntil: (_effect) => Effect.asVoid(Effect.context())
|
|
8
|
-
});
|
|
11
|
+
}));
|
|
9
12
|
//# sourceMappingURL=WaitUntil.js.map
|
package/dist/WaitUntil.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WaitUntil.js","sourceRoot":"","sources":["../src/WaitUntil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAErD,MAAM,OAAO,cAAe,SAAQ,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAGnE;CAAG;AAML,MAAM,OAAO,SAAU,SAAQ,OAAO,CAAC,OAAO,EAA+B,CAAC,mBAAmB,CAAC;CAAG;AAErG,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"WaitUntil.js","sourceRoot":"","sources":["../src/WaitUntil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAErD,MAAM,OAAO,cAAe,SAAQ,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAGnE;CAAG;AAML,MAAM,OAAO,SAAU,SAAQ,OAAO,CAAC,OAAO,EAA+B,CAAC,mBAAmB,CAAC;CAAG;AAErG,WAAiB,SAAS;IACX,cAAI,GAAG,CAAC,OAAyB,EAAoB,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;AAC5F,CAAC,EAFgB,SAAS,KAAT,SAAS,QAEzB;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;IACvE,SAAS,EAAE,CAAU,OAA+B,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAK,CAAC;CAC5F,CAAC,CAAC,CAAA"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,EAAG,mBAA4B,CAAA;AAEvD,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,EAAG,mBAA4B,CAAA;AAEvD,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,mBAA4B,CAAA;AAEvD,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,mBAA4B,CAAA;AAEvD,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
create table if not exists auth_session (
|
|
2
|
+
id text primary key,
|
|
3
|
+
user_id text not null,
|
|
4
|
+
secret_hash text not null,
|
|
5
|
+
created_at integer not null,
|
|
6
|
+
expires_at integer not null,
|
|
7
|
+
auth_time integer not null,
|
|
8
|
+
aal text not null,
|
|
9
|
+
amr text not null,
|
|
10
|
+
mfa_verified_at integer,
|
|
11
|
+
metadata text,
|
|
12
|
+
revoked_at integer,
|
|
13
|
+
last_seen_at integer,
|
|
14
|
+
rotated_at integer
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
create index if not exists auth_session_user_id_idx on auth_session (user_id);
|
|
18
|
+
create index if not exists auth_session_expires_at_idx on auth_session (expires_at);
|
|
19
|
+
|
|
20
|
+
create table if not exists auth_verification (
|
|
21
|
+
id text primary key,
|
|
22
|
+
type text not null,
|
|
23
|
+
subject text not null,
|
|
24
|
+
secret_hash text,
|
|
25
|
+
created_at integer not null,
|
|
26
|
+
expires_at integer not null,
|
|
27
|
+
metadata text,
|
|
28
|
+
consumed_at integer
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
create index if not exists auth_verification_type_subject_idx on auth_verification (type, subject);
|
|
32
|
+
create index if not exists auth_verification_expires_at_idx on auth_verification (expires_at);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-auth/core",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.1",
|
|
4
4
|
"description": "Composable Effect-first authentication primitives.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -29,6 +29,10 @@
|
|
|
29
29
|
"types": "./dist/Crypto.d.ts",
|
|
30
30
|
"default": "./dist/Crypto.js"
|
|
31
31
|
},
|
|
32
|
+
"./D1Kysely": {
|
|
33
|
+
"types": "./dist/D1Kysely.d.ts",
|
|
34
|
+
"default": "./dist/D1Kysely.js"
|
|
35
|
+
},
|
|
32
36
|
"./WaitUntil": {
|
|
33
37
|
"types": "./dist/WaitUntil.d.ts",
|
|
34
38
|
"default": "./dist/WaitUntil.js"
|
|
@@ -45,10 +49,22 @@
|
|
|
45
49
|
"types": "./dist/Privacy.d.ts",
|
|
46
50
|
"default": "./dist/Privacy.js"
|
|
47
51
|
},
|
|
52
|
+
"./KyselyStorage": {
|
|
53
|
+
"types": "./dist/KyselyStorage.d.ts",
|
|
54
|
+
"default": "./dist/KyselyStorage.js"
|
|
55
|
+
},
|
|
48
56
|
"./Sessions": {
|
|
49
57
|
"types": "./dist/Sessions.d.ts",
|
|
50
58
|
"default": "./dist/Sessions.js"
|
|
51
59
|
},
|
|
60
|
+
"./Storage": {
|
|
61
|
+
"types": "./dist/Storage.d.ts",
|
|
62
|
+
"default": "./dist/Storage.js"
|
|
63
|
+
},
|
|
64
|
+
"./StorageMigrations": {
|
|
65
|
+
"types": "./dist/StorageMigrations.d.ts",
|
|
66
|
+
"default": "./dist/StorageMigrations.js"
|
|
67
|
+
},
|
|
52
68
|
"./Testing": {
|
|
53
69
|
"types": "./dist/Testing.d.ts",
|
|
54
70
|
"default": "./dist/Testing.js"
|
|
@@ -61,15 +77,24 @@
|
|
|
61
77
|
"dist/**/*.d.ts",
|
|
62
78
|
"dist/**/*.d.ts.map",
|
|
63
79
|
"dist/**/*.js",
|
|
64
|
-
"dist/**/*.js.map"
|
|
80
|
+
"dist/**/*.js.map",
|
|
81
|
+
"migrations/**/*.sql"
|
|
65
82
|
],
|
|
66
83
|
"peerDependencies": {
|
|
67
|
-
"effect": "^4.0.0-beta.67"
|
|
84
|
+
"effect": "^4.0.0-beta.67",
|
|
85
|
+
"kysely": "^0.29.2"
|
|
86
|
+
},
|
|
87
|
+
"peerDependenciesMeta": {
|
|
88
|
+
"kysely": {
|
|
89
|
+
"optional": true
|
|
90
|
+
}
|
|
68
91
|
},
|
|
69
92
|
"scripts": {
|
|
70
93
|
"build": "tsc -b",
|
|
71
|
-
"check": "tsc -b --pretty false &&
|
|
72
|
-
"
|
|
94
|
+
"check": "tsc -b --pretty false && bun run type-test && bun run test-type",
|
|
95
|
+
"prepack": "rm -rf dist && bun run build",
|
|
96
|
+
"test": "bun run build && bun --bun vitest run --config ../../vitest.config.ts",
|
|
97
|
+
"test-type": "tsc -p tsconfig.test.json --pretty false",
|
|
73
98
|
"type-test": "tsc -p tsconfig.type-tests.json --pretty false"
|
|
74
99
|
}
|
|
75
|
-
}
|
|
100
|
+
}
|
package/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 Effect Auth contributors
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|