@thunderid/javascript 1.0.6 → 1.1.0

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 (81) hide show
  1. package/dist/api/agents/createAgent.d.ts +28 -0
  2. package/dist/api/agents/createAgent.d.ts.map +1 -0
  3. package/dist/api/agents/deleteAgent.d.ts +27 -0
  4. package/dist/api/agents/deleteAgent.d.ts.map +1 -0
  5. package/dist/api/agents/getAgent.d.ts +28 -0
  6. package/dist/api/agents/getAgent.d.ts.map +1 -0
  7. package/dist/api/agents/getAgents.d.ts +23 -0
  8. package/dist/api/agents/getAgents.d.ts.map +1 -0
  9. package/dist/api/agents/updateAgent.d.ts +33 -0
  10. package/dist/api/agents/updateAgent.d.ts.map +1 -0
  11. package/dist/api/applications/createApplication.d.ts +28 -0
  12. package/dist/api/applications/createApplication.d.ts.map +1 -0
  13. package/dist/api/applications/deleteApplication.d.ts +27 -0
  14. package/dist/api/applications/deleteApplication.d.ts.map +1 -0
  15. package/dist/api/applications/getApplication.d.ts +28 -0
  16. package/dist/api/applications/getApplication.d.ts.map +1 -0
  17. package/dist/api/applications/getApplications.d.ts +24 -0
  18. package/dist/api/applications/getApplications.d.ts.map +1 -0
  19. package/dist/api/applications/updateApplication.d.ts +33 -0
  20. package/dist/api/applications/updateApplication.d.ts.map +1 -0
  21. package/dist/api/updateMeCredentials.d.ts +66 -0
  22. package/dist/api/updateMeCredentials.d.ts.map +1 -0
  23. package/dist/api/users/createUser.d.ts +28 -0
  24. package/dist/api/users/createUser.d.ts.map +1 -0
  25. package/dist/api/users/deleteUser.d.ts +27 -0
  26. package/dist/api/users/deleteUser.d.ts.map +1 -0
  27. package/dist/api/users/getUser.d.ts +28 -0
  28. package/dist/api/users/getUser.d.ts.map +1 -0
  29. package/dist/api/users/getUsers.d.ts +24 -0
  30. package/dist/api/users/getUsers.d.ts.map +1 -0
  31. package/dist/api/users/updateUser.d.ts +33 -0
  32. package/dist/api/users/updateUser.d.ts.map +1 -0
  33. package/dist/cjs/index.cjs +934 -0
  34. package/dist/constants/AgentQueryKeys.d.ts +10 -0
  35. package/dist/constants/AgentQueryKeys.d.ts.map +1 -0
  36. package/dist/constants/ApplicationQueryKeys.d.ts +10 -0
  37. package/dist/constants/ApplicationQueryKeys.d.ts.map +1 -0
  38. package/dist/constants/CredentialConstants.d.ts +22 -0
  39. package/dist/constants/CredentialConstants.d.ts.map +1 -0
  40. package/dist/constants/UserQueryKeys.d.ts +10 -0
  41. package/dist/constants/UserQueryKeys.d.ts.map +1 -0
  42. package/dist/edge/index.js +905 -1
  43. package/dist/i18n/models/i18n.d.ts +13 -0
  44. package/dist/i18n/models/i18n.d.ts.map +1 -1
  45. package/dist/i18n/translations/en-US.d.ts.map +1 -1
  46. package/dist/i18n/translations/fr-FR.d.ts.map +1 -1
  47. package/dist/i18n/translations/hi-IN.d.ts.map +1 -1
  48. package/dist/i18n/translations/ja-JP.d.ts.map +1 -1
  49. package/dist/i18n/translations/pt-BR.d.ts.map +1 -1
  50. package/dist/i18n/translations/pt-PT.d.ts.map +1 -1
  51. package/dist/i18n/translations/si-LK.d.ts.map +1 -1
  52. package/dist/i18n/translations/ta-IN.d.ts.map +1 -1
  53. package/dist/i18n/translations/te-IN.d.ts.map +1 -1
  54. package/dist/index.d.ts +49 -0
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +905 -1
  57. package/dist/models/agent-resource.d.ts +96 -0
  58. package/dist/models/agent-resource.d.ts.map +1 -0
  59. package/dist/models/api.d.ts +57 -0
  60. package/dist/models/api.d.ts.map +1 -0
  61. package/dist/models/application.d.ts +271 -0
  62. package/dist/models/application.d.ts.map +1 -0
  63. package/dist/models/config.d.ts +26 -1
  64. package/dist/models/config.d.ts.map +1 -1
  65. package/dist/models/managed-user.d.ts +44 -0
  66. package/dist/models/managed-user.d.ts.map +1 -0
  67. package/dist/utils/evaluateChangePasswordForm.d.ts +64 -0
  68. package/dist/utils/evaluateChangePasswordForm.d.ts.map +1 -0
  69. package/dist/utils/evaluatePasswordPolicy.d.ts +60 -0
  70. package/dist/utils/evaluatePasswordPolicy.d.ts.map +1 -0
  71. package/dist/utils/mapCredentialUpdateError.d.ts +31 -0
  72. package/dist/utils/mapCredentialUpdateError.d.ts.map +1 -0
  73. package/dist/utils/requestManagementResource.d.ts +41 -0
  74. package/dist/utils/requestManagementResource.d.ts.map +1 -0
  75. package/dist/utils/resolveChangeCredentialPolicy.d.ts +24 -0
  76. package/dist/utils/resolveChangeCredentialPolicy.d.ts.map +1 -0
  77. package/dist/utils/resolveResourceEndpoint.d.ts +1 -1
  78. package/dist/utils/resolveResourceEndpoint.d.ts.map +1 -1
  79. package/dist/utils/supportsCredential.d.ts +32 -0
  80. package/dist/utils/supportsCredential.d.ts.map +1 -0
  81. package/package.json +3 -3
