@absolutejs/auth 0.64.0 → 0.65.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.
Files changed (263) hide show
  1. package/dist/index.js +25 -3
  2. package/dist/index.js.map +6 -5
  3. package/dist/server.js +25 -3
  4. package/dist/server.js.map +7 -6
  5. package/package.json +1 -1
  6. package/dist/abuse/captcha.d.ts +0 -11
  7. package/dist/abuse/config.d.ts +0 -29
  8. package/dist/actions.d.ts +0 -27
  9. package/dist/adaptive/config.d.ts +0 -34
  10. package/dist/adaptive/fingerprint.d.ts +0 -2
  11. package/dist/adaptive/inMemoryStores.d.ts +0 -3
  12. package/dist/adaptive/postgresStores.d.ts +0 -245
  13. package/dist/adaptive/types.d.ts +0 -62
  14. package/dist/agents/config.d.ts +0 -49
  15. package/dist/agents/context.d.ts +0 -46
  16. package/dist/agents/idJag.d.ts +0 -49
  17. package/dist/agents/inMemoryStores.d.ts +0 -4
  18. package/dist/agents/index.d.ts +0 -13
  19. package/dist/agents/oauthGuide.d.ts +0 -18
  20. package/dist/agents/oidcAdapter.d.ts +0 -20
  21. package/dist/agents/postgresStores.d.ts +0 -1176
  22. package/dist/agents/principal.d.ts +0 -4
  23. package/dist/agents/registration.d.ts +0 -162
  24. package/dist/agents/registrationClient.d.ts +0 -50
  25. package/dist/agents/routes.d.ts +0 -256
  26. package/dist/agents/types.d.ts +0 -129
  27. package/dist/apikeys/config.d.ts +0 -64
  28. package/dist/apikeys/inMemoryStores.d.ts +0 -4
  29. package/dist/apikeys/postgresStores.d.ts +0 -359
  30. package/dist/apikeys/routes.d.ts +0 -83
  31. package/dist/apikeys/types.d.ts +0 -53
  32. package/dist/audit/config.d.ts +0 -9
  33. package/dist/audit/export.d.ts +0 -2
  34. package/dist/audit/inMemoryAuditStore.d.ts +0 -2
  35. package/dist/audit/integrity.d.ts +0 -19
  36. package/dist/audit/postgresAuditStore.d.ts +0 -116
  37. package/dist/audit/siem.d.ts +0 -11
  38. package/dist/audit/types.d.ts +0 -21
  39. package/dist/audit/wrap.d.ts +0 -11
  40. package/dist/authContext.d.ts +0 -193
  41. package/dist/authorization/config.d.ts +0 -19
  42. package/dist/authorization/protectPermission.d.ts +0 -52
  43. package/dist/cli/import/auth0.d.ts +0 -2
  44. package/dist/cli/import/clerk.d.ts +0 -2
  45. package/dist/cli/import/index.d.ts +0 -10
  46. package/dist/cli/import/lucia.d.ts +0 -2
  47. package/dist/cli/import/nextauth.d.ts +0 -2
  48. package/dist/cli/import/supabase.d.ts +0 -2
  49. package/dist/cli/import/types.d.ts +0 -27
  50. package/dist/cli/migrate.d.ts +0 -2
  51. package/dist/client/components/react/SignIn.d.ts +0 -32
  52. package/dist/client/components/react/SignUp.d.ts +0 -29
  53. package/dist/client/components/react/UserButton.d.ts +0 -36
  54. package/dist/client/createAuthClient.d.ts +0 -285
  55. package/dist/client/index.d.ts +0 -4
  56. package/dist/client/passkeyHelpers.d.ts +0 -19
  57. package/dist/client/react.d.ts +0 -87
  58. package/dist/client/sessionExpiry.d.ts +0 -37
  59. package/dist/client/solid.d.ts +0 -86
  60. package/dist/client/svelte.d.ts +0 -86
  61. package/dist/client/vue.d.ts +0 -88
  62. package/dist/compliance/cipher.d.ts +0 -11
  63. package/dist/compliance/config.d.ts +0 -18
  64. package/dist/compliance/redaction.d.ts +0 -8
  65. package/dist/compliance/routes.d.ts +0 -89
  66. package/dist/constants.d.ts +0 -10
  67. package/dist/credentials/backgroundOps.d.ts +0 -45
  68. package/dist/credentials/config.d.ts +0 -94
  69. package/dist/credentials/emailValidation.d.ts +0 -9
  70. package/dist/credentials/emailVerification.d.ts +0 -83
  71. package/dist/credentials/import.d.ts +0 -49
  72. package/dist/credentials/inMemoryCredentialStore.d.ts +0 -2
  73. package/dist/credentials/legacyHashers.d.ts +0 -3
  74. package/dist/credentials/login.d.ts +0 -76
  75. package/dist/credentials/passwordPolicy.d.ts +0 -15
  76. package/dist/credentials/passwordReset.d.ts +0 -87
  77. package/dist/credentials/postgresCredentialStore.d.ts +0 -235
  78. package/dist/credentials/register.d.ts +0 -54
  79. package/dist/credentials/routes.d.ts +0 -201
  80. package/dist/credentials/types.d.ts +0 -26
  81. package/dist/crypto.d.ts +0 -32
  82. package/dist/csrf.d.ts +0 -10
  83. package/dist/errors.d.ts +0 -12
  84. package/dist/federation/tokenStore.d.ts +0 -29
  85. package/dist/fga/config.d.ts +0 -53
  86. package/dist/fga/inMemoryStores.d.ts +0 -3
  87. package/dist/fga/postgresStores.d.ts +0 -116
  88. package/dist/fga/redisCheckCache.d.ts +0 -11
  89. package/dist/fga/schema.d.ts +0 -2
  90. package/dist/fga/types.d.ts +0 -28
  91. package/dist/fingerprint-client/index.d.ts +0 -26
  92. package/dist/htmx/configuredRoutes.d.ts +0 -542
  93. package/dist/htmx/index.d.ts +0 -2
  94. package/dist/htmx/renderers.d.ts +0 -8
  95. package/dist/htmx/routes.d.ts +0 -514
  96. package/dist/htmx/types.d.ts +0 -129
  97. package/dist/index.d.ts +0 -3646
  98. package/dist/linkedProviders/inMemoryStores.d.ts +0 -9
  99. package/dist/linkedProviders/index.d.ts +0 -3
  100. package/dist/linkedProviders/neonStores.d.ts +0 -484
  101. package/dist/linkedProviders/oauthAccountResolver.d.ts +0 -28
  102. package/dist/linkedProviders/oauthResolver.d.ts +0 -9
  103. package/dist/linkedProviders/resolver.d.ts +0 -22
  104. package/dist/lockout/config.d.ts +0 -17
  105. package/dist/lockout/inMemoryLockoutStore.d.ts +0 -2
  106. package/dist/lockout/postgresLockoutStore.d.ts +0 -71
  107. package/dist/lockout/redisLockoutStore.d.ts +0 -3
  108. package/dist/lockout/types.d.ts +0 -12
  109. package/dist/manifest.d.ts +0 -18
  110. package/dist/manifest.json +0 -373
  111. package/dist/mfa/backupCodes.d.ts +0 -5
  112. package/dist/mfa/challenge.d.ts +0 -72
  113. package/dist/mfa/config.d.ts +0 -59
  114. package/dist/mfa/gate.d.ts +0 -2
  115. package/dist/mfa/inMemoryMfaStore.d.ts +0 -2
  116. package/dist/mfa/management.d.ts +0 -106
  117. package/dist/mfa/postgresMfaStore.d.ts +0 -266
  118. package/dist/mfa/recentAuth.d.ts +0 -2
  119. package/dist/mfa/rotation.d.ts +0 -17
  120. package/dist/mfa/routes.d.ts +0 -239
  121. package/dist/mfa/secret.d.ts +0 -2
  122. package/dist/mfa/sms.d.ts +0 -143
  123. package/dist/mfa/totp.d.ts +0 -91
  124. package/dist/mfa/types.d.ts +0 -58
  125. package/dist/migrations/generate.d.ts +0 -2
  126. package/dist/migrations/index.d.ts +0 -6
  127. package/dist/migrations/runner.d.ts +0 -22
  128. package/dist/migrations/types.d.ts +0 -14
  129. package/dist/oidc/clientAuth.d.ts +0 -19
  130. package/dist/oidc/clientIdMetadata.d.ts +0 -28
  131. package/dist/oidc/config.d.ts +0 -307
  132. package/dist/oidc/dpop.d.ts +0 -23
  133. package/dist/oidc/inMemoryStores.d.ts +0 -11
  134. package/dist/oidc/inMemoryVciStores.d.ts +0 -3
  135. package/dist/oidc/index.d.ts +0 -12
  136. package/dist/oidc/jar.d.ts +0 -14
  137. package/dist/oidc/keys.d.ts +0 -50
  138. package/dist/oidc/logout.d.ts +0 -38
  139. package/dist/oidc/mtls.d.ts +0 -11
  140. package/dist/oidc/operator.d.ts +0 -14
  141. package/dist/oidc/par.d.ts +0 -28
  142. package/dist/oidc/postgresStores.d.ts +0 -1217
  143. package/dist/oidc/registration.d.ts +0 -138
  144. package/dist/oidc/routes.d.ts +0 -569
  145. package/dist/oidc/types.d.ts +0 -157
  146. package/dist/oidc/userinfo.d.ts +0 -21
  147. package/dist/oidc/vci.d.ts +0 -159
  148. package/dist/oidc/vciRoutes.d.ts +0 -92
  149. package/dist/organizations/config.d.ts +0 -46
  150. package/dist/organizations/inMemoryOrganizationStore.d.ts +0 -2
  151. package/dist/organizations/operations.d.ts +0 -39
  152. package/dist/organizations/postgresOrganizationStore.d.ts +0 -340
  153. package/dist/organizations/routes.d.ts +0 -299
  154. package/dist/organizations/types.d.ts +0 -45
  155. package/dist/passwordless/config.d.ts +0 -43
  156. package/dist/passwordless/inMemoryPasswordlessTokenStore.d.ts +0 -2
  157. package/dist/passwordless/postgresPasswordlessTokenStore.d.ts +0 -56
  158. package/dist/passwordless/routes.d.ts +0 -163
  159. package/dist/passwordless/types.d.ts +0 -9
  160. package/dist/pluginIdentity.d.ts +0 -2
  161. package/dist/plugins/denyDisposableEmail.d.ts +0 -7
  162. package/dist/plugins/discordAlert.d.ts +0 -7
  163. package/dist/plugins/geoBlock.d.ts +0 -8
  164. package/dist/plugins/index.d.ts +0 -12
  165. package/dist/plugins/pagerdutyAlert.d.ts +0 -9
  166. package/dist/plugins/posthogIdentify.d.ts +0 -7
  167. package/dist/plugins/slackAlert.d.ts +0 -7
  168. package/dist/portal/config.d.ts +0 -34
  169. package/dist/portal/inMemorySetupSessionStore.d.ts +0 -2
  170. package/dist/portal/operations.d.ts +0 -10
  171. package/dist/portal/postgresSetupSessionStore.d.ts +0 -116
  172. package/dist/portal/routes.d.ts +0 -160
  173. package/dist/portal/types.d.ts +0 -16
  174. package/dist/providers/clients.d.ts +0 -1831
  175. package/dist/providers/index.d.ts +0 -2
  176. package/dist/providersFromEnv.d.ts +0 -19
  177. package/dist/redirect.d.ts +0 -2
  178. package/dist/roles/config.d.ts +0 -27
  179. package/dist/roles/inMemoryRoleStore.d.ts +0 -2
  180. package/dist/roles/operations.d.ts +0 -8
  181. package/dist/roles/postgresRoleStore.d.ts +0 -86
  182. package/dist/roles/resolver.d.ts +0 -17
  183. package/dist/roles/routes.d.ts +0 -106
  184. package/dist/roles/types.d.ts +0 -14
  185. package/dist/routes/authorize.d.ts +0 -102
  186. package/dist/routes/callback.d.ts +0 -64
  187. package/dist/routes/profile.d.ts +0 -73
  188. package/dist/routes/protectRoute.d.ts +0 -51
  189. package/dist/routes/refresh.d.ts +0 -74
  190. package/dist/routes/requireAuth.d.ts +0 -43
  191. package/dist/routes/revoke.d.ts +0 -73
  192. package/dist/routes/sessions.d.ts +0 -103
  193. package/dist/routes/signout.d.ts +0 -70
  194. package/dist/routes/stepUp.d.ts +0 -48
  195. package/dist/routes/userStatus.d.ts +0 -72
  196. package/dist/saml.d.ts +0 -1
  197. package/dist/scim/config.d.ts +0 -57
  198. package/dist/scim/extensions.d.ts +0 -30
  199. package/dist/scim/inMemoryScimTokenStore.d.ts +0 -2
  200. package/dist/scim/postgresScimTokenStore.d.ts +0 -86
  201. package/dist/scim/routes.d.ts +0 -366
  202. package/dist/scim/serialize.d.ts +0 -83
  203. package/dist/scim/types.d.ts +0 -54
  204. package/dist/server.d.ts +0 -33
  205. package/dist/session/access.d.ts +0 -33
  206. package/dist/session/anonymous.d.ts +0 -12
  207. package/dist/session/cleanup.d.ts +0 -45
  208. package/dist/session/impersonation.d.ts +0 -34
  209. package/dist/session/inMemoryStore.d.ts +0 -7
  210. package/dist/session/multiSession.d.ts +0 -27
  211. package/dist/session/neonStore.d.ts +0 -573
  212. package/dist/session/promote.d.ts +0 -23
  213. package/dist/session/redisStore.d.ts +0 -6
  214. package/dist/session/sessionsConfig.d.ts +0 -9
  215. package/dist/session/state.d.ts +0 -33
  216. package/dist/session/types.d.ts +0 -23
  217. package/dist/session/userSessions.d.ts +0 -19
  218. package/dist/sso/config.d.ts +0 -149
  219. package/dist/sso/discoveryRoute.d.ts +0 -63
  220. package/dist/sso/inMemorySamlServiceProviderStore.d.ts +0 -2
  221. package/dist/sso/inMemorySsoConnectionStore.d.ts +0 -2
  222. package/dist/sso/nodeSamlAdapter.d.ts +0 -8
  223. package/dist/sso/oidcRoutes.d.ts +0 -98
  224. package/dist/sso/postgresSamlServiceProviderStore.d.ts +0 -101
  225. package/dist/sso/postgresSsoConnectionStore.d.ts +0 -117
  226. package/dist/sso/samlIdpRoutes.d.ts +0 -139
  227. package/dist/sso/samlRoutes.d.ts +0 -179
  228. package/dist/sso/types.d.ts +0 -53
  229. package/dist/stores/postgres.d.ts +0 -5
  230. package/dist/stores/redis.d.ts +0 -5
  231. package/dist/telemetry/tracing.d.ts +0 -15
  232. package/dist/tenancy.d.ts +0 -9
  233. package/dist/typeGuards.d.ts +0 -6
  234. package/dist/typebox.d.ts +0 -4
  235. package/dist/types.d.ts +0 -431
  236. package/dist/utils.d.ts +0 -45
  237. package/dist/vault/config.d.ts +0 -20
  238. package/dist/vault/inMemoryVaultStore.d.ts +0 -2
  239. package/dist/vault/index.d.ts +0 -5
  240. package/dist/vault/postgresVaultStore.d.ts +0 -86
  241. package/dist/vault/types.d.ts +0 -14
  242. package/dist/vc/inMemoryVpStores.d.ts +0 -2
  243. package/dist/vc/openid4vp.d.ts +0 -82
  244. package/dist/vc/postgresVcStores.d.ts +0 -300
  245. package/dist/vc/sdJwt.d.ts +0 -37
  246. package/dist/vc/statusList.d.ts +0 -29
  247. package/dist/vc/statusListRoutes.d.ts +0 -63
  248. package/dist/vc/vpRoutes.d.ts +0 -120
  249. package/dist/verification/types.d.ts +0 -58
  250. package/dist/webauthn/adapter.d.ts +0 -59
  251. package/dist/webauthn/config.d.ts +0 -36
  252. package/dist/webauthn/inMemoryWebAuthnCredentialStore.d.ts +0 -2
  253. package/dist/webauthn/postgresWebAuthnCredentialStore.d.ts +0 -146
  254. package/dist/webauthn/routes.d.ts +0 -155
  255. package/dist/webauthn/simpleWebAuthnAdapter.d.ts +0 -3
  256. package/dist/webauthn/types.d.ts +0 -17
  257. package/dist/webauthn.d.ts +0 -1
  258. package/dist/webhooks/config.d.ts +0 -34
  259. package/dist/webhooks/dispatcher.d.ts +0 -3
  260. package/dist/webhooks/inMemoryStore.d.ts +0 -2
  261. package/dist/webhooks/postgresStore.d.ts +0 -116
  262. package/dist/webhooks/sign.d.ts +0 -11
  263. package/dist/webhooks/types.d.ts +0 -25
