@ionite/core 0.0.24-beta.20261020.41 → 0.0.24-beta.20261022.44

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.
package/dist/index.d.ts CHANGED
@@ -273,42 +273,6 @@ type ClaimsAsEntitlementsDescription = {
273
273
  capable: boolean;
274
274
  };
275
275
  /**
276
- * Shared minimal identity fields used to build both the workforce user
277
- * record (`BaseUser`) and the CIAM customer record (`BaseCustomer`), as well
278
- * as the authenticated session types (`WorkforceUser`, `Customer`).
279
- *
280
- * This is an internal structural base and is intentionally not part of the
281
- * public API surface; consumers extend the `BaseUser` Zod/Valibot schema
282
- * instead.
283
- */
284
- interface BaseUserFields {
285
- /**
286
- * Unique identifier for the user
287
- */
288
- id?: string;
289
- /**
290
- * REQUIRED. Unique identifier for login
291
- */
292
- userName: string;
293
- /**
294
- * REQUIRED. Simple display name
295
- */
296
- name: string;
297
- /**
298
- * REQUIRED. Primary email address
299
- */
300
- email: string;
301
- /**
302
- * URL to user's avatar/profile picture
303
- */
304
- avatar?: string;
305
- /**
306
- * User type (e.g., "employee", "contractor", "customer").
307
- * Shared by SSO/CIAM and enterprise/SCIM user representations.
308
- */
309
- userType?: string;
310
- }
311
- /**
312
276
  * Shared types for paginated list operations across stores.
313
277
  *
314
278
  * List methods return a ListResult with total, count, items, size, page, and pages.
@@ -362,6 +326,97 @@ interface ListOptions {
362
326
  /** Optional server-side filter applied before pagination. */
363
327
  filter?: ListFilter;
364
328
  }
329
+ type DelegateOwnerType = "user" | "customer" | "workload";
330
+ type DelegateOwner = {
331
+ id: string;
332
+ type: DelegateOwnerType;
333
+ };
334
+ type DelegateContext = {
335
+ id: string;
336
+ owner: DelegateOwner;
337
+ label?: string;
338
+ clientId?: string;
339
+ expiresAt?: Date;
340
+ };
341
+ type BaseDelegateSdkFields = {
342
+ id: string;
343
+ externalId?: string;
344
+ owner: DelegateOwner;
345
+ label?: string;
346
+ clientId?: string;
347
+ active?: boolean;
348
+ expiresAt?: Date;
349
+ tokenHash: string;
350
+ previousTokenHash?: string;
351
+ previousTokenHashExpiresAt?: Date;
352
+ lastUsedAt?: Date;
353
+ providerId?: string;
354
+ requestUrl?: string;
355
+ createdAt?: Date;
356
+ updatedAt?: Date;
357
+ };
358
+ type BaseDelegateReservedKey = keyof BaseDelegateSdkFields;
359
+ type BaseDelegate<TExtended = object> = BaseDelegateSdkFields & NoReserved<TExtended, BaseDelegateReservedKey, "id">;
360
+ /**
361
+ * Persistence for delegate principals. Only SHA-256 verifier hashes (`hashDelegateToken`) are stored;
362
+ * the raw `ion_dlg_` token never reaches the App. `tokenHash`, `previousTokenHash`, and `externalId`
363
+ * are unique across delegates: `upsert` MUST throw `StoreConflictError` on a collision.
364
+ */
365
+ interface DelegateStore<TExtended = object> {
366
+ get(id: string): Promise<BaseDelegate<TExtended> | undefined>;
367
+ lookup(delegate: BaseDelegate<TExtended>): Promise<BaseDelegate<TExtended> | undefined>;
368
+ /**
369
+ * Match `tokenHash`, or `previousTokenHash` while `previousTokenHashExpiresAt` is in the future.
370
+ * Activity, expiry, and owner checks belong to the resolver, not the store.
371
+ */
372
+ getByTokenHash(hash: string): Promise<BaseDelegate<TExtended> | undefined>;
373
+ getByExternalId?(externalId: string): Promise<BaseDelegate<TExtended> | undefined>;
374
+ listByOwner(ownerId: string, ownerType: DelegateOwnerType, options?: ListOptions): Promise<ListResult<BaseDelegate<TExtended>>>;
375
+ upsert(delegate: BaseDelegate<TExtended>): Promise<BaseDelegate<TExtended>>;
376
+ delete(id: string): Promise<number>;
377
+ list(options?: ListOptions): Promise<ListResult<BaseDelegate<TExtended>>>;
378
+ /**
379
+ * Record usage: set only `lastUsedAt` (not `updatedAt`) and never emit IAM delta. Called
380
+ * fire-and-forget at most once per `iam.delegates.lastUsedWindowSeconds` per process.
381
+ */
382
+ touch(id: string, at: Date): Promise<void>;
383
+ }
384
+ /**
385
+ * Shared minimal identity fields used to build both the workforce user
386
+ * record (`BaseUser`) and the CIAM customer record (`BaseCustomer`), as well
387
+ * as the authenticated session types (`WorkforceUser`, `Customer`).
388
+ *
389
+ * This is an internal structural base and is intentionally not part of the
390
+ * public API surface; consumers extend the `BaseUser` Zod/Valibot schema
391
+ * instead.
392
+ */
393
+ interface BaseUserFields {
394
+ /**
395
+ * Unique identifier for the user
396
+ */
397
+ id?: string;
398
+ /**
399
+ * REQUIRED. Unique identifier for login
400
+ */
401
+ userName: string;
402
+ /**
403
+ * REQUIRED. Simple display name
404
+ */
405
+ name: string;
406
+ /**
407
+ * REQUIRED. Primary email address
408
+ */
409
+ email: string;
410
+ /**
411
+ * URL to user's avatar/profile picture
412
+ */
413
+ avatar?: string;
414
+ /**
415
+ * User type (e.g., "employee", "contractor", "customer").
416
+ * Shared by SSO/CIAM and enterprise/SCIM user representations.
417
+ */
418
+ userType?: string;
419
+ }
365
420
  import { StandardSchemaV1 } from "@standard-schema/spec";
366
421
  /**
367
422
  * SCIM 2.0 User Resource
@@ -534,7 +589,7 @@ interface GroupMember {
534
589
  * config-declared trusted provisioning clients) and `"Customer"` a CIAM customer so SCIM consumers
535
590
  * can distinguish them from a workforce `"User"` or a nested `"Group"`.
536
591
  */
537
- type?: "User" | "Group" | "Workload" | "Customer";
592
+ type?: "User" | "Group" | "Workload" | "Customer" | "Delegate";
538
593
  }
539
594
  /**
540
595
  * SCIM 2.0 Group Resource
@@ -619,6 +674,36 @@ interface ScimCustomer {
619
674
  version?: string;
620
675
  };
621
676
  }
677
+ /** SCIM Delegate resource — an IAM-governed personal token principal. */
678
+ interface ScimDelegate {
679
+ [key: string]: unknown;
680
+ schemas?: string[];
681
+ id?: string;
682
+ externalId?: string;
683
+ userName?: string;
684
+ displayName?: string;
685
+ active?: boolean;
686
+ owner: {
687
+ value: string;
688
+ type: "User" | "Customer" | "Workload";
689
+ };
690
+ clientId?: string;
691
+ expiresAt?: string;
692
+ tokenHash?: string;
693
+ previousTokenHash?: string;
694
+ previousTokenHashExpiresAt?: string;
695
+ lastUsedAt?: string;
696
+ lastUsedWindowSeconds?: number;
697
+ providerId?: string;
698
+ requestUrl?: string;
699
+ meta?: {
700
+ resourceType?: string;
701
+ created?: string;
702
+ lastModified?: string;
703
+ location?: string;
704
+ version?: string;
705
+ };
706
+ }
622
707
  /**
623
708
  * SCIM Role
624
709
  */
@@ -714,6 +799,8 @@ declare const ION_SCIM_USER_EXTENSION_URN = "urn:ionite:scim:schemas:extension:i
714
799
  declare const ION_SCIM_WORKLOAD_SCHEMA = "urn:ionite:scim:schemas:core:2.0:Workload";
