@ionite/core 0.0.24-beta.20260928.18 → 0.0.24-beta.20261003.16

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,443 +315,6 @@ 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
- };
755
318
  /**
756
319
  * Shared minimal identity fields used to build both the workforce user
757
320
  * record (`BaseUser`) and the CIAM customer record (`BaseCustomer`), as well
@@ -2113,6 +1676,83 @@ interface IamDeltaEmitter {
2113
1676
  ready(timeout?: number): Promise<void>;
2114
1677
  }
2115
1678
  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
+ };
2116
1756
  /**
2117
1757
  * Token caching for workload identity authentication.
2118
1758
  *
@@ -2418,10 +2058,16 @@ type ClientCredentialsWorkloadConfig = WorkloadConfigBase & {
2418
2058
  */
2419
2059
  clientId: string;
2420
2060
  /**
2421
- * OAuth2 client secret
2422
- * REQUIRED for Client Credentials mode
2061
+ * OAuth2 client secret. Omit it to authenticate with a federated token instead
2062
+ * (see `federatedTokenFile`). A client secret wins when both are present.
2423
2063
  */
2424
- clientSecret: string;
2064
+ clientSecret?: string;
2065
+ /**
2066
+ * Path to a projected federated token (e.g. AKS Workload Identity), sent as a jwt-bearer
2067
+ * `client_assertion` in place of `client_secret`. Defaults to `AZURE_FEDERATED_TOKEN_FILE`.
2068
+ * Read on every acquisition because the platform rotates it.
2069
+ */
2070
+ federatedTokenFile?: string;
2425
2071
  };
2426
2072
  /**
2427
2073
  * Server-Only Workload Configuration
@@ -2528,8 +2174,6 @@ interface WorkloadGetToken {
2528
2174
  * Workload Identity Authentication Interface
2529
2175
  */
2530
2176
  type Workload = WorkloadConfig & ModuleReadiness & Required<Pick<ModuleReadiness, "isReady" | "ready">> & {
2531
- /** Secret-free, JSON-serializable configuration and readiness summary. */
2532
- describe: () => WorkloadDescription;
2533
2177
  /**
2534
2178
  * Returns a token for this workload configuration.
2535
2179
  * The optional argument overrides the configured default scope.
@@ -2544,9 +2188,7 @@ type Workload = WorkloadConfig & ModuleReadiness & Required<Pick<ModuleReadiness
2544
2188
  /** Framework-agnostic request handler for the Workload module (token, validate, jwks, refresh). */
2545
2189
  handler: (request: Request) => Promise<Response>;
2546
2190
  };
2547
- type WorkloadClient = Pick<Workload, "getToken" | "refreshToken" | "generateJWTAssertion" | "revokeToken" | "beforeChange" | "afterChange" | "isReady" | "ready"> & {
2548
- describe(): WorkloadClientDescription;
2549
- };
2191
+ type WorkloadClient = Pick<Workload, "getToken" | "refreshToken" | "generateJWTAssertion" | "revokeToken" | "beforeChange" | "afterChange" | "isReady" | "ready">;
2550
2192
  /**
2551
2193
  * SCIM Error response structure
2552
2194
  */