@@ -0,0 +1,96 @@
1
+ import { AssertionConfig, OAuth2Config } from './application';
2
+ /**
3
+ * Inbound authentication configuration of an agent.
4
+ */
5
+ export interface AgentInboundAuthConfig {
6
+ config?: OAuth2Config;
7
+ type: 'oauth2';
8
+ }
9
+ /**
10
+ * Login consent configuration of an agent.
11
+ */
12
+ export interface AgentLoginConsentConfig {
13
+ validityPeriod?: number;
14
+ }
15
+ /**
16
+ * An agent registered in ThunderID.
17
+ */
18
+ export interface Agent {
19
+ allowedAgentTypes?: string[];
20
+ allowedUserTypes?: string[];
21
+ assertion?: AssertionConfig;
22
+ attributes?: Record<string, unknown>;
23
+ /**
24
+ * Populated only when the agent has an inbound client.
25
+ */
26
+ authFlowId?: string;
27
+ clientId?: string;
28
+ description?: string;
29
+ id: string;
30
+ inboundAuthConfig?: AgentInboundAuthConfig[];
31
+ isReadOnly?: boolean;
32
+ isRegistrationFlowEnabled?: boolean;
33
+ loginConsent?: AgentLoginConsentConfig;
34
+ logoUrl?: string;
35
+ name: string;
36
+ ouHandle?: string;
37
+ ouId: string;
38
+ owner?: string;
39
+ registrationFlowId?: string;
40
+ type: string;
41
+ }
42
+ /**
43
+ * The summary of an agent returned in list responses.
44
+ */
45
+ export interface BasicAgent {
46
+ clientId?: string;
47
+ description?: string;
48
+ id: string;
49
+ isReadOnly?: boolean;
50
+ logoUrl?: string;
51
+ name: string;
52
+ ouHandle?: string;
53
+ ouId: string;
54
+ type: string;
55
+ }
56
+ /**
57
+ * A page of agents.
58
+ */
59
+ export interface AgentListResponse {
60
+ agents: BasicAgent[];
61
+ count: number;
62
+ startIndex: number;
63
+ totalResults: number;
64
+ }
65
+ /**
66
+ * The payload used to create an agent.
67
+ */
68
+ export interface CreateAgentRequest {
69
+ attributes?: Record<string, unknown>;
70
+ description?: string;
71
+ inboundAuthConfig?: AgentInboundAuthConfig[];
72
+ logoUrl?: string;
73
+ name: string;
74
+ ouId: string;
75
+ owner?: string;
76
+ type: string;
77
+ }
78
+ /**
79
+ * The payload used to update an agent.
80
+ */
81
+ export interface UpdateAgentRequest {
82
+ allowedAgentTypes?: string[];
83
+ allowedUserTypes?: string[];
84
+ attributes?: Record<string, unknown>;
85
+ authFlowId?: string;
86
+ description?: string;
87
+ inboundAuthConfig?: AgentInboundAuthConfig[];
88
+ isRegistrationFlowEnabled?: boolean;
89
+ logoUrl?: string;
90
+ name?: string;
91
+ ouId?: string;
92
+ owner?: string;
93
+ registrationFlowId?: string;
94
+ type?: string;
95
+ }
96
+ //# sourceMappingURL=agent-resource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-resource.d.ts","sourceRoot":"","sources":["../../src/models/agent-resource.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * A fetch-compatible function used to perform HTTP requests. Supply one to route a request through
3
+ * your own transport (for example an authenticated HTTP client) instead of the global `fetch`.
4
+ */
5
+ export type ApiFetcher = (url: string, config: RequestInit) => Promise<Response>;
6
+ /**
7
+ * Common options accepted by every management API function.
8
+ */
9
+ export interface ManagementRequestConfig extends Omit<RequestInit, 'method' | 'body'> {
10
+ /**
11
+ * The base URL of the ThunderID resource server. Used to derive the collection URL
12
+ * (e.g. `{baseUrl}/applications`) when `url` is not provided.
13
+ */
14
+ baseUrl?: string;
15
+ /**
16
+ * Optional custom fetcher function. If not provided, the global `fetch` is used.
17
+ */
18
+ fetcher?: ApiFetcher;
19
+ /**
20
+ * The absolute URL of the resource collection (e.g. `https://rs.example.com/applications`).
21
+ * Takes precedence over `baseUrl`. A single resource is addressed by appending its identifier.
22
+ */
23
+ url?: string;
24
+ }
25
+ /**
26
+ * Pagination and filtering parameters accepted by list endpoints.
27
+ */
28
+ export interface ApiFilteringParams {
29
+ /**
30
+ * An expression understood by the server to narrow the results.
31
+ */
32
+ filter?: string;
33
+ /**
34
+ * Maximum number of records to return.
35
+ */
36
+ limit?: number;
37
+ /**
38
+ * Number of records to skip.
39
+ */
40
+ offset?: number;
41
+ }
42
+ /**
43
+ * A pagination link returned alongside a list response.
44
+ */
45
+ export interface ApiPaginationLink {
46
+ href: string;
47
+ rel: string;
48
+ }
49
+ /**
50
+ * The error envelope returned by the ThunderID management API.
51
+ */
52
+ export interface ApiError {
53
+ code: string;
54
+ description: string;
55
+ message: string;
56
+ }
57
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/models/api.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,MAAM,CAAC;IACnF;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,271 @@
1
+ /**
2
+ * The kind of client an application represents.
3
+ */
4
+ export type ApplicationType = 'browser' | 'fullstack' | 'mobile' | 'm2m' | 'mcp' | 'custom';
5
+ /**
6
+ * Base token configuration shared by the tokens an application issues.
7
+ */
8
+ export interface TokenConfig {
9
+ /**
10
+ * User attributes to include in the token.
11
+ */
12
+ userAttributes: string[];
13
+ /**
14
+ * Token validity period, in seconds.
15
+ */
16
+ validityPeriod: number;
17
+ }
18
+ /**
19
+ * Configuration of the assertion issued for an application.
20
+ */
21
+ export type AssertionConfig = TokenConfig;
22
+ /**
23
+ * Access token settings for one kind of subject (a user or the client itself).
24
+ */
25
+ export interface AccessTokenSubConfig {
26
+ attributes?: string[];
27
+ validityPeriod?: number;
28
+ }
29
+ /**
30
+ * Access token configuration.
31
+ */
32
+ export interface AccessTokenConfig {
33
+ clientConfig?: AccessTokenSubConfig;
34
+ defaultAudience?: string;
35
+ userConfig?: AccessTokenSubConfig;
36
+ }
37
+ /**
38
+ * OAuth 2.0 grant types an application can be configured with.
39
+ */
40
+ export type OAuth2GrantType = 'authorization_code' | 'refresh_token' | 'client_credentials' | 'password' | 'implicit' | 'urn:openid:params:grant-type:ciba' | 'urn:ietf:params:oauth:grant-type:token-exchange' | 'urn:ietf:params:oauth:grant-type:jwt-bearer';
41
+ /**
42
+ * OAuth 2.0 grant type values.
43
+ */
44
+ export declare const OAuth2GrantTypes: {
45
+ readonly AUTHORIZATION_CODE: "authorization_code";
46
+ readonly CIBA: "urn:openid:params:grant-type:ciba";
47
+ readonly CLIENT_CREDENTIALS: "client_credentials";
48
+ readonly IMPLICIT: "implicit";
49
+ readonly JWT_BEARER: "urn:ietf:params:oauth:grant-type:jwt-bearer";
50
+ readonly PASSWORD: "password";
51
+ readonly REFRESH_TOKEN: "refresh_token";
52
+ readonly TOKEN_EXCHANGE: "urn:ietf:params:oauth:grant-type:token-exchange";
53
+ };
54
+ /**
55
+ * Grant types that can issue a refresh token.
56
+ */
57
+ export declare const REFRESH_TOKEN_ISSUING_GRANTS: readonly string[];
58
+ /**
59
+ * OAuth 2.0 response types an application can be configured with.
60
+ */
61
+ export type OAuth2ResponseType = 'code' | 'token' | 'id_token' | 'code token' | 'code id_token' | 'token id_token';
62
+ /**
63
+ * OAuth 2.0 response type values.
64
+ */
65
+ export declare const OAuth2ResponseTypes: {
66
+ readonly CODE: "code";
67
+ readonly CODE_ID_TOKEN: "code id_token";
68
+ readonly CODE_TOKEN: "code token";
69
+ readonly ID_TOKEN: "id_token";
70
+ readonly TOKEN: "token";
71
+ readonly TOKEN_ID_TOKEN: "token id_token";
72
+ };
73
+ /**
74
+ * Token endpoint authentication methods an application can be configured with.
75
+ */
76
+ export declare const TokenEndpointAuthMethods: {
77
+ readonly CLIENT_SECRET_BASIC: "client_secret_basic";
78
+ readonly CLIENT_SECRET_JWT: "client_secret_jwt";
79
+ readonly CLIENT_SECRET_POST: "client_secret_post";
80
+ readonly NONE: "none";
81
+ readonly PRIVATE_KEY_JWT: "private_key_jwt";
82
+ };
83
+ /**
84
+ * Claims released for each scope.
85
+ */
86
+ export interface ScopeClaims {
87
+ [key: string]: string[] | undefined;
88
+ email?: string[];
89
+ group?: string[];
90
+ phone?: string[];
91
+ profile?: string[];
92
+ }
93
+ /**
94
+ * Format of the issued ID token.
95
+ */
96
+ export type IDTokenResponseType = 'JWT' | 'JWE' | 'NESTED_JWT';
97
+ /**
98
+ * ID token configuration.
99
+ */
100
+ export interface IDTokenConfig extends TokenConfig {
101
+ encryptionAlg?: string;
102
+ encryptionEnc?: string;
103
+ responseType?: IDTokenResponseType;
104
+ }
105
+ /**
106
+ * Refresh token configuration.
107
+ */
108
+ export interface RefreshTokenConfig {
109
+ validityPeriod: number;
110
+ }
111
+ /**
112
+ * Identity assertion JWT authorization grant (ID-JAG) configuration.
113
+ */
114
+ export interface IDJAGConfig {
115
+ allowedAudiences?: string[];
116
+ enabled: boolean;
117
+ validityPeriod?: number;
118
+ }
119
+ /**
120
+ * Token settings of an OAuth 2.0 application.
121
+ */
122
+ export interface OAuth2Token {
123
+ accessToken: AccessTokenConfig;
124
+ idJag?: IDJAGConfig;
125
+ idToken: IDTokenConfig;
126
+ refreshToken?: RefreshTokenConfig;
127
+ }
128
+ /**
129
+ * Format of the userinfo response.
130
+ */
131
+ export type UserInfoResponseType = 'JSON' | 'JWS' | 'JWE' | 'NESTED_JWT';
132
+ /**
133
+ * Userinfo endpoint configuration.
134
+ */
135
+ export interface UserInfoConfig {
136
+ encryptionAlg?: string;
137
+ encryptionEnc?: string;
138
+ responseType?: UserInfoResponseType;
139
+ signingAlg?: string;
140
+ userAttributes: string[];
141
+ }
142
+ /**
143
+ * OAuth 2.0 / OIDC configuration of an application.
144
+ */
145
+ export interface OAuth2Config {
146
+ acrValues?: string[];
147
+ certificate?: {
148
+ type: string;
149
+ value?: string;
150
+ } | null;
151
+ clientId?: string;
152
+ clientSecret?: string;
153
+ grantTypes: string[];
154
+ pkceRequired?: boolean;
155
+ postLogoutRedirectUris?: string[];
156
+ publicClient?: boolean;
157
+ redirectUris?: string[];
158
+ requirePushedAuthorizationRequests?: boolean;
159
+ responseTypes: string[];
160
+ scopeClaims?: ScopeClaims;
161
+ scopes?: string[];
162
+ token?: OAuth2Token & Partial<TokenConfig>;
163
+ tokenEndpointAuthMethod?: string;
164
+ userInfo?: UserInfoConfig;
165
+ }
166
+ /**
167
+ * Android app attestation configuration.
168
+ */
169
+ export interface AndroidAttestationConfig {
170
+ certificateSha256Digests?: string[];
171
+ packageName?: string;
172
+ serviceAccountCredentials?: string;
173
+ }
174
+ /**
175
+ * Apple app attestation configuration.
176
+ */
177
+ export interface AppleAttestationConfig {
178
+ bundleId: string;
179
+ teamId: string;
180
+ }
181
+ /**
182
+ * App attestation configuration. At most one platform can be configured.
183
+ */
184
+ export type AttestationConfig = {
185
+ devMode?: boolean;
186
+ } & ({
187
+ android?: undefined;
188
+ apple?: undefined;
189
+ } | {
190
+ android: AndroidAttestationConfig;
191
+ apple?: undefined;
192
+ } | {
193
+ android?: undefined;
194
+ apple: AppleAttestationConfig;
195
+ });
196
+ /**
197
+ * Inbound authentication protocols an application can be configured with.
198
+ */
199
+ export type InboundAuthType = 'oauth2';
200
+ /**
201
+ * Inbound authentication protocol values.
202
+ */
203
+ export declare const InboundAuthTypes: {
204
+ readonly OAUTH2: "oauth2";
205
+ };
206
+ /**
207
+ * Inbound authentication configuration of an application.
208
+ */
209
+ export interface InboundAuthConfig {
210
+ config: OAuth2Config;
211
+ type: string;
212
+ }
213
+ /**
214
+ * An application registered in ThunderID.
215
+ */
216
+ export interface Application {
217
+ [key: string]: unknown;
218
+ allowedAgentTypes?: string[];
219
+ allowedUserTypes?: string[];
220
+ assertion?: AssertionConfig;
221
+ attestation?: AttestationConfig | null;
222
+ authFlowId?: string;
223
+ contacts?: string[];
224
+ createdAt?: string;
225
+ description?: string;
226
+ flowSecret?: string;
227
+ id: string;
228
+ inboundAuthConfig?: InboundAuthConfig[];
229
+ isReadOnly?: boolean;
230
+ isRecoveryFlowEnabled?: boolean;
231
+ isRegistrationFlowEnabled?: boolean;
232
+ layoutId?: string;
233
+ logoUrl?: string;
234
+ name: string;
235
+ ouId?: string;
236
+ passkeyAllowedOrigins?: string[];
237
+ policyUri?: string;
238
+ recoveryFlowId?: string;
239
+ registrationFlowId?: string;
240
+ signOutFlowId?: string;
241
+ template?: string;
242
+ themeId?: string;
243
+ tosUri?: string;
244
+ type?: ApplicationType;
245
+ updatedAt?: string;
246
+ url?: string;
247
+ userAttributes?: string[];
248
+ }
249
+ /**
250
+ * The summary of an application returned in list responses.
251
+ */
252
+ export type BasicApplication = Pick<Application, 'id' | 'name' | 'description' | 'logoUrl' | 'authFlowId' | 'registrationFlowId' | 'isRegistrationFlowEnabled' | 'type' | 'template' | 'isReadOnly'> & {
253
+ clientId?: string;
254
+ };
255
+ /**
256
+ * A page of applications.
257
+ */
258
+ export interface ApplicationListResponse {
259
+ applications: BasicApplication[];
260
+ count: number;
261
+ totalResults: number;
262
+ }
263
+ /**
264
+ * The payload used to create or update an application. The server generates `id` and timestamps.
265
+ */
266
+ export type CreateApplicationRequest = Omit<Application, 'id' | 'createdAt' | 'updatedAt'>;
267
+ /**
268
+ * The payload used to update an application.
269
+ */
270
+ export type UpdateApplicationRequest = CreateApplicationRequest;
271
+ //# sourceMappingURL=application.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/models/application.ts"],"names":[],"mappings":"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"}
@@ -188,7 +188,8 @@ export interface BaseConfig<T = unknown> extends WithPreferences, WithExtensions
188
188
  * `endSession`, `wellKnown`) — by default derived from the well-known discovery document at
