@effect-auth/core 0.1.0-alpha.0 → 0.1.0-alpha.10
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 +774 -36
- package/dist/ApiKey.d.ts +207 -0
- package/dist/ApiKey.d.ts.map +1 -0
- package/dist/ApiKey.js +275 -0
- package/dist/ApiKey.js.map +1 -0
- package/dist/AuditLog.d.ts +278 -1
- package/dist/AuditLog.d.ts.map +1 -1
- package/dist/AuditLog.js +217 -2
- package/dist/AuditLog.js.map +1 -1
- package/dist/AuthConfig.d.ts +42 -0
- package/dist/AuthConfig.d.ts.map +1 -0
- package/dist/AuthConfig.js +43 -0
- package/dist/AuthConfig.js.map +1 -0
- package/dist/AuthFlow.d.ts +465 -36
- package/dist/AuthFlow.d.ts.map +1 -1
- package/dist/AuthFlow.js +660 -5
- package/dist/AuthFlow.js.map +1 -1
- package/dist/AuthKernel.d.ts +3 -0
- package/dist/AuthKernel.d.ts.map +1 -0
- package/dist/AuthKernel.js +9 -0
- package/dist/AuthKernel.js.map +1 -0
- package/dist/Challenge.d.ts +27 -4
- package/dist/Challenge.d.ts.map +1 -1
- package/dist/Challenge.js +170 -1
- package/dist/Challenge.js.map +1 -1
- package/dist/Client.d.ts +378 -0
- package/dist/Client.d.ts.map +1 -0
- package/dist/Client.js +768 -0
- package/dist/Client.js.map +1 -0
- package/dist/Crypto.d.ts +9 -1
- package/dist/Crypto.d.ts.map +1 -1
- package/dist/Crypto.js +65 -1
- package/dist/Crypto.js.map +1 -1
- package/dist/EffectQbSqliteStorage.d.ts +600 -0
- package/dist/EffectQbSqliteStorage.d.ts.map +1 -0
- package/dist/EffectQbSqliteStorage.js +1637 -0
- package/dist/EffectQbSqliteStorage.js.map +1 -0
- package/dist/EmailOtp.d.ts +120 -0
- package/dist/EmailOtp.d.ts.map +1 -0
- package/dist/EmailOtp.js +286 -0
- package/dist/EmailOtp.js.map +1 -0
- package/dist/EmailVerification.d.ts +121 -0
- package/dist/EmailVerification.d.ts.map +1 -0
- package/dist/EmailVerification.js +200 -0
- package/dist/EmailVerification.js.map +1 -0
- package/dist/HttpApi/Api.d.ts +1956 -0
- package/dist/HttpApi/Api.d.ts.map +1 -0
- package/dist/HttpApi/Api.js +2325 -0
- package/dist/HttpApi/Api.js.map +1 -0
- package/dist/HttpApi/Endpoints.d.ts +945 -0
- package/dist/HttpApi/Endpoints.d.ts.map +1 -0
- package/dist/HttpApi/Endpoints.js +373 -0
- package/dist/HttpApi/Endpoints.js.map +1 -0
- package/dist/HttpApi/Errors.d.ts +82 -0
- package/dist/HttpApi/Errors.d.ts.map +1 -0
- package/dist/HttpApi/Errors.js +184 -0
- package/dist/HttpApi/Errors.js.map +1 -0
- package/dist/HttpApi/Schemas.d.ts +1113 -0
- package/dist/HttpApi/Schemas.d.ts.map +1 -0
- package/dist/HttpApi/Schemas.js +734 -0
- package/dist/HttpApi/Schemas.js.map +1 -0
- package/dist/HttpApi/Security.d.ts +159 -0
- package/dist/HttpApi/Security.d.ts.map +1 -0
- package/dist/HttpApi/Security.js +530 -0
- package/dist/HttpApi/Security.js.map +1 -0
- package/dist/HttpApi/Transport.d.ts +65 -0
- package/dist/HttpApi/Transport.d.ts.map +1 -0
- package/dist/HttpApi/Transport.js +311 -0
- package/dist/HttpApi/Transport.js.map +1 -0
- package/dist/HttpApi/index.d.ts +8 -0
- package/dist/HttpApi/index.d.ts.map +1 -0
- package/dist/HttpApi/index.js +7 -0
- package/dist/HttpApi/index.js.map +1 -0
- package/dist/HttpApi.d.ts +2 -0
- package/dist/HttpApi.d.ts.map +1 -0
- package/dist/HttpApi.js +2 -0
- package/dist/HttpApi.js.map +1 -0
- package/dist/Identifiers.d.ts.map +1 -1
- package/dist/Identifiers.js.map +1 -1
- package/dist/Internal.d.ts +7 -0
- package/dist/Internal.d.ts.map +1 -0
- package/dist/Internal.js +12 -0
- package/dist/Internal.js.map +1 -0
- package/dist/Jwt.d.ts +271 -0
- package/dist/Jwt.d.ts.map +1 -0
- package/dist/Jwt.js +512 -0
- package/dist/Jwt.js.map +1 -0
- package/dist/LoginApproval.d.ts +314 -0
- package/dist/LoginApproval.d.ts.map +1 -0
- package/dist/LoginApproval.js +551 -0
- package/dist/LoginApproval.js.map +1 -0
- package/dist/LoginNotification.d.ts +183 -0
- package/dist/LoginNotification.d.ts.map +1 -0
- package/dist/LoginNotification.js +329 -0
- package/dist/LoginNotification.js.map +1 -0
- package/dist/LoginRisk.d.ts +73 -0
- package/dist/LoginRisk.d.ts.map +1 -0
- package/dist/LoginRisk.js +57 -0
- package/dist/LoginRisk.js.map +1 -0
- package/dist/MagicLink.d.ts +85 -0
- package/dist/MagicLink.d.ts.map +1 -0
- package/dist/MagicLink.js +206 -0
- package/dist/MagicLink.js.map +1 -0
- package/dist/Mailer.d.ts +147 -0
- package/dist/Mailer.d.ts.map +1 -0
- package/dist/Mailer.js +208 -0
- package/dist/Mailer.js.map +1 -0
- package/dist/OAuth.d.ts +934 -0
- package/dist/OAuth.d.ts.map +1 -0
- package/dist/OAuth.js +1661 -0
- package/dist/OAuth.js.map +1 -0
- package/dist/Passkey.d.ts +334 -0
- package/dist/Passkey.d.ts.map +1 -0
- package/dist/Passkey.js +422 -0
- package/dist/Passkey.js.map +1 -0
- package/dist/PasskeySimpleWebAuthn.d.ts +11 -0
- package/dist/PasskeySimpleWebAuthn.d.ts.map +1 -0
- package/dist/PasskeySimpleWebAuthn.js +181 -0
- package/dist/PasskeySimpleWebAuthn.js.map +1 -0
- package/dist/Password.d.ts +237 -0
- package/dist/Password.d.ts.map +1 -0
- package/dist/Password.js +641 -0
- package/dist/Password.js.map +1 -0
- package/dist/Policy.d.ts +7 -4
- package/dist/Policy.d.ts.map +1 -1
- package/dist/Policy.js +28 -5
- package/dist/Policy.js.map +1 -1
- package/dist/Privacy.d.ts +18 -0
- package/dist/Privacy.d.ts.map +1 -1
- package/dist/Privacy.js +63 -3
- package/dist/Privacy.js.map +1 -1
- package/dist/RateLimiter.d.ts +104 -0
- package/dist/RateLimiter.d.ts.map +1 -0
- package/dist/RateLimiter.js +118 -0
- package/dist/RateLimiter.js.map +1 -0
- package/dist/RecoveryCode.d.ts +169 -0
- package/dist/RecoveryCode.d.ts.map +1 -0
- package/dist/RecoveryCode.js +299 -0
- package/dist/RecoveryCode.js.map +1 -0
- package/dist/RefreshToken.d.ts +222 -0
- package/dist/RefreshToken.d.ts.map +1 -0
- package/dist/RefreshToken.js +342 -0
- package/dist/RefreshToken.js.map +1 -0
- package/dist/SecurityTimeline.d.ts +72 -0
- package/dist/SecurityTimeline.d.ts.map +1 -0
- package/dist/SecurityTimeline.js +386 -0
- package/dist/SecurityTimeline.js.map +1 -0
- package/dist/Sessions.d.ts +135 -11
- package/dist/Sessions.d.ts.map +1 -1
- package/dist/Sessions.js +546 -1
- package/dist/Sessions.js.map +1 -1
- package/dist/StepUp.d.ts +44 -0
- package/dist/StepUp.d.ts.map +1 -0
- package/dist/StepUp.js +82 -0
- package/dist/StepUp.js.map +1 -0
- package/dist/Storage.d.ts +175 -0
- package/dist/Storage.d.ts.map +1 -0
- package/dist/Storage.js +27 -0
- package/dist/Storage.js.map +1 -0
- package/dist/StorageMigrations.d.ts +19 -0
- package/dist/StorageMigrations.d.ts.map +1 -0
- package/dist/StorageMigrations.js +291 -0
- package/dist/StorageMigrations.js.map +1 -0
- package/dist/Testing.d.ts +9 -1
- package/dist/Testing.d.ts.map +1 -1
- package/dist/Testing.js +30 -2
- package/dist/Testing.js.map +1 -1
- package/dist/Totp.d.ts +220 -0
- package/dist/Totp.d.ts.map +1 -0
- package/dist/Totp.js +477 -0
- package/dist/Totp.js.map +1 -0
- package/dist/TrustedDevice.d.ts +127 -0
- package/dist/TrustedDevice.d.ts.map +1 -0
- package/dist/TrustedDevice.js +252 -0
- package/dist/TrustedDevice.js.map +1 -0
- package/dist/WaitUntil.d.ts +3 -0
- package/dist/WaitUntil.d.ts.map +1 -1
- package/dist/WaitUntil.js +6 -3
- package/dist/WaitUntil.js.map +1 -1
- package/dist/Webhook.d.ts +72 -0
- package/dist/Webhook.d.ts.map +1 -0
- package/dist/Webhook.js +82 -0
- package/dist/Webhook.js.map +1 -0
- package/dist/alchemy/cloudflare/Email.d.ts +25 -0
- package/dist/alchemy/cloudflare/Email.d.ts.map +1 -0
- package/dist/alchemy/cloudflare/Email.js +117 -0
- package/dist/alchemy/cloudflare/Email.js.map +1 -0
- package/dist/alchemy/cloudflare/RateLimitDurableObject.d.ts +34 -0
- package/dist/alchemy/cloudflare/RateLimitDurableObject.d.ts.map +1 -0
- package/dist/alchemy/cloudflare/RateLimitDurableObject.js +30 -0
- package/dist/alchemy/cloudflare/RateLimitDurableObject.js.map +1 -0
- package/dist/cloudflare/Email.d.ts +25 -0
- package/dist/cloudflare/Email.d.ts.map +1 -0
- package/dist/cloudflare/Email.js +153 -0
- package/dist/cloudflare/Email.js.map +1 -0
- package/dist/cloudflare/RateLimitDurableObject.d.ts +50 -0
- package/dist/cloudflare/RateLimitDurableObject.d.ts.map +1 -0
- package/dist/cloudflare/RateLimitDurableObject.js +51 -0
- package/dist/cloudflare/RateLimitDurableObject.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/RateLimitDurableObject.d.ts +32 -0
- package/dist/internal/RateLimitDurableObject.d.ts.map +1 -0
- package/dist/internal/RateLimitDurableObject.js +80 -0
- package/dist/internal/RateLimitDurableObject.js.map +1 -0
- package/migrations/0001_auth_storage.sql +32 -0
- package/migrations/0002_auth_password.sql +25 -0
- package/migrations/0003_auth_login_approval_review.sql +22 -0
- package/migrations/0004_auth_trusted_device.sql +12 -0
- package/migrations/0005_auth_passkey.sql +17 -0
- package/migrations/0006_auth_totp_factor.sql +17 -0
- package/migrations/0007_auth_recovery_code.sql +13 -0
- package/migrations/0008_auth_api_key.sql +17 -0
- package/migrations/0009_auth_refresh_token.sql +21 -0
- package/migrations/0010_auth_jwt_revocation.sql +8 -0
- package/migrations/0011_auth_oauth_account.sql +16 -0
- package/migrations/0012_auth_oauth_provider_token_vault.sql +20 -0
- package/migrations/0013_auth_security_timeline.sql +16 -0
- package/package.json +161 -16
- package/LICENSE +0 -21
package/dist/Sessions.d.ts
CHANGED
|
@@ -1,18 +1,33 @@
|
|
|
1
|
-
import { Context, Effect } from "effect";
|
|
2
|
-
import type * as
|
|
3
|
-
import
|
|
1
|
+
import { Context, Duration, Effect, Layer } from "effect";
|
|
2
|
+
import type * as OptionTypes from "effect/Option";
|
|
3
|
+
import { AuthSecrets } from "./AuthConfig.js";
|
|
4
|
+
import { Crypto } from "./Crypto.js";
|
|
5
|
+
import type { CryptoKey, CryptoService } from "./Crypto.js";
|
|
6
|
+
import { SessionId, SessionToken, UnixMillis } from "./Identifiers.js";
|
|
7
|
+
import type { UserId } from "./Identifiers.js";
|
|
8
|
+
import { SessionStore } from "./Storage.js";
|
|
9
|
+
import type { SessionStoreService } from "./Storage.js";
|
|
4
10
|
export type AuthAssuranceLevel = "aal1" | "aal2" | "aal3";
|
|
5
11
|
export type AuthMethodReference = "pwd" | "otp" | "email" | "magic_link" | "passkey" | "oauth" | "totp" | "backup_code" | (string & {});
|
|
12
|
+
export type SessionRequirement = "email_verification" | (string & {});
|
|
13
|
+
export declare const sessionRequestMetadataKey: "__effectAuthRequest";
|
|
14
|
+
export interface SessionClaims {
|
|
15
|
+
readonly emailVerified?: boolean;
|
|
16
|
+
readonly requirements?: readonly SessionRequirement[];
|
|
17
|
+
}
|
|
6
18
|
export interface SessionTtlPolicy {
|
|
7
|
-
readonly
|
|
8
|
-
readonly
|
|
9
|
-
readonly
|
|
19
|
+
readonly idleTtl: Duration.Duration;
|
|
20
|
+
readonly absoluteTtl: Duration.Duration;
|
|
21
|
+
readonly refreshAfter: Duration.Duration;
|
|
10
22
|
}
|
|
23
|
+
export declare const defaultSessionTtlPolicy: SessionTtlPolicy;
|
|
11
24
|
export interface SessionCreateInput {
|
|
12
25
|
readonly userId: UserId;
|
|
13
26
|
readonly method: string;
|
|
14
|
-
readonly amr:
|
|
27
|
+
readonly amr: readonly AuthMethodReference[];
|
|
15
28
|
readonly aal: AuthAssuranceLevel;
|
|
29
|
+
readonly claims?: SessionClaims;
|
|
30
|
+
readonly mfaVerifiedAt?: UnixMillis;
|
|
16
31
|
readonly now?: UnixMillis;
|
|
17
32
|
readonly ttl?: SessionTtlPolicy;
|
|
18
33
|
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
@@ -24,7 +39,9 @@ export interface IssuedSession {
|
|
|
24
39
|
readonly authTime: UnixMillis;
|
|
25
40
|
readonly expiresAt: UnixMillis;
|
|
26
41
|
readonly aal: AuthAssuranceLevel;
|
|
27
|
-
readonly amr:
|
|
42
|
+
readonly amr: readonly AuthMethodReference[];
|
|
43
|
+
readonly mfaVerifiedAt?: UnixMillis;
|
|
44
|
+
readonly claims?: SessionClaims;
|
|
28
45
|
}
|
|
29
46
|
export interface CurrentSessionShape {
|
|
30
47
|
readonly sessionId: SessionId;
|
|
@@ -32,12 +49,27 @@ export interface CurrentSessionShape {
|
|
|
32
49
|
readonly authTime: UnixMillis;
|
|
33
50
|
readonly expiresAt: UnixMillis;
|
|
34
51
|
readonly aal: AuthAssuranceLevel;
|
|
35
|
-
readonly amr:
|
|
52
|
+
readonly amr: readonly AuthMethodReference[];
|
|
53
|
+
readonly mfaVerifiedAt?: UnixMillis;
|
|
54
|
+
readonly claims?: SessionClaims;
|
|
36
55
|
}
|
|
37
56
|
export interface CurrentActorShape {
|
|
38
57
|
readonly userId: UserId;
|
|
39
58
|
readonly sessionId: SessionId;
|
|
40
59
|
}
|
|
60
|
+
export interface SessionInfoShape {
|
|
61
|
+
readonly sessionId: SessionId;
|
|
62
|
+
readonly userId: UserId;
|
|
63
|
+
readonly createdAt: UnixMillis;
|
|
64
|
+
readonly authTime: UnixMillis;
|
|
65
|
+
readonly lastSeenAt?: UnixMillis;
|
|
66
|
+
readonly expiresAt: UnixMillis;
|
|
67
|
+
readonly aal: AuthAssuranceLevel;
|
|
68
|
+
readonly amr: readonly AuthMethodReference[];
|
|
69
|
+
readonly mfaVerifiedAt?: UnixMillis;
|
|
70
|
+
readonly claims?: SessionClaims;
|
|
71
|
+
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
72
|
+
}
|
|
41
73
|
export interface ValidatedSession {
|
|
42
74
|
readonly issued: IssuedSession;
|
|
43
75
|
readonly currentSession: CurrentSessionShape;
|
|
@@ -47,10 +79,36 @@ export interface SessionRotateInput {
|
|
|
47
79
|
readonly sessionId: SessionId;
|
|
48
80
|
readonly reason: string;
|
|
49
81
|
}
|
|
82
|
+
export interface SessionUpdateClaimsInput {
|
|
83
|
+
readonly sessionId: SessionId;
|
|
84
|
+
readonly claims?: SessionClaims;
|
|
85
|
+
readonly aal?: AuthAssuranceLevel;
|
|
86
|
+
readonly amr?: readonly AuthMethodReference[];
|
|
87
|
+
readonly mfaVerifiedAt?: UnixMillis;
|
|
88
|
+
readonly reason?: string;
|
|
89
|
+
}
|
|
90
|
+
export interface SessionUpgradeInput {
|
|
91
|
+
readonly method: AuthMethodReference | readonly AuthMethodReference[];
|
|
92
|
+
readonly aal?: AuthAssuranceLevel;
|
|
93
|
+
readonly now?: UnixMillis;
|
|
94
|
+
readonly claims?: SessionClaims;
|
|
95
|
+
readonly reason?: string;
|
|
96
|
+
}
|
|
97
|
+
export interface SessionListForUserInput {
|
|
98
|
+
readonly userId: UserId;
|
|
99
|
+
}
|
|
50
100
|
export interface SessionRevokeInput {
|
|
51
101
|
readonly sessionId: SessionId;
|
|
52
102
|
readonly reason: string;
|
|
53
103
|
}
|
|
104
|
+
export interface SessionRevokeForUserInput extends SessionRevokeInput {
|
|
105
|
+
readonly userId: UserId;
|
|
106
|
+
}
|
|
107
|
+
export interface SessionRevokeAllForUserExceptInput {
|
|
108
|
+
readonly userId: UserId;
|
|
109
|
+
readonly exceptSessionId: SessionId;
|
|
110
|
+
readonly reason: string;
|
|
111
|
+
}
|
|
54
112
|
declare const SessionCreateError_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 & {
|
|
55
113
|
readonly _tag: "SessionCreateError";
|
|
56
114
|
} & Readonly<A>;
|
|
@@ -83,6 +141,22 @@ export declare class SessionRotateError extends SessionRotateError_base<{
|
|
|
83
141
|
readonly cause?: unknown;
|
|
84
142
|
}> {
|
|
85
143
|
}
|
|
144
|
+
declare const SessionUpdateClaimsError_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 & {
|
|
145
|
+
readonly _tag: "SessionUpdateClaimsError";
|
|
146
|
+
} & Readonly<A>;
|
|
147
|
+
export declare class SessionUpdateClaimsError extends SessionUpdateClaimsError_base<{
|
|
148
|
+
readonly message: string;
|
|
149
|
+
readonly cause?: unknown;
|
|
150
|
+
}> {
|
|
151
|
+
}
|
|
152
|
+
declare const SessionListError_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 & {
|
|
153
|
+
readonly _tag: "SessionListError";
|
|
154
|
+
} & Readonly<A>;
|
|
155
|
+
export declare class SessionListError extends SessionListError_base<{
|
|
156
|
+
readonly message: string;
|
|
157
|
+
readonly cause?: unknown;
|
|
158
|
+
}> {
|
|
159
|
+
}
|
|
86
160
|
declare const SessionRevokeError_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 & {
|
|
87
161
|
readonly _tag: "SessionRevokeError";
|
|
88
162
|
} & Readonly<A>;
|
|
@@ -91,31 +165,81 @@ export declare class SessionRevokeError extends SessionRevokeError_base<{
|
|
|
91
165
|
readonly cause?: unknown;
|
|
92
166
|
}> {
|
|
93
167
|
}
|
|
94
|
-
export type SessionError = SessionCreateError | SessionValidateError | SessionRefreshError | SessionRotateError | SessionRevokeError;
|
|
168
|
+
export type SessionError = SessionCreateError | SessionValidateError | SessionRefreshError | SessionRotateError | SessionUpdateClaimsError | SessionListError | SessionRevokeError;
|
|
95
169
|
export interface SessionsService {
|
|
96
170
|
readonly create: (input: SessionCreateInput) => Effect.Effect<IssuedSession, SessionCreateError>;
|
|
97
171
|
readonly validate: (token: SessionToken) => Effect.Effect<ValidatedSession, SessionValidateError>;
|
|
98
172
|
readonly refresh: (token: SessionToken) => Effect.Effect<IssuedSession, SessionRefreshError>;
|
|
99
173
|
readonly rotate: (input: SessionRotateInput) => Effect.Effect<IssuedSession, SessionRotateError>;
|
|
174
|
+
readonly updateClaims: (input: SessionUpdateClaimsInput) => Effect.Effect<CurrentSessionShape, SessionUpdateClaimsError>;
|
|
175
|
+
readonly listForUser: (input: SessionListForUserInput) => Effect.Effect<readonly SessionInfoShape[], SessionListError>;
|
|
100
176
|
readonly revoke: (input: SessionRevokeInput) => Effect.Effect<void, SessionRevokeError>;
|
|
177
|
+
readonly revokeForUser: (input: SessionRevokeForUserInput) => Effect.Effect<void, SessionRevokeError>;
|
|
101
178
|
readonly revokeAllForUser: (userId: UserId) => Effect.Effect<void, SessionRevokeError>;
|
|
179
|
+
readonly revokeAllForUserExcept: (input: SessionRevokeAllForUserExceptInput) => Effect.Effect<void, SessionRevokeError>;
|
|
102
180
|
}
|
|
103
181
|
declare const Sessions_base: Context.ServiceClass<Sessions, "auth/Sessions", SessionsService>;
|
|
104
182
|
export declare class Sessions extends Sessions_base {
|
|
105
183
|
}
|
|
184
|
+
export declare namespace Sessions {
|
|
185
|
+
const make: (service: SessionsService) => SessionsService;
|
|
186
|
+
}
|
|
187
|
+
export interface SessionsOptions {
|
|
188
|
+
readonly secret: CryptoKey;
|
|
189
|
+
readonly ttl?: SessionTtlPolicy;
|
|
190
|
+
readonly sessionIdBytes?: number;
|
|
191
|
+
readonly sessionSecretBytes?: number;
|
|
192
|
+
}
|
|
193
|
+
export interface SessionsDependencies extends SessionsOptions {
|
|
194
|
+
readonly crypto: CryptoService;
|
|
195
|
+
readonly sessionStore: SessionStoreService;
|
|
196
|
+
}
|
|
197
|
+
export declare const makeSessions: (dependencies: SessionsDependencies) => SessionsService;
|
|
198
|
+
export declare function SessionsLive(options: SessionsOptions): Layer.Layer<Sessions, never, Crypto | SessionStore>;
|
|
199
|
+
export declare function SessionsLive(): Layer.Layer<Sessions, never, Crypto | SessionStore | AuthSecrets>;
|
|
200
|
+
export declare const upgradeCurrentSession: (input: SessionUpgradeInput) => Effect.Effect<CurrentSessionShape, SessionUpdateClaimsError, CurrentSession | Sessions>;
|
|
106
201
|
export interface SessionCookieService {
|
|
107
|
-
readonly read: (request: Request) => Effect.Effect<
|
|
202
|
+
readonly read: (request: Request) => Effect.Effect<OptionTypes.Option<SessionToken>, SessionValidateError>;
|
|
108
203
|
readonly commit: (issued: IssuedSession) => Effect.Effect<string, SessionCreateError>;
|
|
109
204
|
readonly clear: Effect.Effect<string, SessionRevokeError>;
|
|
110
205
|
}
|
|
111
206
|
declare const SessionCookie_base: Context.ServiceClass<SessionCookie, "auth/SessionCookie", SessionCookieService>;
|
|
112
207
|
export declare class SessionCookie extends SessionCookie_base {
|
|
113
208
|
}
|
|
209
|
+
export declare namespace SessionCookie {
|
|
210
|
+
const make: (service: SessionCookieService) => SessionCookieService;
|
|
211
|
+
}
|
|
212
|
+
export type SessionCookieSameSite = "lax" | "strict" | "none";
|
|
213
|
+
export interface SessionCookieOptions {
|
|
214
|
+
readonly name?: string;
|
|
215
|
+
readonly secure?: boolean;
|
|
216
|
+
readonly httpOnly?: boolean;
|
|
217
|
+
readonly sameSite?: SessionCookieSameSite;
|
|
218
|
+
readonly path?: string;
|
|
219
|
+
readonly domain?: string;
|
|
220
|
+
}
|
|
221
|
+
export interface ResolvedSessionCookieOptions {
|
|
222
|
+
readonly name: string;
|
|
223
|
+
readonly secure: boolean;
|
|
224
|
+
readonly httpOnly: boolean;
|
|
225
|
+
readonly sameSite: SessionCookieSameSite;
|
|
226
|
+
readonly path: string;
|
|
227
|
+
readonly domain?: string;
|
|
228
|
+
}
|
|
229
|
+
export declare const defaultSessionCookieOptions: ResolvedSessionCookieOptions;
|
|
230
|
+
export declare const makeSessionCookie: (options?: SessionCookieOptions) => SessionCookieService;
|
|
231
|
+
export declare const SessionCookieLive: (options?: SessionCookieOptions) => Layer.Layer<SessionCookie, never, never>;
|
|
114
232
|
declare const CurrentSession_base: Context.ServiceClass<CurrentSession, "auth/CurrentSession", CurrentSessionShape>;
|
|
115
233
|
export declare class CurrentSession extends CurrentSession_base {
|
|
116
234
|
}
|
|
235
|
+
export declare namespace CurrentSession {
|
|
236
|
+
const make: (service: CurrentSessionShape) => CurrentSessionShape;
|
|
237
|
+
}
|
|
117
238
|
declare const CurrentActor_base: Context.ServiceClass<CurrentActor, "auth/CurrentActor", CurrentActorShape>;
|
|
118
239
|
export declare class CurrentActor extends CurrentActor_base {
|
|
119
240
|
}
|
|
241
|
+
export declare namespace CurrentActor {
|
|
242
|
+
const make: (service: CurrentActorShape) => CurrentActorShape;
|
|
243
|
+
}
|
|
120
244
|
export {};
|
|
121
245
|
//# 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":"AAAA,OAAO,EAAE,OAAO,EAAQ,MAAM,EAAE,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"Sessions.d.ts","sourceRoot":"","sources":["../src/Sessions.ts"],"names":[],"mappings":"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"}
|