@absolutejs/auth 0.55.6 → 0.55.7

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 (215) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.js +120 -15
  3. package/dist/index.js.map +6 -5
  4. package/dist/server.js +119 -15
  5. package/dist/server.js.map +6 -5
  6. package/package.json +1 -1
  7. package/dist/abuse/captcha.d.ts +0 -11
  8. package/dist/abuse/config.d.ts +0 -29
  9. package/dist/actions.d.ts +0 -27
  10. package/dist/adaptive/config.d.ts +0 -34
  11. package/dist/adaptive/fingerprint.d.ts +0 -2
  12. package/dist/adaptive/inMemoryStores.d.ts +0 -3
  13. package/dist/adaptive/postgresStores.d.ts +0 -245
  14. package/dist/adaptive/types.d.ts +0 -62
  15. package/dist/agents/config.d.ts +0 -44
  16. package/dist/agents/context.d.ts +0 -46
  17. package/dist/agents/idJag.d.ts +0 -49
  18. package/dist/agents/inMemoryStores.d.ts +0 -4
  19. package/dist/agents/oidcAdapter.d.ts +0 -12
  20. package/dist/agents/postgresStores.d.ts +0 -569
  21. package/dist/agents/principal.d.ts +0 -4
  22. package/dist/agents/registration.d.ts +0 -162
  23. package/dist/agents/registrationClient.d.ts +0 -50
  24. package/dist/agents/routes.d.ts +0 -321
  25. package/dist/agents/types.d.ts +0 -129
  26. package/dist/apikeys/config.d.ts +0 -64
  27. package/dist/apikeys/inMemoryStores.d.ts +0 -4
  28. package/dist/apikeys/postgresStores.d.ts +0 -359
  29. package/dist/apikeys/routes.d.ts +0 -83
  30. package/dist/apikeys/types.d.ts +0 -53
  31. package/dist/audit/config.d.ts +0 -9
  32. package/dist/audit/export.d.ts +0 -2
  33. package/dist/audit/inMemoryAuditStore.d.ts +0 -2
  34. package/dist/audit/integrity.d.ts +0 -19
  35. package/dist/audit/postgresAuditStore.d.ts +0 -116
  36. package/dist/audit/siem.d.ts +0 -11
  37. package/dist/audit/types.d.ts +0 -19
  38. package/dist/audit/wrap.d.ts +0 -9
  39. package/dist/authContext.d.ts +0 -193
  40. package/dist/authorization/config.d.ts +0 -19
  41. package/dist/authorization/protectPermission.d.ts +0 -52
  42. package/dist/compliance/cipher.d.ts +0 -5
  43. package/dist/compliance/config.d.ts +0 -18
  44. package/dist/compliance/redaction.d.ts +0 -8
  45. package/dist/compliance/routes.d.ts +0 -89
  46. package/dist/constants.d.ts +0 -10
  47. package/dist/credentials/backgroundOps.d.ts +0 -45
  48. package/dist/credentials/config.d.ts +0 -68
  49. package/dist/credentials/emailValidation.d.ts +0 -9
  50. package/dist/credentials/emailVerification.d.ts +0 -83
  51. package/dist/credentials/import.d.ts +0 -34
  52. package/dist/credentials/inMemoryCredentialStore.d.ts +0 -2
  53. package/dist/credentials/legacyHashers.d.ts +0 -3
  54. package/dist/credentials/login.d.ts +0 -76
  55. package/dist/credentials/passwordPolicy.d.ts +0 -15
  56. package/dist/credentials/passwordReset.d.ts +0 -87
  57. package/dist/credentials/postgresCredentialStore.d.ts +0 -235
  58. package/dist/credentials/register.d.ts +0 -54
  59. package/dist/credentials/routes.d.ts +0 -201
  60. package/dist/credentials/types.d.ts +0 -26
  61. package/dist/crypto.d.ts +0 -32
  62. package/dist/errors.d.ts +0 -12
  63. package/dist/federation/tokenStore.d.ts +0 -29
  64. package/dist/fga/config.d.ts +0 -53
  65. package/dist/fga/inMemoryStores.d.ts +0 -3
  66. package/dist/fga/postgresStores.d.ts +0 -116
  67. package/dist/fga/redisCheckCache.d.ts +0 -11
  68. package/dist/fga/schema.d.ts +0 -2
  69. package/dist/fga/types.d.ts +0 -28
  70. package/dist/htmx/configuredRoutes.d.ts +0 -542
  71. package/dist/htmx/renderers.d.ts +0 -8
  72. package/dist/htmx/routes.d.ts +0 -514
  73. package/dist/htmx/types.d.ts +0 -129
  74. package/dist/linkedProviders/inMemoryStores.d.ts +0 -9
  75. package/dist/linkedProviders/neonStores.d.ts +0 -484
  76. package/dist/linkedProviders/oauthResolver.d.ts +0 -9
  77. package/dist/linkedProviders/resolver.d.ts +0 -22
  78. package/dist/lockout/config.d.ts +0 -17
  79. package/dist/lockout/inMemoryLockoutStore.d.ts +0 -2
  80. package/dist/lockout/postgresLockoutStore.d.ts +0 -71
  81. package/dist/lockout/redisLockoutStore.d.ts +0 -3
  82. package/dist/lockout/types.d.ts +0 -12
  83. package/dist/mfa/backupCodes.d.ts +0 -5
  84. package/dist/mfa/challenge.d.ts +0 -70
  85. package/dist/mfa/config.d.ts +0 -50
  86. package/dist/mfa/gate.d.ts +0 -2
  87. package/dist/mfa/inMemoryMfaStore.d.ts +0 -2
  88. package/dist/mfa/management.d.ts +0 -106
  89. package/dist/mfa/postgresMfaStore.d.ts +0 -206
  90. package/dist/mfa/rotation.d.ts +0 -17
  91. package/dist/mfa/routes.d.ts +0 -234
  92. package/dist/mfa/secret.d.ts +0 -2
  93. package/dist/mfa/sms.d.ts +0 -105
  94. package/dist/mfa/totp.d.ts +0 -91
  95. package/dist/mfa/types.d.ts +0 -23
  96. package/dist/migrations/generate.d.ts +0 -2
  97. package/dist/migrations/index.d.ts +0 -5
  98. package/dist/migrations/runner.d.ts +0 -13
  99. package/dist/migrations/types.d.ts +0 -14
  100. package/dist/oidc/clientAuth.d.ts +0 -19
  101. package/dist/oidc/clientIdMetadata.d.ts +0 -32
  102. package/dist/oidc/config.d.ts +0 -295
  103. package/dist/oidc/dpop.d.ts +0 -23
  104. package/dist/oidc/inMemoryStores.d.ts +0 -11
  105. package/dist/oidc/inMemoryVciStores.d.ts +0 -3
  106. package/dist/oidc/jar.d.ts +0 -14
  107. package/dist/oidc/keys.d.ts +0 -25
  108. package/dist/oidc/logout.d.ts +0 -38
  109. package/dist/oidc/mtls.d.ts +0 -11
  110. package/dist/oidc/par.d.ts +0 -28
  111. package/dist/oidc/postgresStores.d.ts +0 -1187
  112. package/dist/oidc/registration.d.ts +0 -138
  113. package/dist/oidc/routes.d.ts +0 -568
  114. package/dist/oidc/types.d.ts +0 -143
  115. package/dist/oidc/userinfo.d.ts +0 -21
  116. package/dist/oidc/vci.d.ts +0 -159
  117. package/dist/oidc/vciRoutes.d.ts +0 -92
  118. package/dist/organizations/config.d.ts +0 -46
  119. package/dist/organizations/inMemoryOrganizationStore.d.ts +0 -2
  120. package/dist/organizations/operations.d.ts +0 -39
  121. package/dist/organizations/postgresOrganizationStore.d.ts +0 -340
  122. package/dist/organizations/routes.d.ts +0 -299
  123. package/dist/organizations/types.d.ts +0 -45
  124. package/dist/passwordless/config.d.ts +0 -43
  125. package/dist/passwordless/inMemoryPasswordlessTokenStore.d.ts +0 -2
  126. package/dist/passwordless/postgresPasswordlessTokenStore.d.ts +0 -56
  127. package/dist/passwordless/routes.d.ts +0 -163
  128. package/dist/passwordless/types.d.ts +0 -9
  129. package/dist/pluginIdentity.d.ts +0 -2
  130. package/dist/portal/config.d.ts +0 -34
  131. package/dist/portal/inMemorySetupSessionStore.d.ts +0 -2
  132. package/dist/portal/operations.d.ts +0 -10
  133. package/dist/portal/postgresSetupSessionStore.d.ts +0 -116
  134. package/dist/portal/routes.d.ts +0 -160
  135. package/dist/portal/types.d.ts +0 -16
  136. package/dist/providers/clients.d.ts +0 -1818
  137. package/dist/providersFromEnv.d.ts +0 -19
  138. package/dist/roles/config.d.ts +0 -27
  139. package/dist/roles/inMemoryRoleStore.d.ts +0 -2
  140. package/dist/roles/operations.d.ts +0 -8
  141. package/dist/roles/postgresRoleStore.d.ts +0 -86
  142. package/dist/roles/resolver.d.ts +0 -17
  143. package/dist/roles/routes.d.ts +0 -106
  144. package/dist/roles/types.d.ts +0 -14
  145. package/dist/routes/authorize.d.ts +0 -102
  146. package/dist/routes/callback.d.ts +0 -64
  147. package/dist/routes/profile.d.ts +0 -70
  148. package/dist/routes/protectRoute.d.ts +0 -51
  149. package/dist/routes/refresh.d.ts +0 -74
  150. package/dist/routes/revoke.d.ts +0 -73
  151. package/dist/routes/sessions.d.ts +0 -103
  152. package/dist/routes/signout.d.ts +0 -70
  153. package/dist/routes/stepUp.d.ts +0 -48
  154. package/dist/routes/userStatus.d.ts +0 -72
  155. package/dist/scim/config.d.ts +0 -57
  156. package/dist/scim/extensions.d.ts +0 -30
  157. package/dist/scim/inMemoryScimTokenStore.d.ts +0 -2
  158. package/dist/scim/postgresScimTokenStore.d.ts +0 -86
  159. package/dist/scim/routes.d.ts +0 -366
  160. package/dist/scim/serialize.d.ts +0 -83
  161. package/dist/scim/types.d.ts +0 -54
  162. package/dist/session/access.d.ts +0 -33
  163. package/dist/session/anonymous.d.ts +0 -12
  164. package/dist/session/cleanup.d.ts +0 -45
  165. package/dist/session/impersonation.d.ts +0 -34
  166. package/dist/session/inMemoryStore.d.ts +0 -7
  167. package/dist/session/multiSession.d.ts +0 -27
  168. package/dist/session/neonStore.d.ts +0 -513
  169. package/dist/session/promote.d.ts +0 -23
  170. package/dist/session/redisStore.d.ts +0 -6
  171. package/dist/session/sessionsConfig.d.ts +0 -9
  172. package/dist/session/state.d.ts +0 -33
  173. package/dist/session/types.d.ts +0 -21
  174. package/dist/session/userSessions.d.ts +0 -19
  175. package/dist/sso/config.d.ts +0 -149
  176. package/dist/sso/discoveryRoute.d.ts +0 -63
  177. package/dist/sso/inMemorySamlServiceProviderStore.d.ts +0 -2
  178. package/dist/sso/inMemorySsoConnectionStore.d.ts +0 -2
  179. package/dist/sso/oidcRoutes.d.ts +0 -98
  180. package/dist/sso/postgresSamlServiceProviderStore.d.ts +0 -101
  181. package/dist/sso/postgresSsoConnectionStore.d.ts +0 -116
  182. package/dist/sso/samlIdpRoutes.d.ts +0 -139
  183. package/dist/sso/samlRoutes.d.ts +0 -179
  184. package/dist/sso/types.d.ts +0 -53
  185. package/dist/stores/postgres.d.ts +0 -5
  186. package/dist/stores/redis.d.ts +0 -5
  187. package/dist/telemetry/tracing.d.ts +0 -15
  188. package/dist/tenancy.d.ts +0 -9
  189. package/dist/typeGuards.d.ts +0 -6
  190. package/dist/typebox.d.ts +0 -4
  191. package/dist/types.d.ts +0 -421
  192. package/dist/utils.d.ts +0 -45
  193. package/dist/vault/config.d.ts +0 -20
  194. package/dist/vault/inMemoryVaultStore.d.ts +0 -2
  195. package/dist/vault/postgresVaultStore.d.ts +0 -86
  196. package/dist/vault/types.d.ts +0 -14
  197. package/dist/vc/inMemoryVpStores.d.ts +0 -2
  198. package/dist/vc/openid4vp.d.ts +0 -82
  199. package/dist/vc/postgresVcStores.d.ts +0 -300
  200. package/dist/vc/sdJwt.d.ts +0 -37
  201. package/dist/vc/statusList.d.ts +0 -29
  202. package/dist/vc/statusListRoutes.d.ts +0 -63
  203. package/dist/vc/vpRoutes.d.ts +0 -120
  204. package/dist/webauthn/adapter.d.ts +0 -59
  205. package/dist/webauthn/config.d.ts +0 -36
  206. package/dist/webauthn/inMemoryWebAuthnCredentialStore.d.ts +0 -2
  207. package/dist/webauthn/postgresWebAuthnCredentialStore.d.ts +0 -146
  208. package/dist/webauthn/routes.d.ts +0 -155
  209. package/dist/webauthn/types.d.ts +0 -17
  210. package/dist/webhooks/config.d.ts +0 -34
  211. package/dist/webhooks/dispatcher.d.ts +0 -3
  212. package/dist/webhooks/inMemoryStore.d.ts +0 -2
  213. package/dist/webhooks/postgresStore.d.ts +0 -116
  214. package/dist/webhooks/sign.d.ts +0 -11
  215. package/dist/webhooks/types.d.ts +0 -25
