@ionite/core 0.0.24-beta.20260927.13 → 0.0.24-beta.20260928.17

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
@@ -315,6 +315,443 @@ declare function accessRefId(value: unknown): string;
315
315
  * default, or `applyToApplication`) collapses to the `app` scope key.
316
316
  */
317
317
  declare function accessRootId(change: AccessChange): string;
318
+ type ChangeListener = () => void;
319
+ /**
320
+ * Reactive source/adapter contract. Implemented by config-source-backed adapters
321
+ * (for example `SecretsSource`) to advertise change subscription and source liveness.
322
+ * `isAvailable()` here is an adapter liveness hook and is intentionally distinct from
323
+ * module readiness (`ModuleReadiness.isReady()` / `ready()`).
324
+ */
325
+ type ReactiveHandle = {
326
+ beforeChange?(listener: ChangeListener): () => void;
327
+ afterChange?(listener: ChangeListener): () => void;
328
+ isAvailable?(): boolean;
329
+ };
330
+ /**
331
+ * Readiness contract for reactive module/service handles whose usability depends on
332
+ * RemoteConfig that can arrive or change at runtime (for example `ion.secrets`,
333
+ * `ion.workload`, `ion.otel`, `ion.authz.oaa`).
334
+ *
335
+ * - `isReady()` is a synchronous check; use it in request handlers and health probes and
336
+ * return 503 (or branch) when false instead of blocking.
337
+ * - `ready(timeout?)` resolves once the handle first becomes usable; use it at startup or
338
+ * as a feature gate. With no timeout it waits indefinitely; with `timeout > 0` it rejects
339
+ * after that many milliseconds.
340
+ */
341
+ type ModuleReadiness = {
342
+ beforeChange?(listener: ChangeListener): () => void;
343
+ afterChange?(listener: ChangeListener): () => void;
344
+ isReady?(): boolean;
345
+ ready?(timeout?: number): Promise<void>;
346
+ };
347
+ /**
348
+ * Canonical ionite module names used by the holistic readiness report and the
349
+ * `requireReady([...])` helper. These are the config-driven module handles whose readiness can be
350
+ * composed; `ion.isReady()` itself stays the narrow "config applied" signal and is NOT one of these.
351
+ *
352
+ * IAM-delta egress is intentionally NOT a member. Delta patch-back is best-effort and non-fatal (a
353
+ * failed push only logs `degraded` and is reconciled by a later full sync — the Batch 7 drift-signal
354
+ * contract), so folding it into `iam` readiness would let a delta-target outage make
355
+ * `requireReady(['iam'])` false and take the app out of rotation for a signal that is designed not to
356
+ * block. Apps that DO treat delta as a hard dependency can gate on `ion.iam.delta.isReady()` /
357
+ * `ion.iam.delta.ready()` explicitly instead.
358
+ */
359
+ type ModuleName = "sso" | "ciam" | "iam" | "workload" | "otel" | "secrets" | "kms" | "authz" | "tm";
360
+ /** Per-module readiness snapshot in {@link ReadinessReport}. */
361
+ type ModuleReadinessState = {
362
+ /** Whether the module is active (present/requested) in the effective config. Inactive modules never block readiness. */
363
+ active: boolean;
364
+ /** Synchronous readiness of the module right now (mirrors the module's own `isReady()`). */
365
+ ready: boolean;
366
+ /** Human-readable explanation when the module is `active` but not `ready`. */
367
+ reason?: string;
368
+ };
369
+ /**
370
+ * Holistic, read-only readiness snapshot for an ionite instance. Returned by
371
+ * `ion.readiness()` and used by the built-in `${basePath}/readyz` endpoint. This is composition
372
+ * DATA, not a request gate: applications combine it (via `ion.requireReady([...])`) with their own
373
+ * non-ionite dependency checks to build their health endpoints.
374
+ */
375
+ type ReadinessReport = {
376
+ /** True when config has been applied (`applied`) and every ACTIVE module is ready. */
377
+ ok: boolean;
378
+ /** Whether RemoteConfig has been applied at least once (mirrors `ion.isReady()`). */
379
+ applied: boolean;
380
+ /** Per-module readiness keyed by {@link ModuleName}. */
381
+ modules: Record<ModuleName, ModuleReadinessState>;
382
+ /** Most recent config-application outcome (last applied time and last error, if any). */
383
+ config: ConfigApplyStatus;
384
+ };
385
+ /** Result of `ion.requireReady(names)`: a synchronous, declarative readiness gate over selected modules. */
386
+ type RequireReadyResult = {
387
+ /** True when config is applied and every requested module is ready. */
388
+ ok: boolean;
389
+ /** The requested modules that are not ready, with reasons when available. */
390
+ notReady: Array<{
391
+ name: ModuleName;
392
+ reason?: string;
393
+ }>;
394
+ };
395
+ type CapabilityKey = "sso.login" | "sso.jit" | "sso.logout" | "sso.back_channel_logout" | "ciam.magic_link" | "ciam.oidc_login" | "ciam.customer" | "ciam.logout" | "iam.users" | "iam.groups" | "iam.workloads" | "iam.customers" | "workload.incoming" | "workload.outgoing" | "authz.oaa" | "tm.integration";
396
+ type CapabilityEndpointUrls = {
397
+ readyzUrl: string;
398
+ capabilitiezUrl: string;
399
+ sso: {
400
+ loginUrl: string;
401
+ userUrl: string;
402
+ logoutUrl: string;
403
+ logoutBackChannelUrl: string;
404
+ refreshUrl: string;
405
+ callbackUrl: string;
406
+ };
407
+ workload: {
408
+ validateUrl: string;
409
+ jwksUrl: string;
410
+ };
411
+ iam: {
412
+ basePath: string;
413
+ usersUrl: string;
414
+ groupsUrl: string;
415
+ workloadsUrl: string;
416
+ customersUrl: string;
417
+ };
418
+ ciam: {
419
+ magicLinkUrl: string;
420
+ magicLinkLoginUrl: string;
421
+ customerUrl: string;
422
+ customerLoginUrl: string;
423
+ customerCallbackUrl: string;
424
+ customerProvidersUrl: string;
425
+ logoutUrl: string;
426
+ };
427
+ };
428
+ type CapabilityState = {
429
+ module: ModuleName;
430
+ active: boolean;
431
+ ready: boolean;
432
+ testable: boolean;
433
+ urls?: string[];
434
+ reason?: string;
435
+ };
436
+ type CapabilitiezManifest = {
437
+ sdk: {
438
+ /** Runtime @ionite/server version serving this manifest. */
439
+ version: string;
440
+ /** Version of the stable capability/test-unit vocabulary. */
441
+ catalogVersion: number;
442
+ };
443
+ basePath: string;
444
+ urls: CapabilityEndpointUrls;
445
+ modules: Record<ModuleName, ModuleReadinessState>;
446
+ capabilities: Record<CapabilityKey, CapabilityState>;
447
+ /**
448
+ * True when FrameworkConfig wired a live LFV callback transport. Boolean only — the transport
449
+ * object, Redis URL, and credentials are never exposed.
450
+ */
451
+ lfvCallbackTransport: boolean;
452
+ };
453
+ type OtelSignalName = "traces" | "metrics" | "logs";
454
+ type OtelProtocol = "http/protobuf" | "http/json";
455
+ type OtelProviderType = "otlp" | "grafana-lgtm" | "datadog" | "splunk" | "elastic";
456
+ type OtelLogLevel = "trace" | "debug" | "info" | "warn" | "error";
457
+ type OtelLevels = Partial<Record<OtelLogLevel, boolean>>;
458
+ /** Local console mirror policy: disable it or set its minimum emitted severity. */
459
+ type OtelConsoleMode = "off" | OtelLogLevel;
460
+ type OtelAttributeValue = string | number | boolean | string[] | number[] | boolean[];
461
+ type OtelAttributes = Record<string, OtelAttributeValue>;
462
+ type OtelSignalConfig = {
463
+ /** Per-signal OTLP endpoint. When omitted, the module appends /v1/{signal} to `endpoint`. */
464
+ endpoint?: string;
465
+ headers?: Record<string, string>;
466
+ timeoutMillis?: number;
467
+ concurrencyLimit?: number;
468
+ };
469
+ type OtelMetricsSignalConfig = OtelSignalConfig & {
470
+ exportIntervalMillis?: number;
471
+ exportTimeoutMillis?: number;
472
+ };
473
+ type OtelOAuthClientCredentialsConfig = {
474
+ tokenUrl: string;
475
+ clientId: string;
476
+ clientSecret: string;
477
+ scope?: string;
478
+ audience?: string;
479
+ headers?: Record<string, string>;
480
+ };
481
+ type OtelLogRecord = {
482
+ severityNumber?: number;
483
+ severityText?: string;
484
+ body?: unknown;
485
+ attributes?: Record<string, unknown>;
486
+ };
487
+ /**
488
+ * OpenTelemetry config supplied by ConfigSource/RemoteConfig.
489
+ * Keep environment-specific URLs and credentials here, not in FrameworkConfig.
490
+ */
491
+ type OtelConfig = {
492
+ type?: OtelProviderType;
493
+ name: string;
494
+ endpoint?: string;
495
+ protocol?: OtelProtocol;
496
+ headers?: Record<string, string>;
497
+ apiKey?: string;
498
+ /** Name of a `RemoteConfig.kms` key pool used for exporter authentication. */
499
+ apiKeyPool?: string;
500
+ apiKeyHeader?: string;
501
+ oauth?: OtelOAuthClientCredentialsConfig;
502
+ version?: string;
503
+ deploymentEnvironment?: string;
504
+ resourceAttributes?: OtelAttributes;
505
+ levels?: OtelLevels;
506
+ /** `'off'` exports only to OTel; a level dual-emits at or above that severity. Defaults to `'info'`. */
507
+ console?: OtelConsoleMode;
508
+ traces?: boolean | OtelSignalConfig;
509
+ metrics?: boolean | OtelMetricsSignalConfig;
510
+ logs?: boolean | OtelSignalConfig;
511
+ };
512
+ /**
513
+ * OpenTelemetry app/runtime wiring supplied by code.
514
+ * Instrumentation instances and callbacks live here because they are framework-specific code.
515
+ */
516
+ type FrameworkOtelConfig = {
517
+ levels?: OtelLevels;
518
+ instrument?: unknown[];
519
+ /** Optional app-owned destination/renderer for records admitted by `RemoteConfig.otel.console`. */
520
+ console?: (record: OtelLogRecord) => void;
521
+ spanProcessors?: unknown[];
522
+ metricReaders?: unknown[];
523
+ logRecordProcessors?: unknown[];
524
+ sampler?: unknown;
525
+ textMapPropagator?: unknown;
526
+ contextManager?: unknown;
527
+ configure?: (options: Record<string, unknown>) => Record<string, unknown> | void;
528
+ };
529
+ type Otel = {
530
+ /** Secret-free, JSON-serializable configuration and readiness summary. */
531
+ describe(): OtelDescription;
532
+ beforeChange(listener: ChangeListener): () => void;
533
+ afterChange(listener: ChangeListener): () => void;
534
+ isReady(): boolean;
535
+ ready(timeout?: number): Promise<void>;
536
+ logger: Logger;
537
+ forceFlush(): Promise<void>;
538
+ shutdown(): Promise<void>;
539
+ };
540
+ type ModuleDescriptionBase<TModule extends ModuleName> = {
541
+ module: TModule;
542
+ active: boolean;
543
+ ready: boolean;
544
+ };
545
+ type CookieDescription = {
546
+ prefix?: string;
547
+ path?: string;
548
+ secure?: boolean;
549
+ sameSite?: "Strict" | "Lax";
550
+ domain?: string;
551
+ };
552
+ type SsoDescription = ModuleDescriptionBase<"sso"> & {
553
+ authority?: string;
554
+ tokenUrl?: string;
555
+ authorizationUrl?: string;
556
+ clientId?: string;
557
+ redirectUri?: string;
558
+ responseType?: "code";
559
+ scope?: string;
560
+ silentRedirectUri?: string;
561
+ jwksUri?: string;
562
+ endSessionEndpoint?: string;
563
+ revocationEndpoint?: string;
564
+ cookies: CookieDescription;
565
+ loginStateTtl?: number;
566
+ rotationGraceSeconds?: number;
567
+ sessionWindowSeconds?: number;
568
+ displayCookie?: DisplayCookieConfig;
569
+ jit: {
570
+ enabled: boolean;
571
+ userStore: boolean;
572
+ };
573
+ sessionStore: boolean;
574
+ urls: Partial<CapabilityEndpointUrls["sso"]>;
575
+ };
576
+ type CiamProviderDescription = {
577
+ name: string;
578
+ type: CIAMProviderType;
579
+ enabled: boolean;
580
+ order?: number;
581
+ branding?: CIAMProviderBranding;
582
+ authority?: string;
583
+ authorizationUrl?: string;
584
+ tokenUrl?: string;
585
+ jwksUri?: string;
586
+ userInfoUrl?: string;
587
+ clientId?: string;
588
+ scope?: string;
589
+ loginUrl: string;
590
+ };
591
+ type CiamDescription = ModuleDescriptionBase<"ciam"> & {
592
+ magicLinkTtl?: number;
593
+ loginStateTtl?: number;
594
+ sessionTtl?: number;
595
+ cookies: CookieDescription;
596
+ displayCookie?: DisplayCookieConfig;
597
+ jit: {
598
+ enabled: boolean;
599
+ customerStore: boolean;
600
+ };
601
+ sessionStore: boolean;
602
+ magicLinkStore: boolean;
603
+ providers: CiamProviderDescription[];
604
+ urls: Partial<CapabilityEndpointUrls["ciam"]>;
605
+ };
606
+ type IamPrincipalDescription = {
607
+ enabled: boolean;
608
+ assignment: "app" | "iam" | "iam-request";
609
+ delta?: "patch";
610
+ storeWired: boolean;
611
+ };
612
+ type IamDescription = ModuleDescriptionBase<"iam"> & {
613
+ url?: string;
614
+ deltaAudience?: string;
615
+ users: IamPrincipalDescription;
616
+ workloads: IamPrincipalDescription;
617
+ customers: IamPrincipalDescription;
618
+ groups: {
619
+ enabled: boolean;
620
+ catalogWired: boolean;
621
+ };
622
+ urls: Partial<CapabilityEndpointUrls["iam"]>;
623
+ };
624
+ type WorkloadTrustedIdpDescription = {
625
+ issuer: string;
626
+ jwksUri: string;
627
+ audience: string | string[];
628
+ scopesAsEntitlements?: boolean;
629
+ };
630
+ type WorkloadClientDescription = {
631
+ name: string;
632
+ ready: boolean;
633
+ clientId?: string;
634
+ workloadId?: string;
635
+ idpTokenUrl?: string;
636
+ scope?: string;
637
+ audience?: string;
638
+ authMethod: "client_secret" | "private_key_jwt" | "server_only";
639
+ };
640
+ type WorkloadDescription = ModuleDescriptionBase<"workload"> & {
641
+ incoming: {
642
+ trustedIdps: WorkloadTrustedIdpDescription[];
643
+ };
644
+ outgoing: WorkloadClientDescription[];
645
+ urls: Partial<CapabilityEndpointUrls["workload"]>;
646
+ };
647
+ type SecretsSourceDescription = {
648
+ name: string;
649
+ type: "dev" | "gcp" | "vault" | "aws" | "azure";
650
+ ready: boolean;
651
+ url?: string;
652
+ clientId?: string;
653
+ authMethod?: string;
654
+ };
655
+ type SecretsDescription = ModuleDescriptionBase<"secrets"> & {
656
+ sources: SecretsSourceDescription[];
657
+ };
658
+ type KmsPoolDescription = {
659
+ name: string;
660
+ source?: string;
661
+ path: string;
662
+ ready: boolean;
663
+ };
664
+ type KmsDescription = ModuleDescriptionBase<"kms"> & {
665
+ pools: KmsPoolDescription[];
666
+ };
667
+ type OtelSignalDescription = {
668
+ enabled: boolean;
669
+ endpoint?: string;
670
+ timeoutMillis?: number;
671
+ concurrencyLimit?: number;
672
+ exportIntervalMillis?: number;
673
+ exportTimeoutMillis?: number;
674
+ };
675
+ type OtelDescription = ModuleDescriptionBase<"otel"> & {
676
+ type?: OtelProviderType;
677
+ name?: string;
678
+ endpoint?: string;
679
+ protocol?: OtelProtocol;
680
+ apiKeyPool?: string;
681
+ apiKeyHeader?: string;
682
+ oauth?: {
683
+ tokenUrl: string;
684
+ clientId: string;
685
+ scope?: string;
686
+ audience?: string;
687
+ };
688
+ version?: string;
689
+ deploymentEnvironment?: string;
690
+ resourceAttributes?: OtelAttributes;
691
+ levels?: OtelLevels;
692
+ console?: OtelConsoleMode;
693
+ signals: {
694
+ traces: OtelSignalDescription;
695
+ metrics: OtelSignalDescription;
696
+ logs: OtelSignalDescription;
697
+ };
698
+ };
699
+ type OaaDescription = {
700
+ ready: boolean;
701
+ url?: string;
702
+ providerId?: string;
703
+ datasourceId?: string;
704
+ applicationName?: string;
705
+ applicationType?: string;
706
+ population?: Record<string, string>;
707
+ fullSync: boolean;
708
+ };
709
+ type AuthzDescription = ModuleDescriptionBase<"authz"> & {
710
+ scopesAsEntitlements: boolean;
711
+ trustedProvisioningClients: Array<{
712
+ issuer: string;
713
+ audience: string | string[];
714
+ clientId: string;
715
+ permissions: string[];
716
+ }>;
717
+ oaa?: OaaDescription;
718
+ stores: {
719
+ accessStore: boolean;
720
+ accessIndex: boolean;
721
+ catalogStore: boolean;
722
+ resources: boolean;
723
+ };
724
+ };
725
+ type TmDescription = ModuleDescriptionBase<"tm"> & {
726
+ enabled: boolean;
727
+ integrator?: {
728
+ id: string;
729
+ name?: string;
730
+ url: string;
731
+ issuer: string;
732
+ jwksUri: string;
733
+ audience: string;
734
+ clientId: string;
735
+ };
736
+ consentTtlSeconds?: number;
737
+ maxRedeemAttempts?: number;
738
+ };
739
+ type ModuleDescription = SsoDescription | CiamDescription | IamDescription | WorkloadDescription | SecretsDescription | KmsDescription | OtelDescription | AuthzDescription | TmDescription;
740
+ type IoniteDescription = {
741
+ id?: string;
742
+ sdk: {
743
+ version: string;
744
+ catalogVersion: number;
745
+ };
746
+ basePath: string;
747
+ urls: CapabilityEndpointUrls;
748
+ ok: boolean;
749
+ applied: boolean;
750
+ config: ConfigApplyStatus;
751
+ modules: Record<ModuleName, ModuleReadinessState & {
752
+ description?: ModuleDescription;
753
+ }>;
754
+ };
318
755
  /**
319
756
  * Shared minimal identity fields used to build both the workforce user
320
757
  * record (`BaseUser`) and the CIAM customer record (`BaseCustomer`), as well
@@ -1676,83 +2113,6 @@ interface IamDeltaEmitter {
1676
2113
  ready(timeout?: number): Promise<void>;
1677
2114
  }
1678
2115
  import { StandardSchemaV1 as StandardSchemaV14 } from "@standard-schema/spec";
1679
- type ChangeListener = () => void;
1680
- /**
1681
- * Reactive source/adapter contract. Implemented by config-source-backed adapters
1682
- * (for example `SecretsSource`) to advertise change subscription and source liveness.
1683
- * `isAvailable()` here is an adapter liveness hook and is intentionally distinct from
1684
- * module readiness (`ModuleReadiness.isReady()` / `ready()`).
1685
- */
1686
- type ReactiveHandle = {
1687
- beforeChange?(listener: ChangeListener): () => void;
1688
- afterChange?(listener: ChangeListener): () => void;
1689
- isAvailable?(): boolean;
1690
- };
1691
- /**
1692
- * Readiness contract for reactive module/service handles whose usability depends on
1693
- * RemoteConfig that can arrive or change at runtime (for example `ion.secrets`,
1694
- * `ion.workload`, `ion.otel`, `ion.authz.oaa`).
1695
- *
1696
- * - `isReady()` is a synchronous check; use it in request handlers and health probes and
1697
- * return 503 (or branch) when false instead of blocking.
1698
- * - `ready(timeout?)` resolves once the handle first becomes usable; use it at startup or
1699
- * as a feature gate. With no timeout it waits indefinitely; with `timeout > 0` it rejects
1700
- * after that many milliseconds.
1701
- */
1702
- type ModuleReadiness = {
1703
- beforeChange?(listener: ChangeListener): () => void;
1704
- afterChange?(listener: ChangeListener): () => void;
1705
- isReady?(): boolean;
1706
- ready?(timeout?: number): Promise<void>;
1707
- };
1708
- /**
1709
- * Canonical ionite module names used by the holistic readiness report and the
1710
- * `requireReady([...])` helper. These are the config-driven module handles whose readiness can be
1711
- * composed; `ion.isReady()` itself stays the narrow "config applied" signal and is NOT one of these.
1712
- *
1713
- * IAM-delta egress is intentionally NOT a member. Delta patch-back is best-effort and non-fatal (a
1714
- * failed push only logs `degraded` and is reconciled by a later full sync — the Batch 7 drift-signal
1715
- * contract), so folding it into `iam` readiness would let a delta-target outage make
1716
- * `requireReady(['iam'])` false and take the app out of rotation for a signal that is designed not to
1717
- * block. Apps that DO treat delta as a hard dependency can gate on `ion.iam.delta.isReady()` /
1718
- * `ion.iam.delta.ready()` explicitly instead.
1719
- */
1720
- type ModuleName = "sso" | "ciam" | "iam" | "workload" | "otel" | "secrets" | "kms" | "authz" | "tm";
1721
- /** Per-module readiness snapshot in {@link ReadinessReport}. */
1722
- type ModuleReadinessState = {
1723
- /** Whether the module is active (present/requested) in the effective config. Inactive modules never block readiness. */
1724
- active: boolean;
1725
- /** Synchronous readiness of the module right now (mirrors the module's own `isReady()`). */
1726
- ready: boolean;
1727
- /** Human-readable explanation when the module is `active` but not `ready`. */
1728
- reason?: string;
1729
- };
1730
- /**
1731
- * Holistic, read-only readiness snapshot for an ionite instance. Returned by
1732
- * `ion.readiness()` and used by the built-in `${basePath}/readyz` endpoint. This is composition
1733
- * DATA, not a request gate: applications combine it (via `ion.requireReady([...])`) with their own
1734
- * non-ionite dependency checks to build their health endpoints.
1735
- */
1736
- type ReadinessReport = {
1737
- /** True when config has been applied (`applied`) and every ACTIVE module is ready. */
1738
- ok: boolean;
1739
- /** Whether RemoteConfig has been applied at least once (mirrors `ion.isReady()`). */
1740
- applied: boolean;
1741
- /** Per-module readiness keyed by {@link ModuleName}. */
1742
- modules: Record<ModuleName, ModuleReadinessState>;
1743
- /** Most recent config-application outcome (last applied time and last error, if any). */
1744
- config: ConfigApplyStatus;
1745
- };
1746
- /** Result of `ion.requireReady(names)`: a synchronous, declarative readiness gate over selected modules. */
1747
- type RequireReadyResult = {
1748
- /** True when config is applied and every requested module is ready. */
1749
- ok: boolean;
1750
- /** The requested modules that are not ready, with reasons when available. */
1751
- notReady: Array<{
1752
- name: ModuleName;
1753
- reason?: string;
1754
- }>;
1755
- };
1756
2116
  /**
1757
2117
  * Token caching for workload identity authentication.
1758
2118
  *
@@ -2168,6 +2528,8 @@ interface WorkloadGetToken {
2168
2528
  * Workload Identity Authentication Interface
2169
2529
  */
