@absolutejs/auth 0.56.1 → 0.56.3

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 (177) hide show
  1. package/dist/cli/migrate.js +39 -13
  2. package/dist/cli/migrate.js.map +4 -4
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.js +85 -15
  5. package/dist/index.js.map +7 -7
  6. package/dist/oidc/index.js +35 -3
  7. package/dist/oidc/index.js.map +3 -3
  8. package/dist/oidc/postgresStores.d.ts +30 -0
  9. package/dist/server.js +85 -15
  10. package/dist/server.js.map +7 -7
  11. package/package.json +1 -1
  12. package/dist/abuse/captcha.d.ts +0 -11
  13. package/dist/abuse/config.d.ts +0 -29
  14. package/dist/actions.d.ts +0 -27
  15. package/dist/agents/config.d.ts +0 -44
  16. package/dist/agents/context.d.ts +0 -46
  17. package/dist/agents/principal.d.ts +0 -4
  18. package/dist/agents/registration.d.ts +0 -162
  19. package/dist/agents/routes.d.ts +0 -321
  20. package/dist/agents/types.d.ts +0 -129
  21. package/dist/apikeys/config.d.ts +0 -64
  22. package/dist/apikeys/routes.d.ts +0 -83
  23. package/dist/apikeys/types.d.ts +0 -53
  24. package/dist/audit/config.d.ts +0 -9
  25. package/dist/audit/export.d.ts +0 -2
  26. package/dist/audit/inMemoryAuditStore.d.ts +0 -2
  27. package/dist/audit/integrity.d.ts +0 -19
  28. package/dist/audit/postgresAuditStore.d.ts +0 -116
  29. package/dist/audit/siem.d.ts +0 -11
  30. package/dist/audit/types.d.ts +0 -19
  31. package/dist/audit/wrap.d.ts +0 -9
  32. package/dist/authContext.d.ts +0 -193
  33. package/dist/authorization/config.d.ts +0 -19
  34. package/dist/authorization/protectPermission.d.ts +0 -52
  35. package/dist/compliance/cipher.d.ts +0 -11
  36. package/dist/compliance/config.d.ts +0 -18
  37. package/dist/compliance/redaction.d.ts +0 -8
  38. package/dist/compliance/routes.d.ts +0 -89
  39. package/dist/constants.d.ts +0 -10
  40. package/dist/credentials/backgroundOps.d.ts +0 -45
  41. package/dist/credentials/config.d.ts +0 -68
  42. package/dist/credentials/emailValidation.d.ts +0 -9
  43. package/dist/credentials/emailVerification.d.ts +0 -83
  44. package/dist/credentials/import.d.ts +0 -34
  45. package/dist/credentials/inMemoryCredentialStore.d.ts +0 -2
  46. package/dist/credentials/legacyHashers.d.ts +0 -3
  47. package/dist/credentials/login.d.ts +0 -76
  48. package/dist/credentials/passwordPolicy.d.ts +0 -15
  49. package/dist/credentials/passwordReset.d.ts +0 -87
  50. package/dist/credentials/postgresCredentialStore.d.ts +0 -235
  51. package/dist/credentials/register.d.ts +0 -54
  52. package/dist/credentials/routes.d.ts +0 -201
  53. package/dist/credentials/types.d.ts +0 -26
  54. package/dist/crypto.d.ts +0 -32
  55. package/dist/errors.d.ts +0 -12
  56. package/dist/federation/tokenStore.d.ts +0 -29
  57. package/dist/htmx/configuredRoutes.d.ts +0 -542
  58. package/dist/htmx/renderers.d.ts +0 -8
  59. package/dist/htmx/routes.d.ts +0 -514
  60. package/dist/htmx/types.d.ts +0 -129
  61. package/dist/linkedProviders/inMemoryStores.d.ts +0 -9
  62. package/dist/linkedProviders/neonStores.d.ts +0 -484
  63. package/dist/linkedProviders/oauthAccountResolver.d.ts +0 -28
  64. package/dist/linkedProviders/oauthResolver.d.ts +0 -9
  65. package/dist/linkedProviders/resolver.d.ts +0 -22
  66. package/dist/lockout/config.d.ts +0 -17
  67. package/dist/lockout/inMemoryLockoutStore.d.ts +0 -2
  68. package/dist/lockout/postgresLockoutStore.d.ts +0 -71
  69. package/dist/lockout/redisLockoutStore.d.ts +0 -3
  70. package/dist/lockout/types.d.ts +0 -12
  71. package/dist/mfa/backupCodes.d.ts +0 -5
  72. package/dist/mfa/challenge.d.ts +0 -70
  73. package/dist/mfa/config.d.ts +0 -50
  74. package/dist/mfa/gate.d.ts +0 -2
  75. package/dist/mfa/inMemoryMfaStore.d.ts +0 -2
  76. package/dist/mfa/management.d.ts +0 -106
  77. package/dist/mfa/postgresMfaStore.d.ts +0 -206
  78. package/dist/mfa/rotation.d.ts +0 -17
  79. package/dist/mfa/routes.d.ts +0 -234
  80. package/dist/mfa/secret.d.ts +0 -2
  81. package/dist/mfa/sms.d.ts +0 -105
  82. package/dist/mfa/totp.d.ts +0 -91
  83. package/dist/mfa/types.d.ts +0 -23
  84. package/dist/oidc/clientAuth.d.ts +0 -19
  85. package/dist/oidc/config.d.ts +0 -295
  86. package/dist/oidc/dpop.d.ts +0 -23
  87. package/dist/oidc/inMemoryVciStores.d.ts +0 -3
  88. package/dist/oidc/jar.d.ts +0 -14
  89. package/dist/oidc/keys.d.ts +0 -35
  90. package/dist/oidc/logout.d.ts +0 -38
  91. package/dist/oidc/mtls.d.ts +0 -11
  92. package/dist/oidc/par.d.ts +0 -28
  93. package/dist/oidc/registration.d.ts +0 -138
  94. package/dist/oidc/routes.d.ts +0 -568
  95. package/dist/oidc/types.d.ts +0 -143
  96. package/dist/oidc/userinfo.d.ts +0 -21
  97. package/dist/oidc/vci.d.ts +0 -159
  98. package/dist/oidc/vciRoutes.d.ts +0 -92
  99. package/dist/organizations/config.d.ts +0 -46
  100. package/dist/organizations/operations.d.ts +0 -39
  101. package/dist/organizations/routes.d.ts +0 -299
  102. package/dist/organizations/types.d.ts +0 -45
  103. package/dist/passwordless/config.d.ts +0 -43
  104. package/dist/passwordless/routes.d.ts +0 -163
  105. package/dist/passwordless/types.d.ts +0 -9
  106. package/dist/pluginIdentity.d.ts +0 -2
  107. package/dist/portal/config.d.ts +0 -34
  108. package/dist/portal/operations.d.ts +0 -10
  109. package/dist/portal/routes.d.ts +0 -160
  110. package/dist/portal/types.d.ts +0 -16
  111. package/dist/providers/clients.d.ts +0 -1818
  112. package/dist/providersFromEnv.d.ts +0 -19
  113. package/dist/roles/config.d.ts +0 -27
  114. package/dist/roles/operations.d.ts +0 -8
  115. package/dist/roles/routes.d.ts +0 -106
  116. package/dist/roles/types.d.ts +0 -14
  117. package/dist/routes/authorize.d.ts +0 -102
  118. package/dist/routes/callback.d.ts +0 -64
  119. package/dist/routes/profile.d.ts +0 -70
  120. package/dist/routes/protectRoute.d.ts +0 -51
  121. package/dist/routes/refresh.d.ts +0 -74
  122. package/dist/routes/revoke.d.ts +0 -73
  123. package/dist/routes/sessions.d.ts +0 -103
  124. package/dist/routes/signout.d.ts +0 -70
  125. package/dist/routes/stepUp.d.ts +0 -48
  126. package/dist/routes/userStatus.d.ts +0 -72
  127. package/dist/scim/config.d.ts +0 -57
  128. package/dist/scim/extensions.d.ts +0 -30
  129. package/dist/scim/inMemoryScimTokenStore.d.ts +0 -2
  130. package/dist/scim/routes.d.ts +0 -366
  131. package/dist/scim/serialize.d.ts +0 -83
  132. package/dist/scim/types.d.ts +0 -54
  133. package/dist/session/access.d.ts +0 -33
  134. package/dist/session/anonymous.d.ts +0 -12
  135. package/dist/session/cleanup.d.ts +0 -45
  136. package/dist/session/impersonation.d.ts +0 -34
  137. package/dist/session/inMemoryStore.d.ts +0 -7
  138. package/dist/session/multiSession.d.ts +0 -27
  139. package/dist/session/neonStore.d.ts +0 -513
  140. package/dist/session/promote.d.ts +0 -23
  141. package/dist/session/redisStore.d.ts +0 -6
  142. package/dist/session/sessionsConfig.d.ts +0 -9
  143. package/dist/session/state.d.ts +0 -33
  144. package/dist/session/types.d.ts +0 -21
  145. package/dist/session/userSessions.d.ts +0 -19
  146. package/dist/sso/config.d.ts +0 -149
  147. package/dist/sso/discoveryRoute.d.ts +0 -63
  148. package/dist/sso/oidcRoutes.d.ts +0 -98
  149. package/dist/sso/samlRoutes.d.ts +0 -179
  150. package/dist/sso/types.d.ts +0 -53
  151. package/dist/stores/postgres.d.ts +0 -5
  152. package/dist/stores/redis.d.ts +0 -5
  153. package/dist/telemetry/tracing.d.ts +0 -15
  154. package/dist/tenancy.d.ts +0 -9
  155. package/dist/typeGuards.d.ts +0 -6
  156. package/dist/typebox.d.ts +0 -4
  157. package/dist/types.d.ts +0 -421
  158. package/dist/utils.d.ts +0 -45
  159. package/dist/vault/config.d.ts +0 -20
  160. package/dist/vault/inMemoryVaultStore.d.ts +0 -2
  161. package/dist/vault/postgresVaultStore.d.ts +0 -86
  162. package/dist/vault/types.d.ts +0 -14
  163. package/dist/vc/inMemoryVpStores.d.ts +0 -2
  164. package/dist/vc/openid4vp.d.ts +0 -82
  165. package/dist/vc/postgresVcStores.d.ts +0 -300
  166. package/dist/vc/sdJwt.d.ts +0 -37
  167. package/dist/vc/statusList.d.ts +0 -29
  168. package/dist/vc/statusListRoutes.d.ts +0 -63
  169. package/dist/vc/vpRoutes.d.ts +0 -120
  170. package/dist/webauthn/adapter.d.ts +0 -59
  171. package/dist/webauthn/config.d.ts +0 -36
  172. package/dist/webauthn/routes.d.ts +0 -155
  173. package/dist/webauthn/types.d.ts +0 -17
  174. package/dist/webhooks/config.d.ts +0 -34
  175. package/dist/webhooks/dispatcher.d.ts +0 -3
  176. package/dist/webhooks/sign.d.ts +0 -11
  177. package/dist/webhooks/types.d.ts +0 -25
