@ionite/server 0.0.23 → 0.0.24-beta.20260907.2

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
@@ -1,6 +1,6 @@
1
1
  import { ConfigChangeCallback, ConfigSource as ConfigSource9, FrameworkConfigInput, FrameworkStores as FrameworkStores2, Ionite as Ionite6, ModifiableFrameworkConfig, RemoteConfig as RemoteConfig3, RemoteConfigRetryHook, RemoteConfigRetryOptions, RoutingOptions as RoutingOptions2 } from "@ionite/core";
2
2
  import { ApplicationValidators, BaseTenant as BaseTenant2, CreateTenantRequest, Ionite as Ionite2, TenantStore as TenantStore2, TenantValidators, UpdateTenantRequest, Workload } from "@ionite/core";
3
- import { CapabilityEndpointUrls } from "@ionite/core";
3
+ import { CapabilityEndpointUrls, FrameworkStores } from "@ionite/core";
4
4
  /**
5
5
  * Deterministic set of ionite endpoint paths derived from a single `basePath`.
6
6
  * These are the only URLs the SDK mounts; application code cannot customize individual paths
@@ -13,6 +13,18 @@ type UrlMap = CapabilityEndpointUrls;
13
13
  * by module construction, the router, the readiness endpoint, and tenant-manager responses.
14
14
  */
15
15
  declare function deriveIonUrls(basePath: string): UrlMap;
16
+ /**
17
+ * Prototype-only in-memory store set — the explicit replacement for the silent defaults the SDK
18
+ * used to apply. Everything here lives in one process `Map`: sessions, users, customers, magic
19
+ * links, and cached workload tokens vanish on restart and are never shared across replicas.
20
+ *
21
+ * Anything beyond a prototype needs durability: `@ionite/redis` / `@ionite/ioredis` stores, or
22
+ * app-owned SQL stores. Authz stores (`catalogStore`, `accessStore`, `accessIndex`, `resources`)
23
+ * are intentionally NOT included — they gate IAM/authz capabilities and must be chosen
24
+ * deliberately (in-memory variants exist for prototypes: `InMemoryAccessCatalogStore`,
25
+ * `InMemoryAccessAssignmentStore`, `InMemoryAccessIndex`, `InMemoryResourceStore`).
26
+ */
27
+ declare function devInMemoryStores(): FrameworkStores;
16
28
  import { BaseTenant, ConfigLocator, Ionite, LfvCallbackKind, Logger, RemoteConfig as RemoteConfig2, Secret, SecretsSource, TenantStore } from "@ionite/core";
