@ionite/core 0.0.24-beta.20261003.17 → 0.0.24-beta.20261006.21
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 +855 -456
- package/dist/index.js +2 -2
- package/dist/server.d.ts +831 -379
- package/dist/server.js +1 -1
- package/dist/shared/core-knezf9yx.js +4 -0
- package/package.json +1 -1
- package/dist/shared/core-njzaahvy.js +0 -4
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
`,"\\n")}function D(e,t,o){if(o==null)return;if(o instanceof Error){if(e.push(`${t}.name=${S(o.name)}`),e.push(`${t}.message=${S(o.message)}`),o.stack)e.push(`${t}.stack=${S(o.stack)}`);return}e.push(`${t}=${S(o)}`)}function d(e,t,o=[],r=new Date){let s=se(t instanceof Error?t.message:t??""),n=[];for(let[i,p]of o.entries()){if(p&&typeof p==="object"&&!Array.isArray(p)&&!(p instanceof Error)&&Object.getPrototypeOf(p)===Object.prototype){for(let[a,l]of Object.entries(p))D(n,a,l);continue}D(n,`param.${i}`,p)}return[r.toISOString(),ne[e],s,...n].filter(Boolean).join(" ")}var W={trace:()=>{},debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}},ie=W,ae={trace:()=>{},debug:console.debug,info:console.info,warn:console.warn,error:console.error},pe={trace:()=>{},debug:()=>{},info:console.info,warn:console.warn,error:console.error},ce={trace:()=>{},debug:()=>{},info:()=>{},warn:console.warn,error:console.error},me={trace:()=>{},debug:(e,...t)=>globalThis.console.debug(d("debug",e,t)),info:(e,...t)=>globalThis.console.info(d("info",e,t)),warn:(e,...t)=>globalThis.console.warn(d("warn",e,t)),error:(e,...t)=>globalThis.console.error(d("error",e,t))};function le(e,t){if(typeof t!=="number"||t<=0)return e;return new Promise((o,r)=>{let s=setTimeout(()=>{r(Error(`Authz catalog entry did not become ready within ${t}ms`))},t);e.then(()=>{clearTimeout(s),o()},(n)=>{clearTimeout(s),r(n)})})}function ue(e,t){let o=!1,r,s=t.then(()=>{o=!0},(i)=>{o=!1,r=i}),n=e;return Object.defineProperty(n,"ready",{enumerable:!1,configurable:!0,value:(i)=>le(s.then(()=>{if(!o)throw r}),i)}),Object.defineProperty(n,"isReady",{enumerable:!1,configurable:!0,value:()=>o}),n}var w=Object.freeze({jsonc:x,env:"text/x-dotenv",text:"text/plain",binary:P,yaml:"application/yaml",toml:"application/toml",xml:O});function M(e){if(!e.id.trim())throw Error("defineSecretType: id is required");let t=e.mimeType?.trim()||w[e.format],o=Object.freeze({id:e.id,...e.label?{label:e.label}:{},format:e.format,mimeType:t,...e.schemaUrl?{schemaUrl:e.schemaUrl}:{},typeId:e.id});return Object.freeze({id:e.id,...e.label?{label:e.label}:{},format:e.format,mimeType:t,...e.schemaUrl?{schemaUrl:e.schemaUrl}:{},...e.schema?{schema:e.schema}:{},toRegistryEntry:()=>o})}function de(e="jsonc"){return{format:e,mimeType:w[e],typeId:e}}class j extends Error{constructor(e,t){super(`Secret content type mismatch: expected "${e.mimeType}" (${e.format}) but received "${t.mimeType}" (${t.format})`);this.name="SecretContentTypeMismatchError",this.expected=e,this.received=t}}var ge=M({id:"ionite-remote-config",label:"ionite RemoteConfig",format:"jsonc",mimeType:"application/vnd.ionite.remote-config+json",schemaUrl:"https://ionite.com/schemas/remote-config.json"});var z={beforeTenantSegments:["ui"]},F={beforeTenantSegments:["api"]};function U(e){return(e??[]).map((t)=>t.trim()).filter(Boolean)}function q(e){let t=e.trim();if(!t)return"/";let o=t.replace(/\\/g,"/").replace(/\/+/g,"/");return o.startsWith("/")?o:`/${o}`}function V(e){return q(e).split("/").filter(Boolean)}function g(e){return{beforeTenantSegments:U(e?.beforeTenantSegments),afterTenantSegments:U(e?.afterTenantSegments)}}function G(e){if(e?.type==="host")return{type:"host",baseDomain:v(e.baseDomain)};if(e?.type==="selector")return e;return{type:"path",ui:g(e?.ui??z),api:g(e?.api??F)}}function v(e){let t=e.trim().replace(/^\.+|\.+$/g,"").toLowerCase();if(!t)throw Error('Host tenant routing requires a non-empty baseDomain such as "app.example.com".');return t}function ye(e,t){let o=e.trim().replace(/\.$/,"").toLowerCase(),r=v(t);if(!o.endsWith(`.${r}`))return null;let s=o.slice(0,-(r.length+1));if(!s||s.includes("."))return null;return{id:s}}function fe(e,t){let o=g(t),r=o.beforeTenantSegments??[],s=o.afterTenantSegments??[],n=V(e),i=r.length+1+s.length;if(n.length<i)return null;for(let m=0;m<r.length;m++)if(n[m]!==r[m])return null;let p=r.length,a=n[p];if(!a)return null;for(let m=0;m<s.length;m++)if(n[p+1+m]!==s[m])return null;let l=n.slice(p+1+s.length);return{id:decodeURIComponent(a),restSegments:l,restPath:l.length>0?`/${l.join("/")}`:"/"}}function B(e,t="/",o){let r=g(o),s=r.beforeTenantSegments??[],n=r.afterTenantSegments??[],i=V(t),p=[...s,encodeURIComponent(e),...n,...i];return p.length>0?`/${p.join("/")}`:"/"}function Se(e,t="/",o,r="ui"){let s=G(o);if(s.type==="host"||s.type==="selector")return q(t);return B(e,t,s[r])}function Ce(e){return{"~standard":{version:1,vendor:e,validate:(t)=>{if(typeof t!=="object"||t===null)return{issues:[{message:"Expected an object"}]};let o=t,r=[],s={...o},n=["iss","sub"];for(let a of n)if(a in o){if(typeof o[a]!=="string")r.push({message:`${a} must be a string`,path:[a]})}else r.push({message:`${a} is required`,path:[a]});if("aud"in o&&o.aud!==void 0){let a=o.aud;if(typeof a!=="string"&&!Array.isArray(a))r.push({message:"aud must be a string or array of strings",path:["aud"]});else if(Array.isArray(a)&&!a.every((l)=>typeof l==="string"))r.push({message:"aud array must contain only strings",path:["aud"]})}let i=["jti","scope"];for(let a of i)if(a in o&&o[a]!==void 0){if(typeof o[a]!=="string")r.push({message:`${a} must be a string`,path:[a]})}let p=["exp","iat"];for(let a of p)if(a in o){if(typeof o[a]!=="number")r.push({message:`${a} must be a number`,path:[a]})}else r.push({message:`${a} is required`,path:[a]});if(r.length>0)return{issues:r};return{value:s}}}}}function Te(e){return{"~standard":{version:1,vendor:e,validate:(t)=>{if(typeof t!=="object"||t===null)return{issues:[{message:"Expected an object"}]};let o=t,r=[],s={};if("access_token"in o)if(typeof o.access_token==="string")s.access_token=o.access_token;else r.push({message:"access_token must be a string",path:["access_token"]});else r.push({message:"access_token is required",path:["access_token"]});if("token_type"in o)if(typeof o.token_type==="string")s.token_type=o.token_type;else r.push({message:"token_type must be a string",path:["token_type"]});else r.push({message:"token_type is required",path:["token_type"]});if("scope"in o)if(typeof o.scope==="string"||o.scope===void 0)s.scope=o.scope;else r.push({message:"scope must be a string",path:["scope"]});if("refresh_token"in o)if(typeof o.refresh_token==="string"||o.refresh_token===void 0)s.refresh_token=o.refresh_token;else r.push({message:"refresh_token must be a string",path:["refresh_token"]});if("expires"in o)if(typeof o.expires==="string"||o.expires===void 0)s.expires=o.expires;else r.push({message:"expires must be a string",path:["expires"]});if("expires_in"in o)if(typeof o.expires_in==="number"||o.expires_in===void 0)s.expires_in=o.expires_in;else r.push({message:"expires_in must be a number",path:["expires_in"]});if(r.length>0)return{issues:r};return{value:s}}}}}function ke(e){let t=new Uint8Array(e);return crypto.getRandomValues(t),t}function Re(e){let t="",o=ke(e);for(let r=0;r<e;r++){let s=o[r]%32;t+="0123456789ABCDEFGHJKMNPQRSTVWXYZ".charAt(s)}return t}function Ee(e,t){let o="";for(let r=t;r>0;r--){let s=e%32;o="0123456789ABCDEFGHJKMNPQRSTVWXYZ".charAt(s)+o,e=Math.floor(e/32)}return o}function Ae(e){let t=Date.now(),o=Ee(t,10),r=Re(16);return`${e??""}${o}${r}`}export{_t as ACCEPT_JSON,Pt as ACCEPT_OCTET_STREAM,xt as ACCEPT_SCIM,Ot as ACCEPT_XML,Ue as AssignmentPolicyError,Ke as CANONICAL_RISK_LEVELS,vt as CONTENT_TYPE_FORM,wt as CONTENT_TYPE_JSON,Nt as CONTENT_TYPE_OCTET_STREAM,Mt as CONTENT_TYPE_SCIM,Kt as CONTENT_TYPE_XML,y as ConfigSourceError,tt as DEFAULT_DISCOVERED_COOKIE_MAX,ot as DEFAULT_DISCOVERED_COOKIE_TTL_SECONDS,et as DEFAULT_DISPLAY_COOKIE_MAX,Ne as DEFAULT_RISK_LEVEL,w as DEFAULT_SECRET_MIME_TYPES,F as DEFAULT_TENANT_API_NAMESPACE,z as DEFAULT_TENANT_UI_NAMESPACE,rt as DISCOVERED_COOKIE_PREFIX,Ze as DISPLAY_COOKIE_SUFFIX,Qe as DISPLAY_COOKIE_VERSION,ft as ECID_SCHEME,St as EcidFormatError,bt as FORM_MEDIA_TYPE,De as ION_AUTHZ_GROUP_SCHEMA,b as ION_AUTHZ_OAA_SYNC,h as ION_CAPABILITIEZ_READ,I as ION_CIAM_MAGIC_LINK_CREATE,Z as ION_ENDPOINT_PERMISSIONS,A as ION_IAM_ACCESS_REQUESTS_WRITE,E as ION_IAM_CUSTOMERS_WRITE,k as ION_IAM_GROUPS_WRITE,C as ION_IAM_READ,T as ION_IAM_USERS_WRITE,R as ION_IAM_WORKLOADS_WRITE,no as ION_SCIM_CUSTOMER_SCHEMA,oo as ION_SCIM_USER_EXTENSION_URN,ro as ION_SCIM_WORKLOAD_SCHEMA,X as ION_SDK_PERMISSIONS,_ as ION_TENANT_MANAGE,Qt as IoniteError,x as JSON_MEDIA_TYPE,xe as KNOWN_BASE_CUSTOMER_KEYS,_e as KNOWN_BASE_USER_KEYS,be as KNOWN_ENTITLEMENT_KEYS,Oe as KNOWN_WORKLOAD_KEYS,P as OCTET_STREAM_MEDIA_TYPE,Le as PLATFORM_ASSIGNABLE_SUBJECT_TYPES,It as SCIM_MEDIA_TYPE,j as SecretContentTypeMismatchError,Xt as StoreConflictError,O as XML_MEDIA_TYPE,Je as accessRefId,Xe as accessRootId,Rt as assertEcid,je as assertRequiredSubjectType,We as assertValidSubjectTypeScoping,B as buildTenantPath,Se as buildTenantUrl,Ve as catalogEntityStore,Yt as claimsToUser,dt as compareDisplayExpiryDesc,Ie as configTrustedClientGrants,Pe as customAttributes,po as customerResourceSchema,ae as debugLogger,lt as decodeDisplayCookie,Jt as decodeUser,Gt as deepEqualPlain,at as defaultDisplayUser,ie as defaultLogger,de as defaultSecretContentType,Fe as defineCatalog,M as defineSecretType,He as deprecateRetiredCodeCatalogRows,yt as discoveredProfileCookieName,mt as encodeDisplayCookie,Tt as formatEcid,d as formatLogLine,Ae as generateULID,qe as getCodeCatalogEntity,io as groupResourceSchema,ht as idTokenClaimsSchema,pe as infoLogger,$e as isCodeCatalog,eo as isConfigLocator,J as isConfigSourceError,Ct as isEcid,Dt as isJsonResponse,Zt as isStoreConflictError,Ce as jwtAssertionClaimsSchema,we as list,Me as listGenerator,ye as matchTenantHost,fe as matchTenantPath,ve as matchesListFilter,Be as materializeCodeCatalogEntity,Ge as mergeCodeCatalogEntity,zt as mergeConfig,Ut as must,v as normalizeTenantBaseDomain,g as normalizeTenantPathNamespace,G as normalizeTenantRoutingStrategy,Et as oidcCallbackSchema,kt as parseEcid,qt as parseJsonc,re as parseKmsPoolControlDocument,oe as parseKmsPoolDocument,me as prettyLogger,gt as profileCookieName,ct as projectDisplayUser,ut as readDisplayCookies,Wt as readJsonResponse,ue as readyCatalogEntry,ge as remoteConfigSecretType,st as resolveDiscoveredCookieMax,it as resolveDiscoveredCookieTtlSeconds,nt as resolveDisplayCookieMax,pt as sanitizeDisplayUser,ee as serializeConfig,W as silentLogger,Bt as stableConfigHash,Ft as stripJsonComments,to as tmIntegrationState,ze as toCodeCatalog,At as tokenResponseSchema,Vt as trimTrailingSlash,he as trustedClientPermissionsForPrincipal,Lt as unexpectedBodySummary,Ye as unionCatalogRead,so as userSchema,$t as validationFailureResponse,Y as version,Ht as waitOn,ce as warnLogger,jt as withValidate,ao as workloadResourceSchema,Te as workloadTokenResponseSchema};
|
|
1
|
+
import{J,je,d,A,I,v,o,j,c,Ne,Y,f,e,g,x,X,le,Ee,Le,Pe,N,L,T,K,Z,q,n,p,Ke,W,qe,We,Ve,ee,te,V,ne,me,fe,m,z,Ue,B,P,U,G,ze,_,_e,Be,Ge,O,ge,ye,he,Se,ke,be,Ce,Te,we,Re,se,Fe,oe,ie,y,s,He,D,Ae,Ie,i,ae,Je,Ye,r,w,h,Xe,Ze,Oe,F,a,l,t,ce,Qe,De,et,R,S,tt,nt,H,rt,k,M,ve,xe,st,u,b,C,it,at,ue,de}from"./shared/core-knezf9yx.js";var Mt="0.0.24-beta.20261006.21";class ft extends Error{constructor(E,Q){super(E,Q.cause!==void 0?{cause:Q.cause}:void 0);this.name="ConfigSourceError",this.kind=Q.kind,this.recoverable=Q.recoverable,this.code=Q.code,this.status=Q.status,this.path=Q.path,this.sourceType=Q.sourceType,Object.setPrototypeOf(this,ft.prototype)}}function Lt(E){return E instanceof ft}var Nt=["sessionStore","userStore","customerStore","accessStore","tokenStore","magicLinkStore","store"];function Rt(E){if(E===null||typeof E!=="object")return E;let Q={};for(let[re,pe]of Object.entries(E)){if(Nt.includes(re)||re==="validators"||re==="setStores")continue;Q[re]=pe!==null&&typeof pe==="object"&&!Array.isArray(pe)&&Object.getPrototypeOf(pe)===Object.prototype?Rt(pe):pe}return Q}function $t(E){return Rt(E)}function yt(E,Q){if(!E||typeof E!=="object"||Array.isArray(E))throw Error(`${Q} must be an object.`);return E}function ut(E,Q){if(E===void 0)return;if(typeof E!=="string"||E.length===0||!Number.isFinite(Date.parse(E)))throw Error(`${Q} must be a valid timestamp string.`);return E}function Et(E,Q,re){if(!Array.isArray(E)||!re.allowEmpty&&E.length===0)throw Error(`${Q} keys must be ${re.allowEmpty?"an":"a non-empty"} array.`);let pe=new Set;return E.map(($e,Me)=>{let ot=yt($e,`${Q} keys[${Me}]`);if(typeof ot.id!=="string"||ot.id.length===0)throw Error(`${Q} keys[${Me}].id must be a non-empty string.`);if(pe.has(ot.id))throw Error(`${Q} contains duplicate key id "${ot.id}".`);if(pe.add(ot.id),!["pending","active","deprecated","rotated","revoked"].includes(String(ot.state)))throw Error(`${Q} keys[${Me}].state is invalid.`);if(ot.value!==void 0&&(typeof ot.value!=="string"||ot.value.length===0))throw Error(`${Q} keys[${Me}].value must be a non-empty string when present.`);let ct=ot.meta===void 0?void 0:yt(ot.meta,`${Q} keys[${Me}].meta`);return{id:ot.id,state:ot.state,...ot.value===void 0?{}:{value:ot.value},...ot.notBefore===void 0?{}:{notBefore:ut(ot.notBefore,`${Q} keys[${Me}].notBefore`)},...ot.notAfter===void 0?{}:{notAfter:ut(ot.notAfter,`${Q} keys[${Me}].notAfter`)},...ot.createdAt===void 0?{}:{createdAt:ut(ot.createdAt,`${Q} keys[${Me}].createdAt`)},...ot.activatedAt===void 0?{}:{activatedAt:ut(ot.activatedAt,`${Q} keys[${Me}].activatedAt`)},...ot.deprecatedAt===void 0?{}:{deprecatedAt:ut(ot.deprecatedAt,`${Q} keys[${Me}].deprecatedAt`)},...ot.rotatedAt===void 0?{}:{rotatedAt:ut(ot.rotatedAt,`${Q} keys[${Me}].rotatedAt`)},...ot.revokedAt===void 0?{}:{revokedAt:ut(ot.revokedAt,`${Q} keys[${Me}].revokedAt`)},...ct?{meta:{...ct}}:{}}})}function Wt(E,Q,re){if(E===void 0)return;if(!Array.isArray(E))throw Error(`${re} slots must be an array.`);let pe=new Set,$e=E.map((Me,ot)=>{if(Me===null)return null;if(typeof Me!=="string"||Me.length===0)throw Error(`${re} slots[${ot}] must be a non-empty key id or null.`);if(pe.has(Me))throw Error(`${re} slots contain duplicate key id "${Me}".`);pe.add(Me);let ct=Q.find((pt)=>pt.id===Me);if(!ct)throw Error(`${re} slot key "${Me}" is not present in keys.`);if(ct.state!=="active")throw Error(`${re} slot key "${Me}" must have state "active".`);if(!ct.value)throw Error(`${re} slot key "${Me}" must include a value.`);return Me});if(Q.length===0&&$e.some((Me)=>Me!==null))throw Error(`${re} slots must be omitted or all-null when keys is empty.`);return $e}function Ut(E){let re=yt(E,"KMS pool");if(re.kind!=="kms")throw Error('KMS pool kind must be "kms".');let pe=Et(re.keys,"KMS pool",{allowEmpty:!0}),$e=Wt(re.slots,pe,"KMS pool");return $e?{kind:"kms",slots:$e,keys:pe}:{kind:"kms",keys:pe}}function Ft(E){let re=yt(E,"KMS pool control document");if(re.kind!=="kms")throw Error('KMS pool control document kind must be "kms".');return{kind:"kms",keys:Et(re.keys,"KMS pool control document",{allowEmpty:!0})}}var qt={trace:"TRACE",debug:"DEBUG",info:"INFO ",warn:"WARN ",error:"ERROR"};function ht(E){if(typeof E==="string")return E;try{return JSON.stringify(E)??String(E)}catch{return String(E)}}function St(E){let Q=ht(E);return/^[A-Za-z0-9_./:@+|-]+$/.test(Q)?Q:JSON.stringify(Q)}function zt(E){return ht(E).replaceAll("\r","\\r").replaceAll(`
|
|
2
|
+
`,"\\n")}function At(E,Q,re){if(re==null)return;if(re instanceof Error){if(E.push(`${Q}.name=${St(re.name)}`),E.push(`${Q}.message=${St(re.message)}`),re.stack)E.push(`${Q}.stack=${St(re.stack)}`);return}E.push(`${Q}=${St(re)}`)}function dt(E,Q,re=[],pe=new Date){let $e=zt(Q instanceof Error?Q.message:Q??""),Me=[];for(let[ot,ct]of re.entries()){if(ct&&typeof ct==="object"&&!Array.isArray(ct)&&!(ct instanceof Error)&&Object.getPrototypeOf(ct)===Object.prototype){for(let[pt,lt]of Object.entries(ct))At(Me,pt,lt);continue}At(Me,`param.${ot}`,ct)}return[pe.toISOString(),qt[E],$e,...Me].filter(Boolean).join(" ")}var It={trace:()=>{},debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}},Vt=It,jt={trace:()=>{},debug:console.debug,info:console.info,warn:console.warn,error:console.error},Bt={trace:()=>{},debug:()=>{},info:console.info,warn:console.warn,error:console.error},Gt={trace:()=>{},debug:()=>{},info:()=>{},warn:console.warn,error:console.error},Ht={trace:()=>{},debug:(E,...Q)=>globalThis.console.debug(dt("debug",E,Q)),info:(E,...Q)=>globalThis.console.info(dt("info",E,Q)),warn:(E,...Q)=>globalThis.console.warn(dt("warn",E,Q)),error:(E,...Q)=>globalThis.console.error(dt("error",E,Q))};function Yt(E,Q){if(typeof Q!=="number"||Q<=0)return E;return new Promise((re,pe)=>{let $e=setTimeout(()=>{pe(Error(`Authz catalog entry did not become ready within ${Q}ms`))},Q);E.then(()=>{clearTimeout($e),re()},(Me)=>{clearTimeout($e),pe(Me)})})}function Jt(E,Q){let re=!1,pe,$e=Q.then(()=>{re=!0},(ot)=>{re=!1,pe=ot}),Me=E;return Object.defineProperty(Me,"ready",{enumerable:!1,configurable:!0,value:(ot)=>Yt($e.then(()=>{if(!re)throw pe}),ot)}),Object.defineProperty(Me,"isReady",{enumerable:!1,configurable:!0,value:()=>re}),Me}var Ct=Object.freeze({jsonc:s,env:"text/x-dotenv",text:"text/plain",binary:Ie,yaml:"application/yaml",toml:"application/toml",xml:Ae});function kt(E){if(!E.id.trim())throw Error("defineSecretType: id is required");let Q=E.mimeType?.trim()||Ct[E.format],re=Object.freeze({id:E.id,...E.label?{label:E.label}:{},format:E.format,mimeType:Q,...E.schemaUrl?{schemaUrl:E.schemaUrl}:{},typeId:E.id});return Object.freeze({id:E.id,...E.label?{label:E.label}:{},format:E.format,mimeType:Q,...E.schemaUrl?{schemaUrl:E.schemaUrl}:{},...E.schema?{schema:E.schema}:{},toRegistryEntry:()=>re})}function Xt(E="jsonc"){return{format:E,mimeType:Ct[E],typeId:E}}class bt extends Error{constructor(E,Q){super(`Secret content type mismatch: expected "${E.mimeType}" (${E.format}) but received "${Q.mimeType}" (${Q.format})`);this.name="SecretContentTypeMismatchError",this.expected=E,this.received=Q}}var Zt=kt({id:"ionite-remote-config",label:"ionite RemoteConfig",format:"jsonc",mimeType:"application/vnd.ionite.remote-config+json",schemaUrl:"https://ionite.com/schemas/remote-config.json"});var Pt={beforeTenantSegments:["ui"]},_t={beforeTenantSegments:["api"]};function xt(E){return(E??[]).map((Q)=>Q.trim()).filter(Boolean)}function Ot(E){let Q=E.trim();if(!Q)return"/";let re=Q.replace(/\\/g,"/").replace(/\/+/g,"/");return re.startsWith("/")?re:`/${re}`}function vt(E){return Ot(E).split("/").filter(Boolean)}function gt(E){return{beforeTenantSegments:xt(E?.beforeTenantSegments),afterTenantSegments:xt(E?.afterTenantSegments)}}function wt(E){if(E?.type==="host")return{type:"host",baseDomain:Tt(E.baseDomain)};if(E?.type==="selector")return E;return{type:"path",ui:gt(E?.ui??Pt),api:gt(E?.api??_t)}}function Tt(E){let Q=E.trim().replace(/^\.+|\.+$/g,"").toLowerCase();if(!Q)throw Error('Host tenant routing requires a non-empty baseDomain such as "app.example.com".');return Q}function Qt(E,Q){let re=E.trim().replace(/\.$/,"").toLowerCase(),pe=Tt(Q);if(!re.endsWith(`.${pe}`))return null;let $e=re.slice(0,-(pe.length+1));if(!$e||$e.includes("."))return null;return{id:$e}}function eo(E,Q){let re=gt(Q),pe=re.beforeTenantSegments??[],$e=re.afterTenantSegments??[],Me=vt(E),ot=pe.length+1+$e.length;if(Me.length<ot)return null;for(let mt=0;mt<pe.length;mt++)if(Me[mt]!==pe[mt])return null;let ct=pe.length,pt=Me[ct];if(!pt)return null;for(let mt=0;mt<$e.length;mt++)if(Me[ct+1+mt]!==$e[mt])return null;let lt=Me.slice(ct+1+$e.length);return{id:decodeURIComponent(pt),restSegments:lt,restPath:lt.length>0?`/${lt.join("/")}`:"/"}}function Kt(E,Q="/",re){let pe=gt(re),$e=pe.beforeTenantSegments??[],Me=pe.afterTenantSegments??[],ot=vt(Q),ct=[...$e,encodeURIComponent(E),...Me,...ot];return ct.length>0?`/${ct.join("/")}`:"/"}function to(E,Q="/",re,pe="ui"){let $e=wt(re);if($e.type==="host"||$e.type==="selector")return Ot(Q);return Kt(E,Q,$e[pe])}function oo(E){return{"~standard":{version:1,vendor:E,validate:(Q)=>{if(typeof Q!=="object"||Q===null)return{issues:[{message:"Expected an object"}]};let re=Q,pe=[],$e={...re},Me=["iss","sub"];for(let pt of Me)if(pt in re){if(typeof re[pt]!=="string")pe.push({message:`${pt} must be a string`,path:[pt]})}else pe.push({message:`${pt} is required`,path:[pt]});if("aud"in re&&re.aud!==void 0){let pt=re.aud;if(typeof pt!=="string"&&!Array.isArray(pt))pe.push({message:"aud must be a string or array of strings",path:["aud"]});else if(Array.isArray(pt)&&!pt.every((lt)=>typeof lt==="string"))pe.push({message:"aud array must contain only strings",path:["aud"]})}let ot=["jti","scope"];for(let pt of ot)if(pt in re&&re[pt]!==void 0){if(typeof re[pt]!=="string")pe.push({message:`${pt} must be a string`,path:[pt]})}let ct=["exp","iat"];for(let pt of ct)if(pt in re){if(typeof re[pt]!=="number")pe.push({message:`${pt} must be a number`,path:[pt]})}else pe.push({message:`${pt} is required`,path:[pt]});if(pe.length>0)return{issues:pe};return{value:$e}}}}}function ro(E){return{"~standard":{version:1,vendor:E,validate:(Q)=>{if(typeof Q!=="object"||Q===null)return{issues:[{message:"Expected an object"}]};let re=Q,pe=[],$e={};if("access_token"in re)if(typeof re.access_token==="string")$e.access_token=re.access_token;else pe.push({message:"access_token must be a string",path:["access_token"]});else pe.push({message:"access_token is required",path:["access_token"]});if("token_type"in re)if(typeof re.token_type==="string")$e.token_type=re.token_type;else pe.push({message:"token_type must be a string",path:["token_type"]});else pe.push({message:"token_type is required",path:["token_type"]});if("scope"in re)if(typeof re.scope==="string"||re.scope===void 0)$e.scope=re.scope;else pe.push({message:"scope must be a string",path:["scope"]});if("refresh_token"in re)if(typeof re.refresh_token==="string"||re.refresh_token===void 0)$e.refresh_token=re.refresh_token;else pe.push({message:"refresh_token must be a string",path:["refresh_token"]});if("expires"in re)if(typeof re.expires==="string"||re.expires===void 0)$e.expires=re.expires;else pe.push({message:"expires must be a string",path:["expires"]});if("expires_in"in re)if(typeof re.expires_in==="number"||re.expires_in===void 0)$e.expires_in=re.expires_in;else pe.push({message:"expires_in must be a number",path:["expires_in"]});if(pe.length>0)return{issues:pe};return{value:$e}}}}}function no(E){let Q=new Uint8Array(E);return crypto.getRandomValues(Q),Q}function so(E){let Q="",re=no(E);for(let pe=0;pe<E;pe++){let $e=re[pe]%32;Q+="0123456789ABCDEFGHJKMNPQRSTVWXYZ".charAt($e)}return Q}function io(E,Q){let re="";for(let pe=Q;pe>0;pe--){let $e=E%32;re="0123456789ABCDEFGHJKMNPQRSTVWXYZ".charAt($e)+re,E=Math.floor(E/32)}return re}function ao(E){let Q=Date.now(),re=io(Q,10),pe=so(16);return`${E??""}${re}${pe}`}export{i as ACCEPT_JSON,Ye as ACCEPT_OCTET_STREAM,ae as ACCEPT_SCIM,Je as ACCEPT_XML,le as AssignmentPolicyError,Y as CANONICAL_RISK_LEVELS,h as CONTENT_TYPE_FORM,r as CONTENT_TYPE_JSON,Ze as CONTENT_TYPE_OCTET_STREAM,w as CONTENT_TYPE_SCIM,Xe as CONTENT_TYPE_XML,ft as ConfigSourceError,We as DEFAULT_DISCOVERED_COOKIE_MAX,Ve as DEFAULT_DISCOVERED_COOKIE_TTL_SECONDS,qe as DEFAULT_DISPLAY_COOKIE_MAX,f as DEFAULT_RISK_LEVEL,Ct as DEFAULT_SECRET_MIME_TYPES,_t as DEFAULT_TENANT_API_NAMESPACE,Pt as DEFAULT_TENANT_UI_NAMESPACE,ee as DISCOVERED_COOKIE_PREFIX,Ke as DISPLAY_COOKIE_SUFFIX,W as DISPLAY_COOKIE_VERSION,ze as ECID_SCHEME,_ as EcidFormatError,D as FORM_MEDIA_TYPE,e as ION_AUTHZ_GROUP_SCHEMA,we as ION_AUTHZ_OAA_SYNC,Ce as ION_CAPABILITIEZ_READ,Te as ION_CIAM_MAGIC_LINK_CREATE,Fe as ION_ENDPOINT_PERMISSIONS,be as ION_IAM_ACCESS_REQUESTS_WRITE,ke as ION_IAM_CUSTOMERS_WRITE,he as ION_IAM_GROUPS_WRITE,ge as ION_IAM_READ,ye as ION_IAM_USERS_WRITE,Se as ION_IAM_WORKLOADS_WRITE,C as ION_SCIM_CUSTOMER_SCHEMA,u as ION_SCIM_USER_EXTENSION_URN,b as ION_SCIM_WORKLOAD_SCHEMA,se as ION_SDK_PERMISSIONS,Re as ION_TENANT_MANAGE,ve as IoniteError,s as JSON_MEDIA_TYPE,I as KNOWN_BASE_CUSTOMER_KEYS,A as KNOWN_BASE_USER_KEYS,d as KNOWN_ENTITLEMENT_KEYS,v as KNOWN_WORKLOAD_KEYS,Ie as OCTET_STREAM_MEDIA_TYPE,g as PLATFORM_ASSIGNABLE_SUBJECT_TYPES,He as SCIM_MEDIA_TYPE,bt as SecretContentTypeMismatchError,k as StoreConflictError,Ae as XML_MEDIA_TYPE,n as accessRefId,p as accessRootId,O as assertEcid,X as assertRequiredSubjectType,x as assertValidSubjectTypeScoping,Kt as buildTenantPath,to as buildTenantUrl,L as catalogEntityStore,H as claimsToUser,P as compareDisplayExpiryDesc,je as configTrustedClientGrants,o as customAttributes,de as customerResourceSchema,jt as debugLogger,Ue as decodeDisplayCookie,rt as decodeUser,S as deepEqualPlain,me as defaultDisplayUser,Vt as defaultLogger,Xt as defaultSecretContentType,Pe as defineCatalog,kt as defineSecretType,Z as deprecateRetiredCodeCatalogRows,G as discoveredProfileCookieName,z as encodeDisplayCookie,Be as formatEcid,dt as formatLogLine,ao as generateULID,N as getCodeCatalogEntity,at as groupResourceSchema,y as idTokenClaimsSchema,Bt as infoLogger,Ee as isCodeCatalog,xe as isConfigLocator,Lt as isConfigSourceError,_e as isEcid,Oe as isJsonResponse,M as isStoreConflictError,oo as jwtAssertionClaimsSchema,j as list,c as listGenerator,Qt as matchTenantHost,eo as matchTenantPath,Ne as matchesListFilter,K as materializeCodeCatalogEntity,T as mergeCodeCatalogEntity,Qe as mergeConfig,t as must,Tt as normalizeTenantBaseDomain,gt as normalizeTenantPathNamespace,wt as normalizeTenantRoutingStrategy,oe as oidcCallbackSchema,Ge as parseEcid,et as parseJsonc,Ft as parseKmsPoolControlDocument,Ut as parseKmsPoolDocument,Ht as prettyLogger,U as profileCookieName,m as projectDisplayUser,B as readDisplayCookies,a as readJsonResponse,Jt as readyCatalogEntry,Zt as remoteConfigSecretType,V as resolveDiscoveredCookieMax,ne as resolveDiscoveredCookieTtlSeconds,te as resolveDisplayCookieMax,fe as sanitizeDisplayUser,$t as serializeConfig,It as silentLogger,tt as stableConfigHash,De as stripJsonComments,st as tmIntegrationState,Le as toCodeCatalog,ie as tokenResponseSchema,R as trimTrailingSlash,J as trustedClientPermissionsForPrincipal,F as unexpectedBodySummary,q as unionCatalogRead,it as userSchema,ce as validationFailureResponse,Mt as version,nt as waitOn,Gt as warnLogger,l as withValidate,ue as workloadResourceSchema,ro as workloadTokenResponseSchema};
|