2170
2530
  type Workload = WorkloadConfig & ModuleReadiness & Required<Pick<ModuleReadiness, "isReady" | "ready">> & {
2531
+ /** Secret-free, JSON-serializable configuration and readiness summary. */
2532
+ describe: () => WorkloadDescription;
2171
2533
  /**
2172
2534
  * Returns a token for this workload configuration.
2173
2535
  * The optional argument overrides the configured default scope.
@@ -2182,7 +2544,9 @@ type Workload = WorkloadConfig & ModuleReadiness & Required<Pick<ModuleReadiness
2182
2544
  /** Framework-agnostic request handler for the Workload module (token, validate, jwks, refresh). */
2183
2545
  handler: (request: Request) => Promise<Response>;
2184
2546
  };
2185
- type WorkloadClient = Pick<Workload, "getToken" | "refreshToken" | "generateJWTAssertion" | "revokeToken" | "beforeChange" | "afterChange" | "isReady" | "ready">;
2547
+ type WorkloadClient = Pick<Workload, "getToken" | "refreshToken" | "generateJWTAssertion" | "revokeToken" | "beforeChange" | "afterChange" | "isReady" | "ready"> & {
2548
+ describe(): WorkloadClientDescription;
2549
+ };
2186
2550
  /**
2187
2551
  * SCIM Error response structure
2188
2552
  */