@@ -2977,8 +2619,6 @@ type IAMUsersInbound = {
2977
2619
  * - `users_inbound` is available when `userStore` is configured
2978
2620
  */
2979
2621
  type IAM = Omit<IAMConfig, "users" | "workloads" | "customers" | "groups"> & {
2980
- /** Secret-free, JSON-serializable configuration and readiness summary. */
2981
- describe: () => IamDescription;
2982
2622
  users: IamPrincipalKind;
2983
2623
  workloads: IamPrincipalKind;
2984
2624
  customers: IamPrincipalKind;
@@ -3163,8 +2803,6 @@ type KmsPoolSlot = {
3163
2803
  ready(timeout?: number): Promise<void>;
3164
2804
  };
3165
2805
  type KmsPool = {
3166
- /** Secret-free, JSON-serializable pool configuration and readiness summary. */
3167
- describe(): KmsPoolDescription;
3168
2806
  /**
3169
2807
  * Returns the current granted key for slot 0. Calls wait on one shared local subscription until a
3170
2808
  * grant is available; repeated calls resolve from the local cache and never initiate a vault request.
@@ -3197,8 +2835,6 @@ type KmsPool = {
3197
2835
  * (`ion.kms.<name>`); use `getPool(name)` when the name is dynamic.
3198
2836
  */
3199
2837
  type Kms = ModuleReadiness & {
3200
- /** Secret-free, JSON-serializable configuration and readiness summary. */
3201
- describe(): KmsDescription;
3202
2838
  readonly config: Readonly<KmsConfig>;
3203
2839
  listPools(): string[];
3204
2840
  getPool(name: string): KmsPool;
@@ -3209,6 +2845,91 @@ type Kms = ModuleReadiness & {
3209
2845
  declare function parseKmsPoolDocument(value: unknown): KmsPoolDocument;
3210
2846
  /** Parse and fail closed on a vault-stored KMS key-material document. */
3211
2847
  declare function parseKmsPoolControlDocument(value: unknown): KmsPoolControlDocument;
2848
+ type OtelSignalName = "traces" | "metrics" | "logs";
2849
+ type OtelProtocol = "http/protobuf" | "http/json";
2850
+ type OtelProviderType = "otlp" | "grafana-lgtm" | "datadog" | "splunk" | "elastic";
2851
+ type OtelLogLevel = "trace" | "debug" | "info" | "warn" | "error";
2852
+ type OtelLevels = Partial<Record<OtelLogLevel, boolean>>;
2853
+ /** Local console mirror policy: disable it or set its minimum emitted severity. */
2854
+ type OtelConsoleMode = "off" | OtelLogLevel;
2855
+ type OtelAttributeValue = string | number | boolean | string[] | number[] | boolean[];
2856
+ type OtelAttributes = Record<string, OtelAttributeValue>;
2857
+ type OtelSignalConfig = {
2858
+ /** Per-signal OTLP endpoint. When omitted, the module appends /v1/{signal} to `endpoint`. */
2859
+ endpoint?: string;
2860
+ headers?: Record<string, string>;
2861
+ timeoutMillis?: number;
2862
+ concurrencyLimit?: number;
2863
+ };
2864
+ type OtelMetricsSignalConfig = OtelSignalConfig & {
2865
+ exportIntervalMillis?: number;
2866
+ exportTimeoutMillis?: number;
2867
+ };
2868
+ type OtelOAuthClientCredentialsConfig = {
2869
+ tokenUrl: string;
2870
+ clientId: string;
2871
+ clientSecret: string;
2872
+ scope?: string;
2873
+ audience?: string;
2874
+ headers?: Record<string, string>;
2875
+ };
2876
+ type OtelLogRecord = {
2877
+ severityNumber?: number;
2878
+ severityText?: string;
2879
+ body?: unknown;
2880
+ attributes?: Record<string, unknown>;
2881
+ };
2882
+ /**
2883
+ * OpenTelemetry config supplied by ConfigSource/RemoteConfig.
2884
+ * Keep environment-specific URLs and credentials here, not in FrameworkConfig.
2885
+ */
2886
+ type OtelConfig = {
2887
+ type?: OtelProviderType;
2888
+ name: string;
2889
+ endpoint?: string;
2890
+ protocol?: OtelProtocol;
2891
+ headers?: Record<string, string>;
2892
+ apiKey?: string;
2893
+ /** Name of a `RemoteConfig.kms` key pool used for exporter authentication. */
2894
+ apiKeyPool?: string;
2895
+ apiKeyHeader?: string;
2896
+ oauth?: OtelOAuthClientCredentialsConfig;
2897
+ version?: string;
2898
+ deploymentEnvironment?: string;
2899
+ resourceAttributes?: OtelAttributes;
2900
+ levels?: OtelLevels;
2901
+ /** `'off'` exports only to OTel; a level dual-emits at or above that severity. Defaults to `'info'`. */
2902
+ console?: OtelConsoleMode;
2903
+ traces?: boolean | OtelSignalConfig;
2904
+ metrics?: boolean | OtelMetricsSignalConfig;
2905
+ logs?: boolean | OtelSignalConfig;
2906
+ };
2907
+ /**
2908
+ * OpenTelemetry app/runtime wiring supplied by code.
2909
+ * Instrumentation instances and callbacks live here because they are framework-specific code.
2910
+ */
2911
+ type FrameworkOtelConfig = {
2912
+ levels?: OtelLevels;
2913
+ instrument?: unknown[];
2914
+ /** Optional app-owned destination/renderer for records admitted by `RemoteConfig.otel.console`. */
2915
+ console?: (record: OtelLogRecord) => void;
2916
+ spanProcessors?: unknown[];
2917
+ metricReaders?: unknown[];
2918
+ logRecordProcessors?: unknown[];
2919
+ sampler?: unknown;
2920
+ textMapPropagator?: unknown;
2921
+ contextManager?: unknown;
2922
+ configure?: (options: Record<string, unknown>) => Record<string, unknown> | void;
2923
+ };
2924
+ type Otel = {
2925
+ beforeChange(listener: ChangeListener): () => void;
2926
+ afterChange(listener: ChangeListener): () => void;
2927
+ isReady(): boolean;
2928
+ ready(timeout?: number): Promise<void>;
2929
+ logger: Logger;
2930
+ forceFlush(): Promise<void>;
2931
+ shutdown(): Promise<void>;
2932
+ };
3212
2933
  /**
3213
2934
  * Session management for tracking user sessions and enabling backchannel logout.
3214
2935
  *
@@ -3769,8 +3490,6 @@ type SSO<
3769
3490
  TSessionData = Record<string, never>,
3770
3491
  TUserData = Record<string, never>
3771
3492
  > = SSOConfig<TSessionData, TUserData> & {
3772
- /** Secret-free, JSON-serializable configuration and readiness summary. */
3773
- describe: () => SsoDescription;
3774
3493
  getUser: (request: Request) => Promise<WorkforceUser | undefined>;
3775
3494
  /**
3776
3495
  * Degraded-aware resolution: distinguishes a signed-out visitor (`unauthenticated`) from a failed
@@ -4118,12 +3837,7 @@ type SecretsValidators = {
4118
3837
  */
4119
3838
  validateSourceConfig?(sourceName: string, config: SecretsSourceConfig): void;
4120
3839
  };
4121
- type DescribedSecretsSource = SecretsSource & {
4122
- describe(): SecretsSourceDescription;
4123
- };
4124
3840
  type Secrets = ModuleReadiness & {
4125
- /** Secret-free, JSON-serializable configuration and readiness summary. */
4126
- describe(): SecretsDescription;
4127
3841
  /**
4128
3842
  * Liveness across configured sources. Returns false when any ready source reports a degraded
4129
3843
  * `isAvailable()` (e.g. an HTTP-poll source whose upstream is failing). Surfaced in
@@ -4135,7 +3849,7 @@ type Secrets = ModuleReadiness & {
4135
3849
  /** Returns configured secrets source names/keys. */
4136
3850
  listSecretsSources(): string[];
4137
3851
  /** Gets a named secrets source client. Throws when missing. */
4138
- getSecretsSource(sourceName: string): DescribedSecretsSource;
3852
+ getSecretsSource(sourceName: string): SecretsSource;
4139
3853
  /** Creates a lazy handle for a secret in a named source. */
4140
3854
  get(sourceName: string, path: string, options?: SecretsOperationOptions): SecretHandle;
4141
3855
  /** Reads a secret from a named secrets source client. */
@@ -5099,8 +4813,6 @@ type CIAM<
5099
4813
  TMagicLinkData = Record<string, never>,
5100
4814
  TCustomerData = Record<string, never>
5101
4815
  > = CIAMConfig<TMagicLinkData, TCustomerData> & {
5102
- /** Secret-free, JSON-serializable configuration and readiness summary. */
5103
- describe: () => CiamDescription;
5104
4816
  getCustomer: (request: Request) => Promise<Customer | undefined>;
5105
4817
  /**
5106
4818
  * Degraded-aware resolution: distinguishes a signed-out visitor (`unauthenticated`) from a failed
@@ -5244,15 +4956,6 @@ type IoniteBase = {
5244
4956
  * module is ready; `notReady` lists the requested modules that are not ready, with reasons.
5245
4957
  */
5246
4958
  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;
5256
4959
  /** Most recent RemoteConfig application outcome (last applied time and last error, if any). */
5257
4960
  configStatus: ConfigApplyStatus;
5258
4961
  /** Release config subscriptions and background resources. */
@@ -5564,8 +5267,6 @@ type TenantIntegrationView = {
5564
5267
  integration: TenantIntegration;
5565
5268
  };
5566
5269
  type TenantManagement<TTenant extends BaseTenant = BaseTenant> = ModuleReadiness & {
5567
- /** Secret-free, JSON-serializable configuration and readiness summary. */
5568
- describe(): TmDescription;
5569
5270
  handler(request: Request): Promise<Response>;
5570
5271
  getTenant(id: string): Promise<TTenant | undefined>;
5571
5272
  recordConsent(input: RecordTenantConsentInput): Promise<TTenant>;
@@ -6242,8 +5943,6 @@ interface OaaClient<
6242
5943
  TCustomer = BaseCustomer,
6243
5944
  TWorkload = BaseWorkloadIdentity
6244
5945
  > {
6245
- /** Secret-free, JSON-serializable OAA configuration and readiness summary. */
6246
- describe(): OaaDescription;
6247
5946
  pushUser(user: TUser): Promise<void>;
6248
5947
  pushCustomer(customer: TCustomer): Promise<void>;
6249
5948
  pushWorkload(workload: TWorkload): Promise<void>;
@@ -6362,8 +6061,6 @@ type ReconcileReport = {
6362
6061
  * wired they deny by default (`{ allow: false }`, `metadata.reason = 'access_index_not_configured'`).
6363
6062
  */
6364
6063
  type Authz = {
6365
- /** Secret-free, JSON-serializable configuration and readiness summary. */
6366
- describe(): AuthzDescription;
6367
6064
  oaa: OaaClient;
6368
6065
  /** Read the effective catalog union (materialized rows plus unmaterialized code templates). */
6369
6066
  entitlements: {
@@ -6497,6 +6194,64 @@ declare function trustedClientPermissionsForPrincipal(authz: AuthzConfig | null
6497
6194
  * OAA full sync — they are NEVER written to a store or materialized into the AccessIndex.
6498
6195
  */
6499
6196
  declare function configTrustedClientGrants(authz: AuthzConfig | null | undefined): AccessChange[];
6197
+ 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";
6198
+ type CapabilityEndpointUrls = {
6199
+ readyzUrl: string;
6200
+ capabilitiezUrl: string;
6201
+ sso: {
6202
+ loginUrl: string;
6203
+ userUrl: string;
6204
+ logoutUrl: string;
6205
+ logoutBackChannelUrl: string;
6206
+ refreshUrl: string;
6207
+ callbackUrl: string;
6208
+ };
6209
+ workload: {
6210
+ validateUrl: string;
6211
+ jwksUrl: string;
6212
+ };
6213
+ iam: {
6214
+ basePath: string;
6215
+ usersUrl: string;
6216
+ groupsUrl: string;
6217
+ workloadsUrl: string;
6218
+ customersUrl: string;
6219
+ };
6220
+ ciam: {
6221
+ magicLinkUrl: string;
6222
+ magicLinkLoginUrl: string;
6223
+ customerUrl: string;
6224
+ customerLoginUrl: string;
6225
+ customerCallbackUrl: string;
6226
+ customerProvidersUrl: string;
6227
+ logoutUrl: string;
6228
+ };
6229
+ };
6230
+ type CapabilityState = {
6231
+ module: ModuleName;
6232
+ active: boolean;
6233
+ ready: boolean;
6234
+ testable: boolean;
6235
+ urls?: string[];
6236
+ reason?: string;
6237
+ };
6238
+ type CapabilitiezManifest = {
6239
+ sdk: {
6240
+ /** Runtime @ionite/server version serving this manifest. */
6241
+ version: string;
6242
+ /** Version of the stable capability/test-unit vocabulary. */
6243
+ catalogVersion: number;
6244
+ };
6245
+ basePath: string;
6246
+ urls: CapabilityEndpointUrls;
6247
+ modules: Record<ModuleName, ModuleReadinessState>;
6248
+ capabilities: Record<CapabilityKey, CapabilityState>;
6249
+ /**
6250
+ * True when FrameworkConfig wired a live LFV callback transport. Boolean only — the transport
6251
+ * object, Redis URL, and credentials are never exposed.
6252
+ */
6253
+ lfvCallbackTransport: boolean;
6254
+ };
6500
6255
  /**
6501
6256
  * Fields a {@link ConfigSource} may attach to a thrown error so the SDK can classify load/subscribe
6502
6257
  * failures structurally instead of by fragile message-substring matching (§2.1). All fields are
@@ -6865,4 +6620,4 @@ type LfvErrorResponse = {
6865
6620
  };
6866
6621
  /** Generates a ULID */
6867
6622
  declare function generateULID(prefix?: string): string;
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 };
6623
+ 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 };