@ionite/core 0.0.24-beta.20261006.22 → 0.0.24-beta.20261007.24

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
@@ -14,6 +14,122 @@ declare const KNOWN_BASE_CUSTOMER_KEYS: readonly ["id", "userName", "name", "ema
14
14
  declare const KNOWN_WORKLOAD_KEYS: readonly ["id", "clientId", "displayName", "description", "externalId", "providerId", "requestUrl", "ecid", "active", "scopes", "createdAt", "updatedAt", "metadata"];
15
15
  /** Return the AppDev-owned, enumerable attributes on an object, omitting SDK keys and undefined values. */
16
16
  declare function customAttributes(value: object, knownKeys: readonly PropertyKey[]): Record<string, unknown> | undefined;
17
+ /**
18
+ * Minimal logger interface compatible with common structured logging patterns.
19
+ */
20
+ interface Logger {
21
+ trace(message?: unknown, ...optionalParams: unknown[]): void;
22
+ debug(message?: unknown, ...optionalParams: unknown[]): void;
23
+ info(message?: unknown, ...optionalParams: unknown[]): void;
24
+ warn(message?: unknown, ...optionalParams: unknown[]): void;
25
+ error(message?: unknown, ...optionalParams: unknown[]): void;
26
+ }
27
+ /**
28
+ * Renders a structured logger call as one greppable line while leaving the source fields separate
29
+ * for telemetry exporters.
30
+ */
31
+ declare function formatLogLine(level: keyof Logger, message: unknown, optionalParams?: unknown[], timestamp?: Date): string;
32
+ /**
33
+ * No-op implementation — does nothing for any log level
34
+ */
35
+ declare const silentLogger: Logger;
36
+ /**
37
+ * Default logger used until an ionite instance is configured with
38
+ * an OpenTelemetry-backed logger or an application-provided logger.
39
+ */
40
+ declare const defaultLogger: Logger;
41
+ /**
42
+ * Logger that logs messages debug, info, warn, and error to the console.
43
+ */
44
+ declare const debugLogger: Logger;
45
+ /**
46
+ * Logger that logs messages info, warn, and error to the console.
47
+ */
48
+ declare const infoLogger: Logger;
49
+ /**
50
+ * Logger that logs messages warn and error to the console.
51
+ */
52
+ declare const warnLogger: Logger;
53
+ /**
54
+ * Human-readable single-line console logger for local application output.
55
+ */
56
+ declare const prettyLogger: Logger;
57
+ /** Runtime identity attached when an error leaves an ionite handle. */
58
+ type IoniteErrorContext = {
59
+ /** `RemoteConfig.id` of the runtime that threw. On a tenant runtime this is the tenant id. */
60
+ ionId?: string;
61
+ /** Logger for that runtime. Non-enumerable on the error so serializers cannot reach a live handle. */
62
+ log?: Logger;
63
+ };
64
+ type IoniteErrorOptions = ErrorOptions & {
65
+ /**
66
+ * Client HTTP status. Always the status an App should send. Defaults to 500.
67
+ * Transport errors put the upstream status on {@link IoniteErrorOptions.upstreamStatus}.
68
+ */
69
+ status?: number;
70
+ /** Upstream transport status. Server-side only: never returned by {@link IoniteError.response}. */
71
+ upstreamStatus?: number;
72
+ /** Client-safe reason code. When set, it is the `error` field of {@link IoniteError.response}. Never put `message` here. */
73
+ statusText?: string;
74
+ /** Client-safe explanation. Returned as `detail` only when `statusText` is set. */
75
+ detail?: string;
76
+ ionId?: string;
77
+ log?: Logger;
78
+ };
79
+ type IoniteErrorJson = {
80
+ name: string;
81
+ _tag: string;
82
+ status: number;
83
+ statusText?: string;
84
+ detail?: string;
85
+ ionId?: string;
86
+ };
87
+ type IoniteLogAttributes = Record<string, string | number | boolean | undefined>;
88
+ /**
89
+ * Base error for ionite runtimes.
90
+ *
91
+ * The runtime that throws stamps `ionId` and a non-enumerable `log` so an App error hook can log on
92
+ * the right tenant without the SDK knowing the framework. `message` and `upstreamStatus` are
93
+ * server-side. {@link IoniteError.response} returns `statusText`, `detail`, and
94
+ * {@link IoniteError.safeBody}.
95
+ *
96
+ * `status` is always the client HTTP status. The App owns the hook that logs and returns a response;
97
+ * the SDK decides only for the protocol routes it serves.
98
+ */
99
+ declare class IoniteError extends Error {
100
+ /** Client HTTP status. Always set. */
101
+ readonly status: number;
102
+ /** Upstream transport status. Absent from {@link IoniteError.response} and {@link IoniteError.toJSON}. */
103
+ readonly upstreamStatus?: number;
104
+ readonly statusText?: string;
105
+ readonly detail?: string;
106
+ ionId?: string;
107
+ /** Non-enumerable. Absent from `JSON.stringify` and `toJSON`. */
108
+ log?: Logger;
109
+ constructor(message: string, options?: IoniteErrorOptions);
110
+ /** Effect `catchTag` discriminator. Equals `name`, the declared class name. */
111
+ get _tag(): string;
112
+ /** Attach runtime context only where it is still unset. The innermost handle wins. */
113
+ attachContext(ctx: IoniteErrorContext): this;
114
+ /** Extra client-safe JSON fields. Included only when `statusText` is set. */
115
+ protected safeBody(): Record<string, unknown>;
116
+ toLogAttributes(): IoniteLogAttributes;
117
+ /**
118
+ * Default client response. JSON unless the request asks for HTML and not JSON, in which case the
119
+ * body is plain text of `detail`, else `statusText`, else `Internal Server Error`.
120
+ * `message` and `upstreamStatus` are never included.
121
+ */
122
+ response(request?: Request): Response;
123
+ toJSON(): IoniteErrorJson;
124
+ /**
125
+ * Normalize any thrown value. An existing {@link IoniteError} is returned unchanged aside from
126
+ * filling unset context. Anything else is wrapped at status 500 with the original as `cause`.
127
+ * A foreign `status` is not copied: it is not App response policy.
128
+ */
129
+ static from(error: unknown, ctx?: IoniteErrorContext): IoniteError;
130
+ }
131
+ /** Log attributes from an error that implements {@link IoniteError.toLogAttributes}, if any. */
132
+ declare function errorLogAttributes(error: unknown): IoniteLogAttributes | undefined;
17
133
  import { StandardSchemaV1 as StandardSchemaV19 } from "@standard-schema/spec";
18
134
  import { StandardSchemaV1 as StandardSchemaV18 } from "@standard-schema/spec";
19
135
  /** Synchronous, in-memory read surface for one code catalog entity kind. */
@@ -1691,46 +1807,6 @@ declare function readDisplayCookies(cookieHeader: string | null | undefined): Pa
1691
1807
  declare function compareDisplayExpiryDesc(a: string | undefined, b: string | undefined): number;
1692
1808
  declare function profileCookieName(cookiesPrefix: string): string;
1693
1809
  declare function discoveredProfileCookieName(tenantId: string): string;
1694
- /**
1695
- * Minimal logger interface compatible with common structured logging patterns.
1696
- */
1697
- interface Logger {
1698
- trace(message?: unknown, ...optionalParams: unknown[]): void;
1699
- debug(message?: unknown, ...optionalParams: unknown[]): void;
1700
- info(message?: unknown, ...optionalParams: unknown[]): void;
1701
- warn(message?: unknown, ...optionalParams: unknown[]): void;
1702
- error(message?: unknown, ...optionalParams: unknown[]): void;
1703
- }
1704
- /**
1705
- * Renders a structured logger call as one greppable line while leaving the source fields separate
1706
- * for telemetry exporters.
1707
- */
1708
- declare function formatLogLine(level: keyof Logger, message: unknown, optionalParams?: unknown[], timestamp?: Date): string;
1709
- /**
1710
- * No-op implementation — does nothing for any log level
1711
- */
1712
- declare const silentLogger: Logger;
1713
- /**
1714
- * Default logger used until an ionite instance is configured with
1715
- * an OpenTelemetry-backed logger or an application-provided logger.
1716
- */
1717
- declare const defaultLogger: Logger;
1718
- /**
1719
- * Logger that logs messages debug, info, warn, and error to the console.
1720
- */
1721
- declare const debugLogger: Logger;
1722
- /**
1723
- * Logger that logs messages info, warn, and error to the console.
1724
- */
1725
- declare const infoLogger: Logger;
1726
- /**
1727
- * Logger that logs messages warn and error to the console.
1728
- */
1729
- declare const warnLogger: Logger;
1730
- /**
1731
- * Human-readable single-line console logger for local application output.
1732
- */
1733
- declare const prettyLogger: Logger;
1734
1810
  import { StandardSchemaV1 as StandardSchemaV15 } from "@standard-schema/spec";
1735
1811
  type ChangeListener = () => void;
1736
1812
  /**
@@ -2162,6 +2238,8 @@ type TmDescription = ModuleDescriptionBase<"tm"> & {
2162
2238
  };
2163
2239
  consentTtlSeconds?: number;
2164
2240
  maxRedeemAttempts?: number;
2241
+ /** Effective `action_required` request-token lifetime, including the one-hour default. */
2242
+ requestTokenTtlSeconds: number;
2165
2243
  };
