@ionite/core 0.0.23-beta.20260809.1 → 0.0.23-beta.20260809.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as P0,B as D0,C as E0,D as S0,E as R0,F as b0,G as w0,H as T0,I as L0,J as I0,K as N0,L as k0,M as A0,N as _0,Q as v0,R as f0,S as O0,T as y0,U as h0,V as g0,a as e,b as Q0,c as X0,d as $0,e as J0,f as V0,l as B0,m as Z0,n as F0,o as H0,p as G0,q as q0,r as U0,s as j0,t as x0,u as Y0,v as z0,w as M0,x as K0,y as C0,z as W0}from"./shared/core-f0gk15rd.js";var L="0.0.23-beta.20260809.1";class x extends Error{kind;recoverable;code;status;path;sourceType;constructor($,X){super($,X.cause!==void 0?{cause:X.cause}:void 0);this.name="ConfigSourceError",this.kind=X.kind,this.recoverable=X.recoverable,this.code=X.code,this.status=X.status,this.path=X.path,this.sourceType=X.sourceType,Object.setPrototypeOf(this,x.prototype)}}function I($){return $ instanceof x}var G=["workload"],Y={id:"ion:iam:read",name:"Read Identities (SCIM)",description:"Authorizes a workload to list and read Users and Groups via the SCIM endpoints.",requestable:!1,permissionTypes:["DataRead"],assignableSubjectTypes:G,recommendedSubjectTypes:G},z={id:"ion:iam:users:write",name:"Manage Identities (SCIM Users)",description:"Authorizes a workload to create, replace, modify (including attribute changes), and delete Users via SCIM, including access-root revocation on user delete.",requestable:!1,permissionTypes:["DataCreate","DataWrite","DataDelete"],assignableSubjectTypes:G,recommendedSubjectTypes:G},M={id:"ion:iam:groups:write",name:"Manage Groups & Access (SCIM Groups)",description:"Authorizes a workload to create, replace, modify, and delete Groups via SCIM, including membership changes that grant or revoke entitlements.",requestable:!1,permissionTypes:["DataCreate","DataWrite","DataDelete"],assignableSubjectTypes:G,recommendedSubjectTypes:G},K={id:"ion:capabilitiez:read",name:"Read Capability Manifest",description:"Authorizes a workload to read the capability manifest at the capabilitiez endpoint (only when RemoteConfig.capabilitiez is enabled).",requestable:!1,permissionTypes:["DataRead"],assignableSubjectTypes:G,recommendedSubjectTypes:G},C={id:"ion:ciam:magic-link:create",name:"Issue CIAM Magic Links",description:"Authorizes a caller to mint customer magic-link login credentials via the magic-link endpoint. Grant narrowly.",requestable:!1,permissionTypes:["DataCreate"],assignableSubjectTypes:["workload","user"],recommendedSubjectTypes:G},W={id:"ion:authz:oaa:sync",name:"Trigger OAA Full Sync",description:"Authorizes a workload (Ops/ECI client) to trigger a full OAA reconcile via the authz OAA sync endpoint (only when RemoteConfig.authz.oaa.fullSync.enabled is true).",requestable:!1,permissionTypes:["DataWrite"],assignableSubjectTypes:G,recommendedSubjectTypes:G},P={id:"ion:tenant:manage",name:"Manage Tenants",description:"Authorizes a workload (ECI/TMS client) to create, read, update, and delete tenant records via the tenant-management endpoints.",requestable:!1,permissionTypes:["DataCreate","DataRead","DataWrite","DataDelete"],assignableSubjectTypes:G,recommendedSubjectTypes:G},N=[Y,z,M,K,C,W,P],k={"iam.read":{permission:Y,subjectType:["workload"]},"iam.users.write":{permission:z,subjectType:["workload"]},"iam.groups.write":{permission:M,subjectType:["workload"]},"capabilitiez.read":{permission:K,subjectType:["workload"]},"ciam.magic-link.create":{permission:C,subjectType:["workload","user"]},"authz.oaa.sync":{permission:W,subjectType:["workload"]},"tenant.manage":{permission:P,subjectType:["workload"]}};var A=["sessionStore","userStore","customerStore","accessStore","tokenStore","magicLinkStore"];function D($){if($===null||typeof $!=="object")return $;let X={};for(let[Q,J]of Object.entries($)){if(A.includes(Q)||Q==="validators"||Q==="setStores")continue;X[Q]=J!==null&&typeof J==="object"&&!Array.isArray(J)&&Object.getPrototypeOf(J)===Object.prototype?D(J):J}return X}function _($){return D($)}function E($,X){if(!$||typeof $!=="object"||Array.isArray($))throw Error(`${X} must be an object.`);return $}function S($,X){if($===void 0)return;if(typeof $!=="string"||$.length===0||!Number.isFinite(Date.parse($)))throw Error(`${X} must be a valid timestamp string.`);return $}function v($){let X=E($,"KMS token pool");if(X.kind!=="token")throw Error('KMS token pool kind must be "token".');if(typeof X.active!=="string"||X.active.length===0)throw Error("KMS token pool active must be a non-empty key id.");if(!Array.isArray(X.keys)||X.keys.length===0)throw Error("KMS token pool keys must be a non-empty array.");let Q=new Set,J=X.keys.map((F,H)=>{let Z=E(F,`KMS token pool keys[${H}]`);if(typeof Z.id!=="string"||Z.id.length===0)throw Error(`KMS token pool keys[${H}].id must be a non-empty string.`);if(Q.has(Z.id))throw Error(`KMS token pool contains duplicate key id "${Z.id}".`);if(Q.add(Z.id),!["pending","active","deprecated","revoked"].includes(String(Z.state)))throw Error(`KMS token pool keys[${H}].state is invalid.`);if(Z.value!==void 0&&(typeof Z.value!=="string"||Z.value.length===0))throw Error(`KMS token pool keys[${H}].value must be a non-empty string when present.`);return{id:Z.id,state:Z.state,...Z.value===void 0?{}:{value:Z.value},...Z.notBefore===void 0?{}:{notBefore:S(Z.notBefore,`KMS token pool keys[${H}].notBefore`)},...Z.notAfter===void 0?{}:{notAfter:S(Z.notAfter,`KMS token pool keys[${H}].notAfter`)}}}),V=J.find((F)=>F.id===X.active);if(!V)throw Error(`KMS token pool active key "${X.active}" is not present in keys.`);if(V.state!=="active")throw Error(`KMS token pool active key "${X.active}" must have state "active".`);if(!V.value)throw Error(`KMS token pool active key "${X.active}" must include a value.`);return{kind:"token",active:X.active,keys:J}}var R={trace:()=>{},debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}},f=R,O={trace:()=>{},debug:console.debug,info:console.info,warn:console.warn,error:console.error},y={trace:()=>{},debug:()=>{},info:console.info,warn:console.warn,error:console.error},h={trace:()=>{},debug:()=>{},info:()=>{},warn:console.warn,error:console.error};function g($,X){if(typeof X!=="number"||X<=0)return $;return new Promise((Q,J)=>{let V=setTimeout(()=>{J(Error(`Authz catalog entry did not become ready within ${X}ms`))},X);$.then(()=>{clearTimeout(V),Q()},(F)=>{clearTimeout(V),J(F)})})}function p($,X){let Q=!1,J,V=X.then(()=>{Q=!0},(H)=>{Q=!1,J=H}),F=$;return Object.defineProperty(F,"ready",{enumerable:!1,configurable:!0,value:(H)=>g(V.then(()=>{if(!Q)throw J}),H)}),Object.defineProperty(F,"isReady",{enumerable:!1,configurable:!0,value:()=>Q}),F}var d={beforeTenantSegments:["ui"]},c={beforeTenantSegments:["api"]};function b($){return($??[]).map((X)=>X.trim()).filter(Boolean)}function m($){let X=$.trim();if(!X)return"/";let Q=X.replace(/\\/g,"/").replace(/\/+/g,"/");return Q.startsWith("/")?Q:`/${Q}`}function w($){return m($).split("/").filter(Boolean)}function j($){return{beforeTenantSegments:b($?.beforeTenantSegments),afterTenantSegments:b($?.afterTenantSegments)}}function u($){return{type:"path",ui:j($?.ui),api:j($?.api)}}function l($,X){let Q=j(X),J=Q.beforeTenantSegments??[],V=Q.afterTenantSegments??[],F=w($),H=J.length+1+V.length;if(F.length<H)return null;for(let q=0;q<J.length;q++)if(F[q]!==J[q])return null;let Z=J.length,B=F[Z];if(!B)return null;for(let q=0;q<V.length;q++)if(F[Z+1+q]!==V[q])return null;let U=F.slice(Z+1+V.length);return{id:decodeURIComponent(B),restSegments:U,restPath:U.length>0?`/${U.join("/")}`:"/"}}function n($,X="/",Q){let J=j(Q),V=J.beforeTenantSegments??[],F=J.afterTenantSegments??[],H=w(X),Z=[...V,encodeURIComponent($),...F,...H];return Z.length>0?`/${Z.join("/")}`:"/"}function a($){return{"~standard":{version:1,vendor:$,validate:(X)=>{if(typeof X!=="object"||X===null)return{issues:[{message:"Expected an object"}]};let Q=X,J=[],V={...Q},F=["iss","sub"];for(let B of F)if(B in Q){if(typeof Q[B]!=="string")J.push({message:`${B} must be a string`,path:[B]})}else J.push({message:`${B} is required`,path:[B]});if("aud"in Q&&Q.aud!==void 0){let B=Q.aud;if(typeof B!=="string"&&!Array.isArray(B))J.push({message:"aud must be a string or array of strings",path:["aud"]});else if(Array.isArray(B)&&!B.every((U)=>typeof U==="string"))J.push({message:"aud array must contain only strings",path:["aud"]})}let H=["jti","scope"];for(let B of H)if(B in Q&&Q[B]!==void 0){if(typeof Q[B]!=="string")J.push({message:`${B} must be a string`,path:[B]})}let Z=["exp","iat"];for(let B of Z)if(B in Q){if(typeof Q[B]!=="number")J.push({message:`${B} must be a number`,path:[B]})}else J.push({message:`${B} is required`,path:[B]});if(J.length>0)return{issues:J};return{value:V}}}}}function i($){return{"~standard":{version:1,vendor:$,validate:(X)=>{if(typeof X!=="object"||X===null)return{issues:[{message:"Expected an object"}]};let Q=X,J=[],V={};if("access_token"in Q)if(typeof Q.access_token==="string")V.access_token=Q.access_token;else J.push({message:"access_token must be a string",path:["access_token"]});else J.push({message:"access_token is required",path:["access_token"]});if("token_type"in Q)if(typeof Q.token_type==="string")V.token_type=Q.token_type;else J.push({message:"token_type must be a string",path:["token_type"]});else J.push({message:"token_type is required",path:["token_type"]});if("scope"in Q)if(typeof Q.scope==="string"||Q.scope===void 0)V.scope=Q.scope;else J.push({message:"scope must be a string",path:["scope"]});if("refresh_token"in Q)if(typeof Q.refresh_token==="string"||Q.refresh_token===void 0)V.refresh_token=Q.refresh_token;else J.push({message:"refresh_token must be a string",path:["refresh_token"]});if("expires"in Q)if(typeof Q.expires==="string"||Q.expires===void 0)V.expires=Q.expires;else J.push({message:"expires must be a string",path:["expires"]});if("expires_in"in Q)if(typeof Q.expires_in==="number"||Q.expires_in===void 0)V.expires_in=Q.expires_in;else J.push({message:"expires_in must be a number",path:["expires_in"]});if(J.length>0)return{issues:J};return{value:V}}}}}function r($){let X=new Uint8Array($);return crypto.getRandomValues(X),X}function o($){let X="",Q=r($);for(let J=0;J<$;J++){let V=Q[J]%32;X+="0123456789ABCDEFGHJKMNPQRSTVWXYZ".charAt(V)}return X}function t($,X){let Q="";for(let J=X;J>0;J--){let V=$%32;Q="0123456789ABCDEFGHJKMNPQRSTVWXYZ".charAt(V)+Q,$=Math.floor($/32)}return Q}function s($){let X=Date.now(),Q=t(X,10),J=o(16);return`${$??""}${Q}${J}`}export{i as workloadTokenResponseSchema,C0 as withValidate,h as warnLogger,T0 as waitOn,L as version,P0 as validationFailureResponse,h0 as userSchema,H0 as unionCatalogRead,e as trustedClientPermissionsForPrincipal,R0 as trimTrailingSlash,M0 as tokenResponseSchema,Z0 as toCodeCatalog,E0 as stripJsonComments,w0 as stableConfigHash,R as silentLogger,_ as serializeConfig,p as readyCatalogEntry,v as parseKmsTokenPool,S0 as parseJsonc,x0 as parseEcid,z0 as oidcCallbackSchema,u as normalizeTenantRoutingStrategy,j as normalizeTenantPathNamespace,W0 as must,D0 as mergeConfig,l as matchTenantPath,$0 as listGenerator,X0 as list,a as jwtAssertionClaimsSchema,k0 as isStoreConflictError,U0 as isEcid,I as isConfigSourceError,_0 as isConfigLocator,B0 as isCodeCatalog,y as infoLogger,K0 as idTokenClaimsSchema,g0 as groupResourceSchema,s as generateULID,j0 as formatEcid,F0 as defineCatalog,f as defaultLogger,b0 as deepEqualPlain,I0 as decodeUser,O as debugLogger,Q0 as configTrustedClientGrants,L0 as claimsToUser,n as buildTenantPath,O0 as assertValidSubjectTypeScoping,Y0 as assertEcid,V0 as accessRootId,J0 as accessRefId,N0 as StoreConflictError,f0 as PLATFORM_ASSIGNABLE_SUBJECT_TYPES,A0 as IoniteError,P as ION_TENANT_MANAGE,N as ION_SDK_PERMISSIONS,y0 as ION_SCIM_USER_EXTENSION_URN,z as ION_IAM_USERS_WRITE,Y as ION_IAM_READ,M as ION_IAM_GROUPS_WRITE,k as ION_ENDPOINT_PERMISSIONS,C as ION_CIAM_MAGIC_LINK_CREATE,K as ION_CAPABILITIEZ_READ,W as ION_AUTHZ_OAA_SYNC,v0 as ION_AUTHZ_GROUP_SCHEMA,q0 as EcidFormatError,G0 as ECID_SCHEME,d as DEFAULT_TENANT_UI_NAMESPACE,c as DEFAULT_TENANT_API_NAMESPACE,x as ConfigSourceError};
|
|
1
|
+
import{A as P0,B as D0,C as E0,D as S0,E as R0,F as b0,G as w0,H as T0,I as L0,J as I0,K as N0,L as k0,M as A0,N as _0,Q as v0,R as f0,S as O0,T as y0,U as h0,V as g0,a as e,b as Q0,c as X0,d as $0,e as J0,f as V0,l as B0,m as Z0,n as F0,o as H0,p as G0,q as q0,r as U0,s as j0,t as x0,u as Y0,v as z0,w as M0,x as K0,y as C0,z as W0}from"./shared/core-f0gk15rd.js";var L="0.0.23-beta.20260809.2";class x extends Error{kind;recoverable;code;status;path;sourceType;constructor($,X){super($,X.cause!==void 0?{cause:X.cause}:void 0);this.name="ConfigSourceError",this.kind=X.kind,this.recoverable=X.recoverable,this.code=X.code,this.status=X.status,this.path=X.path,this.sourceType=X.sourceType,Object.setPrototypeOf(this,x.prototype)}}function I($){return $ instanceof x}var G=["workload"],Y={id:"ion:iam:read",name:"Read Identities (SCIM)",description:"Authorizes a workload to list and read Users and Groups via the SCIM endpoints.",requestable:!1,permissionTypes:["DataRead"],assignableSubjectTypes:G,recommendedSubjectTypes:G},z={id:"ion:iam:users:write",name:"Manage Identities (SCIM Users)",description:"Authorizes a workload to create, replace, modify (including attribute changes), and delete Users via SCIM, including access-root revocation on user delete.",requestable:!1,permissionTypes:["DataCreate","DataWrite","DataDelete"],assignableSubjectTypes:G,recommendedSubjectTypes:G},M={id:"ion:iam:groups:write",name:"Manage Groups & Access (SCIM Groups)",description:"Authorizes a workload to create, replace, modify, and delete Groups via SCIM, including membership changes that grant or revoke entitlements.",requestable:!1,permissionTypes:["DataCreate","DataWrite","DataDelete"],assignableSubjectTypes:G,recommendedSubjectTypes:G},K={id:"ion:capabilitiez:read",name:"Read Capability Manifest",description:"Authorizes a workload to read the capability manifest at the capabilitiez endpoint (only when RemoteConfig.capabilitiez is enabled).",requestable:!1,permissionTypes:["DataRead"],assignableSubjectTypes:G,recommendedSubjectTypes:G},C={id:"ion:ciam:magic-link:create",name:"Issue CIAM Magic Links",description:"Authorizes a caller to mint customer magic-link login credentials via the magic-link endpoint. Grant narrowly.",requestable:!1,permissionTypes:["DataCreate"],assignableSubjectTypes:["workload","user"],recommendedSubjectTypes:G},W={id:"ion:authz:oaa:sync",name:"Trigger OAA Full Sync",description:"Authorizes a workload (Ops/ECI client) to trigger a full OAA reconcile via the authz OAA sync endpoint (only when RemoteConfig.authz.oaa.fullSync.enabled is true).",requestable:!1,permissionTypes:["DataWrite"],assignableSubjectTypes:G,recommendedSubjectTypes:G},P={id:"ion:tenant:manage",name:"Manage Tenants",description:"Authorizes a workload (ECI/TMS client) to create, read, update, and delete tenant records via the tenant-management endpoints.",requestable:!1,permissionTypes:["DataCreate","DataRead","DataWrite","DataDelete"],assignableSubjectTypes:G,recommendedSubjectTypes:G},N=[Y,z,M,K,C,W,P],k={"iam.read":{permission:Y,subjectType:["workload"]},"iam.users.write":{permission:z,subjectType:["workload"]},"iam.groups.write":{permission:M,subjectType:["workload"]},"capabilitiez.read":{permission:K,subjectType:["workload"]},"ciam.magic-link.create":{permission:C,subjectType:["workload","user"]},"authz.oaa.sync":{permission:W,subjectType:["workload"]},"tenant.manage":{permission:P,subjectType:["workload"]}};var A=["sessionStore","userStore","customerStore","accessStore","tokenStore","magicLinkStore"];function D($){if($===null||typeof $!=="object")return $;let X={};for(let[Q,J]of Object.entries($)){if(A.includes(Q)||Q==="validators"||Q==="setStores")continue;X[Q]=J!==null&&typeof J==="object"&&!Array.isArray(J)&&Object.getPrototypeOf(J)===Object.prototype?D(J):J}return X}function _($){return D($)}function E($,X){if(!$||typeof $!=="object"||Array.isArray($))throw Error(`${X} must be an object.`);return $}function S($,X){if($===void 0)return;if(typeof $!=="string"||$.length===0||!Number.isFinite(Date.parse($)))throw Error(`${X} must be a valid timestamp string.`);return $}function v($){let X=E($,"KMS token pool");if(X.kind!=="token")throw Error('KMS token pool kind must be "token".');if(typeof X.active!=="string"||X.active.length===0)throw Error("KMS token pool active must be a non-empty key id.");if(!Array.isArray(X.keys)||X.keys.length===0)throw Error("KMS token pool keys must be a non-empty array.");let Q=new Set,J=X.keys.map((F,H)=>{let Z=E(F,`KMS token pool keys[${H}]`);if(typeof Z.id!=="string"||Z.id.length===0)throw Error(`KMS token pool keys[${H}].id must be a non-empty string.`);if(Q.has(Z.id))throw Error(`KMS token pool contains duplicate key id "${Z.id}".`);if(Q.add(Z.id),!["pending","active","deprecated","revoked"].includes(String(Z.state)))throw Error(`KMS token pool keys[${H}].state is invalid.`);if(Z.value!==void 0&&(typeof Z.value!=="string"||Z.value.length===0))throw Error(`KMS token pool keys[${H}].value must be a non-empty string when present.`);return{id:Z.id,state:Z.state,...Z.value===void 0?{}:{value:Z.value},...Z.notBefore===void 0?{}:{notBefore:S(Z.notBefore,`KMS token pool keys[${H}].notBefore`)},...Z.notAfter===void 0?{}:{notAfter:S(Z.notAfter,`KMS token pool keys[${H}].notAfter`)}}}),V=J.find((F)=>F.id===X.active);if(!V)throw Error(`KMS token pool active key "${X.active}" is not present in keys.`);if(V.state!=="active")throw Error(`KMS token pool active key "${X.active}" must have state "active".`);if(!V.value)throw Error(`KMS token pool active key "${X.active}" must include a value.`);return{kind:"token",active:X.active,keys:J}}var R={trace:()=>{},debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}},f=R,O={trace:()=>{},debug:console.debug,info:console.info,warn:console.warn,error:console.error},y={trace:()=>{},debug:()=>{},info:console.info,warn:console.warn,error:console.error},h={trace:()=>{},debug:()=>{},info:()=>{},warn:console.warn,error:console.error};function g($,X){if(typeof X!=="number"||X<=0)return $;return new Promise((Q,J)=>{let V=setTimeout(()=>{J(Error(`Authz catalog entry did not become ready within ${X}ms`))},X);$.then(()=>{clearTimeout(V),Q()},(F)=>{clearTimeout(V),J(F)})})}function p($,X){let Q=!1,J,V=X.then(()=>{Q=!0},(H)=>{Q=!1,J=H}),F=$;return Object.defineProperty(F,"ready",{enumerable:!1,configurable:!0,value:(H)=>g(V.then(()=>{if(!Q)throw J}),H)}),Object.defineProperty(F,"isReady",{enumerable:!1,configurable:!0,value:()=>Q}),F}var d={beforeTenantSegments:["ui"]},c={beforeTenantSegments:["api"]};function b($){return($??[]).map((X)=>X.trim()).filter(Boolean)}function m($){let X=$.trim();if(!X)return"/";let Q=X.replace(/\\/g,"/").replace(/\/+/g,"/");return Q.startsWith("/")?Q:`/${Q}`}function w($){return m($).split("/").filter(Boolean)}function j($){return{beforeTenantSegments:b($?.beforeTenantSegments),afterTenantSegments:b($?.afterTenantSegments)}}function u($){return{type:"path",ui:j($?.ui),api:j($?.api)}}function l($,X){let Q=j(X),J=Q.beforeTenantSegments??[],V=Q.afterTenantSegments??[],F=w($),H=J.length+1+V.length;if(F.length<H)return null;for(let q=0;q<J.length;q++)if(F[q]!==J[q])return null;let Z=J.length,B=F[Z];if(!B)return null;for(let q=0;q<V.length;q++)if(F[Z+1+q]!==V[q])return null;let U=F.slice(Z+1+V.length);return{id:decodeURIComponent(B),restSegments:U,restPath:U.length>0?`/${U.join("/")}`:"/"}}function n($,X="/",Q){let J=j(Q),V=J.beforeTenantSegments??[],F=J.afterTenantSegments??[],H=w(X),Z=[...V,encodeURIComponent($),...F,...H];return Z.length>0?`/${Z.join("/")}`:"/"}function a($){return{"~standard":{version:1,vendor:$,validate:(X)=>{if(typeof X!=="object"||X===null)return{issues:[{message:"Expected an object"}]};let Q=X,J=[],V={...Q},F=["iss","sub"];for(let B of F)if(B in Q){if(typeof Q[B]!=="string")J.push({message:`${B} must be a string`,path:[B]})}else J.push({message:`${B} is required`,path:[B]});if("aud"in Q&&Q.aud!==void 0){let B=Q.aud;if(typeof B!=="string"&&!Array.isArray(B))J.push({message:"aud must be a string or array of strings",path:["aud"]});else if(Array.isArray(B)&&!B.every((U)=>typeof U==="string"))J.push({message:"aud array must contain only strings",path:["aud"]})}let H=["jti","scope"];for(let B of H)if(B in Q&&Q[B]!==void 0){if(typeof Q[B]!=="string")J.push({message:`${B} must be a string`,path:[B]})}let Z=["exp","iat"];for(let B of Z)if(B in Q){if(typeof Q[B]!=="number")J.push({message:`${B} must be a number`,path:[B]})}else J.push({message:`${B} is required`,path:[B]});if(J.length>0)return{issues:J};return{value:V}}}}}function i($){return{"~standard":{version:1,vendor:$,validate:(X)=>{if(typeof X!=="object"||X===null)return{issues:[{message:"Expected an object"}]};let Q=X,J=[],V={};if("access_token"in Q)if(typeof Q.access_token==="string")V.access_token=Q.access_token;else J.push({message:"access_token must be a string",path:["access_token"]});else J.push({message:"access_token is required",path:["access_token"]});if("token_type"in Q)if(typeof Q.token_type==="string")V.token_type=Q.token_type;else J.push({message:"token_type must be a string",path:["token_type"]});else J.push({message:"token_type is required",path:["token_type"]});if("scope"in Q)if(typeof Q.scope==="string"||Q.scope===void 0)V.scope=Q.scope;else J.push({message:"scope must be a string",path:["scope"]});if("refresh_token"in Q)if(typeof Q.refresh_token==="string"||Q.refresh_token===void 0)V.refresh_token=Q.refresh_token;else J.push({message:"refresh_token must be a string",path:["refresh_token"]});if("expires"in Q)if(typeof Q.expires==="string"||Q.expires===void 0)V.expires=Q.expires;else J.push({message:"expires must be a string",path:["expires"]});if("expires_in"in Q)if(typeof Q.expires_in==="number"||Q.expires_in===void 0)V.expires_in=Q.expires_in;else J.push({message:"expires_in must be a number",path:["expires_in"]});if(J.length>0)return{issues:J};return{value:V}}}}}function r($){let X=new Uint8Array($);return crypto.getRandomValues(X),X}function o($){let X="",Q=r($);for(let J=0;J<$;J++){let V=Q[J]%32;X+="0123456789ABCDEFGHJKMNPQRSTVWXYZ".charAt(V)}return X}function t($,X){let Q="";for(let J=X;J>0;J--){let V=$%32;Q="0123456789ABCDEFGHJKMNPQRSTVWXYZ".charAt(V)+Q,$=Math.floor($/32)}return Q}function s($){let X=Date.now(),Q=t(X,10),J=o(16);return`${$??""}${Q}${J}`}export{i as workloadTokenResponseSchema,C0 as withValidate,h as warnLogger,T0 as waitOn,L as version,P0 as validationFailureResponse,h0 as userSchema,H0 as unionCatalogRead,e as trustedClientPermissionsForPrincipal,R0 as trimTrailingSlash,M0 as tokenResponseSchema,Z0 as toCodeCatalog,E0 as stripJsonComments,w0 as stableConfigHash,R as silentLogger,_ as serializeConfig,p as readyCatalogEntry,v as parseKmsTokenPool,S0 as parseJsonc,x0 as parseEcid,z0 as oidcCallbackSchema,u as normalizeTenantRoutingStrategy,j as normalizeTenantPathNamespace,W0 as must,D0 as mergeConfig,l as matchTenantPath,$0 as listGenerator,X0 as list,a as jwtAssertionClaimsSchema,k0 as isStoreConflictError,U0 as isEcid,I as isConfigSourceError,_0 as isConfigLocator,B0 as isCodeCatalog,y as infoLogger,K0 as idTokenClaimsSchema,g0 as groupResourceSchema,s as generateULID,j0 as formatEcid,F0 as defineCatalog,f as defaultLogger,b0 as deepEqualPlain,I0 as decodeUser,O as debugLogger,Q0 as configTrustedClientGrants,L0 as claimsToUser,n as buildTenantPath,O0 as assertValidSubjectTypeScoping,Y0 as assertEcid,V0 as accessRootId,J0 as accessRefId,N0 as StoreConflictError,f0 as PLATFORM_ASSIGNABLE_SUBJECT_TYPES,A0 as IoniteError,P as ION_TENANT_MANAGE,N as ION_SDK_PERMISSIONS,y0 as ION_SCIM_USER_EXTENSION_URN,z as ION_IAM_USERS_WRITE,Y as ION_IAM_READ,M as ION_IAM_GROUPS_WRITE,k as ION_ENDPOINT_PERMISSIONS,C as ION_CIAM_MAGIC_LINK_CREATE,K as ION_CAPABILITIEZ_READ,W as ION_AUTHZ_OAA_SYNC,v0 as ION_AUTHZ_GROUP_SCHEMA,q0 as EcidFormatError,G0 as ECID_SCHEME,d as DEFAULT_TENANT_UI_NAMESPACE,c as DEFAULT_TENANT_API_NAMESPACE,x as ConfigSourceError};
|