@absolutejs/auth 0.55.5 → 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 (219) hide show
  1. package/README.md +6 -1
  2. package/dist/agents/index.js +36 -6
  3. package/dist/agents/index.js.map +6 -5
  4. package/dist/index.d.ts +3400 -8
  5. package/dist/index.js +777 -522
  6. package/dist/index.js.map +17 -13
  7. package/dist/server.d.ts +6 -6
  8. package/dist/server.js +775 -522
  9. package/dist/server.js.map +18 -14
  10. package/package.json +1 -1
  11. package/dist/abuse/captcha.d.ts +0 -11
  12. package/dist/abuse/config.d.ts +0 -29
  13. package/dist/actions.d.ts +0 -27
  14. package/dist/adaptive/config.d.ts +0 -34
  15. package/dist/adaptive/fingerprint.d.ts +0 -2
  16. package/dist/adaptive/inMemoryStores.d.ts +0 -3
  17. package/dist/adaptive/postgresStores.d.ts +0 -245
  18. package/dist/adaptive/types.d.ts +0 -62
  19. package/dist/agents/config.d.ts +0 -44
  20. package/dist/agents/context.d.ts +0 -46
  21. package/dist/agents/idJag.d.ts +0 -49
  22. package/dist/agents/inMemoryStores.d.ts +0 -4
  23. package/dist/agents/oidcAdapter.d.ts +0 -12
  24. package/dist/agents/postgresStores.d.ts +0 -569
  25. package/dist/agents/principal.d.ts +0 -4
  26. package/dist/agents/registration.d.ts +0 -162
  27. package/dist/agents/registrationClient.d.ts +0 -50
  28. package/dist/agents/routes.d.ts +0 -214
  29. package/dist/agents/types.d.ts +0 -129
  30. package/dist/apikeys/config.d.ts +0 -64
  31. package/dist/apikeys/inMemoryStores.d.ts +0 -4
  32. package/dist/apikeys/postgresStores.d.ts +0 -359
  33. package/dist/apikeys/routes.d.ts +0 -83
  34. package/dist/apikeys/types.d.ts +0 -53
  35. package/dist/audit/config.d.ts +0 -9
  36. package/dist/audit/export.d.ts +0 -2
  37. package/dist/audit/inMemoryAuditStore.d.ts +0 -2
  38. package/dist/audit/integrity.d.ts +0 -19
  39. package/dist/audit/postgresAuditStore.d.ts +0 -116
  40. package/dist/audit/siem.d.ts +0 -11
  41. package/dist/audit/types.d.ts +0 -19
  42. package/dist/audit/wrap.d.ts +0 -9
  43. package/dist/authInstance.d.ts +0 -7
  44. package/dist/authorization/config.d.ts +0 -19
  45. package/dist/authorization/protectPermission.d.ts +0 -52
  46. package/dist/compliance/cipher.d.ts +0 -5
  47. package/dist/compliance/config.d.ts +0 -18
  48. package/dist/compliance/redaction.d.ts +0 -8
  49. package/dist/compliance/routes.d.ts +0 -89
  50. package/dist/constants.d.ts +0 -10
  51. package/dist/credentials/backgroundOps.d.ts +0 -45
  52. package/dist/credentials/config.d.ts +0 -68
  53. package/dist/credentials/emailValidation.d.ts +0 -9
  54. package/dist/credentials/emailVerification.d.ts +0 -83
  55. package/dist/credentials/import.d.ts +0 -34
  56. package/dist/credentials/inMemoryCredentialStore.d.ts +0 -2
  57. package/dist/credentials/legacyHashers.d.ts +0 -3
  58. package/dist/credentials/login.d.ts +0 -76
  59. package/dist/credentials/passwordPolicy.d.ts +0 -15
  60. package/dist/credentials/passwordReset.d.ts +0 -87
  61. package/dist/credentials/postgresCredentialStore.d.ts +0 -235
  62. package/dist/credentials/register.d.ts +0 -54
  63. package/dist/credentials/routes.d.ts +0 -201
  64. package/dist/credentials/types.d.ts +0 -26
  65. package/dist/crypto.d.ts +0 -32
  66. package/dist/errors.d.ts +0 -12
  67. package/dist/federation/tokenStore.d.ts +0 -29
  68. package/dist/fga/config.d.ts +0 -53
  69. package/dist/fga/inMemoryStores.d.ts +0 -3
  70. package/dist/fga/postgresStores.d.ts +0 -116
  71. package/dist/fga/redisCheckCache.d.ts +0 -11
  72. package/dist/fga/schema.d.ts +0 -2
  73. package/dist/fga/types.d.ts +0 -28
  74. package/dist/htmx/renderers.d.ts +0 -8
  75. package/dist/htmx/routes.d.ts +0 -514
  76. package/dist/htmx/types.d.ts +0 -129
  77. package/dist/linkedProviders/inMemoryStores.d.ts +0 -9
  78. package/dist/linkedProviders/neonStores.d.ts +0 -484
  79. package/dist/linkedProviders/oauthResolver.d.ts +0 -9
  80. package/dist/linkedProviders/resolver.d.ts +0 -22
  81. package/dist/lockout/config.d.ts +0 -17
  82. package/dist/lockout/inMemoryLockoutStore.d.ts +0 -2
  83. package/dist/lockout/postgresLockoutStore.d.ts +0 -71
  84. package/dist/lockout/redisLockoutStore.d.ts +0 -3
  85. package/dist/lockout/types.d.ts +0 -12
  86. package/dist/mfa/backupCodes.d.ts +0 -5
  87. package/dist/mfa/challenge.d.ts +0 -70
  88. package/dist/mfa/config.d.ts +0 -50
  89. package/dist/mfa/gate.d.ts +0 -2
  90. package/dist/mfa/inMemoryMfaStore.d.ts +0 -2
  91. package/dist/mfa/management.d.ts +0 -106
  92. package/dist/mfa/postgresMfaStore.d.ts +0 -206
  93. package/dist/mfa/rotation.d.ts +0 -17
  94. package/dist/mfa/routes.d.ts +0 -234
  95. package/dist/mfa/secret.d.ts +0 -2
  96. package/dist/mfa/sms.d.ts +0 -105
  97. package/dist/mfa/totp.d.ts +0 -91
  98. package/dist/mfa/types.d.ts +0 -23
  99. package/dist/migrations/generate.d.ts +0 -2
  100. package/dist/migrations/index.d.ts +0 -5
  101. package/dist/migrations/runner.d.ts +0 -13
  102. package/dist/migrations/types.d.ts +0 -14
  103. package/dist/oidc/clientAuth.d.ts +0 -19
  104. package/dist/oidc/clientIdMetadata.d.ts +0 -32
  105. package/dist/oidc/config.d.ts +0 -295
  106. package/dist/oidc/dpop.d.ts +0 -23
  107. package/dist/oidc/inMemoryStores.d.ts +0 -11
  108. package/dist/oidc/inMemoryVciStores.d.ts +0 -3
  109. package/dist/oidc/jar.d.ts +0 -14
  110. package/dist/oidc/keys.d.ts +0 -25
  111. package/dist/oidc/logout.d.ts +0 -38
  112. package/dist/oidc/mtls.d.ts +0 -11
  113. package/dist/oidc/par.d.ts +0 -28
  114. package/dist/oidc/postgresStores.d.ts +0 -1187
  115. package/dist/oidc/registration.d.ts +0 -138
  116. package/dist/oidc/routes.d.ts +0 -568
  117. package/dist/oidc/types.d.ts +0 -143
  118. package/dist/oidc/userinfo.d.ts +0 -21
  119. package/dist/oidc/vci.d.ts +0 -159
  120. package/dist/oidc/vciRoutes.d.ts +0 -92
  121. package/dist/organizations/config.d.ts +0 -46
  122. package/dist/organizations/inMemoryOrganizationStore.d.ts +0 -2
  123. package/dist/organizations/operations.d.ts +0 -39
  124. package/dist/organizations/postgresOrganizationStore.d.ts +0 -340
  125. package/dist/organizations/routes.d.ts +0 -298
  126. package/dist/organizations/types.d.ts +0 -45
  127. package/dist/passwordless/config.d.ts +0 -43
  128. package/dist/passwordless/inMemoryPasswordlessTokenStore.d.ts +0 -2
  129. package/dist/passwordless/postgresPasswordlessTokenStore.d.ts +0 -56
  130. package/dist/passwordless/routes.d.ts +0 -162
  131. package/dist/passwordless/types.d.ts +0 -9
  132. package/dist/portal/config.d.ts +0 -34
  133. package/dist/portal/inMemorySetupSessionStore.d.ts +0 -2
  134. package/dist/portal/operations.d.ts +0 -10
  135. package/dist/portal/postgresSetupSessionStore.d.ts +0 -116
  136. package/dist/portal/routes.d.ts +0 -160
  137. package/dist/portal/types.d.ts +0 -16
  138. package/dist/providers/clients.d.ts +0 -1818
  139. package/dist/providersFromEnv.d.ts +0 -19
  140. package/dist/roles/config.d.ts +0 -27
  141. package/dist/roles/inMemoryRoleStore.d.ts +0 -2
  142. package/dist/roles/operations.d.ts +0 -8
  143. package/dist/roles/postgresRoleStore.d.ts +0 -86
  144. package/dist/roles/resolver.d.ts +0 -17
  145. package/dist/roles/routes.d.ts +0 -105
  146. package/dist/roles/types.d.ts +0 -14
  147. package/dist/routes/authorize.d.ts +0 -102
  148. package/dist/routes/callback.d.ts +0 -64
  149. package/dist/routes/profile.d.ts +0 -70
  150. package/dist/routes/protectRoute.d.ts +0 -51
  151. package/dist/routes/refresh.d.ts +0 -74
  152. package/dist/routes/revoke.d.ts +0 -73
  153. package/dist/routes/sessions.d.ts +0 -103
  154. package/dist/routes/signout.d.ts +0 -70
  155. package/dist/routes/stepUp.d.ts +0 -48
  156. package/dist/routes/userStatus.d.ts +0 -72
  157. package/dist/scim/config.d.ts +0 -57
  158. package/dist/scim/extensions.d.ts +0 -30
  159. package/dist/scim/inMemoryScimTokenStore.d.ts +0 -2
  160. package/dist/scim/postgresScimTokenStore.d.ts +0 -86
  161. package/dist/scim/routes.d.ts +0 -366
  162. package/dist/scim/serialize.d.ts +0 -83
  163. package/dist/scim/types.d.ts +0 -54
  164. package/dist/serverConfig.d.ts +0 -10
  165. package/dist/session/access.d.ts +0 -33
  166. package/dist/session/anonymous.d.ts +0 -12
  167. package/dist/session/cleanup.d.ts +0 -45
  168. package/dist/session/impersonation.d.ts +0 -34
  169. package/dist/session/inMemoryStore.d.ts +0 -7
  170. package/dist/session/internalData.d.ts +0 -34
  171. package/dist/session/multiSession.d.ts +0 -27
  172. package/dist/session/neonStore.d.ts +0 -513
  173. package/dist/session/promote.d.ts +0 -23
  174. package/dist/session/redisStore.d.ts +0 -6
  175. package/dist/session/sessionsConfig.d.ts +0 -9
  176. package/dist/session/state.d.ts +0 -33
  177. package/dist/session/types.d.ts +0 -20
  178. package/dist/session/userSessions.d.ts +0 -19
  179. package/dist/sso/config.d.ts +0 -149
  180. package/dist/sso/discoveryRoute.d.ts +0 -63
  181. package/dist/sso/inMemorySamlServiceProviderStore.d.ts +0 -2
  182. package/dist/sso/inMemorySsoConnectionStore.d.ts +0 -2
  183. package/dist/sso/oidcRoutes.d.ts +0 -98
  184. package/dist/sso/postgresSamlServiceProviderStore.d.ts +0 -101
  185. package/dist/sso/postgresSsoConnectionStore.d.ts +0 -116
  186. package/dist/sso/samlIdpRoutes.d.ts +0 -139
  187. package/dist/sso/samlRoutes.d.ts +0 -178
  188. package/dist/sso/types.d.ts +0 -53
  189. package/dist/stores/postgres.d.ts +0 -5
  190. package/dist/stores/redis.d.ts +0 -5
  191. package/dist/telemetry/tracing.d.ts +0 -15
  192. package/dist/tenancy.d.ts +0 -9
  193. package/dist/typeGuards.d.ts +0 -6
  194. package/dist/typebox.d.ts +0 -4
  195. package/dist/types.d.ts +0 -421
  196. package/dist/utils.d.ts +0 -45
  197. package/dist/vault/config.d.ts +0 -20
  198. package/dist/vault/inMemoryVaultStore.d.ts +0 -2
  199. package/dist/vault/postgresVaultStore.d.ts +0 -86
  200. package/dist/vault/types.d.ts +0 -14
  201. package/dist/vc/inMemoryVpStores.d.ts +0 -2
  202. package/dist/vc/openid4vp.d.ts +0 -82
  203. package/dist/vc/postgresVcStores.d.ts +0 -300
  204. package/dist/vc/sdJwt.d.ts +0 -37
  205. package/dist/vc/statusList.d.ts +0 -29
  206. package/dist/vc/statusListRoutes.d.ts +0 -63
  207. package/dist/vc/vpRoutes.d.ts +0 -120
  208. package/dist/webauthn/adapter.d.ts +0 -59
  209. package/dist/webauthn/config.d.ts +0 -36
  210. package/dist/webauthn/inMemoryWebAuthnCredentialStore.d.ts +0 -2
  211. package/dist/webauthn/postgresWebAuthnCredentialStore.d.ts +0 -146
  212. package/dist/webauthn/routes.d.ts +0 -155
  213. package/dist/webauthn/types.d.ts +0 -17
  214. package/dist/webhooks/config.d.ts +0 -34
  215. package/dist/webhooks/dispatcher.d.ts +0 -3
  216. package/dist/webhooks/inMemoryStore.d.ts +0 -2
  217. package/dist/webhooks/postgresStore.d.ts +0 -116
  218. package/dist/webhooks/sign.d.ts +0 -11
  219. package/dist/webhooks/types.d.ts +0 -25