@@ -1,21 +0,0 @@
1
- import type { OrganizationId } from '../tenancy';
2
- export type AuditEventType = 'account_deleted' | 'agent_credential_issued' | 'agent_delegated' | 'agent_registered' | 'agent_revoked' | 'authorization_denied' | 'credentials_login' | 'credentials_login_failed' | 'data_exported' | 'email_verified' | 'identity_conflict' | 'impersonation_ended' | 'impersonation_started' | 'invitation_accepted' | 'invitation_created' | 'logout' | 'membership_removed' | 'mfa_challenge' | 'mfa_challenge_failed' | 'mfa_enrolled' | 'oauth_login' | 'organization_created' | 'password_reset' | 'passwordless_login' | 'register' | 'role_assigned' | 'scim_provision' | 'scim_token_created' | 'session_revoked' | 'setup_session_created' | 'sso_connection_configured' | 'sso_login' | 'token_refreshed' | 'token_revoked' | 'webauthn_authenticated' | 'webauthn_registered';
3
- export declare const AUDIT_EVENT_TYPES: readonly AuditEventType[];
4
- export declare const isAuditEventType: (value: string) => value is AuditEventType;
5
- export type AuditEvent = {
6
- at: number;
7
- ip?: string;
8
- metadata?: Record<string, unknown>;
9
- organizationId?: OrganizationId;
10
- type: AuditEventType;
11
- userId?: string;
12
- };
13
- export type AuditEventFilter = {
14
- limit?: number;
15
- userId?: string;
16
- };
17
- export type AuditSink = {
18
- append: (event: AuditEvent) => Promise<void>;
19
- list?: (filter?: AuditEventFilter) => Promise<AuditEvent[]>;
20
- prune?: (before: number) => Promise<number>;
21
- };
@@ -1,11 +0,0 @@
1
- import type { CredentialsConfig } from '../credentials/config';
2
- import type { MfaConfig } from '../mfa/config';
3
- import type { OnRevocationSuccess, OnSignOut } from '../types';
4
- import type { AuditEmitter } from './config';
5
- export declare const composeCallbackAudit: <Context extends {
6
- authProvider: string;
7
- }, Result>(onCallbackSuccess: ((context: Context) => Promise<Result> | Result) | undefined, emit: AuditEmitter) => (context: Context) => Promise<Result | undefined>;
8
- export declare const composeCredentialsAudit: <UserType>(credentials: CredentialsConfig<UserType>, emit: AuditEmitter, getUserId?: (user: UserType) => string) => CredentialsConfig<UserType>;
9
- export declare const composeMfaAudit: <UserType>(mfa: MfaConfig<UserType>, emit: AuditEmitter) => MfaConfig<UserType>;
10
- export declare const composeRevocationAudit: (onRevocationSuccess: OnRevocationSuccess, emit: AuditEmitter) => (context: Parameters<NonNullable<OnRevocationSuccess>>[0]) => Promise<void | undefined>;
11
- export declare const composeSignOutAudit: <UserType>(onSignOut: OnSignOut<UserType>, emit: AuditEmitter) => (context: Parameters<NonNullable<OnSignOut<UserType>>>[0]) => Promise<void | undefined>;
@@ -1,193 +0,0 @@
1
- import { Elysia } from 'elysia';
2
- import type { AgentAuthConfig } from './agents/config';
3
- import type { AuditEmitter } from './audit/config';
4
- import type { AuthorizationConfig } from './authorization/config';
5
- import type { AuthSessionStore } from './session/types';
6
- export declare const createAuthContext: <UserType>({ agentAuth, authSessionStore, authorization, emit, seedSource }: {
7
- agentAuth?: AgentAuthConfig;
8
- authSessionStore?: AuthSessionStore<UserType>;
9
- authorization?: AuthorizationConfig<UserType>;
10
- emit?: AuditEmitter;
11
- seedSource?: object;
12
- }) => Elysia<"", {
13
- decorator: {};
14
- store: {
15
- session: import("./types").SessionRecord<UserType>;
16
- unregisteredSession: import("./types").UnregisteredSessionRecord;
17
- };
18
- derive: ({
19
- readonly protectRoute: <AuthReturn, AuthFailReturn = never>(handleAuth: (user: UserType) => AuthReturn | Promise<AuthReturn>, handleAuthFail?: ((error: {
20
- readonly code: "Bad Request";
21
- readonly message: "Cookies are missing";
22
- } | {
23
- readonly code: "Unauthorized";
24
- readonly message: "User is not authenticated";
25
- }) => AuthFailReturn) | undefined) => Promise<import("elysia").ElysiaCustomStatusResponse<"Bad Request", "Cookies are missing", 400> | import("elysia").ElysiaCustomStatusResponse<"Unauthorized", "User is not authenticated", 401> | AuthReturn | NonNullable<AuthFailReturn>>;
26
- } & {
27
- readonly requireRecentAuth: <AuthReturn, AuthFailReturn_1>(maxAgeMs: number, handleAuth: (user: UserType) => AuthReturn | Promise<AuthReturn>, handleAuthFail?: ((error: {
28
- readonly code: "Unauthorized";
29
- readonly message: "Recent authentication required";
30
- }) => AuthFailReturn_1) | undefined) => Promise<import("elysia").ElysiaCustomStatusResponse<"Unauthorized", "Recent authentication required", 401> | AuthReturn | NonNullable<AuthFailReturn_1>>;
31
- } & {
32
- readonly protectAgent: <AuthReturn, AuthFailReturn_2>(requiredScopes: string[], handleAuth: (principal: import(".").AgentPrincipal) => AuthReturn | Promise<AuthReturn>, handleAuthFail?: (error: {
33
- code: "Forbidden" | "Unauthorized";
34
- message: "Agent is not authenticated" | "Insufficient agent scopes";
35
- }) => AuthFailReturn_2 | Promise<AuthFailReturn_2>) => Promise<Response | AuthReturn | NonNullable<Awaited<AuthFailReturn_2>>>;
36
- }) | ({
37
- readonly protectRoute: <AuthReturn, AuthFailReturn = never>(handleAuth: (user: UserType) => AuthReturn | Promise<AuthReturn>, handleAuthFail?: ((error: {
38
- readonly code: "Bad Request";
39
- readonly message: "Cookies are missing";
40
- } | {
41
- readonly code: "Unauthorized";
42
- readonly message: "User is not authenticated";
43
- }) => AuthFailReturn) | undefined) => Promise<import("elysia").ElysiaCustomStatusResponse<"Bad Request", "Cookies are missing", 400> | import("elysia").ElysiaCustomStatusResponse<"Unauthorized", "User is not authenticated", 401> | AuthReturn | NonNullable<AuthFailReturn>>;
44
- } & {
45
- readonly requireRecentAuth: <AuthReturn, AuthFailReturn_1>(maxAgeMs: number, handleAuth: (user: UserType) => AuthReturn | Promise<AuthReturn>, handleAuthFail?: ((error: {
46
- readonly code: "Unauthorized";
47
- readonly message: "Recent authentication required";
48
- }) => AuthFailReturn_1) | undefined) => Promise<import("elysia").ElysiaCustomStatusResponse<"Unauthorized", "Recent authentication required", 401> | AuthReturn | NonNullable<AuthFailReturn_1>>;
49
- } & {
50
- readonly protectPermission: <AuthReturn, AuthFailReturn_3>(check: import(".").PermissionCheck, handleAuth: (user: UserType) => AuthReturn | Promise<AuthReturn>, handleAuthFail?: ((error: {
51
- readonly code: "Bad Request";
52
- readonly message: "Cookies are missing";
53
- } | {
54
- readonly code: "Forbidden";
55
- readonly message: "Insufficient permissions";
56
- } | {
57
- readonly code: "Unauthorized";
58
- readonly message: "User is not authenticated";
59
- }) => AuthFailReturn_3) | undefined) => Promise<import("elysia").ElysiaCustomStatusResponse<"Bad Request", "Cookies are missing", 400> | import("elysia").ElysiaCustomStatusResponse<"Unauthorized", "User is not authenticated", 401> | import("elysia").ElysiaCustomStatusResponse<"Forbidden", "Insufficient permissions", 403> | AuthReturn | NonNullable<AuthFailReturn_3>>;
60
- } & {
61
- readonly protectAgent: <AuthReturn, AuthFailReturn_2>(requiredScopes: string[], handleAuth: (principal: import(".").AgentPrincipal) => AuthReturn | Promise<AuthReturn>, handleAuthFail?: (error: {
62
- code: "Forbidden" | "Unauthorized";
63
- message: "Agent is not authenticated" | "Insufficient agent scopes";
64
- }) => AuthFailReturn_2 | Promise<AuthFailReturn_2>) => Promise<Response | AuthReturn | NonNullable<Awaited<AuthFailReturn_2>>>;
65
- });
66
- resolve: {};
67
- }, {
68
- typebox: {};
69
- error: {};
70
- } & {
71
- typebox: {};
72
- error: {};
73
- }, ({
74
- schema: {};
75
- standaloneSchema: {};
76
- macro: {};
77
- macroFn: {};
78
- parser: {};
79
- response: {};
80
- } & {
81
- schema: import("elysia").UnwrapRoute<{
82
- cookie: import("@sinclair/typebox").TObject<{
83
- user_session_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"${string}-${string}-${string}-${string}-${string}">>;
84
- }>;
85
- }, {}, "">;
86
- standaloneSchema: {};
87
- macro: {};
88
- macroFn: {};
89
- parser: {};
90
- response: import("elysia").ExtractErrorFromHandle<{
91
- readonly protectRoute: <AuthReturn, AuthFailReturn = never>(handleAuth: (user: UserType) => AuthReturn | Promise<AuthReturn>, handleAuthFail?: ((error: {
92
- readonly code: "Bad Request";
93
- readonly message: "Cookies are missing";
94
- } | {
95
- readonly code: "Unauthorized";
96
- readonly message: "User is not authenticated";
97
- }) => AuthFailReturn) | undefined) => Promise<import("elysia").ElysiaCustomStatusResponse<"Bad Request", "Cookies are missing", 400> | import("elysia").ElysiaCustomStatusResponse<"Unauthorized", "User is not authenticated", 401> | AuthReturn | NonNullable<AuthFailReturn>>;
98
- }>;
99
- } & {
100
- schema: import("elysia").UnwrapRoute<{
101
- cookie: import("@sinclair/typebox").TObject<{
102
- user_session_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"${string}-${string}-${string}-${string}-${string}">>;
103
- }>;
104
- }, {}, "">;
105
- standaloneSchema: {};
106
- macro: {};
107
- macroFn: {};
108
- parser: {};
109
- response: import("elysia").ExtractErrorFromHandle<{
110
- readonly requireRecentAuth: <AuthReturn, AuthFailReturn_1>(maxAgeMs: number, handleAuth: (user: UserType) => AuthReturn | Promise<AuthReturn>, handleAuthFail?: ((error: {
111
- readonly code: "Unauthorized";
112
- readonly message: "Recent authentication required";
113
- }) => AuthFailReturn_1) | undefined) => Promise<import("elysia").ElysiaCustomStatusResponse<"Unauthorized", "Recent authentication required", 401> | AuthReturn | NonNullable<AuthFailReturn_1>>;
114
- }>;
115
- } & ({
116
- schema: {};
117
- standaloneSchema: {};
118
- macro: {};
119
- macroFn: {};
120
- parser: {};
121
- response: {};
122
- } | {
123
- schema: import("elysia").UnwrapRoute<{
124
- cookie: import("@sinclair/typebox").TObject<{
125
- user_session_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"${string}-${string}-${string}-${string}-${string}">>;
126
- }>;
127
- }, {}, "">;
128
- standaloneSchema: {};
129
- macro: {};
130
- macroFn: {};
131
- parser: {};
132
- response: import("elysia").ExtractErrorFromHandle<{
133
- readonly protectPermission: <AuthReturn, AuthFailReturn_3>(check: import(".").PermissionCheck, handleAuth: (user: UserType) => AuthReturn | Promise<AuthReturn>, handleAuthFail?: ((error: {
134
- readonly code: "Bad Request";
135
- readonly message: "Cookies are missing";
136
- } | {
137
- readonly code: "Forbidden";
138
- readonly message: "Insufficient permissions";
139
- } | {
140
- readonly code: "Unauthorized";
141
- readonly message: "User is not authenticated";
142
- }) => AuthFailReturn_3) | undefined) => Promise<import("elysia").ElysiaCustomStatusResponse<"Bad Request", "Cookies are missing", 400> | import("elysia").ElysiaCustomStatusResponse<"Unauthorized", "User is not authenticated", 401> | import("elysia").ElysiaCustomStatusResponse<"Forbidden", "Insufficient permissions", 403> | AuthReturn | NonNullable<AuthFailReturn_3>>;
143
- }>;
144
- })) & {
145
- schema: {};
146
- standaloneSchema: {};
147
- macro: {};
148
- macroFn: {};
149
- parser: {};
150
- response: import("elysia").ExtractErrorFromHandle<{
151
- readonly protectAgent: <AuthReturn, AuthFailReturn_2>(requiredScopes: string[], handleAuth: (principal: import(".").AgentPrincipal) => AuthReturn | Promise<AuthReturn>, handleAuthFail?: (error: {
152
- code: "Forbidden" | "Unauthorized";
153
- message: "Agent is not authenticated" | "Insufficient agent scopes";
154
- }) => AuthFailReturn_2 | Promise<AuthFailReturn_2>) => Promise<Response | AuthReturn | NonNullable<Awaited<AuthFailReturn_2>>>;
155
- }>;
156
- }, {}, {
157
- derive: {};
158
- resolve: {};
159
- schema: {};
160
- standaloneSchema: {};
161
- response: {};
162
- }, ({
163
- derive: {};
164
- resolve: {};
165
- schema: {};
166
- standaloneSchema: {};
167
- response: {};
168
- } & {
169
- derive: {};
170
- resolve: {};
171
- schema: {};
172
- standaloneSchema: {};
173
- response: {};
174
- }) | ({
175
- derive: {};
176
- resolve: {};
177
- schema: {};
178
- standaloneSchema: {};
179
- response: {};
180
- } & {
181
- derive: {};
182
- resolve: {};
183
- schema: {};
184
- standaloneSchema: {};
185
- response: {};
186
- } & {
187
- derive: {};
188
- resolve: {};
189
- schema: {};
190
- standaloneSchema: {};
191
- response: {};
192
- })>;
193
- export type AuthInstance<UserType> = ReturnType<typeof createAuthContext<UserType>>;
@@ -1,19 +0,0 @@
1
- import type { AuditEmitter } from '../audit/config';
2
- import type { AuthSessionStore } from '../session/types';
3
- import type { OrganizationId } from '../tenancy';
4
- export type PermissionContext<UserType> = {
5
- organizationId?: OrganizationId;
6
- permission: string;
7
- user: UserType;
8
- };
9
- export type AuthorizationConfig<UserType> = {
10
- hasPermission: (context: PermissionContext<UserType>) => boolean | Promise<boolean>;
11
- };
12
- export type PermissionCheck = {
13
- organizationId?: OrganizationId;
14
- permission: string;
15
- };
16
- export type AuthorizationPluginProps<UserType> = AuthorizationConfig<UserType> & {
17
- authSessionStore?: AuthSessionStore<UserType>;
18
- emit?: AuditEmitter;
19
- };
@@ -1,52 +0,0 @@
1
- import { Elysia } from 'elysia';
2
- import type { AuthorizationPluginProps, PermissionCheck } from './config';
3
- type PermissionFailError = {
4
- readonly code: 'Bad Request';
5
- readonly message: 'Cookies are missing';
6
- } | {
7
- readonly code: 'Forbidden';
8
- readonly message: 'Insufficient permissions';
9
- } | {
10
- readonly code: 'Unauthorized';
11
- readonly message: 'User is not authenticated';
12
- };
13
- export declare const protectPermissionPlugin: <UserType>({ authSessionStore, emit, hasPermission }: AuthorizationPluginProps<UserType>) => Elysia<"", {
14
- decorator: {};
15
- store: {
16
- session: import("..").SessionRecord<UserType>;
17
- unregisteredSession: import("..").UnregisteredSessionRecord;
18
- };
19
- derive: {
20
- readonly protectPermission: <AuthReturn, AuthFailReturn>(check: PermissionCheck, handleAuth: (user: UserType) => AuthReturn | Promise<AuthReturn>, handleAuthFail?: (error: PermissionFailError) => AuthFailReturn) => Promise<AuthReturn | import("elysia").ElysiaCustomStatusResponse<"Bad Request", "Cookies are missing", 400> | NonNullable<AuthFailReturn> | import("elysia").ElysiaCustomStatusResponse<"Unauthorized", "User is not authenticated", 401> | import("elysia").ElysiaCustomStatusResponse<"Forbidden", "Insufficient permissions", 403>>;
21
- };
22
- resolve: {};
23
- }, {
24
- typebox: {};
25
- error: {};
26
- }, {
27
- schema: import("elysia").UnwrapRoute<{
28
- cookie: import("@sinclair/typebox").TObject<{
29
- user_session_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTemplateLiteralSyntax<"${string}-${string}-${string}-${string}-${string}">>;
30
- }>;
31
- }, {}, "">;
32
- standaloneSchema: {};
33
- macro: {};
34
- macroFn: {};
35
- parser: {};
36
- response: import("elysia").ExtractErrorFromHandle<{
37
- readonly protectPermission: <AuthReturn, AuthFailReturn>(check: PermissionCheck, handleAuth: (user: UserType) => AuthReturn | Promise<AuthReturn>, handleAuthFail?: (error: PermissionFailError) => AuthFailReturn) => Promise<AuthReturn | import("elysia").ElysiaCustomStatusResponse<"Bad Request", "Cookies are missing", 400> | NonNullable<AuthFailReturn> | import("elysia").ElysiaCustomStatusResponse<"Unauthorized", "User is not authenticated", 401> | import("elysia").ElysiaCustomStatusResponse<"Forbidden", "Insufficient permissions", 403>>;
38
- }>;
39
- }, {}, {
40
- derive: {};
41
- resolve: {};
42
- schema: {};
43
- standaloneSchema: {};
44
- response: {};
45
- }, {
46
- derive: {};
47
- resolve: {};
48
- schema: {};
49
- standaloneSchema: {};
50
- response: {};
51
- }>;
52
- export {};
@@ -1,2 +0,0 @@
1
- import { type Importer } from './types';
2
- export declare const auth0Importer: Importer;
@@ -1,2 +0,0 @@
1
- import { type Importer } from './types';
2
- export declare const clerkImporter: Importer;
@@ -1,10 +0,0 @@
1
- import type { ImportResult, Importer } from './types';
2
- export declare const importers: Record<string, Importer>;
3
- export type ImportOptions = {
4
- commit: boolean;
5
- databaseUrl: string;
6
- };
7
- export declare const runImport: (result: ImportResult, options: ImportOptions) => Promise<{
8
- identityCount: number;
9
- userCount: number;
10
- }>;
@@ -1,2 +0,0 @@
1
- import { type Importer } from './types';
2
- export declare const luciaImporter: Importer;
@@ -1,2 +0,0 @@
1
- import { type Importer } from './types';
2
- export declare const nextauthImporter: Importer;
@@ -1,2 +0,0 @@
1
- import type { Importer } from './types';
2
- export declare const supabaseImporter: Importer;
@@ -1,27 +0,0 @@
1
- export declare const detectPasswordHashAlgorithm: (hash?: string) => ImportedUser['passwordHashAlgo'];
2
- export type ImportedUser = {
3
- createdAtMs: number;
4
- email: string;
5
- emailVerified: boolean;
6
- externalId: string;
7
- familyName?: string;
8
- givenName?: string;
9
- passwordHash?: string;
10
- passwordHashAlgo?: 'argon2id' | 'bcrypt' | 'scrypt' | 'pbkdf2';
11
- };
12
- export type ImportedIdentity = {
13
- authProvider: string;
14
- createdAtMs: number;
15
- metadata?: Record<string, unknown>;
16
- providerSubject: string;
17
- userExternalId: string;
18
- };
19
- export type ImportResult = {
20
- identities: ImportedIdentity[];
21
- source: string;
22
- users: ImportedUser[];
23
- };
24
- export type Importer = {
25
- parse: (path: string) => Promise<ImportResult>;
26
- source: string;
27
- };
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env bun
2
- export {};
@@ -1,32 +0,0 @@
1
- import { type FormEvent } from 'react';
2
- import type { AuthClient, AuthClientError } from '../../createAuthClient';
3
- type AuthnSuccess = {
4
- passwordCompromised?: boolean;
5
- status: 'authenticated' | 'mfa_required';
6
- };
7
- export type SignInProps = {
8
- client: AuthClient;
9
- classNames?: {
10
- button?: string;
11
- container?: string;
12
- divider?: string;
13
- error?: string;
14
- field?: string;
15
- input?: string;
16
- label?: string;
17
- oauthButton?: string;
18
- oauthGrid?: string;
19
- };
20
- emailLabel?: string;
21
- onError?: (error: AuthClientError) => void;
22
- onSuccess?: (result: AuthnSuccess) => void;
23
- passwordLabel?: string;
24
- providers?: string[];
25
- submitLabel?: string;
26
- };
27
- export declare const SignIn: ({ client, classNames, emailLabel, onError, onSuccess, passwordLabel, providers, submitLabel }: SignInProps) => import("react").ReactElement<{
28
- className: string | undefined;
29
- 'data-abs-auth': string;
30
- onSubmit: (event: FormEvent<HTMLFormElement>) => Promise<void>;
31
- }, string | import("react").JSXElementConstructor<any>>;
32
- export {};
@@ -1,29 +0,0 @@
1
- import { type FormEvent } from 'react';
2
- import type { AuthClient, AuthClientError } from '../../createAuthClient';
3
- type SignUpSuccess = {
4
- status: 'authenticated';
5
- } | {
6
- status: 'verification_required';
7
- };
8
- export type SignUpProps = {
9
- client: AuthClient;
10
- classNames?: {
11
- button?: string;
12
- container?: string;
13
- error?: string;
14
- field?: string;
15
- input?: string;
16
- label?: string;
17
- };
18
- emailLabel?: string;
19
- onError?: (error: AuthClientError) => void;
20
- onSuccess?: (result: SignUpSuccess) => void;
21
- passwordLabel?: string;
22
- submitLabel?: string;
23
- };
24
- export declare const SignUp: ({ client, classNames, emailLabel, onError, onSuccess, passwordLabel, submitLabel }: SignUpProps) => import("react").ReactElement<{
25
- className: string | undefined;
26
- 'data-abs-auth': string;
27
- onSubmit: (event: FormEvent<HTMLFormElement>) => Promise<void>;
28
- }, string | import("react").JSXElementConstructor<any>>;
29
- export {};
@@ -1,36 +0,0 @@
1
- import type { AuthClient } from '../../createAuthClient';
2
- export type UserButtonUser = {
3
- avatarUrl?: string;
4
- email?: string;
5
- givenName?: string;
6
- };
7
- export type UserButtonItem = {
8
- href: string;
9
- label: string;
10
- };
11
- export type UserButtonProps = {
12
- client: AuthClient;
13
- classNames?: {
14
- avatar?: string;
15
- container?: string;
16
- email?: string;
17
- menu?: string;
18
- menuItem?: string;
19
- signOut?: string;
20
- toggle?: string;
21
- };
22
- items?: UserButtonItem[];
23
- onSignOut?: () => void;
24
- signedOutHref?: string;
25
- signOutLabel?: string;
26
- user: UserButtonUser | null;
27
- };
28
- export declare const UserButton: ({ client, classNames, items, onSignOut, signedOutHref, signOutLabel, user }: UserButtonProps) => import("react").DetailedReactHTMLElement<{
29
- className: string | undefined;
30
- 'data-abs-auth': string;
31
- href: string;
32
- }, HTMLElement> | import("react").DetailedReactHTMLElement<{
33
- className: string | undefined;
34
- 'data-abs-auth': string;
35
- 'data-abs-auth-open': string;
36
- }, HTMLElement>;