@@ -2613,6 +2977,8 @@ type IAMUsersInbound = {
2613
2977
  * - `users_inbound` is available when `userStore` is configured
2614
2978
  */
2615
2979
  type IAM = Omit<IAMConfig, "users" | "workloads" | "customers" | "groups"> & {
2980
+ /** Secret-free, JSON-serializable configuration and readiness summary. */
2981
+ describe: () => IamDescription;
2616
2982
  users: IamPrincipalKind;
2617
2983
  workloads: IamPrincipalKind;
2618
2984
  customers: IamPrincipalKind;
@@ -2797,6 +3163,8 @@ type KmsPoolSlot = {
2797
3163
  ready(timeout?: number): Promise<void>;
2798
3164
  };
2799
3165
  type KmsPool = {
3166
+ /** Secret-free, JSON-serializable pool configuration and readiness summary. */
3167
+ describe(): KmsPoolDescription;
2800
3168
  /**
2801
3169
  * Returns the current granted key for slot 0. Calls wait on one shared local subscription until a
2802
3170
  * grant is available; repeated calls resolve from the local cache and never initiate a vault request.
@@ -2829,6 +3197,8 @@ type KmsPool = {
2829
3197
  * (`ion.kms.<name>`); use `getPool(name)` when the name is dynamic.
2830
3198
  */
2831
3199
  type Kms = ModuleReadiness & {
3200
+ /** Secret-free, JSON-serializable configuration and readiness summary. */
3201
+ describe(): KmsDescription;
2832
3202
  readonly config: Readonly<KmsConfig>;
2833
3203
  listPools(): string[];
2834
3204
  getPool(name: string): KmsPool;
@@ -2839,91 +3209,6 @@ type Kms = ModuleReadiness & {
2839
3209
  declare function parseKmsPoolDocument(value: unknown): KmsPoolDocument;
2840
3210
  /** Parse and fail closed on a vault-stored KMS key-material document. */
2841
3211
  declare function parseKmsPoolControlDocument(value: unknown): KmsPoolControlDocument;
2842
- type OtelSignalName = "traces" | "metrics" | "logs";
2843
- type OtelProtocol = "http/protobuf" | "http/json";
2844
- type OtelProviderType = "otlp" | "grafana-lgtm" | "datadog" | "splunk" | "elastic";
2845
- type OtelLogLevel = "trace" | "debug" | "info" | "warn" | "error";
2846
- type OtelLevels = Partial<Record<OtelLogLevel, boolean>>;
2847
- /** Local console mirror policy: disable it or set its minimum emitted severity. */
2848
- type OtelConsoleMode = "off" | OtelLogLevel;
2849
- type OtelAttributeValue = string | number | boolean | string[] | number[] | boolean[];
2850
- type OtelAttributes = Record<string, OtelAttributeValue>;
2851
- type OtelSignalConfig = {
2852
- /** Per-signal OTLP endpoint. When omitted, the module appends /v1/{signal} to `endpoint`. */
2853
- endpoint?: string;
2854
- headers?: Record<string, string>;
2855
- timeoutMillis?: number;
2856
- concurrencyLimit?: number;
2857
- };
2858
- type OtelMetricsSignalConfig = OtelSignalConfig & {
2859
- exportIntervalMillis?: number;
2860
- exportTimeoutMillis?: number;
2861
- };
2862
- type OtelOAuthClientCredentialsConfig = {
2863
- tokenUrl: string;
2864
- clientId: string;
2865
- clientSecret: string;
2866
- scope?: string;
2867
- audience?: string;
2868
- headers?: Record<string, string>;
2869
- };
2870
- type OtelLogRecord = {
2871
- severityNumber?: number;
2872
- severityText?: string;
2873
- body?: unknown;
2874
- attributes?: Record<string, unknown>;
2875
- };
2876
- /**
2877
- * OpenTelemetry config supplied by ConfigSource/RemoteConfig.
2878
- * Keep environment-specific URLs and credentials here, not in FrameworkConfig.
2879
- */
2880
- type OtelConfig = {
2881
- type?: OtelProviderType;
2882
- name: string;
2883
- endpoint?: string;
2884
- protocol?: OtelProtocol;
2885
- headers?: Record<string, string>;
2886
- apiKey?: string;
2887
- /** Name of a `RemoteConfig.kms` key pool used for exporter authentication. */
2888
- apiKeyPool?: string;
2889
- apiKeyHeader?: string;
2890
- oauth?: OtelOAuthClientCredentialsConfig;
2891
- version?: string;
2892
- deploymentEnvironment?: string;
2893
- resourceAttributes?: OtelAttributes;
2894
- levels?: OtelLevels;
2895
- /** `'off'` exports only to OTel; a level dual-emits at or above that severity. Defaults to `'info'`. */
2896
- console?: OtelConsoleMode;
2897
- traces?: boolean | OtelSignalConfig;
2898
- metrics?: boolean | OtelMetricsSignalConfig;
2899
- logs?: boolean | OtelSignalConfig;
2900
- };
2901
- /**
2902
- * OpenTelemetry app/runtime wiring supplied by code.
2903
- * Instrumentation instances and callbacks live here because they are framework-specific code.
2904
- */
2905
- type FrameworkOtelConfig = {
2906
- levels?: OtelLevels;
2907
- instrument?: unknown[];
2908
- /** Optional app-owned destination/renderer for records admitted by `RemoteConfig.otel.console`. */
2909
- console?: (record: OtelLogRecord) => void;
2910
- spanProcessors?: unknown[];
2911
- metricReaders?: unknown[];
2912
- logRecordProcessors?: unknown[];
2913
- sampler?: unknown;
2914
- textMapPropagator?: unknown;
2915
- contextManager?: unknown;
2916
- configure?: (options: Record<string, unknown>) => Record<string, unknown> | void;
2917
- };
2918
- type Otel = {
2919
- beforeChange(listener: ChangeListener): () => void;
2920
- afterChange(listener: ChangeListener): () => void;
2921
- isReady(): boolean;
2922
- ready(timeout?: number): Promise<void>;
2923
- logger: Logger;
2924
- forceFlush(): Promise<void>;
2925
- shutdown(): Promise<void>;
2926
- };
2927
3212
  /**
2928
3213
  * Session management for tracking user sessions and enabling backchannel logout.
2929
3214
  *
@@ -3484,6 +3769,8 @@ type SSO<
3484
3769
  TSessionData = Record<string, never>,
3485
3770
  TUserData = Record<string, never>
3486
3771
  > = SSOConfig<TSessionData, TUserData> & {
3772
+ /** Secret-free, JSON-serializable configuration and readiness summary. */
3773
+ describe: () => SsoDescription;
3487
3774
  getUser: (request: Request) => Promise<WorkforceUser | undefined>;
3488
3775
  /**
3489
3776
  * Degraded-aware resolution: distinguishes a signed-out visitor (`unauthenticated`) from a failed
@@ -3831,7 +4118,12 @@ type SecretsValidators = {
3831
4118
  */
3832
4119
  validateSourceConfig?(sourceName: string, config: SecretsSourceConfig): void;
3833
4120
  };
4121
+ type DescribedSecretsSource = SecretsSource & {
4122
+ describe(): SecretsSourceDescription;
4123
+ };
3834
4124
  type Secrets = ModuleReadiness & {
4125
+ /** Secret-free, JSON-serializable configuration and readiness summary. */
4126
+ describe(): SecretsDescription;
3835
4127
  /**
3836
4128
  * Liveness across configured sources. Returns false when any ready source reports a degraded
3837
4129
  * `isAvailable()` (e.g. an HTTP-poll source whose upstream is failing). Surfaced in
@@ -3843,7 +4135,7 @@ type Secrets = ModuleReadiness & {
3843
4135
  /** Returns configured secrets source names/keys. */
3844
4136
  listSecretsSources(): string[];
3845
4137
  /** Gets a named secrets source client. Throws when missing. */
3846
- getSecretsSource(sourceName: string): SecretsSource;
4138
+ getSecretsSource(sourceName: string): DescribedSecretsSource;
3847
4139
  /** Creates a lazy handle for a secret in a named source. */
3848
4140
  get(sourceName: string, path: string, options?: SecretsOperationOptions): SecretHandle;
3849
4141
  /** Reads a secret from a named secrets source client. */
@@ -4807,6 +5099,8 @@ type CIAM<
4807
5099
  TMagicLinkData = Record<string, never>,
4808
5100
  TCustomerData = Record<string, never>
4809
5101
  > = CIAMConfig<TMagicLinkData, TCustomerData> & {
5102
+ /** Secret-free, JSON-serializable configuration and readiness summary. */
5103
+ describe: () => CiamDescription;
4810
5104
  getCustomer: (request: Request) => Promise<Customer | undefined>;
4811
5105
  /**
4812
5106
  * Degraded-aware resolution: distinguishes a signed-out visitor (`unauthenticated`) from a failed
@@ -4950,6 +5244,15 @@ type IoniteBase = {
4950
5244
  * module is ready; `notReady` lists the requested modules that are not ready, with reasons.
4951
5245
  */
4952
5246
  requireReady(names: ModuleName[]): RequireReadyResult;
5247
+ /**
5248
+ * Returns an allow-listed, JSON-serializable snapshot for privileged App-owned diagnostics.
5249
+ * Unlike `config`, this never contains credentials, secret values, stores, or callbacks.
5250
+ *
5251
+ * Diagnostics only: each call rebuilds the readiness report and every module projection. Call it
5252
+ * from an admin loader, never per request; handlers and health probes use `isReady()` /
5253
+ * `requireReady()`.
5254
+ */
5255
+ describe(): IoniteDescription;
4953
5256
  /** Most recent RemoteConfig application outcome (last applied time and last error, if any). */
4954
5257
  configStatus: ConfigApplyStatus;
4955
5258
  /** Release config subscriptions and background resources. */
@@ -5261,6 +5564,8 @@ type TenantIntegrationView = {
5261
5564
  integration: TenantIntegration;
5262
5565
  };
5263
5566
  type TenantManagement<TTenant extends BaseTenant = BaseTenant> = ModuleReadiness & {
5567
+ /** Secret-free, JSON-serializable configuration and readiness summary. */
5568
+ describe(): TmDescription;
5264
5569
  handler(request: Request): Promise<Response>;
5265
5570
  getTenant(id: string): Promise<TTenant | undefined>;
5266
5571
  recordConsent(input: RecordTenantConsentInput): Promise<TTenant>;
@@ -5937,6 +6242,8 @@ interface OaaClient<
5937
6242
  TCustomer = BaseCustomer,
5938
6243
  TWorkload = BaseWorkloadIdentity
5939
6244
  > {
6245
+ /** Secret-free, JSON-serializable OAA configuration and readiness summary. */
6246
+ describe(): OaaDescription;
5940
6247
  pushUser(user: TUser): Promise<void>;
5941
6248
  pushCustomer(customer: TCustomer): Promise<void>;
5942
6249
  pushWorkload(workload: TWorkload): Promise<void>;
@@ -6055,6 +6362,8 @@ type ReconcileReport = {
6055
6362
  * wired they deny by default (`{ allow: false }`, `metadata.reason = 'access_index_not_configured'`).
6056
6363
  */
6057
6364
  type Authz = {
6365
+ /** Secret-free, JSON-serializable configuration and readiness summary. */
6366
+ describe(): AuthzDescription;
6058
6367
  oaa: OaaClient;
6059
6368
  /** Read the effective catalog union (materialized rows plus unmaterialized code templates). */
6060
6369
  entitlements: {
@@ -6188,64 +6497,6 @@ declare function trustedClientPermissionsForPrincipal(authz: AuthzConfig | null
6188
6497
  * OAA full sync — they are NEVER written to a store or materialized into the AccessIndex.
6189
6498
  */
6190
6499
  declare function configTrustedClientGrants(authz: AuthzConfig | null | undefined): AccessChange[];
6191
- type CapabilityKey = "sso.login" | "sso.jit" | "sso.logout" | "sso.back_channel_logout" | "ciam.magic_link" | "ciam.oidc_login" | "ciam.customer" | "ciam.logout" | "iam.users" | "iam.groups" | "iam.workloads" | "iam.customers" | "workload.incoming" | "workload.outgoing" | "authz.oaa" | "tm.integration";
6192
- type CapabilityEndpointUrls = {
6193
- readyzUrl: string;
6194
- capabilitiezUrl: string;
6195
- sso: {
6196
- loginUrl: string;
6197
- userUrl: string;
6198
- logoutUrl: string;
6199
- logoutBackChannelUrl: string;
6200
- refreshUrl: string;
6201
- callbackUrl: string;
6202
- };
6203
- workload: {
6204
- validateUrl: string;
6205
- jwksUrl: string;
6206
- };
6207
- iam: {
6208
- basePath: string;
6209
- usersUrl: string;
6210
- groupsUrl: string;
6211
- workloadsUrl: string;
6212
- customersUrl: string;
6213
- };
6214
- ciam: {
6215
- magicLinkUrl: string;
6216
- magicLinkLoginUrl: string;
6217
- customerUrl: string;
6218
- customerLoginUrl: string;
6219
- customerCallbackUrl: string;
6220
- customerProvidersUrl: string;
6221
- logoutUrl: string;
6222
- };
6223
- };
6224
- type CapabilityState = {
6225
- module: ModuleName;
6226
- active: boolean;
6227
- ready: boolean;
6228
- testable: boolean;
6229
- urls?: string[];
6230
- reason?: string;
6231
- };
6232
- type CapabilitiezManifest = {
6233
- sdk: {
6234
- /** Runtime @ionite/server version serving this manifest. */
6235
- version: string;
6236
- /** Version of the stable capability/test-unit vocabulary. */
6237
- catalogVersion: number;
6238
- };
6239
- basePath: string;
6240
- urls: CapabilityEndpointUrls;
6241
- modules: Record<ModuleName, ModuleReadinessState>;
6242
- capabilities: Record<CapabilityKey, CapabilityState>;
6243
- /**
6244
- * True when FrameworkConfig wired a live LFV callback transport. Boolean only — the transport
6245
- * object, Redis URL, and credentials are never exposed.
6246
- */
6247
- lfvCallbackTransport: boolean;
6248
- };
6249
6500
  /**
6250
6501
  * Fields a {@link ConfigSource} may attach to a thrown error so the SDK can classify load/subscribe
6251
6502
  * failures structurally instead of by fragile message-substring matching (§2.1). All fields are
@@ -6614,4 +6865,4 @@ type LfvErrorResponse = {
6614
6865
  };
6615
6866
  /** Generates a ULID */
6616
6867
  declare function generateULID(prefix?: string): string;
6617
- export { ACCEPT_JSON, ACCEPT_OCTET_STREAM, ACCEPT_SCIM, ACCEPT_XML, AccessAssignmentStore, AccessCatalogStore, AccessChange, AccessCheckReason, AccessCheckResult, AccessCheckTarget, AccessIndex, AccessMutationResult, AccessMutationStatus, AccessProvenance, AccessRef, AccessRequestCreate, AccessRequestResult, AccessStatus, Address, ApplicationValidators, AssignmentPolicyError, AuthenticatedPrincipal, AuthenticatedUser, Authz, AuthzConfig, AuthzDecision, 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, ClientCredentialsWorkloadConfig, CodeCatalog, CodeCatalogInput, CodeCatalogNamespace, ConfigApplyStatus, ConfigChangeCallback, ConfigChangeOptions, ConfigChangeResult, ConfigErrorKind, ConfigExportEnvelope, ConfigLocator, ConfigSource, ConfigSourceEnv, ConfigSourceError, ConfigSourceErrorInit, ConfigSourceResolver, ConfigSourceType, ConfigSubscriptionOptions, ConnectRequestContext, 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, DestinationReference, DevSecretsConfig, DiscoveredDisplayCookieConfig, DisplayAuthType, DisplayCookieConfig, DisplayCookieEnvelope, DisplayIdentity, DisplayUser, ECID_SCHEME, 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, Group, GroupMember, GroupResource, GroupsInboundHandlerConfig, IAM, IAMAccessRequestsConfig, IAMAppRegistry, IAMAppValidators, IAMConfig, IAMConfigFromCode, IAMDiscoveryConfig, IAMDiscoveryContext, IAMDiscoveryHandlerConfig, IAMEndpointFlag, IAMGroupsInbound, IAMGroupsOutbound, IAMHandlerConfig, IAMInboundCustomersConfig, IAMInboundPrincipalContext, IAMInboundUserContext, IAMInboundUsersConfig, IAMInboundWorkloadsConfig, IAMPrincipalsInbound, 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, IamPrincipalKind, IamPrincipalKindFlag, IdTokenClaims, IdentityResolution, InMemoryTenantStoreOptions, InferSecretType, Ionite, IoniteBase, IoniteError, IoniteErrorOptions, 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, KmsIssuedKey, KmsIssuerEvent, KmsIssuerEventListener, KmsIssuerEventName, KmsKey, KmsKeyState, KmsParkDisposition, KmsParkReport, KmsParkRequest, KmsParkResult, KmsPool, KmsPoolConfig, KmsPoolControlDocument, 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, ModuleName, ModuleReadiness, ModuleReadinessState, Name, NoReserved, OCTET_STREAM_MEDIA_TYPE, OaaAccessChangeBatchItem, OaaAccessTargetType, OaaClient, OaaPrincipalPopulation, OaaSyncInput, OaaSyncOptions, OaaSyncResult, OidcCallbackParams, Otel, OtelAttributeValue, OtelAttributes, OtelConfig, OtelConsoleMode, OtelLevels, OtelLogLevel, OtelLogRecord, OtelMetricsSignalConfig, OtelOAuthClientCredentialsConfig, OtelProtocol, OtelProviderType, OtelSignalConfig, 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, 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, SecretsModuleConfig, SecretsOperationOptions, SecretsSource, SecretsSourceConfig, SecretsSourceMap, SecretsSourceType, SecretsSubscriptionOptions, SecretsValidators, SecretsWriteOptions, ServerOnlyWorkloadConfig, Session, SessionStore, SetTenantIntegrationOptions, StagedIntegration, StandardSchemaWithValidate, StateCookie, StoreConflictError, StoreConflictKind, SubjectRef, SubjectScope, SubjectType, SubjectTypeScoping, SubscriptionMode, TenantDirectory, TenantDirectoryIdentity, TenantHostMatch, TenantHostRoutingStrategy, TenantIntegration, TenantIntegrationStatus, TenantIntegrationView, TenantIonCache, TenantManagement, TenantPathMatch, TenantPathNamespace, TenantPathRoutingStrategy, TenantResponse, TenantRoutingStrategy, TenantSelectorRoutingStrategy, TenantStatus, TenantStore, TenantValidators, TenantWebhookPayload, TmIntegratorConfig, TokenResponse, TokenValidationResult, TrustedIdp, TrustedProvisioningClient, UnexpectedBodySummary, UpdateTenantRequest, UserEndpointPolicy, UserStore, UserStoreOptions, UsersInboundHandlerConfig, ValidateResult, VaultConfigLocator, VaultLfvSecretsConfig, VaultSecretsConfig, VaultWebSocketAuthHeader, VaultWebSocketSecretsConfig, VaultWorkloadAuthConfig, WorkforceUser, Workload, WorkloadClient, WorkloadConfig, WorkloadConfigMap, WorkloadGetToken, WorkloadIdentity, WorkloadIdentityStore, WorkloadIncomingOutgoing, WorkloadPrincipal, WorkloadTokenResponse, WorkloadTokenStore, WorkloadValidators, X509Certificate, XML_MEDIA_TYPE, accessRefId, accessRootId, assertEcid, assertRequiredSubjectType, assertValidSubjectTypeScoping, buildTenantPath, buildTenantUrl, catalogEntityStore, claimsToUser, compareDisplayExpiryDesc, configTrustedClientGrants, customAttributes, customerResourceSchema, debugLogger, decodeDisplayCookie, decodeUser, deepEqualPlain, defaultDisplayUser, defaultLogger, defaultSecretContentType, defineCatalog, defineSecretType, deprecateRetiredCodeCatalogRows, discoveredProfileCookieName, encodeDisplayCookie, 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, version, waitOn, warnLogger, withValidate, workloadResourceSchema, workloadTokenResponseSchema };
6868
+ export { ACCEPT_JSON, ACCEPT_OCTET_STREAM, ACCEPT_SCIM, ACCEPT_XML, AccessAssignmentStore, AccessCatalogStore, AccessChange, AccessCheckReason, AccessCheckResult, AccessCheckTarget, AccessIndex, AccessMutationResult, AccessMutationStatus, AccessProvenance, AccessRef, AccessRequestCreate, AccessRequestResult, 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, ClientCredentialsWorkloadConfig, CodeCatalog, CodeCatalogInput, CodeCatalogNamespace, ConfigApplyStatus, ConfigChangeCallback, ConfigChangeOptions, ConfigChangeResult, ConfigErrorKind, ConfigExportEnvelope, ConfigLocator, ConfigSource, ConfigSourceEnv, ConfigSourceError, ConfigSourceErrorInit, 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, DescribedSecretsSource, DestinationReference, DevSecretsConfig, DiscoveredDisplayCookieConfig, DisplayAuthType, DisplayCookieConfig, DisplayCookieEnvelope, DisplayIdentity, DisplayUser, ECID_SCHEME, 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, Group, GroupMember, GroupResource, GroupsInboundHandlerConfig, IAM, IAMAccessRequestsConfig, IAMAppRegistry, IAMAppValidators, IAMConfig, IAMConfigFromCode, IAMDiscoveryConfig, IAMDiscoveryContext, IAMDiscoveryHandlerConfig, IAMEndpointFlag, IAMGroupsInbound, IAMGroupsOutbound, IAMHandlerConfig, IAMInboundCustomersConfig, IAMInboundPrincipalContext, IAMInboundUserContext, IAMInboundUsersConfig, IAMInboundWorkloadsConfig, IAMPrincipalsInbound, 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, InferSecretType, Ionite, IoniteBase, IoniteDescription, IoniteError, IoniteErrorOptions, 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, 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, SecretsSourceType, SecretsSubscriptionOptions, SecretsValidators, SecretsWriteOptions, ServerOnlyWorkloadConfig, Session, SessionStore, SetTenantIntegrationOptions, SsoDescription, StagedIntegration, StandardSchemaWithValidate, StateCookie, StoreConflictError, StoreConflictKind, SubjectRef, SubjectScope, SubjectType, SubjectTypeScoping, SubscriptionMode, TenantDirectory, TenantDirectoryIdentity, TenantHostMatch, TenantHostRoutingStrategy, TenantIntegration, TenantIntegrationStatus, TenantIntegrationView, TenantIonCache, TenantManagement, TenantPathMatch, TenantPathNamespace, TenantPathRoutingStrategy, TenantResponse, TenantRoutingStrategy, TenantSelectorRoutingStrategy, TenantStatus, TenantStore, TenantValidators, TenantWebhookPayload, TmDescription, TmIntegratorConfig, TokenResponse, TokenValidationResult, TrustedIdp, TrustedProvisioningClient, UnexpectedBodySummary, UpdateTenantRequest, UserEndpointPolicy, UserStore, UserStoreOptions, UsersInboundHandlerConfig, ValidateResult, VaultConfigLocator, VaultLfvSecretsConfig, VaultSecretsConfig, VaultWebSocketAuthHeader, VaultWebSocketSecretsConfig, 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, configTrustedClientGrants, customAttributes, customerResourceSchema, debugLogger, decodeDisplayCookie, decodeUser, deepEqualPlain, defaultDisplayUser, defaultLogger, defaultSecretContentType, defineCatalog, defineSecretType, deprecateRetiredCodeCatalogRows, discoveredProfileCookieName, encodeDisplayCookie, 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, version, waitOn, warnLogger, withValidate, workloadResourceSchema, workloadTokenResponseSchema };