189
189
  * `{baseUrl}/oauth2/token/.well-known/openid-configuration`. Individual overrides take
190
190
  * precedence over values resolved from the discovery document.
191
- * - **Resource-server endpoints** (`flowExecute`, `flowMeta`, `usersMe`) —
191
+ * - **Resource-server endpoints** (`flowExecute`, `flowMeta`, `usersMe`, `usersMeCredentials`, and the
192
+ * management collections `applications`, `users`, `agents`) —
192
193
  * by default derived by concatenating `baseUrl` with a fixed path (e.g. `{baseUrl}/flow/execute`).
193
194
  * These do not participate in OIDC discovery.
194
195
  *
@@ -215,6 +216,18 @@ export interface BaseConfig<T = unknown> extends WithPreferences, WithExtensions
215
216
  * }
216
217
  */
217
218
  endpoints?: {
219
+ /**
220
+ * The agents collection URL used by the agent management operations.
221
+ * A single agent is addressed as `{agents}/{id}`.
222
+ * If not provided, defaults to `{baseUrl}/agents`.
223
+ */
224
+ agents?: string;
225
+ /**
226
+ * The applications collection URL used by the application management operations.
227
+ * A single application is addressed as `{applications}/{id}`.
228
+ * If not provided, defaults to `{baseUrl}/applications`.
229
+ */
230
+ applications?: string;
218
231
  /**
219
232
  * The authorization endpoint URL.
220
233
  * If not provided, resolved from the well-known discovery document.
@@ -256,11 +269,23 @@ export interface BaseConfig<T = unknown> extends WithPreferences, WithExtensions
256
269
  * If not provided, resolved from the well-known discovery document.
257
270
  */
258
271
  userInfo?: string;
272
+ /**
273
+ * The users collection URL used by the user management operations.
274
+ * A single user is addressed as `{users}/{id}`.
275
+ * If not provided, defaults to `{baseUrl}/users`.
276
+ */
277
+ users?: string;
259
278
  /**
260
279
  * The current-user profile endpoint URL used to fetch and update the signed-in user's profile.
261
280
  * If not provided, defaults to `{baseUrl}/users/me`.
262
281
  */
263
282
  usersMe?: string;
283
+ /**
284
+ * The self-service credential update endpoint URL used to change one of the signed-in
285
+ * user's own credentials (for example `password` or `pin`).
286
+ * If not provided, defaults to `{baseUrl}/users/me/update-credentials`.
287
+ */
288
+ usersMeCredentials?: string;
264
289
  /**
265
290
  * The user profile schema metadata endpoint URL used to fetch profile schema attributes.
266
291
  * If not provided, defaults to `{baseUrl}/users/me/meta`.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/models/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/models/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { ApiPaginationLink } from './api';
2
+ /**
3
+ * A user record managed through the ThunderID management API.
4
+ *
5
+ * This is a server record, distinct from {@link User}, which describes the signed-in user.
6
+ */
7
+ export interface ManagedUser {
8
+ attributes?: Record<string, unknown>;
9
+ display?: string;
10
+ id: string;
11
+ isReadOnly?: boolean;
12
+ ouHandle?: string;
13
+ ouId: string;
14
+ type: string;
15
+ }
16
+ /**
17
+ * A page of users.
18
+ */
19
+ export interface ManagedUserListResponse {
20
+ count: number;
21
+ links?: ApiPaginationLink[];
22
+ startIndex: number;
23
+ totalResults: number;
24
+ users: ManagedUser[];
25
+ }
26
+ /**
27
+ * The payload used to create a user.
28
+ */
29
+ export interface CreateManagedUserRequest {
30
+ attributes?: Record<string, unknown>;
31
+ groups?: string[];
32
+ ouId: string;
33
+ type: string;
34
+ }
35
+ /**
36
+ * The payload used to update a user.
37
+ */
38
+ export interface UpdateManagedUserRequest {
39
+ attributes?: Record<string, unknown>;
40
+ groups?: string[];
41
+ ouId?: string;
42
+ type?: string;
43
+ }
44
+ //# sourceMappingURL=managed-user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-user.d.ts","sourceRoot":"","sources":["../../src/models/managed-user.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,iBAAiB,EAAC,MAAM,OAAO,CAAC;AAExC;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,64 @@
1
+ import { PasswordPolicy, PasswordRuleResult } from './evaluatePasswordPolicy';
2
+ /**
3
+ * The two values a change-password form collects.
4
+ *
5
+ * There is deliberately no `currentPassword` here. The self-service credential write
6
+ * endpoint does not verify the account's existing value today, so a field the server
7
+ * ignores would only teach the user a false sense of security; once server-side
8
+ * current-value verification ships, this form gains that field back.
9
+ */
10
+ export interface ChangePasswordFormValues {
11
+ /**
12
+ * The re-typed new password, used only to catch typos client-side.
13
+ */
14
+ confirmPassword: string;
15
+ /**
16
+ * The password to set.
17
+ */
18
+ newPassword: string;
19
+ }
20
+ /**
21
+ * The derived state a change-password form needs to render and to gate submission.
22
+ */
23
+ export interface ChangePasswordFormEvaluation {
24
+ /**
25
+ * Whether the new password and its confirmation match.
26
+ */
27
+ confirmMatches: boolean;
28
+ /**
29
+ * Whether the values are complete and internally consistent. Callers combine this with
30
+ * their own in-flight flag, since whether a request is pending is UI state rather than
31
+ * validation.
32
+ */
33
+ isValid: boolean;
34
+ /**
35
+ * Whether the new password satisfies every configured rule.
36
+ */
37
+ meetsPolicy: boolean;
38
+ /**
39
+ * Per-rule results, for the live requirement checklist.
40
+ */
41
+ ruleResults: PasswordRuleResult[];
42
+ }
43
+ /**
44
+ * Evaluates a change-password form against a policy.
45
+ *
46
+ * Every predicate a change-password UI needs is derived here so the React and Vue
47
+ * components stay pure rendering concerns and cannot drift apart on what counts as a
48
+ * submittable form.
49
+ *
50
+ * @param values - The current field values.
51
+ * @param policy - The rules the new password must satisfy.
52
+ * @returns The derived flags plus the per-rule results.
53
+ * @example
54
+ * ```typescript
55
+ * const {isValid, ruleResults} = evaluateChangePasswordForm(
56
+ * {confirmPassword, newPassword},
57
+ * {regex: '^.{12,}$'},
58
+ * );
59
+ * const canSubmit = !loading && isValid;
60
+ * ```
61
+ */
62
+ declare const evaluateChangePasswordForm: (values: ChangePasswordFormValues, policy: PasswordPolicy) => ChangePasswordFormEvaluation;
63
+ export default evaluateChangePasswordForm;
64
+ //# sourceMappingURL=evaluateChangePasswordForm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluateChangePasswordForm.d.ts","sourceRoot":"","sources":["../../src/utils/evaluateChangePasswordForm.ts"],"names":[],"mappings":"AAGA,OAA+B,EAAC,cAAc,EAAE,kBAAkB,EAAC,MAAM,0BAA0B,CAAC;AAEpG;;;;;;;GAOG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;OAEG;IACH,cAAc,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,WAAW,EAAE,kBAAkB,EAAE,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,QAAA,MAAM,0BAA0B,GAC9B,QAAQ,wBAAwB,EAChC,QAAQ,cAAc,KACrB,4BAUF,CAAC;AAEF,eAAe,0BAA0B,CAAC"}