17
29
  type TenantMirrorHooks<TTenant extends BaseTenant = BaseTenant> = {
18
30
  onRemoteConfigChange?(tenant: TTenant, config: RemoteConfig2, secret: Secret<Record<string, unknown>>): void | Promise<void>;
@@ -79,16 +91,16 @@ declare function tenantManager<
79
91
  >(ion: Ionite2, options: TenantManagerOptions<TCreateTenantRequest, TUpdateTenantRequest, TTenant>): TenantManager<TTenant>;
80
92
  import { CapabilityKey as CapabilityKey2 } from "@ionite/core";
81
93
  export * from "@ionite/core";
82
- import { AccessCheckReason, AccessCheckResult, CreateTenantRequest as CreateTenantRequest2, EnvironmentType, FrameworkOtelConfig, FrameworkStores as FrameworkStores3, generateULID, IoniteError, IoniteErrorOptions, listGenerator, Otel, OtelConfig, OtelLevels, OtelLogLevel, OtelLogRecord, OtelMetricsSignalConfig, OtelOAuthClientCredentialsConfig, OtelProviderType, OtelSignalConfig, SubjectScope, SubjectType as SubjectType3, TenantResponse, TenantStatus, TenantValidators as TenantValidators2, TenantWebhookPayload, UpdateTenantRequest as UpdateTenantRequest2 } from "@ionite/core";
94
+ import { AccessCheckReason, AccessCheckResult, AssignmentPolicyError, CreateTenantRequest as CreateTenantRequest2, EnvironmentType, FrameworkOtelConfig, FrameworkStores as FrameworkStores3, generateULID, IamAssignmentPolicy, IoniteError, IoniteErrorOptions, listGenerator, Otel, OtelConfig, OtelLevels, OtelLogLevel, OtelLogRecord, OtelMetricsSignalConfig, OtelOAuthClientCredentialsConfig, OtelProviderType, OtelSignalConfig, SubjectScope, SubjectType as SubjectType3, TenantResponse, TenantStatus, TenantValidators as TenantValidators2, TenantWebhookPayload, UpdateTenantRequest as UpdateTenantRequest2 } from "@ionite/core";
83
95
  import { AfterLoginContext, AfterLoginHook, AfterLogoutContext, AfterLogoutHook, BeforeLoginContext, BeforeLoginHook, BeforeLogoutContext, BeforeLogoutHook, CatalogView, ReconcileStores, RedirectContext, RedirectPolicy, RedirectResult, RedirectRule, RedirectRuleContext, RedirectVerdict, ReferencedDefinitions } from "@ionite/core/server";
84
96
  import { allowHosts, allowOrigins, allowRelativePaths, allowSameOrigin, blockDangerousUrls, CatalogAdjacencyCache, callback, captureRedirect, ciam, collectReferencedDefinitions, defaultRedirectPolicies, discoverSessionRecords, discoverSessions, expandRoot, getCustomer, getUser, has, hasAll as hasAll2, hasAllScope, hasAny as hasAny2, hasAnyScope, hasGroup as hasGroup2, hasPermission as hasPermission2, hasRole as hasRole2, hasScope, InMemoryTenantStore, iam, initiateLogin, isRedirectAllowed, listSsoClientIdsFromCookies, reconcileSubjectAccess, resolveAfterRedirect, resolveCapturedRedirect, resolveRedirect, SessionDiscoveryOptions, SessionResponse, sameOriginRedirectRules, sendTenantWebhook, sso, VerifyUserOptions, verifyUser, withSetCookies } from "@ionite/core/server";
85
- import { AccessAssignmentStore as AccessAssignmentStore2, AccessChange, ListOptions, ListResult, OaaAccessTargetType, SubjectType } from "@ionite/core";
97
+ import { AccessAssignmentStore, AccessChange, ListOptions, ListResult, OaaAccessTargetType, SubjectType } from "@ionite/core";
86
98
  /**
87
99
  * In-memory store of granted access **roots** (source of truth). Roots are keyed by their
88
100
  * deterministic id (`accessRootId`) and carry provenance + status. All stored roots are `active`
89
101
  * (the SDK uses a transactional fail-fast model with no `pendingRemoval` sweep).
90
102
  */
91
- declare class InMemoryAccessAssignmentStore implements AccessAssignmentStore2<AccessChange> {
103
+ declare class InMemoryAccessAssignmentStore implements AccessAssignmentStore<AccessChange> {
92
104
  private readonly roots;
93
105
  private readonly byTarget;
94
106
  private readonly bySubject;
@@ -110,8 +122,8 @@ declare class InMemoryAccessAssignmentStore implements AccessAssignmentStore2<Ac
110
122
  }>): Promise<Map<string, AccessChange[]>>;
111
123
  listBySubject(subject: string, subjectType: SubjectType, options?: ListOptions): Promise<ListResult<AccessChange>>;
112
124
  }