2166
2244
  type ModuleDescription = SsoDescription | CiamDescription | IamDescription | WorkloadDescription | SecretsDescription | KmsDescription | OtelDescription | AuthzDescription | TmDescription;
2167
2245
  type IoniteDescription = {
@@ -4032,12 +4110,24 @@ declare function defineSecretType<T>(input: SecretTypeInput<T>): SecretTypeDescr
4032
4110
  declare function defineSecretType(input: SecretTypeInput<unknown>): SecretTypeDescriptor<unknown>;
4033
4111
  declare function defaultSecretContentType(format?: SecretFormat): SecretContentType;
4034
4112
  /** Raised before decoding when a stored secret does not match the requested runtime contract. */
4035
- declare class SecretContentTypeMismatchError extends Error {
4113
+ declare class SecretContentTypeMismatchError extends IoniteError {
4114
+ readonly name = "SecretContentTypeMismatchError";
4036
4115
  readonly expected: SecretContentType;
4037
4116
  readonly received: SecretContentType;
4038
4117
  constructor(expected: SecretContentType, received: SecretContentType);
4039
4118
  }
4040
4119
  type SecretFormat = "jsonc" | "env" | "text" | "binary" | "yaml" | "toml" | "xml";
4120
+ /** How a vault-compatible source reads a secret: direct HTTP, the shared websocket, or LFV delivery. */
4121
+ type SecretsTransport = "http" | "websocket" | "lfv";
4122
+ /**
4123
+ * Log-safe locator of a secrets backend. Carries only the read transport and the server URL (with
4124
+ * userinfo, query, and fragment removed) — never tokens, client secrets, or trust material. Config
4125
+ * sources built over a client copy it into `ConfigSource.origin`.
4126
+ */
4127
+ type SecretsSourceOrigin = {
4128
+ transport?: SecretsTransport;
4129
+ url?: string;
4130
+ };
4041
4131
  /**
4042
4132
  * Self-describing content metadata persisted with a secret. `typeId` identifies an authoring preset;
4043
4133
  * decoding never depends on the preset registry because the resolved format/mime/schema travel with
@@ -4154,6 +4244,8 @@ type FrameworkLfvConfig = {
4154
4244
  };
4155
4245
  type SecretsSource = ReactiveHandle & ModuleReadiness & {
4156
4246
  type: SecretsSourceType;
4247
+ /** Optional log-safe backend locator. Built-in sources set it; it must never carry credentials. */
4248
+ origin?: SecretsSourceOrigin;
4157
4249
  /** Creates a lazy, Bun.file-style handle. No I/O occurs until an accessor is awaited. */
4158
4250
  get(path: string, options?: SecretsOperationOptions): SecretHandle;
4159
4251
  getFullSecret: <T>(path: string, options?: SecretsOperationOptions) => Promise<Secret<T>>;
@@ -4507,6 +4599,28 @@ type AzureSecretsConfig = {
4507
4599
  ttl?: number;
4508
4600
  };
4509
4601
  type ConfigSourceType = "vault" | "azure" | "aws" | "gcp" | "mirror";
4602
+ /**
4603
+ * Log-safe description of where a `ConfigSource` reads RemoteConfig from. It carries locators only:
4604
+ * the source kind, the read transport, the server URL (userinfo, query, and fragment removed), and
4605
+ * the document path. It never carries tokens, client secrets, or trust material. The SDK emits it
4606
+ * as `ion.config.source.*` attributes on `RemoteConfig applied.` and on config load/apply failure
4607
+ * lines so operators can tell which backend and document produced the running configuration.
4608
+ */
4609
+ type ConfigSourceOrigin = {
4610
+ type: ConfigSourceType;
4611
+ /**
4612
+ * Transport a vault-backed source reads the document through. When a direct `url` and a
4613
+ * `websocket.url` are both configured, reads use HTTP and the websocket carries live updates;
4614
+ * this field reports the read path.
4615
+ */
4616
+ transport?: SecretsTransport;
4617
+ /** Server URL without userinfo, query, or fragment. */
4618
+ url?: string;
4619
+ /** Document path (vault path or Key Vault secret name) holding the RemoteConfig. */
4620
+ path?: string;
4621
+ /** `mirror` only: the authoritative upstream the destination document is mirrored from. */
4622
+ from?: ConfigSourceOrigin;
4623
+ };
4510
4624
  type ConfigSourceEnv = {
4511
4625
  ION_CONFIG_TYPE?: ConfigSourceType;
4512
4626
  ION_VAULT_URL?: string;
@@ -4966,7 +5080,7 @@ type RemoteConfigRetryContext = {
4966
5080
  maxDelayMs: number;
4967
5081
  /** Best-effort source error code when known. */
4968
5082
  code?: string;
4969
- /** Best-effort source status when known. */
5083
+ /** Best-effort upstream transport status when known. Not a client HTTP status. */
4970
5084
  status?: number;
4971
5085
  /** Config source transport when known, such as "vault", "azure", or "aws". */
4972
5086
  sourceType?: ConfigSourceType | string;
@@ -5006,6 +5120,11 @@ type ConfigSubscriptionOptions = {
5006
5120
  */
5007
5121
  type ConfigChangeCallback = (config: RemoteConfig, frameworkConfig: ModifiableFrameworkConfig, oldConfig: RemoteConfig | undefined) => ConfigChangeResult | void | Promise<ConfigChangeResult | void>;
5008
5122
  type ConfigSource = {
5123
+ /**
5124
+ * Optional log-safe locator of this source (see {@link ConfigSourceOrigin}). Built-in sources set
5125
+ * it; custom sources MAY. Never include credentials.
5126
+ */
5127
+ origin?: ConfigSourceOrigin;
5009
5128
  load(): Promise<RemoteConfig>;
5010
5129
  /**
5011
5130
  * Called when the config changes.
@@ -5510,15 +5629,6 @@ interface TenantWebhookPayload {
5510
5629
  expiresAt?: string;
5511
5630
  error?: string;
5512
5631
  }
5513
- type IoniteErrorOptions = ErrorOptions & {
5514
- status?: number;
5515
- statusText?: string;
5516
- };
5517
- declare class IoniteError extends Error {
5518
- readonly status?: number;
5519
- readonly statusText?: string;
5520
- constructor(message: string, options?: IoniteErrorOptions);
5521
- }
5522
5632
  type TenantValidators<
5523
5633
  TCreateTenantRequest extends CreateTenantRequest = CreateTenantRequest,
5524
5634
  TUpdateTenantRequest extends UpdateTenantRequest = UpdateTenantRequest,
@@ -5613,6 +5723,11 @@ type RemoteTmConfig = {
5613
5723
  ionite: TmIoniteConfig;
5614
5724
  consentTtlSeconds?: number;
5615
5725
  maxRedeemAttempts?: number;
5726
+ /**
5727
+ * Lifetime, in seconds, of an App-minted `action_required` request token. Minimum 60; omitted
5728
+ * means {@link DEFAULT_REQUEST_TOKEN_TTL_SECONDS} (one hour). ConfigSource-only.
5729
+ */
5730
+ requestTokenTtlSeconds?: number;
5616
5731
  };
5617
5732
  type StagedIntegration = {
5618
5733
  handle: string;
@@ -5686,12 +5801,28 @@ type TenantIntegrationView = {
5686
5801
  state: TenantIntegrationStatus;
5687
5802
  integration: TenantIntegration;
5688
5803
  };
5804
+ type ActionRequiredPlan = {
5805
+ requestToken: string;
5806
+ actionUrl: string;
5807
+ expiresAt: string;
5808
+ };
5809
+ type ActionRequiredInput = {
5810
+ /** App-owned completion path, for example `/onboard`. */
5811
+ path: string;
5812
+ /** Public origin the browser uses to open the action URL. */
5813
+ origin: string;
5814
+ };
5689
5815
  type TenantManagement<TTenant extends BaseTenant = BaseTenant> = ModuleReadiness & {
5690
5816
  /** Secret-free, JSON-serializable configuration and readiness summary. */
5691
5817
  describe(): TmDescription;
5692
5818
  handler(request: Request): Promise<Response>;
5693
5819
  getTenant(id: string): Promise<TTenant | undefined>;
5694
5820
  recordConsent(input: RecordTenantConsentInput): Promise<TTenant>;
5821
+ /**
5822
+ * Mint the `action_required` fields TM requires: a request token, a browser action URL, and an
5823
+ * expiry. The lifetime comes from `RemoteConfig.tm.requestTokenTtlSeconds` (default one hour).
5824
+ */
5825
+ actionRequired(input: ActionRequiredInput): ActionRequiredPlan;
5695
5826
  };
5696
5827
  declare function tmIntegrationState(tenant: BaseTenant | undefined, now?: number): TenantIntegrationView;
5697
5828
  /**
@@ -6224,18 +6355,21 @@ declare function assertRequiredSubjectType(value: unknown, label?: string): asse
6224
6355
  * A granted "root" relationship between a principal and a catalog target. Roots are the source of
6225
6356
  * truth in the AccessAssignmentStore; the AccessIndex is materialized from roots + the catalog.
6226
6357
  */
6227
- type AccessChange<
6358
+ /**
6359
+ * App-facing input to {@link Authz.grant} and {@link Authz.revoke}. Named so a request body can be
6360
+ * declared once (`satisfies GrantRequest`) and reused. The durable record is {@link AccessChange},
6361
+ * which adds the store-assigned `id`.
6362
+ */
6363
+ type GrantRequest<
6228
6364
  TUser = BaseUser,
6229
6365
  TGroup = Group,
6230
6366
  TRole = Role,
6231
6367
  TPermission = Permission
6232
6368
  > = {
6233
- /** Deterministic id derived from `subjectType:subject:targetType:target[:scope]`; assigned by stores/orchestration. */
6234
- id?: string;
6235
6369
  subject: AccessRef<TUser>;
6236
6370
  /** The principal kind this grant is for. Required; never inferred or defaulted. */
6237
6371
  subjectType: SubjectType;
6238
- targetType: OaaAccessTargetType;
6372
+ targetType: EntitlementType;
6239
6373
  target: AccessRef<TGroup | TRole | TPermission>;
6240
6374
  /** Specific resource ids this grant is scoped to (maps to OAA assignment `resources`). */
6241
6375
  resources?: string[];
@@ -6247,6 +6381,33 @@ type AccessChange<
6247
6381
  status?: AccessStatus;
6248
6382
  metadata?: Record<string, unknown>;
6249
6383
  };
6384
+ type AccessChange<
6385
+ TUser = BaseUser,
6386
+ TGroup = Group,
6387
+ TRole = Role,
6388
+ TPermission = Permission
6389
+ > = GrantRequest<TUser, TGroup, TRole, TPermission> & {
6390
+ /** Deterministic id derived from `subjectType:subject:targetType:target[:scope]`; assigned by stores/orchestration. */
6391
+ id?: string;
6392
+ };
6393
+ /** One grant or revoke submitted through {@link Authz.requestAccess}. */
6394
+ type AccessRequestInput = {
6395
+ subject: GrantRequest["subject"];
6396
+ subjectType: SubjectType;
6397
+ targetType: EntitlementType;
6398
+ target: GrantRequest["target"];
6399
+ operation: "grant" | "revoke";
6400
+ justification?: string;
6401
+ /** CIAM provider key. Required only when multiple providers expose an AccessRequests channel. */
6402
+ provider?: string;
6403
+ };
6404
+ /** Lookup for {@link Authz.getAccessRequest}. */
6405
+ type AccessRequestLookup = {
6406
+ id: string;
6407
+ subjectType: SubjectType;
6408
+ /** CIAM provider key. Required only when multiple providers expose an AccessRequests channel. */
6409
+ provider?: string;
6410
+ };
6250
6411
  /**
6251
6412
  * Granted access **roots** — the durable source of truth for direct assignments
6252
6413
  * (`subject → group | role | permission`). Each root is one explicit grant (for example
@@ -6580,44 +6741,20 @@ type Authz = {
6580
6741
  * index. IAM SCIM ingress does **not** use this path (it stays policy-exempt). Throws
6581
6742
  * {@link AssignmentPolicyError} when Ops forbids in-app assignment for the principal kind.
6582
6743
  */
6583
- grant(change: AccessChange): Promise<AccessChange>;
6744
+ grant(change: GrantRequest): Promise<AccessChange>;
6584
6745
  /**
6585
6746
  * Submit one grant or revoke request on a principal's behalf. Under `'iam-request'`, targets the
6586
6747
  * IAM destination; under `'idp'`, targets the claims-bearing SSO/CIAM provider. One operation
6587
6748
  * maps to one approval decision, status, and tracking URL.
6588
6749
  */
6589
- requestAccess(change: {
6590
- subject: AccessChange["subject"];
6591
- subjectType: SubjectType;
6592
- targetType: EntitlementType;
6593
- target: AccessChange["target"];
6594
- operation: "grant" | "revoke";
6595
- justification?: string;
6596
- /** CIAM provider key. Required only when multiple providers expose an AccessRequests channel. */
6597
- provider?: string;
6598
- }): Promise<{
6599
- id: string;
6600
- status: "pending" | "approved" | "denied";
6601
- operation: "grant" | "revoke";
6602
- trackingUrl: string;
6603
- }>;
6750
+ requestAccess(change: AccessRequestInput): Promise<AccessRequestResult>;
6604
6751
  /** Read the destination-owned state of an on-behalf access request. */
6605
- getAccessRequest(input: {
6606
- id: string;
6607
- subjectType: SubjectType;
6608
- /** CIAM provider key. Required only when multiple providers expose an AccessRequests channel. */
6609
- provider?: string;
6610
- }): Promise<{
6611
- id: string;
6612
- status: "pending" | "approved" | "denied";
6613
- operation: "grant" | "revoke";
6614
- trackingUrl: string;
6615
- }>;
6752
+ getAccessRequest(input: AccessRequestLookup): Promise<AccessRequestResult>;
6616
6753
  /**
6617
6754
  * App-facing revoke of a granted root. Does not re-check assignment policy (removing access is
6618
6755
  * always allowed from the app once the root exists).
6619
6756
  */
6620
- revoke(change: AccessChange): Promise<void>;
6757
+ revoke(change: GrantRequest): Promise<void>;
6621
6758
  };
6622
6759
  /**
6623
6760
  * Ops-owned assignment policy for one principal kind (`RemoteConfig.iam.{users,workloads,customers}.assignment`).
@@ -6635,10 +6772,13 @@ type IamAssignmentPolicy = "app" | "iam" | "iam-request" | "idp";
6635
6772
  * `requestUrl` is the IAM-written entitlement receipt when one exists, so the app can send the
6636
6773
  * caller to the request page without catching a generic error.
6637
6774
  */
6638
- declare class AssignmentPolicyError extends Error {
6775
+ declare class AssignmentPolicyError extends IoniteError {
6776
+ readonly name = "AssignmentPolicyError";
6639
6777
  readonly policy: IamAssignmentPolicy;
6640
6778
  readonly requestUrl?: string;
6641
6779
  constructor(message: string, policy: IamAssignmentPolicy, requestUrl?: string);
6780
+ protected safeBody(): Record<string, unknown>;
6781
+ toLogAttributes(): IoniteLogAttributes;
6642
6782
  }
6643
6783
  /** Why an {@link AccessCheckResult} resolved the way it did. */
6644
6784
  type AccessCheckReason = "ok" | "unauthenticated" | "forbidden" | "not_configured";
@@ -6712,38 +6852,34 @@ type ConfigSourceErrorInit = {
6712
6852
  * the same fields) for the initial-load retry policy to make the right call. See
6713
6853
  * https://ionite.com/docs/llms-configuration.txt.
6714
6854
  */
6715
- declare class ConfigSourceError extends Error {
6855
+ declare class ConfigSourceError extends IoniteError {
6856
+ readonly name = "ConfigSourceError";
6716
6857
  readonly kind: RemoteConfigLoadErrorKind;
6717
6858
  readonly recoverable?: boolean;
6718
6859
  readonly code?: string;
6719
- readonly status?: number;
6720
6860
  readonly path?: string;
6721
6861
  readonly sourceType?: ConfigSourceType | string;
6722
6862
  constructor(message: string, init: ConfigSourceErrorInit);
6723
6863
  }
6724
6864
  declare function isConfigSourceError(value: unknown): value is ConfigSourceError;
6725
6865
  /**
6726
- * Enterprise Controlled ID (ECID) helpers.
6727
- *
6728
- * The ECID is a stable, system-of-record-owned identifier for a single identity (a person or a
6729
- * non-human governance root), used to correlate that identity's many accounts across systems. It is
6730
- * minted and owned by the enterprise SOR (via an ECI such as ionite), never by the application.
6731
- *
6732
- * Format: `ecid:<realm>:<opaque>`
6733
- * - `ecid` fixed, self-describing scheme prefix.
6734
- * - `<realm>` the MINTING AUTHORITY's id (its `RemoteConfig.id`) — the SOR/ECI tenant, NOT each
6735
- * App's own id. Using each App's id would give one person a different ECID per app.
6736
- * - `<opaque>` an opaque, non-semantic token (ULID / UUIDv7 class). No PII.
6737
- *
6738
- * This module is data-only and client-safe (no server imports), so it can be re-exported from the
6739
- * main `@ionite/core` entry without pulling server code into client bundles.
6740
- *
6741
- * See https://ionite.com/docs/llms-ecid.txt for the full contract.
6866
+ * Reduce a backend URL to the part that is safe to log: scheme, host, port, and pathname. Userinfo
6867
+ * (`user:pass@`), the query string, and the fragment are dropped because tokens and client ids are
6868
+ * commonly carried there. A value that does not parse as an absolute URL is withheld entirely rather
6869
+ * than risk logging credential-bearing text.
6870
+ */
6871
+ declare function describeOriginUrl(url: string | undefined): string | undefined;
6872
+ /**
6873
+ * Flatten a {@link ConfigSourceOrigin} into stable log attributes under `prefix` (default
6874
+ * `ion.config.source`). A mirror's upstream lands under `${prefix}.from.*`. Undefined fields are
6875
+ * omitted so the resulting record only ever names what the source actually knows.
6742
6876
  */
6877
+ declare function configSourceOriginLogFields(origin: ConfigSourceOrigin | undefined, prefix?: string): Record<string, string>;
6743
6878
  /** The fixed ECID scheme prefix. */
6744
6879
  declare const ECID_SCHEME = "ecid";
6745
6880
  /** Thrown when an ECID string (or a segment) is malformed. */
6746
- declare class EcidFormatError extends Error {
6881
+ declare class EcidFormatError extends IoniteError {
6882
+ readonly name = "EcidFormatError";
6747
6883
  constructor(message: string);
6748
6884
  }
6749
6885
  /** Parsed ECID segments. */
@@ -6860,13 +6996,15 @@ declare const remoteConfigSecretType: SecretTypeDescriptor<RemoteConfig>;
6860
6996
  * whole push can be replayed over a partial push and converge.
6861
6997
  */
6862
6998
  type StoreConflictKind = "already_exists" | "unique_violation";
6863
- declare class StoreConflictError extends Error {
6999
+ declare class StoreConflictError extends IoniteError {
7000
+ readonly name = "StoreConflictError";
6864
7001
  /** Stable discriminator so callers can branch without an `instanceof` across package boundaries. */
6865
7002
  readonly code: "conflict";
6866
7003
  readonly kind: StoreConflictKind;
6867
7004
  /** The conflicting field/index name, when applicable (e.g. `'userName'`). */
6868
7005
  readonly field?: string;
6869
7006
  constructor(message: string, kind: StoreConflictKind, field?: string);
7007
+ protected safeBody(): Record<string, unknown>;
6870
7008
  }
6871
7009
  declare function isStoreConflictError(value: unknown): value is StoreConflictError;
6872
7010
  type TenantPathNamespace = {
@@ -7048,4 +7186,4 @@ type LfvErrorResponse = {
7048
7186
  };
7049
7187
  /** Generates a ULID */
7050
7188
  declare function generateULID(prefix?: string): string;
7051
- export { ACCEPT_JSON, ACCEPT_OCTET_STREAM, ACCEPT_SCIM, ACCEPT_XML, AccessAssignmentStore, AccessCatalogStore, AccessChange, AccessCheckReason, AccessCheckResult, AccessCheckTarget, AccessIndex, AccessMutationResult, AccessMutationStatus, AccessProvenance, AccessRef, AccessRequestCreate, AccessRequestResult, AccessRequestsDestination, AccessStatus, Address, ApplicationValidators, AssignmentPolicyError, AuthenticatedPrincipal, AuthenticatedUser, Authz, AuthzConfig, AuthzDecision, AuthzDescription, AuthzEntityBase, AuthzOaaConfig, AuthzOaaPrincipalConfig, AuthzScimGroupExtension, AuthzScimGroupType, AwsConfigLocator, AwsSecretsConfig, AzureAuthMethod, AzureConfigLocator, AzureSecretsConfig, BaseCustomer, BaseTenant, BaseUser, BaseWorkloadIdentity, CANONICAL_RISK_LEVELS, CIAM, CIAMConfig, CIAMConfigFromCode, CIAMConfigFromCodeInput, CIAMProviderBranding, CIAMProviderColors, CIAMProviderConfig, CIAMProviderDescriptor, CIAMProviderType, CIAMValidators, CONTENT_TYPE_FORM, CONTENT_TYPE_JSON, CONTENT_TYPE_OCTET_STREAM, CONTENT_TYPE_SCIM, CONTENT_TYPE_XML, CacheConfig, CachedWorkloadToken, CapabilitiezManifest, CapabilityEndpointUrls, CapabilityKey, CapabilityState, CatalogChange, CatalogChangeKind, CatalogChangeListener, CatalogEntityKind, ChangeListener, CiamDescription, CiamProviderDescription, ClaimsAsEntitlements, ClaimsAsEntitlementsDescription, ClientCredentialsWorkloadConfig, CodeCatalog, CodeCatalogInput, CodeCatalogNamespace, ConfigApplyStatus, ConfigChangeCallback, ConfigChangeOptions, ConfigChangeResult, ConfigErrorKind, ConfigExportEnvelope, ConfigLocator, ConfigSource, ConfigSourceEnv, ConfigSourceError, ConfigSourceErrorInit, ConfigSourceResolver, ConfigSourceType, ConfigSubscriptionOptions, ConnectRequestContext, CookieDescription, CreateGroupOptions, CreateTenantRequest, CreateUserOptions, Customer, CustomerStore, CustomerStoreOptions, DEFAULT_DISCOVERED_COOKIE_MAX, DEFAULT_DISCOVERED_COOKIE_TTL_SECONDS, DEFAULT_DISPLAY_COOKIE_MAX, DEFAULT_RISK_LEVEL, DEFAULT_SECRET_MIME_TYPES, DEFAULT_TENANT_API_NAMESPACE, DEFAULT_TENANT_UI_NAMESPACE, DISCOVERED_COOKIE_PREFIX, DISPLAY_COOKIE_SUFFIX, DISPLAY_COOKIE_VERSION, DerivedEntitlement, DescribedSecretsSource, DestinationReference, DevSecretsConfig, DiscoveredDisplayCookieConfig, DisplayAuthType, DisplayCookieConfig, DisplayCookieEnvelope, DisplayIdentity, DisplayUser, ECID_SCHEME, 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, InboundEntitlementDecision, InboundEntitlementRequest, 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, TmIoniteConfig, 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 };
7189
+ export { ACCEPT_JSON, ACCEPT_OCTET_STREAM, ACCEPT_SCIM, ACCEPT_XML, AccessAssignmentStore, AccessCatalogStore, AccessChange, AccessCheckReason, AccessCheckResult, AccessCheckTarget, AccessIndex, AccessMutationResult, AccessMutationStatus, AccessProvenance, AccessRef, AccessRequestCreate, AccessRequestInput, AccessRequestLookup, AccessRequestResult, AccessRequestsDestination, AccessStatus, ActionRequiredInput, ActionRequiredPlan, Address, ApplicationValidators, AssignmentPolicyError, AuthenticatedPrincipal, AuthenticatedUser, Authz, AuthzConfig, AuthzDecision, AuthzDescription, AuthzEntityBase, AuthzOaaConfig, AuthzOaaPrincipalConfig, AuthzScimGroupExtension, AuthzScimGroupType, AwsConfigLocator, AwsSecretsConfig, AzureAuthMethod, AzureConfigLocator, AzureSecretsConfig, BaseCustomer, BaseTenant, BaseUser, BaseWorkloadIdentity, CANONICAL_RISK_LEVELS, CIAM, CIAMConfig, CIAMConfigFromCode, CIAMConfigFromCodeInput, CIAMProviderBranding, CIAMProviderColors, CIAMProviderConfig, CIAMProviderDescriptor, CIAMProviderType, CIAMValidators, CONTENT_TYPE_FORM, CONTENT_TYPE_JSON, CONTENT_TYPE_OCTET_STREAM, CONTENT_TYPE_SCIM, CONTENT_TYPE_XML, CacheConfig, CachedWorkloadToken, CapabilitiezManifest, CapabilityEndpointUrls, CapabilityKey, CapabilityState, CatalogChange, CatalogChangeKind, CatalogChangeListener, CatalogEntityKind, ChangeListener, CiamDescription, CiamProviderDescription, ClaimsAsEntitlements, ClaimsAsEntitlementsDescription, ClientCredentialsWorkloadConfig, CodeCatalog, CodeCatalogInput, CodeCatalogNamespace, ConfigApplyStatus, ConfigChangeCallback, ConfigChangeOptions, ConfigChangeResult, ConfigErrorKind, ConfigExportEnvelope, ConfigLocator, ConfigSource, ConfigSourceEnv, ConfigSourceError, ConfigSourceErrorInit, ConfigSourceOrigin, ConfigSourceResolver, ConfigSourceType, ConfigSubscriptionOptions, ConnectRequestContext, CookieDescription, CreateGroupOptions, CreateTenantRequest, CreateUserOptions, Customer, CustomerStore, CustomerStoreOptions, DEFAULT_DISCOVERED_COOKIE_MAX, DEFAULT_DISCOVERED_COOKIE_TTL_SECONDS, DEFAULT_DISPLAY_COOKIE_MAX, DEFAULT_RISK_LEVEL, DEFAULT_SECRET_MIME_TYPES, DEFAULT_TENANT_API_NAMESPACE, DEFAULT_TENANT_UI_NAMESPACE, DISCOVERED_COOKIE_PREFIX, DISPLAY_COOKIE_SUFFIX, DISPLAY_COOKIE_VERSION, DerivedEntitlement, DescribedSecretsSource, DestinationReference, DevSecretsConfig, DiscoveredDisplayCookieConfig, DisplayAuthType, DisplayCookieConfig, DisplayCookieEnvelope, DisplayIdentity, DisplayUser, ECID_SCHEME, EcidFormatError, EffectiveEdge, EgressChannelOutcome, EgressOutcome, Email, EndpointOperation, EndpointPermission, EnterpriseExtension, Entitlement, EntitlementType, EntityStore, EnvironmentType, FORM_MEDIA_TYPE, FrameworkConfig, FrameworkConfigInput, FrameworkLfvConfig, FrameworkOtelConfig, FrameworkSecretsModuleConfig, FrameworkSecretsSourceConfig, FrameworkStores, FrameworkTmConfig, FrameworkWorkloadConfig, FrameworkWorkloadConfigFromCode, FrameworkWorkloadIncomingOutgoing, GcpConfigLocator, GcpSecretsConfig, GrantRequest, Group, GroupMember, GroupResource, GroupsInboundHandlerConfig, IAM, IAMAccessRequestsConfig, IAMAppRegistry, IAMAppValidators, IAMConfig, IAMConfigFromCode, IAMDiscoveryConfig, IAMDiscoveryContext, IAMDiscoveryHandlerConfig, IAMEndpointFlag, IAMGroupsInbound, IAMGroupsOutbound, IAMHandlerConfig, IAMInboundCustomersConfig, IAMInboundPrincipalContext, IAMInboundUserContext, IAMInboundUsersConfig, IAMInboundWorkloadsConfig, IAMPrincipalsInbound, IAMUsersInbound, IAMValidators, ION_AUTHZ_GROUP_SCHEMA, ION_AUTHZ_OAA_SYNC, ION_CAPABILITIEZ_READ, ION_CIAM_MAGIC_LINK_CREATE, ION_ENDPOINT_PERMISSIONS, ION_IAM_ACCESS_REQUESTS_WRITE, ION_IAM_CUSTOMERS_WRITE, ION_IAM_GROUPS_WRITE, ION_IAM_READ, ION_IAM_USERS_WRITE, ION_IAM_WORKLOADS_WRITE, ION_SCIM_CUSTOMER_SCHEMA, ION_SCIM_USER_EXTENSION_URN, ION_SCIM_WORKLOAD_SCHEMA, ION_SDK_PERMISSIONS, ION_TENANT_MANAGE, IamAssignmentPolicy, IamDeltaEmitter, IamDeltaMode, IamDeltaReconcileInput, IamDeltaReconcileResult, IamDeltaResourceType, IamDescription, IamPrincipalDescription, IamPrincipalKind, IamPrincipalKindFlag, IdTokenClaims, IdentityResolution, InMemoryTenantStoreOptions, InboundEntitlementDecision, InboundEntitlementRequest, InferSecretType, Ionite, IoniteBase, IoniteDescription, IoniteError, IoniteErrorContext, IoniteErrorJson, IoniteErrorOptions, IoniteLogAttributes, IoniteUserExtension, IoniteValidators, JSON_MEDIA_TYPE, JWTAssertionClaims, JwtBearerWorkloadConfig, KNOWN_BASE_CUSTOMER_KEYS, KNOWN_BASE_USER_KEYS, KNOWN_ENTITLEMENT_KEYS, KNOWN_WORKLOAD_KEYS, Kms, KmsAddKeysRequest, KmsAddKeysResult, KmsAllocationPolicy, KmsAllocationStrategy, KmsConfig, KmsDescription, KmsIssuedKey, KmsIssuerEvent, KmsIssuerEventListener, KmsIssuerEventName, KmsKey, KmsKeyState, KmsParkDisposition, KmsParkReport, KmsParkRequest, KmsParkResult, KmsPool, KmsPoolConfig, KmsPoolControlDocument, KmsPoolDescription, KmsPoolDocument, KmsPoolIssuer, KmsPoolListener, KmsPoolSlot, KmsRevokeKeyRequest, KmsRevokeKeyResult, LfvActionAcceptedResponse, LfvActionName, LfvActionRequestBase, LfvCallbackEnvelope, LfvCallbackHeaders, LfvCallbackKind, LfvCallbackTransport, LfvEd25519PrivateJwk, LfvEd25519PublicJwk, LfvErrorCode, LfvErrorResponse, LfvJwks, LfvOtpRequest, LfvOtpResponse, ListFilter, ListOptions, ListResult, Logger, MagicLink, MagicLinkStore, MetaData, MirrorConfigLocator, ModifiableFrameworkConfig, ModuleDescription, ModuleDescriptionBase, ModuleName, ModuleReadiness, ModuleReadinessState, Name, NoReserved, OCTET_STREAM_MEDIA_TYPE, OaaAccessChangeBatchItem, OaaAccessTargetType, OaaClient, OaaDescription, OaaPrincipalPopulation, OaaSyncInput, OaaSyncOptions, OaaSyncResult, OidcCallbackParams, Otel, OtelAttributeValue, OtelAttributes, OtelConfig, OtelConsoleMode, OtelDescription, OtelLevels, OtelLogLevel, OtelLogRecord, OtelMetricsSignalConfig, OtelOAuthClientCredentialsConfig, OtelProtocol, OtelProviderType, OtelSignalConfig, OtelSignalDescription, OtelSignalName, PLATFORM_ASSIGNABLE_SUBJECT_TYPES, ParsedEcid, Permission, PhoneNumber, Photo, PrincipalInboundHandlerConfig, ReactiveHandle, ReadJsonResponseOptions, ReadinessReport, ReadyAccessCatalogEntry, ReadyzEndpointConfig, ReconcileReport, RecordTenantConsentInput, RegisterIAMAppError, RegisterIAMAppPayload, RegisterIAMAppResult, RegisterSSOAppError, RegisterSSOAppPayload, RegisterSSOAppResult, RemoteConfig, RemoteConfigLoadErrorKind, RemoteConfigRetryContext, RemoteConfigRetryHook, RemoteConfigRetryOptions, RemoteTmConfig, RequireReadyResult, ResolvedRoute, ResolvedVaultLfvSecretsConfig, Resource, ResourceChange, ResourceChangeListener, ResourceProvider, RiskLevel, Role, RouteFilterResult, RouteModule, RoutingOptions, SCIM_MEDIA_TYPE, SSO, SSOAppRegistry, SSOAppValidators, SSOConfig, SSOConfigFromCode, SSOHandlerConfig, SSOValidators, ScimAuthenticationScheme, ScimCustomer, ScimError, Group2 as ScimGroup, ScimListResponse, ScimMutationSummary, ScimResourceType, ScimResourceTypeSchemaExtension, ScimResult, Role2 as ScimRole, ScimSchemaAttributeDefinition, ScimSchemaDefinition, ScimServiceProviderConfig, User as ScimUser, ScimWorkload, Secret, SecretContentType, SecretContentTypeMismatchError, SecretEvent, SecretEventListener, SecretEventName, SecretFormat, SecretHandle, SecretLifecycleRequest, SecretRequestSeverity, SecretTypeDescriptor, SecretTypeInput, SecretTypeRegistryEntry, Secrets, SecretsDescription, SecretsModuleConfig, SecretsOperationOptions, SecretsSource, SecretsSourceConfig, SecretsSourceDescription, SecretsSourceMap, SecretsSourceOrigin, SecretsSourceType, SecretsSubscriptionOptions, SecretsTransport, SecretsValidators, SecretsWriteOptions, ServerOnlyWorkloadConfig, Session, SessionStore, SetTenantIntegrationOptions, SsoDescription, StagedIntegration, StandardSchemaWithValidate, StateCookie, StoreConflictError, StoreConflictKind, SubjectRef, SubjectScope, SubjectType, SubjectTypeScoping, SubscriptionMode, TenantDirectory, TenantDirectoryIdentity, TenantHostMatch, TenantHostRoutingStrategy, TenantIntegration, TenantIntegrationStatus, TenantIntegrationView, TenantIonCache, TenantManagement, TenantPathMatch, TenantPathNamespace, TenantPathRoutingStrategy, TenantResponse, TenantRoutingStrategy, TenantSelectorRoutingStrategy, TenantStatus, TenantStore, TenantValidators, TenantWebhookPayload, TmDescription, TmIoniteConfig, TokenResponse, TokenValidationResult, TrustedIdp, TrustedProvisioningClient, UnexpectedBodySummary, UpdateTenantRequest, UserEndpointPolicy, UserStore, UserStoreOptions, UsersInboundHandlerConfig, ValidateResult, 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, configSourceOriginLogFields, configTrustedClientGrants, customAttributes, customerResourceSchema, debugLogger, decodeDisplayCookie, decodeUser, deepEqualPlain, defaultDisplayUser, defaultLogger, defaultSecretContentType, defineCatalog, defineSecretType, deprecateRetiredCodeCatalogRows, describeOriginUrl, discoveredProfileCookieName, encodeDisplayCookie, errorLogAttributes, formatEcid, formatLogLine, generateULID, getCodeCatalogEntity, groupResourceSchema, idTokenClaimsSchema, infoLogger, isCodeCatalog, isConfigLocator, isConfigSourceError, isEcid, isJsonResponse, isStoreConflictError, jwtAssertionClaimsSchema, list, listGenerator, matchTenantHost, matchTenantPath, matchesListFilter, materializeCodeCatalogEntity, mergeCodeCatalogEntity, mergeConfig, must, normalizeTenantBaseDomain, normalizeTenantPathNamespace, normalizeTenantRoutingStrategy, oidcCallbackSchema, parseEcid, parseJsonc, parseKmsPoolControlDocument, parseKmsPoolDocument, prettyLogger, profileCookieName, projectDisplayUser, readDisplayCookies, readJsonResponse, readyCatalogEntry, remoteConfigSecretType, resolveDiscoveredCookieMax, resolveDiscoveredCookieTtlSeconds, resolveDisplayCookieMax, sanitizeDisplayUser, serializeConfig, silentLogger, stableConfigHash, stripJsonComments, tmIntegrationState, toCodeCatalog, tokenResponseSchema, trimTrailingSlash, trustedClientPermissionsForPrincipal, unexpectedBodySummary, unionCatalogRead, userSchema, validationFailureResponse, version, waitOn, warnLogger, withValidate, workloadResourceSchema, workloadTokenResponseSchema };