@@ -1,36 +0,0 @@
1
- import type { AuditEmitter } from '../audit/config';
2
- import type { AuthSessionStore } from '../session/types';
3
- import type { RouteString, UserSessionId } from '../types';
4
- import type { WebAuthnAdapter } from './adapter';
5
- import type { WebAuthnCredentialStore } from './types';
6
- export declare const DEFAULT_WEBAUTHN_CHALLENGE_TTL_MS = 300000;
7
- export declare const DEFAULT_WEBAUTHN_ROUTE: RouteString;
8
- export declare const DEFAULT_WEBAUTHN_SESSION_TTL_MS: number;
9
- export declare const WEBAUTHN_CHALLENGE_COOKIE = "webauthn_challenge";
10
- export type WebAuthnConfig<UserType> = {
11
- credentialStore: WebAuthnCredentialStore;
12
- getUserId: (user: UserType) => string;
13
- getWebAuthnUser: (userId: string) => Promise<UserType | null | undefined> | UserType | null | undefined;
14
- origin: string;
15
- rpId: string;
16
- rpName: string;
17
- webauthnAdapter: WebAuthnAdapter;
18
- challengeDurationMs?: number;
19
- getUserDisplayName?: (user: UserType) => string;
20
- getUserName?: (user: UserType) => string;
21
- onWebAuthnAuthenticated?: (context: {
22
- user: UserType;
23
- userSessionId: UserSessionId;
24
- }) => void | Promise<void>;
25
- onWebAuthnRegistered?: (context: {
26
- credentialId: string;
27
- userId: string;
28
- }) => void | Promise<void>;
29
- sessionDurationMs?: number;
30
- webauthnRoute?: RouteString;
31
- };
32
- export type WebAuthnRouteProps<UserType> = WebAuthnConfig<UserType> & {
33
- authSessionStore?: AuthSessionStore<UserType>;
34
- cookieSecure?: boolean;
35
- emit?: AuditEmitter;
36
- };
@@ -1,2 +0,0 @@
1
- import type { WebAuthnCredentialStore } from './types';
2
- export declare const createInMemoryWebAuthnCredentialStore: () => WebAuthnCredentialStore;
@@ -1,146 +0,0 @@
1
- import { type AnyPgDatabase } from '../stores/postgres';
2
- import type { WebAuthnCredentialStore } from './types';
3
- export declare const webauthnCredentialsTable: import("drizzle-orm/pg-core").PgTableWithColumns<{
4
- name: "auth_webauthn_credentials";
5
- schema: undefined;
6
- columns: {
7
- backed_up: import("drizzle-orm/pg-core").PgBuildColumn<"auth_webauthn_credentials", import("drizzle-orm/pg-core").PgBooleanBuilder, {
8
- name: string;
9
- tableName: "auth_webauthn_credentials";
10
- dataType: "boolean";
11
- data: boolean;
12
- driverParam: boolean;
13
- notNull: false;
14
- hasDefault: false;
15
- isPrimaryKey: false;
16
- isAutoincrement: false;
17
- hasRuntimeDefault: false;
18
- enumValues: undefined;
19
- identity: undefined;
20
- generated: undefined;
21
- }>;
22
- counter: import("drizzle-orm/pg-core").PgBuildColumn<"auth_webauthn_credentials", import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgBigInt53Builder>>, {
23
- name: string;
24
- tableName: "auth_webauthn_credentials";
25
- dataType: "number int53";
26
- data: number;
27
- driverParam: string | number;
28
- notNull: true;
29
- hasDefault: true;
30
- isPrimaryKey: false;
31
- isAutoincrement: false;
32
- hasRuntimeDefault: false;
33
- enumValues: undefined;
34
- identity: undefined;
35
- generated: undefined;
36
- }>;
37
- created_at_ms: import("drizzle-orm/pg-core").PgBuildColumn<"auth_webauthn_credentials", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgBigInt53Builder>, {
38
- name: string;
39
- tableName: "auth_webauthn_credentials";
40
- dataType: "number int53";
41
- data: number;
42
- driverParam: string | number;
43
- notNull: true;
44
- hasDefault: false;
45
- isPrimaryKey: false;
46
- isAutoincrement: false;
47
- hasRuntimeDefault: false;
48
- enumValues: undefined;
49
- identity: undefined;
50
- generated: undefined;
51
- }>;
52
- credential_id: import("drizzle-orm/pg-core").PgBuildColumn<"auth_webauthn_credentials", import("drizzle-orm/pg-core").SetIsPrimaryKey<import("drizzle-orm/pg-core").PgVarcharBuilder<[string, ...string[]]>>, {
53
- name: string;
54
- tableName: "auth_webauthn_credentials";
55
- dataType: "string";
56
- data: string;
57
- driverParam: string;
58
- notNull: true;
59
- hasDefault: false;
60
- isPrimaryKey: false;
61
- isAutoincrement: false;
62
- hasRuntimeDefault: false;
63
- enumValues: undefined;
64
- identity: undefined;
65
- generated: undefined;
66
- }>;
67
- device_type: import("drizzle-orm/pg-core").PgBuildColumn<"auth_webauthn_credentials", import("drizzle-orm/pg-core").PgVarcharBuilder<[string, ...string[]]>, {
68
- name: string;
69
- tableName: "auth_webauthn_credentials";
70
- dataType: "string";
71
- data: string;
72
- driverParam: string;
73
- notNull: false;
74
- hasDefault: false;
75
- isPrimaryKey: false;
76
- isAutoincrement: false;
77
- hasRuntimeDefault: false;
78
- enumValues: undefined;
79
- identity: undefined;
80
- generated: undefined;
81
- }>;
82
- last_used_at_ms: import("drizzle-orm/pg-core").PgBuildColumn<"auth_webauthn_credentials", import("drizzle-orm/pg-core").PgBigInt53Builder, {
83
- name: string;
84
- tableName: "auth_webauthn_credentials";
85
- dataType: "number int53";
86
- data: number;
87
- driverParam: string | number;
88
- notNull: false;
89
- hasDefault: false;
90
- isPrimaryKey: false;
91
- isAutoincrement: false;
92
- hasRuntimeDefault: false;
93
- enumValues: undefined;
94
- identity: undefined;
95
- generated: undefined;
96
- }>;
97
- public_key: import("drizzle-orm/pg-core").PgBuildColumn<"auth_webauthn_credentials", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>>, {
98
- name: string;
99
- tableName: "auth_webauthn_credentials";
100
- dataType: "string";
101
- data: string;
102
- driverParam: string;
103
- notNull: true;
104
- hasDefault: false;
105
- isPrimaryKey: false;
106
- isAutoincrement: false;
107
- hasRuntimeDefault: false;
108
- enumValues: undefined;
109
- identity: undefined;
110
- generated: undefined;
111
- }>;
112
- transports: import("drizzle-orm/pg-core").PgBuildColumn<"auth_webauthn_credentials", import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").PgJsonbBuilder, string[]>, {
113
- name: string;
114
- tableName: "auth_webauthn_credentials";
115
- dataType: "object json";
116
- data: string[];
117
- driverParam: unknown;
118
- notNull: false;
119
- hasDefault: false;
120
- isPrimaryKey: false;
121
- isAutoincrement: false;
122
- hasRuntimeDefault: false;
123
- enumValues: undefined;
124
- identity: undefined;
125
- generated: undefined;
126
- }>;
127
- user_id: import("drizzle-orm/pg-core").PgBuildColumn<"auth_webauthn_credentials", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgVarcharBuilder<[string, ...string[]]>>, {
128
- name: string;
129
- tableName: "auth_webauthn_credentials";
130
- dataType: "string";
131
- data: string;
132
- driverParam: string;
133
- notNull: true;
134
- hasDefault: false;
135
- isPrimaryKey: false;
136
- isAutoincrement: false;
137
- hasRuntimeDefault: false;
138
- enumValues: undefined;
139
- identity: undefined;
140
- generated: undefined;
141
- }>;
142
- };
143
- dialect: "pg";
144
- }>;
145
- export declare const createNeonWebAuthnCredentialStore: (databaseUrl: string) => WebAuthnCredentialStore;
146
- export declare const createPostgresWebAuthnCredentialStore: <DB extends AnyPgDatabase>(db: DB) => WebAuthnCredentialStore;
@@ -1,155 +0,0 @@
1
- import { Elysia } from 'elysia';
2
- import { type WebAuthnRouteProps } from './config';
3
- export declare const webauthnRoutes: <UserType>({ authSessionStore, challengeDurationMs, cookieSecure, credentialStore, emit, getUserDisplayName, getUserId, getUserName, getWebAuthnUser, onWebAuthnAuthenticated, onWebAuthnRegistered, origin, rpId, rpName, sessionDurationMs, webauthnAdapter, webauthnRoute }: WebAuthnRouteProps<UserType>) => Elysia<"", {
4
- decorator: {};
5
- store: {
6
- session: import("..").SessionRecord<UserType>;
7
- unregisteredSession: import("..").UnregisteredSessionRecord;
8
- };
9
- derive: {};
10
- resolve: {};
11
- }, {
12
- typebox: {};
13
- error: {};
14
- }, {
15
- schema: {};
16
- standaloneSchema: {};
17
- macro: {};
18
- macroFn: {};
19
- parser: {};
20
- response: {};
21
- }, {
22
- [x: string]: {
23
- register: {
24
- options: {
25
- post: {
26
- body: unknown;
27
- params: {};
28
- query: unknown;
29
- headers: unknown;
30
- response: {
31
- 401: "Authentication required";
32
- 200: {
33
- [x: string]: unknown;
34
- };
35
- 422: {
36
- type: "validation";
37
- on: string;
38
- summary?: string;
39
- message?: string;
40
- found?: unknown;
41
- property?: string;
42
- expected?: string;
43
- };
44
- };
45
- };
46
- };
47
- };
48
- };
49
- } & {
50
- [x: string]: {
51
- register: {
52
- verify: {
53
- post: {
54
- body: {};
55
- params: {};
56
- query: unknown;
57
- headers: unknown;
58
- response: {
59
- 400: "No registration challenge in progress" | "WebAuthn registration failed";
60
- 401: "Authentication required";
61
- 200: {
62
- readonly credentialId: string;
63
- readonly verified: true;
64
- };
65
- 422: {
66
- type: "validation";
67
- on: string;
68
- summary?: string;
69
- message?: string;
70
- found?: unknown;
71
- property?: string;
72
- expected?: string;
73
- };
74
- };
75
- };
76
- };
77
- };
78
- };
79
- } & {
80
- [x: string]: {
81
- authenticate: {
82
- options: {
83
- post: {
84
- body: unknown;
85
- params: {};
86
- query: unknown;
87
- headers: unknown;
88
- response: {
89
- 200: {
90
- [x: string]: unknown;
91
- };
92
- 422: {
93
- type: "validation";
94
- on: string;
95
- summary?: string;
96
- message?: string;
97
- found?: unknown;
98
- property?: string;
99
- expected?: string;
100
- };
101
- };
102
- };
103
- };
104
- };
105
- };
106
- } & {
107
- [x: string]: {
108
- authenticate: {
109
- verify: {
110
- post: {
111
- body: {
112
- id: string;
113
- };
114
- params: {};
115
- query: unknown;
116
- headers: unknown;
117
- response: {
118
- 400: "No authentication challenge in progress";
119
- 401: "Unknown credential" | "WebAuthn authentication failed";
120
- 200: {
121
- readonly status: "authenticated";
122
- };
123
- 422: {
124
- type: "validation";
125
- on: string;
126
- summary?: string;
127
- message?: string;
128
- found?: unknown;
129
- property?: string;
130
- expected?: string;
131
- };
132
- };
133
- };
134
- };
135
- };
136
- };
137
- }, {
138
- derive: {};
139
- resolve: {};
140
- schema: {};
141
- standaloneSchema: {};
142
- response: {};
143
- }, {
144
- derive: {};
145
- resolve: {};
146
- schema: {};
147
- standaloneSchema: {};
148
- response: {};
149
- } & {
150
- derive: {};
151
- resolve: {};
152
- schema: {};
153
- standaloneSchema: {};
154
- response: {};
155
- }>;
@@ -1,17 +0,0 @@
1
- export type WebAuthnCredential = {
2
- backedUp?: boolean;
3
- counter: number;
4
- createdAt: number;
5
- credentialId: string;
6
- deviceType?: string;
7
- lastUsedAt?: number;
8
- publicKey: string;
9
- transports?: string[];
10
- userId: string;
11
- };
12
- export type WebAuthnCredentialStore = {
13
- getCredential: (credentialId: string) => Promise<WebAuthnCredential | undefined>;
14
- listCredentialsByUser: (userId: string) => Promise<WebAuthnCredential[]>;
15
- removeCredential: (credentialId: string) => Promise<void>;
16
- saveCredential: (credential: WebAuthnCredential) => Promise<void>;
17
- };
@@ -1,34 +0,0 @@
1
- import type { WebhookDeliveryStore, WebhookEndpoint, WebhookEvent } from './types';
2
- export declare const DEFAULT_WEBHOOK_RETRY: {
3
- readonly attempts: 3;
4
- readonly backoffMultiplier: 2;
5
- readonly initialDelayMs: 1000;
6
- };
7
- export declare const DEFAULT_WEBHOOK_TIMEOUT_MS: number;
8
- export type WebhookRetryConfig = {
9
- attempts?: number;
10
- backoffMultiplier?: number;
11
- initialDelayMs?: number;
12
- };
13
- export type WebhookFetch = (url: string, init: {
14
- body: string;
15
- headers: Record<string, string>;
16
- method: string;
17
- signal: AbortSignal;
18
- }) => Promise<{
19
- ok: boolean;
20
- status: number;
21
- }>;
22
- export type WebhooksConfig = {
23
- deliveryStore?: WebhookDeliveryStore;
24
- endpoints: WebhookEndpoint[];
25
- fetch?: WebhookFetch;
26
- onDeliveryError?: (context: {
27
- endpoint: WebhookEndpoint;
28
- error: unknown;
29
- event: WebhookEvent;
30
- }) => void | Promise<void>;
31
- retry?: WebhookRetryConfig;
32
- sleep?: (ms: number) => Promise<void>;
33
- timeoutMs?: number;
34
- };
@@ -1,3 +0,0 @@
1
- import type { AuditEvent } from '../audit/types';
2
- import { type WebhooksConfig } from './config';
3
- export declare const createWebhookDispatcher: ({ deliveryStore, endpoints, fetch: fetchImpl, onDeliveryError, retry, sleep, timeoutMs }: WebhooksConfig) => (event: AuditEvent) => Promise<void>;
@@ -1,2 +0,0 @@
1
- import type { WebhookDeliveryStore } from './types';
2
- export declare const createInMemoryWebhookDeliveryStore: () => WebhookDeliveryStore;
@@ -1,116 +0,0 @@
1
- import { type AnyPgDatabase } from '../stores/postgres';
2
- import type { WebhookDeliveryStore, WebhookEvent } from './types';
3
- export declare const webhookDeliveriesTable: import("drizzle-orm/pg-core").PgTableWithColumns<{
4
- name: "auth_webhook_deliveries";
5
- schema: undefined;
6
- columns: {
7
- attempts: import("drizzle-orm/pg-core").PgBuildColumn<"auth_webhook_deliveries", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgBigInt53Builder>, {
8
- name: string;
9
- tableName: "auth_webhook_deliveries";
10
- dataType: "number int53";
11
- data: number;
12
- driverParam: string | number;
13
- notNull: true;
14
- hasDefault: false;
15
- isPrimaryKey: false;
16
- isAutoincrement: false;
17
- hasRuntimeDefault: false;
18
- enumValues: undefined;
19
- identity: undefined;
20
- generated: undefined;
21
- }>;
22
- created_at_ms: import("drizzle-orm/pg-core").PgBuildColumn<"auth_webhook_deliveries", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgBigInt53Builder>, {
23
- name: string;
24
- tableName: "auth_webhook_deliveries";
25
- dataType: "number int53";
26
- data: number;
27
- driverParam: string | number;
28
- notNull: true;
29
- hasDefault: false;
30
- isPrimaryKey: false;
31
- isAutoincrement: false;
32
- hasRuntimeDefault: false;
33
- enumValues: undefined;
34
- identity: undefined;
35
- generated: undefined;
36
- }>;
37
- endpoint_url: import("drizzle-orm/pg-core").PgBuildColumn<"auth_webhook_deliveries", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgVarcharBuilder<[string, ...string[]]>>, {
38
- name: string;
39
- tableName: "auth_webhook_deliveries";
40
- dataType: "string";
41
- data: string;
42
- driverParam: string;
43
- notNull: true;
44
- hasDefault: false;
45
- isPrimaryKey: false;
46
- isAutoincrement: false;
47
- hasRuntimeDefault: false;
48
- enumValues: undefined;
49
- identity: undefined;
50
- generated: undefined;
51
- }>;
52
- envelope_id: import("drizzle-orm/pg-core").PgBuildColumn<"auth_webhook_deliveries", import("drizzle-orm/pg-core").SetIsPrimaryKey<import("drizzle-orm/pg-core").PgVarcharBuilder<[string, ...string[]]>>, {
53
- name: string;
54
- tableName: "auth_webhook_deliveries";
55
- dataType: "string";
56
- data: string;
57
- driverParam: string;
58
- notNull: true;
59
- hasDefault: false;
60
- isPrimaryKey: false;
61
- isAutoincrement: false;
62
- hasRuntimeDefault: false;
63
- enumValues: undefined;
64
- identity: undefined;
65
- generated: undefined;
66
- }>;
67
- envelope_json: import("drizzle-orm/pg-core").PgBuildColumn<"auth_webhook_deliveries", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").PgJsonbBuilder, WebhookEvent>>, {
68
- name: string;
69
- tableName: "auth_webhook_deliveries";
70
- dataType: "object json";
71
- data: WebhookEvent;
72
- driverParam: unknown;
73
- notNull: true;
74
- hasDefault: false;
75
- isPrimaryKey: false;
76
- isAutoincrement: false;
77
- hasRuntimeDefault: false;
78
- enumValues: undefined;
79
- identity: undefined;
80
- generated: undefined;
81
- }>;
82
- last_error: import("drizzle-orm/pg-core").PgBuildColumn<"auth_webhook_deliveries", import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>, {
83
- name: string;
84
- tableName: "auth_webhook_deliveries";
85
- dataType: "string";
86
- data: string;
87
- driverParam: string;
88
- notNull: false;
89
- hasDefault: false;
90
- isPrimaryKey: false;
91
- isAutoincrement: false;
92
- hasRuntimeDefault: false;
93
- enumValues: undefined;
94
- identity: undefined;
95
- generated: undefined;
96
- }>;
97
- last_status: import("drizzle-orm/pg-core").PgBuildColumn<"auth_webhook_deliveries", import("drizzle-orm/pg-core").PgBigInt53Builder, {
98
- name: string;
99
- tableName: "auth_webhook_deliveries";
100
- dataType: "number int53";
101
- data: number;
102
- driverParam: string | number;
103
- notNull: false;
104
- hasDefault: false;
105
- isPrimaryKey: false;
106
- isAutoincrement: false;
107
- hasRuntimeDefault: false;
108
- enumValues: undefined;
109
- identity: undefined;
110
- generated: undefined;
111
- }>;
112
- };
113
- dialect: "pg";
114
- }>;
115
- export declare const createNeonWebhookDeliveryStore: (databaseUrl: string) => WebhookDeliveryStore;
116
- export declare const createPostgresWebhookDeliveryStore: <DB extends AnyPgDatabase>(db: DB) => WebhookDeliveryStore;
@@ -1,11 +0,0 @@
1
- export declare const signWebhook: ({ id, payload, secret, timestamp }: {
2
- id: string;
3
- payload: string;
4
- secret: string;
5
- timestamp: string;
6
- }) => Promise<string>;
7
- export declare const verifyWebhookSignature: ({ headers, payload, secret }: {
8
- headers: Record<string, string | undefined>;
9
- payload: string;
10
- secret: string;
11
- }) => Promise<boolean>;
@@ -1,25 +0,0 @@
1
- import type { AuditEvent, AuditEventType } from '../audit/types';
2
- export type WebhookEndpoint = {
3
- events?: readonly AuditEventType[];
4
- secret: string;
5
- url: string;
6
- };
7
- export type WebhookEvent = {
8
- createdAt: number;
9
- data: AuditEvent;
10
- id: string;
11
- type: AuditEventType;
12
- };
13
- export type WebhookDelivery = {
14
- attempts: number;
15
- createdAt: number;
16
- endpointUrl: string;
17
- envelope: WebhookEvent;
18
- lastError?: string;
19
- lastStatus?: number;
20
- };
21
- export type WebhookDeliveryStore = {
22
- listFailed: (limit?: number) => Promise<WebhookDelivery[]>;
23
- recordFailure: (delivery: WebhookDelivery) => Promise<void>;
24
- removeFailure: (envelopeId: string) => Promise<void>;
25
- };