715
800
  /** SCIM core schema for a Customer principal (distinct ResourceType from User). */
716
801
  declare const ION_SCIM_CUSTOMER_SCHEMA = "urn:ionite:scim:schemas:core:2.0:Customer";
802
+ /** SCIM core schema for a Delegate principal. */
803
+ declare const ION_SCIM_DELEGATE_SCHEMA = "urn:ionite:scim:schemas:core:2.0:Delegate";
717
804
  /**
718
805
  * ionite SCIM User extension. See https://ionite.com/docs/llms-ecid.txt.
719
806
  */
@@ -878,6 +965,8 @@ declare function groupResourceSchema(vendor: string): StandardSchemaV1<Record<st
878
965
  declare const workloadResourceSchema: StandardSchemaV1<unknown, ScimWorkload>;
879
966
  /** Validates a SCIM Customer resource. */
880
967
  declare const customerResourceSchema: StandardSchemaV1<unknown, ScimCustomer>;
968
+ /** Validates a SCIM Delegate resource. */
969
+ declare const delegateResourceSchema: StandardSchemaV1<unknown, ScimDelegate>;
881
970
  import { StandardSchemaV1 as StandardSchemaV12 } from "@standard-schema/spec";
882
971
  /**
883
972
  * OIDC Code Flow Callback URL Parameters
@@ -1080,6 +1169,7 @@ interface TokenValidationResult {
1080
1169
  * into a {@link WorkloadPrincipal} (which adds a stable `id`).
1081
1170
  */