@@ -1,129 +0,0 @@
1
- /** Minimal shape the account/menu/protected fragments read off the resolved
2
- * user. The consumer's full user record is structurally assignable. */
3
- export type AuthHtmxUser = {
4
- sub: string;
5
- email?: string | null;
6
- first_name?: string | null;
7
- last_name?: string | null;
8
- primary_auth_identity_id?: string | null;
9
- };
10
- export type AuthHtmxProviderInfo = {
11
- name: string;
12
- logoUrl: string;
13
- };
14
- /** Per-provider display data (name + logo) keyed by provider option. */
15
- export type AuthHtmxProviderData = Record<string, AuthHtmxProviderInfo>;
16
- export type AuthHtmxConnectorTarget = {
17
- provider: string;
18
- label: string;
19
- description: string;
20
- };
21
- /** OAuth client a provider authorization URL targets. Providers configured
22
- * with separate login/connector clients use this to disambiguate. */
23
- export type AuthHtmxClient = 'login' | 'connector';
24
- export type AuthIdentitySummary = {
25
- id: string;
26
- provider_subject: string;
27
- isPrimary?: boolean;
28
- };
29
- export type AuthIdentityMergeRequestSummary = {
30
- id: string;
31
- status: string;
32
- conflicting_auth_provider: string;
33
- conflicting_provider_subject: string;
34
- };
35
- export type AuthIdentityPayload = {
36
- identities: Record<string, AuthIdentitySummary[]>;
37
- mergeRequests: AuthIdentityMergeRequestSummary[];
38
- };
39
- export type LinkedProviderBindingSummary = {
40
- id: string;
41
- label?: string | null;
42
- externalAccountId: string;
43
- connectorProvider: string;
44
- externalAccountType: string;
45
- status: string;
46
- availableScopes: string[];
47
- };
48
- export type LinkedProviderGrantSummary = {
49
- id: string;
50
- authProviderKey: string;
51
- status: string;
52
- providerSubject: string;
53
- grantedScopes: string[];
54
- };
55
- export type LinkedProviderPayload = {
56
- bindings: LinkedProviderBindingSummary[];
57
- grants: LinkedProviderGrantSummary[];
58
- };
59
- /** Per-fragment overrides. Any renderer left unset uses the package default. */
60
- export type AuthHtmxRenderOverrides = {
61
- account?: (user: AuthHtmxUser) => string;
62
- authMenu?: (user: AuthHtmxUser | null) => string;
63
- connectorLinks?: () => string;
64
- connectors?: (payload: LinkedProviderPayload) => string;
65
- identities?: (payload: AuthIdentityPayload, query: string) => string;
66
- protected?: (user: AuthHtmxUser) => string;
67
- providerLogin?: (verb: string, includeDropdown: boolean) => string;
68
- };
69
- export type AuthHtmxRenderersConfig = {
70
- /** Display data (name + logo) for every provider the UI references. */
71
- providerData: AuthHtmxProviderData;
72
- /** Providers shown as one-tap login buttons, in order. */
73
- featuredLoginProviders: string[];
74
- /** Connector targets shown on the connectors page. */
75
- connectorTargets: AuthHtmxConnectorTarget[];
76
- /** Builds the OAuth2 authorization URL for a provider. Defaults to
77
- * `/oauth2/<provider>/authorization` (with `?client=<client>` when a
78
- * client is given). Override to add per-provider client routing. */
79
- authorizationHref?: (provider: string, client?: AuthHtmxClient) => string;
80
- /** Per-fragment overrides. */
81
- render?: AuthHtmxRenderOverrides;
82
- };
83
- export type ResolvedAuthHtmxRenderers = Required<AuthHtmxRenderOverrides> & {
84
- escapeHtml: (value: string) => string;
85
- };
86
- /** Config for the `htmx` option on `auth`. Extends the renderers
87
- * config with the data actions the fragment routes call — keeping the auth
88
- * package agnostic of your identity schema while it owns the route wiring
89
- * (protectRoute gating, payload re-rendering, signout, delete-account flow). */
90
- export type AuthHtmxConfig = AuthHtmxRenderersConfig & {
91
- /** Load the current user's grouped identities + pending merge requests. */
92
- loadAuthIdentities: (userSub: string) => AuthIdentityPayload | Promise<AuthIdentityPayload>;
93
- /** Load the current user's connector grants + external-account bindings. */
94
- loadLinkedProviders: (userSub: string) => LinkedProviderPayload | Promise<LinkedProviderPayload>;
95
- /** Promote an identity to the user's primary. */
96
- setPrimaryIdentity: (input: {
97
- identityId: string;
98
- userSub: string;
99
- }) => void | Promise<unknown>;
100
- /** Remove an identity (the route already guards last-identity + primary). */
101
- removeIdentity: (input: {
102
- identityId: string;
103
- userSub: string;
104
- }) => void | Promise<unknown>;
105
- /** Accept a pending merge request into the current user. */
106
- mergeIdentity: (input: {
107
- mergeRequestId: string;
108
- userSub: string;
109
- }) => void | Promise<unknown>;
110
- /** Dismiss a pending merge request. */
111
- dismissMergeRequest: (input: {
112
- mergeRequestId: string;
113
- userSub: string;
114
- }) => void | Promise<unknown>;
115
- /** Revoke a connector grant the user owns. */
116
- removeGrant: (input: {
117
- grantId: string;
118
- userSub: string;
119
- }) => void | Promise<unknown>;
120
- /** Remove an external-account binding the user owns. */
121
- removeBinding: (input: {
122
- bindingId: string;
123
- userSub: string;
124
- }) => void | Promise<unknown>;
125
- /** Delete the user's account and all linked data. */
126
- deleteAccount: (input: {
127
- userSub: string;
128
- }) => void | Promise<unknown>;
129
- };
@@ -1,9 +0,0 @@
1
- import type { LinkedProviderBinding, LinkedProviderBindingStore, LinkedProviderGrant, LinkedProviderGrantStore } from '@absolutejs/linked-providers';
2
- export type CreateInMemoryLinkedProviderStoresOptions = {
3
- grants?: LinkedProviderGrant[];
4
- bindings?: LinkedProviderBinding[];
5
- };
6
- export declare const createInMemoryLinkedProviderStores: (input?: CreateInMemoryLinkedProviderStoresOptions) => {
7
- grantStore: LinkedProviderGrantStore;
8
- bindingStore: LinkedProviderBindingStore;
9
- };
@@ -1,484 +0,0 @@
1
- import type { LinkedProviderBindingStore, LinkedProviderGrantStore } from '@absolutejs/linked-providers';
2
- import type { AnyPgDatabase } from '../stores/postgres';
3
- import type { OAuth2ConfigurationOptions } from '../types';
4
- export declare const linkedProviderBindingsTable: import("drizzle-orm/pg-core").PgTableWithColumns<{
5
- name: "linked_provider_bindings";
6
- schema: undefined;
7
- columns: {
8
- available_scopes: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_bindings", import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").PgJsonbBuilder, string[]>>>, {
9
- name: string;
10
- tableName: "linked_provider_bindings";
11
- dataType: "object json";
12
- data: string[];
13
- driverParam: unknown;
14
- notNull: true;
15
- hasDefault: true;
16
- isPrimaryKey: false;
17
- isAutoincrement: false;
18
- hasRuntimeDefault: false;
19
- enumValues: undefined;
20
- identity: undefined;
21
- generated: undefined;
22
- }>;
23
- capabilities: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_bindings", import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").PgJsonbBuilder, string[]>>, {
24
- name: string;
25
- tableName: "linked_provider_bindings";
26
- dataType: "object json";
27
- data: string[];
28
- driverParam: unknown;
29
- notNull: false;
30
- hasDefault: true;
31
- isPrimaryKey: false;
32
- isAutoincrement: false;
33
- hasRuntimeDefault: false;
34
- enumValues: undefined;
35
- identity: undefined;
36
- generated: undefined;
37
- }>;
38
- connector_provider: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_bindings", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgVarcharBuilder<[string, ...string[]]>>, {
39
- name: string;
40
- tableName: "linked_provider_bindings";
41
- dataType: "string";
42
- data: string;
43
- driverParam: string;
44
- notNull: true;
45
- hasDefault: false;
46
- isPrimaryKey: false;
47
- isAutoincrement: false;
48
- hasRuntimeDefault: false;
49
- enumValues: undefined;
50
- identity: undefined;
51
- generated: undefined;
52
- }>;
53
- created_at: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_bindings", import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTimestampBuilder>>, {
54
- name: string;
55
- tableName: "linked_provider_bindings";
56
- dataType: "object date";
57
- data: Date;
58
- driverParam: string;
59
- notNull: true;
60
- hasDefault: true;
61
- isPrimaryKey: false;
62
- isAutoincrement: false;
63
- hasRuntimeDefault: false;
64
- enumValues: undefined;
65
- identity: undefined;
66
- generated: undefined;
67
- }>;
68
- email: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_bindings", import("drizzle-orm/pg-core").PgVarcharBuilder<[string, ...string[]]>, {
69
- name: string;
70
- tableName: "linked_provider_bindings";
71
- dataType: "string";
72
- data: string;
73
- driverParam: string;
74
- notNull: false;
75
- hasDefault: false;
76
- isPrimaryKey: false;
77
- isAutoincrement: false;
78
- hasRuntimeDefault: false;
79
- enumValues: undefined;
80
- identity: undefined;
81
- generated: undefined;
82
- }>;
83
- external_account_id: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_bindings", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgVarcharBuilder<[string, ...string[]]>>, {
84
- name: string;
85
- tableName: "linked_provider_bindings";
86
- dataType: "string";
87
- data: string;
88
- driverParam: string;
89
- notNull: true;
90
- hasDefault: false;
91
- isPrimaryKey: false;
92
- isAutoincrement: false;
93
- hasRuntimeDefault: false;
94
- enumValues: undefined;
95
- identity: undefined;
96
- generated: undefined;
97
- }>;
98
- external_account_type: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_bindings", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgVarcharBuilder<[string, ...string[]]>>, {
99
- name: string;
100
- tableName: "linked_provider_bindings";
101
- dataType: "string";
102
- data: string;
103
- driverParam: string;
104
- notNull: true;
105
- hasDefault: false;
106
- isPrimaryKey: false;
107
- isAutoincrement: false;
108
- hasRuntimeDefault: false;
109
- enumValues: undefined;
110
- identity: undefined;
111
- generated: undefined;
112
- }>;
113
- grant_id: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_bindings", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgVarcharBuilder<[string, ...string[]]>>, {
114
- name: string;
115
- tableName: "linked_provider_bindings";
116
- dataType: "string";
117
- data: string;
118
- driverParam: string;
119
- notNull: true;
120
- hasDefault: false;
121
- isPrimaryKey: false;
122
- isAutoincrement: false;
123
- hasRuntimeDefault: false;
124
- enumValues: undefined;
125
- identity: undefined;
126
- generated: undefined;
127
- }>;
128
- id: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_bindings", import("drizzle-orm/pg-core").SetIsPrimaryKey<import("drizzle-orm/pg-core").PgVarcharBuilder<[string, ...string[]]>>, {
129
- name: string;
130
- tableName: "linked_provider_bindings";
131
- dataType: "string";
132
- data: string;
133
- driverParam: string;
134
- notNull: true;
135
- hasDefault: false;
136
- isPrimaryKey: false;
137
- isAutoincrement: false;
138
- hasRuntimeDefault: false;
139
- enumValues: undefined;
140
- identity: undefined;
141
- generated: undefined;
142
- }>;
143
- label: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_bindings", import("drizzle-orm/pg-core").PgVarcharBuilder<[string, ...string[]]>, {
144
- name: string;
145
- tableName: "linked_provider_bindings";
146
- dataType: "string";
147
- data: string;
148
- driverParam: string;
149
- notNull: false;
150
- hasDefault: false;
151
- isPrimaryKey: false;
152
- isAutoincrement: false;
153
- hasRuntimeDefault: false;
154
- enumValues: undefined;
155
- identity: undefined;
156
- generated: undefined;
157
- }>;
158
- metadata: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_bindings", import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").PgJsonbBuilder, Record<string, unknown>>>, {
159
- name: string;
160
- tableName: "linked_provider_bindings";
161
- dataType: "object json";
162
- data: Record<string, unknown>;
163
- driverParam: unknown;
164
- notNull: false;
165
- hasDefault: true;
166
- isPrimaryKey: false;
167
- isAutoincrement: false;
168
- hasRuntimeDefault: false;
169
- enumValues: undefined;
170
- identity: undefined;
171
- generated: undefined;
172
- }>;
173
- status: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_bindings", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").PgVarcharBuilder<[string, ...string[]]>, import("@absolutejs/linked-providers").LinkedProviderBindingStatus>>, {
174
- name: string;
175
- tableName: "linked_provider_bindings";
176
- dataType: "string";
177
- data: import("@absolutejs/linked-providers").LinkedProviderBindingStatus;
178
- driverParam: string;
179
- notNull: true;
180
- hasDefault: false;
181
- isPrimaryKey: false;
182
- isAutoincrement: false;
183
- hasRuntimeDefault: false;
184
- enumValues: undefined;
185
- identity: undefined;
186
- generated: undefined;
187
- }>;
188
- updated_at: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_bindings", import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTimestampBuilder>>, {
189
- name: string;
190
- tableName: "linked_provider_bindings";
191
- dataType: "object date";
192
- data: Date;
193
- driverParam: string;
194
- notNull: true;
195
- hasDefault: true;
196
- isPrimaryKey: false;
197
- isAutoincrement: false;
198
- hasRuntimeDefault: false;
199
- enumValues: undefined;
200
- identity: undefined;
201
- generated: undefined;
202
- }>;
203
- username: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_bindings", import("drizzle-orm/pg-core").PgVarcharBuilder<[string, ...string[]]>, {
204
- name: string;
205
- tableName: "linked_provider_bindings";
206
- dataType: "string";
207
- data: string;
208
- driverParam: string;
209
- notNull: false;
210
- hasDefault: false;
211
- isPrimaryKey: false;
212
- isAutoincrement: false;
213
- hasRuntimeDefault: false;
214
- enumValues: undefined;
215
- identity: undefined;
216
- generated: undefined;
217
- }>;
218
- };
219
- dialect: "pg";
220
- }>;
221
- export declare const linkedProviderGrantsTable: import("drizzle-orm/pg-core").PgTableWithColumns<{
222
- name: "linked_provider_grants";
223
- schema: undefined;
224
- columns: {
225
- access_token_ciphertext: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_grants", import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>, {
226
- name: string;
227
- tableName: "linked_provider_grants";
228
- dataType: "string";
229
- data: string;
230
- driverParam: string;
231
- notNull: false;
232
- hasDefault: false;
233
- isPrimaryKey: false;
234
- isAutoincrement: false;
235
- hasRuntimeDefault: false;
236
- enumValues: undefined;
237
- identity: undefined;
238
- generated: undefined;
239
- }>;
240
- auth_provider_key: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_grants", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgVarcharBuilder<[string, ...string[]]>>, {
241
- name: string;
242
- tableName: "linked_provider_grants";
243
- dataType: "string";
244
- data: string;
245
- driverParam: string;
246
- notNull: true;
247
- hasDefault: false;
248
- isPrimaryKey: false;
249
- isAutoincrement: false;
250
- hasRuntimeDefault: false;
251
- enumValues: undefined;
252
- identity: undefined;
253
- generated: undefined;
254
- }>;
255
- created_at: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_grants", import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTimestampBuilder>>, {
256
- name: string;
257
- tableName: "linked_provider_grants";
258
- dataType: "object date";
259
- data: Date;
260
- driverParam: string;
261
- notNull: true;
262
- hasDefault: true;
263
- isPrimaryKey: false;
264
- isAutoincrement: false;
265
- hasRuntimeDefault: false;
266
- enumValues: undefined;
267
- identity: undefined;
268
- generated: undefined;
269
- }>;
270
- expires_at: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_grants", import("drizzle-orm/pg-core").PgTimestampBuilder, {
271
- name: string;
272
- tableName: "linked_provider_grants";
273
- dataType: "object date";
274
- data: Date;
275
- driverParam: string;
276
- notNull: false;
277
- hasDefault: false;
278
- isPrimaryKey: false;
279
- isAutoincrement: false;
280
- hasRuntimeDefault: false;
281
- enumValues: undefined;
282
- identity: undefined;
283
- generated: undefined;
284
- }>;
285
- granted_scopes: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_grants", import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").PgJsonbBuilder, string[]>>>, {
286
- name: string;
287
- tableName: "linked_provider_grants";
288
- dataType: "object json";
289
- data: string[];
290
- driverParam: unknown;
291
- notNull: true;
292
- hasDefault: true;
293
- isPrimaryKey: false;
294
- isAutoincrement: false;
295
- hasRuntimeDefault: false;
296
- enumValues: undefined;
297
- identity: undefined;
298
- generated: undefined;
299
- }>;
300
- id: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_grants", import("drizzle-orm/pg-core").SetIsPrimaryKey<import("drizzle-orm/pg-core").PgVarcharBuilder<[string, ...string[]]>>, {
301
- name: string;
302
- tableName: "linked_provider_grants";
303
- dataType: "string";
304
- data: string;
305
- driverParam: string;
306
- notNull: true;
307
- hasDefault: false;
308
- isPrimaryKey: false;
309
- isAutoincrement: false;
310
- hasRuntimeDefault: false;
311
- enumValues: undefined;
312
- identity: undefined;
313
- generated: undefined;
314
- }>;
315
- last_refresh_error: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_grants", import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>, {
316
- name: string;
317
- tableName: "linked_provider_grants";
318
- dataType: "string";
319
- data: string;
320
- driverParam: string;
321
- notNull: false;
322
- hasDefault: false;
323
- isPrimaryKey: false;
324
- isAutoincrement: false;
325
- hasRuntimeDefault: false;
326
- enumValues: undefined;
327
- identity: undefined;
328
- generated: undefined;
329
- }>;
330
- last_refreshed_at: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_grants", import("drizzle-orm/pg-core").PgTimestampBuilder, {
331
- name: string;
332
- tableName: "linked_provider_grants";
333
- dataType: "object date";
334
- data: Date;
335
- driverParam: string;
336
- notNull: false;
337
- hasDefault: false;
338
- isPrimaryKey: false;
339
- isAutoincrement: false;
340
- hasRuntimeDefault: false;
341
- enumValues: undefined;
342
- identity: undefined;
343
- generated: undefined;
344
- }>;
345
- metadata: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_grants", import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").PgJsonbBuilder, Record<string, unknown>>>, {
346
- name: string;
347
- tableName: "linked_provider_grants";
348
- dataType: "object json";
349
- data: Record<string, unknown>;
350
- driverParam: unknown;
351
- notNull: false;
352
- hasDefault: true;
353
- isPrimaryKey: false;
354
- isAutoincrement: false;
355
- hasRuntimeDefault: false;
356
- enumValues: undefined;
357
- identity: undefined;
358
- generated: undefined;
359
- }>;
360
- owner_ref: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_grants", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgVarcharBuilder<[string, ...string[]]>>, {
361
- name: string;
362
- tableName: "linked_provider_grants";
363
- dataType: "string";
364
- data: string;
365
- driverParam: string;
366
- notNull: true;
367
- hasDefault: false;
368
- isPrimaryKey: false;
369
- isAutoincrement: false;
370
- hasRuntimeDefault: false;
371
- enumValues: undefined;
372
- identity: undefined;
373
- generated: undefined;
374
- }>;
375
- provider_family: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_grants", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgVarcharBuilder<[string, ...string[]]>>, {
376
- name: string;
377
- tableName: "linked_provider_grants";
378
- dataType: "string";
379
- data: string;
380
- driverParam: string;
381
- notNull: true;
382
- hasDefault: false;
383
- isPrimaryKey: false;
384
- isAutoincrement: false;
385
- hasRuntimeDefault: false;
386
- enumValues: undefined;
387
- identity: undefined;
388
- generated: undefined;
389
- }>;
390
- provider_subject: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_grants", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgVarcharBuilder<[string, ...string[]]>>, {
391
- name: string;
392
- tableName: "linked_provider_grants";
393
- dataType: "string";
394
- data: string;
395
- driverParam: string;
396
- notNull: true;
397
- hasDefault: false;
398
- isPrimaryKey: false;
399
- isAutoincrement: false;
400
- hasRuntimeDefault: false;
401
- enumValues: undefined;
402
- identity: undefined;
403
- generated: undefined;
404
- }>;
405
- refresh_token_ciphertext: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_grants", import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>, {
406
- name: string;
407
- tableName: "linked_provider_grants";
408
- dataType: "string";
409
- data: string;
410
- driverParam: string;
411
- notNull: false;
412
- hasDefault: false;
413
- isPrimaryKey: false;
414
- isAutoincrement: false;
415
- hasRuntimeDefault: false;
416
- enumValues: undefined;
417
- identity: undefined;
418
- generated: undefined;
419
- }>;
420
- status: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_grants", import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").Set$Type<import("drizzle-orm/pg-core").PgVarcharBuilder<[string, ...string[]]>, import("@absolutejs/linked-providers").LinkedProviderGrantStatus>>, {
421
- name: string;
422
- tableName: "linked_provider_grants";
423
- dataType: "string";
424
- data: import("@absolutejs/linked-providers").LinkedProviderGrantStatus;
425
- driverParam: string;
426
- notNull: true;
427
- hasDefault: false;
428
- isPrimaryKey: false;
429
- isAutoincrement: false;
430
- hasRuntimeDefault: false;
431
- enumValues: undefined;
432
- identity: undefined;
433
- generated: undefined;
434
- }>;
435
- token_type: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_grants", import("drizzle-orm/pg-core").PgVarcharBuilder<[string, ...string[]]>, {
436
- name: string;
437
- tableName: "linked_provider_grants";
438
- dataType: "string";
439
- data: string;
440
- driverParam: string;
441
- notNull: false;
442
- hasDefault: false;
443
- isPrimaryKey: false;
444
- isAutoincrement: false;
445
- hasRuntimeDefault: false;
446
- enumValues: undefined;
447
- identity: undefined;
448
- generated: undefined;
449
- }>;
450
- updated_at: import("drizzle-orm/pg-core").PgBuildColumn<"linked_provider_grants", import("drizzle-orm/pg-core").SetHasDefault<import("drizzle-orm/pg-core").SetNotNull<import("drizzle-orm/pg-core").PgTimestampBuilder>>, {
451
- name: string;
452
- tableName: "linked_provider_grants";
453
- dataType: "object date";
454
- data: Date;
455
- driverParam: string;
456
- notNull: true;
457
- hasDefault: true;
458
- isPrimaryKey: false;
459
- isAutoincrement: false;
460
- hasRuntimeDefault: false;
461
- enumValues: undefined;
462
- identity: undefined;
463
- generated: undefined;
464
- }>;
465
- };
466
- dialect: "pg";
467
- }>;
468
- export type LinkedProviderGrantRow = typeof linkedProviderGrantsTable.$inferSelect;
469
- export type LinkedProviderBindingRow = typeof linkedProviderBindingsTable.$inferSelect;
470
- export declare const createNeonLinkedProviderBindingStore: <DB extends AnyPgDatabase>(db: DB) => LinkedProviderBindingStore;
471
- export declare const createNeonLinkedProviderGrantStore: <DB extends AnyPgDatabase>(db: DB) => LinkedProviderGrantStore;
472
- export declare const createNeonLinkedProviderStores: (databaseUrl: string) => {
473
- bindingStore: LinkedProviderBindingStore;
474
- db: import("drizzle-orm/neon-http").NeonHttpDatabase<import("drizzle-orm").EmptyRelations> & {
475
- $client: import("@neondatabase/serverless").NeonQueryFunction<false, false>;
476
- };
477
- grantStore: LinkedProviderGrantStore;
478
- };
479
- export type CreateNeonOAuthLinkedProviderCredentialResolverOptions = {
480
- databaseUrl: string;
481
- providersConfiguration: OAuth2ConfigurationOptions;
482
- now?: () => number;
483
- };
484
- export declare const createNeonOAuthLinkedProviderCredentialResolver: ({ databaseUrl, now, providersConfiguration }: CreateNeonOAuthLinkedProviderCredentialResolverOptions) => Promise<import("@absolutejs/linked-providers").LinkedProviderCredentialResolver>;
@@ -1,9 +0,0 @@
1
- import type { LinkedProviderBindingStore, LinkedProviderGrantStore } from '@absolutejs/linked-providers';
2
- import type { OAuth2ConfigurationOptions } from '../types';
3
- export type CreateOAuthLinkedProviderCredentialResolverOptions = {
4
- grantStore: LinkedProviderGrantStore;
5
- bindingStore: LinkedProviderBindingStore;
6
- providersConfiguration: OAuth2ConfigurationOptions;
7
- now?: () => number;
8
- };
9
- export declare const createOAuthLinkedProviderCredentialResolver: ({ bindingStore, grantStore, now, providersConfiguration }: CreateOAuthLinkedProviderCredentialResolverOptions) => Promise<import("@absolutejs/linked-providers").LinkedProviderCredentialResolver>;
@@ -1,22 +0,0 @@
1
- import type { LinkedProviderAccessTokenLease, LinkedProviderBinding, LinkedProviderBindingStore, LinkedProviderCredentialFailureReport, LinkedProviderCredentialResolver, LinkedProviderGrant, LinkedProviderGrantStore, ResolvedLinkedProviderCredential } from '@absolutejs/linked-providers';
2
- export type LinkedProviderRefreshResult = {
3
- grant: LinkedProviderGrant;
4
- lease: LinkedProviderAccessTokenLease;
5
- };
6
- export type CreateLinkedProviderCredentialResolverOptions = {
7
- grantStore: LinkedProviderGrantStore;
8
- bindingStore: LinkedProviderBindingStore;
9
- loadAccessTokenLease: (grant: LinkedProviderGrant) => Promise<LinkedProviderAccessTokenLease | null> | LinkedProviderAccessTokenLease | null;
10
- refreshAccessTokenLease?: (grant: LinkedProviderGrant, input?: {
11
- minValidityMs?: number;
12
- requiredScopes?: string[];
13
- }) => Promise<LinkedProviderRefreshResult | null> | LinkedProviderRefreshResult | null;
14
- now?: () => number;
15
- onReportFailure?: (input: {
16
- credential: ResolvedLinkedProviderCredential;
17
- report: LinkedProviderCredentialFailureReport;
18
- grant?: LinkedProviderGrant;
19
- binding?: LinkedProviderBinding;
20
- }) => Promise<void> | void;
21
- };
22
- export declare const createLinkedProviderCredentialResolver: ({ grantStore, bindingStore, loadAccessTokenLease, refreshAccessTokenLease, now, onReportFailure }: CreateLinkedProviderCredentialResolverOptions) => LinkedProviderCredentialResolver;
@@ -1,17 +0,0 @@
1
- import type { LockoutStore } from './types';
2
- export type LockoutConfig = {
3
- lockoutStore: LockoutStore;
4
- lockoutMs?: number;
5
- maxAttempts?: number;
6
- windowMs?: number;
7
- };
8
- export type LockoutState = {
9
- locked: boolean;
10
- retryAfterMs?: number;
11
- };
12
- export type LockoutGuard = {
13
- check: (key: string) => Promise<LockoutState>;
14
- recordFailure: (key: string) => Promise<void>;
15
- recordSuccess: (key: string) => Promise<void>;
16
- };
17
- export declare const createLockoutGuard: ({ lockoutMs, lockoutStore, maxAttempts, windowMs }: LockoutConfig) => LockoutGuard;
@@ -1,2 +0,0 @@
1
- import type { LockoutStore } from './types';
2
- export declare const createInMemoryLockoutStore: () => LockoutStore;