@enterprisestandard/react 0.0.4 → 0.0.5-beta.20260114.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/group-store.d.ts +164 -0
  2. package/dist/group-store.d.ts.map +1 -0
  3. package/dist/iam.d.ts +205 -12
  4. package/dist/iam.d.ts.map +1 -1
  5. package/dist/index.d.ts +44 -11
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +3164 -572
  8. package/dist/index.js.map +29 -0
  9. package/dist/server.d.ts +6 -4
  10. package/dist/server.d.ts.map +1 -1
  11. package/dist/session-store.d.ts +179 -0
  12. package/dist/session-store.d.ts.map +1 -0
  13. package/dist/sso.d.ts +74 -16
  14. package/dist/sso.d.ts.map +1 -1
  15. package/dist/tenant-server.d.ts +8 -0
  16. package/dist/tenant-server.d.ts.map +1 -0
  17. package/dist/tenant.d.ts +280 -0
  18. package/dist/tenant.d.ts.map +1 -0
  19. package/dist/types/base-user.d.ts +27 -0
  20. package/dist/types/base-user.d.ts.map +1 -0
  21. package/dist/types/enterprise-user.d.ts +158 -0
  22. package/dist/types/enterprise-user.d.ts.map +1 -0
  23. package/dist/{oidc-schema.d.ts → types/oidc-schema.d.ts} +42 -0
  24. package/dist/types/oidc-schema.d.ts.map +1 -0
  25. package/dist/types/scim-schema.d.ts +419 -0
  26. package/dist/types/scim-schema.d.ts.map +1 -0
  27. package/dist/types/standard-schema.d.ts.map +1 -0
  28. package/dist/types/user.d.ts +41 -0
  29. package/dist/types/user.d.ts.map +1 -0
  30. package/dist/types/workload-schema.d.ts +106 -0
  31. package/dist/types/workload-schema.d.ts.map +1 -0
  32. package/dist/ui/sso-provider.d.ts +3 -3
  33. package/dist/ui/sso-provider.d.ts.map +1 -1
  34. package/dist/user-store.d.ts +161 -0
  35. package/dist/user-store.d.ts.map +1 -0
  36. package/dist/workload-server.d.ts +126 -0
  37. package/dist/workload-server.d.ts.map +1 -0
  38. package/dist/workload-token-store.d.ts +187 -0
  39. package/dist/workload-token-store.d.ts.map +1 -0
  40. package/dist/workload.d.ts +227 -0
  41. package/dist/workload.d.ts.map +1 -0
  42. package/package.json +2 -5
  43. package/dist/enterprise-user.d.ts +0 -125
  44. package/dist/enterprise-user.d.ts.map +0 -1
  45. package/dist/oidc-schema.d.ts.map +0 -1
  46. package/dist/standard-schema.d.ts.map +0 -1
  47. /package/dist/{standard-schema.d.ts → types/standard-schema.d.ts} +0 -0