@@ -1,143 +0,0 @@
1
- export type OAuthClient = {
2
- backchannelLogoutUri?: string;
3
- clientId: string;
4
- /** Grant types this dynamically registered client declared. Undefined preserves
5
- * the historical authorization-code default for statically configured clients. */
6
- grantTypes?: string[];
7
- hashedSecret?: string;
8
- jwks?: JsonWebKey[];
9
- jwksUri?: string;
10
- name: string;
11
- postLogoutRedirectUris?: string[];
12
- redirectUris: string[];
13
- requirePushedAuthorizationRequests?: boolean;
14
- requireSignedRequestObject?: boolean;
15
- scopes: string[];
16
- tlsCertificateBoundThumbprints?: string[];
17
- };
18
- export type ClientAssertionJtiStore = {
19
- recordIfFresh: (clientId: string, jti: string, expiresAt: number) => Promise<boolean>;
20
- };
21
- export type PushedAuthorizationRequest = {
22
- clientId: string;
23
- createdAt: number;
24
- expiresAt: number;
25
- params: Record<string, string>;
26
- requestUriHash: string;
27
- };
28
- export type PushedAuthorizationRequestStore = {
29
- consumeRequest: (requestUriHash: string) => Promise<PushedAuthorizationRequest | undefined>;
30
- saveRequest: (request: PushedAuthorizationRequest) => Promise<void>;
31
- };
32
- export type OAuthClientStore = {
33
- deleteClient?: (clientId: string) => Promise<void>;
34
- findClient: (clientId: string) => Promise<OAuthClient | undefined>;
35
- saveClient?: (client: OAuthClient) => Promise<void>;
36
- updateClient?: (clientId: string, client: OAuthClient) => Promise<void>;
37
- };
38
- export type ClientRegistrationToken = {
39
- clientId: string;
40
- createdAt: number;
41
- tokenHash: string;
42
- };
43
- export type ClientRegistrationTokenStore = {
44
- deleteByClientId: (clientId: string) => Promise<void>;
45
- findByTokenHash: (tokenHash: string) => Promise<ClientRegistrationToken | undefined>;
46
- saveToken: (token: ClientRegistrationToken) => Promise<void>;
47
- };
48
- export type InitialAccessTokenStore = {
49
- consumeToken: (tokenHash: string) => Promise<boolean>;
50
- };
51
- export type AuthorizationCode = {
52
- acr?: string;
53
- claims?: Record<string, unknown>;
54
- clientId: string;
55
- codeChallenge: string;
56
- codeHash: string;
57
- createdAt: number;
58
- dpopJkt?: string;
59
- expiresAt: number;
60
- nonce?: string;
61
- redirectUri: string;
62
- scopes: string[];
63
- userId: string;
64
- };
65
- export type AuthorizationCodeStore = {
66
- consumeCode: (codeHash: string) => Promise<AuthorizationCode | undefined>;
67
- saveCode: (code: AuthorizationCode) => Promise<void>;
68
- };
69
- export type OidcRefreshToken = {
70
- acr?: string;
71
- claims?: Record<string, unknown>;
72
- clientId: string;
73
- createdAt: number;
74
- dpopJkt?: string;
75
- expiresAt: number;
76
- scopes: string[];
77
- tokenHash: string;
78
- userId: string;
79
- };
80
- export type OidcRefreshTokenStore = {
81
- consumeToken: (tokenHash: string) => Promise<OidcRefreshToken | undefined>;
82
- deleteForUser: (userId: string) => Promise<void>;
83
- getToken: (tokenHash: string) => Promise<OidcRefreshToken | undefined>;
84
- listClientIdsForUser: (userId: string) => Promise<string[]>;
85
- saveToken: (token: OidcRefreshToken) => Promise<void>;
86
- };
87
- export type DeviceAuthorizationStatus = 'approved' | 'denied' | 'pending';
88
- export type DeviceAuthorization = {
89
- clientId: string;
90
- createdAt: number;
91
- deviceCodeHash: string;
92
- expiresAt: number;
93
- intervalSeconds: number;
94
- scopes: string[];
95
- status: DeviceAuthorizationStatus;
96
- userCode: string;
97
- userSub?: string;
98
- };
99
- export type LogoutDelivery = {
100
- attempts: number;
101
- clientId: string;
102
- createdAt: number;
103
- endpointUrl: string;
104
- id: string;
105
- lastError?: string;
106
- lastStatus?: number;
107
- logoutToken: string;
108
- userId: string;
109
- };
110
- export type LogoutDeliveryStore = {
111
- listFailed: (limit?: number) => Promise<LogoutDelivery[]>;
112
- recordFailure: (delivery: LogoutDelivery) => Promise<void>;
113
- removeFailure: (deliveryId: string) => Promise<void>;
114
- };
115
- export type DeviceAuthorizationStore = {
116
- deleteByDeviceCodeHash: (deviceCodeHash: string) => Promise<void>;
117
- findByDeviceCodeHash: (deviceCodeHash: string) => Promise<DeviceAuthorization | undefined>;
118
- findByUserCode: (userCode: string) => Promise<DeviceAuthorization | undefined>;
119
- saveDeviceAuthorization: (deviceAuthorization: DeviceAuthorization) => Promise<void>;
120
- updateStatus: (deviceCodeHash: string, status: DeviceAuthorizationStatus, userSub?: string) => Promise<void>;
121
- };
122
- export type BackchannelAuthStatus = 'approved' | 'denied' | 'pending';
123
- export type BackchannelAuthRequest = {
124
- authReqId: string;
125
- bindingMessage?: string;
126
- clientId: string;
127
- createdAt: number;
128
- expiresAt: number;
129
- /** Poll-mode interval seconds. Bumped by 5 each time the client polls faster than
130
- * allowed (returns `slow_down` until the new interval has elapsed). */
131
- intervalSeconds: number;
132
- lastPolledAt?: number;
133
- scopes: string[];
134
- status: BackchannelAuthStatus;
135
- userSub?: string;
136
- };
137
- export type BackchannelAuthStore = {
138
- deleteByAuthReqId: (authReqId: string) => Promise<void>;
139
- findByAuthReqId: (authReqId: string) => Promise<BackchannelAuthRequest | undefined>;
140
- recordPoll: (authReqId: string, at: number) => Promise<void>;
141
- saveBackchannelAuth: (request: BackchannelAuthRequest) => Promise<void>;
142
- updateStatus: (authReqId: string, status: BackchannelAuthStatus, userSub?: string) => Promise<void>;
143
- };
@@ -1,21 +0,0 @@
1
- import type { OidcProviderConfig } from './config';
2
- export type UserInfoResult = {
3
- body: Record<string, unknown> & {
4
- sub: string;
5
- };
6
- ok: true;
7
- } | {
8
- body: {
9
- error: string;
10
- error_description?: string;
11
- };
12
- error: 'invalid_request' | 'invalid_token';
13
- ok: false;
14
- };
15
- export declare const readUserInfoBearer: (authorization: string | undefined) => string | undefined;
16
- export declare const fetchUserInfo: <UserType>({ config, now, token }: {
17
- config: OidcProviderConfig<UserType>;
18
- now?: number;
19
- token: string | undefined;
20
- }) => Promise<UserInfoResult>;
21
- export declare const userInfoChallengeHeader: (error: "invalid_request" | "invalid_token") => string;
@@ -1,159 +0,0 @@
1
- import type { RouteString } from '../types';
2
- import { type SigningKey } from './keys';
3
- export declare const PRE_AUTHORIZED_CODE_GRANT = "urn:ietf:params:oauth:grant-type:pre-authorized_code";
4
- export type CredentialConfiguration = {
5
- format: 'vc+sd-jwt';
6
- id: string;
7
- display?: Array<{
8
- locale?: string;
9
- name: string;
10
- }>;
11
- order?: string[];
12
- claims?: Record<string, {
13
- display?: Array<{
14
- locale?: string;
15
- name: string;
16
- }>;
17
- }>;
18
- vct: string;
19
- };
20
- export type CredentialOffer = {
21
- clientId: string;
22
- configurationId: string;
23
- createdAt: number;
24
- expiresAt: number;
25
- preAuthorizedCodeHash: string;
26
- redeemed: boolean;
27
- userId: string;
28
- };
29
- export type CredentialOfferStore = {
30
- consumeOffer: (preAuthorizedCodeHash: string) => Promise<CredentialOffer | undefined>;
31
- saveOffer: (offer: CredentialOffer) => Promise<void>;
32
- };
33
- export type CredentialNonceRecord = {
34
- expiresAt: number;
35
- nonceHash: string;
36
- };
37
- export type CredentialNonceStore = {
38
- consumeNonce: (nonceHash: string) => Promise<CredentialNonceRecord | undefined>;
39
- saveNonce: (record: CredentialNonceRecord) => Promise<void>;
40
- };
41
- export type VciConfig = {
42
- accessTokenTtlMs?: number;
43
- credentialConfigurations: CredentialConfiguration[];
44
- credentialNonceStore?: CredentialNonceStore;
45
- credentialOfferStore: CredentialOfferStore;
46
- nonceTtlMs?: number;
47
- offerTtlMs?: number;
48
- resolveCredentialClaims: (context: {
49
- configurationId: string;
50
- userId: string;
51
- }) => Promise<Record<string, unknown>> | Record<string, unknown>;
52
- resolveProtectedClaims?: (context: {
53
- configurationId: string;
54
- userId: string;
55
- }) => Promise<Record<string, unknown>> | Record<string, unknown>;
56
- signingKey?: SigningKey;
57
- vciRoute?: RouteString;
58
- };
59
- export declare const DEFAULT_VCI_ROUTE: RouteString;
60
- export declare const createCredentialOffer: ({ clientId, configurationId, now, store, ttlMs, userId }: {
61
- clientId: string;
62
- configurationId: string;
63
- now?: number;
64
- store: CredentialOfferStore;
65
- ttlMs?: number;
66
- userId: string;
67
- }) => Promise<{
68
- offer: CredentialOffer;
69
- preAuthorizedCode: string;
70
- }>;
71
- export type PreAuthExchangeResult = {
72
- error: 'expired_token' | 'invalid_grant';
73
- ok: false;
74
- } | {
75
- access_token: string;
76
- c_nonce?: string;
77
- c_nonce_expires_in?: number;
78
- expires_in: number;
79
- ok: true;
80
- token_type: 'Bearer';
81
- };
82
- export declare const exchangePreAuthorizedCode: ({ config, issuer, now, preAuthorizedCode, signingKey }: {
83
- config: VciConfig;
84
- issuer: string;
85
- now?: number;
86
- preAuthorizedCode: string;
87
- signingKey: SigningKey;
88
- }) => Promise<{
89
- error: "expired_token" | "invalid_grant";
90
- ok: false;
91
- } | {
92
- access_token: string;
93
- c_nonce?: string;
94
- c_nonce_expires_in?: number;
95
- expires_in: number;
96
- ok: true;
97
- token_type: "Bearer";
98
- }>;
99
- export type CredentialIssueInput = {
100
- accessToken: string;
101
- proofJwt?: string;
102
- requestedFormat?: 'vc+sd-jwt';
103
- };
104
- export type CredentialIssueResult = {
105
- credential: string;
106
- format: 'vc+sd-jwt';
107
- ok: true;
108
- } | {
109
- error: 'invalid_credential_request' | 'invalid_proof' | 'invalid_token' | 'unsupported_credential_format';
110
- ok: false;
111
- };
112
- export declare const buildIssuerMetadata: ({ config, issuer, vciRoute }: {
113
- config: VciConfig;
114
- issuer: string;
115
- vciRoute: RouteString;
116
- }) => {
117
- credential_configurations_supported: {
118
- [k: string]: {
119
- claims: Record<string, {
120
- display?: Array<{
121
- locale?: string;
122
- name: string;
123
- }>;
124
- }> | undefined;
125
- credential_signing_alg_values_supported: string[];
126
- cryptographic_binding_methods_supported: string[];
127
- display: {
128
- locale?: string;
129
- name: string;
130
- }[] | undefined;
131
- format: "vc+sd-jwt";
132
- order: string[] | undefined;
133
- proof_types_supported: {
134
- jwt: {
135
- proof_signing_alg_values_supported: string[];
136
- };
137
- };
138
- vct: string;
139
- };
140
- };
141
- credential_endpoint: string;
142
- credential_issuer: string;
143
- nonce_endpoint: string | undefined;
144
- token_endpoint: string;
145
- };
146
- export declare const issueCredential: ({ config, input, issuer, now, signingKey }: {
147
- config: VciConfig;
148
- input: CredentialIssueInput;
149
- issuer: string;
150
- now?: number;
151
- signingKey: SigningKey;
152
- }) => Promise<{
153
- credential: string;
154
- format: "vc+sd-jwt";
155
- ok: true;
156
- } | {
157
- error: "invalid_credential_request" | "invalid_proof" | "invalid_token" | "unsupported_credential_format";
158
- ok: false;
159
- }>;
@@ -1,92 +0,0 @@
1
- import { Elysia } from 'elysia';
2
- import type { SigningKey } from './keys';
3
- import { type VciConfig } from './vci';
4
- export declare const vciRoutes: ({ issuerUrl, signingKey, vciConfig }: {
5
- issuerUrl: string;
6
- signingKey: SigningKey;
7
- vciConfig: VciConfig;
8
- }) => Elysia<"", {
9
- decorator: {};
10
- store: {};
11
- derive: {};
12
- resolve: {};
13
- }, {
14
- typebox: {};
15
- error: {};
16
- }, {
17
- schema: {};
18
- standaloneSchema: {};
19
- macro: {};
20
- macroFn: {};
21
- parser: {};
22
- response: {};
23
- }, {
24
- ".well-known": {
25
- "openid-credential-issuer": {
26
- get: {
27
- body: unknown;
28
- params: {};
29
- query: unknown;
30
- headers: unknown;
31
- response: {
32
- 200: Response;
33
- };
34
- };
35
- };
36
- };
37
- } & {
38
- [x: string]: {
39
- credential: {
40
- post: {
41
- body: {
42
- format?: "vc+sd-jwt" | undefined;
43
- proof?: {
44
- jwt: string;
45
- proof_type: "jwt";
46
- } | undefined;
47
- };
48
- params: {};
49
- query: unknown;
50
- headers: unknown;
51
- response: {
52
- 200: Response;
53
- 422: {
54
- type: "validation";
55
- on: string;
56
- summary?: string;
57
- message?: string;
58
- found?: unknown;
59
- property?: string;
60
- expected?: string;
61
- };
62
- };
63
- };
64
- };
65
- };
66
- } & {
67
- [x: string]: {
68
- nonce: {
69
- post: {
70
- body: unknown;
71
- params: {};
72
- query: unknown;
73
- headers: unknown;
74
- response: {
75
- 200: Response;
76
- };
77
- };
78
- };
79
- };
80
- }, {
81
- derive: {};
82
- resolve: {};
83
- schema: {};
84
- standaloneSchema: {};
85
- response: {};
86
- }, {
87
- derive: {};
88
- resolve: {};
89
- schema: {};
90
- standaloneSchema: {};
91
- response: {};
92
- }>;
@@ -1,46 +0,0 @@
1
- import type { AuditEmitter } from '../audit/config';
2
- import type { AuthSessionStore } from '../session/types';
3
- import type { OrganizationId } from '../tenancy';
4
- import type { RouteString } from '../types';
5
- import type { OrganizationMembership, OrganizationStore } from './types';
6
- export declare const DEFAULT_INVITATION_TTL_MS: number;
7
- export declare const DEFAULT_ORGANIZATIONS_ROUTE: RouteString;
8
- export declare const DEFAULT_OWNER_ROLES: string[];
9
- export type OrganizationInvitationMessage = {
10
- email: string;
11
- expiresAt: number;
12
- inviterUserId?: string;
13
- organizationId: OrganizationId;
14
- token: string;
15
- };
16
- export type OrganizationsConfig<UserType> = {
17
- getUserId: (user: UserType) => string;
18
- organizationStore: OrganizationStore;
19
- canCreateOrganization?: (user: UserType) => boolean | Promise<boolean>;
20
- canManageMembers?: (context: {
21
- membership?: OrganizationMembership;
22
- organizationId: OrganizationId;
23
- user: UserType;
24
- }) => boolean | Promise<boolean>;
25
- invitationDurationMs?: number;
26
- onMembershipAdded?: (context: {
27
- organizationId: OrganizationId;
28
- roles: string[];
29
- userId: string;
30
- }) => void | Promise<void>;
31
- onMembershipRemoved?: (context: {
32
- organizationId: OrganizationId;
33
- userId: string;
34
- }) => void | Promise<void>;
35
- onOrganizationCreated?: (context: {
36
- organizationId: OrganizationId;
37
- ownerUserId: string;
38
- }) => void | Promise<void>;
39
- onSendInvitation?: (message: OrganizationInvitationMessage) => void | Promise<void>;
40
- organizationsRoute?: RouteString;
41
- ownerRoles?: string[];
42
- };
43
- export type OrganizationsRouteProps<UserType> = OrganizationsConfig<UserType> & {
44
- authSessionStore?: AuthSessionStore<UserType>;
45
- emit?: AuditEmitter;
46
- };
@@ -1,39 +0,0 @@
1
- import type { OrganizationId } from '../tenancy';
2
- import type { Organization, OrganizationInvitation, OrganizationMembership, OrganizationStore } from './types';
3
- export declare const acceptInvitation: ({ organizationStore, token, userId }: {
4
- organizationStore: OrganizationStore;
5
- token: string;
6
- userId: string;
7
- }) => Promise<OrganizationMembership | undefined>;
8
- export declare const autoAssignOrgsByEmail: ({ email, getOrgsForDomain, organizationStore, roles, userId }: {
9
- email: string;
10
- getOrgsForDomain: (domain: string) => Promise<OrganizationId[]> | OrganizationId[];
11
- organizationStore: OrganizationStore;
12
- roles?: string[];
13
- userId: string;
14
- }) => Promise<string[]>;
15
- export declare const createOrganization: ({ metadata, name, organizationStore, ownerRoles, ownerUserId }: {
16
- metadata?: Record<string, unknown>;
17
- name: string;
18
- organizationStore: OrganizationStore;
19
- ownerRoles?: string[];
20
- ownerUserId: string;
21
- }) => Promise<Organization>;
22
- export declare const inviteToOrganization: ({ email, invitationDurationMs, inviterUserId, organizationId, organizationStore, roles }: {
23
- email: string;
24
- invitationDurationMs?: number;
25
- inviterUserId?: string;
26
- organizationId: OrganizationId;
27
- organizationStore: OrganizationStore;
28
- roles?: string[];
29
- }) => Promise<{
30
- invitation: OrganizationInvitation;
31
- token: string;
32
- }>;
33
- export declare const listUserOrganizations: ({ organizationStore, userId }: {
34
- organizationStore: OrganizationStore;
35
- userId: string;
36
- }) => Promise<{
37
- membership: OrganizationMembership;
38
- organization: Organization | undefined;
39
- }[]>;