113
- import { AccessCatalogStore as AccessCatalogStore2, CatalogChangeListener, EntityStore, Group, ListOptions as ListOptions2, ListResult as ListResult2, Permission, Resource, ResourceChangeListener, ResourceProvider as ResourceProvider2, Role } from "@ionite/core";
114
- declare class InMemoryAccessCatalogStore implements AccessCatalogStore2 {
125
+ import { AccessCatalogStore, CatalogChangeListener, EntityStore, Group, ListOptions as ListOptions2, ListResult as ListResult2, Permission, Resource, ResourceChangeListener, ResourceProvider, Role } from "@ionite/core";
126
+ declare class InMemoryAccessCatalogStore implements AccessCatalogStore {
115
127
  private readonly listeners;
116
128
  private readonly emit;
117
129
  readonly groups: EntityStore<Group>;
@@ -128,7 +140,7 @@ declare class InMemoryAccessCatalogStore implements AccessCatalogStore2 {
128
140
  * `set`/`delete` emit the `changed` signal the SDK subscribes to (adjacency-cache invalidation,
129
141
  * targeted reconcile, incremental OAA projection).
130
142
  */
131
- declare class InMemoryResourceStore implements ResourceProvider2 {
143
+ declare class InMemoryResourceStore implements ResourceProvider {
132
144
  private readonly items;
133
145
  private readonly listeners;
134
146
  get(id: string): Promise<Resource | undefined>;
@@ -141,14 +153,14 @@ declare class InMemoryResourceStore implements ResourceProvider2 {
141
153
  delete(id: string): void;
142
154
  private emitChange;
143
155
  }
144
- import { AccessCheckTarget, AccessIndex as AccessIndex2, AccessRef, AuthzDecision, BaseUser, EffectiveEdge, Group as Group2, OaaAccessTargetType as OaaAccessTargetType2, Permission as Permission2, Resource as Resource2, Role as Role2, SubjectRef, SubjectType as SubjectType2 } from "@ionite/core";
156
+ import { AccessCheckTarget, AccessIndex, AccessRef, AuthzDecision, BaseUser, EffectiveEdge, Group as Group2, OaaAccessTargetType as OaaAccessTargetType2, Permission as Permission2, Resource as Resource2, Role as Role2, SubjectRef, SubjectType as SubjectType2 } from "@ionite/core";
145
157
  /**
146
158
  * In-memory derived closure index. Rows are root-attributed: a single
147
159
  * `(subject, targetType, target, resource)` edge may be justified by multiple roots, so revoking
148
160
  * one root via {@link removeByRoot} leaves edges still backed by other roots. Rebuildable from
149
161
  * AccessAssignmentStore roots + the catalog.
150
162
  */
151
- declare class InMemoryAccessIndex implements AccessIndex2 {
163
+ declare class InMemoryAccessIndex implements AccessIndex {
152
164
  /** edgeKey -> set of rootIds that justify it. */
153
165
  private readonly rows;
154
166
  /** tripleKey -> set of edgeKeys (for resource-agnostic "any" checks). */
@@ -364,17 +376,21 @@ import { BaseCustomer, CustomerStore, ListOptions as ListOptions3, ListResult as
364
376
  declare class InMemoryCustomerStore<TExtended = Record<string, never>> implements CustomerStore<TExtended> {
365
377
  private customers;
366
378
  private userNameIndex;
379
+ private externalIdIndex;
367
380
  get(id: string): Promise<BaseCustomer<TExtended> | undefined>;
368
381
  lookup(customer: BaseCustomer<TExtended>): Promise<BaseCustomer<TExtended> | undefined>;
382
+ getByExternalId(externalId: string): Promise<BaseCustomer<TExtended> | undefined>;
369
383
  upsert(customer: BaseCustomer<TExtended>): Promise<BaseCustomer<TExtended>>;
370
384
  delete(id: string): Promise<number>;
371
385
  list(options?: ListOptions3): Promise<ListResult3<BaseCustomer<TExtended>>>;
372
386
  }
373
- import { AccessAssignmentStore as AccessAssignmentStore3, AccessCatalogStore as AccessCatalogStore3, BaseUser as BaseUser2, CodeCatalog as CodeCatalog2, IamDeltaEmitter, IamDeltaMode, Logger as Logger4, ScimUser, UserStore, Workload as Workload2, WorkloadIdentityStore as WorkloadIdentityStore2 } from "@ionite/core";
387
+ import { AccessAssignmentStore as AccessAssignmentStore2, AccessCatalogStore as AccessCatalogStore2, BaseUser as BaseUser2, CodeCatalog, CustomerStore as CustomerStore2, IamDeltaEmitter, IamDeltaMode, Logger as Logger4, ScimUser, UserStore, Workload as Workload2, WorkloadIdentityStore } from "@ionite/core";
374
388
  type FetchLike = (input: string, init?: RequestInit) => Promise<Response>;
375
389
  /** RemoteConfig-derived destination descriptor for IAM delta egress. */
376
390
  type IamDeltaConfig = {
377
- mode?: IamDeltaMode;
391
+ users?: IamDeltaMode;
392
+ workloads?: IamDeltaMode;
393
+ customers?: IamDeltaMode;
378
394
  /** Destination SCIM base URL of the IAM tool. */
379
395
  url?: string;
380
396
  /** Outgoing workload client name used to authenticate pushes (`IAMConfig.deltaAudience`). */
@@ -383,12 +399,13 @@ type IamDeltaConfig = {
383
399
  /** Runtime capabilities the emitter binds to (resolved from the merged config/stores in buildES). */
384
400
  type IamDeltaDeps = {
385
401
  workload?: Workload2;
386
- workloadIdentityStore?: WorkloadIdentityStore2;
402
+ workloadIdentityStore?: WorkloadIdentityStore;
387
403
  userStore?: UserStore;
388
- accessStore?: AccessAssignmentStore3;
389
- catalogStore?: AccessCatalogStore3;
404
+ customerStore?: CustomerStore2;
405
+ accessStore?: AccessAssignmentStore2;
406
+ catalogStore?: AccessCatalogStore2;
390
407
  /** Normalized code templates merged over persisted rows for outbound definitions. */
391
- codeCatalog?: CodeCatalog2;
408
+ codeCatalog?: CodeCatalog;
392
409
  /** Optional app mapper shared with the inbound IAM Users read surface. */
393
410
  mapUserToScim?: (stored: BaseUser2) => ScimUser | Promise<ScimUser>;
394
411
  /** Injectable fetch (defaults to global fetch); enables testing the patch path in-process. */
@@ -413,7 +430,7 @@ import { CapabilityKey, ModuleName } from "@ionite/core";
413
430
  * Version of the stable capability vocabulary emitted by capabilitiez and used by ECV result IDs.
414
431
  * Increment only when capability/test-unit identity changes, not for ordinary SDK releases.
415
432
  */
416
- declare const ION_CAPABILITY_CATALOG_VERSION = 1;
433
+ declare const ION_CAPABILITY_CATALOG_VERSION = 2;
417
434
  type CapabilityDescriptor = {
418
435
  /**
419
436
  * Stable machine key (also the catalog map key). This is the SAME key the runtime `capabilitiez`
@@ -474,6 +491,18 @@ declare const ION_CAPABILITY_CATALOG: readonly [{
474
491
  readonly label: "SCIM Groups inbound";
475
492
  readonly requires: "AccessCatalogStore";
476
493
  readonly incapableReason: "SCIM Groups endpoint is enabled by RemoteConfig but no AccessCatalogStore capability is wired by the application.";
494
+ }, {
495
+ readonly key: "iam.workloads";
496
+ readonly module: "iam";
497
+ readonly label: "SCIM Workloads inbound";
498
+ readonly requires: "workloadIdentityStore";
499
+ readonly incapableReason: "SCIM Workloads endpoint is enabled by RemoteConfig but no workload identity store capability is wired by the application.";
500
+ }, {
501
+ readonly key: "iam.customers";
502
+ readonly module: "iam";
503
+ readonly label: "SCIM Customers inbound";
504
+ readonly requires: "customerStore";
505
+ readonly incapableReason: "SCIM Customers endpoint is enabled by RemoteConfig but no customer store capability is wired by the application.";
477
506
  }, {
478
507
  readonly key: "workload.incoming";
479
508
  readonly module: "workload";
@@ -551,8 +580,10 @@ type ScimGroupMembershipPatch = {
551
580
  op: "add" | "remove";
552
581
  groupCreate?: ScimOutboundResource;
553
582
  userCreate?: ScimOutboundResource;
554
- /** SCIM member kind; Workload is the ionite extension used by full IAM aggregation. */
555
- memberType?: "User" | "Workload";
583
+ /** SCIM member kind; Workload/Customer are ionite extensions used by full IAM aggregation. */
584
+ memberType?: "User" | "Workload" | "Customer";
585
+ /** Destination principal resource for lookup/create. Defaults to `'user'`. */
586
+ subjectResourceType?: IamDeltaResourceType;
556
587
  };
557
588
  /**
558
589
  * Row-backed receipt callbacks supplied by IAM delta. Group receipts are persisted on
@@ -820,8 +851,8 @@ declare function closeAllVaultSockets(): void;
820
851
  *
821
852
  * Keep this synchronized with packages/server/package.json via publish.ts.
822
853
  */
823
- declare const ION_SDK_VERSION = "0.0.23";
824
- import { Workload as CoreWorkload, FrameworkWorkloadConfig, Ionite as Ionite5, JWTAssertionClaims, Logger as Logger7, TokenValidationResult, TrustedIdp, WorkloadConfigMap, WorkloadGetToken, WorkloadIdentityStore as WorkloadIdentityStore3, WorkloadIncomingOutgoing, WorkloadTokenResponse, WorkloadTokenStore } from "@ionite/core";
854
+ declare const ION_SDK_VERSION = "0.0.24-beta.20260907.2";
855
+ import { Workload as CoreWorkload, FrameworkWorkloadConfig, Ionite as Ionite5, JWTAssertionClaims, Logger as Logger7, TokenValidationResult, TrustedIdp, WorkloadConfigMap, WorkloadGetToken, WorkloadIdentityStore as WorkloadIdentityStore2, WorkloadIncomingOutgoing, WorkloadTokenResponse, WorkloadTokenStore } from "@ionite/core";
825
856
  import { StandardSchemaV1 } from "@standard-schema/spec";
826
857
  /**
827
858
  * Common fields shared across all workload authentication modes
@@ -878,7 +909,7 @@ type WorkloadConfigBase = {
878
909
  * merges stored attributes (e.g. `displayName`, `active`, default `scopes`) onto the validated
879
910
  * token identity. Authorization works without it; see {@link WorkloadIdentityStore}.
880
911
  */
881
- workloadIdentityStore?: WorkloadIdentityStore3;
912
+ workloadIdentityStore?: WorkloadIdentityStore2;
882
913
  /**
883
914
  * Automatically refresh tokens before expiration
884
915
  * @default true
@@ -1083,16 +1114,18 @@ declare function revokeWorkloadToken(token: string, ion: Ionite5): Promise<void>
1083
1114
  * Framework-agnostic request handler for the Workload module (token, validate, jwks, refresh routes).
1084
1115
  */
1085
1116
  declare function workloadHandler(request: Request, ion: Ionite5): Promise<Response>;
1086
- import { BaseWorkloadIdentity, ListOptions as ListOptions5, ListResult as ListResult5, WorkloadIdentityStore as WorkloadIdentityStore4 } from "@ionite/core";
1117
+ import { BaseWorkloadIdentity, ListOptions as ListOptions5, ListResult as ListResult5, WorkloadIdentityStore as WorkloadIdentityStore3 } from "@ionite/core";
1087
1118
  /**
1088
1119
  * In-memory {@link WorkloadIdentityStore} implementation using Maps. Suitable for development and
1089
1120
  * testing; use a durable store (e.g. Redis/SQL) in production.
1090
1121
  */
1091
- declare class InMemoryWorkloadIdentityStore<TExtended = Record<string, never>> implements WorkloadIdentityStore4<TExtended> {
1122
+ declare class InMemoryWorkloadIdentityStore<TExtended = Record<string, never>> implements WorkloadIdentityStore3<TExtended> {
1092
1123
  private identities;
1093
1124
  private clientIdIndex;
1125
+ private externalIdIndex;
1094
1126
  get(id: string): Promise<BaseWorkloadIdentity<TExtended> | undefined>;
1095
1127
  lookup(identity: BaseWorkloadIdentity<TExtended>): Promise<BaseWorkloadIdentity<TExtended> | undefined>;
1128
+ getByExternalId(externalId: string): Promise<BaseWorkloadIdentity<TExtended> | undefined>;
1096
1129
  upsert(identity: BaseWorkloadIdentity<TExtended>): Promise<BaseWorkloadIdentity<TExtended>>;
1097
1130
  delete(id: string): Promise<number>;
1098
1131
  list(options?: ListOptions5): Promise<ListResult5<BaseWorkloadIdentity<TExtended>>>;
@@ -1138,4 +1171,4 @@ type IoniteConfig<C extends FrameworkConfigInput = FrameworkConfigInput> = C & {
1138
1171
  onConfigLoadError?: RemoteConfigRetryHook;
1139
1172
  };
1140
1173
  declare function ionite<const C extends FrameworkConfigInput = FrameworkConfigInput>(source: ConfigSource9, config: IoniteConfig<C> | FrameworkConfigInput): Ionite6;
1141
- export { workloadHandler, workload, withSetCookies, verifyUser, vaultSocketDiagnostics, vaultConfig, vault, validateWorkloadToken, tenantMirror, tenantManager, subscribeSecretPathWithHttpPolling, sso, setVaultWebSocketCommandTimeout, sendTenantWebhook, secretConfigSource, sameOriginRedirectRules, routeRequest, rewriteRequestPath, rewriteRequestForTenantPath, rewriteRequestForDefaultTenantUi, rewriteRequestForDefaultTenantApi, revokeWorkloadToken, resolveTenantFromRequest, resolveRedirect, resolveDefaultRoute, resolveCapturedRedirect, resolveAfterRedirect, reconcileSubjectAccess, mirroredConfig, mirrorSecrets, listSsoClientIdsFromCookies, listGenerator, lfvVault, isVaultConfigWaitingForSecretError, isVaultConfigInvalidPayloadError, isRedirectAllowed, ionite, initiateLogin, iam, hasScope, hasRole2 as hasRole, hasPermission2 as hasPermission, hasGroup2 as hasGroup, hasAnyScope, hasAny2 as hasAny, hasAllScope, hasAll2 as hasAll, has, getWorkloadToken, getWorkload, getUser, getCustomer, generateULID, gcpConfig, expandRoot, escapeScimFilterValue, envConfig, enforceEndpointAuthz, discoverSessions, discoverSessionRecords, deriveIonUrls, defaultRedirectPolicies, createTenantIonResolver, createTenantIonHandler, createSessionReadCache, createManagedIamDelta, configSourceFromLocator, configSourceFromEnvValues, configLocatorFromEnvValues, configFromSource, collectReferencedDefinitions, closeAllVaultSockets, ciam, captureRedirect, callback, blockDangerousUrls, azureConfig, awsConfig, allowSameOrigin, allowRelativePaths, allowOrigins, allowHosts, VerifyUserOptions, VaultSubscribeNotSupportedError, VaultConfigWaitingForSecretError, VaultConfigSourceOptions, VaultConfigInvalidPayloadError, VAULT_MIN_POLLING_TTL_MS, UrlMap, UpdateTenantRequest2 as UpdateTenantRequest, TenantWebhookPayload, TenantValidators2 as TenantValidators, TenantStatus, TenantResponse, TenantResolutionContext, TenantMirrorOptions, TenantMirrorHooks, TenantMirror, TenantManagerOptions, TenantManager, TenantIonUrls, TenantIonResolver, SubjectType3 as SubjectType, SubjectScope, SessionResponse, SessionReadCacheOptions, SessionDiscoveryOptions, SecretsMirror, ScimOutboundResource, ScimOutboundReceiptCallbacks, ScimOutboundOutcome, ScimOutboundClientOptions, ScimOutboundClient, ResolveTenantFromRequestOptions, ReferencedDefinitions, RedirectVerdict, RedirectRuleContext, RedirectRule, RedirectResult, RedirectPolicy, RedirectContext, ReconcileStores, OtelSignalConfig, OtelProviderType, OtelOAuthClientCredentialsConfig, OtelMetricsSignalConfig, OtelLogRecord, OtelLogLevel, OtelLevels, OtelConfig, Otel, MirroredConfigSource, MirroredConfigOptions, MirrorSecretsOptions, LfvSecretsSource, IoniteErrorOptions, IoniteError, IoniteConfig, InMemoryWorkloadTokenStore, InMemoryWorkloadIdentityStore, InMemoryUserStore, InMemoryTenantStore, InMemorySessionStore, InMemoryResourceStore, InMemoryMagicLinkStore, InMemoryCustomerStore, InMemoryAccessIndex, InMemoryAccessCatalogStore, InMemoryAccessAssignmentStore, IamDeltaDeps, IamDeltaConfig, ION_SDK_VERSION, ION_READY_DEFAULT_TIMEOUT_MS, ION_CAPABILITY_CATALOG_VERSION, ION_CAPABILITY_CATALOG, HttpPollingHooks, GcpConfigSourceOptions, FrameworkStores3 as FrameworkStores, FrameworkOtelConfig, EnvironmentType, EnvConfigOptions, CreateTenantRequest2 as CreateTenantRequest, CreateTenantIonResolverOptions, CreateTenantIonHandlerOptions, ConfigFromSourceOptions, CatalogView, CatalogAdjacencyCache, CapabilityKey2 as CapabilityKey, CapabilityDescriptor, BeforeLogoutHook, BeforeLogoutContext, BeforeLoginHook, BeforeLoginContext, AzureConfigSourceOptions, AwsConfigSourceOptions, AfterLogoutHook, AfterLogoutContext, AfterLoginHook, AfterLoginContext, AccessCheckResult, AccessCheckReason };
1174
+ export { workloadHandler, workload, withSetCookies, verifyUser, vaultSocketDiagnostics, vaultConfig, vault, validateWorkloadToken, tenantMirror, tenantManager, subscribeSecretPathWithHttpPolling, sso, setVaultWebSocketCommandTimeout, sendTenantWebhook, secretConfigSource, sameOriginRedirectRules, routeRequest, rewriteRequestPath, rewriteRequestForTenantPath, rewriteRequestForDefaultTenantUi, rewriteRequestForDefaultTenantApi, revokeWorkloadToken, resolveTenantFromRequest, resolveRedirect, resolveDefaultRoute, resolveCapturedRedirect, resolveAfterRedirect, reconcileSubjectAccess, mirroredConfig, mirrorSecrets, listSsoClientIdsFromCookies, listGenerator, lfvVault, isVaultConfigWaitingForSecretError, isVaultConfigInvalidPayloadError, isRedirectAllowed, ionite, initiateLogin, iam, hasScope, hasRole2 as hasRole, hasPermission2 as hasPermission, hasGroup2 as hasGroup, hasAnyScope, hasAny2 as hasAny, hasAllScope, hasAll2 as hasAll, has, getWorkloadToken, getWorkload, getUser, getCustomer, generateULID, gcpConfig, expandRoot, escapeScimFilterValue, envConfig, enforceEndpointAuthz, discoverSessions, discoverSessionRecords, devInMemoryStores, deriveIonUrls, defaultRedirectPolicies, createTenantIonResolver, createTenantIonHandler, createSessionReadCache, createManagedIamDelta, configSourceFromLocator, configSourceFromEnvValues, configLocatorFromEnvValues, configFromSource, collectReferencedDefinitions, closeAllVaultSockets, ciam, captureRedirect, callback, blockDangerousUrls, azureConfig, awsConfig, allowSameOrigin, allowRelativePaths, allowOrigins, allowHosts, VerifyUserOptions, VaultSubscribeNotSupportedError, VaultConfigWaitingForSecretError, VaultConfigSourceOptions, VaultConfigInvalidPayloadError, VAULT_MIN_POLLING_TTL_MS, UrlMap, UpdateTenantRequest2 as UpdateTenantRequest, TenantWebhookPayload, TenantValidators2 as TenantValidators, TenantStatus, TenantResponse, TenantResolutionContext, TenantMirrorOptions, TenantMirrorHooks, TenantMirror, TenantManagerOptions, TenantManager, TenantIonUrls, TenantIonResolver, SubjectType3 as SubjectType, SubjectScope, SessionResponse, SessionReadCacheOptions, SessionDiscoveryOptions, SecretsMirror, ScimOutboundResource, ScimOutboundReceiptCallbacks, ScimOutboundOutcome, ScimOutboundClientOptions, ScimOutboundClient, ResolveTenantFromRequestOptions, ReferencedDefinitions, RedirectVerdict, RedirectRuleContext, RedirectRule, RedirectResult, RedirectPolicy, RedirectContext, ReconcileStores, OtelSignalConfig, OtelProviderType, OtelOAuthClientCredentialsConfig, OtelMetricsSignalConfig, OtelLogRecord, OtelLogLevel, OtelLevels, OtelConfig, Otel, MirroredConfigSource, MirroredConfigOptions, MirrorSecretsOptions, LfvSecretsSource, IoniteErrorOptions, IoniteError, IoniteConfig, InMemoryWorkloadTokenStore, InMemoryWorkloadIdentityStore, InMemoryUserStore, InMemoryTenantStore, InMemorySessionStore, InMemoryResourceStore, InMemoryMagicLinkStore, InMemoryCustomerStore, InMemoryAccessIndex, InMemoryAccessCatalogStore, InMemoryAccessAssignmentStore, IamDeltaDeps, IamDeltaConfig, IamAssignmentPolicy, ION_SDK_VERSION, ION_READY_DEFAULT_TIMEOUT_MS, ION_CAPABILITY_CATALOG_VERSION, ION_CAPABILITY_CATALOG, HttpPollingHooks, GcpConfigSourceOptions, FrameworkStores3 as FrameworkStores, FrameworkOtelConfig, EnvironmentType, EnvConfigOptions, CreateTenantRequest2 as CreateTenantRequest, CreateTenantIonResolverOptions, CreateTenantIonHandlerOptions, ConfigFromSourceOptions, CatalogView, CatalogAdjacencyCache, CapabilityKey2 as CapabilityKey, CapabilityDescriptor, BeforeLogoutHook, BeforeLogoutContext, BeforeLoginHook, BeforeLoginContext, AzureConfigSourceOptions, AwsConfigSourceOptions, AssignmentPolicyError, AfterLogoutHook, AfterLogoutContext, AfterLoginHook, AfterLoginContext, AccessCheckResult, AccessCheckReason };