@@ -0,0 +1,158 @@
1
+ import type { BaseUser } from './base-user';
2
+ import type { Address, Email, Group, Name, PhoneNumber, Role } from './scim-schema';
3
+ /**
4
+ * Enterprise user with SCIM attributes.
5
+ * Extends BaseUser (simple fields) with optional complex SCIM fields.
6
+ * For IAM/provisioning and enterprise directory integration.
7
+ */
8
+ export interface EnterpriseUser extends BaseUser {
9
+ /**
10
+ * External identifier from the provisioning system
11
+ */
12
+ externalId?: string;
13
+ /**
14
+ * Resource metadata
15
+ */
16
+ meta?: {
17
+ resourceType?: string;
18
+ created?: string;
19
+ lastModified?: string;
20
+ version?: string;
21
+ location?: string;
22
+ };
23
+ /**
24
+ * SCIM schemas supported by this user
25
+ */
26
+ schemas?: string[];
27
+ /**
28
+ * Structured name with family/given names, prefixes, suffixes.
29
+ * Use alongside the simple `name` string from BaseUser.
30
+ */
31
+ fullName?: Name;
32
+ /**
33
+ * Multiple email addresses with types (work, home, etc.).
34
+ * Use alongside the simple `email` string from BaseUser.
35
+ */
36
+ emails?: Email[];
37
+ /**
38
+ * Name for display purposes
39
+ */
40
+ displayName?: string;
41
+ /**
42
+ * Casual name to address the user
43
+ */
44
+ nickName?: string;
45
+ /**
46
+ * URL to user's online profile
47
+ */
48
+ profileUrl?: string;
49
+ /**
50
+ * Job title
51
+ */
52
+ title?: string;
53
+ /**
54
+ * User type (e.g., "Employee", "Contractor")
55
+ */
56
+ userType?: string;
57
+ /**
58
+ * Preferred language (e.g., "en-US")
59
+ */
60
+ preferredLanguage?: string;
61
+ /**
62
+ * Locale for localization (e.g., "en-US")
63
+ */
64
+ locale?: string;
65
+ /**
66
+ * Timezone (e.g., "America/New_York")
67
+ */
68
+ timezone?: string;
69
+ /**
70
+ * Whether the user account is active
71
+ */
72
+ active?: boolean;
73
+ /**
74
+ * Password (for provisioning only, should not be returned)
75
+ */
76
+ password?: string;
77
+ /**
78
+ * Phone numbers
79
+ */
80
+ phoneNumbers?: PhoneNumber[];
81
+ /**
82
+ * Instant messaging addresses
83
+ */
84
+ ims?: Array<{
85
+ value: string;
86
+ display?: string;
87
+ type?: string;
88
+ primary?: boolean;
89
+ }>;
90
+ /**
91
+ * Photo URLs
92
+ */
93
+ photos?: Array<{
94
+ value: string;
95
+ display?: string;
96
+ type?: string;
97
+ primary?: boolean;
98
+ }>;
99
+ /**
100
+ * Physical mailing addresses
101
+ */
102
+ addresses?: Address[];
103
+ /**
104
+ * Groups the user belongs to
105
+ */
106
+ groups?: Group[];
107
+ /**
108
+ * Entitlements
109
+ */
110
+ entitlements?: Array<{
111
+ value: string;
112
+ display?: string;
113
+ type?: string;
114
+ primary?: boolean;
115
+ }>;
116
+ /**
117
+ * Roles assigned to the user
118
+ */
119
+ roles?: Role[];
120
+ /**
121
+ * X.509 certificates
122
+ */
123
+ x509Certificates?: Array<{
124
+ value: string;
125
+ display?: string;
126
+ type?: string;
127
+ primary?: boolean;
128
+ }>;
129
+ /**
130
+ * Employee number
131
+ */
132
+ employeeNumber?: string;
133
+ /**
134
+ * Cost center
135
+ */
136
+ costCenter?: string;
137
+ /**
138
+ * Organization name
139
+ */
140
+ organization?: string;
141
+ /**
142
+ * Division name
143
+ */
144
+ division?: string;
145
+ /**
146
+ * Department name
147
+ */
148
+ department?: string;
149
+ /**
150
+ * User's manager
151
+ */
152
+ manager?: {
153
+ value: string;
154
+ $ref?: string;
155
+ displayName?: string;
156
+ };
157
+ }
158
+ //# sourceMappingURL=enterprise-user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enterprise-user.d.ts","sourceRoot":"","sources":["../../src/types/enterprise-user.ts"],"names":[],"mappings":"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"}
@@ -41,4 +41,46 @@ export interface OidcCallbackParams {
41
41
  * @returns A StandardSchemaV1 instance for OIDC callback parameters
42
42
  */
43
43
  export declare function oidcCallbackSchema(vendor: string): StandardSchemaV1<Record<string, unknown>, OidcCallbackParams>;
44
+ /**
45
+ * Token Response from IdP
46
+ */
47
+ export interface TokenResponse {
48
+ access_token: string;
49
+ id_token: string;
50
+ refresh_token?: string;
51
+ token_type: string;
52
+ expires_in?: number;
53
+ scope?: string;
54
+ refresh_expires_in?: number;
55
+ session_state?: string;
56
+ expires?: string;
57
+ }
58
+ /**
59
+ * Creates a StandardSchemaV1 for validating OIDC Token Responses.
60
+ * @param vendor - The name of the vendor creating this schema
61
+ * @returns A StandardSchemaV1 instance for Token Response validation
62
+ */
63
+ export declare function tokenResponseSchema(vendor: string): StandardSchemaV1<Record<string, unknown>, TokenResponse>;
64
+ /**
65
+ * ID Token Claims
66
+ */
67
+ export interface IdTokenClaims {
68
+ iss?: string;
69
+ aud?: string;
70
+ exp?: number;
71
+ iat?: number;
72
+ sub?: string;
73
+ sid?: string;
74
+ name?: string;
75
+ email?: string;
76
+ preferred_username?: string;
77
+ picture?: string;
78
+ [key: string]: unknown;
79
+ }
80
+ /**
81
+ * Creates a StandardSchemaV1 for validating ID Token Claims.
82
+ * @param vendor - The name of the vendor creating this schema
83
+ * @returns A StandardSchemaV1 instance for ID Token Claims validation
84
+ */
85
+ export declare function idTokenClaimsSchema(vendor: string): StandardSchemaV1<Record<string, unknown>, IdTokenClaims>;
44
86
  //# sourceMappingURL=oidc-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oidc-schema.d.ts","sourceRoot":"","sources":["../../src/types/oidc-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAoHhH;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC,CAmJ5G;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC,CAsD5G"}
@@ -0,0 +1,419 @@
1
+ import type { StandardSchemaV1 } from './standard-schema';
2
+ /**
3
+ * SCIM 2.0 User Resource
4
+ * @see https://datatracker.ietf.org/doc/html/rfc7643#section-4.1
5
+ */
6
+ /**
7
+ * SCIM Name sub-attribute
8
+ */
9
+ export interface Name {
10
+ /**
11
+ * The full name, including all middle names, titles, and suffixes as appropriate
12
+ */
13
+ formatted?: string;
14
+ /**
15
+ * The family name of the User, or last name
16
+ */
17
+ familyName?: string;
18
+ /**
19
+ * The given name of the User, or first name
20
+ */
21
+ givenName?: string;
22
+ /**
23
+ * The middle name(s) of the User
24
+ */
25
+ middleName?: string;
26
+ /**
27
+ * The honorific prefix(es) of the User, or title
28
+ */
29
+ honorificPrefix?: string;
30
+ /**
31
+ * The honorific suffix(es) of the User, or suffix
32
+ */
33
+ honorificSuffix?: string;
34
+ }
35
+ /**
36
+ * SCIM Email sub-attribute
37
+ */
38
+ export interface Email {
39
+ /**
40
+ * The email address value
41
+ */
42
+ value: string;
43
+ /**
44
+ * A human-readable name, primarily used for display purposes
45
+ */
46
+ display?: string;
47
+ /**
48
+ * A label indicating the attribute's function (e.g., "work" or "home")
49
+ */
50
+ type?: string;
51
+ /**
52
+ * A Boolean value indicating the 'primary' or preferred attribute value
53
+ */
54
+ primary?: boolean;
55
+ }
56
+ /**
57
+ * SCIM Phone Number sub-attribute
58
+ */
59
+ export interface PhoneNumber {
60
+ /**
61
+ * The phone number value
62
+ */
63
+ value: string;
64
+ /**
65
+ * A human-readable name, primarily used for display purposes
66
+ */
67
+ display?: string;
68
+ /**
69
+ * A label indicating the attribute's function (e.g., "work", "home", "mobile")
70
+ */
71
+ type?: string;
72
+ /**
73
+ * A Boolean value indicating the 'primary' or preferred attribute value
74
+ */
75
+ primary?: boolean;
76
+ }
77
+ /**
78
+ * SCIM Address sub-attribute
79
+ */
80
+ export interface Address {
81
+ /**
82
+ * The full mailing address, formatted for display
83
+ */
84
+ formatted?: string;
85
+ /**
86
+ * The full street address component
87
+ */
88
+ streetAddress?: string;
89
+ /**
90
+ * The city or locality component
91
+ */
92
+ locality?: string;
93
+ /**
94
+ * The state or region component
95
+ */
96
+ region?: string;
97
+ /**
98
+ * The zip code or postal code component
99
+ */
100
+ postalCode?: string;
101
+ /**
102
+ * The country name component
103
+ */
104
+ country?: string;
105
+ /**
106
+ * A label indicating the attribute's function (e.g., "work" or "home")
107
+ */
108
+ type?: string;
109
+ /**
110
+ * A Boolean value indicating the 'primary' or preferred attribute value
111
+ */
112
+ primary?: boolean;
113
+ }
114
+ /**
115
+ * SCIM Group reference (used within User resources)
116
+ */
117
+ export interface Group {
118
+ /**
119
+ * The identifier of the User's group
120
+ */
121
+ value: string;
122
+ /**
123
+ * The URI of the corresponding 'Group' resource
124
+ */
125
+ $ref?: string;
126
+ /**
127
+ * A human-readable name, primarily used for display purposes
128
+ */
129
+ display?: string;
130
+ /**
131
+ * A label indicating the attribute's function (e.g., "direct" or "indirect")
132
+ */
133
+ type?: string;
134
+ }
135
+ /**
136
+ * SCIM Group Member reference
137
+ */
138
+ export interface GroupMember {
139
+ /**
140
+ * The identifier of the member (User or Group)
141
+ */
142
+ value: string;
143
+ /**
144
+ * The URI of the corresponding member resource
145
+ */
146
+ $ref?: string;
147
+ /**
148
+ * A human-readable name of the member
149
+ */
150
+ display?: string;
151
+ /**
152
+ * The type of the member (e.g., "User" or "Group")
153
+ */
154
+ type?: 'User' | 'Group';
155
+ }
156
+ /**
157
+ * SCIM 2.0 Group Resource
158
+ * @see https://datatracker.ietf.org/doc/html/rfc7643#section-4.2
159
+ */
160
+ export interface GroupResource {
161
+ /**
162
+ * REQUIRED. The schemas attribute
163
+ */
164
+ schemas?: string[];
165
+ /**
166
+ * Unique identifier for the Group, assigned by the service provider
167
+ */
168
+ id?: string;
169
+ /**
170
+ * External identifier from the provisioning client
171
+ */
172
+ externalId?: string;
173
+ /**
174
+ * Resource metadata
175
+ */
176
+ meta?: {
177
+ resourceType?: string;
178
+ created?: string;
179
+ lastModified?: string;
180
+ location?: string;
181
+ version?: string;
182
+ };
183
+ /**
184
+ * REQUIRED. A human-readable name for the Group
185
+ */
186
+ displayName: string;
187
+ /**
188
+ * A list of members of the Group
189
+ */
190
+ members?: GroupMember[];
191
+ }
192
+ /**
193
+ * SCIM Role
194
+ */
195
+ export interface Role {
196
+ /**
197
+ * The value of the role
198
+ */
199
+ value: string;
200
+ /**
201
+ * A human-readable name, primarily used for display purposes
202
+ */
203
+ display?: string;
204
+ /**
205
+ * A label indicating the attribute's function
206
+ */
207
+ type?: string;
208
+ /**
209
+ * A Boolean value indicating the 'primary' or preferred attribute value
210
+ */
211
+ primary?: boolean;
212
+ }
213
+ /**
214
+ * SCIM X509 Certificate
215
+ */
216
+ export interface X509Certificate {
217
+ /**
218
+ * The value of the X.509 certificate
219
+ */
220
+ value: string;
221
+ /**
222
+ * A human-readable name, primarily used for display purposes
223
+ */
224
+ display?: string;
225
+ /**
226
+ * A label indicating the attribute's function
227
+ */
228
+ type?: string;
229
+ /**
230
+ * A Boolean value indicating the 'primary' or preferred attribute value
231
+ */
232
+ primary?: boolean;
233
+ }
234
+ /**
235
+ * SCIM Enterprise User Extension
236
+ * @see https://datatracker.ietf.org/doc/html/rfc7643#section-4.3
237
+ */
238
+ export interface EnterpriseExtension {
239
+ /**
240
+ * Numeric or alphanumeric identifier assigned to a person
241
+ */
242
+ employeeNumber?: string;
243
+ /**
244
+ * Identifies the name of a cost center
245
+ */
246
+ costCenter?: string;
247
+ /**
248
+ * Identifies the name of an organization
249
+ */
250
+ organization?: string;
251
+ /**
252
+ * Identifies the name of a division
253
+ */
254
+ division?: string;
255
+ /**
256
+ * Identifies the name of a department
257
+ */
258
+ department?: string;
259
+ /**
260
+ * The user's manager
261
+ */
262
+ manager?: {
263
+ /**
264
+ * The "id" of the SCIM resource representing the User's manager
265
+ */
266
+ value?: string;
267
+ /**
268
+ * The URI of the SCIM resource representing the User's manager
269
+ */
270
+ $ref?: string;
271
+ /**
272
+ * The displayName of the User's manager
273
+ */
274
+ displayName?: string;
275
+ };
276
+ }
277
+ /**
278
+ * SCIM User Resource
279
+ */
280
+ export interface User {
281
+ /**
282
+ * REQUIRED. Unique identifier for the User, typically from the provider
283
+ */
284
+ id?: string;
285
+ /**
286
+ * REQUIRED. A unique identifier for a SCIM resource as defined by the service provider
287
+ */
288
+ externalId?: string;
289
+ /**
290
+ * Resource metadata
291
+ */
292
+ meta?: {
293
+ resourceType?: string;
294
+ created?: string;
295
+ lastModified?: string;
296
+ location?: string;
297
+ version?: string;
298
+ };
299
+ /**
300
+ * REQUIRED. Unique identifier for the User, typically used for login
301
+ */
302
+ userName: string;
303
+ /**
304
+ * The components of the user's name
305
+ */
306
+ name?: Name;
307
+ /**
308
+ * The name of the User, suitable for display to end-users
309
+ */
310
+ displayName?: string;
311
+ /**
312
+ * The casual way to address the user
313
+ */
314
+ nickName?: string;
315
+ /**
316
+ * A fully qualified URL pointing to a page representing the User's online profile
317
+ */
318
+ profileUrl?: string;
319
+ /**
320
+ * The user's title, such as "Vice President"
321
+ */
322
+ title?: string;
323
+ /**
324
+ * Used to identify the relationship between the organization and the user
325
+ */
326
+ userType?: string;
327
+ /**
328
+ * Indicates the User's preferred written or spoken language
329
+ */
330
+ preferredLanguage?: string;
331
+ /**
332
+ * Used to indicate the User's default location for purposes of localizing items such as currency
333
+ */
334
+ locale?: string;
335
+ /**
336
+ * The User's time zone in the "Olson" time zone database format
337
+ */
338
+ timezone?: string;
339
+ /**
340
+ * A Boolean value indicating the User's administrative status
341
+ */
342
+ active?: boolean;
343
+ /**
344
+ * The User's cleartext password
345
+ */
346
+ password?: string;
347
+ /**
348
+ * Email addresses for the user
349
+ */
350
+ emails?: Email[];
351
+ /**
352
+ * Phone numbers for the User
353
+ */
354
+ phoneNumbers?: PhoneNumber[];
355
+ /**
356
+ * Instant messaging addresses for the User
357
+ */
358
+ ims?: Array<{
359
+ value: string;
360
+ display?: string;
361
+ type?: string;
362
+ primary?: boolean;
363
+ }>;
364
+ /**
365
+ * URLs of photos of the User
366
+ */
367
+ photos?: Array<{
368
+ value: string;
369
+ display?: string;
370
+ type?: string;
371
+ primary?: boolean;
372
+ }>;
373
+ /**
374
+ * Physical mailing addresses for this User
375
+ */
376
+ addresses?: Address[];
377
+ /**
378
+ * A list of groups to which the user belongs
379
+ */
380
+ groups?: Group[];
381
+ /**
382
+ * A list of entitlements for the User
383
+ */
384
+ entitlements?: Array<{
385
+ value: string;
386
+ display?: string;
387
+ type?: string;
388
+ primary?: boolean;
389
+ }>;
390
+ /**
391
+ * A list of roles for the User
392
+ */
393
+ roles?: Role[];
394
+ /**
395
+ * A list of certificates issued to the User
396
+ */
397
+ x509Certificates?: X509Certificate[];
398
+ /**
399
+ * Enterprise User Extension
400
+ */
401
+ 'urn:ietf:params:scim:schemas:extension:enterprise:2.0:User'?: EnterpriseExtension;
402
+ /**
403
+ * REQUIRED. The schemas attribute is an array of Strings which allows introspection of the supported schema version
404
+ */
405
+ schemas?: string[];
406
+ }
407
+ /**
408
+ * Creates a StandardSchemaV1 for validating SCIM User resources.
409
+ * @param vendor - The name of the vendor creating this schema
410
+ * @returns A StandardSchemaV1 instance for SCIM User resources
411
+ */
412
+ export declare function userSchema(vendor: string): StandardSchemaV1<Record<string, unknown>, User>;
413
+ /**
414
+ * Creates a StandardSchemaV1 for validating SCIM Group resources.
415
+ * @param vendor - The name of the vendor creating this schema
416
+ * @returns A StandardSchemaV1 instance for SCIM Group resources
417
+ */
418
+ export declare function groupResourceSchema(vendor: string): StandardSchemaV1<Record<string, unknown>, GroupResource>;
419
+ //# sourceMappingURL=scim-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scim-schema.d.ts","sourceRoot":"","sources":["../../src/types/scim-schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standard-schema.d.ts","sourceRoot":"","sources":["../../src/types/standard-schema.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,MAAM,WAAW,gBAAgB,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK;IAC/D,sCAAsC;IACtC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CAC7D;AAED,MAAM,CAAC,OAAO,WAAW,gBAAgB,CAAC;IACxC,gDAAgD;IAChD,UAAiB,KAAK,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK;QACpD,0CAA0C;QAC1C,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QACpB,6CAA6C;QAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,sCAAsC;QACtC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAChF,iDAAiD;QACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;KACnD;IAED,qDAAqD;IACrD,KAAY,MAAM,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC;IAEnE,mDAAmD;IACnD,UAAiB,aAAa,CAAC,MAAM;QACnC,8BAA8B;QAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,+BAA+B;QAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;KAC7B;IAED,gDAAgD;IAChD,UAAiB,aAAa;QAC5B,uCAAuC;QACvC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;KACvC;IAED,iDAAiD;IACjD,UAAiB,KAAK;QACpB,sCAAsC;QACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,qCAAqC;QACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,SAAS,CAAC;KACtE;IAED,+CAA+C;IAC/C,UAAiB,WAAW;QAC1B,2CAA2C;QAC3C,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;KAC3B;IAED,2CAA2C;IAC3C,UAAiB,KAAK,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK;QACpD,oCAAoC;QACpC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;QACtB,qCAAqC;QACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB;IAED,kDAAkD;IAClD,KAAY,UAAU,CAAC,MAAM,SAAS,gBAAgB,IAAI,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAE7G,mDAAmD;IACnD,KAAY,WAAW,CAAC,MAAM,SAAS,gBAAgB,IAAI,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;CAChH"}
@@ -0,0 +1,41 @@
1
+ import type { BaseUser } from './base-user';
2
+ import type { IdTokenClaims } from './oidc-schema';
3
+ /**
4
+ * Primary user type for SSO/OIDC applications.
5
+ * Extends BaseUser with SSO-specific data.
6
+ */
7
+ export interface User extends BaseUser {
8
+ /**
9
+ * SSO/OIDC authentication data
10
+ */
11
+ sso: {
12
+ /**
13
+ * ID Token claims from the identity provider
14
+ */
15
+ profile: IdTokenClaims;
16
+ /**
17
+ * Tenant/organization information
18
+ */
19
+ tenant: {
20
+ id: string;
21
+ name: string;
22
+ };
23
+ /**
24
+ * OAuth scopes granted
25
+ */
26
+ scope?: string;
27
+ /**
28
+ * Token type (typically "Bearer")
29
+ */
30
+ tokenType: string;
31
+ /**
32
+ * Session state from the identity provider
33
+ */
34
+ sessionState?: string;
35
+ /**
36
+ * Token expiration time
37
+ */
38
+ expires: Date;
39
+ };
40
+ }
41
+ //# sourceMappingURL=user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/types/user.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD;;;GAGG;AACH,MAAM,WAAW,IAAK,SAAQ,QAAQ;IACpC;;OAEG;IACH,GAAG,EAAE;QACH;;WAEG;QACH,OAAO,EAAE,aAAa,CAAC;QAEvB;;WAEG;QACH,MAAM,EAAE;YACN,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;QAEF;;WAEG;QACH,KAAK,CAAC,EAAE,MAAM,CAAC;QAEf;;WAEG;QACH,SAAS,EAAE,MAAM,CAAC;QAElB;;WAEG;QACH,YAAY,CAAC,EAAE,MAAM,CAAC;QAEtB;;WAEG;QACH,OAAO,EAAE,IAAI,CAAC;KACf,CAAC;CACH"}