1082
1171
  type WorkloadIdentity = {
1172
+ delegate?: DelegateContext;
1083
1173
  /** Workload identifier (for JWT Bearer Grant tokens). */
1084
1174
  workloadId?: string;
1085
1175
  /** Client identifier (for OAuth2 Client Credentials tokens). */
@@ -1115,6 +1205,7 @@ type WorkloadPrincipal = WorkloadIdentity & {
1115
1205
  * Carries the SSO/OIDC context used by server helpers and user stores.
1116
1206
  */
1117
1207
  interface WorkforceUser extends BaseUserFields {
1208
+ delegate?: DelegateContext;
1118
1209
  /**
1119
1210
  * SSO/OIDC authentication data
1120
1211
  */
@@ -1153,6 +1244,7 @@ interface WorkforceUser extends BaseUserFields {
1153
1244
  * The persisted customer record is `BaseCustomer` (see customer-store.types).
1154
1245
  */
1155
1246
  interface Customer extends BaseUserFields {
1247
+ delegate?: DelegateContext;
1156
1248
  ciam: {
1157
1249
  /**
1158
1250
  * ID token-like claims for CIAM sessions.
@@ -1563,7 +1655,7 @@ type AccessRequestResult = {
1563
1655
  trackingUrl: string;
1564
1656
  };
1565
1657
  /** SCIM resource types the delta patch adapter addresses. */
1566
- type IamDeltaResourceType = "user" | "group" | "workload" | "customer";
1658
+ type IamDeltaResourceType = "user" | "group" | "workload" | "customer" | "delegate";
1567
1659
  /** Destination-owned reference captured from a SCIM User/Group response. */
1568
1660
  type DestinationReference = {
1569
1661
  /** Service-provider-assigned SCIM resource id. */
@@ -1579,6 +1671,7 @@ type IamDeltaReconcileInput = {
1579
1671
  users?: Iterable<BaseUser> | AsyncIterable<BaseUser>;
1580
1672
  workloads?: Iterable<BaseWorkloadIdentity> | AsyncIterable<BaseWorkloadIdentity>;
1581
1673
  customers?: Iterable<BaseCustomer> | AsyncIterable<BaseCustomer>;
1674
+ delegates?: Iterable<BaseDelegate> | AsyncIterable<BaseDelegate>;
1582
1675
  groups?: Iterable<Group> | AsyncIterable<Group>;
1583
1676
  roles?: Iterable<Role> | AsyncIterable<Role>;
1584
1677
  permissions?: Iterable<Permission> | AsyncIterable<Permission>;
@@ -1617,6 +1710,8 @@ interface IamDeltaEmitter {
1617
1710
  onCustomerUpsert(customer: BaseCustomer): Promise<void>;
1618
1711
  /** Delete a destination Customer identified by externalId (falling back to its App-owned id). */
1619
1712
  onCustomerDelete(externalId: string): Promise<void>;
1713
+ onDelegateUpsert(delegate: BaseDelegate): Promise<void>;
1714
+ onDelegateDelete(externalId: string): Promise<void>;
1620
1715
  /** Upsert a full SCIM Group representation for a group, role, or permission definition. */
1621
1716
  onEntitlementUpsert(entity: Entitlement, type: EntitlementType): Promise<void>;
1622
1717
  /** Delete a destination entitlement Group identified by the App-owned catalog id. */
@@ -1927,7 +2022,7 @@ type RequireReadyResult = {
1927
2022
  reason?: string;
1928
2023
  }>;
1929
2024
  };
1930
- type CapabilityKey = "sso.login" | "sso.jit" | "sso.logout" | "sso.back_channel_logout" | "sso.claims_authz" | "ciam.magic_link" | "ciam.oidc_login" | "ciam.customer" | "ciam.logout" | "ciam.claims_authz" | "iam.users" | "iam.groups" | "iam.groups.create" | "iam.workloads" | "iam.customers" | "workload.incoming" | "workload.outgoing" | "workload.claims_authz" | "authz.oaa" | "authz.access_requests" | "tm.integration";
2025
+ type CapabilityKey = "sso.login" | "sso.jit" | "sso.logout" | "sso.back_channel_logout" | "sso.claims_authz" | "ciam.magic_link" | "ciam.oidc_login" | "ciam.customer" | "ciam.logout" | "ciam.claims_authz" | "iam.users" | "iam.groups" | "iam.groups.create" | "iam.workloads" | "iam.customers" | "iam.delegates" | "workload.incoming" | "workload.outgoing" | "workload.claims_authz" | "authz.oaa" | "authz.access_requests" | "tm.integration";
1931
2026
  type CapabilityEndpointUrls = {
1932
2027
  readyzUrl: string;
1933
2028
  capabilitiezUrl: string;
@@ -1949,6 +2044,7 @@ type CapabilityEndpointUrls = {
1949
2044
  groupsUrl: string;
1950
2045
  workloadsUrl: string;
1951
2046
  customersUrl: string;
2047
+ delegatesUrl: string;
1952
2048
  };
1953
2049
  ciam: {
1954
2050
  magicLinkUrl: string;
@@ -2159,6 +2255,7 @@ type IamDescription = ModuleDescriptionBase<"iam"> & {
2159
2255
  users: IamPrincipalDescription;
2160
2256
  workloads: IamPrincipalDescription;
2161
2257
  customers: IamPrincipalDescription;
2258
+ delegates: IamPrincipalDescription;
2162
2259
  groups: {
2163
2260
  enabled: boolean;
2164
2261
  catalogWired: boolean;
@@ -2792,6 +2889,8 @@ interface IAMHandlerConfig {
2792
2889
  * Base path for the SCIM Customers endpoints (e.g., '/api/iam/Customers')
2793
2890
  */
2794
2891
  customersUrl?: string;
2892
+ /** Base path for the SCIM Delegates endpoints. */
2893
+ delegatesUrl?: string;
2795
2894
  /**
2796
2895
  * Handler overrides for SCIM discovery endpoints (e.g., '/api/iam/ServiceProviderConfig')
2797
2896
  */
@@ -2824,6 +2923,10 @@ type IAMConfig = {
2824
2923
  * Store for inbound customer provisioning. When configured, `/Customers` is served.
2825
2924
  */
2826
2925
  customerStore?: CustomerStore;
2926
+ /** Store for IAM-governed delegate principals. When configured, `/Delegates` is served. */
2927
+ delegateStore?: DelegateStore;
2928
+ /** FrameworkConfig-only header carrying delegate credentials. Defaults to `authorization`. */
2929
+ delegateHeader?: string;
2827
2930
  /**
2828
2931
  * Destination-only hook for `POST /AccessRequests`. Apps that are not IAM destinations omit this
2829
2932
  * and the endpoint returns 404.
@@ -2839,6 +2942,8 @@ type IAMConfig = {
2839
2942
  inboundCustomers?: IAMInboundCustomersConfig;
2840
2943
  /** AppDev-owned SCIM projection and persistence hooks for workload principals. */
2841
2944
  inboundWorkloads?: IAMInboundWorkloadsConfig;
2945
+ /** AppDev-owned SCIM projection and persistence hooks for delegate principals. */
2946
+ inboundDelegates?: IAMInboundDelegatesConfig;
2842
2947
  /**
2843
2948
  * FrameworkConfig-only fallback that mints an IAM-owned deep link where access to an entitlement
2844
2949
  * can be requested. A `requestUrl` written back into the catalog row by IAM takes precedence.
@@ -2852,6 +2957,7 @@ type IAMConfig = {
2852
2957
  groupsUrl?: string;
2853
2958
  workloadsUrl?: string;
2854
2959
  customersUrl?: string;
2960
+ delegatesUrl?: string;
2855
2961
  discovery?: IAMDiscoveryConfig;
2856
2962
  /**
2857
2963
  * RemoteConfig intent for workforce principals. Set by Ops/ECI via the ConfigSource; not
@@ -2872,6 +2978,11 @@ type IAMConfig = {
2872
2978
  * consumed by {@link Authz.grant}. `delta` is the Ops-owned per-kind egress mode.
2873
2979
  */
2874
2980
  customers?: IamPrincipalKindFlag;
2981
+ /** RemoteConfig intent for delegate principals. */
2982
+ delegates?: IamPrincipalKindFlag & {
2983
+ /** Coarse minimum interval between usage timestamp writes. Defaults to one hour. */
2984
+ lastUsedWindowSeconds?: number;
2985
+ };
2875
2986
  /**
2876
2987
  * RemoteConfig intent flag for the inbound SCIM Groups endpoint. Set by Ops/ECI via the
2877
2988
  * ConfigSource; not configurable from application code. Effective availability also requires an
@@ -2935,6 +3046,7 @@ type IAMValidators = {
2935
3046
  group: StandardSchemaV15<unknown, GroupResource>;
2936
3047
  workload?: StandardSchemaV15<unknown, ScimWorkload>;
2937
3048
  customer?: StandardSchemaV15<unknown, ScimCustomer>;
3049
+ delegate?: StandardSchemaV15<unknown, ScimDelegate>;
2938
3050
  };
2939
3051
  interface IAMInboundUserContext {
2940
3052
  /**
@@ -2970,6 +3082,10 @@ interface IAMInboundWorkloadsConfig {
2970
3082
  mapValidatedScimToBaseWorkload?: (validated: ScimWorkload, context: IAMInboundPrincipalContext<BaseWorkloadIdentity>) => BaseWorkloadIdentity | Promise<BaseWorkloadIdentity>;
2971
3083
  mapBaseWorkloadToScim?: (stored: BaseWorkloadIdentity) => ScimWorkload | Promise<ScimWorkload>;
2972
3084
  }
3085
+ interface IAMInboundDelegatesConfig {
3086
+ mapValidatedScimToBaseDelegate?: (validated: ScimDelegate, context: IAMInboundPrincipalContext<BaseDelegate>) => BaseDelegate | Promise<BaseDelegate>;
3087
+ mapBaseDelegateToScim?: (stored: BaseDelegate) => ScimDelegate | Promise<ScimDelegate>;
3088
+ }
2973
3089
  interface ScimAuthenticationScheme {
2974
3090
  type: string;
2975
3091
  name: string;
@@ -3027,7 +3143,7 @@ interface ScimResourceType {
3027
3143
  }
3028
3144
  interface ScimSchemaAttributeDefinition {
3029
3145
  name: string;
3030
- type: "string" | "boolean" | "complex" | "reference" | "dateTime";
3146
+ type: "string" | "boolean" | "complex" | "reference" | "dateTime" | "integer";
3031
3147
  multiValued: boolean;
3032
3148
  description?: string;
3033
3149
  required?: boolean;
@@ -3058,10 +3174,12 @@ interface IAMDiscoveryContext {
3058
3174
  groupsUrl: string;
3059
3175
  workloadsUrl: string;
3060
3176
  customersUrl: string;
3177
+ delegatesUrl: string;
3061
3178
  supportsUsers: boolean;
3062
3179
  supportsGroups: boolean;
3063
3180
  supportsWorkloads: boolean;
3064
3181
  supportsCustomers: boolean;
3182
+ supportsDelegates: boolean;
3065
3183
  }
3066
3184
  interface IAMDiscoveryConfig {
3067
3185
  /**
@@ -3181,12 +3299,15 @@ type IAMUsersInbound = {
3181
3299
  * - `groups_inbound` is available when a catalog source is configured
3182
3300
  * - `users_inbound` is available when `userStore` is configured
3183
3301
  */
3184
- type IAM = Omit<IAMConfig, "users" | "workloads" | "customers" | "groups"> & {
3302
+ type IAM = Omit<IAMConfig, "users" | "workloads" | "customers" | "delegates" | "groups"> & {
3185
3303
  /** Secret-free, JSON-serializable configuration and readiness summary. */
3186
3304
  describe: () => IamDescription;
3187
3305
  users: IamPrincipalKind;
3188
3306
  workloads: IamPrincipalKind;
3189
3307
  customers: IamPrincipalKind;
3308
+ delegates: IamPrincipalKind & {
3309
+ lastUsedWindowSeconds: number;
3310
+ };
3190
3311
  groups: {
3191
3312
  enabled: boolean;
3192
3313
  };
@@ -3217,6 +3338,15 @@ type IAM = Omit<IAMConfig, "users" | "workloads" | "customers" | "groups"> & {
3217
3338
  users_inbound?: IAMUsersInbound;
3218
3339
  workloads_inbound?: IAMPrincipalsInbound;
3219
3340
  customers_inbound?: IAMPrincipalsInbound;
3341
+ delegates_inbound?: IAMPrincipalsInbound;
3342
+ /**
3343
+ * True when the request presents a delegate credential (`ion_dlg_` on `delegateHeader`), valid or
3344
+ * not. Present only when delegates are enabled and a `delegateStore` is wired. A request that
3345
+ * presents one never falls back to a session or workload token.
3346
+ */
3347
+ hasDelegateCredential?: (request: Request) => boolean;
3348
+ /** Resolve a delegate credential to its owner principal, with delegate context attached. */
3349
+ resolveDelegate?: (request: Request) => Promise<AuthenticatedPrincipal | undefined>;
3220
3350
  /**
3221
3351
  * Framework-agnostic request handler for the IAM module.
3222
3352
  * Routes to discovery, users_inbound, groups_inbound, or principal-kind inbound based on path.
@@ -4798,6 +4928,8 @@ type AuthzOaaConfig = {
4798
4928
  customers?: AuthzOaaPrincipalConfig;
4799
4929
  /** Workload population. Defaults to `'access'`. */
4800
4930
  workloads?: AuthzOaaPrincipalConfig;
4931
+ /** Delegate population. Defaults to `'access'`. */
4932
+ delegates?: AuthzOaaPrincipalConfig;
4801
4933
  compression?: "gzip" | "none";
4802
4934
  multipart?: "auto" | "always" | "never";
4803
4935
  maxPayloadBytes?: number;
@@ -4928,7 +5060,7 @@ type FrameworkConfig = {
4928
5060
  * enablement) are also stripped from code.
4929
5061
  */
4930
5062
  type SSOConfigFromCode = Omit<SSOConfig, "loginUrl" | "userUrl" | "logoutUrl" | "logoutBackChannelUrl" | "refreshUrl" | "redirectUri" | "claimsAsEntitlements" | "accessRequests">;
4931
- type IAMConfigFromCode = Omit<IAMConfig, "usersUrl" | "groupsUrl" | "workloadsUrl" | "customersUrl" | "users" | "workloads" | "customers" | "groups" | "discovery" | "deltaAudience" | "providers"> & {
5063
+ type IAMConfigFromCode = Omit<IAMConfig, "usersUrl" | "groupsUrl" | "workloadsUrl" | "customersUrl" | "delegatesUrl" | "users" | "workloads" | "customers" | "delegates" | "groups" | "discovery" | "deltaAudience" | "providers"> & {
4932
5064
  discovery?: Omit<IAMDiscoveryConfig, "basePath">;
4933
5065
  };
4934
5066
  type WorkloadServerConfigFromCode = Omit<Partial<WorkloadConfig>, "tokenUrl" | "validateUrl" | "jwksUrl" | "refreshUrl" | "claimsAsEntitlements">;
@@ -5051,6 +5183,7 @@ type FrameworkStores = {
5051
5183
  sessionStore?: SessionStore<unknown>;
5052
5184
  userStore?: UserStore<unknown>;
5053
5185
  customerStore?: CustomerStore<unknown>;
5186
+ delegateStore?: DelegateStore<unknown>;
5054
5187
  accessStore?: AccessAssignmentStore<unknown>;
5055
5188
  accessIndex?: AccessIndex;
5056
5189
  /** Code-declared structural catalog templates. See `AuthzConfig.catalog`. */
@@ -5407,6 +5540,7 @@ declare const ION_IAM_WORKLOADS_WRITE: Permission;
5407
5540
  * Create, replace, modify, and delete Customers via SCIM. Gates write methods on `/iam/Customers`.
5408
5541
  */
5409
5542
  declare const ION_IAM_CUSTOMERS_WRITE: Permission;
5543
+ declare const ION_IAM_DELEGATES_WRITE: Permission;
5410
5544
  /**
5411
5545
  * Submit an on-behalf access request via `POST /iam/AccessRequests`. Gates the iam-request protocol.
5412
5546
  */
@@ -5429,10 +5563,11 @@ declare const ION_SDK_PERMISSIONS: readonly Permission[];
5429
5563
  * principal scope to check. This is the single source of truth the router/guards consult so the
5430
5564
  * enforcement contract lives in one place rather than scattered per route (AUDIT_HISTORY.md §1.32). The IAM
5431
5565
  * permission for a SCIM request is chosen from `iam.read` / `iam.users.write` / `iam.groups.write` /
5432
- * `iam.workloads.write` / `iam.customers.write` / `iam.access-requests.write` by resource + HTTP
5566
+ * `iam.workloads.write` / `iam.customers.write` / `iam.delegates.write` /
5567
+ * `iam.access-requests.write` by resource + HTTP
5433
5568
  * method (no request-body introspection).
5434
5569
  */
5435
- type EndpointOperation = "iam.read" | "iam.users.write" | "iam.groups.write" | "iam.workloads.write" | "iam.customers.write" | "iam.access-requests.write" | "capabilitiez.read" | "ciam.magic-link.create" | "authz.oaa.sync" | "tenant.manage";
5570
+ type EndpointOperation = "iam.read" | "iam.users.write" | "iam.groups.write" | "iam.workloads.write" | "iam.customers.write" | "iam.delegates.write" | "iam.access-requests.write" | "capabilitiez.read" | "ciam.magic-link.create" | "authz.oaa.sync" | "tenant.manage";
5436
5571
  type EndpointPermission = {
5437
5572
  permission: Permission;
5438
5573
  subjectType: SubjectScope;
@@ -6253,6 +6388,21 @@ type AuthzScimGroupExtension = {
6253
6388
  };
6254
6389
  type AccessRef<T> = string | T;
6255
6390
  /**
6391
+ * Subject of an instance `ion.authz.has*` check: a resolved principal (`getUser`, `getCustomer`,
6392
+ * `getWorkload`) or a stored principal record. Bare id strings are deliberately not accepted: a
6393
+ * resolved principal may carry `delegate` context, and the object is what retargets the check to the
6394
+ * delegate's own grants. A subject without a resolvable id is denied (`reason: 'subject_missing'`).
6395
+ */
6396
+ type AccessSubject = {
6397
+ id?: string;
6398
+ delegate?: DelegateContext;
6399
+ } | WorkloadIdentity;
6400
+ /**
6401
+ * The AccessIndex subject id of an {@link AccessSubject}, or `undefined` when it has none. Workloads
6402
+ * without an `id` use `clientId ?? workloadId ?? claims.sub`.
6403
+ */
6404
+ declare function accessSubjectId(subject: AccessSubject): string | undefined;
6405
+ /**
6256
6406
  * A catalog entry returned synchronously by {@link EntityStore.set}. It is the entity itself,
6257
6407
  * augmented with readiness observers so callers can hold a stable reference while persistence
6258
6408
  * to the backing store completes in the background.
@@ -6386,7 +6536,7 @@ type AccessStatus = "active";
6386
6536
  * Stored grants always carry a single concrete `SubjectType`; `'any'` (see {@link SubjectScope})
6387
6537
  * exists only at the request-helper check layer.
6388
6538
  */
6389
- type SubjectType = "user" | "customer" | "workload";
6539
+ type SubjectType = "user" | "customer" | "workload" | "delegate";
6390
6540
  /**
6391
6541
  * Which principal kind(s) a request-level `has*` check should consider. `'any'` (the default for the
6392
6542
  * standalone helpers) resolves every available principal from the request in parallel and allows on
@@ -6621,6 +6771,7 @@ type OaaSyncInput<
6621
6771
  users?: Iterable<TUser> | AsyncIterable<TUser>;
6622
6772
  customers?: Iterable<TCustomer> | AsyncIterable<TCustomer>;
6623
6773
  workloads?: Iterable<TWorkload> | AsyncIterable<TWorkload>;
6774
+ delegates?: Iterable<BaseDelegate> | AsyncIterable<BaseDelegate>;
6624
6775
  groups?: Iterable<TGroup | Group> | AsyncIterable<TGroup | Group>;
6625
6776
  roles?: Iterable<Role> | AsyncIterable<Role>;
6626
6777
  permissions?: Iterable<Permission> | AsyncIterable<Permission>;
@@ -6646,6 +6797,7 @@ interface OaaClient<
6646
6797
  pushUser(user: TUser): Promise<void>;
6647
6798
  pushCustomer(customer: TCustomer): Promise<void>;
6648
6799
  pushWorkload(workload: TWorkload): Promise<void>;
6800
+ pushDelegate(delegate: BaseDelegate): Promise<void>;
6649
6801
  pushGroup(group: TGroup | Group): Promise<void>;
6650
6802
  pushRole(role: TRole): Promise<void>;
6651
6803
  pushPermission(permission: TPermission): Promise<void>;
@@ -6660,6 +6812,7 @@ interface OaaClient<
6660
6812
  deleteUser(id: string): Promise<void>;
6661
6813
  deleteCustomer(id: string): Promise<void>;
6662
6814
  deleteWorkload(id: string): Promise<void>;
6815
+ deleteDelegate(id: string): Promise<void>;
6663
6816
  deleteGroup(id: string): Promise<void>;
6664
6817
  deleteRole(id: string): Promise<void>;
6665
6818
  deletePermission(id: string): Promise<void>;
@@ -6774,12 +6927,12 @@ type Authz = {
6774
6927
  readonly accessStore?: AccessAssignmentStore;
6775
6928
  /** The wired closure index powering `has*`, when the app provided one via stores. */
6776
6929
  accessIndex?: AccessIndex;
6777
- has(subject: AccessRef<BaseUser>, targetType: OaaAccessTargetType, target: AccessRef<Group | Role | Permission>, resource: AccessRef<Resource> | undefined, subjectType: SubjectType): Promise<AuthzDecision>;
6778
- hasGroup(subject: AccessRef<BaseUser>, group: AccessRef<Group>, resource: AccessRef<Resource> | undefined, subjectType: SubjectType): Promise<AuthzDecision>;
6779
- hasRole(subject: AccessRef<BaseUser>, role: AccessRef<Role>, resource: AccessRef<Resource> | undefined, subjectType: SubjectType): Promise<AuthzDecision>;
6780
- hasPermission(subject: AccessRef<BaseUser>, permission: AccessRef<Permission>, resource: AccessRef<Resource> | undefined, subjectType: SubjectType): Promise<AuthzDecision>;
6781
- hasAny(subject: AccessRef<BaseUser>, targets: AccessCheckTarget[], subjectType: SubjectType): Promise<AuthzDecision>;
6782
- hasAll(subject: AccessRef<BaseUser>, targets: AccessCheckTarget[], subjectType: SubjectType): Promise<AuthzDecision>;
6930
+ has(subject: AccessSubject, targetType: OaaAccessTargetType, target: AccessRef<Group | Role | Permission>, resource: AccessRef<Resource> | undefined, subjectType: SubjectType): Promise<AuthzDecision>;
6931
+ hasGroup(subject: AccessSubject, group: AccessRef<Group>, resource: AccessRef<Resource> | undefined, subjectType: SubjectType): Promise<AuthzDecision>;
6932
+ hasRole(subject: AccessSubject, role: AccessRef<Role>, resource: AccessRef<Resource> | undefined, subjectType: SubjectType): Promise<AuthzDecision>;
6933
+ hasPermission(subject: AccessSubject, permission: AccessRef<Permission>, resource: AccessRef<Resource> | undefined, subjectType: SubjectType): Promise<AuthzDecision>;
6934
+ hasAny(subject: AccessSubject, targets: AccessCheckTarget[], subjectType: SubjectType): Promise<AuthzDecision>;
6935
+ hasAll(subject: AccessSubject, targets: AccessCheckTarget[], subjectType: SubjectType): Promise<AuthzDecision>;
6783
6936
  /**
6784
6937
  * Run a **full reconciliation**: re-derive the entire `AccessIndex` from `AccessAssignmentStore`
6785
6938
  * roots + `AccessCatalogStore`. It enumerates the union of every assignment-store subject and every
@@ -6865,7 +7018,7 @@ type AccessCheckReason = "ok" | "unauthenticated" | "forbidden" | "not_configure
6865
7018
  */
6866
7019
  type AccessCheckResult = {
6867
7020
  allow: boolean;
6868
- /** The authenticated principal that was resolved/matched (workforce user, customer, or workload). */
7021
+ /** The resolved owner principal; delegate-authenticated owners carry `subject.delegate`. */
6869
7022
  subject?: AuthenticatedPrincipal;
6870
7023
  /** The kind of the resolved `subject` (which principal the decision applies to). */
6871
7024
  subjectType?: SubjectType;
@@ -7265,4 +7418,4 @@ declare function generateULID(prefix?: string): string;
7265
7418
  * `vaultTtl` is HTTP-only.
7266
7419
  */
7267
7420
  declare function vaultConfigLocatorTransportError(locator: Record<string, unknown>): string | undefined;
7268
- export { ACCEPT_JSON, ACCEPT_OCTET_STREAM, ACCEPT_SCIM, ACCEPT_XML, AccessAssignmentStore, AccessCatalogStore, AccessChange, AccessCheckReason, AccessCheckResult, AccessCheckTarget, AccessIndex, AccessMutationResult, AccessMutationStatus, AccessProvenance, AccessRef, AccessRequestCreate, AccessRequestInput, AccessRequestLookup, AccessRequestResult, AccessRequestsDestination, AccessStatus, Address, ApplicationValidators, AssignmentPolicyError, AuthenticatedPrincipal, AuthenticatedUser, Authz, AuthzConfig, AuthzDecision, AuthzDescription, AuthzEntityBase, AuthzOaaConfig, AuthzOaaPrincipalConfig, AuthzScimGroupExtension, AuthzScimGroupType, AwsConfigLocator, AwsSecretsConfig, AzureAuthMethod, AzureConfigLocator, AzureSecretsConfig, BaseCustomer, BaseTenant, BaseUser, BaseWorkloadIdentity, CANONICAL_RISK_LEVELS, CIAM, CIAMConfig, CIAMConfigFromCode, CIAMConfigFromCodeInput, CIAMProviderBranding, CIAMProviderColors, CIAMProviderConfig, CIAMProviderDescriptor, CIAMProviderType, CIAMValidators, CONTENT_TYPE_FORM, CONTENT_TYPE_JSON, CONTENT_TYPE_OCTET_STREAM, CONTENT_TYPE_SCIM, CONTENT_TYPE_XML, CacheConfig, CachedWorkloadToken, CapabilitiezManifest, CapabilityEndpointUrls, CapabilityKey, CapabilityState, CatalogChange, CatalogChangeKind, CatalogChangeListener, CatalogEntityKind, ChangeListener, CiamDescription, CiamProviderDescription, ClaimsAsEntitlements, ClaimsAsEntitlementsDescription, ClientCredentialsWorkloadConfig, CodeCatalog, CodeCatalogInput, CodeCatalogNamespace, ConfigApplyStatus, ConfigChangeCallback, ConfigChangeOptions, ConfigChangeResult, ConfigErrorKind, ConfigExportEnvelope, ConfigLocator, ConfigSource, ConfigSourceEnv, ConfigSourceError, ConfigSourceErrorInit, ConfigSourceOrigin, ConfigSourceResolver, ConfigSourceType, ConfigSubscriptionOptions, ConnectRequestContext, CookieDescription, CreateGroupOptions, CreateTenantRequest, CreateUserOptions, Customer, CustomerStore, CustomerStoreOptions, DEFAULT_DISCOVERED_COOKIE_MAX, DEFAULT_DISCOVERED_COOKIE_TTL_SECONDS, DEFAULT_DISPLAY_COOKIE_MAX, DEFAULT_RISK_LEVEL, DEFAULT_SECRET_MIME_TYPES, DEFAULT_TENANT_API_NAMESPACE, DEFAULT_TENANT_UI_NAMESPACE, DISCOVERED_COOKIE_PREFIX, DISPLAY_COOKIE_SUFFIX, DISPLAY_COOKIE_VERSION, DerivedEntitlement, DescribedSecretsSource, DestinationReference, DevSecretsConfig, DiscoveredDisplayCookieConfig, DisplayAuthType, DisplayCookieConfig, DisplayCookieEnvelope, DisplayIdentity, DisplayUser, ECID_SCHEME, ENTRA_ION_EXTENSION_URN, EcidFormatError, EffectiveEdge, EgressChannelOutcome, EgressOutcome, Email, EndpointOperation, EndpointPermission, EnterpriseExtension, Entitlement, EntitlementType, EntityStore, EnvironmentType, FORM_MEDIA_TYPE, FrameworkConfig, FrameworkConfigInput, FrameworkLfvConfig, FrameworkOtelConfig, FrameworkSecretsModuleConfig, FrameworkSecretsSourceConfig, FrameworkStores, FrameworkTmConfig, FrameworkWorkloadConfig, FrameworkWorkloadConfigFromCode, FrameworkWorkloadIncomingOutgoing, GcpConfigLocator, GcpSecretsConfig, GrantRequest, Group, GroupMember, GroupResource, GroupsInboundHandlerConfig, IAM, IAMAccessRequestsConfig, IAMAppRegistry, IAMAppValidators, IAMConfig, IAMConfigFromCode, IAMDiscoveryConfig, IAMDiscoveryContext, IAMDiscoveryHandlerConfig, IAMEndpointFlag, IAMGroupsInbound, IAMGroupsOutbound, IAMHandlerConfig, IAMInboundCustomersConfig, IAMInboundPrincipalContext, IAMInboundUserContext, IAMInboundUsersConfig, IAMInboundWorkloadsConfig, IAMPrincipalsInbound, IAMProviderConfig, IAMProviderType, IAMUsersInbound, IAMValidators, ION_AUTHZ_GROUP_SCHEMA, ION_AUTHZ_OAA_SYNC, ION_CAPABILITIEZ_READ, ION_CIAM_MAGIC_LINK_CREATE, ION_ENDPOINT_PERMISSIONS, ION_IAM_ACCESS_REQUESTS_WRITE, ION_IAM_CUSTOMERS_WRITE, ION_IAM_GROUPS_WRITE, ION_IAM_READ, ION_IAM_USERS_WRITE, ION_IAM_WORKLOADS_WRITE, ION_SCIM_CUSTOMER_SCHEMA, ION_SCIM_USER_EXTENSION_URN, ION_SCIM_WORKLOAD_SCHEMA, ION_SDK_PERMISSIONS, ION_TENANT_MANAGE, IamAssignmentPolicy, IamDeltaEmitter, IamDeltaMode, IamDeltaReconcileInput, IamDeltaReconcileResult, IamDeltaResourceType, IamDescription, IamPrincipalDescription, IamPrincipalKind, IamPrincipalKindFlag, IdTokenClaims, IdentityResolution, InMemoryTenantStoreOptions, InboundEntitlementDecision, InboundEntitlementRequest, InferSecretType, Ionite, IoniteBase, IoniteDescription, IoniteError, IoniteErrorContext, IoniteErrorJson, IoniteErrorOptions, IoniteLogAttributes, IoniteUserExtension, IoniteValidators, JSON_MEDIA_TYPE, JWTAssertionClaims, JwtBearerWorkloadConfig, KNOWN_BASE_CUSTOMER_KEYS, KNOWN_BASE_USER_KEYS, KNOWN_ENTITLEMENT_KEYS, KNOWN_WORKLOAD_KEYS, Kms, KmsAddKeysRequest, KmsAddKeysResult, KmsAllocationPolicy, KmsAllocationStrategy, KmsConfig, KmsDescription, KmsIssuedKey, KmsIssuerEvent, KmsIssuerEventListener, KmsIssuerEventName, KmsKey, KmsKeyState, KmsParkDisposition, KmsParkReport, KmsParkRequest, KmsParkResult, KmsPool, KmsPoolConfig, KmsPoolControlDocument, KmsPoolDescription, KmsPoolDocument, KmsPoolIssuer, KmsPoolListener, KmsPoolSlot, KmsRevokeKeyRequest, KmsRevokeKeyResult, LfvActionAcceptedResponse, LfvActionName, LfvActionRequestBase, LfvCallbackEnvelope, LfvCallbackHeaders, LfvCallbackKind, LfvCallbackTransport, LfvEd25519PrivateJwk, LfvEd25519PublicJwk, LfvErrorCode, LfvErrorResponse, LfvJwks, LfvOtpRequest, LfvOtpResponse, ListFilter, ListOptions, ListResult, Logger, MagicLink, MagicLinkStore, MetaData, MirrorConfigLocator, ModifiableFrameworkConfig, ModuleDescription, ModuleDescriptionBase, ModuleName, ModuleReadiness, ModuleReadinessState, Name, NoReserved, OCTET_STREAM_MEDIA_TYPE, OaaAccessChangeBatchItem, OaaAccessTargetType, OaaClient, OaaDescription, OaaPrincipalPopulation, OaaSyncInput, OaaSyncOptions, OaaSyncResult, OidcCallbackParams, Otel, OtelAttributeValue, OtelAttributes, OtelConfig, OtelConsoleMode, OtelDescription, OtelLevels, OtelLogLevel, OtelLogRecord, OtelMetricsSignalConfig, OtelOAuthClientCredentialsConfig, OtelProtocol, OtelProviderType, OtelSignalConfig, OtelSignalDescription, OtelSignalName, PLATFORM_ASSIGNABLE_SUBJECT_TYPES, ParsedEcid, Permission, PhoneNumber, Photo, PrincipalInboundHandlerConfig, ReactiveHandle, ReadJsonResponseOptions, ReadinessReport, ReadyAccessCatalogEntry, ReadyzEndpointConfig, ReconcileReport, RecordTenantConsentInput, RegisterIAMAppError, RegisterIAMAppPayload, RegisterIAMAppResult, RegisterSSOAppError, RegisterSSOAppPayload, RegisterSSOAppResult, RemoteConfig, RemoteConfigLoadErrorKind, RemoteConfigRetryContext, RemoteConfigRetryHook, RemoteConfigRetryOptions, RemoteTmConfig, RequireReadyResult, ResolvedRoute, ResolvedVaultLfvSecretsConfig, Resource, ResourceChange, ResourceChangeListener, ResourceProvider, RiskLevel, Role, RouteFilterResult, RouteModule, RoutingOptions, SCIM_MEDIA_TYPE, SSO, SSOAppRegistry, SSOAppValidators, SSOConfig, SSOConfigFromCode, SSOHandlerConfig, SSOValidators, ScimAuthenticationScheme, ScimCustomer, ScimError, Group2 as ScimGroup, ScimListResponse, ScimMutationSummary, ScimPatchErrorType, ScimPatchOperation, ScimResourceType, ScimResourceTypeSchemaExtension, ScimResult, Role2 as ScimRole, ScimSchemaAttributeDefinition, ScimSchemaDefinition, ScimServiceProviderConfig, User as ScimUser, ScimWorkload, Secret, SecretContentType, SecretContentTypeMismatchError, SecretEvent, SecretEventListener, SecretEventName, SecretFormat, SecretHandle, SecretLifecycleRequest, SecretRequestSeverity, SecretTypeDescriptor, SecretTypeInput, SecretTypeRegistryEntry, Secrets, SecretsDescription, SecretsModuleConfig, SecretsOperationOptions, SecretsSource, SecretsSourceConfig, SecretsSourceDescription, SecretsSourceMap, SecretsSourceOrigin, SecretsSourceType, SecretsSubscriptionOptions, SecretsTransport, SecretsValidators, SecretsWriteOptions, ServerOnlyWorkloadConfig, Session, SessionStore, SetTenantIntegrationOptions, SsoDescription, StagedIntegration, StandardSchemaWithValidate, StateCookie, StoreConflictError, StoreConflictKind, SubjectRef, SubjectScope, SubjectType, SubjectTypeScoping, SubscriptionMode, TenantCreatePlan, TenantDirectory, TenantDirectoryIdentity, TenantHostMatch, TenantHostRoutingStrategy, TenantIntegration, TenantIntegrationStatus, TenantIntegrationView, TenantIonCache, TenantManagement, TenantPathMatch, TenantPathNamespace, TenantPathRoutingStrategy, TenantResponse, TenantRoutingStrategy, TenantSelectorRoutingStrategy, TenantStatus, TenantStore, TenantValidators, TenantWebhookPayload, TmDescription, TmIoniteConfig, TokenResponse, TokenValidationResult, TrustedIdp, TrustedProvisioningClient, UnexpectedBodySummary, UpdateTenantRequest, UserEndpointPolicy, UserStore, UserStoreOptions, UsersInboundHandlerConfig, ValidateResult, VaultAuthHeader, VaultConfigLocator, VaultLfvSecretsConfig, VaultSecretsConfig, VaultWorkloadAuthConfig, WorkforceUser, Workload, WorkloadClient, WorkloadClientDescription, WorkloadConfig, WorkloadConfigMap, WorkloadDescription, WorkloadGetToken, WorkloadIdentity, WorkloadIdentityStore, WorkloadIncomingOutgoing, WorkloadPrincipal, WorkloadTokenResponse, WorkloadTokenStore, WorkloadTrustedIdpDescription, WorkloadValidators, X509Certificate, XML_MEDIA_TYPE, accessRefId, accessRootId, assertEcid, assertRequiredSubjectType, assertValidSubjectTypeScoping, buildTenantPath, buildTenantUrl, catalogEntityStore, claimsToUser, compareDisplayExpiryDesc, configSourceOriginLogFields, configTrustedClientGrants, customAttributes, customerResourceSchema, debugLogger, decodeDisplayCookie, decodeUser, deepEqualPlain, defaultDisplayUser, defaultLogger, defaultSecretContentType, defineCatalog, defineSecretType, deprecateRetiredCodeCatalogRows, describeOriginUrl, discoveredProfileCookieName, encodeDisplayCookie, errorLogAttributes, formatEcid, formatLogLine, generateULID, getCodeCatalogEntity, groupResourceSchema, idTokenClaimsSchema, infoLogger, isCodeCatalog, isConfigLocator, isConfigSourceError, isEcid, isJsonResponse, isStoreConflictError, jwtAssertionClaimsSchema, list, listGenerator, matchTenantHost, matchTenantPath, matchesListFilter, materializeCodeCatalogEntity, mergeCodeCatalogEntity, mergeConfig, must, normalizeTenantBaseDomain, normalizeTenantPathNamespace, normalizeTenantRoutingStrategy, oidcCallbackSchema, parseEcid, parseJsonc, parseKmsPoolControlDocument, parseKmsPoolDocument, prettyLogger, profileCookieName, projectDisplayUser, readDisplayCookies, readJsonResponse, readyCatalogEntry, remoteConfigSecretType, resolveDiscoveredCookieMax, resolveDiscoveredCookieTtlSeconds, resolveDisplayCookieMax, sanitizeDisplayUser, serializeConfig, silentLogger, stableConfigHash, stripJsonComments, tmIntegrationState, toCodeCatalog, tokenResponseSchema, trimTrailingSlash, trustedClientPermissionsForPrincipal, unexpectedBodySummary, unionCatalogRead, userSchema, validationFailureResponse, vaultConfigLocatorTransportError, version, waitOn, warnLogger, withValidate, workloadResourceSchema, workloadTokenResponseSchema };
7421
+ export { ACCEPT_JSON, ACCEPT_OCTET_STREAM, ACCEPT_SCIM, ACCEPT_XML, AccessAssignmentStore, AccessCatalogStore, AccessChange, AccessCheckReason, AccessCheckResult, AccessCheckTarget, AccessIndex, AccessMutationResult, AccessMutationStatus, AccessProvenance, AccessRef, AccessRequestCreate, AccessRequestInput, AccessRequestLookup, AccessRequestResult, AccessRequestsDestination, AccessStatus, AccessSubject, Address, ApplicationValidators, AssignmentPolicyError, AuthenticatedPrincipal, AuthenticatedUser, Authz, AuthzConfig, AuthzDecision, AuthzDescription, AuthzEntityBase, AuthzOaaConfig, AuthzOaaPrincipalConfig, AuthzScimGroupExtension, AuthzScimGroupType, AwsConfigLocator, AwsSecretsConfig, AzureAuthMethod, AzureConfigLocator, AzureSecretsConfig, BaseCustomer, BaseDelegate, BaseTenant, BaseUser, BaseWorkloadIdentity, CANONICAL_RISK_LEVELS, CIAM, CIAMConfig, CIAMConfigFromCode, CIAMConfigFromCodeInput, CIAMProviderBranding, CIAMProviderColors, CIAMProviderConfig, CIAMProviderDescriptor, CIAMProviderType, CIAMValidators, CONTENT_TYPE_FORM, CONTENT_TYPE_JSON, CONTENT_TYPE_OCTET_STREAM, CONTENT_TYPE_SCIM, CONTENT_TYPE_XML, CacheConfig, CachedWorkloadToken, CapabilitiezManifest, CapabilityEndpointUrls, CapabilityKey, CapabilityState, CatalogChange, CatalogChangeKind, CatalogChangeListener, CatalogEntityKind, ChangeListener, CiamDescription, CiamProviderDescription, ClaimsAsEntitlements, ClaimsAsEntitlementsDescription, ClientCredentialsWorkloadConfig, CodeCatalog, CodeCatalogInput, CodeCatalogNamespace, ConfigApplyStatus, ConfigChangeCallback, ConfigChangeOptions, ConfigChangeResult, ConfigErrorKind, ConfigExportEnvelope, ConfigLocator, ConfigSource, ConfigSourceEnv, ConfigSourceError, ConfigSourceErrorInit, ConfigSourceOrigin, ConfigSourceResolver, ConfigSourceType, ConfigSubscriptionOptions, ConnectRequestContext, CookieDescription, CreateGroupOptions, CreateTenantRequest, CreateUserOptions, Customer, CustomerStore, CustomerStoreOptions, DEFAULT_DISCOVERED_COOKIE_MAX, DEFAULT_DISCOVERED_COOKIE_TTL_SECONDS, DEFAULT_DISPLAY_COOKIE_MAX, DEFAULT_RISK_LEVEL, DEFAULT_SECRET_MIME_TYPES, DEFAULT_TENANT_API_NAMESPACE, DEFAULT_TENANT_UI_NAMESPACE, DISCOVERED_COOKIE_PREFIX, DISPLAY_COOKIE_SUFFIX, DISPLAY_COOKIE_VERSION, DelegateContext, DelegateOwner, DelegateOwnerType, DelegateStore, DerivedEntitlement, DescribedSecretsSource, DestinationReference, DevSecretsConfig, DiscoveredDisplayCookieConfig, DisplayAuthType, DisplayCookieConfig, DisplayCookieEnvelope, DisplayIdentity, DisplayUser, ECID_SCHEME, ENTRA_ION_EXTENSION_URN, EcidFormatError, EffectiveEdge, EgressChannelOutcome, EgressOutcome, Email, EndpointOperation, EndpointPermission, EnterpriseExtension, Entitlement, EntitlementType, EntityStore, EnvironmentType, FORM_MEDIA_TYPE, FrameworkConfig, FrameworkConfigInput, FrameworkLfvConfig, FrameworkOtelConfig, FrameworkSecretsModuleConfig, FrameworkSecretsSourceConfig, FrameworkStores, FrameworkTmConfig, FrameworkWorkloadConfig, FrameworkWorkloadConfigFromCode, FrameworkWorkloadIncomingOutgoing, GcpConfigLocator, GcpSecretsConfig, GrantRequest, Group, GroupMember, GroupResource, GroupsInboundHandlerConfig, IAM, IAMAccessRequestsConfig, IAMAppRegistry, IAMAppValidators, IAMConfig, IAMConfigFromCode, IAMDiscoveryConfig, IAMDiscoveryContext, IAMDiscoveryHandlerConfig, IAMEndpointFlag, IAMGroupsInbound, IAMGroupsOutbound, IAMHandlerConfig, IAMInboundCustomersConfig, IAMInboundDelegatesConfig, IAMInboundPrincipalContext, IAMInboundUserContext, IAMInboundUsersConfig, IAMInboundWorkloadsConfig, IAMPrincipalsInbound, IAMProviderConfig, IAMProviderType, IAMUsersInbound, IAMValidators, ION_AUTHZ_GROUP_SCHEMA, ION_AUTHZ_OAA_SYNC, ION_CAPABILITIEZ_READ, ION_CIAM_MAGIC_LINK_CREATE, ION_ENDPOINT_PERMISSIONS, ION_IAM_ACCESS_REQUESTS_WRITE, ION_IAM_CUSTOMERS_WRITE, ION_IAM_DELEGATES_WRITE, ION_IAM_GROUPS_WRITE, ION_IAM_READ, ION_IAM_USERS_WRITE, ION_IAM_WORKLOADS_WRITE, ION_SCIM_CUSTOMER_SCHEMA, ION_SCIM_DELEGATE_SCHEMA, ION_SCIM_USER_EXTENSION_URN, ION_SCIM_WORKLOAD_SCHEMA, ION_SDK_PERMISSIONS, ION_TENANT_MANAGE, IamAssignmentPolicy, IamDeltaEmitter, IamDeltaMode, IamDeltaReconcileInput, IamDeltaReconcileResult, IamDeltaResourceType, IamDescription, IamPrincipalDescription, IamPrincipalKind, IamPrincipalKindFlag, IdTokenClaims, IdentityResolution, InMemoryTenantStoreOptions, InboundEntitlementDecision, InboundEntitlementRequest, InferSecretType, Ionite, IoniteBase, IoniteDescription, IoniteError, IoniteErrorContext, IoniteErrorJson, IoniteErrorOptions, IoniteLogAttributes, IoniteUserExtension, IoniteValidators, JSON_MEDIA_TYPE, JWTAssertionClaims, JwtBearerWorkloadConfig, KNOWN_BASE_CUSTOMER_KEYS, KNOWN_BASE_USER_KEYS, KNOWN_ENTITLEMENT_KEYS, KNOWN_WORKLOAD_KEYS, Kms, KmsAddKeysRequest, KmsAddKeysResult, KmsAllocationPolicy, KmsAllocationStrategy, KmsConfig, KmsDescription, KmsIssuedKey, KmsIssuerEvent, KmsIssuerEventListener, KmsIssuerEventName, KmsKey, KmsKeyState, KmsParkDisposition, KmsParkReport, KmsParkRequest, KmsParkResult, KmsPool, KmsPoolConfig, KmsPoolControlDocument, KmsPoolDescription, KmsPoolDocument, KmsPoolIssuer, KmsPoolListener, KmsPoolSlot, KmsRevokeKeyRequest, KmsRevokeKeyResult, LfvActionAcceptedResponse, LfvActionName, LfvActionRequestBase, LfvCallbackEnvelope, LfvCallbackHeaders, LfvCallbackKind, LfvCallbackTransport, LfvEd25519PrivateJwk, LfvEd25519PublicJwk, LfvErrorCode, LfvErrorResponse, LfvJwks, LfvOtpRequest, LfvOtpResponse, ListFilter, ListOptions, ListResult, Logger, MagicLink, MagicLinkStore, MetaData, MirrorConfigLocator, ModifiableFrameworkConfig, ModuleDescription, ModuleDescriptionBase, ModuleName, ModuleReadiness, ModuleReadinessState, Name, NoReserved, OCTET_STREAM_MEDIA_TYPE, OaaAccessChangeBatchItem, OaaAccessTargetType, OaaClient, OaaDescription, OaaPrincipalPopulation, OaaSyncInput, OaaSyncOptions, OaaSyncResult, OidcCallbackParams, Otel, OtelAttributeValue, OtelAttributes, OtelConfig, OtelConsoleMode, OtelDescription, OtelLevels, OtelLogLevel, OtelLogRecord, OtelMetricsSignalConfig, OtelOAuthClientCredentialsConfig, OtelProtocol, OtelProviderType, OtelSignalConfig, OtelSignalDescription, OtelSignalName, PLATFORM_ASSIGNABLE_SUBJECT_TYPES, ParsedEcid, Permission, PhoneNumber, Photo, PrincipalInboundHandlerConfig, ReactiveHandle, ReadJsonResponseOptions, ReadinessReport, ReadyAccessCatalogEntry, ReadyzEndpointConfig, ReconcileReport, RecordTenantConsentInput, RegisterIAMAppError, RegisterIAMAppPayload, RegisterIAMAppResult, RegisterSSOAppError, RegisterSSOAppPayload, RegisterSSOAppResult, RemoteConfig, RemoteConfigLoadErrorKind, RemoteConfigRetryContext, RemoteConfigRetryHook, RemoteConfigRetryOptions, RemoteTmConfig, RequireReadyResult, ResolvedRoute, ResolvedVaultLfvSecretsConfig, Resource, ResourceChange, ResourceChangeListener, ResourceProvider, RiskLevel, Role, RouteFilterResult, RouteModule, RoutingOptions, SCIM_MEDIA_TYPE, SSO, SSOAppRegistry, SSOAppValidators, SSOConfig, SSOConfigFromCode, SSOHandlerConfig, SSOValidators, ScimAuthenticationScheme, ScimCustomer, ScimDelegate, ScimError, Group2 as ScimGroup, ScimListResponse, ScimMutationSummary, ScimPatchErrorType, ScimPatchOperation, ScimResourceType, ScimResourceTypeSchemaExtension, ScimResult, Role2 as ScimRole, ScimSchemaAttributeDefinition, ScimSchemaDefinition, ScimServiceProviderConfig, User as ScimUser, ScimWorkload, Secret, SecretContentType, SecretContentTypeMismatchError, SecretEvent, SecretEventListener, SecretEventName, SecretFormat, SecretHandle, SecretLifecycleRequest, SecretRequestSeverity, SecretTypeDescriptor, SecretTypeInput, SecretTypeRegistryEntry, Secrets, SecretsDescription, SecretsModuleConfig, SecretsOperationOptions, SecretsSource, SecretsSourceConfig, SecretsSourceDescription, SecretsSourceMap, SecretsSourceOrigin, SecretsSourceType, SecretsSubscriptionOptions, SecretsTransport, SecretsValidators, SecretsWriteOptions, ServerOnlyWorkloadConfig, Session, SessionStore, SetTenantIntegrationOptions, SsoDescription, StagedIntegration, StandardSchemaWithValidate, StateCookie, StoreConflictError, StoreConflictKind, SubjectRef, SubjectScope, SubjectType, SubjectTypeScoping, SubscriptionMode, TenantCreatePlan, TenantDirectory, TenantDirectoryIdentity, TenantHostMatch, TenantHostRoutingStrategy, TenantIntegration, TenantIntegrationStatus, TenantIntegrationView, TenantIonCache, TenantManagement, TenantPathMatch, TenantPathNamespace, TenantPathRoutingStrategy, TenantResponse, TenantRoutingStrategy, TenantSelectorRoutingStrategy, TenantStatus, TenantStore, TenantValidators, TenantWebhookPayload, TmDescription, TmIoniteConfig, TokenResponse, TokenValidationResult, TrustedIdp, TrustedProvisioningClient, UnexpectedBodySummary, UpdateTenantRequest, UserEndpointPolicy, UserStore, UserStoreOptions, UsersInboundHandlerConfig, ValidateResult, VaultAuthHeader, VaultConfigLocator, VaultLfvSecretsConfig, VaultSecretsConfig, VaultWorkloadAuthConfig, WorkforceUser, Workload, WorkloadClient, WorkloadClientDescription, WorkloadConfig, WorkloadConfigMap, WorkloadDescription, WorkloadGetToken, WorkloadIdentity, WorkloadIdentityStore, WorkloadIncomingOutgoing, WorkloadPrincipal, WorkloadTokenResponse, WorkloadTokenStore, WorkloadTrustedIdpDescription, WorkloadValidators, X509Certificate, XML_MEDIA_TYPE, accessRefId, accessRootId, accessSubjectId, assertEcid, assertRequiredSubjectType, assertValidSubjectTypeScoping, buildTenantPath, buildTenantUrl, catalogEntityStore, claimsToUser, compareDisplayExpiryDesc, configSourceOriginLogFields, configTrustedClientGrants, customAttributes, customerResourceSchema, debugLogger, decodeDisplayCookie, decodeUser, deepEqualPlain, defaultDisplayUser, defaultLogger, defaultSecretContentType, defineCatalog, defineSecretType, delegateResourceSchema, deprecateRetiredCodeCatalogRows, describeOriginUrl, discoveredProfileCookieName, encodeDisplayCookie, errorLogAttributes, formatEcid, formatLogLine, generateULID, getCodeCatalogEntity, groupResourceSchema, idTokenClaimsSchema, infoLogger, isCodeCatalog, isConfigLocator, isConfigSourceError, isEcid, isJsonResponse, isStoreConflictError, jwtAssertionClaimsSchema, list, listGenerator, matchTenantHost, matchTenantPath, matchesListFilter, materializeCodeCatalogEntity, mergeCodeCatalogEntity, mergeConfig, must, normalizeTenantBaseDomain, normalizeTenantPathNamespace, normalizeTenantRoutingStrategy, oidcCallbackSchema, parseEcid, parseJsonc, parseKmsPoolControlDocument, parseKmsPoolDocument, prettyLogger, profileCookieName, projectDisplayUser, readDisplayCookies, readJsonResponse, readyCatalogEntry, remoteConfigSecretType, resolveDiscoveredCookieMax, resolveDiscoveredCookieTtlSeconds, resolveDisplayCookieMax, sanitizeDisplayUser, serializeConfig, silentLogger, stableConfigHash, stripJsonComments, tmIntegrationState, toCodeCatalog, tokenResponseSchema, trimTrailingSlash, trustedClientPermissionsForPrincipal, unexpectedBodySummary, unionCatalogRead, userSchema, validationFailureResponse, vaultConfigLocatorTransportError, version, waitOn, warnLogger, withValidate, workloadResourceSchema, workloadTokenResponseSchema };